:root{--bg:#0a0e1a;--panel:#131826;--panel-2:#1a2030;--border:#232a3d;--text:#e5e7eb;--muted:#94a3b8;--accent:#7c3aed;--accent-2:#06b6d4;--accent-glow:#7c3aed73;--success:#10b981;--error:#ef4444;--warn:#f59e0b;--code-bg:#0d1220}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;overflow:hidden}button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:13px;transition:all .15s}button:hover{background:#242c42;border-color:#2f3850}button.primary{background:linear-gradient(135deg, var(--accent), #5b21b6);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}button.primary:hover{filter:brightness(1.1)}button:disabled{opacity:.4;cursor:not-allowed}#boot-overlay{z-index:1000;background:#0a0e1af5;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}#boot-overlay.hidden{opacity:0;pointer-events:none}.boot-card{text-align:center;max-width:360px;padding:40px}.boot-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;margin:0 auto 24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.boot-title{margin-bottom:8px;font-size:18px;font-weight:600}.boot-detail{color:var(--muted);font-size:13px}.boot-reload-btn{margin-top:20px;padding:8px 18px;font-size:14px}#topbar{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:16px;height:56px;padding:0 16px;display:flex}.brand{align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.logo{color:var(--accent);text-shadow:0 0 10px var(--accent-glow);font-size:20px}.day-chip{background:var(--panel-2);color:var(--muted);border-radius:12px;margin-left:4px;padding:3px 10px;font-size:12px;font-weight:500}.steps{flex:1;justify-content:center;gap:6px;display:flex}.step-dot{background:var(--panel-2);border:1px solid var(--border);width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:11px;transition:all .15s;display:flex}.step-dot.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 8px var(--accent-glow)}.step-dot.done{background:var(--success);border-color:var(--success);color:#fff}.actions{gap:8px;display:flex}main{background:var(--border);grid-template-columns:320px 1fr 520px;gap:1px;height:calc(100vh - 56px);display:grid}#lesson-pane{background:var(--panel);flex-direction:column;display:flex;overflow:hidden}#lesson-content{flex:1;padding:24px 22px;line-height:1.55;overflow-y:auto}#lesson-content h2{background:linear-gradient(135deg, var(--accent-2), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 14px;font-size:20px}#lesson-content p{color:#d1d5db;margin:0 0 12px}#lesson-content code,#lesson-content pre{font-family:SF Mono,Consolas,Monaco,monospace}#lesson-content code{background:var(--code-bg);color:var(--accent-2);border-radius:4px;padding:1px 6px;font-size:12.5px}#lesson-content pre{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;margin:10px 0;padding:12px 14px;font-size:12.5px;line-height:1.5;position:relative;overflow-x:auto}.insert-btn{background:var(--accent);color:#fff;cursor:pointer;opacity:.85;border:none;border-radius:4px;padding:3px 9px;font-size:11px;position:absolute;top:8px;right:8px}.insert-btn:hover{opacity:1}.choice-row{flex-wrap:wrap;gap:6px;margin:6px 0 14px;display:flex}.choice-row button{padding:6px 10px;font-size:18px}.reveal-btn{background:var(--panel-2);border:1px dashed var(--border);text-align:center;width:100%;color:var(--muted);cursor:pointer;border-radius:6px;margin:8px 0;padding:10px}.reveal-btn:hover{color:var(--text);border-color:var(--accent)}.callout{border-left:3px solid var(--accent-2);color:#c7d2fe;background:#06b6d414;border-radius:4px;margin:12px 0;padding:10px 14px;font-size:13px}.lesson-sequence-highlight{background:#06b6d41a;border-radius:8px;animation:1.5s ease-in-out infinite lesson-sequence-pulse;box-shadow:0 0 0 2px #06b6d485,0 0 28px #06b6d43d}.lesson-editor-line-highlight{z-index:40;border:2px solid var(--accent-2);color:#cffafe;white-space:pre;pointer-events:none;background:#082f49d1;border-radius:8px;padding:3px 7px;animation:1.5s ease-in-out infinite lesson-editor-line-pulse;display:none;position:fixed;box-shadow:0 0 0 4px #06b6d429,0 0 26px #06b6d461}.lesson-editor-line-highlight code{color:inherit;background:0 0;padding:0}@keyframes lesson-sequence-pulse{50%{box-shadow:0 0 0 4px #06b6d44d,0 0 34px #06b6d461}}@keyframes lesson-editor-line-pulse{50%{box-shadow:0 0 0 6px #06b6d41f,0 0 34px #06b6d480}}.checklist{margin:10px 0;padding:0;list-style:none}.checklist li{color:#d1d5db;padding:4px 0 4px 22px;position:relative}.checklist li:before{content:"✓";color:var(--success);font-weight:700;position:absolute;left:0}#lesson-nav{border-top:1px solid var(--border);background:var(--panel-2);gap:8px;padding:14px 20px;display:flex}#lesson-nav button{flex:1}#editor-pane{background:var(--panel);flex-direction:column;display:flex;overflow:hidden}.pane-header{background:var(--panel-2);border-bottom:1px solid var(--border);height:38px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 12px;font-size:12px;display:flex}.file-tab{color:var(--text);font-weight:500}.header-right{align-items:center;gap:8px;display:flex}#editor{background:var(--code-bg);color:var(--text);resize:none;tab-size:4;border:none;outline:none;flex:1;padding:16px 18px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:14px;line-height:1.6}.console{border-top:1px solid var(--border);color:#d1d5db;white-space:pre-wrap;background:#060a13;height:110px;padding:8px 14px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:12.5px;overflow-y:auto}.console .ok{color:var(--success)}.console .err{color:var(--error)}.console .info{color:var(--accent-2)}.muted{color:var(--muted);font-size:12px}.intro-tour{border:1px solid var(--border);background:var(--panel-2);border-radius:6px;margin:12px 0 16px;padding:12px}.intro-tour p:last-child{margin-bottom:0}.intro-tour button{margin-top:4px;margin-right:7px}.intro-tour-progress{flex-wrap:wrap;gap:5px;margin:0 0 10px;padding:0;list-style:none;display:flex}.intro-tour-progress li{border:1px solid var(--border);background:var(--code-bg);color:var(--muted);border-radius:4px;padding:3px 6px;font-size:11px}.intro-tour-progress li.done{color:#a7f3d0;border-color:#10b98180}.intro-tour-flow{flex-wrap:wrap;gap:5px;margin:0 0 10px;display:flex}.intro-tour-flow span{border:1px solid var(--border);background:var(--code-bg);color:var(--accent-2);border-radius:4px;padding:4px 7px;font-size:12px;animation:3.2s ease-in-out infinite intro-tour-flow}.intro-tour-flow span:nth-child(2){animation-delay:.35s}.intro-tour-flow span:nth-child(3){animation-delay:.7s}.intro-tour-flow span:nth-child(4){animation-delay:1.05s}.intro-tour-flow span+span:before{content:"→";color:var(--muted);padding-right:7px}.intro-tour-code{margin-bottom:8px}.intro-spotlight-editor-line{z-index:902;white-space:pre;pointer-events:none;border-radius:8px;padding:3px 7px;display:none;position:fixed}.intro-spotlight-editor-line[data-tone=error]{border:2px solid var(--error);color:#fecaca;background:#7f1d1dc2;animation:1.2s ease-in-out infinite intro-editor-error-pulse;box-shadow:0 0 0 4px #ef44442b,0 0 26px #ef44446b}.intro-spotlight-editor-line[data-tone=success]{border:2px solid var(--success);color:#a7f3d0;background:#064e3bc7;animation:1.2s ease-in-out infinite intro-editor-success-pulse;box-shadow:0 0 0 4px #10b9812b,0 0 26px #10b9816b}.intro-spotlight-editor-line code{color:inherit;background:0 0;padding:0}.intro-tour-hint{color:#fde68a!important}.intro-spotlight{z-index:900;pointer-events:none;position:fixed;inset:0}.intro-spotlight-dim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04070e9e;transition:left .28s,top .28s,width .28s,height .28s;position:fixed}.intro-spotlight-ring{border:2px solid var(--accent-2);border-radius:10px;transition:left .28s,top .28s,width .28s,height .28s;animation:1.2s ease-in-out infinite intro-spotlight-pulse;position:fixed;box-shadow:0 0 0 4px #06b6d42e,0 0 28px #06b6d46b}.intro-spotlight-tip{pointer-events:auto;color:var(--text);background:#131826fa;border:1px solid #06b6d48c;border-radius:6px;padding:11px 12px;transition:left .28s,top .28s;position:fixed;box-shadow:0 14px 42px #00000073}.intro-spotlight-tip strong{color:#ecfeff;margin-bottom:4px;font-size:13px;display:block}.intro-spotlight-tip p{color:#d1d5db;margin:0 0 8px;font-size:12px;line-height:1.45}.intro-spotlight-tip p:last-child{margin-bottom:0}.intro-spotlight-tip button{pointer-events:auto;padding:5px 10px;font-size:12px}.intro-spotlight-tip .intro-spotlight-skip{box-shadow:none;color:var(--muted);background:0 0;border:0;margin-left:5px}@keyframes intro-spotlight-pulse{50%{box-shadow:0 0 0 6px #06b6d41f,0 0 34px #06b6d485}}@keyframes intro-editor-error-pulse{50%{box-shadow:0 0 0 6px #ef44441f,0 0 34px #ef444485}}@keyframes intro-editor-success-pulse{50%{box-shadow:0 0 0 6px #10b9811f,0 0 34px #10b98185}}@keyframes intro-tour-flow{15%{border-color:var(--accent-2);color:#ecfeff}}@media (prefers-reduced-motion:reduce){.lesson-sequence-highlight,.lesson-editor-line-highlight{animation:none}.intro-spotlight-dim,.intro-spotlight-ring,.intro-spotlight-tip{transition:none}.intro-spotlight-ring,.intro-spotlight-editor-line,.intro-tour-flow span{animation:none}}.course-welcome{z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050810f5;grid-template-columns:minmax(360px,560px) minmax(360px,560px);justify-content:center;align-items:center;gap:54px;padding:48px;display:grid;position:fixed;inset:0}.course-welcome-copy{max-width:520px}.course-welcome--home{z-index:auto;scroll-snap-align:start;min-height:100vh;position:relative;inset:auto}.course-welcome-kicker{color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.course-welcome h1{letter-spacing:0;margin:0 0 14px;font-size:48px;line-height:1.08}.course-welcome-copy>p:not(.course-welcome-kicker){color:#d1d5db;margin:0 0 24px;font-size:18px;line-height:1.55}.python-start-button{color:#fff;background:linear-gradient(var(--panel), var(--panel)) padding-box, conic-gradient(from var(--welcome-angle), #22d3ee, #facc15, #ec4899, #8b5cf6, #22d3ee) border-box;border:3px solid #0000;border-radius:14px;align-items:center;gap:14px;margin:0 0 12px;padding:5px;font-size:19px;font-weight:650;text-decoration:none;animation:3.5s linear infinite welcome-rainbow;display:inline-flex;position:relative;box-shadow:0 0 30px #22d3ee38,0 18px 52px #00000073}.python-start-button>span:last-child{padding:18px 24px 18px 0}.python-start-button:hover{transform:translateY(-1px);box-shadow:0 0 38px #ec489947,0 20px 58px #00000085}.python-start-button:active{transform:translateY(1px)}.python-mark{background:#10b98124;border:1px solid #34d3996b;border-radius:11px;justify-content:center;align-items:center;width:58px;height:58px;margin:2px;font-size:35px;display:inline-flex;box-shadow:inset 0 0 22px #22d3ee14}.course-welcome-skip{color:var(--muted);cursor:pointer;background:0 0;border:0;padding-left:0;text-decoration:none;display:block}.course-welcome-scene{border:1px solid var(--border);background:#070b15;border-radius:10px;min-height:460px;position:relative;overflow:hidden;box-shadow:0 24px 90px #00000073}.course-welcome-code{border:1px solid var(--border);background:var(--code-bg);color:var(--accent-2);border-radius:7px;gap:8px;padding:18px;font-family:SF Mono,Consolas,Monaco,monospace;animation:4.8s ease-in-out infinite welcome-code-glow;display:grid;position:absolute;top:34px;left:32px;right:32px}.course-welcome-code span:last-child{color:#fde68a}.course-welcome-field{border:1px solid var(--border);background-color:#02050d;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;height:160px;position:absolute;bottom:82px;left:32px;right:32px}.welcome-rocket,.welcome-enemy{font-size:42px;position:absolute}.welcome-rocket{animation:4.8s ease-in-out infinite welcome-rocket;bottom:38px;left:74px}.welcome-enemy{animation:4.8s ease-in-out infinite welcome-enemy-hit;top:30px;right:68px}.welcome-shot{opacity:0;background:#fde68a;border-radius:50%;width:11px;height:11px;animation:4.8s ease-in-out infinite welcome-shot;position:absolute;bottom:90px;left:150px;box-shadow:0 0 14px #fde68a}.course-welcome-console{border-top:1px solid var(--border);color:var(--success);padding-top:14px;font-family:SF Mono,Consolas,Monaco,monospace;animation:4.8s ease-in-out infinite welcome-console;position:absolute;bottom:28px;left:32px;right:32px}@property --welcome-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes welcome-rainbow{to{--welcome-angle:360deg}}@keyframes welcome-code-glow{35%,60%{box-shadow:0 0 24px #06b6d42e}}@keyframes welcome-rocket{0%,42%{transform:translate(0)rotate(0)}48%,72%{transform:translate(28px,-18px)rotate(34deg)}80%,to{transform:translate(0)rotate(0)}}@keyframes welcome-shot{0%,42%{opacity:0;transform:translate(0)}48%{opacity:1}72%{opacity:1;transform:translate(230px,-12px)}74%,to{opacity:0;transform:translate(230px,-12px)}}@keyframes welcome-enemy-hit{0%,70%{opacity:1;filter:none;transform:scale(1)}73%{opacity:1;filter:brightness(1.65);transform:scale(1.18)}78%,92%{opacity:0;filter:blur(4px);transform:scale(.18)}to{opacity:1;filter:none;transform:scale(1)}}@keyframes welcome-console{0%,40%{opacity:.4}56%,to{opacity:1}}@media (max-width:980px){.course-welcome{grid-template-columns:minmax(0,620px);gap:24px;padding:24px;overflow-y:auto}.course-welcome-scene{order:2;min-height:330px}.course-welcome h1{font-size:38px}}@media (prefers-reduced-motion:reduce){.python-start-button,.course-welcome-code,.welcome-rocket,.welcome-enemy,.welcome-shot,.course-welcome-console{animation:none}.coursemap{scroll-behavior:auto}}#game-pane{background:var(--panel);flex-direction:column;display:flex}.canvas-wrap{background:#050810;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}#game-canvas{background:#000;border-radius:8px;outline:none;box-shadow:0 0 32px #7c3aed26,0 4px 24px #00000080}#canvas-overlay{color:var(--muted);pointer-events:none;background:#0009;border-radius:6px;padding:12px 20px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#canvas-overlay.hidden{display:none}#game-status{border-top:1px solid var(--border);background:var(--panel-2);padding:10px 16px;font-size:12px}#game-status.ok{color:var(--success)}#game-status.err{color:var(--error)}.modal{z-index:100;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.hidden{display:none}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:480px;max-width:90vw;padding:28px;box-shadow:0 20px 60px #0009}.modal-card h2{margin:0 0 8px}.modal-card p{color:var(--muted);margin:0 0 16px}.modal-card input{background:var(--code-bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;padding:10px 12px;font-family:monospace;font-size:12px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2f3850}.mode-badge{letter-spacing:.2px;border-radius:10px;padding:3px 9px;font-size:11px;font-weight:500}.mode-lesson{color:var(--accent-2);background:#06b6d426;border:1px solid #06b6d466}.mode-play{color:#c4b5fd;background:#7c3aed2e;border:1px solid #7c3aed80}.widget-slot{min-height:4px;margin:10px 0}.cp{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;margin:10px 0;padding:10px 12px}.cp-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:11px}.cp pre{background:0 0;border:none;margin:0 0 8px;padding:0}#lesson-content .cp code{color:var(--accent-2);background:0 0;padding:0;font-family:SF Mono,Consolas,Monaco,monospace;font-size:12.5px;display:block}.cp-keep{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 11px;font-size:11px;font-weight:500;transition:filter .15s}.cp-keep:hover:not(:disabled){filter:brightness(1.12)}.cp-keep:disabled{opacity:.65;cursor:not-allowed}.emoji-picker{flex-wrap:wrap;gap:6px;margin:6px 0 14px;display:flex}.emoji-choice{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:18px;line-height:1;transition:all .15s}.emoji-choice:hover{background:#242c42;border-color:#2f3850}.emoji-choice.selected{border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow);background:#7c3aed33}.slider-row{grid-template-columns:80px 1fr 48px;align-items:center;gap:10px;margin:8px 0;display:grid}.slider-label{color:var(--accent-2);font-family:SF Mono,Consolas,Monaco,monospace;font-size:12.5px}.slider-input{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;width:100%;height:4px}.slider-input::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:grab;width:16px;height:16px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;transition:transform .1s}.slider-input::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.15)}.slider-input::-moz-range-thumb{background:var(--accent);cursor:grab;width:16px;height:16px;box-shadow:0 0 8px var(--accent-glow);border:none;border-radius:50%}.slider-readout{color:var(--text);text-align:right;font-family:SF Mono,Consolas,Monaco,monospace;font-size:12.5px}.quick-jumps{flex-wrap:wrap;gap:6px;margin:10px 0 14px;display:flex}.quick-jump{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:4px;padding:5px 10px;font-size:12px;transition:all .15s}.quick-jump:hover{border-color:var(--accent);color:#e9d5ff;background:#7c3aed26}.quiz{background:#7c3aed0f;border:1px solid #7c3aed40;border-radius:8px;margin:12px 0;padding:12px 14px}.quiz-question{color:var(--text);margin-bottom:10px;font-size:13.5px;font-weight:500}.quiz-options{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.quiz-opt{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;transition:all .15s;display:flex}.quiz-opt:hover{border-color:var(--accent);background:#1d2438}.quiz-icon{font-size:18px;line-height:1}.quiz-label{flex:1}.quiz-correct{color:#d1fae5;border-color:var(--success)!important;background:#10b9812e!important}.quiz-wrong{color:#fecaca;border-color:var(--error)!important;background:#ef44442e!important}.quiz-faded{opacity:.55}.quiz-explain{border-radius:5px;margin-top:10px;padding:8px 12px;font-size:12.5px;line-height:1.5}.quiz-explain.is-correct{color:#a7f3d0;background:#10b9811a}.quiz-explain.is-wrong{color:#fde68a;background:#f59e0b14}.quiz-keep{align-items:center;gap:10px;margin-top:10px;display:flex}.quiz-opt.quiz-locked{color:#fff;box-shadow:0 0 0 2px #7c3aed66, 0 0 16px var(--accent-glow);transform:translateY(-1px);border-color:var(--accent)!important;background:linear-gradient(135deg,#7c3aed59,#06b6d42e)!important}.quiz-opt.quiz-locked:after{content:"🎯";margin-left:auto;font-size:14px}.quiz-commit{background:#7c3aed1f;border:1px dashed #7c3aed8c;border-radius:6px;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;font-size:12.5px;display:flex}.quiz-commit-msg{color:#ddd6fe;flex:1}.quiz-reveal{padding:6px 12px;font-weight:600}.quiz-change{color:var(--muted);background:0 0;border-color:#0000;font-size:12px}.quiz-change:hover{color:var(--text)}.a11y-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quiz-keep-code{background:var(--code-bg);color:var(--accent-2);border-radius:4px;flex:1;padding:4px 8px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:12px}.dpad{grid-template-rows:repeat(3,44px);grid-template-columns:repeat(3,44px);justify-content:center;gap:4px;margin:10px auto 14px;display:grid}.dpad-btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;font-size:20px;transition:all .1s;display:flex}.dpad-btn:hover{border-color:var(--accent)}.dpad-btn:active{background:var(--accent);color:#fff;transform:scale(.95)}.dpad-up{grid-area:1/2}.dpad-left{grid-area:2/1}.dpad-right{grid-area:2/3}.dpad-down{grid-area:3/2}.vi{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:12px}.vi-title{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:12px}.vi-help{color:var(--muted);margin-bottom:12px;font-size:12px;line-height:1.4}.vi-groups{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.vi-note{border-top:1px solid var(--border);color:var(--muted);padding-top:10px;font-size:13px;line-height:1.5}.vi-note p{margin:0 0 8px}.vi-note p:last-child{margin-bottom:0}.vi-note ul{margin:0 0 8px;padding-left:20px}.vi-group{background:var(--code-bg);border-left:4px solid var(--accent);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.vi-group[data-color="0"]{border-left-color:var(--accent)}.vi-group[data-color="1"]{border-left-color:var(--accent-2)}.vi-group[data-color="2"]{border-left-color:var(--warn)}.vi-group[data-color="3"]{border-left-color:var(--success)}.vi-group-emoji{flex-shrink:0;font-size:32px;line-height:1}.vi-group-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.vi-chips{flex-wrap:wrap;gap:4px;display:flex}.vi-chip{color:var(--accent-2);cursor:pointer;background:#06b6d426;border:1px solid #06b6d459;border-radius:12px;padding:2px 10px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:12px;transition:all .15s}.vi-chip:hover{border-color:var(--accent-2);background:#06b6d447}span.vi-chip{cursor:default}span.vi-chip:hover{background:#06b6d426;border-color:#06b6d459}.vi-group-pos{color:var(--muted);font-family:SF Mono,Consolas,Monaco,monospace;font-size:11.5px}.vi-multi-note{color:var(--warn);margin-top:2px;font-size:11px;font-style:italic}.vi-actions{flex-direction:column;gap:6px;display:flex}.vi-action{background:var(--panel);border:1px solid var(--border);cursor:pointer;color:var(--text);text-align:left;border-radius:6px;padding:8px 12px;font-size:12.5px;transition:all .15s}.vi-action:hover{border-color:var(--accent);background:#7c3aed1a}.vi-action-alias{border-left:3px solid var(--accent-2)}.vi-action-copy{border-left:3px solid var(--success)}.code-spotlight{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;margin:14px 0;padding:12px 14px;font-family:SF Mono,Consolas,Monaco,monospace;box-shadow:inset 0 0 0 1px #06b6d414}.cs-line{border-radius:5px;align-items:center;gap:12px;padding:6px 8px;font-size:14px;font-weight:500;line-height:1.4;transition:background .24s,opacity .24s,color .24s;display:flex}.cs-num{background:var(--panel-2);width:18px;height:18px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;font-weight:700;display:flex}.cs-code{color:var(--accent-2);letter-spacing:.2px;flex:1}.cs-tag{text-transform:uppercase;letter-spacing:.4px;color:#ddd6fe;background:#7c3aed2e;border:1px solid #7c3aed80;border-radius:10px;flex-shrink:0;padding:2px 7px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10.5px;font-weight:600}.cs-line-done .cs-num{color:#6ee7b7;background:#10b98138}.cs-line-done .cs-tag{color:#6ee7b7;background:#10b98126;border-color:#10b98173}.cs-pending{border-left:3px solid var(--accent);background:#7c3aed1a;padding-left:10px;animation:1.6s ease-in-out infinite cs-pending-pulse}.cs-pending .cs-num{color:#ddd6fe;background:#7c3aed52}@keyframes cs-pending-pulse{0%,to{opacity:.78}50%{opacity:1;box-shadow:0 0 14px #7c3aed40}}.vc{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:12px}.vc-title{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:12px}.vc-help{color:var(--muted);margin-bottom:10px;font-size:12px;line-height:1.4}.vc-deck{flex-wrap:wrap;gap:10px;min-height:72px;display:flex;position:relative}.vc-card{color:#1f2937;opacity:1;background:linear-gradient(#fef3c7,#fde68a);border-radius:4px;min-width:92px;padding:10px 12px 22px;font-family:SF Mono,Consolas,Monaco,monospace;transition:transform .28s cubic-bezier(.34,1.56,.64,1),opacity .28s;position:relative;transform:rotate(-1.5deg);box-shadow:0 4px 10px #00000059,inset 0 0 0 1px #0000000d}.vc-card:nth-child(2n){transform:rotate(1.6deg)}.vc-card:nth-child(3n){transform:rotate(-2.3deg)}.vc-card-head{color:#6b4f00;letter-spacing:.3px;margin-bottom:2px;font-size:11px;font-weight:600}.vc-card-value{color:#111827;font-size:22px;font-weight:700}.vc-card-chip{color:#b91c1c;text-transform:uppercase;letter-spacing:.5px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:9px;font-weight:600;position:absolute;bottom:4px;right:6px}.vc-kind-str .vc-card{background:linear-gradient(#dbeafe,#bfdbfe)}.vc-card.vc-enter{opacity:0;transform:rotate(-1.5deg)translateY(-12px)scale(.9)}.vc-card.vc-leave{opacity:0;pointer-events:none;transform:rotate(-8deg)translate(60px)translateY(20px)}.fb{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:12px}.fb-caption{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:12px}.fb-stage{grid-template-columns:1fr 28px 1.4fr;align-items:center;gap:10px;min-height:130px;display:grid}.fb-outside{background:#06b6d40d;border:1px dashed #06b6d44d;border-radius:6px;flex-direction:column;gap:8px;min-height:110px;padding:8px;display:flex}.fb-arrow{text-align:center;color:var(--muted);font-size:20px}.fb-box{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;min-height:110px;padding:24px 10px 10px;transition:border-color .18s,box-shadow .18s;position:relative}.fb-box-active{border-color:var(--accent);box-shadow:0 0 14px var(--accent-glow)}.fb-box-title{color:var(--accent-2);font-family:SF Mono,Consolas,Monaco,monospace;font-size:11px;position:absolute;top:4px;left:8px}.fb-box-body{flex-wrap:wrap;align-items:center;gap:8px;min-height:70px;display:flex}.fb-sprite,.fb-number{opacity:1;border-radius:6px;padding:8px 12px 18px;font-family:SF Mono,Consolas,Monaco,monospace;transition:transform .28s cubic-bezier(.34,1.56,.64,1),opacity .28s;position:relative}.fb-sprite{border:1px solid var(--accent);color:#ede9fe;text-align:center;background:#7c3aed2e}.fb-sprite-name{color:#ddd6fe;font-size:11px}.fb-sprite-emoji{font-size:24px;line-height:1.2}.fb-number{color:#1f2937;background:linear-gradient(#fef3c7,#fde68a)}.fb-number-name{color:#6b4f00;font-size:11px;font-weight:600}.fb-number-value{color:#111827;font-size:20px;font-weight:700}.fb-tag{text-transform:uppercase;letter-spacing:.4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:8.5px;font-weight:600;position:absolute;bottom:3px;right:6px}.fb-tag-mutable{color:#6ee7b7}.fb-tag-immutable{color:#b91c1c}.fb-fly-in{opacity:0;transform:translate(-30px)scale(.85)}.fb-leave{opacity:0;transform:translate(20px)scale(.85)}@keyframes fb-pulse{0%,to{box-shadow:0 0 #7c3aed00}50%{box-shadow:0 0 0 6px #7c3aed40}}.fb-pulse-link{animation:1.1s ease-in-out infinite fb-pulse}.clog{background:linear-gradient(135deg,#06b6d414,#7c3aed0f);border:1px solid #06b6d459;border-radius:8px;margin:16px 0 8px;padding:12px 14px}.clog-title{color:#a5f3fc;margin-bottom:4px;font-size:13px;font-weight:600}.clog-prompt{color:var(--muted);margin-bottom:8px;font-size:12.5px;line-height:1.45}.clog-input{background:var(--code-bg);width:100%;color:var(--text);border:1px solid var(--border);resize:vertical;border-radius:6px;min-height:48px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5}.clog-input:focus{border-color:var(--accent-2);outline:none;box-shadow:0 0 0 2px #06b6d42e}.clog-footer{color:var(--muted);justify-content:flex-end;margin-top:6px;font-size:11.5px;display:flex}.parsons{background:#f59e0b0d;border:1px solid #f59e0b4d;border-radius:8px;margin:14px 0;padding:12px 14px}.parsons-title{color:#fde68a;margin-bottom:4px;font-size:13.5px;font-weight:600}.parsons-prompt{color:var(--muted);margin-bottom:10px;font-size:12.5px;line-height:1.45}.parsons-board{grid-template-columns:1fr 1fr;gap:10px;display:grid}.parsons-col{background:var(--code-bg);border:1px dashed var(--border);border-radius:6px;min-height:130px;padding:8px}.parsons-col-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11.5px}.parsons-list{flex-direction:column;gap:4px;display:flex}.parsons-block{background:var(--panel-2);border:1px solid var(--border);color:var(--text);text-align:left;white-space:pre;border-radius:4px;padding:6px 8px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:12px;transition:all .12s}.parsons-block:hover{border-color:var(--accent);background:#1d2438;transform:translate(2px)}.parsons-indent-0{margin-left:0}.parsons-indent-1{margin-left:14px}.parsons-indent-2{margin-left:28px}.parsons-indent-3{margin-left:42px}.parsons-empty{color:var(--muted);padding:8px 4px;font-size:12px;font-style:italic}.parsons-feedback{border-radius:5px;min-height:1.4em;margin-top:10px;padding:6px 10px;font-size:12.5px}.parsons-feedback.is-correct{color:#a7f3d0;background:#10b9811a}.parsons-feedback.is-wrong{color:#fde68a;background:#f59e0b1a}.parsons-feedback.is-hint{color:#ddd6fe;background:#7c3aed1a}.parsons-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.parsons-keep{margin-left:auto}.parsons-solved .parsons-block{border-color:var(--success);pointer-events:none;background:#10b98126}.replay-btn{color:#fff;background:linear-gradient(135deg,#b45309,#f59e0b);border-color:#f59e0b;font-weight:600}.replay-btn:hover:not(:disabled){filter:brightness(1.1)}.replay-dock{justify-content:center;margin:8px 0 0;display:flex}.replay-panel{background:var(--panel);border:1px solid var(--accent);border-radius:10px;width:100%;max-width:520px;max-height:280px;padding:10px 12px;overflow-y:auto;box-shadow:0 6px 24px #0006}.replay{flex-direction:column;gap:10px;display:flex}.replay-head{justify-content:space-between;align-items:center;display:flex}.replay-title{color:#fde68a;font-size:15px;font-weight:700}.replay-help{color:var(--muted);font-size:12px;line-height:1.45}.replay-transport{align-items:center;gap:8px;display:flex}.replay-transport .replay-step{width:32px;padding:6px 0;font-weight:700}.replay-play{padding:6px 10px}.replay-slider{accent-color:var(--accent-2);flex:1}.replay-frame-label{color:var(--muted);text-align:right;min-width:76px;font-family:SF Mono,Consolas,monospace;font-size:11.5px}.replay-vars{background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px}.replay-vars-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11.5px}.replay-vars-list{flex-direction:column;gap:3px;display:flex}.replay-var-row{border-radius:4px;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:3px 4px;font-size:12.5px;display:grid}.replay-var-row:hover{background:#7c3aed0f}.replay-var-emoji{text-align:center;font-size:14px}.replay-var-name{color:var(--accent-2);font-family:SF Mono,Consolas,monospace}.replay-var-val{color:var(--text);font-family:SF Mono,Consolas,monospace;font-size:12px}.replay-var-empty{color:var(--muted);padding:4px;font-size:12px;font-style:italic}.replay-var-keys .replay-var-val{color:#fde68a}.replay-empty{background:var(--panel-2);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:10px;max-width:360px;padding:18px 16px;display:flex}.replay-empty-title{color:#fde68a;font-weight:600}.replay-empty-body{color:var(--muted);font-size:12.5px;line-height:1.45}.undo-toast{color:#ddd6fe;background:#7c3aed24;border:1px solid #7c3aed73;border-radius:6px;align-items:center;gap:10px;margin:6px 12px 10px;padding:7px 10px;font-size:12.5px;animation:.18s ease-out undo-slide-in;display:flex}.undo-toast>span{flex:1}.undo-btn{color:#fde68a;background:#f59e0b2e;border-color:#f59e0b8c;padding:4px 10px;font-weight:600}.undo-btn:hover{background:#f59e0b47}.undo-dismiss{color:var(--muted);background:0 0;border-color:#0000;padding:4px 8px;font-size:12px}.undo-dismiss:hover{color:var(--text)}@keyframes undo-slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.restore-toast{color:#fef3c7;background:linear-gradient(135deg,#f59e0b24,#7c3aed24);border:1px solid #f59e0b8c;border-radius:6px;align-items:center;gap:10px;margin:6px 12px 10px;padding:7px 10px;font-size:12.5px;animation:.18s ease-out undo-slide-in;display:flex}.restore-icon{font-size:16px}.restore-text{flex:1;line-height:1.4}.restore-btn{color:#fff;background:linear-gradient(135deg,#b45309,#f59e0b);border-color:#f59e0b;padding:4px 10px;font-weight:600}.restore-btn:hover{filter:brightness(1.12)}.restore-dismiss{color:var(--muted);background:0 0;border-color:#0000;padding:4px 8px;font-size:12px}.restore-dismiss:hover{color:var(--text)}#mcb-slot:empty{display:none}.mcb{border:1px solid #f59e0b80;border-left:4px solid var(--warn);background:linear-gradient(135deg,#ef44440f,#f59e0b14);border-radius:8px;margin:0 0 14px;padding:10px 14px;font-size:12.5px;animation:.25s ease-out undo-slide-in}.mcb-title{color:#fde68a;margin-bottom:6px;font-size:13px;font-weight:700}.mcb-row{background:#0000002e;border-radius:5px;margin-bottom:6px;padding:6px 8px}.mcb-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.mcb-row-title{color:#fef3c7;font-weight:600}.mcb-row-count{color:var(--muted);font-family:SF Mono,Consolas,monospace;font-size:11px}.mcb-body{color:var(--text);margin-top:3px;line-height:1.4}.mcb-tab-hint{color:var(--accent-2);margin-top:4px;font-size:11.5px;font-weight:500}.mcb-dismiss{color:var(--muted);background:0 0;border-color:#f59e0b4d;margin-left:auto;padding:3px 8px;font-size:11px;display:block}.mcb-dismiss:hover{color:var(--text)}.muted-footnote{color:var(--muted);border-left:2px solid var(--border);background:#ffffff04;margin:8px 0;padding:8px 10px;font-size:12px;line-height:1.5}#sos-slot:empty{display:none}.sos{background:#f59e0b0f;border:1px solid #f59e0b59;border-radius:7px;margin:14px 0 8px;padding:10px 12px}.sos-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.sos-head-label{color:#fde68a;flex:1;font-size:12.5px}.sos-btn{color:#fff;background:linear-gradient(135deg,#b45309,#f59e0b);border-color:#f59e0b;padding:5px 12px;font-weight:600}.sos-btn:hover:not(:disabled){filter:brightness(1.12)}.sos-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.sos-list:empty{display:none}.sos-item{border-left:3px solid var(--warn);background:#00000038;border-radius:4px;gap:8px;padding:6px 10px;font-size:12.5px;line-height:1.5;animation:.2s ease-out undo-slide-in;display:flex}.sos-item-num{color:var(--muted);white-space:nowrap;padding-top:1px;font-family:SF Mono,Consolas,monospace;font-size:11px}.sos-item-text{color:var(--text)}.remix-banner{color:#cffafe;background:linear-gradient(135deg,#06b6d426,#7c3aed1f);border:1px solid #06b6d480;border-radius:7px;align-items:center;gap:10px;margin:0 10px 8px;padding:8px 12px;font-size:12.5px;animation:.2s ease-out undo-slide-in;display:flex}.remix-icon{font-size:18px}.remix-text{flex:1;line-height:1.4}.remix-share{border-color:var(--accent-2);color:#ecfeff;background:#06b6d440;padding:4px 10px;font-weight:600}.remix-share:hover{filter:brightness(1.15)}.muted-footnote code{background:var(--code-bg);color:var(--accent-2);border-radius:3px;padding:1px 5px;font-size:11.5px}.day-nav{align-items:center;gap:2px;margin-left:4px;display:flex}.day-nav-link{color:var(--muted);border-radius:6px;padding:2px 7px;font-size:16px;line-height:1;text-decoration:none;transition:all .15s}a.day-nav-link:hover{color:var(--text);background:var(--panel-2)}.day-nav-disabled{opacity:.25;cursor:default}.brand a.logo{text-decoration:none}.coursemap{scroll-behavior:smooth;scroll-snap-type:y proximity;height:100vh;overflow-y:auto}.coursemap-screen{scroll-snap-align:start;box-sizing:border-box;flex-direction:column;justify-content:center;min-height:100vh;padding:32px 24px;display:flex}.coursemap-curriculum-screen{justify-content:flex-start;width:100%;max-width:920px;margin:0 auto;padding-top:56px;padding-bottom:32px}.coursemap-curriculum-head{text-align:center;margin-bottom:28px}.coursemap-curriculum-title{margin:6px 0 8px;font-size:26px}.coursemap-curriculum-sub{color:var(--muted);max-width:560px;margin:0 auto 18px;font-size:15px;line-height:1.55}.coursemap-curriculum-head .python-start-button{margin:4px auto 0}.coursemap-hero{text-align:center;max-width:640px;margin:0 auto;padding:64px 24px}.coursemap-hero h1{margin:0 0 10px;font-size:32px}.coursemap-sub{color:var(--muted);margin:0 0 22px;font-size:15px}.coursemap-continue{background:linear-gradient(135deg, var(--accent), #5b21b6);border:1px solid var(--accent);box-shadow:0 0 16px var(--accent-glow);color:#fff;border-radius:10px;padding:12px 28px;font-size:15px;font-weight:600;text-decoration:none;transition:filter .15s;display:inline-block}.coursemap-continue:hover{filter:brightness(1.12)}.coursemap-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.coursemap-card{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:18px;text-decoration:none;transition:all .15s;display:block}.coursemap-card:hover{border-color:var(--accent);transform:translateY(-2px)}.coursemap-card h2{margin:8px 0 6px;font-size:17px}.coursemap-card p{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.5}.coursemap-card-head{justify-content:space-between;align-items:center;display:flex}.coursemap-daynum{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2);font-size:11px;font-weight:700}.coursemap-status{color:var(--muted);font-size:11px}.coursemap-done .coursemap-status{color:var(--success)}.coursemap-done{border-color:#10b98173}.coursemap-active{border-color:#7c3aed8c}.coursemap-bar{background:var(--panel-2);border-radius:2px;height:4px;overflow:hidden}.coursemap-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:2px;height:100%;transition:width .3s}.coursemap-foot{text-align:center;color:var(--muted);margin-top:36px;font-size:12px}.lp{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:12px}.lp-title{margin-bottom:4px;font-size:13px;font-weight:600}.lp-help{color:var(--muted);margin-bottom:8px;font-size:12px}.lp-rows{flex-direction:column;gap:6px;display:flex}.lp-row{background:var(--code-bg);border:1px solid var(--border);border-radius:7px;align-items:center;gap:8px;padding:7px 10px;display:flex}.lp-expr{color:#c4b5fd;flex:1;font-size:12px}.lp-arrow{color:var(--muted)}.lp-value{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:10px;min-width:48px;padding:2px 10px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;font-weight:700}.lp-true{color:#6ee7b7;background:#10b9811f;border-color:#10b98180}.lp-false{color:#fca5a5;background:#ef44441a;border-color:#ef444480}.lc{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:12px}.lc-title{margin-bottom:4px;font-size:13px;font-weight:600}.lc-help{color:var(--muted);margin-bottom:10px;font-size:12px}.lc-shelf{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lc-bracket{color:#c4b5fd;font-size:14px;font-weight:600}.lc-cards{flex-wrap:wrap;gap:8px;display:flex}.lc-card{background:var(--code-bg);text-align:center;border:1px solid #7c3aed80;border-radius:8px;min-width:74px;padding:6px 10px 8px;transition:transform .25s,opacity .25s}.lc-card-new{opacity:0;transform:translate(24px)scale(.7)}.lc-index{color:var(--accent-2);white-space:nowrap;margin-bottom:3px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:10px}.lc-emoji{font-size:26px;line-height:1.2}.lc-detail{color:var(--muted);margin-top:2px;font-size:10px}.lc-empty{color:var(--muted);padding:8px;font-size:12px;font-style:italic}.lc-pulse{animation:.6s lc-pulse-kf}@keyframes lc-pulse-kf{0%{box-shadow:0 0 0 0 var(--accent-glow)}50%{transform:scale(1.07);box-shadow:0 0 0 7px #7c3aed00}to{box-shadow:0 0 #7c3aed00}}.arena{background:linear-gradient(160deg, var(--panel-2), #1a1430);border:1px solid #7c3aed8c;border-radius:12px;margin:12px 0;padding:14px}.arena-title{margin-bottom:4px;font-size:14px;font-weight:700}.arena-desc{color:var(--muted);margin-bottom:10px;font-size:12px;line-height:1.5}.arena-gate{margin-bottom:10px}.arena-not-ready{background:var(--code-bg);border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:8px;padding:12px;font-size:12px}.arena-start{padding:9px 18px;font-size:14px}.arena-bar{background:var(--code-bg);border:1px solid var(--border);border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.arena-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-2));width:0;height:100%;transition:width .25s}.arena-score{color:var(--text);min-height:16px;margin-bottom:6px;font-size:12px}.arena-verdict{border-radius:8px;padding:0;font-size:13px;font-weight:600;line-height:1.5}.arena-verdict.arena-win{color:#6ee7b7;background:#10b9811f;border:1px solid #10b98180;margin-bottom:8px;padding:10px 12px}.arena-verdict.arena-lose{color:#fcd34d;background:#f59e0b1a;border:1px solid #f59e0b73;margin-bottom:8px;padding:10px 12px}.arena-disagreements{flex-direction:column;gap:8px;display:flex}.arena-row{background:var(--code-bg);border:1px solid #ef444473;border-radius:8px;padding:9px 11px}.arena-row-head{align-items:baseline;gap:8px;margin-bottom:5px;display:flex}.arena-row-num{text-transform:uppercase;letter-spacing:.06em;color:#fca5a5;font-size:10px;font-weight:700}.arena-row-label{color:var(--text);font-size:12px}.arena-vs{color:#fca5a5;margin-bottom:6px;font-size:12px}.arena-crash{color:var(--warn);margin-bottom:6px;font-size:12px}.arena-replay{padding:4px 9px;font-size:11px}.arena-diagram{border:1px solid var(--border);background:#05070f;border-radius:6px;width:120px;height:120px;margin:4px 0 8px;display:block}.arena-rect-a{fill:#3b82f673;stroke:#60a5fa;stroke-width:4px}.arena-rect-b{fill:#facc1566;stroke:#facc15;stroke-width:4px}.sw{flex-direction:column;gap:10px;margin:12px 0;display:flex}.sw-section{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.sw-head{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;padding:11px 13px;font-size:13px;font-weight:600;display:flex}.sw-head:hover{background:#7c3aed14;border:none}.sw-chevron{color:var(--muted)}.sw-body{padding:0 13px 12px}.sw-caption{color:var(--muted);margin:0 0 8px;font-size:12px;line-height:1.55}.sw-code{background:var(--code-bg);border:1px solid #7c3aed59;border-radius:8px;margin:0;padding:10px 12px;overflow-x:auto}.sw-code code{color:#e9d5ff;white-space:pre;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.55}.sw-missing{color:var(--warn);font-size:12px;font-style:italic}.fb-role-returned{box-shadow:0 0 10px #06b6d44d;border-color:#06b6d499!important}.fb-tag-returned{color:#67e8f9;background:#06b6d42e}
