/* Live competition workbench, enabled only with ?workbench=1 on the development branch. */
body.competition-workbench{--cw-accent:#ff7b28;--cw-panel:#103b35;--cw-edge:#2c695c;background:#0d2523;color:#eff8f0}
body.competition-workbench > header{background:linear-gradient(105deg,#104a3f,#164138 70%,#8c4316);border-radius:0 0 10px 10px;padding:10px 16px;gap:16px;min-height:66px}
body.competition-workbench > header h1{font-size:19px;margin:1px 0}body.competition-workbench > header small{color:#9dcdc0}
body.competition-workbench .cw-total{display:flex;align-items:center;gap:10px;font-size:12px;color:#e5f3e9}.cw-total strong{font-size:23px;font-variant-numeric:tabular-nums;color:#fff}.cw-total b{font-size:20px;color:var(--cw-accent)}
body.competition-workbench main{padding:8px 14px;max-width:1600px}
body.competition-workbench .stage{background:transparent;border:0;padding:0;display:flex;flex-direction:column;gap:8px}
#cwOverview{display:grid;grid-template-columns:1.55fr 1fr;gap:10px;height:120px;min-height:120px}
#cwOverview>div{min-width:0;background:var(--cw-panel);border:1px solid var(--cw-edge);border-radius:10px;padding:10px 14px}
.cw-challenge{display:flex;flex-direction:column;justify-content:center}.cw-lead{font-weight:700;font-size:16px;margin-bottom:10px}.cw-facts{display:flex;gap:6px;flex-wrap:wrap}.cw-facts span{border:1px solid var(--cw-edge);border-radius:20px;padding:4px 8px;font-size:11px;background:#ffffff0b}
#cwOverview>.cw-route{border:2px solid var(--cw-accent);padding:5px 10px;display:flex;flex-direction:column}.cw-route-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.cw-route-head>span{font-size:10px;opacity:.7}.cw-route-figure{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;color:#c6d5cc}.cw-route-figure svg{width:100%;height:65px;display:block}.cw-rounds{display:flex;gap:4px;overflow:hidden}.cw-rounds span{font-size:10px;padding:2px 5px;border-radius:4px;background:#ffffff18;white-space:nowrap;border-left:3px solid var(--round)}.cw-rounds .current{background:var(--cw-accent);color:white}
#cwFieldLabel{display:flex;justify-content:space-between;font-size:12px;color:#bdd3c9;padding:2px 8px 0}#cwFieldLabel strong{color:#dcebe2}
body.competition-workbench #map{border:1px solid var(--cw-edge);background:#1e3b35;aspect-ratio:4 / 1;max-height:46vh}
body.competition-workbench #gameControls{background:var(--cw-panel);border:1px solid var(--cw-edge);border-radius:10px;padding:8px 10px;overflow:auto;max-height:31vh;min-height:125px}
body.competition-workbench #gameControls .management-bar{border:0;margin:0;padding:0 0 4px}body.competition-workbench #raceStats,body.competition-workbench #modeNote,body.competition-workbench #setupHint,body.competition-workbench .classroom-tip{display:none!important}
body.competition-workbench #raceQuickbar{background:transparent;border:0;margin:0;padding:4px 0}body.competition-workbench #routeTrialControls{padding:5px 8px;margin:3px 0;font-size:11px}body.competition-workbench #routeTrialControls small{display:none}
body.competition-workbench #cwStrip{display:flex;align-items:center;gap:16px;border-left:3px solid var(--cw-accent);background:#ffffff0b;padding:6px 10px;border-radius:5px;font-size:12px;margin-top:4px;flex-wrap:wrap}#cwStrip select{padding:4px 8px;min-height:30px}#cwStatus{opacity:.75}
body.competition-workbench [hidden]{display:none!important}
[data-theme="light"] body.competition-workbench{--cw-panel:#fffaf3;--cw-edge:#e4c5a8;background:#fff8f0;color:#312821}[data-theme="light"] body.competition-workbench #cwOverview>div,[data-theme="light"] body.competition-workbench #gameControls{background:var(--cw-panel)}[data-theme="light"] body.competition-workbench .cw-facts span{background:#fff0e2}[data-theme="light"] body.competition-workbench #cwFieldLabel,[data-theme="light"] body.competition-workbench #cwFieldLabel strong{color:#764b31}[data-theme="light"] body.competition-workbench .cw-route-figure{color:#6e5544}[data-theme="light"] body.competition-workbench #cwStrip{background:#fff1e1}
@media(max-width:900px){#cwOverview{grid-template-columns:1fr 42%}.cw-route-head>span{display:none}body.competition-workbench > header{flex-wrap:wrap}.cw-total strong{font-size:18px}}
@media(max-width:680px){#cwOverview{height:auto;grid-template-columns:1fr}.cw-challenge{min-height:76px}.cw-route{min-height:100px}body.competition-workbench #map{max-height:none}body.competition-workbench #gameControls{max-height:none}}

body.cw-random-draw #lotteryCustom,body.cw-random-draw #customBoardIds,body.cw-random-draw label[for="customBoardIds"],body.cw-random-draw #customBoardHint,body.cw-random-draw #lotteryChoice .sub{display:none!important}
body.competition-workbench #cwStrip button{padding:5px 10px;min-height:30px}body.competition-workbench #cwStrip #cwBegin{background:var(--cw-accent);border-color:var(--cw-accent);color:#fff;font-weight:700}

body.competition-workbench #routeTrialControls{display:none!important}
body.competition-workbench[data-mode="setup"] #routeComplete{display:none!important}
body.competition-workbench #raceOperationRow{display:flex;flex-direction:column-reverse;gap:2px}body.competition-workbench #roundProgress{margin:0;overflow-x:auto;flex-wrap:nowrap}body.competition-workbench #raceQuickbar{margin:0}

body.competition-workbench #raceQuickbar .live-controls{display:flex;align-items:center;margin-left:auto;flex:0 0 auto}body.competition-workbench #raceQuickbar .live-group{display:flex;align-items:center;gap:6px;white-space:nowrap}body.competition-workbench #raceQuickbar .live-group label{display:flex;align-items:center;gap:5px}body.competition-workbench #raceQuickbar .live-group input{width:80px}body.competition-workbench #raceQuickbar #robotStart{background:var(--cw-accent);border-color:var(--cw-accent);color:white;font-weight:700}
body.competition-workbench[data-mode="race"] #cards.setup-only{display:flex!important;flex:0 0 auto}body.competition-workbench[data-mode="race"] #cards .card{cursor:default}
body.competition-workbench #roundProgress{display:none!important}
body.competition-workbench #map{aspect-ratio:4.15 / 1}
body.competition-workbench #cwStrip{padding:3px 8px;gap:9px;min-height:36px}
body.competition-workbench #cwStrip button,body.competition-workbench #cwStrip select{min-height:29px}
html[data-theme="light"] body.competition-workbench > header{background:linear-gradient(110deg,#ad4d0e,#c75d16 55%,#d96a20);color:#fff}

body.competition-workbench button.primary{background:var(--cw-accent);border-color:var(--cw-accent);color:white}body.competition-workbench .card.active{border-color:var(--cw-accent)}

body.competition-workbench .setup-cards .card{width:54px;min-width:54px;flex:0 0 54px}body.competition-workbench .setup-cards .card svg{width:40px;height:26px;max-width:none}body.competition-workbench .setup-cards .card b{display:block;white-space:nowrap}
body.competition-workbench #cwAccount,body.competition-workbench #cwRecords{font-size:12px;min-width:72px;min-height:34px;padding:5px 8px;white-space:nowrap}body.competition-workbench #cwAccountStatus{font-size:11px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#cwRecordsDialog{border-radius:12px;max-width:min(92vw,520px)}#cwRecordsDialog p{border-bottom:1px solid var(--cw-edge);padding:8px 0}
@media(max-width:1100px){body.competition-workbench #cwAccountStatus{display:none}}

#cwLoginGate{position:fixed;inset:0;z-index:100;background:#081d1bd9;display:grid;place-items:center;padding:20px}#cwLoginGate>div{background:#133c35;color:#fff;border:1px solid #5e9276;border-radius:15px;max-width:410px;width:100%;padding:27px;box-shadow:0 20px 70px #0009}#cwLoginGate h2{margin:0 0 10px}#cwLoginGate p{line-height:1.6}#cwLoginGate button,#cwLoginGate a{display:inline-flex;align-items:center;min-height:38px;margin:5px 9px 0 0;padding:7px 13px;border:1px solid #ff8c32;border-radius:8px;background:#ff8c32;color:#1b281c;text-decoration:none;font-size:13px}#cwLoginGate a{background:transparent;color:#fff}#cwLoginGate [hidden]{display:none!important}
