/* Original game interface. No official event marks or artwork. */
:root{--bg:#0b121b;--panel:#121c26;--line:#ffffff20;--muted:#a4b4c3;--white:#eef1eb;--lime:#ff7948;--red:#f24452;--blue:#329ae8;--body:'Bahnschrift','Segoe UI','Microsoft YaHei',sans-serif;--display:'Bahnschrift Condensed','Impact','Microsoft YaHei',sans-serif;--mono:'Consolas',monospace;--garage-width:418px}
body{background:var(--bg);--station-color:var(--red)}body[data-alliance=blue]{--station-color:var(--blue)}
button,select,input[type=number]{border-radius:3px;border:1px solid #627284;min-height:44px;font-family:var(--body);font-size:13px}button{background:#1c2a39;color:var(--white);transition:background .12s,transform .12s,border-color .12s}button:hover{background:#30465a;border-color:#b7c7d6}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #ffac77;outline-offset:3px;box-shadow:0 0 0 6px #0b121b}
select,input[type=number]{background:#0a131d;color:var(--white);padding:10px 12px}select option{background:#121c26}input[type=range],input[type=checkbox]{accent-color:var(--lime)}input[type=range]{min-height:28px}input[type=checkbox]{width:20px;height:20px;flex:none}label>span{color:#bcc9d4;font-size:12px}p,.micro{color:var(--muted)}a{color:#ffc09e}.primary{background:var(--lime);color:#191b1b;border-color:var(--lime);font-weight:800;letter-spacing:.035em}.primary:hover{background:#ff9b6c;color:#111820;border-color:#ffd0ac}[hidden]{display:none!important}
.masthead{height:64px;padding:10px 24px;background:#0b121b;border-bottom:1px solid var(--line)}.brand{font-size:21px;letter-spacing:.06em;gap:10px}.brand svg{width:27px;height:33px;color:var(--lime)}.brand-sub{font:9px var(--mono);letter-spacing:.2em;color:var(--muted)}.header-right{gap:12px}.header-right button,.header-right a{font-size:11px}.build-tag{color:#a4b4c3;font:10px var(--mono);letter-spacing:.04em}.header-credits{color:#a4b4c3}.header-right .plain{padding:7px 12px}
.lobby{overflow:hidden}.lobby:after{display:none}.lobby #arena{left:var(--garage-width);top:64px;bottom:0;height:calc(100dvh - 64px);opacity:1;border:0}.lobby-panel{position:absolute;left:0;top:64px;bottom:0;width:var(--garage-width);max-height:none;margin:0;padding:0;overflow:hidden;display:flex;flex-direction:column;background:#121c26;border:0;border-right:1px solid #526174;box-shadow:12px 0 40px #0002}
.lobby-tabs{display:grid;grid-template-columns:repeat(3,1fr);flex:none;padding:8px 16px 0;gap:3px;border-bottom:1px solid var(--line)}.lobby-tabs button{display:flex;align-items:center;gap:6px;justify-content:center;min-height:51px;background:transparent;border:0;border-radius:0;padding:8px 3px;color:#a4b4c3}.lobby-tabs small{font:10px var(--mono);opacity:.6}.lobby-tabs button[aria-pressed=true]{color:var(--white);box-shadow:inset 0 -3px var(--lime);background:#ff794810}.lobby-tabs button:hover{color:white;background:#ffffff08}
.lobby-heading{flex:none;padding:23px 26px 0}.lobby-heading .eyebrow{font:10px var(--mono);letter-spacing:.1em;color:#9bafbe}.lobby-heading .eyebrow i{background:var(--station-color);border-radius:0;width:7px;height:7px}.lobby-panel .lobby-heading h1{font:900 38px/1 var(--display);letter-spacing:.015em;margin:12px 0 8px;width:auto;max-width:100%;white-space:normal}.lobby-heading .intro{font-size:12px;line-height:1.55;max-width:none;margin:0 0 10px;min-height:36px}.lobby-screens{overflow:auto;min-height:0;flex:1;padding:0 26px 16px;scrollbar-width:thin;scrollbar-color:#425568 transparent}.setup-section{margin-top:12px}.setup-section h2{font:11px var(--mono);color:#acbccb;padding:0;margin:0 0 12px;border:0;letter-spacing:.05em}.lobby-screen>.setup-section:first-child h2{display:none}
#robot{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;clip-path:inset(50%);min-height:0;padding:0;border:0}.robot-catalogue{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 15px}.robot-catalogue button{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;min-height:87px;gap:9px;padding:10px 8px;background:#1b2a38;border:1px solid #435364;border-bottom:3px solid #435364;overflow:hidden}.robot-catalogue strong{font:800 27px/1 var(--display);letter-spacing:.01em}.robot-catalogue span{font-size:10px;line-height:1.3;color:#a9bac8}.robot-catalogue button[aria-pressed=true]{background:var(--lime);border-color:#ffb28d;color:#12191f}.robot-catalogue button[aria-pressed=true] span{color:#242c31}.robot-catalogue button:hover{border-color:#ffb28d}
.machine-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end;margin:14px 0 8px}.machine-actions input{font:700 23px var(--display);width:100%;height:44px}.machine-actions button{font-size:11px;color:#ffd0b9}.machine-actions label>span{font-size:11px}.mechanism-sheet{padding:0 0 7px;border-bottom:1px solid var(--line);font-size:11px}.mechanism-sheet summary{color:#c9d6df;min-height:40px;padding:10px 0}.mechanism-sheet p{font-size:11px;line-height:1.6;margin:7px 0}.mechanism-sheet nav{display:flex;gap:15px;flex-wrap:wrap}.mechanism-sheet a{font-size:11px}#robotReference{font-size:11px;line-height:1.5}.robot-params{gap:0;margin-top:16px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.robot-params>div{padding:0 8px;border-right:1px solid var(--line)}.robot-params>div:first-child{padding-left:0}.robot-params>div:last-child{border:0}.robot-params strong{font:700 25px var(--display)}.robot-params span{font-size:9px}.robot-params small{font-size:10px}.micro{font-size:10px;line-height:1.55}
.setup-grid{gap:12px;margin-top:16px}.setup-grid label{min-width:0}.setup-grid select{font-size:12px;padding:10px 6px}.height-setting{margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}.height-setting small{font-size:10px}.height-setting output{color:#ffc09e;font:12px var(--mono)}.mode-tabs{border:1px solid #617183;border-radius:3px;gap:0}.mode-tabs button{min-height:58px;font-weight:700;font-size:14px}.mode-tabs .selected{background:#ff794819;color:#ffc09e;box-shadow:inset 0 -3px var(--lime)}#eventScreen>.setup-section{margin-bottom:26px}
.lobby-footer{flex:none;padding:16px 26px 12px;border-top:1px solid #425367;background:#0e1822;box-shadow:0 -10px 25px #0002}.start-button{position:static;margin:0;min-height:56px;padding:12px 17px;font-size:13px;box-shadow:none;display:flex;width:100%;justify-content:space-between}.start-button>span:last-child{font-size:20px}.lobby-device{display:flex;align-items:center;gap:7px;margin-top:8px;font:10px var(--mono);color:#8fa6b7}.lobby-device i{width:5px;height:5px;background:#8fa6b7;border-radius:50%}.lobby-device.pad-ready i{background:#80d49d}.lobby-device button{margin-left:auto;min-height:28px;padding:0;border:0;background:transparent;font-size:10px;color:#b8c7d3}.latest{font-size:10px;margin-top:7px}.control-launch{padding:22px 0;display:flex;flex-direction:column;gap:14px}.controller-symbol{font:80px/1 var(--display);color:var(--lime);height:82px}.control-launch h2{font:700 23px/1.25 var(--display);margin:0}.control-launch p{font-size:12px;margin:0;line-height:1.7}.control-launch button{min-height:52px;text-align:left;padding-left:18px}.menu-instructions{font:11px/1.7 var(--body);color:#a3b6c5;padding-top:12px;border-top:1px solid var(--line)}
.garage-controls{left:calc(var(--garage-width) + 30px);right:30px;bottom:22px;width:auto;max-width:none;border:0;border-top:1px solid #ffffff38;padding:16px 0 0;background:linear-gradient(0deg,#121b22f0,#121b2200);pointer-events:none}.garage-controls button{pointer-events:auto}.garage-controls .eyebrow{font:10px var(--mono);color:#ffb28d;letter-spacing:.12em}.garage-controls h2{font:700 31px/1.05 var(--display);margin:8px 0}.garage-controls>p{font-size:11px;margin:8px 0}.garage-tools{gap:7px;margin-top:12px}.garage-tools button{min-height:40px;padding:6px 11px;background:#142231de;border-color:#526578;font-size:11px}.garage-tools button[aria-pressed=true]{background:var(--lime);color:#101820}.garage-controls .micro{font-size:10px;max-width:680px;color:#9dafbc}.field-caption{right:26px;bottom:26px;width:290px;padding:16px;border:0;border-left:3px solid var(--lime);background:#101a24e8}.field-caption>span{color:#a9bdcb}.field-caption strong{font-size:22px}.field-caption p{font-size:11px}
.playing .masthead,.replaying .masthead{display:none}.scoreboard{top:14px;filter:none;border:1px solid #8ca0ae66;border-radius:3px;overflow:hidden;box-shadow:0 6px 20px #0004}.alliance-score{min-width:100px;padding:8px 16px;color:white;border-radius:0}.alliance-score.red-score{background:#b72332;border-bottom-color:#ff6270}.alliance-score.blue-score{background:#116bab;border-bottom-color:#68c4ff}.alliance-score>strong{font-size:43px}.clock-box{background:#ecede4;color:#162333;min-width:150px}.clock-box>strong{font-weight:700}.clock-box>small{color:#445b6a}.phase-track i{background:#dc6a35}.view-toolbar{top:16px;left:18px;background:#0c1824ed;border:1px solid #68809480;box-shadow:none;padding:4px}.view-toolbar>span{display:none}.view-toolbar select{width:128px;font-size:12px;min-height:36px}.view-toolbar button{min-width:39px;min-height:36px;color:white}.arena-hint{top:16px;right:18px;max-width:260px;background:#0c1824ec;border-left:2px solid var(--lime);font-size:11px;color:#d2dce5;box-shadow:none}.team-support{top:80px;left:18px;width:222px;max-width:222px;background:#0c1824d9;border:1px solid #68809445;padding:7px;border-radius:3px}.team-support button{font-size:11px;min-height:36px;color:#ffbd9d}.team-support #teamIntent{font:10px/1.8 var(--body);color:#c3d0da;padding:5px 4px 0}
.telemetry{bottom:49px;gap:20px;min-height:78px;padding:11px 18px;background:#0c1824f5;border:1px solid #69839699;border-radius:3px;box-shadow:none;backdrop-filter:none}.player-id>strong{font-size:25px}.fuel-meter>strong{font-size:27px}.status-toggle{border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;min-width:100px;padding-left:15px}.status-toggle>strong{color:#b9c8d4}.status-toggle.enabled>strong{color:#ffb28d}.status-toggle>span{color:#a9bac8}.status-toggle kbd{position:absolute;right:0;top:0;font:10px var(--mono);padding:2px 4px;background:#26384a;color:#dfebf3;border-color:#688094}.device-box>strong{font-size:12px}.device-box small{font-size:10px;color:#8ca5b7}.keyboard-strip{bottom:17px;gap:20px}.keyboard-strip>span{display:flex;align-items:center;gap:6px}.keyboard-strip kbd{position:static;font:10px var(--mono);border-color:#526578;color:#d5e2eb;padding:3px 5px;background:#101a24d9}.keyboard-strip b{font:10px var(--body);color:#a9becc;margin:0}.toast{background:#f0eee2;color:#162333}.replay-bar{background:#101d2af5;border:1px solid #6b8498;box-shadow:none}.touch-actions .fire-button,.touch-enabled .touch-actions .fire-button{background:#ff7948ed;color:#111820}.touch-actions button.pressed{background:#ffb990;color:#111820}
.dialog-top{margin-bottom:15px;gap:18px}dialog{background:#121f2c;color:var(--white);border:1px solid #657d91;border-top:3px solid var(--lime);border-radius:4px;box-shadow:0 20px 90px #000a;padding:26px 30px;scrollbar-color:#536e82 #121f2c}dialog::backdrop{background:#050a12d9;backdrop-filter:none}dialog h2{font:800 32px/1.1 var(--display);letter-spacing:.03em}.dialog-close{min-height:40px;min-width:40px;color:#cbdce7;font-size:23px;padding:4px 8px}.dialog-top button[data-ui]{font:12px var(--body)}dialog p{font-size:12px;line-height:1.65}.dialog-actions{gap:9px}.dialog-actions button{font-size:12px;min-height:44px}.pause-options{display:flex;gap:10px;margin-top:20px}.pause-options button{flex:1}#pauseDialog{width:470px}#pauseDialog>.primary{min-height:58px;font-size:17px;margin-top:12px}#pauseDialog .separator{display:none}#settingsDialog{width:580px}.settings-grid{gap:20px}.settings-grid .height-setting{margin:0;padding:0;border:0}#settingsDialog .dialog-actions{gap:18px;margin-top:26px}#settingsDialog .dialog-actions .checkbox-label{min-height:38px}#settingsDialog .dialog-actions button{flex:none}.auto-dialog{background:#121f2c}.auto-dialog>.dialog-actions{background:#121f2c;border-top:1px solid var(--line)}.auto-row{background:#0d1823;border:1px solid #61798d}.auto-row input,.auto-row select{min-height:40px}.auto-map{border-color:#657b8d}.results-dialog{background:#121f2c}.results-dialog .primary{background:var(--lime)}
.bindings-dialog{width:960px;max-width:94vw;max-height:92dvh}.bindings-dialog>h2{margin:0 0 10px}.bindings-dialog>.dialog-top>.eyebrow{display:none}.bindings-dialog>.dialog-top{justify-content:flex-end;margin-bottom:4px}.bindings-dialog>p{margin:0 0 18px}.binding-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding-bottom:12px}.binding-tabs button{min-width:140px}.binding-tabs button[aria-pressed=true]{background:#ff79481f;border-color:var(--lime);color:#ffc09e}.binding-tabs #quickGuide{margin-left:auto;min-width:90px;background:transparent}.binding-workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;padding-top:20px}.binding-table-head,.binding-row{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:12px;align-items:center}.binding-table-head{font:10px var(--mono);text-transform:uppercase;color:#9db4c5;padding:0 12px 10px}.binding-rows{max-height:430px;overflow:auto;scrollbar-width:thin;scrollbar-color:#526c80 #0c1722;padding:4px 8px 4px 0}.binding-row{padding:6px 10px;border-bottom:1px solid #ffffff12;font-size:13px}.binding-row:nth-child(odd){background:#ffffff03}.binding-row button{min-height:38px;background:#203549;color:#e5eff6;font:12px var(--mono);padding:8px}.binding-row button small{display:block;font:9px var(--body);color:#9db4c5;margin-top:4px}.binding-row button.listening{background:var(--lime);color:#15202c}.binding-notice{color:#ffc09e;font-size:12px;min-height:32px;padding-top:10px}.binding-workspace #resetBindings{margin-top:8px;font-size:12px}.controller-check{border-left:1px solid var(--line);padding-left:25px;min-width:0}.controller-check>.eyebrow{font:10px var(--mono);color:#a3bdcf;letter-spacing:.1em}.controller-check>strong{display:block;font-size:14px;line-height:1.5;margin-top:10px}.controller-check>p{font-size:10px;overflow-wrap:anywhere;margin:5px 0 12px}.controller-check select{width:100%;min-height:36px;font-size:11px;padding:8px 5px}.controller-drawing{display:block;width:100%;height:145px;margin-top:8px}.trigger-meters{display:flex;gap:20px}.trigger-meters label{display:flex;align-items:center;gap:9px;width:50%;font:10px var(--mono)}.trigger-meters meter{width:100%;height:7px}.live-buttons{min-height:27px;font:10px var(--mono);padding:10px 0;color:#ffd0b7}.controller-check h3{font:12px var(--body);margin:18px 0 10px}.stick-presets{display:flex;gap:7px}.stick-presets button{font-size:10px;min-height:35px;padding:5px 8px}.axis-row{display:flex;align-items:flex-end;gap:8px;margin-top:10px}.axis-row>label:first-child{flex:1;min-width:0}.axis-row label>span{font-size:10px}.axis-row .checkbox-label{min-height:36px;gap:3px}.axis-row input[type=checkbox]{width:16px;height:16px}.axis-row .checkbox-label span{font-size:9px}.controller-check #deadzoneSlot{margin-top:18px}.controller-check output{font:11px var(--mono);color:#ffc09e}.controller-check>.checkbox-label{margin-top:17px}.controller-check>.checkbox-label span{font-size:12px}.game-menu-hint{position:fixed;bottom:5px;left:50%;transform:translateX(-50%);z-index:101;background:#101a24ee;color:#c6d7e3;border:1px solid #526b80;border-radius:3px;padding:7px 12px;font:11px var(--body);white-space:nowrap;pointer-events:none}
@media(max-width:1150px){:root{--garage-width:370px}.lobby-heading{padding:20px 20px 0}.lobby-screens{padding:0 20px 14px}.lobby-footer{padding:13px 20px 10px}.lobby-panel .lobby-heading h1{font-size:34px}.robot-catalogue{gap:5px}.robot-catalogue button{padding:9px 6px;min-height:81px}.robot-catalogue strong{font-size:24px}.robot-catalogue span{font-size:9px}.garage-controls{left:calc(var(--garage-width) + 22px);right:22px}.garage-tools{gap:5px}.garage-tools button{padding:6px 8px;font-size:10px}.header-right{gap:6px}.build-tag{display:none}.arena-hint{top:126px;right:14px;max-width:230px;font-size:10px}.team-support{top:126px;left:14px;width:210px}.view-toolbar{top:14px;left:14px}.telemetry{gap:14px}.binding-workspace{grid-template-columns:minmax(0,1fr) 275px;gap:18px}.controller-check{padding-left:18px}}
@media(max-width:700px){:root{--garage-width:100%}.masthead{height:54px;padding:6px 12px}.brand{font-size:17px}.brand svg{width:22px}.header-right{gap:3px}.header-credits{display:none}.header-right .plain{font-size:11px;padding:4px 8px;min-height:34px}.lobby #arena{left:0;top:54px;height:27dvh;bottom:auto}.lobby-panel{position:absolute;left:0;right:0;top:calc(54px + 27dvh);bottom:0;width:100%;margin:0;max-height:none;border-right:0;border-top:1px solid #526578}.lobby-heading{padding:14px 20px 0}.lobby-panel .lobby-heading h1{font-size:29px;margin:8px 0}.lobby-heading .eyebrow{display:none}.lobby-heading .intro{min-height:0;font-size:11px;margin-bottom:6px}.lobby-tabs{padding:0 14px}.lobby-tabs button{min-height:43px}.lobby-screens{padding:0 20px 10px}.lobby-footer{padding:10px 20px 8px}.start-button{min-height:46px;font-size:12px}.latest{display:none}.lobby-device{margin-top:4px}.robot-catalogue button{min-height:72px}.robot-catalogue strong{font-size:26px}.garage-controls{left:12px;right:12px;top:58px;bottom:auto;padding:0;border:0;background:transparent}.garage-controls h2,.garage-controls>p,.garage-controls>.eyebrow{display:none}.garage-tools{margin:0;gap:4px}.garage-tools button{min-height:32px;min-width:32px;font-size:9px;padding:5px}.garage-tools #exportModel{display:none}.field-caption{display:none}.bindings-dialog{padding:16px;width:94vw;max-height:94dvh}.bindings-dialog h2{font-size:26px}.binding-tabs button{min-width:0;flex:1;font-size:11px}.binding-tabs #quickGuide{min-width:0}.binding-workspace{grid-template-columns:1fr;gap:20px}.binding-rows{max-height:310px}.controller-check{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.controller-drawing{height:130px}.controller-check .menu-instructions{display:none}.binding-row{font-size:12px}.binding-table-head,.binding-row{grid-template-columns:minmax(0,1fr) 125px}.game-menu-hint{white-space:normal;text-align:center;width:90%;font-size:10px}.help-grid,.settings-grid{grid-template-columns:1fr}dialog{padding:22px}.pause-options{flex-wrap:wrap}}
@media(max-height:720px) and (min-width:701px){.lobby-heading{padding-top:15px}.lobby-panel .lobby-heading h1{font-size:30px;margin-top:8px}.lobby-heading .intro{font-size:11px;min-height:0}.lobby-tabs button{min-height:44px}.garage-controls{bottom:12px}.garage-controls h2{font-size:24px}.garage-controls .micro{display:none}.binding-rows{max-height:310px}.scoreboard{top:8px}.alliance-score>strong{font-size:32px}.alliance-score{min-width:78px}.clock-box{min-width:128px}.clock-box>strong{font-size:27px}.arena-hint,.team-support{top:112px}.telemetry{min-height:65px;padding:8px 12px;gap:13px}.team-support #teamIntent{font-size:9px}.game-menu-hint{bottom:1px}}
@media(pointer:coarse){button,summary,.garage-tools button{min-height:44px}.keyboard-strip{display:none}.touch-enabled .telemetry,.telemetry{bottom:180px}.touch-controls{bottom:14px}.telemetry .device-box{display:none}.telemetry{gap:15px}.team-support{pointer-events:none}.team-support button{pointer-events:auto}.team-support #teamIntent{display:none}}
@media(pointer:coarse) and (max-height:600px){.telemetry{bottom:12px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 490px);display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-width:160px}.telemetry .player-id,.telemetry .device-box{display:none}.fuel-meter{min-width:80px}.fuel-meter>strong{font-size:22px}.status-toggle{min-width:65px;padding:0;border:0}.status-toggle kbd{display:none}.telemetry .status-toggle>span{display:block;font-size:9px}.touch-controls{left:10px;right:10px;bottom:10px}.team-support{top:100px}.arena-hint{top:100px;max-width:200px}.view-toolbar select{width:110px}.view-toolbar button{min-width:35px}.lobby-heading .intro{display:none}}
@media(prefers-reduced-motion:reduce){button{transition:none}.results-dialog[open] .results-broadcast{animation:none}.phase-track i,.fuel-meter i{transition:none}}
/* Resizing the canvas every transition frame can blank the turntable on rotation. */
#arena{transition:none}
body[data-input=gamepad] :is(button,select,input,summary,a):focus{outline:3px solid #ffac77;outline-offset:3px;box-shadow:0 0 0 6px #0b121b}
.stick{background:#0e1b2b90;border-color:#728ea777;box-shadow:inset 0 0 0 4px #6c8ea533}.stick-knob{background:#9ab4c599;border-color:#d7e9f1}.stick-caption{color:#d7e9f1}.touch-actions button{background:#15283ada;border-color:#7896aa;color:#e1eaf1}.touch-actions .fire-button{grid-column:span 2}
@media(pointer:coarse){.telemetry kbd{display:none}}
@media(max-width:700px){body[data-input=gamepad] .lobby-footer{padding-bottom:42px}}
