:root{
    --green:#a9fe03;
    --green-dark:#78ba00;
    --bg:#070a08;
    --panel:#111611;
    --panel2:#171d18;
    --panel3:#0d120e;
    --text:#f5f7f5;
    --muted:#9aa69d;
    --border:#29322b;
    --danger:#ff5c5c;
    --danger-bg:#301616;
    --warning:#ffd166;
    --shadow:0 16px 48px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:radial-gradient(circle at 85% 0,#20310c 0,transparent 28%),var(--bg);color:var(--text);font-family:Roboto,Arial,sans-serif;min-height:100vh}
a{color:inherit;text-decoration:none}
.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:20;height:72px;background:rgba(7,10,8,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 4vw}
.topbar-left{display:flex;align-items:center}.brand{display:flex;align-items:center;gap:12px;font:700 18px "Roboto Condensed"}.brand img{height:34px;width:auto}.brand-fallback{font:700 18px "Roboto Condensed";letter-spacing:.03em}.brand span{padding-left:12px;border-left:1px solid #4a574c;color:var(--green);letter-spacing:.18em}.product-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.product-status span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(169,254,3,.65)}
main{min-height:calc(100vh - 140px)}footer{border-top:1px solid var(--border);padding:28px 4vw;color:var(--muted);display:flex;justify-content:space-between;gap:20px}footer span{color:var(--green);font-weight:700}
.container,.control-shell,.center-card{width:min(1180px,92vw);margin:0 auto;padding:42px 0}.center-card{padding-top:90px;text-align:center}.eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--green);font:700 13px "Roboto Condensed";letter-spacing:.15em;text-transform:uppercase}.eyebrow:before{content:"";width:26px;height:2px;background:var(--green)}
h1,h2,h3{font-family:"Roboto Condensed",sans-serif;margin:0 0 12px}h1{font-size:clamp(40px,6vw,68px);line-height:.95}h2{font-size:30px}.lead{color:var(--muted);font-size:17px;max-width:760px;line-height:1.6}.muted{color:var(--muted)}
.card,.panel{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow)}.panel{margin-bottom:16px}.card:hover,.panel:hover{border-color:#45513f}
.btn,button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:10px;border:1px solid var(--border);background:#1a201b;color:#fff;font:700 14px Roboto,Arial,sans-serif;cursor:pointer;transition:.18s ease}.btn:hover,button:hover{border-color:var(--green);transform:translateY(-1px)}.btn-primary,.primary{background:var(--green);color:#071000;border-color:var(--green)}.btn-primary:hover,.primary:hover{background:#b7ff26}.btn-danger,.danger{background:var(--danger-bg);border-color:#5a2828;color:#fff}.btn-danger:hover,.danger:hover{border-color:var(--danger)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field,label{display:grid;gap:7px;color:#c8d0ca;font-size:13px;font-weight:600}input,select,textarea{width:100%;background:#0e130f;color:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 13px;min-height:46px;outline:none;font:inherit}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(169,254,3,.09)}input[type=color]{padding:5px;height:46px}.button-row,.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:99px;padding:7px 11px;font-size:12px;background:#111711;color:#d9e0da}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warning)}.badge.connected:before,.badge.ok:before{background:var(--green)}
.control-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.control-identification .eyebrow{margin-bottom:10px}.control-identification h1{font-size:clamp(36px,8vw,54px);margin-bottom:6px}.control-identification p{margin:0;color:var(--muted)}
.setup-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:20px}.setup-title p{margin:0;color:var(--muted)}.setup-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}
.score-panel{padding:18px}.match-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 14px;color:var(--muted);font-size:13px}.match-live{display:flex;align-items:center;gap:7px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.match-live:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(169,254,3,.55)}
.score-grid{display:grid;grid-template-columns:minmax(0,1fr) 145px minmax(0,1fr);gap:14px;align-items:stretch;text-align:center}.team-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#101611,#0b100c);border:1px solid var(--border);border-radius:16px;padding:18px}.team-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--team-color,var(--green))}.team-name{font:700 22px "Roboto Condensed";white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.big-score{font:700 clamp(64px,13vw,98px) "Roboto Condensed";line-height:.95;margin:14px 0;color:#fff}.score-button{width:100%;min-height:64px;margin-top:8px;font-size:20px;background:#192219;border-color:#415037}.score-button:hover{background:var(--green);color:#071000}.center-info{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0d120e;border:1px solid var(--border);border-radius:16px;padding:14px}.center-info #timer{font:700 30px "Roboto Condensed";color:var(--green)}.center-info #setsGames{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.5}
.control-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.control-actions button{width:100%}.prompt-icon{width:44px;height:44px;border-radius:12px;background:rgba(169,254,3,.08);border:1px solid #405320;display:grid;place-items:center;color:var(--green);font-size:22px;margin-bottom:14px}.message{position:fixed;z-index:100;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(560px,90vw);background:#111711;border:1px solid #3c493f;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow)}
.home-mark{width:70px;height:70px;border-radius:20px;background:rgba(169,254,3,.08);border:1px solid #435829;display:grid;place-items:center;margin:0 auto 20px;color:var(--green);font:700 26px "Roboto Condensed"}.home-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.home-note{margin:20px auto 0;max-width:580px;color:var(--muted);line-height:1.6}
/* TV */
.tv-body{background:#050705;overflow:hidden}.tv-game{height:100vh;display:grid;grid-template-columns:1fr minmax(220px,300px) 1fr;align-items:center;text-align:center;padding:4vw;gap:2vw;background:radial-gradient(circle at 50% 50%,#17210d 0,transparent 34%),#050705}.tv-team{height:62vh;display:flex;flex-direction:column;justify-content:center;border:1px solid #29322b;background:linear-gradient(180deg,#121812,#090d0a);border-radius:32px;overflow:hidden;position:relative}.tv-team:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:var(--team-color,var(--green))}.tv-team span{display:block;font:700 clamp(32px,4vw,70px) "Roboto Condensed";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 20px}.tv-team strong{font:700 clamp(150px,18vw,340px) "Roboto Condensed";line-height:.85;margin-top:22px}.tv-center{display:flex;flex-direction:column;justify-content:center;align-items:center}.tv-center:before{content:"VAR PLACAR";font:700 14px "Roboto Condensed";letter-spacing:.2em;color:var(--green);margin-bottom:22px}.tv-center strong{font:700 clamp(50px,6vw,100px) "Roboto Condensed";color:var(--green)}.tv-center div{font-size:clamp(18px,2vw,34px);margin-top:16px;color:var(--muted);line-height:1.45}.tv-idle{height:100vh;display:flex;align-items:center;justify-content:center;background:#050705}.tv-idle img{width:100vw;height:100vh;object-fit:contain}.institutional{text-align:center;padding:6vw}.institutional:before{content:"CHAME O VAR";display:inline-block;color:var(--green);font:700 18px "Roboto Condensed";letter-spacing:.18em;margin-bottom:28px}.institutional h1{font-size:clamp(70px,9vw,170px);margin:0}.institutional p{font-size:clamp(24px,2vw,38px);color:var(--muted)}
/* OBS */
.overlay-body{background:transparent!important;overflow:hidden}.overlay{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(240px,320px) 170px minmax(240px,320px);align-items:stretch;background:rgba(7,10,8,.92);border:1px solid rgba(169,254,3,.24);border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.45);backdrop-filter:blur(10px)}.overlay-team{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;font:700 25px "Roboto Condensed";position:relative}.overlay-team:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--team-color,var(--green))}.overlay-team b{font-size:42px;color:#fff}.overlay-center{text-align:center;padding:12px;border-left:1px solid #344036;border-right:1px solid #344036;display:flex;flex-direction:column;justify-content:center}.overlay-center b{display:block;font:700 24px "Roboto Condensed";color:var(--green)}.overlay-center small{display:block;margin-top:4px;color:#b6c0b8;font-size:12px}
@media(max-width:800px){.grid2{grid-template-columns:1fr}.product-status{display:none}.control-shell{width:min(100% - 24px,760px);padding:24px 0}.control-header{align-items:center}.control-identification h1{font-size:36px}.score-grid{grid-template-columns:1fr 74px 1fr;gap:8px}.team-card{padding:14px 8px}.team-name{font-size:17px}.big-score{font-size:60px}.score-button{min-height:58px;font-size:18px;padding:0 8px}.center-info{padding:8px}.center-info #timer{font-size:18px}.center-info #setsGames{font-size:11px}.control-actions{grid-template-columns:1fr}.topbar{padding:0 18px}.brand img{height:30px}footer{flex-direction:column;padding:22px 18px}.setup-title{display:block}}
@media(max-width:480px){.score-grid{grid-template-columns:1fr 64px 1fr}.big-score{font-size:52px}.team-name{font-size:15px}.score-button{font-size:15px;min-height:54px}.center-info #timer{font-size:16px}.panel{padding:15px}.control-header .badge{font-size:0;padding:9px}.control-header .badge:before{margin:0}}
