:root{font-family:Arial,Helvetica,sans-serif;background:#000;color:#fff;--cyan:#5debf5;--yellow:#fff500;--red:#cf2f2f;--green:#4ecf9c;--blue:#2c58d6}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000}.tv-app{width:100vw;height:100vh;background:#000;position:relative;user-select:none;isolation:isolate}.stage,.screen{position:absolute;inset:0}.screen{opacity:0;pointer-events:none;transition:opacity .18s;background:#000;overflow:hidden}.screen.active{opacity:1;pointer-events:auto}.fit-target{display:block;width:100%;height:100%;background:#000}.mode-stretch .fit-target{object-fit:fill}.mode-contain .fit-target{object-fit:contain}.waiting-screen{display:grid;place-items:center;background:#111}.classic-board{background:#fff;border:6px solid #cda046;box-shadow:0 0 0 2px #fff inset,0 0 30px #000b;overflow:hidden}.mode-stretch .fit-board{width:100%;height:100%}.mode-contain .fit-board{width:min(100vw,calc(100vh * 4 / 3));height:min(100vh,calc(100vw * 3 / 4))}.classic-header{display:grid;grid-template-columns:1.15fr 3.7fr 1.15fr;gap:14px;align-items:center;padding:12px 22px 8px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border-bottom:1px solid #e6d5a0}.header-left,.header-right{padding-top:0}.info-line,.label-big,.ticket-line,.odds-caption{font-family:Georgia,"Times New Roman",serif;color:#3e4aa5}.info-line{font-size:clamp(14px,1.7vw,30px);line-height:1.2}.info-line .label{color:#222;font-style:italic}.info-line strong{padding-left:4px;color:#374eb1}.header-center{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.brand-wrap{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;max-width:900px;white-space:nowrap;overflow:hidden}.brand-wrap img{order:2;flex:0 0 auto;width:clamp(115px,16vw,255px);height:clamp(42px,5vw,78px);object-fit:cover;object-position:center;opacity:.97;mix-blend-mode:multiply;filter:saturate(1.12) contrast(1.05) drop-shadow(0 2px 1px #ffffff)}.brand{order:1;position:relative;z-index:1;flex:0 0 auto;font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4.8vw,76px);line-height:.95;color:#6679cf;font-weight:600;letter-spacing:.2px;text-shadow:0 1px 0 #fff,0 2px 5px #8493c533}.status-line{margin-top:4px;display:flex;justify-content:center;gap:18px;align-items:center;font-family:Arial,Helvetica,sans-serif;padding:2px 14px;border-radius:20px;background:#f6f8ff}.status-line span{font-weight:900;color:#ab2035;font-size:clamp(13px,1.25vw,24px)}.status-line b{font-family:"Arial Black",Arial,sans-serif;color:#334aa7;font-size:clamp(16px,1.7vw,28px)}.label-big{text-align:right;font-size:clamp(14px,1.8vw,32px);color:#b53d48;font-style:italic;line-height:1.05}.ticket-line{text-align:right;font-size:clamp(12px,1.15vw,22px);color:#334aa7;font-family:Arial,Helvetica,sans-serif;font-weight:700}.odds-caption{text-align:right;margin-top:3px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(9px,.85vw,15px);font-weight:800;letter-spacing:.7px;color:#6679cf}.classic-rows{display:grid;grid-template-rows:repeat(10,1fr);gap:6px;padding:6px 16px 16px;background:#fff;height:calc(100% - 98px)}.classic-row{display:grid;grid-template-columns:16% 66% 18%;gap:8px;align-items:center;min-height:0}.bet-box,.name-box,.odd-box{border-radius:10px;border:2px solid #dbe9ff;box-shadow:inset 0 0 0 2px #ffffff55,0 2px 0 #95a9c3}.bet-box{height:100%;display:flex;align-items:center;justify-content:center;padding:0 6px;background:linear-gradient(180deg,#2962d3,#1f49a8);color:#fff;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(11px,1.25vw,22px);text-shadow:1px 1px 0 #0d245c;white-space:nowrap;overflow:hidden}.bet-box.empty{color:transparent}.name-box{height:100%;display:flex;align-items:center;padding:0 16px;background:linear-gradient(180deg,#45c18e,#24af76);color:#fff;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(16px,2vw,38px);text-shadow:2px 2px 0 #2b4b48;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.odd-box{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#da4f58,#bd2f35);color:#fff;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(18px,2vw,38px);text-shadow:2px 2px 0 #77252d}.race-screen{display:grid;place-items:center;background:#000}.race-overlay{position:absolute;top:2vh;left:2vw;right:2vw;display:flex;justify-content:space-between;align-items:center;color:#fff500;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(14px,2vw,34px);text-shadow:3px 3px #000}.live{background:#d91d18;color:#fff;padding:.5vh .8vw;border:2px solid #fff;border-radius:4px;animation:pulse 1s infinite}.play-warning{position:absolute;left:50%;bottom:4vh;transform:translateX(-50%);background:#a61313e8;border:2px solid #fff500;padding:1vh 1.5vw;color:#fff500;font-family:"Arial Black",Arial,sans-serif;display:none;text-align:center}.result-screen{background:#000}.result-overlay{position:absolute;left:2vw;bottom:2vh;right:2vw;display:grid;grid-template-columns:auto 1fr auto;gap:2vw;align-items:center;padding:.7vh 1.2vw;border:3px solid var(--cyan);background:linear-gradient(180deg,#173e79ed,#082861f2);box-shadow:inset 0 0 0 2px #075bd3,0 4px 14px #0009}.result-overlay>span{color:#fff500;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(13px,1.8vw,31px)}.result-overlay>strong{display:flex;justify-content:center;gap:.7vw;align-items:center;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(13px,1.8vw,31px)}.result-overlay b{color:#33ff58}.result-overlay i{color:#fff500;font-style:normal;font-size:1.35em}.result-overlay small{color:#fff;font-weight:bold;font-size:clamp(9px,1vw,17px)}.result-overlay em{color:#fff500;font-style:normal}.tv-controls{position:fixed;z-index:12;right:1vw;bottom:1vh;display:flex;gap:.4vw;opacity:.22;transition:opacity .2s}.tv-controls:hover{opacity:1}.tv-controls button{width:44px;height:44px;border:2px solid #55e8f3;background:#074fc8;color:#fff500;font-size:22px;cursor:pointer;box-shadow:inset 0 0 0 2px #00aeee}.activation{position:fixed;z-index:30;inset:0;background:#000;display:grid;place-items:center;overflow:hidden}.activation.hidden{display:none}.activation>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;filter:brightness(.35)}.activation-card{position:relative;width:min(90vw,620px);padding:28px;border:5px solid #54e7f2;background:#173b78ed;box-shadow:inset 0 0 0 3px #0758c2,0 20px 70px #000;text-align:center}.activation-card h1{margin:0;color:#fff500;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(34px,6vw,72px);text-shadow:3px 3px #c51c19}.activation-card p{font-size:clamp(14px,1.6vw,22px)}.activation-card button,.settings-card>button{border:3px solid #04317f;background:linear-gradient(#0876ef,#0348bb);box-shadow:inset 0 0 0 3px #16c7ee;color:#001947;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(15px,2vw,25px);padding:13px 28px;cursor:pointer;text-shadow:0 1px #66ffff}.settings-modal{position:fixed;z-index:35;inset:0;background:#001027e8;display:none;place-items:center;padding:18px}.settings-modal.open{display:grid}.settings-card{width:min(94vw,650px);border:5px solid #55e8f3;background:#173b77;padding:16px;box-shadow:inset 0 0 0 3px #0758c0,0 20px 70px #000}.settings-title{background:#0457e1;color:#fff500;font-family:"Arial Black",Arial,sans-serif;text-align:center;padding:10px;font-size:clamp(17px,2.2vw,30px)}.settings-card p{text-align:center;font-size:clamp(12px,1.2vw,18px)}.mode-option{display:flex;gap:12px;align-items:center;margin:10px 0;padding:12px;border:3px solid #59e9f3;background:#0f2d68;cursor:pointer}.mode-option:has(input:checked){background:#9d1d22;border-color:#fff500}.mode-option input{width:23px;height:23px;accent-color:#fff500}.mode-option span{display:block}.mode-option strong,.mode-option small{display:block}.mode-option strong{color:#fff500;font-family:"Arial Black",Arial,sans-serif}.mode-option small{margin-top:4px;color:#fff}.current-mode{text-align:center;color:#35ff5c;font-weight:bold;margin:12px}.settings-card>button{width:100%}.version{position:fixed;left:.5vw;bottom:.5vh;z-index:10;color:#fff9;font-size:10px;text-shadow:1px 1px #000}@keyframes pulse{50%{opacity:.45}}@media(max-width:900px){.classic-header{padding:10px 12px 6px;gap:8px}.brand-wrap{gap:10px}.brand-wrap img{width:clamp(92px,17vw,150px);height:clamp(30px,4.6vw,46px)}.classic-rows{padding:4px 10px 10px;height:calc(100% - 76px)}.name-box{padding:0 10px;font-size:clamp(11px,1.9vw,22px)}.odd-box,.bet-box{font-size:clamp(10px,1.6vw,18px)}}@media(max-width:700px){.result-overlay{grid-template-columns:1fr;text-align:center;gap:3px}.result-overlay>strong{order:2}.result-overlay small{order:3}.tv-controls{opacity:.7}.tv-controls button{width:38px;height:38px}}
/* V0.12 — vencedor em vermelho */
.classic-row.winner .name-box,.classic-row.winner .odd-box{background:linear-gradient(180deg,#f1472f,#c4170f)!important}
/* V0.14.1 — acumulado na linha dos tickets e aviso do bônus na legenda das odds: nada disso aumenta a altura do cabeçalho */
.status-line .jackpot-box{margin:0;padding:0 10px;border-radius:12px;background:linear-gradient(#ffe14a,#e08a00);border:2px solid #fff;color:#7a0000;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(10px,1.15vw,20px);white-space:nowrap;line-height:1.35}
.status-line .jackpot-box b{color:#b00000}
.odds-caption.bonus{display:inline-block;margin-top:3px;padding:2px 10px;border-radius:12px;background:linear-gradient(#ffe14a,#e08a00);border:2px solid #fff;color:#7a0000;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(10px,1.2vw,20px);letter-spacing:0;line-height:1.15;text-align:center;animation:bonusPulse 1s ease-in-out infinite alternate}
@keyframes bonusPulse{from{transform:scale(1)}to{transform:scale(1.06)}}
.header-right{text-align:right}
.jackpot-winner{display:block;margin-top:4px;color:#ffe14a;font-family:"Arial Black",Arial,sans-serif}
/* V0.14.1 — as 10 linhas ocupam SEMPRE o espaço que sobra abaixo do cabeçalho (o 10º cavalo nunca é cortado) */
.classic-board{display:flex;flex-direction:column}
.classic-board .classic-header{flex:0 0 auto}
.classic-board .classic-rows{flex:1 1 0;height:auto!important;min-height:0}
.status-line .jackpot-box{line-height:1.2;padding:0 10px}

/* V0.14.2 — o valor apostado tem a mesma fonte e o mesmo tamanho das odds */
.bet-box{font-size:clamp(18px,2vw,38px)}
@media(max-width:900px){.bet-box{font-size:clamp(10px,1.6vw,18px)}}

/* V0.14.3 — "PAGO R$ x" na barra de resultado com a mesma fonte e tamanho do "WIN 2 PLACE 5 SHOW 3" */
.result-overlay>small{font-family:"Arial Black",Arial,sans-serif;font-size:clamp(13px,1.8vw,31px);color:#fff;white-space:nowrap}
.result-overlay>small em{color:#fff500;font-style:normal;font-size:1em}
.result-overlay>small.jackpot-winner{grid-column:1/-1;text-align:center;margin-top:0;font-size:clamp(12px,1.5vw,26px);color:#ffe14a}
.result-overlay>small.jackpot-winner:empty{display:none}

/* V0.15 — acumulado pago: chuva de moedas e faixa */
.coin-rain{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:20}
.coin{position:absolute;top:-90px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6a8 0,#ffd23a 42%,#c98a00 100%);border:3px solid #a86d00;box-shadow:inset 0 0 0 3px #ffe680,0 3px 8px #0009;color:#8a5200;font-family:"Arial Black",Arial,sans-serif;display:flex;align-items:center;justify-content:center;animation-name:coinFall;animation-timing-function:linear;animation-fill-mode:both}
@keyframes coinFall{from{transform:translateY(0) rotateY(0deg)}to{transform:translateY(125vh) rotateY(900deg)}}
.jackpot-banner{display:none;position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);z-index:21;padding:1.2vh 3vw;border-radius:18px;border:4px solid #fff;background:linear-gradient(#ffe14a,#e08a00);color:#7a0000;font-family:"Arial Black",Arial,sans-serif;font-size:clamp(20px,4.2vw,80px);text-shadow:2px 2px 0 #fff8;white-space:nowrap;box-shadow:0 8px 40px #000c;pointer-events:none}
.jackpot-banner.on{display:block;animation:jpPulse .8s ease-in-out infinite alternate}
@keyframes jpPulse{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.08)}}
