/* RoboSoccer / NEON LEAGUE. Loaded last on every page; no remote assets. */
@font-face{font-family:Oxanium;src:url('/vendor/fonts/oxanium.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{
 color-scheme:dark;--paper:#080b18;--card:#11172a;--ink:#edf3ff;--muted:#a4b1cd;--line:#293750;
 --lime:#5fffd3;--pink:#ff69ce;--cyan:#52e8ff;--violet:#a993ff;--gold:#ffd779;
 --surface:#151e35;--deep:#090e1d;--display:Oxanium,'Bahnschrift','Arial Narrow',sans-serif;
 --body:'Segoe UI',Arial,sans-serif;--mono:'Cascadia Code',Consolas,monospace;--font-body:var(--body);
}
html{background:var(--paper);scrollbar-color:#40577b #0b1020}
body,.ref-page{
 color:var(--ink);background-color:var(--paper);font-family:var(--body);
 background-image:radial-gradient(ellipse at 8% 0,#44206045,transparent 45%),radial-gradient(ellipse at 95% 35%,#005d7930,transparent 42%),linear-gradient(#687aff06 1px,transparent 1px),linear-gradient(90deg,#687aff06 1px,transparent 1px);
 background-size:auto,auto,48px 48px,48px 48px;
}
::selection{background:#a43b8b;color:#fff}
button,input,select,textarea{color:var(--ink);accent-color:var(--cyan)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.header a:focus-visible,.header button:focus-visible,.api-reference :focus-visible,.ref-top :focus-visible{
 outline:2px solid var(--cyan);outline-offset:4px;
}
input::placeholder,textarea::placeholder{color:#7e8ead;opacity:1}
h1,h2,h3,.brand,.card-stats strong,.history-score,.score,.podium>strong,.sensor-grid strong,.admin-metric strong,.career-stats strong{font-family:var(--display);font-weight:700}
h1,h2,h3{text-wrap:balance}
.header{
 position:relative;z-index:2;background:#090d1cf5;border-bottom:1px solid #354765;
 box-shadow:0 1px 0 #52e8ff14,0 10px 40px #0003;padding-top:20px;padding-bottom:20px;
}
.header::after{content:'';position:absolute;bottom:-1px;left:4%;width:160px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--pink));box-shadow:0 0 14px #52e8ff66}
.brand{font-size:25px;font-weight:800;letter-spacing:-1px;filter:drop-shadow(0 0 10px #52e8ff16)}
.brand>span:not(.brand-mark){color:var(--cyan)}
.brand-mark{background:#15283a;color:var(--cyan);border:1px solid #52e8ff70;box-shadow:3px 3px 0 #ff69ce65;transform:skewY(-6deg);border-radius:2px}
.brand small{color:var(--muted)}
.nav-button{font-family:var(--mono);font-size:11px;letter-spacing:.2px;border-radius:2px;border:1px solid transparent}
.nav-button:hover{color:var(--cyan);background:#52e8ff0a}
.nav-button.active{background:#52e8ff10;border-color:#52e8ff60;color:var(--cyan);box-shadow:inset 0 -2px 0 var(--cyan)}
#account{color:var(--muted)}
.legal-notice{background:#0c1325;border-bottom:1px solid #25324b;color:#9daeca;font-size:11px;padding-top:10px;padding-bottom:10px}
.legal-notice a:hover{color:var(--cyan);text-decoration:underline}
.btn{
 background:var(--cyan);color:#07131d;border:1px solid var(--cyan);border-radius:3px;
 font-family:var(--mono);font-size:11px;letter-spacing:.15px;box-shadow:3px 3px 0 #52e8ff24;
}
.btn:hover{background:#96f2ff;color:#07131d;box-shadow:0 0 22px #52e8ff25;transform:translateY(-2px)}
.btn.lime{background:var(--lime);border-color:var(--lime);color:#071a18;box-shadow:3px 3px 0 #5fffd324}
.btn.lime:hover{background:#a1ffe3}
.btn.light{background:#10182b;color:var(--ink);border:1px solid #405375;box-shadow:none}
.btn.light:hover{background:#18253f;border-color:var(--cyan);color:var(--cyan)}
.btn.danger{background:#b7256b;border-color:#ff69ce66;color:#fff;box-shadow:3px 3px 0 #ff69ce20}
.btn.danger:hover{background:#d32d7e}
.text-button{color:var(--cyan);text-decoration-color:#52e8ff55}
button:disabled{opacity:.45;box-shadow:none}
.eyebrow,.admin-kicker{color:var(--cyan);font-size:10px;letter-spacing:2px}
.page{padding-top:34px}
.page-heading{padding:24px 0 30px;border-bottom:1px solid var(--line);align-items:center}
.page-heading h1{font-size:clamp(30px,4.1vw,54px);font-weight:800;letter-spacing:-1.5px;margin:12px 0}
.page-heading p,.section-head p{font-size:13px}
.section-head h2{font-size:clamp(23px,2.5vw,32px);font-weight:700;letter-spacing:-.7px}
.section-meta{color:#a4b1cd}
.hero{gap:48px;margin-top:35px;margin-bottom:52px}
.hero h1{font-size:clamp(46px,6.1vw,88px);font-weight:800;line-height:1.04;letter-spacing:-3px;text-shadow:3px 3px 0 #6d287652}
.hero h1 span{color:var(--cyan);text-shadow:0 0 30px #52e8ff30,3px 3px 0 #ff69ce55}
.hero p{color:#b1bfd9;font-size:15px}
.hero .eyebrow::before{content:'';display:inline-block;width:7px;height:7px;background:var(--pink);margin-right:10px;box-shadow:0 0 12px var(--pink)}
.languages span{background:#121a30;border-color:#344561;color:#b5c9e5}
.hero-screen{
 background:#080d1b;border:1px solid #657294;border-radius:8px;transform:perspective(1200px) rotateY(-4deg) rotateZ(1deg);
 padding:7px;box-shadow:8px 8px 0 #ff69ce18,-3px -3px 0 #52e8ff30,0 20px 70px #0008,0 0 50px #52e8ff10;
}
.hero-screen::after{content:'';position:absolute;inset:44px 8px 70px;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#05081725 3px 4px);border:1px solid #52e8ff35;border-radius:3px}
.screen-top,.screen-bottom{color:var(--muted);background:#0b1223}
.screen-top{letter-spacing:1px}.screen-top b{color:var(--pink)}
.screen-bottom strong{font-weight:700;color:var(--cyan)}
.hero-tag{background:#c33284;color:white;border:1px solid var(--pink);font-size:10px;letter-spacing:1px;box-shadow:0 0 25px #ff69ce30}
.manifesto{border-color:var(--line);background:#0e1424}
.manifesto>div{padding:28px!important}
.manifesto small{color:var(--pink);letter-spacing:1px}
.manifesto h3{font-size:23px;font-weight:700}
.manifesto p{font-size:13px}
.room-bar{background:#101b30;border-color:#344561;border-left:3px solid var(--violet)}
.room-bar select{color:var(--ink)}
.robot-card,.event-card,.guide-card,.roster-card,.admin-panel,.admin-metric,.entry-card,.fixture-card,.inspector,.stats-panel,.editor-panel,.room-card,.welcome,.mission-api{
 background:linear-gradient(145deg,#172039,#101626 70%);border-color:var(--line);border-radius:6px;box-shadow:0 10px 25px #0002;
}
.robot-card{border-top:2px solid #4ba9c0;padding:23px;transition:border-color .2s,box-shadow .2s}
.robot-card:hover{border-color:#46728b;box-shadow:0 6px 25px #52e8ff0c}
.robot-card::before{content:'//';font:800 100px var(--display);color:#52e8ff08;right:10px;top:50px;transform:skew(-10deg)}
.robot-card .bot-icon{background:#090f21;border:1px solid #52e8ff40;border-radius:5px;box-shadow:4px 4px 0 #52e8ff12;margin-top:16px;margin-bottom:20px}
.robot-card h3{font-size:27px;font-weight:700;letter-spacing:-.7px}
.robot-card .card-meta{color:#b6a9e7;font-size:10px}
.robot-card p{color:var(--muted);font-size:12px}
.robot-card .team-caption{color:#8799b9;font-size:9px}
.card-stats{gap:24px}.card-stats strong{font-size:27px;font-weight:700;color:var(--cyan)}
.chip,.badge{background:#121c31;color:#bccde9;border-color:#3c4d6a;letter-spacing:.5px}
.chip.published{background:#10322e;color:#79ffcf;border-color:#36836c}
.empty{background:#0e1729;border-color:#405475;color:#aabbd6}
.strategy-tabs{background:#0b1121;border-color:#374863;padding:5px;border-radius:4px}
.strategy-tabs button{color:#b5c4df;font-family:var(--mono);font-size:11px}
.strategy-tabs button[aria-pressed=true]{background:#163447;color:var(--cyan);box-shadow:inset 0 -2px var(--cyan)}
.strategy-delete{color:#ff86b6}.strategy-lifecycle-note{color:#bdaccb;font-size:11px}
.garage-replays{background:linear-gradient(115deg,#14213b,#101326 75%);border:1px solid #344768;border-top:2px solid var(--cyan);border-radius:6px;padding:24px;position:relative}
.garage-replays .eyebrow{color:var(--pink);font-size:9px}
.garage-replays .section-head h2{font-size:clamp(23px,3vw,34px);font-weight:700}
.garage-replays .history-item{background:#0a1122;border-color:#2c405e;box-shadow:0 4px 15px #0002;border-radius:4px;transition:border-color .2s,background .2s}
.garage-replays .history-item:hover{border-color:var(--cyan);background:#12233a}
.garage-replays .history-score{color:var(--ink);font-family:var(--display);font-weight:700;font-size:29px;letter-spacing:-1px}
.garage-replays .history-details strong{color:#dce7ff}
.garage-replays .replay-cta{background:#52e8ff14;color:var(--cyan);border:1px solid #52e8ff50;border-radius:2px}
.garage-replays .history-item:focus-visible{outline-color:var(--cyan)}
.match-ribbon--win{background:#5fffd3;color:#05261e}
.match-ribbon--draw{background:#ffd779;color:#342300}
.match-ribbon--loss{background:#ff85bf;color:#3d0921}
.history-item{background:var(--deep);border-color:var(--line)}
.history-item .history-score{font-weight:700}
.rank-table,.rank-table td,.rank-table th{border-color:var(--line)}
.rank-table th,.competition-table th{background:#172039;color:#b2c5e3}
.rank-table tr:first-child td,.competition-table .first td{background:#172f3d}
.rank-table tr:hover td{background:#18233a}
.rank-table strong{font-size:21px;font-weight:600}
.podium,.competition-hero,.honour.champion,.invite,.mission-intro{
 background:linear-gradient(120deg,#16233e,#14122b);color:var(--ink);border:1px solid #3d4b72;
}
.podium{border-top:2px solid var(--violet)}
.podium:first-child{border-top-color:var(--gold)}
.podium h3{font-size:27px;font-weight:700}
.podium>strong{font-weight:700}.podium small{color:#bbbad6}
.ranking-note,.competition-note,.coach,.mission-task,.mission-hints,.assigned,.blocks-help{background:#121e32;color:var(--muted);border-color:#344967}
.ranking-note,.assigned{border-left-color:var(--violet)}
.coach h3,.guide-card h2,.stats-panel h2,.roster-card h3{font-weight:700;font-size:24px}
.api-item code,.mission-api summary{color:var(--cyan)}
.room-card.active{background:#173341;border-color:var(--cyan)}
.invite p,.mission-intro p,.mission-intro-route small,.competition-hero p{color:#bdc7e2}
.mission-intro h2{font-size:34px;font-weight:700}
.mission-steps button[aria-current],.prediction-choices button[aria-pressed=true],.unit-selector button.active,.execution-actors [aria-pressed=true]{
 background:#153541;color:var(--cyan);
}
.mission-steps [aria-current] small{color:#b2dae4}
.mission-steps span{color:var(--violet)}
.mission-objective{border-color:#405a7d}
.mission-objective h2,.mission-feedback h3,.mission-prediction h3{font-size:26px;font-weight:700}
.mission-feedback.completed{background:#102b2a;border-color:#366959;border-left-color:var(--lime)}
.mission-feedback p,.mission-api p,.mission-hints p,.mission-api-rule{color:#b6c7dc}
.mission-prediction{border-color:#526283}
.mission-api-rule{border-color:var(--cyan)}
.step-controls,.execution-indicator{background:#101d31;color:var(--ink);border-color:#344967}
.execution-indicator p{color:#bbd1e9}
.execution-actors button,.execution-path button{border-color:#405475}
.execution-path [aria-current=true]{background:#1b453c;border-color:var(--lime)}
.studio-heading h1{font-size:clamp(25px,3vw,36px);font-weight:700;letter-spacing:-1px}
.pitch-panel{background:#090f20;color:var(--ink);border-color:#3a4d70;box-shadow:0 0 32px #52e8ff0a;border-radius:6px}
.scoreboard{background:linear-gradient(100deg,#102838,#11142b,#301a37);padding:20px}
.score{color:#f0f5ff;font-weight:600;font-size:30px;text-shadow:0 0 18px #52e8ff40}
.score small{color:#a5b6d4}.scoreboard .team-name{font-weight:700;font-size:16px}
.pitch-tool{background:#091426df;color:#b9d0eb;border-color:#4a6486}
.pitch-tool.active{background:var(--cyan);color:#081423;border-color:var(--cyan)}
.pitch-overlay{background:#080d1ddd}
.playback{background:#10172b;color:var(--ink)}
.playback button,.playback select{background:#101b30;color:var(--ink);border-color:#3e5372}
.playback button:hover{color:var(--cyan);border-color:var(--cyan)}
.mission-field-head{background:#10172b;color:#bbcae6}
.pitch-view{background:#10172b;color:var(--ink);border-color:var(--line)}
.pitch-view button{background:#18263d;color:#cad9ee;border-color:#415675}
.pitch-view button:hover{background:#1e3b50}
.pitch-view button[aria-pressed=true]{background:var(--cyan);border-color:var(--cyan);color:#091524}
.pitch-view-modes>span,.pitch-view-hint{color:#a9bcd7}
.editor-head{background:#19213b;border-color:#35445e;color:#b9ccec}
.editor-footer,.console{background:#0c1425}
.console{color:#b1c7de;font-size:11px}
.console.error{color:#ffadc7;background:#281329}
.editor-footer select,.coach select,.field input,.field select,.field textarea,.filter-row input,.filter-row select,.stats-controls input,.stats-controls select{
 background:#0a1122;color:var(--ink);border-color:#415374;border-radius:3px;
}
.sensor-grid strong{color:var(--cyan);font-size:22px;font-weight:600}
.stats-row strong:first-child{color:var(--lime)}.stats-row strong:last-child{color:var(--pink)}
.logo-choice:has(input:checked),.paradigm:has(input:checked){background:#153541;border-color:var(--cyan);box-shadow:inset 0 0 0 1px #52e8ff33}
.paradigm strong{font-size:20px;font-weight:600}
dialog,dialog.flow-dialog{
 background:#111a2d;color:var(--ink);border:1px solid #53668c;border-top:2px solid var(--cyan);border-radius:7px;
 box-shadow:0 25px 100px #000b,0 0 40px #52e8ff10;
}
dialog::backdrop,.flow-dialog::backdrop{background:#050817c4;backdrop-filter:blur(7px)}
.modal-top h2{font-size:29px;font-weight:700;letter-spacing:-1px}
.modal-intro{color:#b0bfd9;font-size:13px}
.form-error,.flow-form-error,.admin-error,.header .navbar-error{color:#ff9fbe}
.toast{background:#172a3c;color:var(--ink);border:1px solid var(--cyan);border-left:4px solid var(--cyan);box-shadow:0 10px 35px #0008;border-radius:4px}
footer,.legal-footer{border-color:var(--line);color:#8f9fbb}
footer a:hover,.legal-footer a:hover{color:var(--cyan)}
.competition-hero h1{font-weight:800;font-size:clamp(34px,5vw,66px)}
.trophy{color:var(--gold);filter:drop-shadow(0 0 18px #ffd77925)}
.event-card h2,.competition-section h2,.honour h3{font-weight:700;font-size:27px}
.event-state.running,.fixture-team.winner{color:var(--lime)}
.event-state.completed,.honour .award-label{color:var(--gold)}
.event-state.paused{color:#ffac91}
.honour{background:#211e30;border-color:#786745}.honour.champion{border-color:#a08a4c}
.career-badges span{border-color:#526281}
.competition-note.warn,.admin-pill.warn{background:#352437;color:#ffc0af;border-color:#875064}
.admin-heading h1,.admin-access h1{font-size:clamp(34px,5vw,58px);font-weight:700}
.admin-tabs button[aria-current=page]{background:#163447;color:var(--cyan);border-color:var(--cyan)}
.admin-metric strong{font-weight:700;font-size:42px;color:var(--cyan)}
.admin-metric:first-child{background:linear-gradient(135deg,#11333a,#102233);border-color:#32847d;color:var(--lime)}
.admin-metric:first-child span{color:#b6e3dc}
.admin-panel h2{font-size:26px;font-weight:700}
.admin-actions button.danger{color:#ff92bb}
.admin-pill{background:#1c2d43;border-color:#496581;color:#cad9f1}
.stats-section .admin-table th{background:#172039}
.stats-live{color:var(--lime)}
.stats-chart text,.stats-chart .stats-value{fill:#c6d6f0}
.stats-grid{stroke:#334360}
.stats-finished{fill:#5fffd3}.stats-failed{fill:#ff85bf}.stats-pending{fill:#a993ff}
.stats-chart-legend{color:var(--muted)}
.stats-chart-legend .stats-finished{background:#5fffd3}.stats-chart-legend .stats-failed{background:#ff85bf}.stats-chart-legend .stats-pending{background:#a993ff}
.stats-bar:hover .stats-hit,.stats-bar.selected .stats-hit{fill:#52e8ff14}
.stats-bar:focus-visible .stats-hit{stroke:var(--cyan)}
.admin-panel .stats-chart-detail{background:#132b35;color:#c2e7ea;border-color:var(--cyan)}
/* Code stays crisp: colour syntax, never add scanlines over an editor. */
.ace_editor,#code.ace_editor{background:#0a1020;color:#dae6ff;line-height:1.7}
.ace_editor .ace_gutter,#code .ace_gutter{background:#0e172a;color:#8194b5}
.ace_editor .ace_gutter-active-line{background:#1a2b45}
.ace_editor .ace_marker-layer .ace_active-line,#code .ace_marker-layer .ace_active-line{background:#14223b}
.ace_editor .ace_keyword,.ace_editor .ace_storage,#code .ace_keyword,#code .ace_storage{color:#ff85d5}
.ace_editor .ace_comment,#code .ace_comment{color:#839abb;font-style:italic}
.ace_editor .ace_string,#code .ace_string{color:#86eeb9}
.ace_editor .ace_constant,.ace_editor .ace_constant.ace_numeric{color:#ffc982}
.ace_editor .ace_support,.ace_editor .ace_entity.ace_name.ace_function{color:#78deff}
.ace_editor .ace_constant.ace_buildin,.ace_editor .ace_constant.ace_language,.ace_editor .ace_support.ace_type,.ace_editor .ace_support.ace_class{color:#baa7ff}
.ace_editor .ace_constant.ace_library,.ace_editor .ace_support.ace_constant,.ace_editor .ace_variable{color:#77e6d2}
.ace_editor .ace_keyword.ace_operator{color:#b4c9e8}
.ace_editor .ace_comment.ace_doc,.ace_editor .ace_comment.ace_doc.ace_tag{color:#99b2d4}
.ace_editor .ace_invalid{color:#ff9fb6;background:#4a213b}
.ace_editor .ace_cursor,#code .ace_cursor{color:var(--cyan)}
.ace_editor .ace_marker-layer .ace_selection,#code .ace_marker-layer .ace_selection{background:#374b7d}
.ace_editor .ace_marker-layer .ace_selected-word{border-color:#7183bf}
.ace_editor .ace_invisible,.ace_editor .ace_indent-guide{color:#445476}
.ace_editor.ace_autocomplete,.ace_tooltip{background:#15233b;color:#e2ecff;border:1px solid #5e7297;box-shadow:0 8px 24px #0008}
.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line{background:#294665}
.ace_editor.ace_autocomplete .ace_completion-highlight{color:var(--cyan)}
.ace_editor .ace_marker-layer .soccer-trace-current,#code .ace_marker-layer .soccer-trace-current{background:#5fffd329;border-left-color:var(--lime)}
.ace_editor .ace_gutter-cell.soccer-trace-pointer,#code .ace_gutter-cell.soccer-trace-pointer{background:#16473d;color:var(--lime)}
/* Blockly colours are supplied by its theme; its surrounding UI shares the console. */
.blocks-editor,.diagram-editor{background:#0b1223;color:var(--ink);font-family:var(--body)}
.blocks-toolbar,.blocks-views,.flow-toolbar,.flow-controls{background:#151f35;border-color:#334763}
.blocks-help{color:#b6c7dd}
.blocks-views [aria-pressed=true],.flow-views [aria-pressed=true]{background:#153d49;color:var(--cyan);border-color:#398c9c}
.blocklyToolbox{color:#d4def2}
.flow-toolbar span,.flow-views span,.flow-hint,.flow-status{color:var(--muted);border-color:var(--line)}
.flow-canvas{background-color:#0b1122;background-image:radial-gradient(#324768 .8px,transparent .8px)}
.flow-edge{stroke:#8299bd}.flow-canvas marker path{fill:#8299bd}
.flow-node>rect,.flow-node>polygon{fill:#3c3240;stroke:#d6b977}
.flow-call>rect{fill:#2c2450;stroke:#b09bff}.flow-inner{stroke:#b09bff}
.flow-declare>rect,.flow-assign>rect{fill:#393023;stroke:#ebca7b}
.flow-if>polygon{fill:#3d213e;stroke:#f092cc}
.flow-while>polygon,.flow-for>polygon,.flow-do>polygon{fill:#3c2927;stroke:#f8b57e}
.flow-input>polygon{fill:#17344c;stroke:#78cfff}.flow-output>polygon{fill:#1c3934;stroke:#80e8ba}
.flow-comment>rect{fill:#1d2639;stroke:#8ea0bd}
.flow-node text,.flow-terminal text{fill:#edf3ff}
.flow-node-kind{opacity:.8}.flow-branch-label{fill:#bdd0e9}
.flow-terminal rect{fill:#352650;stroke:#bc9dff}
.flow-insert circle{fill:#15243c;stroke:#617ca1}.flow-insert path{stroke:#a4bad9}
.flow-insert:hover circle,.flow-insert:focus circle{fill:#20576a;stroke:var(--cyan)}
.flow-node:hover>rect,.flow-node:hover>polygon,.flow-node:focus>rect,.flow-node:focus>polygon,.flow-node.is-selected>rect,.flow-node.is-selected>polygon{stroke:var(--cyan);filter:drop-shadow(0 0 4px #52e8ff40)}
.flow-node.is-current>rect,.flow-node.is-current>polygon{fill:#19483f;stroke:var(--lime)}
.flow-insert.is-drop-target circle{fill:#1b5447;stroke:var(--lime)}.flow-insert.is-drop-invalid circle{fill:#54213c;stroke:#ff85bf}
.flow-zoom{background:#111c30f5;border-color:#465d80;box-shadow:0 4px 16px #0008}
.flow-tools button,.flow-zoom button,.flow-shape-picker button,.flow-api-list button{background:#15213a;color:var(--ink);border-color:#405577}
.flow-tools button:hover:not(:disabled),.flow-zoom button:hover,.flow-shape-picker button:hover,.flow-shape-picker button:focus{background:#1d374b;border-color:var(--cyan)}
.flow-dialog h2{font:700 25px var(--display)}
.flow-dialog>p,.flow-dialog-close,.flow-shape-picker small,.flow-api-list span,.flow-api-list small,.flow-api-picker>small{color:var(--muted)}
.flow-field input,.flow-field select,.flow-api-picker input{background:#0a1223;color:var(--ink);border-color:#415677}
.flow-api-picker{border-color:#405577}
.flow-drag-preview{background:#15383e;color:#d5fff4;border-color:var(--lime)}
.flow-drag-preview.is-invalid,.flow-status.error{background:#351a30;color:#ffb6d4;border-color:#ff85bf}
/* Manual and legal pages keep the same shell and readable long-form text. */
.api-reference{--ref-ink:#edf3ff;--ref-accent:#52e8ff;color:var(--ink)}
.ref-intro{background:#15283b}
.ref-muted,.ref-count,.ref-category{color:#a4b1cd}
.api-reference button{background:#1a3046;color:#a1edff;border-color:#426481}
.ref-body{border-color:var(--line)}
.site-notice{background:#15283b;color:var(--ink)}
.api-reference h2,.api-reference h3{font-family:var(--display);font-weight:700}
.ref-top{border-color:var(--line)}.ref-top a{color:var(--cyan)}.ref-top button{color:var(--ink);border-color:#52678b}
.ref-card,.ref-rules,.ref-recipe,.ref-legend{background:#111a2c;color:var(--ink);border-color:#344763}
.ref-card summary,.ref-rules summary,.ref-recipe summary,.ref-legend summary{background:#162139;color:var(--ink);border-color:var(--line)}
.ref-card summary:hover{background:#20324c}
.ref-card summary::before{color:var(--cyan)}
.api-reference p,.api-reference li,.ref-heading p{color:#b6c6e0}
.api-reference code,.ref-signature{color:var(--cyan)}
.api-reference pre{background:#090f20;color:#cce6ff;border-color:var(--line)}
.api-reference th,.api-reference td{border-color:#344763;color:#b9cbe3}
.api-reference th{background:#17223a;color:var(--ink)}
.ref-tools input,.ref-tools select,.ref-selectors select{background:#0b1325;color:var(--ink);border-color:#405677}
.ref-link,.ref-tag,.ref-kind,.ref-return{background:#1b2e43;color:#91e5f3;border-color:#395675}
.legal-header{background:linear-gradient(110deg,#111d32,#21152f);border-bottom:1px solid #56658a;color:var(--ink)}
.legal-header>a{font-family:var(--display);color:var(--cyan)}
.legal-page{color:#c6d4eb;font-family:var(--body);line-height:1.8}
.legal-page h1,.legal-page h2{color:var(--ink);font-family:var(--display);font-weight:700}
.legal-page a{color:var(--cyan)}
.legal-date{color:var(--muted)}
.legal-page .lead{background:#15253b;color:#d0e6f6;border-color:var(--cyan)}
.legal-page th,.legal-page td{border-color:#40516c}
.legal-page th{background:#17253d}
@media(min-width:1350px){.header #nav{justify-content:flex-end}.header{gap:14px 18px}}
@media(max-width:1150px){.hero h1{font-size:68px}.brand{font-size:23px}.nav-button{font-size:10px}.hero{gap:30px}}
@media(max-width:850px){
 .hero{gap:36px}.hero h1{font-size:clamp(47px,10vw,78px);letter-spacing:-2px}.hero-screen{transform:none}
 .page-heading{padding-top:12px}.manifesto>div{padding:20px!important}.manifesto h3{font-size:20px}
}
@media(max-width:550px){
 .header{padding:16px 5%}.header #nav{gap:4px}.header .nav-button{font-size:10px;padding:9px 10px}
 .brand{font-size:21px;letter-spacing:-.8px}.legal-notice{font-size:10px}
 .page{padding:22px 5% 35px}.hero{margin-top:18px;margin-bottom:30px}.hero h1{font-size:clamp(38px,10.4vw,57px);letter-spacing:-1.8px}
 .hero p{font-size:13px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-tag{font-size:8px;padding:9px;right:10px}
 .manifesto>div{padding:20px!important}.manifesto h3{font-size:22px}
 .page-heading h1{font-size:34px;letter-spacing:-1px}.page-heading{gap:16px}.section-head{gap:12px}
 .robot-card h3{font-size:26px}.card-stats strong{font-size:26px}
 .garage-replays{padding:18px 12px}.garage-replays .section-head h2{font-size:25px}
 .garage-replays .history-score{font-size:26px}.garage-replays .history-details strong{font-size:11px}
 .garage-replays .replay-cta{font-size:9px;padding:7px 6px}.match-ribbon{font-size:9px}
 .modal-top h2{font-size:25px}dialog{padding:24px 20px}
 .scoreboard{padding:15px 12px;gap:7px}.scoreboard .team-name{font-size:13px}.score{font-size:24px}
 .podium h3{font-size:22px}.podium>strong{font-size:32px}
 .competition-hero{padding:26px}.competition-hero h1{font-size:35px}
 .mission-intro h2{font-size:28px}.admin-heading h1{font-size:36px}
 .admin-metric strong{font-size:35px}.admin-panel h2{font-size:23px}
}
@media(max-width:380px){
 .garage-replays .history-item:has(.match-ribbon) .history-score{padding-top:26px}
}
@media(prefers-reduced-motion:reduce){
 .fade-in{animation:none}button,.btn,.robot-card,.history-item{transition:none}.btn:hover{transform:none}
}
@media print{
 :root{color-scheme:light;--ink:#15202b;--paper:white;--card:white;--muted:#46515f;--line:#ccd0d6;--cyan:#00536c}
 body,.ref-page{background:white!important;color:#15202b}
 .legal-page,.api-reference,.api-reference p,.api-reference li,.api-reference td,.api-reference th{color:#15202b}
 .api-reference pre,.ref-card,.ref-rules,.ref-recipe,.ref-legend,.ref-card summary,.ref-rules summary,.ref-recipe summary,.ref-legend summary,.legal-page .lead{background:#f4f5f7;color:#15202b}
 .api-reference code,.legal-page a{color:#00536c}h1,h2,h3{text-shadow:none!important}
}

.home-demo-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 18px 12px;position:relative;z-index:1}.home-demo-controls label{display:grid;gap:7px;color:#b7c9e1;font-size:11px;min-width:0}.home-demo-controls select{width:100%;min-width:0;min-height:42px;padding:9px;border:1px solid #405979;border-radius:6px;background:#132238;color:#edf5ff;font:inherit}.home-demo-controls .btn{grid-column:1/-1;justify-content:center}.home-demo-score{text-align:center;padding:8px 16px;color:#a7ff44;font-size:13px;overflow-wrap:anywhere}.hero .home-demo-note{margin:0;padding:10px 18px 18px;font-size:11px;line-height:1.6;color:#a9b9d3}.home-demo-controls select:focus-visible{outline:2px solid #52e8ff;outline-offset:2px}.hero-screen:has(.home-demo-controls) .hero-tag{display:none}
