@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101619;--card:#172024;--line:#2b3539;--muted:#91a1a5;--text:#ecf1e8;--mint:#b4edba;--gold:#efce7e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:#233035;color:var(--text);padding:10px 14px}button:hover{border-color:var(--mint)}button:disabled{opacity:.5;cursor:wait}a{color:var(--mint);text-decoration:none}header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:32px;padding:0 4vw}.brand{font:600 16px 'Space Grotesk',sans-serif;letter-spacing:1.5px;color:var(--text)}.brand span{font-size:11px;color:var(--muted);margin-left:12px}nav{display:flex;gap:24px;font-size:12px;margin-left:auto}.node{font:10px 'Space Grotesk';letter-spacing:1px;color:var(--mint)}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:40px 4vw 32px}.eyebrow,.section-label{font:500 10px 'Space Grotesk',sans-serif;letter-spacing:1.7px;color:var(--mint)}h1{font:500 clamp(30px,3.6vw,54px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:12px 0 0}h1 em{font-style:normal;color:var(--gold)}.intro>p{color:var(--muted);line-height:1.8;margin-bottom:0}h2{font:500 19px 'Space Grotesk',sans-serif;margin:10px 0 14px}main{display:grid;grid-template-columns:minmax(190px,240px) minmax(350px,1fr) minmax(220px,280px);margin:0 3vw;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card)}aside{padding:25px 22px}.left{border-right:1px solid var(--line)}.right{border-left:1px solid var(--line)}.muted{color:var(--muted);line-height:1.65}.small{font-size:11px}.spec{display:flex;flex-direction:column;margin:22px 0;gap:4px}.spec strong{font:500 30px 'Space Grotesk',sans-serif;letter-spacing:-1px}.spec span{color:var(--muted);font-size:11px}.divider{height:1px;background:var(--line);margin:24px 0}.segmented{display:flex;margin-top:14px}.segmented button{flex:1;padding:10px 5px;font-size:12px;border-radius:0}.segmented button:first-child{border-radius:7px 0 0 7px}.segmented button:last-child{border-radius:0 7px 7px 0}.segmented .selected{color:#12241b;background:var(--mint)}.field{display:block;color:var(--muted);font-size:11px;margin:18px 0 12px}.field input,.field select{width:100%;background:#10191c;border:1px solid var(--line);border-radius:6px;padding:10px;color:var(--text);margin-top:8px}.primary{background:var(--mint);color:#173225;font-weight:700;border:0}#new-game{width:100%;font-size:12px}.ghost-info{display:flex;align-items:center;gap:12px;margin:16px 0}.ghost-info i{width:23px;height:25px;border-radius:12px 12px 3px 3px}.red{background:#f58680}.pink{background:#c6a3e3}.ghost-info strong,.ghost-info span{display:block;font-size:12px}.ghost-info span{font-size:10px;color:var(--muted);margin-top:4px}.arena-panel{min-width:0;background:#101a20}.arena-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 8px}.arena-head h2{font-size:21px;margin:6px 0}.view-buttons button{font-size:11px;background:transparent}.scoreboard{display:flex;justify-content:space-between;padding:16px 24px}.scoreboard span{display:block;font:9px 'Space Grotesk',sans-serif;letter-spacing:1.5px;color:var(--muted);margin-bottom:5px}.scoreboard b{font:500 23px 'Space Grotesk',sans-serif;color:var(--gold)}#scene{position:relative;width:100%;height:clamp(350px,40vw,640px);background:radial-gradient(ellipse at center,#1d343e,#0c151d 80%)}#arena{width:100%;height:100%;display:block;outline:none}#arena-loading{position:absolute;inset:0;display:grid;place-items:center;background:#102029;color:var(--mint)}.playback{display:flex;align-items:center;gap:10px;padding:15px 20px;border-top:1px solid var(--line)}.playback button{padding:8px 12px;font-size:12px}#play{background:var(--mint);color:#193324;border:0}.playback select{margin-left:auto;max-width:82px;border:1px solid var(--line);background:#16252b;color:var(--text);padding:7px;border-radius:6px;font-size:11px}#game-message{font-size:11px;color:var(--muted)}.arena-caption{font-size:10px;color:var(--muted);text-align:center;padding:0 12px 15px}.touch-controls{display:flex;justify-content:center;gap:8px;padding:0 0 15px}.touch-controls button{padding:6px 16px}.reward-card{border:1px solid #41503d;background:#24342a;border-radius:10px;padding:18px;margin-top:18px;transition:background .2s}.reward-card span{font-size:9px;letter-spacing:1.6px;color:var(--mint)}.reward-card strong{display:block;font:500 43px 'Space Grotesk',sans-serif;margin:5px 0;color:var(--mint)}.reward-card small{font-size:10px;color:#c2d1c0}.reward-card.bad{background:#382b2a;border-color:#75473f}.reward-card.bad strong{color:#f69b8e}.prediction{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:15px 0}.prediction b{color:var(--gold)}.reward-list span{display:flex;justify-content:space-between;line-height:2.1;font-size:11px;color:#bdc9ca}.reward-list b{color:var(--mint)}.reward-list .negative{color:#f49b8d}.action-values{display:flex;gap:5px;margin:12px 0}.action-values div{flex:1;text-align:center;border:1px solid var(--line);padding:7px 2px;border-radius:5px;color:var(--muted);font-size:10px}.action-values strong{display:block;margin-top:4px;color:var(--text)}.action-values .chosen{border-color:var(--mint);background:#243b32}#spikes{width:100%;height:68px;background:#10191d;border-radius:5px}.training{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:48px 4vw}.training h2{font-size:27px}.training-copy>p{max-width:550px}.results{display:flex;gap:35px;margin:26px 0}.results strong{display:block;font:500 30px 'Space Grotesk',sans-serif;color:var(--gold)}.results span{display:block;color:var(--muted);font-size:10px;margin-top:8px}.chart-head{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;margin:12px 0}.chart-head b{font-weight:400;color:var(--muted);letter-spacing:0}#chart{width:100%;height:180px;background:#141e22;border-radius:9px}.train-buttons{display:flex;align-items:center;gap:15px;margin-top:18px;font-size:11px}details{margin:0 4vw 30px;padding:18px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12px;line-height:1.8}summary{cursor:pointer;color:var(--text)}footer{display:flex;justify-content:space-between;padding:25px 4vw;border-top:1px solid var(--line);font-size:10px;color:var(--muted);letter-spacing:1px}.arena-panel:fullscreen,.arena-panel.viewer-expanded{background:#101a20!important} .arena-panel:fullscreen #scene,.arena-panel.viewer-expanded #scene{flex:1!important}.arena-panel:fullscreen .scoreboard,.arena-panel.viewer-expanded .scoreboard{flex-shrink:0}.arena-panel:fullscreen .arena-head,.arena-panel.viewer-expanded .arena-head{min-height:65px!important}.arena-panel:fullscreen .touch-controls,.arena-panel.viewer-expanded .touch-controls{display:none}
@media(max-width:1100px){main{grid-template-columns:190px 1fr}.right{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.right>.divider{display:none}#scene{height:520px}.brand span{display:none}}@media(max-width:680px){header{height:64px;padding:0 18px}.node{display:none}nav{gap:12px;font-size:10px}.brand{font-size:12px}.intro{padding:25px 20px}.intro>p{display:none}main{display:flex;flex-direction:column}.left{order:2;border:0;border-top:1px solid var(--line)}.left .spec,.left .ghost-info,.left>.divider{display:none}.right{display:block;order:3}#scene{height:95vw}.training{grid-template-columns:1fr;padding:30px 20px}.results{gap:20px}footer span{display:none}.playback{padding:12px 10px;gap:6px}#game-message{font-size:10px}.arena-head{padding:18px}.scoreboard{padding:14px 18px}}

#fly-portrait{display:block;width:100px;height:76px;margin:5px auto -10px}.cyan{background:#7bdbe2}.orange{background:#efa65f}.ghost-info small{font-size:8px;font-weight:400;color:var(--mint);margin-left:6px;text-transform:uppercase}#ghost-mode{display:block;font-size:9px;letter-spacing:1.6px;color:var(--mint);margin-top:5px}#scene{height:clamp(560px,58vw,820px);background:#050a1d}.arena-head h2{font-size:20px}.ghost-info{margin:13px 0}@media(max-width:680px){#scene{height:112vw;min-height:400px}.left .ghost-info{display:flex}}

#training-length{background:#16252b;border:1px solid #40554a;border-radius:6px;padding:10px;color:#d5e9cb;max-width:135px;font-size:11px}.train-buttons{flex-wrap:wrap}
