.teaching-rail{color:#e2ecf5;background:#101d28;border:1px solid #315468;border-radius:10px;flex-shrink:0;margin:8px 10px}.teaching-rail header{justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.teaching-kicker{color:#70dcee;letter-spacing:.12em;margin-bottom:5px;font:10px ui-monospace,monospace;display:block}.teaching-rail strong{font-size:13px}.teaching-rail small{color:#a1b3c3;margin-left:12px;font-size:11px;font-weight:400}.teaching-rail button{color:#a4f1f6;cursor:pointer;background:#132b38;border:1px solid #3b6172;border-radius:6px;padding:7px 10px;font-size:12px}.teaching-rail button:focus-visible{outline-offset:3px;outline:2px solid #22d3ee}.teaching-body{border-top:1px solid #315468;max-height:min(32vh,300px);padding:0 14px 10px;overflow-y:auto}.teaching-note{color:#a1b3c3;font-size:11px}.teaching-body ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.teaching-body li{border:1px solid #0000;border-radius:6px;gap:10px;padding:10px;display:flex}.teaching-body li.current{background:#172e3d;border-color:#32677c}.teaching-body li.complete .teaching-number{color:#34d399;border-color:#34d399}.teaching-number{border:1px solid #547287;border-radius:50%;flex:0 0 24px;place-items:center;height:24px;font:12px ui-monospace,monospace;display:grid}.teaching-body p{color:#b6c7d7;margin:5px 0 8px;font-size:12px;line-height:1.5}.teaching-body b{color:#70dcee;font:10px ui-monospace,monospace}@media (width<=480px){.teaching-rail small{margin:4px 0 0;display:block}.teaching-body{max-height:28vh}}.debrief-page{color:#e2e8f0;background:#020617;height:100%;overflow-y:auto}.debrief{max-width:1120px;margin:0 auto;padding:48px 32px 72px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.6}.debrief-header{margin-bottom:32px}.debrief-eyebrow,.debrief-section-label{color:#22d3ee;letter-spacing:.13em;font:11px ui-monospace,monospace}.debrief h1{letter-spacing:-.035em;max-width:850px;margin:18px 0 12px;font-size:clamp(30px,4vw,48px);font-weight:600;line-height:1.12}.debrief h2{letter-spacing:-.02em;margin:18px 0 12px;font-size:24px;font-weight:600;line-height:1.25}.debrief h3{margin:0 0 8px;font-size:15px;font-weight:600}.debrief h4{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:12px 0;font-size:11px}.debrief p{color:#a8b7cb;margin:8px 0 16px;font-size:14px}.debrief strong{font-weight:600}.debrief-panel{background:#08111f;border:1px solid #243247;border-radius:12px;margin-bottom:20px;padding:28px}.debrief-section-label{margin-bottom:20px}.debrief-columns{grid-template-columns:1fr 1fr;gap:28px;margin-top:24px;display:grid}.debrief-claim{border-left:1px solid #243247;padding-left:28px}.debrief-fault+.debrief-fault{border-top:1px solid #243247;margin-top:18px;padding-top:18px}.debrief p.debrief-location{color:#22d3ee;font:12px/1.6 ui-monospace,monospace}.debrief-badge{color:#b6c9df;border:1px solid #33475f;border-radius:5px;padding:3px 8px;font-size:11px;line-height:1.5;display:inline-block}.debrief-badge.correct{color:#34d399;background:#0b2625;border-color:#24594d}.debrief-badge.partial,.debrief-badge.incorrect{color:#fcd088;border-color:#645235}.debrief-walkthrough,.debrief-actions{padding:0;list-style:none}.debrief-walkthrough>li{border-top:1px solid #243247;grid-template-columns:36px 1fr;gap:14px;padding:22px 0;display:grid}.debrief-step-number{color:#22d3ee;padding-top:3px;font:14px ui-monospace,monospace}.debrief-step-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.debrief-step-heading h3{margin:0}.debrief-time{color:#94a3b8;white-space:nowrap;font:12px ui-monospace,monospace}.debrief-total-time{border-top:1px solid #243247;justify-content:space-between;padding-top:18px;font-size:13px;display:flex}.debrief p.debrief-legend{font-size:12px}.debrief-actions>li{background:#0f1d2e;border-left:2px solid #64748b;border-radius:0 6px 6px 0;margin:8px 0;padding:14px 16px;scroll-margin-top:20px}.debrief-actions>li:target{outline:2px solid #22d3ee}.debrief-actions>li.action-on-path{border-color:#34d399}.debrief-actions>li.action-useful{border-color:#22d3ee}.debrief-actions>li.action-violation,.debrief-actions>li.action-unnecessary{border-color:#fbbf24}.debrief-action-meta{color:#94a3b8;justify-content:space-between;margin-bottom:8px;font:11px ui-monospace,monospace;display:flex}.debrief-actions strong{font-size:13px}.debrief-actions p{margin-bottom:0;font-size:12px}.debrief-callout{background:#0f1d2e;border:1px solid #243247;border-radius:8px;margin-top:24px;padding:20px}.debrief-callout li{color:#a8b7cb;margin:8px 0;font-size:13px}.debrief-evidence{border-top:1px solid #243247;padding:24px 0 8px}.debrief-evidence .debrief-columns{margin-top:0}.debrief a{color:#22d3ee}.debrief a:focus-visible{outline-offset:4px;outline:2px solid #22d3ee}.debrief .evidence-link{overflow-wrap:anywhere;margin:7px 0;font-size:12px;display:block}.debrief-score-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.debrief-score{color:#34d399;letter-spacing:-.04em;white-space:nowrap;font-size:48px;font-weight:600}.debrief-score small{color:#94a3b8;letter-spacing:0;margin-left:8px;font-size:14px}.debrief-axes{grid-template-columns:1fr 1fr;gap:24px;margin:24px 0;display:grid}.debrief progress{appearance:none;background:#243247;border:0;border-radius:3px;width:100%;height:6px;margin:12px 0 0}.debrief progress::-webkit-progress-bar{background:#243247;border-radius:3px}.debrief progress::-webkit-progress-value{background:#22d3ee;border-radius:3px}.debrief progress::-moz-progress-bar{background:#22d3ee}.debrief-axes p{font-size:12px}.debrief a.debrief-primary{color:#020617;background:#22d3ee;border-radius:6px;padding:10px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.debrief-secondary{margin:12px 18px;font-size:13px;display:inline-block}.debrief-storage-error{color:#fcd088;padding:16px 32px}.debrief-compare{grid-template-columns:1fr 1fr;display:grid}.debrief-compare>div{min-width:0}.debrief-compare .debrief-columns,.debrief-compare .debrief-axes{grid-template-columns:1fr}@media (width<=850px){.debrief-compare{display:block}}@media (width<=600px){.debrief{padding:28px 14px 48px}.debrief-panel{padding:20px 16px}.debrief-columns,.debrief-axes{grid-template-columns:1fr;gap:18px}.debrief-claim{border-top:1px solid #243247;border-left:0;padding:18px 0 0}.debrief h2{font-size:21px}.debrief-step-heading{flex-wrap:wrap;gap:8px}.debrief-score-heading{flex-direction:column;align-items:flex-start;gap:0}.debrief-walkthrough>li{grid-template-columns:25px 1fr;gap:8px}}@font-face{font-family:Orbitron;src:url(/fonts/orbitron-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Rajdhani;src:url(/fonts/rajdhani-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Rajdhani;src:url(/fonts/rajdhani-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{--void:#050b14;--bg:#050b14;--bg-raised:#0a0f1d;--bg-panel:#0f172a;--surface:#1e293b9e;--surface-solid:#1e293b;--surface-hi:#1e293bcc;--cyan:#00f0ff;--cyan-soft:#38bdf8;--cyan-dim:#00f0ff33;--cyan-line:#00f0ff38;--orange:#ff6b00;--orange-soft:#f97316;--orange-dim:#ff6b002e;--orange-line:#ff6b0052;--green:#34d399;--amber:#fbbf24;--red:#ff4d5e;--ink:#e2f1ff;--ink-soft:#7c93ae;--ink-faint:#445a72;--font-hero:"Orbitron", "Rajdhani", "Bahnschrift", "Segoe UI", system-ui, sans-serif;--font-display:"Rajdhani", "Chakra Petch", "Bahnschrift", "DIN Alternate", "Segoe UI", system-ui, sans-serif;--font-body:"Inter", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Share Tech Mono", ui-monospace, "Cascadia Mono", "SF Mono", Consolas, monospace;--shadow-panel:0 8px 32px #0000008c;--shadow-inset:inset 0 0 12px #00f0ff0f;--glow-cyan:0 0 20px #00f0ff59;--glow-orange:0 0 20px #ff6b0061;--radius:3px;--touch-min:44px;--panel:var(--bg-panel);--panel-2:var(--bg-raised);--term-bg:var(--void);--line:var(--cyan-line);--bezel:var(--cyan-line);--text:var(--ink);--muted:var(--ink-soft);--grid:#00f0ff0d;--trace:var(--orange-soft);--cursor-a:var(--green);--cursor-b:var(--cyan);--marker:var(--red);--noise:var(--ink-faint);--led-ok:var(--green);--led-warn:var(--amber);--led-alarm:var(--red);--seg:var(--cyan);--font-chrome:var(--font-body);--font-label:var(--font-display);--blue:var(--cyan-soft)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--void);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background-image:radial-gradient(70% 50% at 15% -5%,#00f0ff12,#0000 70%),radial-gradient(60% 50% at 90% 105%,#ff6b000f,#0000 70%),linear-gradient(#00f0ff07 1px,#0000 1px),linear-gradient(90deg,#00f0ff07 1px,#0000 1px);background-size:auto,auto,48px 48px,48px 48px;background-attachment:fixed}.scan{pointer-events:none;z-index:9;background:repeating-linear-gradient(0deg,#00f0ff06 0 1px,#0000 1px 3px);position:fixed;inset:0}.glass{background:var(--surface);-webkit-backdrop-filter:blur(12px)saturate(120%);border:1px solid var(--cyan-line);border-radius:var(--radius);box-shadow:var(--shadow-panel), var(--shadow-inset)}.glow-blue{box-shadow:var(--glow-cyan), var(--shadow-inset);border-color:#00f0ff8c}.glow-orange{box-shadow:var(--glow-orange), inset 0 0 12px #ff6b0014;border-color:#ff6b0099}.notch{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.eyebrow{font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;color:var(--orange);font-size:10px;font-weight:700}.hud-title{font-family:var(--font-hero);letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 0 18px #00f0ff66;font-weight:700}.mono{font-family:var(--font-mono)}.pulse-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 8px var(--green);border-radius:50%;animation:1.8s ease-in-out infinite pulseDot}.pulse-dot.warn{background:var(--amber);box-shadow:0 0 8px var(--amber)}.pulse-dot.alarm{background:var(--red);box-shadow:0 0 8px var(--red)}.pulse-dot.idle{background:var(--ink-faint);box-shadow:none;animation:none}.bezel{background:var(--surface);-webkit-backdrop-filter:blur(10px)saturate(115%);border:1px solid var(--cyan-line);border-radius:var(--radius);box-shadow:var(--shadow-panel), var(--shadow-inset);position:relative}.bezel:before,.bezel:after{content:"";border:1px solid var(--cyan);opacity:.75;pointer-events:none;filter:drop-shadow(0 0 4px #00f0ffb3);width:14px;height:14px;position:absolute}.bezel:before{border-bottom:none;border-right:none;top:-1px;left:-1px}.bezel:after{border-top:none;border-left:none;bottom:-1px;right:-1px}.bezel.flat:before,.bezel.flat:after{display:none}.bezel.alert{border-color:var(--orange-line);box-shadow:var(--glow-orange)}.bezel.alert:before,.bezel.alert:after{border-color:var(--orange);filter:drop-shadow(0 0 4px #ff6b00b3)}*{scrollbar-width:thin;scrollbar-color:#00f0ff59 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0a0f1d99}::-webkit-scrollbar-thumb{background:linear-gradient(#00f0ff73,#38bdf84d);border:1px solid #00f0ff40;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#00f0ff99}button{font-family:var(--font-display);color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--cyan);outline-offset:2px;box-shadow:0 0 14px #00f0ff66}::selection{background:#00f0ff47}.hud-btn{--accent:var(--orange);--accent-rgb:255, 107, 0;min-height:var(--touch-min);min-width:var(--touch-min);font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--accent);background:rgba(var(--accent-rgb), .08);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 0 14px rgba(var(--accent-rgb), .18), inset 0 0 10px rgba(var(--accent-rgb), .06);text-shadow:0 0 10px rgba(var(--accent-rgb), .5);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:12px;font-weight:700;transition:background .16s,box-shadow .2s,color .16s,transform 90ms;display:inline-flex;position:relative;overflow:hidden}.hud-btn:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff29,#0000);width:28%;position:absolute;top:0;bottom:0;transform:translate(-160%)}.hud-btn:hover:not(:disabled):after{animation:.62s ease-out sweep}.hud-btn:hover:not(:disabled){background:rgba(var(--accent-rgb), .16);box-shadow:0 0 26px rgba(var(--accent-rgb), .45), inset 0 0 14px rgba(var(--accent-rgb), .12)}.hud-btn:active:not(:disabled){transform:translateY(1px)}.hud-btn.is-on{background:rgba(var(--accent-rgb), .22);box-shadow:0 0 22px rgba(var(--accent-rgb), .4), inset 0 0 16px rgba(var(--accent-rgb), .14)}.hud-btn:disabled{color:var(--ink-faint);box-shadow:none;text-shadow:none;cursor:default;background:0 0;border-color:#7c93ae38}.hud-btn--cyan{--accent:var(--cyan);--accent-rgb:0, 240, 255}.hud-chip{--accent:var(--cyan);--accent-rgb:0, 240, 255;min-height:var(--touch-min);font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;color:var(--ink-soft);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #7c93ae3d;padding:7px 14px;font-size:11px;font-weight:700;transition:color .16s,border-color .16s,background .16s,box-shadow .2s}.hud-chip:hover:not(:disabled){color:var(--accent);border-color:rgba(var(--accent-rgb), .55)}.hud-chip.is-on{color:var(--accent);border-color:var(--accent);background:rgba(var(--accent-rgb), .1);box-shadow:0 0 16px rgba(var(--accent-rgb), .22), inset 0 0 12px rgba(var(--accent-rgb), .08);text-shadow:0 0 10px rgba(var(--accent-rgb), .6)}.hud-chip:disabled{opacity:.35;cursor:default}.hud-chip--orange{--accent:var(--orange);--accent-rgb:255, 107, 0}.panel-badge{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;border:1px solid var(--cyan-line);color:var(--cyan);background:#00f0ff12;border-radius:2px;padding:3px 8px;font-size:9px}.panel-badge.alert{border-color:var(--orange-line);color:var(--orange);background:#ff6b0014}.dock-back{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--cyan-line);font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);background:#0a0f1dd9;align-items:center;gap:12px;padding:0 8px;font-size:11px;display:flex}.dock-back button,.held-grip button{border:1px solid var(--cyan-line);border-radius:var(--radius);min-width:64px;min-height:44px;color:var(--cyan);letter-spacing:2px;background:0 0;padding:6px 12px;font-size:11px;font-weight:700;transition:box-shadow .16s,border-color .16s,background .16s}.dock-back button:hover,.held-grip button:hover{border-color:var(--cyan);box-shadow:var(--glow-cyan);background:#00f0ff14}.held-body{touch-action:none;transition:transform .25s cubic-bezier(.4,0,.2,1)}.held-body.is-stowed{pointer-events:none;transform:translateY(calc(100% + 40px))}.held-body.is-expanded{border-radius:0!important;padding:6px!important;inset:0!important}.held-body [data-device-screen]{touch-action:pan-y}.held-grip{color:var(--ink-soft);flex-shrink:0;justify-content:center;align-items:center;gap:12px;display:flex}.held-raise{border:1px solid var(--cyan);border-radius:var(--radius) var(--radius) 0 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:50px;color:var(--ink);text-align:left;font-family:var(--font-display);background:#0f172ae6;border-bottom:none;align-items:center;gap:10px;padding:8px 12px;display:flex;position:absolute;bottom:0;left:6px;right:6px;box-shadow:0 0 22px #00f0ff38,inset 0 0 14px #00f0ff14}.held-raise>span:last-child{font-size:11px;font-family:var(--font-mono);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.held-raise strong{letter-spacing:2px;text-transform:uppercase;color:var(--cyan);flex-shrink:0;font-size:12px}.held-ports{flex-wrap:wrap}.held-ports button{min-height:44px!important}@media (width<=480px){.held-body{gap:6px!important;padding:10px!important;top:48px!important}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.86)}}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(300%)}}.pulse-ring{transform-origin:50%;animation:2.4s ease-in-out infinite pulseRing}@keyframes pulseRing{0%,to{opacity:.85}50%{opacity:.28}}@keyframes lightsUp{0%{opacity:0}to{opacity:1}}@keyframes traceDraw{0%{stroke-dashoffset:1400px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.held-body{transition:none}.scan{display:none}.pulse-dot{animation:none}*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}
