:root{--warn:#ffd095}.mid-nav{grid-template-columns:repeat(8,1fr)!important}.mid-nav small.tag{color:var(--muted)}.mid-nav button.sub-sent small.tag{color:var(--mint)}.mid-nav button.sub-changed small.tag{color:var(--warn)}.mid-nav button.sub-changed{border-style:dashed}.scene-frame{position:relative}.fld-bottom{position:static!important}#scene-state.warn{color:var(--warn)}.field-note{margin:10px 2px 0}.field{position:relative;aspect-ratio:1/1;width:100%;max-width:560px;margin:0 auto;overflow:hidden;background:radial-gradient(circle at 30% 30%,#6aa85a,#4f8f48 60%,#447d3f);isolation:isolate}.fld-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff22 1px,transparent 1px),linear-gradient(90deg,#ffffff22 1px,transparent 1px);background-size:10% 10%}.fld-grid:after{content:"";position:absolute;inset:0;border:5px solid #8b6a3f;box-shadow:inset 0 0 0 2px #c79d61}.fld-axis{position:absolute;display:flex;justify-content:space-between;font:10px monospace;color:#fffc;pointer-events:none;z-index:2}.fld-axis-x{left:8px;right:8px;bottom:8px}.fld-axis-y{top:8px;bottom:22px;left:9px;flex-direction:column}.fld-compass{position:absolute;top:10px;right:12px;width:34px;height:44px;text-align:center;font:700 12px monospace;color:#fff;z-index:2}.fld-compass i{display:block;margin:2px auto 0;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:18px solid #f9bf6b}.fld-path{position:absolute;inset:0;width:100%;height:100%;z-index:1}.fld-path polyline{fill:none;stroke:#fff6c8;stroke-width:.7;stroke-dasharray:1.6 1.2;vector-effect:non-scaling-stroke;stroke-width:3}.fld-mark{position:absolute;transform:translate(-50%,-50%);text-align:center;z-index:1;pointer-events:none}.fld-mark b{display:block;font-size:26px;line-height:1}.fld-mark small{display:block;font:10px monospace;color:#fff;text-shadow:0 1px 2px #000;white-space:nowrap}.fld-mark.start i{display:block;margin:auto;width:16px;height:16px;border-radius:50%;border:3px solid #fff;background:#fff3}.fld-mark.target b{color:#ffdf5d;font-size:28px;text-shadow:0 2px 3px #0008}.fld-mark.target.reached b{color:#9af0cc;transform:scale(1.25)}.fld-mark.guess b{color:#ff5a4a;font-size:24px;text-shadow:0 0 4px #000}.fld-walker{position:absolute;left:50%;top:50%;width:0;height:0;z-index:3}.fld-body{position:absolute;left:0;top:0;transform:translate(-50%,-62%)}.fld-sprite{width:72px;height:72px;image-rendering:pixelated;display:block;filter:drop-shadow(0 4px 2px #0006)}.fld-arrow{position:absolute;left:0;top:-18px;width:0;height:0;pointer-events:none;z-index:-1}.fld-arrow:before{content:"";position:absolute;left:-7px;top:-58px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:13px solid #f9bf6b;filter:drop-shadow(0 1px 1px #000)}.fld-bubble{position:absolute;bottom:80px;left:0;transform:translate(-50%);background:#fffdf2;color:#1d2a33;border:2px solid #39463f;border-radius:8px;padding:3px 8px;font:12px/1.3 sans-serif;max-width:220px;width:max-content;z-index:4}.fld-zz{position:absolute;right:-8px;top:-4px;font:700 13px monospace;color:#fff}.fld-walker.walk .fld-body{animation:fld-bob .45s infinite}.fld-walker.run .fld-body{animation:fld-bob .25s infinite}.fld-walker.jump .fld-body{animation:fld-jump .8s infinite}.fld-walker.dance .fld-body{animation:fld-dance 1s infinite}.fld-walker.sleep .fld-sprite{filter:brightness(.7) drop-shadow(0 4px 2px #0006)}@keyframes fld-bob{50%{transform:translate(-50%,-68%)}}@keyframes fld-jump{40%{transform:translate(-50%,-110%)}}@keyframes fld-dance{25%{transform:translate(-50%,-62%) rotate(-12deg)}75%{transform:translate(-50%,-62%) rotate(12deg)}}.fld-rain{position:absolute;inset:0;z-index:5;pointer-events:none;background:repeating-linear-gradient(105deg,#fff0 0 9px,#d9ecff55 9px 10px);animation:fld-rain .5s linear infinite;background-size:40px 40px}@keyframes fld-rain{to{background-position:-12px 40px}}@media(prefers-reduced-motion:reduce){.fld-walker .fld-body,.fld-rain{animation:none!important}}.exp-toolbar .submit-one{background:#9af0cc;color:#0b2a20;font-weight:700}.exp-toolbar .submit-one:disabled{opacity:.6}.submit-state{margin:0 15px 8px;font-size:13px}.submit-state.sent{color:var(--mint)}.submit-state.changed{color:var(--warn)}.submit-state.none{color:var(--muted)}.warn{color:var(--warn)}#mcq-view{margin-bottom:30px}.mcq-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.mcq-head h2{font:32px Georgia;margin:2px 0 6px}.mcq-actions{display:flex;gap:10px;align-items:center}#mcq-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mcq{background:#111e31;border:1px solid var(--line);border-radius:8px;padding:14px 16px}.mcq-q{margin:0 0 8px;font-size:15px}.mcq-q b{color:var(--mint);margin-right:4px}.mcq-code{background:#0b1626;border:1px solid #22344b;border-radius:5px;padding:9px 12px;font:13px/1.45 monospace;margin:0 0 10px;overflow-x:auto;white-space:pre}.mcq-opts{display:grid;gap:6px}.mcq-opts label{display:flex;gap:9px;align-items:baseline;padding:7px 10px;border:1px solid #22344b;border-radius:5px;cursor:pointer;font-size:14px}.mcq-opts label:hover{border-color:#3c5a78}.mcq-opts label:has(input:checked){border-color:var(--mint);background:#173236}.mcq-opts b{font:700 13px monospace;color:var(--muted)}.mcq-opts span{font-family:ui-monospace,Menlo,monospace;font-size:13.5px}.mcq-foot{display:flex;justify-content:flex-end;gap:14px;align-items:center;margin-top:14px}#mcq-msg{font-size:13px}@media(max-width:1100px){.mid-nav{grid-template-columns:repeat(4,1fr)!important}#mcq-list{grid-template-columns:1fr}}@media(max-width:780px){.mid-nav{grid-template-columns:repeat(2,1fr)!important}.fld-sprite{width:52px;height:52px}}.theme-pick{display:flex;gap:6px;align-items:center;font:11px monospace;letter-spacing:1px;color:var(--muted)}.theme-select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:6px 8px;font:13px Trebuchet MS,sans-serif}.exam-dialog .theme-pick{display:flex;font-size:13px;letter-spacing:0}.exam-dialog .theme-select{width:auto;display:inline-block;margin:0}:root[data-theme=light]{color-scheme:light;--bg:#f6f7f3;--panel:#ffffff;--line:#c3cdc6;--ink:#17242c;--muted:#4a5a63;--mint:#0d6b4d;--warn:#8a4a00;--soft:#eef2ec;--sel:#dcefe5}:root[data-theme=contrast]{color-scheme:light;--bg:#ffffff;--panel:#ffffff;--line:#000000;--ink:#000000;--muted:#000000;--mint:#00563b;--warn:#7a2e00;--soft:#ffffff;--sel:#fff3b0}:root:is([data-theme=light],[data-theme=contrast]) :is(.exam-header){background:var(--bg)}:root:is([data-theme=light],[data-theme=contrast]) :is(.meter,#exam-problems button,.code-column,.mcq,.exam-dialog,textarea,.exam-dialog input){background:var(--panel);color:var(--ink)}:root:is([data-theme=light],[data-theme=contrast]) :is(#exam-problems button[aria-current=step],.editor-tools button[aria-pressed=true]){background:var(--sel)}:root:is([data-theme=light],[data-theme=contrast]) :is(.exp-brief,.scene-top,.scene-bottom,.code-top,.statusbar,.statement th,.input-panel){background:var(--soft);color:var(--ink)}:root:is([data-theme=light],[data-theme=contrast]) :is(.statement,.statement p,.exp-brief p,.hint p,.mission-copy p,.exam-dialog li){color:var(--ink)!important}:root:is([data-theme=light],[data-theme=contrast]) :is(.statement code,.mcq-code,#exp-console){background:#eef0ea;color:var(--ink);border-color:var(--line)}:root:is([data-theme=light],[data-theme=contrast]) code{color:var(--mint)}:root:is([data-theme=light],[data-theme=contrast]) :is(.editor-tools button,.exp-toolbar .secondary,.case-run,.exam-dialog .dialog-actions .secondary){background:var(--soft);color:var(--ink);border:1px solid var(--line)}:root:is([data-theme=light],[data-theme=contrast]) .exp-toolbar button:not(.secondary):not(#check):not(.submit-one){background:var(--mint);color:#fff}:root:is([data-theme=light],[data-theme=contrast]) .exp-toolbar .submit-one{background:#0d6b4d;color:#fff}:root:is([data-theme=light],[data-theme=contrast]) :is(.fail,.meter.low b,#exam-problems button.stale small){color:var(--warn)}:root:is([data-theme=light],[data-theme=contrast]) #exp-console.err{color:#8b1a0b}:root:is([data-theme=light],[data-theme=contrast]) ol.tests li{background:#eef6f1;border-left-color:#1f8a5c}:root:is([data-theme=light],[data-theme=contrast]) ol.tests li.bad{background:#fbeeea;border-left-color:#c2412b}:root:is([data-theme=light],[data-theme=contrast]) ol.tests li span,:root:is([data-theme=light],[data-theme=contrast]) ol.tests li.bad span{color:var(--ink)}:root:is([data-theme=light],[data-theme=contrast]) .err-box{background:#fdecea;border-color:#c2412b;color:#7a1608}:root:is([data-theme=light],[data-theme=contrast]) .warn-box{background:#fff6dd;border-color:#b38700;color:#5a3d00}:root:is([data-theme=light],[data-theme=contrast]) .goto{background:#fdecea;color:#7a1608;border-color:#c2412b}:root:is([data-theme=light],[data-theme=contrast]) .trace dd[data-type=str]{color:#7a4a00}:root:is([data-theme=light],[data-theme=contrast]) .trace dd[data-type=bool]{color:#5434a8}:root:is([data-theme=light],[data-theme=contrast]) :is(.trace dd[data-type=int],.trace dd[data-type=float]){color:#0b5a87}:root:is([data-theme=light],[data-theme=contrast]) .mcq-opts label{border-color:var(--line)}:root:is([data-theme=light],[data-theme=contrast]) .mcq-opts label:has(input:checked){background:var(--sel);border-color:var(--mint)}:root:is([data-theme=light],[data-theme=contrast]) .exam-dialog::backdrop{background:#2a3a3399}:root[data-theme=contrast] body{font-size:17px}:root[data-theme=contrast] :is(.meter,#exam-problems button,.code-column,.mcq,.exam-dialog,.mcq-opts label,.scene-frame,.theme-select,.exp-brief,ol.tests li){border-width:2px;border-color:#000}:root[data-theme=contrast] .exp-brief{border-left-width:6px}:root[data-theme=contrast] :is(.kicker,.small,.statusbar,#exp-status,.mid-nav small,.mid-nav small.tag){color:#000!important}:root[data-theme=contrast] #exam-problems button[aria-current=step]{outline:3px solid #000}:root[data-theme=contrast] :focus-visible{outline:4px solid #0047c8!important;outline-offset:2px}:root[data-theme=contrast] .mcq-code,:root[data-theme=contrast] #exp-console{background:#fff;border:2px solid #000}:root[data-theme=contrast] .cm-editor{background:#fff!important;color:#000!important}:root[data-theme=contrast] .cm-gutters{background:#fff!important;color:#000!important;border-right:2px solid #000!important}:root[data-theme=contrast] .cm-activeLine{background:#fff7c2!important}:root[data-theme=contrast] .fld-mark small{font-size:12px;font-weight:700}
