:root{color-scheme:dark;--blue:#25b9ff;--red:#ff526a;--green:#47e7a0;--panel:#102339;--line:#29445d;--muted:#afc3d5}*{box-sizing:border-box}body{margin:0;background:#071321;color:#eef6ff;font:17px/1.5 system-ui,sans-serif}header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 4vw;border-bottom:1px solid var(--line);background:#0a1b2e}h1,h2,p{margin:0 0 12px}h1{font-size:24px;letter-spacing:.08em}h2{font-size:23px}small{color:var(--blue);letter-spacing:.12em;font-size:13px}main{max-width:1440px;margin:auto;padding:24px}section,details{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:20px}label{display:inline-flex;flex-direction:column;gap:7px;margin:0 14px 14px 0;max-width:100%}input,select,textarea,button{font:inherit;border:1px solid #56738c;border-radius:6px;background:#071829;color:inherit;padding:11px 14px;max-width:100%}input,textarea{min-width:0}input:focus,button:focus,select:focus,textarea:focus{outline:3px solid var(--blue);outline-offset:2px}button{cursor:pointer;background:#174869;font-weight:650}button:hover{background:#24628a}button:disabled{opacity:.45;cursor:not-allowed}textarea{min-height:130px;min-width:250px}summary{cursor:pointer;font-weight:700;margin-bottom:15px}#login{max-width:560px;margin:40px auto}#login label{display:flex;margin-right:0}.toolbar,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.toolbar span,p{color:var(--muted)}.match-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.steps{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0;color:var(--muted)}.steps span{padding:7px 12px;border:1px solid var(--line);border-radius:25px}.teams{display:grid;grid-template-columns:1fr 1fr;gap:20px}.team{border-top:4px solid var(--blue)}.team.b{border-top-color:var(--red)}.team.active{box-shadow:0 0 0 2px var(--green)}.team h2{overflow-wrap:anywhere}.total{font-size:40px;font-weight:800}.athlete{display:grid;grid-template-columns:1fr 135px;gap:15px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.athlete span{overflow-wrap:anywhere}.athlete.current{border-left:4px solid var(--green);padding-left:10px}.athlete input{width:100%}.scene-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.monitors{display:flex;gap:35px;flex-wrap:wrap}.monitors strong{display:block;color:white}.danger{background:#632638}.on-air{background:#176545}#message:not(:empty){padding:15px;border:1px solid #f4c65f;border-radius:8px;background:#382b14;margin-bottom:20px;white-space:pre-wrap}#connection{color:var(--green)}body.offline #connection{color:#ffcd73}#active-athlete{color:var(--green)}.editor{border-bottom:1px solid var(--line);padding:15px 0}.editor label{width:200px}.history-row{display:flex;gap:15px;align-items:center;margin:10px 0;flex-wrap:wrap}[hidden]{display:none!important}@media(max-width:800px){main{padding:14px}header{padding:15px;align-items:flex-start;flex-direction:column}.teams{grid-template-columns:1fr}.scene-buttons{grid-template-columns:repeat(2,1fr)}section,details{padding:18px}.athlete{grid-template-columns:1fr 110px}.actions button{flex:1 1 180px}input,select{min-height:48px}}

#active-athlete,#winner,#test-name,#identity,.editor strong{overflow-wrap:anywhere}

/* Same controls and palette, grouped into three compact workspaces. */
header{padding:14px 3vw}main{padding:16px 24px}
.cloud-tabs{display:flex;gap:8px;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:10px;flex-wrap:wrap}
.cloud-tabs button{background:var(--panel);color:var(--muted);min-height:46px}
.cloud-tabs button[aria-selected=true]{color:#eef6ff;border-color:var(--blue);box-shadow:inset 0 -3px var(--blue)}
.tab-panel{min-width:0}.tab-panel section,.tab-panel details{padding:16px;margin-bottom:12px}
.toolbar{margin-bottom:12px;font-size:15px}.toolbar button{padding:8px 12px}
.match-head{gap:12px;align-items:center}.match-head h2{margin:2px 0;font-size:22px}.match-head p{margin:0}
.match-head label{margin-bottom:0}.match-head select{padding:8px 10px}
.steps{margin:8px 0 12px;gap:7px;font-size:13px}.steps span{padding:3px 9px}
.teams{gap:14px;margin-bottom:12px}
.tab-panel .team{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;margin-bottom:0}
.team>small{grid-column:1;grid-row:1;font-size:12px;letter-spacing:.05em}
.team>h2{grid-column:1;grid-row:2;margin:0 0 8px;font-size:23px}
.team>.total{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:34px;line-height:1.2}
.team .athlete{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) 110px;margin:0;padding:6px 0;width:100%;gap:12px}
.team .athlete.current{padding-left:8px}.team .athlete input{padding:7px 10px;min-height:40px}
#match-actions p{margin:3px 0 10px}#match-actions .actions{margin:0;gap:8px}
#match-actions button{padding:9px 12px}
#publication-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
#publication-controls>div{flex:1 1 280px}#publication-controls h2{font-size:20px;margin-bottom:3px}
#publication-controls p{font-size:14px;margin:0}#publication-controls label{margin:0;font-size:14px}
#publication-controls select{padding:8px 10px}
.configuration-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.configuration-panels details{min-width:0}.configuration-panels summary{margin-bottom:0}.configuration-panels details[open] summary{margin-bottom:15px}
.overlay-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.overlay-link{padding:14px;border:1px solid var(--line);border-radius:8px;min-width:0}
.overlay-link strong{display:block;margin-bottom:8px}.overlay-link input{display:block;width:100%;font-size:14px;padding:9px;margin-bottom:10px}
.overlay-link>div{display:flex;align-items:center;gap:20px}.overlay-link a{color:var(--blue)}.overlay-link button{padding:8px 12px}
@media(max-width:980px){main{padding:14px}.match-head>div{flex:1 1 100%}.match-head label{flex:1;min-width:0;margin-right:0}.match-head select{width:100%;min-width:0}.cloud-tabs button{flex:1 1 160px;font-size:15px}.team .athlete{grid-template-columns:minmax(0,1fr) 94px}.team .athlete input{min-height:46px}.team>small{font-size:11px}#match-actions button{min-height:46px}#publication-controls>div{flex-basis:100%}}
@media(max-width:700px){.configuration-panels,.overlay-links{grid-template-columns:1fr}.cloud-tabs{gap:6px}.cloud-tabs button{flex-basis:130px;font-size:14px}.tab-panel section,.tab-panel details{padding:14px}.overlay-link>div{justify-content:space-between}}
