:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f7efdc;--muted:#99b4a6;--moss:#7ed69e;--violet:#b694ff;--amber:#ffc866;--danger:#ef7660;--deep:#06110f;--panel:#0d1c19;--key:#182522;--key-edge:#30413b;--key-shadow:#07100e;--key-gap:2.5px;--theme-dark:#071a17;--theme-mid:#173e33;--theme-bright:#75d29a;--theme-magic:#a77bff;--theme-warm:#ffc866}*{box-sizing:border-box}html,body{width:100%;height:100%;min-height:var(--app-viewport-height,100%);overscroll-behavior:none;background:#071715;margin:0}body{color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}body:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 12%,#33745e38,#0000 36rem),repeating-linear-gradient(135deg,#ffffff03 0 1px,#0000 1px 5px);position:fixed;inset:0}button{font:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.phone{height:var(--app-viewport-height,100dvh);isolation:isolate;min-height:0;padding-top:env(safe-area-inset-top);--text-meta:11px;--text-context:12px;--text-editor:clamp(14px, 3.8vw, 16px);--text-body:16px;--text-guidance:clamp(16px, 4.25vw, 18px);background:linear-gradient(#0e221dfa,#050d0cfe 55%);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 0 70px #000000a6,inset 0 0 0 1px #ffffff09}.game-area{touch-action:pan-y;background:linear-gradient(#081613,#07110f);flex:auto;align-items:stretch;display:flex;position:relative;overflow:hidden}.runtime-notice{color:#f7e8bb;background:#040d0cf0;border:1px solid #ffd06973;border-radius:9px;grid-area:4/2/7/12;align-self:center;gap:8px;padding:14px;font:650 13px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;box-shadow:0 10px 24px #00000073}.runtime-notice strong{color:#ffd976}.runtime-notice code{color:#e9fff1;background:#7ddca621;border-radius:3px;padding:1px 4px}@media (width>=600px){.phone{height:min(var(--app-viewport-height,100dvh), 932px);margin-top:max(0px, calc((var(--app-viewport-height,100dvh) - 932px) / 2))}}.next-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:#050f0deb;border-bottom:1px solid #a6dbc01f;flex:none;align-items:center;gap:6px;min-height:54px;padding:6px 8px;display:flex}.icon-button,.dialog-close,.hint-button{color:#a9beb3;cursor:pointer;background:#ffffff09;border:1px solid #96bdab2e;border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;padding:0;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.next-topbar .mode-pill{min-width:60px;height:36px;font-size:var(--text-meta);padding:0 8px}.game-area{min-height:0;padding:7px}@media (height<=760px){.next-topbar{min-height:48px;padding-top:4px;padding-bottom:4px}.icon-button{flex-basis:32px;width:32px;height:32px}.next-topbar .mode-pill{min-width:56px;height:32px}.game-area{padding:5px 7px}}.phone{width:100%;max-width:none;height:var(--app-viewport-height,100dvh);border:0;border-radius:0;margin:0}.lesson-workspace{flex-direction:column;flex:auto;min-height:0;display:flex}.lesson-context{display:contents}.landscape-controls{display:none}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.next-topbar{display:none}.landscape-controls{z-index:40;top:max(6px, env(safe-area-inset-top));left:max(6px, env(safe-area-inset-left));top:max(5px, env(safe-area-inset-top));left:max(5px, env(safe-area-inset-left));gap:4px;display:flex;position:absolute}.landscape-controls .icon-button{border-radius:8px;flex-basis:29px;width:29px;height:29px}.landscape-controls .icon-button svg{width:17px;height:17px}.lesson-workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,45%) minmax(0,55%);min-height:0;display:grid}.lesson-context{min-width:0;min-height:0;padding-left:env(safe-area-inset-left);border-right:1px solid #a6dbc01f;flex-direction:column;display:flex;overflow:hidden}.game-area{min-height:0}}@media (width>=600px){.phone{height:var(--app-viewport-height,100dvh);border:0;border-radius:0;margin:0}.next-topbar{padding-left:clamp(16px,3vw,42px);padding-right:clamp(16px,3vw,42px)}.game-area{padding:clamp(10px,1.7vw,20px)}}@media (width>=1024px){.next-topbar{border:1px solid #a6dbc01f;border-radius:12px;min-height:64px;margin:12px auto 0}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.game-area{padding:6px}}@media (width>=600px){.next-topbar{min-height:64px}}@media (width>=1024px){.next-topbar,.activity-intro,.next-command-tray{box-sizing:border-box;align-self:center;width:min(100% - 48px,1040px)}.game-area{box-sizing:border-box;background:0 0;align-self:center;width:min(100% - 48px,1040px);margin:10px auto 0;padding:0}.phone.keyboard-visible .nix{grid-row:5/span 3;width:clamp(120px,11.7vw,164px)}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.phone{height:var(--app-viewport-height,100dvh);padding-top:0}.phone.keyboard-visible .game-area{padding:4px max(4px, env(safe-area-inset-right)) 4px 4px;background:#06110f}.phone.keyboard-visible .world{box-shadow:none;background:0 0;border:0;border-radius:0}.phone.keyboard-visible .world:before,.phone.keyboard-visible .world-backdrop,.phone.keyboard-visible .world-ambient,.phone.keyboard-visible .world-remote-variant-layer{display:none}.phone.keyboard-visible .editor-stack{grid-row:1/10;place-self:stretch stretch;width:auto;max-height:none;margin:0}.phone.keyboard-visible .next-code-slab{height:100%;max-height:none}.phone.keyboard-visible .code-body .cm-scroller{font-size:12px;line-height:1.28}.phone.keyboard-visible .code-body .cm-content{padding-top:2px;padding-bottom:3px}}.phone[data-surface=free-practice] .activity-intro,.phone[data-surface=free-practice] .next-command-tray,.phone[data-surface=free-practice] .help-card,.phone[data-surface=free-practice] .character-layer,.phone[data-surface=free-practice] .completion-host,.phone[data-surface=free-practice] .world:before,.phone[data-surface=free-practice] .world-backdrop,.phone[data-surface=free-practice] .world-ambient,.phone[data-surface=free-practice] .world-remote-variant-layer{display:none}.phone[data-surface=free-practice] .game-area{padding:4px max(4px, env(safe-area-inset-right)) 4px max(4px, env(safe-area-inset-left));background:#06110f}.phone[data-surface=free-practice] .world{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0}.phone[data-surface=free-practice] .editor-stack{grid-row:1/10;place-self:stretch stretch;width:auto;max-height:none;margin:0}.phone[data-surface=free-practice] .next-code-slab{height:100%;max-height:none}.phone[data-surface=free-practice] .code-body .cm-scroller{overscroll-behavior:contain;overflow-y:auto}.feedback-button{z-index:10;color:#9fb6aa;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#071512a8;border:1px solid #96bdab33;border-radius:10px;place-items:center;width:34px;height:34px;padding:0;transition:color .14s,border-color .14s;display:grid;position:absolute;bottom:8px;right:8px}.feedback-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.feedback-button:hover,.feedback-button:focus-visible{color:var(--theme-bright);border-color:color-mix(in srgb, var(--theme-bright) 45%, transparent)}.phone[data-surface=free-practice] .feedback-button{display:none}.world{background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--theme-mid) 60%, transparent), transparent 62%), linear-gradient(150deg, var(--theme-dark), #06100e 75%);border:1px solid #aae1c533;border-radius:12px;width:100%;height:100%;min-height:150px;transition:transform .34s cubic-bezier(.3,.8,.2,1),opacity .3s;position:relative;overflow:hidden;box-shadow:0 10px 24px #00000061,0 0 0 3px #06120fdb,0 0 0 4px #6997802e,inset 0 0 42px #01080780}.world:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#03100e3d,#0000 25% 75%,#03100e3b),radial-gradient(#0000 42%,#0108076b 100%);position:absolute;inset:0}.world.theme-moonroot{--theme-dark:#071d18;--theme-mid:#1c533d;--theme-bright:#77e0a3;--theme-magic:#a77bff;--theme-warm:#ffc866}.world.theme-ember{--theme-dark:#20120e;--theme-mid:#683420;--theme-bright:#f59a61;--theme-magic:#ff7468;--theme-warm:#ffd06c}.world.theme-glass{--theme-dark:#0b1722;--theme-mid:#234f68;--theme-bright:#78dbea;--theme-magic:#b89cff;--theme-warm:#ffe08b}.world.theme-deepwater{--theme-dark:#07151d;--theme-mid:#123f4e;--theme-bright:#55bfd0;--theme-magic:#888cff;--theme-warm:#f6bd63}.world-backdrop,.world-ambient,.world-remote-variant-layer,.world-grid,.character-layer{position:absolute;inset:0}.character-layer{pointer-events:none;grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.world-grid{z-index:4;pointer-events:none;grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.world-grid>*{pointer-events:auto}.world-backdrop,.world-ambient,.world-remote-variant-layer{pointer-events:none;overflow:hidden}.world-backdrop{z-index:0;background:var(--world-fallback,linear-gradient(150deg, var(--theme-dark), #06100e 75%))}.world-backdrop:before,.world-backdrop:after{content:"";pointer-events:none;position:absolute}.world-backdrop:before{background-image:var(--world-asset,none);background-position:var(--scene-focal-position,50% 50%);filter:saturate(.88)brightness(.82);background-size:cover;inset:-4px}.world-backdrop:after{background:linear-gradient(90deg,#02080852,#0000 24% 76%,#02080852),linear-gradient(#0000 70%,#02080857);inset:0}.world-ambient{z-index:1}.world-ambient-effect{background:color-mix(in srgb, var(--theme-magic) 74%, white);width:4px;height:4px;box-shadow:0 0 8px color-mix(in srgb, var(--theme-magic) 72%, transparent), 42px 18px 0 -1px color-mix(in srgb, var(--theme-bright) 52%, transparent), -24px 50px 0 -1px color-mix(in srgb, var(--theme-warm) 45%, transparent);opacity:.34;border-radius:50%;animation:8s ease-in-out infinite alternate worldAmbientDrift;position:absolute}.world-ambient-effect:first-child{top:18%;left:13%}.world-ambient-effect:nth-child(2){animation-delay:-2.8s;top:31%;right:12%}.world-ambient-effect:nth-child(3){animation-delay:-5.2s;bottom:18%;right:24%}.world-remote-variant-layer{z-index:3}.world-remote-variant{opacity:0;pointer-events:none;transition:opacity var(--remote-variant-fade,2.6s) ease-in-out;position:absolute;inset:-4px}.world-remote-variant:before{content:"";pointer-events:none;background-image:var(--world-asset,none);background-position:var(--scene-focal-position,50% 50%);filter:saturate(.88)brightness(.82);background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.world-remote-variant[data-media-mode=complete-board]:after{content:"";pointer-events:none;background:linear-gradient(90deg,#02080852,#0000 24% 76%,#02080852),linear-gradient(#0000 70%,#02080857);position:absolute;inset:4px}.world-remote-variant.is-visible{opacity:1}.world[data-board-profile=shallow] :is(.world-ambient,.world-remote-variant-layer){display:none}.world[data-reduced-motion=true] .world-ambient-effect{animation:none}.world[data-reduced-motion=true] .world-remote-variant-layer{display:none}.world-grid,.character-layer{z-index:4;opacity:1;transition:opacity .14s}.world.scene-reveal-active .character-layer{opacity:0}.nix{--character-media-scale:1;z-index:4;aspect-ratio:1;object-fit:contain;width:clamp(111px,31.5vw,138px);image-rendering:pixelated;filter:drop-shadow(0 10px 7px #000000ad);transform-origin:55% 88%;transform:scale(var(--character-media-scale)) scaleX(var(--character-facing,1));pointer-events:none;place-self:end center;margin-bottom:6px;animation:2.4s ease-in-out infinite nixIdle}.nix.left{--character-facing:-1;transform-origin:50%;grid-area:7/1/span 3/span 3;position:relative;left:0}.nix.right{grid-area:7/10/span 3/span 3}.world.complete .nix{animation:.72s ease-in-out 2 nixCelebrate}.world.complete .nix.celebrating{filter:none;transform:scale(var(--success-canvas-scale,1)) scaleX(var(--character-facing,1));transform-origin:50%;animation:none}.world.complete .nix.transitioning-out{animation:.42s ease-in-out forwards nixSuccessFadeOut}.world.complete .nix.transitioning-in{animation:.42s ease-in-out forwards nixSuccessFadeIn}.nix.reaction-has-media{animation:none}.nix.reaction-settling{animation:nixReactionSettle var(--reaction-settle-duration,.18s) ease-out forwards;will-change:transform}.nix.reaction-attentive:not(.reaction-has-media){filter:drop-shadow(0 10px 7px #000000ad)brightness(1.08)}.nix.reaction-puzzled:not(.reaction-has-media){animation:.72s ease-in-out 2 characterPuzzled}.nix.reaction-encouraging:not(.reaction-has-media){animation:.9s ease-in-out infinite alternate characterEncouraging}.nix.reaction-celebrating:not(.celebrating){animation:.72s ease-in-out 2 nixCelebrate}.oracle{z-index:10;aspect-ratio:1;border:1px solid color-mix(in srgb, var(--theme-bright) 72%, transparent);color:#e6fff0;background:radial-gradient(circle at 45% 38%, #e0ffec 0 5%, var(--theme-bright) 10%, var(--theme-mid) 57%, var(--theme-dark) 72%);width:clamp(40px,10.5vw,46px);box-shadow:0 0 8px var(--theme-bright), 0 0 22px color-mix(in srgb, var(--theme-bright) 35%, transparent), inset 0 0 7px #ffffff3d;cursor:pointer;border-radius:50% 50% 44% 44%;place-self:center;place-items:center;font:800 19px/1 Georgia,serif;animation:2.1s ease-in-out infinite oracleFloat;display:grid}.oracle.left{grid-area:8/2}.oracle.right{grid-area:8/11}.oracle:after{content:"HELP";color:var(--theme-bright);letter-spacing:.1em;background:#040f0cc7;border-radius:3px;padding:3px 5px;font:800 10px/1 ui-monospace,monospace;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.world.complete .nix{animation:none!important}.nix.reaction-attentive{filter:drop-shadow(0 10px 7px #000000ad)brightness(1.08)}.nix.reaction-puzzled{filter:drop-shadow(0 10px 7px #000000ad)saturate(.82);transform:rotate(1deg) scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}.nix.reaction-encouraging{filter:drop-shadow(0 10px 7px #000000ad)brightness(1.12)}}.world[data-mode=insert] .code-body .cm-cursorLayer .cm-cursor,.world[data-mode=insert] .code-body .cm-vimMode .cm-cursor{filter:drop-shadow(0 0 3px #78dbeacc);width:0!important;box-shadow:none!important;background:0 0!important;border-left:2px solid #78dbea!important;outline:0!important}.world[data-mode=replace] .code-body .cm-cursorLayer .cm-cursor,.world[data-mode=replace] .code-body .cm-vimMode .cm-cursor{filter:none;animation:.9s step-end infinite cursorBlink;width:.62em!important;color:inherit!important;background:linear-gradient(#0000 calc(100% - 3px),#f59a61 calc(100% - 3px))!important;border-left:0!important;outline:0!important;box-shadow:0 2px 5px #f59a6173!important}.world[data-mode=replace] .code-body .cm-fat-cursor{display:none!important}.world[data-mode=insert] .code-slab,.world[data-mode=replace] .code-slab{box-shadow:inset 0 0 0 1px #ffc8664d,0 0 18px #ffb54b14}.world[data-mode=operator-pending] .code-slab{box-shadow:inset 0 0 0 1px #b694ff66,0 0 20px #9d6eff1f}@media (height<=760px){.world{min-height:130px}}@media (width<=599px) and (orientation:portrait){.world{min-height:220px}.nix{grid-row:8/10;width:clamp(70px,23vw,94px)}.nix.left{grid-area:8/1/10/span 3}.nix.right{grid-area:8/10/10/span 3}.world:has(.editor-stack.has-expanded-rows) .nix{display:none}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.nix{display:none}}@media (width>=600px){.world{min-height:280px}.nix{grid-row:8/10;width:clamp(153px,19.5vw,234px);margin-bottom:12px}.nix.left{grid-area:8/1/10/span 3}.nix.right{grid-area:8/9/10/span 3}}@media (width>=1024px){.world{min-height:320px}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.world{min-height:0}}@media (width<=599px) and (orientation:portrait){.world:has(.completion-panel.in-world) .nix{display:none}}@media (width>=600px){.world:has(.completion-panel.in-world) .nix{grid-row:8/10}}@keyframes characterPuzzled{0%,to{transform:scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}45%{transform:translateX(3px) rotate(2deg) scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}}@keyframes characterEncouraging{0%{transform:translateY(0) scale(var(--character-media-scale)) scaleX(var(--character-facing,1));filter:drop-shadow(0 10px 7px #000000ad)}to{transform:translateY(-5px) scale(var(--character-media-scale)) scaleX(var(--character-facing,1));filter:drop-shadow(0 10px 9px #000000a6)brightness(1.12)}}@keyframes cursorBlink{0%,48%{opacity:1}49%,to{opacity:.28}}@keyframes nixIdle{0%,to{transform:translateY(0) rotate(0) scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}25%,75%{transform:translateY(-1.5px) rotate(-1deg) scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}50%{transform:translateY(-3px) rotate(1deg) scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}}@keyframes nixCelebrate{0%,to{transform:translateY(0) rotate(0) scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}45%{transform:translateY(-15px) rotate(-7deg) scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}70%{transform:translateY(-5px) rotate(6deg) scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}}@keyframes nixSuccessFadeOut{0%{opacity:1}to{opacity:0}}@keyframes nixSuccessFadeIn{0%{opacity:0;transform:scale(var(--success-canvas-scale,1)) scaleX(var(--character-facing,1))}to{opacity:1;transform:scale(var(--success-canvas-scale,1)) scaleX(var(--character-facing,1))}}@keyframes nixReactionSettle{0%{transform:var(--reaction-settle-from)}to{transform:scale(var(--character-media-scale)) scaleX(var(--character-facing,1))}}@keyframes oracleFloat{0%,to{transform:translateY(1px)}50%{transform:translateY(-3px)}}@keyframes worldAmbientDrift{0%{opacity:.18;transform:translate(0,0)}to{opacity:.4;transform:translate(3px,-4px)}}.code-slab{z-index:7;min-width:0;min-height:0;box-shadow:0 8px 16px #00000080, inset 0 0 0 1px #ffffff06, 0 0 18px color-mix(in srgb, var(--theme-magic) 11%, transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(145deg,#ffffff0b,#0000 32%),#040d0ceb;border:1px solid #b9e1cc45;border-radius:8px;flex-direction:column;align-self:center;display:flex;position:relative;overflow:hidden}.code-slab.side-left,.code-slab.side-right{grid-area:2/1/8/13;align-self:stretch;margin:5px 17px 1px}.code-slab:before,.code-slab:after{content:"";border:1px solid #ffd27759;width:9px;height:9px;position:absolute}.code-slab:before{border-bottom:0;border-right:0;top:4px;left:4px}.code-slab:after{border-top:0;border-left:0;bottom:4px;right:4px}.code-body{flex:1;min-height:0;padding:5px 4px 7px;overflow:hidden}.code-body>div,.code-body .cm-editor{height:100%;min-height:0}.code-body .cm-editor{color:#d8e4dc;background:0 0;outline:0}.code-body .cm-scroller{font:650 clamp(15px,4vw,17px)/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-editor);overflow:auto}.code-body .cm-content{caret-color:#0000;pointer-events:none;min-height:100%;padding:5px 8px 9px 3px}.code-body .cm-line{padding:0 0 0 7px}.code-body .cm-gutters{color:#435e52;pointer-events:none;background:0 0;border:0;min-height:100%}.code-body .cm-lineNumbers .cm-gutterElement{min-width:20px;padding:0 5px 0 4px}.code-body .cm-vimMode .cm-cursor,.code-body .cm-cursorLayer .cm-cursor{filter:drop-shadow(0 0 3px #ffcd63b8);border-left:2px solid #f7d878}.code-body .cm-fat-cursor{background:#f7d878;outline:1px solid #ffe89fbf;animation:.9s step-end infinite cursorBlink}.code-body .cm-selectionBackground,.code-body .cm-focused .cm-selectionBackground{box-shadow:0 0 7px #b184ff40;background:#9666e18c!important}.ex-output{z-index:19;color:#d6f0e0;opacity:0;visibility:hidden;background:#040c0a;flex-direction:column;gap:6px;padding:10px 12px;transition:opacity .16s,visibility .16s;display:flex;position:absolute;inset:0}.ex-output.open{opacity:1;visibility:visible}.ex-output-lines{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.ex-output-line{white-space:pre;gap:8px;font:500 14px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;overflow-x:auto}.ex-output-line b{color:color-mix(in srgb, var(--theme-bright) 60%, #7d9389);text-align:right;flex:none;font-weight:500}.ex-output-dismiss{color:color-mix(in srgb, var(--theme-bright) 78%, #cfe3d6);letter-spacing:.04em;flex:none;margin:0;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}@media (height<=720px){.code-slab.side-left,.code-slab.side-right{grid-row:1/8;margin-top:10px}.code-body{padding-top:5px;padding-bottom:6px}}.impact-readout{color:color-mix(in srgb, var(--theme-bright) 78%, #cfe3d6);letter-spacing:.06em;text-transform:none;white-space:nowrap;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.editor-stack{z-index:7;grid-area:1/1/9/13;align-self:start;gap:8px;min-width:0;margin:10px 13px 0;display:grid;position:relative}.next-code-slab{width:100%;height:max(132px, var(--editor-height));align-self:start}.editor-stack.has-viewport .next-code-slab{position:relative}.editor-stack.has-viewport .code-body .cm-scroller{overscroll-behavior:none;touch-action:none;scrollbar-width:none;overflow:hidden}.editor-stack.has-viewport .code-body .cm-scroller::-webkit-scrollbar{display:none}.editor-stack.has-viewport .code-body .cm-content{padding-top:0;padding-bottom:0}.buffer-position{z-index:10;pointer-events:none;opacity:.82;grid-template-rows:10px minmax(0,1fr) 10px;justify-items:center;width:8px;display:grid;position:absolute;top:7px;bottom:7px;right:3px}.buffer-track{background:#89ae9c21;border-radius:3px;width:3px;height:100%;position:relative}.buffer-track i{background:color-mix(in srgb, var(--theme-bright) 26%, transparent);width:7px;min-height:14px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--theme-bright) 52%, transparent);border-radius:3px;position:absolute;left:-2px}.match-tick{z-index:1;background:color-mix(in srgb, var(--theme-warm) 82%, #ffd98a);width:5px;min-height:2px;max-height:4px;box-shadow:0 0 3px color-mix(in srgb, var(--theme-warm) 45%, transparent);border-radius:1px;position:absolute;left:-1px}.buffer-cue{color:color-mix(in srgb, var(--theme-warm) 76%, #7f9187);opacity:0;font:700 7px/10px ui-monospace,monospace;transition:opacity .12s}.buffer-position.has-above .buffer-cue-top,.buffer-position.has-below .buffer-cue-bottom{opacity:.85}.buffer-name{z-index:10;color:color-mix(in srgb, var(--theme-warm) 62%, #8fa197);letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font:600 10px/12px ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;bottom:2px;left:8px;right:18px;overflow:hidden}.next-code-slab .code-body{padding:8px 5px}.code-body .cm-content,.code-body .cm-gutters{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.code-body .cm-cursorLayer{opacity:1!important;visibility:visible!important;display:block!important}.code-body .cm-cursorLayer .cm-cursor,.code-body .cm-vimMode .cm-cursor{filter:none;background:#f7d8782e;outline:1px solid #ffda7eeb;box-shadow:0 0 3px #ffcd6361;border-left:0!important;width:.62em!important;display:block!important}.code-body .cm-fat-cursor{color:inherit;box-shadow:0 0 3px #ffcd6361;background:#f7d8782e!important;border-left:0!important;outline:1px solid #ffda7eeb!important;width:.62em!important;display:block!important}.code-body .cm-vim-panel{color:#f6edda;background:#05100ef5;align-items:flex-start;padding:4px 7px;font:650 12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.code-body .cm-vim-panel input,.code-body .cm-vim-panel textarea{color:#f6edda;caret-color:#f7d878;min-width:0;font:inherit;background:0 0}.code-body .cm-vim-message{overflow-wrap:anywhere;white-space:pre-wrap!important}.cm-preview-range{background:#ffcf654d;outline:1px solid #ffde8bbf}.cm-match-line{background:#ffcf6524;border-radius:2px}.code-body .cm-editor.cm-effect-operator-pending{transition:box-shadow 90ms ease-out;box-shadow:inset 0 0 0 1px #be9bffb8,inset 0 0 16px #9c68ff1f}.code-body .cm-effect-selection{background:#9e70e81f;position:relative}.code-body .cm-effect-selection-character{border-bottom:2px solid #dfc2ffeb}.code-body .cm-effect-selection-line{box-shadow:inset 0 2px #dfc2ffe0,inset 0 -2px #dfc2ffe0}.code-body .cm-effect-selection-block{background:#9165d821;border-left:1px solid #e6d1fff2;border-right:1px solid #e6d1fff2}.code-body .cm-effect-selection-block.cm-effect-block-start{border-top:2px solid #e6d1fff2}.code-body .cm-effect-selection-block.cm-effect-block-end{border-bottom:2px solid #e6d1fff2}.code-body .cm-effect-selection-block.cm-effect-block-start.cm-effect-block-end{border-top-width:2px;border-bottom-width:2px}.code-body .cm-effect-transient{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px;position:relative}.code-body .cm-effect-range-change{background:linear-gradient(90deg,#bf97ff14,#dfcaff57,#bf97ff14) 100% 0/220% 100%;animation:.22s ease-out both vimRangeResolve;box-shadow:inset 0 -2px #d2b1ffe6}.code-body .cm-effect-capture{background:linear-gradient(90deg,#ffcd6b14,#ffda8f47) 100% 0/100% 100% no-repeat;animation:.2s ease-in both vimCapture;box-shadow:inset 0 0 0 1px #ffda8fc7}.code-body .cm-effect-materialize{background:#64e2a947;animation:.24s ease-out both vimMaterialize;box-shadow:inset 0 -2px #7ef1bce0}.code-body .cm-effect-repeat{opacity:var(--vim-effect-intensity,.7);background:#78d3e033;animation:.168s ease-out both vimRepeatEcho;box-shadow:inset 0 -2px #84e1eee0}.code-body .cm-effect-repeat.cm-effect-materialize{background:#64e2a947;box-shadow:inset 0 -2px #7ef1bce0}.code-body .cm-effect-repeat.cm-effect-range-change{background:linear-gradient(90deg,#bf97ff14,#dfcaff57,#bf97ff14) 100% 0/220% 100%;box-shadow:inset 0 -2px #d2b1ffe6}.code-body .cm-effect-matches{background:#ffc96045;animation:.25s ease-out both vimMatchesResolve;box-shadow:inset 0 0 0 1px #ffde94c2}.code-body .cm-effect-matches.cm-effect-phase-search{background:#67d5e53b;box-shadow:inset 0 0 0 1px #84e5f1c2}.code-body .cm-effect-rewind{background:#76c3e133;animation:.22s ease-out both vimRewind;box-shadow:inset 0 0 0 1px #97d7f0b3}.code-body .cm-effect-rewind.cm-effect-operation-redo{background:#83e0ac33;animation-direction:reverse;box-shadow:inset 0 0 0 1px #9aedbfb8}.code-body .cm-effect-pulse{vertical-align:text-bottom;pointer-events:none;width:0;height:1em;display:inline-block;position:relative}.code-body .cm-effect-pulse:after{content:"";z-index:4;background:#4ba3b82e;border:1px solid #ace1ebe6;border-radius:50%;width:.6em;height:.6em;animation:.22s ease-out both vimPointPulse;position:absolute;bottom:-.08em;left:-.3em;box-shadow:0 0 0 2px #4eb2c91f}.code-body .cm-effect-pulse.cm-effect-phase-record-start:after,.code-body .cm-effect-pulse.cm-effect-phase-record-stop:after{background:#ff695b38;border-color:#ff8d7bf2;box-shadow:0 0 0 2px #ff736229}.code-body .cm-editor.cm-effect-recording{box-shadow:inset 0 0 0 1px #ff7e6a5c}.code-body .cm-effect-deleted-ghost{z-index:3;color:#0000;white-space:pre;pointer-events:none;background:#a877e61f;border-bottom:2px solid #d3abffe0;max-width:calc(100% - 2px);animation:.22s ease-out both vimDeletedRange;position:absolute;overflow:hidden}@media (height<=760px){.editor-stack{margin-top:7px}}@media (width<=599px) and (orientation:portrait){.editor-stack{grid-row:1/10;align-self:stretch;margin:8px 13px 0}.next-code-slab{height:max(132px, var(--editor-height));min-height:0}.editor-stack:has(.demo-controls){grid-row:1/10;grid-template-rows:max(132px, var(--editor-height)) auto;align-content:start}.editor-stack:has(.demo-controls) .next-code-slab{height:100%}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.next-code-slab{min-height:0}.editor-stack:has(.demo-controls){grid-template-rows:max(132px, var(--editor-height)) auto;align-content:start}.editor-stack:has(.demo-controls) .next-code-slab{height:100%}.next-code-slab .code-body{padding:3px}.code-body .cm-scroller{font-size:14px;line-height:1.3}}@media (width>=600px){.editor-stack{grid-row:1/10;justify-self:center;width:min(404px,100% - 110px);margin:clamp(18px,4vh,34px) 0 0}.next-code-slab{height:max(132px, var(--editor-height));max-height:none}.editor-stack:has(.demo-controls){grid-template-rows:max(132px, var(--editor-height)) auto;align-content:start}.editor-stack:has(.demo-controls) .next-code-slab{height:100%}}@media (width>=1024px){.editor-stack{width:min(404px,62vw);max-height:360px}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.editor-stack{grid-row:1/10;justify-self:stretch;width:auto;max-height:none;margin:7px 9px}.next-code-slab{height:min(var(--editor-height), 100%);max-height:none}}@media (width>=600px){.editor-stack:not(.has-viewport) .next-code-slab{max-height:none}}@media (prefers-reduced-motion:reduce){.code-body .cm-effect-transient,.code-body .cm-effect-pulse:after,.code-body .cm-effect-deleted-ghost{animation:none!important}.code-body .cm-effect-transient{opacity:1;background-image:none}.code-body .cm-effect-deleted-ghost{opacity:.42;clip-path:none}}@keyframes vimRangeResolve{0%{opacity:.72;background-position:100% 0}to{opacity:1;background-position:0 0}}@keyframes vimCapture{0%{background-size:100% 100%;box-shadow:inset 0 0 0 1px #ffe2a6e6}to{background-size:12% 100%;box-shadow:inset 0 0 0 1px #ffda8f47}}@keyframes vimMaterialize{0%{background-color:#64e2a96b}to{background-color:#64e2a914}}@keyframes vimRepeatEcho{0%{filter:brightness(1.14);background-color:#78d3e061}to{filter:none;background-color:#78d3e012}}@keyframes vimMatchesResolve{0%,40%{background-color:#ffc96054}to{background-color:#ffc9600f}}@keyframes vimRewind{0%{opacity:.58;background-color:#76c3e157}to{opacity:1;background-color:#76c3e10f}}@keyframes vimPointPulse{0%{opacity:.95;transform:scale(.55)}to{opacity:.18;transform:scale(1.55)}}@keyframes vimDeletedRange{0%{opacity:.72;clip-path:inset(0)}to{opacity:0;clip-path:inset(0 0 0 100%)}}.mode-pill{letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;min-width:66px;height:28px;color:var(--moss);background:#33704c21;border:1px solid #7ed69e47;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font:750 9.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;transition:all .25s;display:inline-flex}.mode-pill.visual,.mode-pill.recording,.mode-pill.command{color:#eadfff;background:#784cc433;border-color:#b694ff94;box-shadow:0 0 15px #9d6eff33}.mode-pill.complete{color:#fff0b3;background:#7e531538;border-color:#ffca6080}.field-note-wrap{z-index:7;grid-area:1/1/9/13;align-items:safe center;min-height:0;margin:12px 14px 4px;display:flex;position:relative;overflow:auto}.field-note{color:#e4ede7;background:linear-gradient(145deg,#ffffff0e,#0000 32%),#040d0cf0;border:1px solid #b9e1cc45;border-radius:8px;width:100%;min-height:auto;padding:20px 18px;box-shadow:0 8px 16px #00000080,inset 0 0 0 1px #ffffff06}.field-note-kicker{color:var(--theme-bright);letter-spacing:.14em;text-transform:uppercase;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-meta);margin-bottom:10px;display:block}.field-note .track-note{color:#cbdfd2;line-height:1.4;font-size:var(--text-meta);letter-spacing:.01em;text-transform:none;background:#7852c21a;border-left:2px solid #f0d79a80;border-radius:0 6px 6px 0;margin:0 0 10px;padding:7px 9px}.field-note .track-note.track-optional{background:#78c2a814;border-left-color:#78c2a880}.field-note h2{color:#fff7df;margin:0;font:700 clamp(22px,6vw,29px)/1.05 Georgia,serif}.field-note p{color:#bfd0c5;margin:13px 0 0;font-size:clamp(14px,3.7vw,16px);line-height:1.42}.grammar{color:#f4dc94;white-space:pre-wrap;overflow-wrap:anywhere;background:#7c52c221;border:1px solid #be98ff4d;border-radius:7px;margin:5px 0 0;padding:12px;font:800 16px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:visible}.theory-reference{margin-top:17px}.theory-reference>strong,.field-note .contrast>strong{color:#82dbe7;letter-spacing:.06em;text-transform:uppercase;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.field-note .contrast{color:#94b9ac;font-size:13px}.note-action,.choice-option{color:#362817;cursor:pointer;background:linear-gradient(#ffe59a,#d5a955);border:1px solid #ffd7825c;border-radius:8px;min-height:38px;font:800 11px/1 ui-monospace,monospace;box-shadow:0 2px #715222}.note-action{white-space:normal;min-height:44px;margin:20px auto 0;padding:10px 18px;font-size:14px;line-height:1.2;display:block}.choice-options{gap:8px;margin-top:16px;display:grid}.choice-option{color:#d9eadf;text-align:left;text-transform:none;white-space:normal;background:#263b32db;min-height:47px;padding:9px 11px;font-size:14px;line-height:1.3;box-shadow:inset 0 0 0 1px #ffffff08,0 2px #00000061}.choice-option.selected{border-color:var(--theme-warm);color:#fff4c9;background:#674b1ddb}.choice-option.selected.correct{color:#e4ffed;background:#246341e0;border-color:#7fdaa7}.choice-option.selected.incorrect{color:#fff0e9;background:#6f302ae0;border-color:#ff9a82}.choice-feedback{border-left:3px solid var(--theme-bright);background:#5295701f;padding:10px}.choice-feedback strong{margin-bottom:4px;display:block}.choice-feedback p{margin:0}.choice-feedback.correct{background:#3d8a5b24;border-color:#7fdaa7}.choice-feedback.incorrect{background:#96403324;border-color:#ff9a82}.summary-note ul{color:#c9dace;margin:16px 0 0;padding-left:20px;font-size:14px;line-height:1.45}.summary-note li+li{margin-top:8px}.help-card{z-index:18;color:#292219;opacity:0;visibility:hidden;background:linear-gradient(145deg,#ffffff61,#0000 42%),#dfcda5;border:1px solid #d1bc8b9e;border-radius:10px;max-height:calc(100% - 16px);padding:13px 14px 14px;transition:transform .32s cubic-bezier(.2,.9,.2,1),opacity .22s,visibility .22s;position:absolute;bottom:8px;left:8px;right:8px;overflow-y:auto;transform:translateY(calc(100% + 14px));box-shadow:0 12px 26px #0000008c,inset 0 0 18px #5c3c1a24}.help-card.open{opacity:1;visibility:visible;transform:translateY(0)}.help-header{align-items:center;gap:10px;margin-bottom:11px;display:flex}.help-orb{color:#fbe7a1;background:#1d4a38;border-radius:50%;place-items:center;width:30px;height:30px;font:800 16px/1 Georgia,serif;display:grid}.help-card h2{margin:0;font:700 17px/1.1 Georgia,serif}.help-close{color:#5f503a;background:#42331f1a;border:0;border-radius:9px;width:32px;height:32px;margin-left:auto;font-size:20px}.hint-steps{flex-direction:column;gap:7px;display:flex}.hint-step{text-align:left;background:#fffae273;border:1px solid #553d1e30;border-radius:6px;flex:none;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;min-width:0;min-height:43px;padding:7px 10px;display:grid}.hint-step kbd{color:#25523e;white-space:normal;text-overflow:clip;margin:0;font:800 16px/1 ui-monospace,monospace;display:inline-block;overflow:visible}.hint-step small{color:#66563d;overflow-wrap:anywhere;font-size:14px;line-height:1.25;display:block}.activity-controls:empty{display:none}.command-text{color:#f6edda;text-overflow:ellipsis;white-space:nowrap;flex:1;grid-area:2/2;min-width:0;font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.command-text .ghost{color:#597065;font-weight:500}.guidance{color:#f2cf76;letter-spacing:.02em;text-align:left;text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;max-width:100%;font:800 clamp(16px,4.25vw,18px)/1 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.lesson-label{color:#d9eadf;min-width:0;font:750 var(--text-context)/1.25 ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.035em;overflow-wrap:anywhere;flex:auto}.explore-button{border:1px solid color-mix(in srgb, var(--theme-bright) 42%, transparent);min-width:64px;height:32px;color:var(--theme-bright);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#04110ead;border-radius:999px;flex:none;padding:0 9px;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.explore-button.active{color:#07120f;background:var(--theme-bright)}.explore-button[hidden]{display:none}.activity-intro{background:linear-gradient(90deg, color-mix(in srgb, var(--theme-mid) 66%, #071411), #08161373), repeating-linear-gradient(90deg, transparent 0 20px, #ffffff05 20px 21px);border-bottom:1px solid #a6dbc01a;flex:none;padding:11px 15px 10px;display:block;position:relative}.activity-intro[hidden],.next-reset-button[hidden],.icon-button[hidden],.hint-button[hidden]{display:none}.activity-intro-row{align-items:center;gap:10px;display:flex}.activity-kicker,.dialog-kicker,.completion-panel>span{color:var(--theme-bright);font:800 var(--text-meta)/1.25 ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.12em;text-transform:uppercase}.hint-button{width:32px;height:32px;color:var(--theme-bright);flex-basis:32px;font:800 17px/1 Georgia,serif}.activity-intro h1{color:#fff7df;overflow-wrap:anywhere;margin:5px 0 0;font:700 clamp(22px,6vw,28px)/1.08 Georgia,Times New Roman,serif}.activity-intro p{color:#b8cbc0;font:400 var(--text-body)/1.38 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;overflow-wrap:anywhere;margin:6px 0 0}.activity-intro code,.command-explanation code,.field-note code,.hint-step small code,.completion-panel code,.toc-activity-title code,.toc-lesson strong code{color:#f8e7ad;background:#7852c221;border:1px solid #b3d9c52e;border-radius:4px;padding:.08em .26em;font:700 .88em/1.1 ui-monospace,SFMono-Regular,Menlo,monospace}.activity-intro strong,.command-explanation strong,.field-note strong,.field-note .contrast>strong,.hint-step small strong,.completion-panel strong strong{color:#fff7df}.activity-intro em,.command-explanation em,.field-note em,.hint-step small em,.completion-panel em{color:#bcd7ca}.hint-step small code{color:#66563d;background:#ffffff57;border-color:#66563d3d}.next-command-tray{--status-rail-width:clamp(86px, 24vw, 104px);height:var(--execution-console-height,126px);grid-template-columns:minmax(0, 1fr) var(--status-rail-width);background:#030c0aeb;border-top:1px solid #99c6b121;border-bottom:1px solid #99c6b121;flex:none;grid-template-rows:minmax(0,1fr);padding:0;display:grid;overflow:hidden}.next-command-tray.hidden{display:none}.next-command-tray.error{border-color:#ef74609e;animation:.3s trayShake}.execution-copy{box-sizing:border-box;grid-template-rows:auto auto minmax(25px,1fr);align-content:start;gap:5px;min-width:0;height:100%;min-height:0;padding:9px 10px 8px 15px;display:grid;overflow:hidden}.command-explanation{color:#d7e5dc;overflow-wrap:anywhere;font:600 15px/1.3 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.command-history-label{color:#789487;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:8px;margin-top:2px;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.command-history-label.has-impact .history-label,.command-history-label:not(.has-impact) .impact-readout{display:none}.execution-status{color:#f2cf76;background:color-mix(in srgb, var(--theme-mid) 13%, #040d0cf5);text-align:center;border-left:1px solid #a6dbc024;grid-template-rows:auto auto minmax(30px,1fr);align-content:center;justify-items:center;min-width:0;min-height:0;padding:10px 5px;display:grid}.status-primary,.status-secondary{letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;font:850 12px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.status-secondary{white-space:pre-line;max-width:100%;margin-top:2px}.status-key{justify-content:center;align-items:start;min-height:30px;padding-top:7px;display:flex}.status-key[hidden]{display:none}.status-key.error .command-key{color:#fff0e9;background:linear-gradient(#6e302c,#341817);border-color:#ff8e79e6;animation:.42s expectedKeyError}.command-key{color:#f6edda;white-space:nowrap;background:linear-gradient(#273a33,#14231e);border:1px solid #c2ded04d;border-bottom-color:#527062a6;border-radius:4px;justify-content:center;align-items:center;min-width:15px;height:21px;padding:0 2px;font:750 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex;box-shadow:0 1px #000000b3,inset 0 1px #ffffff0d}.status-command-key{border-color:color-mix(in srgb, var(--theme-warm) 44%, #c2ded04d);color:#fff5cd;min-width:30px;height:30px;padding:0 6px}.next-command-tray .command-text{color:#f6edda;white-space:normal;overscroll-behavior:contain;scrollbar-width:thin;text-overflow:clip;flex-wrap:wrap;grid-area:3/1;align-content:start;align-items:start;gap:2px;min-width:0;min-height:0;font:700 14px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;overflow:hidden auto}.execution-measure{z-index:-1!important;visibility:hidden!important;pointer-events:none!important;height:auto!important;min-height:0!important;position:fixed!important;top:0!important;left:-10000px!important}.execution-measure .command-text{overflow:visible}.demo-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%;display:grid}.demo-controls button{color:#d9eadf;background:linear-gradient(#2c443a,#18251f);border:1px solid #b6d8c733;border-radius:8px;min-width:0;min-height:44px;padding:9px 10px;font:800 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 2px #07100e}.demo-controls button:disabled{opacity:.38;cursor:default}.field-note h2{overflow-wrap:anywhere;font-size:clamp(22px,6vw,28px)}.field-note p,.field-note .contrast,.summary-note ul{font-size:var(--text-body);overflow-wrap:anywhere;line-height:1.42}.primary-action{white-space:normal;min-height:44px;padding:9px 10px;font:800 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.completion-panel .primary-action{color:#362817;background:linear-gradient(#ffe59a,#d5a955);border:1px solid #ffe6a38c;border-radius:8px;grid-area:3/2;place-self:end;width:auto;min-width:84px;max-width:104px;height:44px;min-height:44px;box-shadow:0 2px #715222}.completion-panel{color:#fff5cd;background:#2e361ef5;border:1px solid #ffe18d8f;border-radius:11px;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px 10px;width:100%;height:100%;margin:0;padding:12px 13px;display:grid;box-shadow:0 8px 22px #0006,0 0 23px #ffc24b29}.completion-panel>span,.completion-panel strong,.completion-panel p{grid-column:1}.completion-panel>span{color:#d9bb69;letter-spacing:.08em;text-transform:uppercase;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.completion-panel strong{color:#fff7df;overflow-wrap:anywhere;font:700 clamp(17px,4.7vw,20px)/1.16 Georgia,serif}.completion-panel p{color:#d3e1d7;overflow-wrap:anywhere;margin:0;font:400 14px/1.34 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.track-badge{color:#f0d79a;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#7852c229;border:1px solid #b3d9c538;border-radius:999px;padding:3px 6px;font:750 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.track-badge.track-optional{color:#b8d6c6;background:#78c2a81f}.activity-type{color:#aec2b7;text-transform:uppercase;white-space:normal;text-align:center;border:1px solid #a0c7b42e;border-radius:999px;min-width:58px;padding:4px 6px;font:800 10px/1 ui-monospace,monospace}.type-exercise{color:#f5d982;border-color:#f5d98252}.type-demo{color:#cab7ff;border-color:#cab7ff52}.type-theory{color:#82dbe7;border-color:#82dbe752}.type-guided{color:#f5d982;border-color:#f5d98252}.type-recall{color:#f39ac3;border-color:#f39ac36b}.mode-pill.mode-insert,.mode-pill.mode-replace{color:#ffd58a;background:#794e183d;border-color:#ffc86680}.mode-pill.mode-operator-pending{color:#eadfff;background:#784cc438;border-color:#b694ff94}.mode-pill.mode-visual,.mode-pill.mode-visual-line,.mode-pill.mode-visual-block,.mode-pill.mode-command-line{color:#dff8ff;background:#226f8033;border-color:#78dbea75}.mode-pill.mode-identify{color:#ffe39b;border-style:dashed;border-color:#ffd67580}.mode-pill.mode-complete{color:#fff0b3}.note-routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.note-routes .note-action{width:100%;margin:0}.secondary-action{color:#d6e5dc;background:linear-gradient(#2a4037,#17251f);border-color:#9dc3b047;box-shadow:0 2px #07100e}.unit-continuation{gap:8px;margin-top:16px;display:grid}.unit-continuation>.note-action,.unit-continuation>.note-routes{margin-top:0}.unit-continuation>.note-routes{grid-template-columns:1fr}.unit-coming-soon{background:#42351f6b;border:1px solid #ffd77d3d;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.unit-coming-soon span{color:#d9e7dd;font:700 12px/1.2 ui-monospace,monospace}.unit-coming-soon strong{color:#ffe09a;letter-spacing:.04em;text-transform:uppercase;font:800 11px/1.2 ui-monospace,monospace}.mode-compass{gap:6px;margin:9px 0 4px;display:grid}.field-note:has(.mode-compass){padding:13px 14px}.field-note:has(.mode-compass) h2{margin-bottom:7px;font-size:22px}.field-note:has(.mode-compass)>p{margin:0 0 7px;font-size:14px;line-height:1.3}.field-note:has(.mode-compass) .note-action{margin-top:10px}.mode-home{color:#dff7e7;text-align:center;background:#33704c3d;border:1px solid #7ed69e6b;border-radius:999px;justify-self:center;gap:2px;min-width:116px;padding:6px 12px;display:grid}.mode-home small,.mode-spoke small,.mode-spoke em{color:#9ab6a8;font:600 10px/1.25 ui-monospace,monospace}.mode-spokes{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.mode-spoke{background:#05100eb8;border:1px solid #9fc3b12e;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:3px 7px;min-width:0;padding:5px 7px;display:grid}.mode-spoke>span{color:#ffe09a;font:800 11px/1.2 ui-monospace,monospace}.mode-spoke strong{overflow-wrap:anywhere;min-width:0;font-size:10px;line-height:1.15}.mode-spoke small{grid-column:1/-1}.mode-spoke em{color:#c7b4ff;grid-column:1/-1;font-style:normal}.command-forge{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:5px;margin:16px 0;display:grid}.forge-plus{color:#8fa99c;align-self:center;font-weight:900}.forge-part{text-align:center;background:linear-gradient(#4b3b23bd,#1e1f1ae6);border:1px solid #ffcf714d;border-radius:9px;justify-items:center;gap:4px;min-width:0;padding:8px 5px;display:grid}.forge-part kbd{color:#fff0bd;font:900 22px/1 ui-monospace,monospace}.forge-part strong{color:#80dce8;text-transform:uppercase;font:800 9px/1 ui-monospace,monospace}.forge-part small{color:#afc1b7;overflow-wrap:anywhere;font-size:9px;line-height:1.2}.execution-assembly{grid-template-columns:repeat(var(--assembly-count), minmax(0, 1fr));align-items:stretch;gap:3px;width:100%;min-width:0;margin-top:8px;display:grid}.assembly-part{opacity:.42;border:1px solid #9dc3b029;border-radius:6px;grid-template-rows:auto auto;align-content:center;justify-items:center;gap:3px;min-width:0;padding:4px 2px;display:grid}.assembly-part.active{opacity:1;background:#6547182e;border-color:#ffd36f6b}.assembly-part kbd{color:#ffe5a4;font:900 13px/1 ui-monospace,monospace}.assembly-part kbd.concealed{color:#7d8f86}.assembly-part small{color:#a9beb3;text-overflow:clip;white-space:nowrap;max-width:100%;font:700 8px/1.1 ui-monospace,monospace;overflow:hidden}.inspection-layout{grid-area:1/1/10/13;grid-template-rows:minmax(118px,.72fr) minmax(0,1.28fr);gap:8px;min-height:0;margin:10px 14px 6px;display:grid}.inspection-code-slab{min-height:0}.inspection-code-slab .code-body{height:100%}.inspection-choice{min-height:0;overflow:auto}.inspection-choice .field-note{height:auto;padding:13px 14px}.inspection-choice .field-note h2{margin-bottom:7px;font-size:20px}.inspection-choice .field-note p{font-size:13px;line-height:1.3}.inspection-choice .choice-options{gap:5px;margin-top:9px}.inspection-choice .choice-option{min-height:38px;padding:7px 10px;font-size:12px}.inspection-choice .choice-feedback{margin:8px 0 0;font-size:12px}.review-idea-action{color:#dbe9e1;background:linear-gradient(#2a4037,#17251f);border:1px solid #9dc3b04d;border-radius:8px;min-height:44px;padding:8px 14px;font:800 13px/1.2 ui-monospace,monospace}@media (height<=760px){.activity-intro{padding-top:8px;padding-bottom:8px}.activity-intro h1{font-size:22px}.activity-intro p{font-size:15px;line-height:1.32}.execution-copy{padding-top:7px;padding-bottom:7px}.command-explanation{font-size:14px;line-height:1.28}}.activity-kicker{flex:1;align-items:center;gap:.55em;min-width:0;display:flex}.activity-language:before{content:"·";margin-right:.55em}.next-command-tray.is-step-status .status-primary,.next-command-tray.is-step-status .status-secondary{letter-spacing:.035em;margin:0;font:850 12px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace}.next-command-tray.is-step-status .execution-status{gap:3px}@media (width<=599px) and (orientation:portrait){.activity-kicker{z-index:1;color:var(--theme-bright);top:10px;bottom:10px;left:9px}.hint-button{top:9px;right:10px}.activity-intro h1{font-size:clamp(20px,5.7vw,23px)}.activity-intro p{max-width:100%;padding-bottom:3px;font-size:14px;line-height:18px}.next-command-tray{--status-rail-width:76px;height:var(--execution-console-height,94px)}.execution-copy{grid-template-rows:auto minmax(25px,1fr);gap:4px;padding:8px 10px 7px 13px}.command-explanation{font-size:14px;line-height:1.28}.command-explanation code{padding-inline:.12em}.command-history-label{display:none}.command-history-label.has-impact{grid-row:3;margin-top:0;display:flex}.next-command-tray .command-text{grid-row:2;align-self:stretch;font-size:13px}.field-note-wrap,.inspection-layout{grid-row:1/10}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.activity-intro-row{display:block}.activity-kicker{font-size:9px;display:block}.activity-language{display:none}.hint-button{flex-basis:29px;width:29px;height:29px;font-size:14px;position:absolute;top:5px;right:5px}.activity-intro h1{margin-top:5px}.activity-intro p{margin-top:4px}.command-history-label{margin:0;font-size:8px;line-height:1;display:block}.command-history-label.has-impact{grid-row:3;margin-top:0;display:flex}.command-history-label.has-impact .impact-readout{font-size:9px}.next-command-tray.is-step-status .status-primary,.next-command-tray.is-step-status .status-secondary{font-size:10px}.status-key{min-height:20px;padding-top:3px}.status-command-key{height:22px;min-height:22px;font-size:12px}}@media (width>=600px){.lesson-label{font-size:clamp(12px,1.4vw,14px)}.activity-intro{padding:15px max(24px,7vw) 14px}.activity-intro-row,.activity-intro h1,.activity-intro p{width:min(100%,920px);margin-left:auto;margin-right:auto}.next-command-tray{--status-rail-width:128px;min-height:116px;height:var(--execution-console-height,116px)}.execution-copy{width:min(100%,900px);margin-left:max(0px,50vw - 560px);padding-left:max(24px,7vw)}.field-note-wrap{justify-self:center;width:min(760px,100% - 60px);margin:24px 0}.field-note{max-height:100%}.inspection-layout{justify-self:center;width:min(760px,100% - 60px);margin:20px 0}}@media (width>=1024px){.activity-intro{padding-left:max(42px,50vw - 560px);padding-right:max(42px,50vw - 560px)}.field-note-wrap,.inspection-layout{width:min(820px,100% - 100px)}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.activity-intro h1{width:auto;max-width:none;margin:5px 0 0;font-size:clamp(16px,3.1vw,20px);line-height:1.06}.activity-intro p{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.next-command-tray{--status-rail-width:58px;flex:1 1 0;height:auto;min-height:0}.execution-copy{width:auto;margin:0}}@media (width>=600px){.activity-intro h1{font-size:clamp(27px,3.4vw,36px)}.activity-intro p,.command-explanation{font-size:clamp(16px,1.95vw,19px)}.next-command-tray .command-text{font-size:15px}}@media (width<=599px) and (orientation:portrait){.activity-intro{min-height:0;padding:9px 13px 8px}.activity-intro-row{display:flex}.activity-kicker{writing-mode:horizontal-tb;font-size:10px;line-height:1.1;display:flex;position:static;transform:none}.activity-language{display:inline}.hint-button{position:static}.activity-intro h1{max-width:none;margin-top:4px}.activity-intro p{margin-top:3px}}@media (width>=1024px){.activity-intro{border:1px solid #a6dbc01a;border-radius:12px;margin:10px auto 0;padding:15px clamp(28px,5vw,64px) 14px}.activity-intro-row,.activity-intro h1,.activity-intro p{width:100%}.next-command-tray{border:1px solid #99c6b121;border-radius:12px;margin:10px auto 0}.execution-copy{width:auto;margin:0;padding-left:clamp(22px,4vw,48px)}}.completion-panel.in-world{z-index:8;grid-area:7/3/10/11;align-self:end;height:auto;min-height:126px}.completion-host{z-index:9;pointer-events:none;position:absolute;inset:0}.completion-host .completion-panel{pointer-events:auto}@media (width<=599px) and (orientation:portrait){.activity-intro{padding-top:5px;padding-bottom:6px}}@media (width>=1024px){.completion-host .completion-panel.in-world{width:min(100% - 96px,680px);min-height:126px;position:absolute;inset:min(196px,100% - 160px) auto auto 50%;transform:translate(-50%)}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.activity-intro{flex:none;min-height:0;padding:40px 7px 7px}.activity-kicker,.activity-intro h1{display:none}.explore-button{width:56px;min-width:56px;height:29px;padding:0 5px;font-size:9px;position:absolute;top:5px;right:40px}.activity-intro p{color:#c6d6cd;-webkit-line-clamp:3;width:auto;margin:0;font-size:14px;line-height:1.28}.activity-intro p:before,.command-explanation:before{color:var(--theme-bright);letter-spacing:.11em;text-transform:uppercase;margin-bottom:3px;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.activity-intro p:before{content:"Task"}.command-explanation:before{content:"Step"}.execution-copy{grid-template-rows:minmax(0,1fr) auto minmax(18px,auto);gap:2px;padding:5px 6px}.command-explanation{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.22;display:-webkit-box;overflow:hidden}.next-command-tray .command-text{grid-row:3;align-self:stretch;font-size:13px;line-height:1.3}.execution-status{padding:5px 3px}.next-command-tray.is-step-status .status-primary,.next-command-tray.is-step-status .status-secondary,.status-primary,.status-secondary{font-size:9px}.help-card{inset:4px;overflow-y:auto}}.field-note-limitation{color:#cbbb96;background:#ffd06c12;border-left:2px solid #ffd06c80;border-radius:0 8px 8px 0;margin:8px 0;padding:8px 10px;font-size:12px;line-height:1.45}.field-note-limitation strong{color:#ffd06c}.activity-kicker .activity-origin{color:#cbb8ff;font-size:11px}@keyframes trayShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}65%{transform:translate(4px)}}@keyframes expectedKeyError{0%,to{transform:translate(0)}25%{transform:translate(-4px)}65%{transform:translate(4px)}}.keyboard-panel{z-index:25;padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:linear-gradient(#162420fa,#070d0cfe);border-top:1px solid #99c6b121;flex:none;position:relative;box-shadow:0 -9px 24px #00000057}.keyboard.hidden{display:none}.keyboard{gap:var(--key-gap);touch-action:manipulation;backface-visibility:hidden;contain:layout paint;flex-direction:column;display:flex;transform:translateZ(0)}.key-row{gap:var(--key-gap);width:100%;display:flex}.key{border:1px solid var(--key-edge);color:#d8e2dc;background:linear-gradient(180deg, #ffffff0e, transparent 35%), linear-gradient(#22302c, var(--key));min-width:0;height:clamp(31px,4.35dvh,39px);box-shadow:0 2px 0 var(--key-shadow), inset 0 0 0 1px #ffffff05;cursor:pointer;touch-action:manipulation;border-bottom-color:#101815;border-radius:5px;flex:1 1 0;justify-content:center;align-items:center;padding:0;font:700 clamp(13px,3.55vw,15px)/1 ui-monospace,SFMono-Regular,Menlo,monospace;transition:transform 55ms,background .12s,border-color .12s,color .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden;transform:translateY(0)}.key .stack{flex-direction:column;justify-content:center;align-items:center;gap:1px;height:88%;display:flex}.key .shifted,.key .base{transition:color .12s,font-size .12s,font-weight .12s,order .12s}.key .shifted{color:#71867c;order:1;font-size:.68em;font-weight:600}.key .base{color:inherit;order:2;font-size:1em;font-weight:750}.keyboard.shift-layer .key .shifted{color:#fff5d7;order:1;font-size:.68em;font-weight:800}.keyboard.shift-layer .key .base{color:#71867c;order:2;font-size:1em;font-weight:750}.keyboard.letter-uppercase .letter-key{text-transform:uppercase}.key.modifier,.key.utility{color:#aebfb7;font-size:clamp(10px,2.65vw,11.5px)}.key.pressed,.key:active{color:#fff8df;box-shadow:0 0 0 var(--key-shadow), inset 0 2px 5px #0006;background:linear-gradient(#16211e,#101916);border-color:#536a60;transform:translateY(2px)}.key.latched{color:#191322;background:linear-gradient(#dacbff,#a989e0);border-color:#d4bcff;box-shadow:0 2px #4d356f,0 0 12px #b694ff7a,inset 0 0 0 1px #ffffff59}.key.hinted{color:#fff1bf;box-shadow:0 2px 0 var(--key-shadow), 0 0 10px #ffc75366, inset 0 0 0 1px #ffdf901f;border-color:#efc86a}.key.hint-playing{color:#2a1d08;background:linear-gradient(#ffe59a,#d9ad57);border-color:#ffe29a;transform:translateY(1px);box-shadow:0 1px #715222,0 0 16px #ffc75399}.key.hint-playing .shifted,.key.hint-playing .base{color:inherit}.u-115{flex-grow:1.15}.u-145{flex-grow:1.45}.u-17{flex-grow:1.7}.u-2{flex-grow:2}.u-space{flex-grow:6}@media (height<=720px){.key{height:30px}}.key.wrong{color:#fff0ea;background:linear-gradient(#72342f,#351816);border-color:#ff8470eb;animation:.36s wrongKeyError;box-shadow:0 0 #401a18,0 0 12px #ef746070,inset 0 1px #ffffff1a}.keyboard-panel{padding-top:7px}.keyboard-panel.empty-panel{display:none}.keyboard-panel.completed .keyboard{visibility:hidden;pointer-events:none}.keyboard-panel.completed .activity-controls{z-index:2;inset:7px 5px calc(7px + env(safe-area-inset-bottom));position:absolute}@media (height<=760px){.key{height:30px}}.keyboard-hidden-by-user{display:none!important}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.keyboard-panel{padding:4px 5px calc(4px + env(safe-area-inset-bottom))}.key{height:clamp(25px,7.1dvh,30px)}}@media (width>=600px){.keyboard-panel{padding-top:10px;padding-left:clamp(12px,3vw,28px);padding-right:clamp(12px,3vw,28px);padding-bottom:calc(10px + env(safe-area-inset-bottom))}.keyboard{gap:5px;width:100%}}@media (width>=1024px){.keyboard{width:min(1080px,100%);margin:0 auto}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.keyboard{gap:2px;width:100%}}@media (width>=600px){.key-row{gap:5px}.key{height:clamp(36px,4.9dvh,46px)}}@media (width>=1024px){.keyboard-panel.completed{padding:0 0 18px;padding:10px clamp(12px, 3vw, 28px) calc(10px + env(safe-area-inset-bottom));background:linear-gradient(#162420fa,#070d0cfe);border-top:1px solid #99c6b121;box-shadow:0 -9px 24px #00000057}.keyboard-panel.completed .keyboard{display:flex}.keyboard-panel.completed .activity-controls{width:min(100% - 48px,1040px);top:10px;bottom:calc(10px + env(safe-area-inset-bottom));margin:0;position:absolute;left:50%;transform:translate(-50%)}.keyboard-panel.completed .completion-panel{min-height:126px}.keyboard-panel.completed.completion-in-world{display:none}}@media (orientation:landscape) and (height<=520px) and (pointer:coarse){.keyboard-panel{padding:3px max(4px, env(safe-area-inset-right)) calc(3px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left))}.key-row{gap:2px}.key{height:clamp(24px,6.1dvh,27px);font-size:clamp(11px,1.8vw,14px)}.key.modifier,.key.utility{font-size:clamp(8px,1.35vw,10px)}}@keyframes wrongKeyError{0%,to{transform:translateY(0)}35%{transform:translateY(2px)}70%{transform:translateY(-1px)}}.dialog-report:hover,.dialog-report:focus-visible{color:var(--theme-bright);border-color:color-mix(in srgb, var(--theme-bright) 45%, transparent)}.app-dialog[open]{z-index:80;color:#e4ede7;width:min(100% - 20px,410px);max-width:none;max-height:calc(100% - 20px);box-shadow:0 24px 70px #000000c7, 0 0 34px color-mix(in srgb, var(--theme-magic) 12%, transparent);background:#0b1815;border:1px solid #b5deca52;border-radius:16px;flex-direction:column;margin:0 auto;padding:0;display:flex;position:absolute;inset:10px 0 auto;overflow:hidden}#tocDialog[open]{height:calc(100% - 20px)}.app-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#010706c7}.dialog-head{border-bottom:1px solid #a6dbc01f;flex:none;align-items:center;gap:12px;padding:15px 15px 13px 17px;display:flex}.dialog-head>div{flex:1;min-width:0}.dialog-head h2{color:#fff7df;overflow-wrap:anywhere;margin:4px 0 0;font:700 25px/1.12 Georgia,serif}.dialog-close{color:#b8cbc0;font-size:25px}.dialog-body{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:13px;overflow-y:auto}#settingsButton.update-ready{position:relative}#settingsButton.update-ready:after,.landscape-controls .icon-button.update-ready:after{content:"";background:var(--amber);border:2px solid #0b1815;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;right:-3px;box-shadow:0 0 8px #ffc86699}.settings-body{align-content:start;gap:18px;padding:14px 14px 12px;display:grid}.settings-heading{color:#7fbf9f;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;padding:0;font-size:11px;font-weight:700}.settings-update{background:#ffc86614;border:1px solid #ffc86673;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.settings-update[hidden]{display:none}.settings-update span{flex:1;gap:3px;min-width:0;display:grid}.settings-update strong{color:#ffe2a0;font-size:14px;line-height:1.25}.settings-update small{color:#c9b791;font-size:12px;line-height:1.3}.settings-update .note-action{flex:none;min-height:40px;margin:0;padding:8px 16px}.settings-group{background:#ffffff06;border:1px solid #a0c7b429;border-radius:12px;overflow:hidden}.setting-switch{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:58px;padding:10px 14px;display:grid}.setting-switch+.setting-switch{border-top:1px solid #a6dbc01a}.setting-switch span{gap:3px;min-width:0;display:grid}.setting-switch strong{font-size:15px;line-height:1.25}.setting-switch small{color:#91aa9d;font-size:12.5px;line-height:1.3}.setting-switch input{appearance:none;cursor:pointer;background:#16241f;border:1px solid #a0c7b44d;border-radius:999px;flex:none;width:46px;height:28px;margin:0;transition:background-color .18s,border-color .18s;position:relative}.setting-switch input:before{content:"";background:#8fa69a;border-radius:50%;width:20px;height:20px;transition:transform .18s,background-color .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000073}.setting-switch input:checked{border-color:var(--theme-bright);background:color-mix(in srgb, var(--theme-bright) 62%, #0b1815)}.setting-switch input:checked:before{background:#fbfff9;transform:translate(18px)}.setting-switch input:focus-visible{outline:2px solid var(--theme-bright);outline-offset:2px}.settings-chips label:has(input:focus-visible){outline:2px solid var(--theme-bright);outline-offset:2px}.settings-choices{align-content:start;gap:18px;display:grid}.settings-chips{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.settings-chips label{color:#d6e5dc;cursor:pointer;background:#ffffff06;border:1px solid #a0c7b429;border-radius:10px;align-items:center;gap:9px;min-height:44px;padding:8px 12px;font-size:14px;font-weight:600;line-height:1.25;display:flex;position:relative}.settings-chips input{appearance:none;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.settings-chips span{overflow-wrap:anywhere;min-width:0}.settings-chips label:has(input:checked){border-color:color-mix(in srgb, var(--theme-bright) 60%, transparent);color:#fff7df;background:color-mix(in srgb, var(--theme-mid) 34%, #040d0cbf)}#themeOptions label:first-of-type{grid-column:1/-1}.settings-swatch{border:1px solid #ffffff47;border-radius:50%;flex:none;width:18px;height:18px}.settings-swatch[data-swatch=auto]{background:conic-gradient(#77e0a3 0 25%, #f59a61 0 50%, #78dbea 0 75%, #55bfd0 0)}.settings-swatch[data-swatch=moonroot]{background:linear-gradient(135deg,#77e0a3,#1c533d 58%,#a77bff)}.settings-swatch[data-swatch=ember]{background:linear-gradient(135deg,#f59a61,#683420 58%,#ff7468)}.settings-swatch[data-swatch=glass]{background:linear-gradient(135deg,#78dbea,#234f68 58%,#b89cff)}.settings-swatch[data-swatch=deepwater]{background:linear-gradient(135deg,#55bfd0,#123f4e 58%,#888cff)}.settings-entry{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-entry label{text-align:center;justify-content:center;padding:8px;font-size:13px}.settings-entry-summary{grid-column:1/-1;align-items:center;gap:12px;margin-top:2px;display:flex}.settings-entry-summary p{color:#adc1b6;flex:1;min-width:0;margin:0;font-size:13px;line-height:1.35}.settings-entry-summary .note-action{flex:none;min-height:40px;margin:0;padding:8px 14px}.settings-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-actions .note-action{width:100%;margin:0}.settings-footer{color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;gap:4px 10px;font-size:11px;line-height:1.35;display:flex}.settings-footer #currentVersion{color:var(--amber);font:700 11px/1.35 ui-monospace,monospace}@media (prefers-reduced-motion:reduce){.setting-switch input,.setting-switch input:before{transition:none}}.keyboard-options{border:0;border-bottom:1px solid #a6dbc01f;gap:8px;margin:0 0 16px;padding:0 0 16px;display:grid}.keyboard-options legend{color:#fff7df;margin-bottom:10px;font:700 20px/1.2 Georgia,serif}.keyboard-options label{cursor:pointer;background:#ffffff06;border:1px solid #a0c7b429;border-radius:9px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.keyboard-options label:has(input:checked){border-color:color-mix(in srgb, var(--theme-bright) 60%, transparent);background:color-mix(in srgb, var(--theme-mid) 28%, #040d0cbf)}.keyboard-options input{accent-color:var(--theme-bright)}.keyboard-options span{gap:4px;min-width:0;display:grid}.keyboard-options strong{font-size:15px;line-height:1.25}.keyboard-options small{color:#91aa9d;font-size:13px;line-height:1.3}.entry-dialog #entryQuestionOptions{border-bottom:0;margin-bottom:0;padding-bottom:0}.entry-dialog .note-action{width:100%;margin:12px 0 0}.entry-dialog .entry-lede{color:#cfe0d6;margin:0 0 12px;font-size:14px;line-height:1.45}@media (width>=600px){.app-dialog[open]{width:min(100% - 48px,920px)}#tocDialog[open]{height:min(100% - 48px,820px)}.app-dialog[open],#tocDialog[open]{top:calc(12px + env(safe-area-inset-top));right:auto;bottom:calc(12px + env(safe-area-inset-bottom));width:min(100% - 48px,920px);height:auto;max-height:none;margin:0;position:fixed;left:50%;transform:translate(-50%)}}@media (width<=599px){.app-dialog[open],#tocDialog[open]{top:calc(10px + env(safe-area-inset-top));right:auto;bottom:calc(10px + env(safe-area-inset-bottom));width:min(100% - 20px,410px);height:auto;max-height:none;margin:0;position:fixed;left:50%;transform:translate(-50%)}}.settings-dialog[open]{max-height:calc(100% - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));bottom:auto}@media (width>=600px){.settings-dialog[open]{width:min(100% - 48px,820px);max-height:calc(100% - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));top:50%;transform:translate(-50%,-50%)}.settings-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:22px;padding:18px 20px 14px}.settings-update,.settings-actions,.settings-footer{grid-column:1/-1}}.reference-dialog[open]{z-index:120;inset:max(10px, env(safe-area-inset-top)) auto max(10px, env(safe-area-inset-bottom)) 50%;color:#e5eee9;background:#081411;border:1px solid #c2e1d157;border-radius:18px;width:min(100% - 20px,460px);max-width:none;height:auto;max-height:none;margin:0;padding:0;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 28px 90px #000000d1,0 0 42px #5fdab71f}.reference-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#010706e6}.reference-surface{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.reference-dialog .reference-visual.world{aspect-ratio:16/9;height:auto;min-height:0;box-shadow:none;border:0;border-bottom:1px solid #c1dcce2e;border-radius:0}.reference-content{grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;min-height:0;padding:14px 16px 16px;display:grid}.reference-heading{align-items:center;gap:10px;display:flex}.reference-kicker{color:#8fd7b6;letter-spacing:.16em;text-transform:uppercase;flex:auto;min-width:0;font-size:11px;font-weight:700}.reference-progress{color:#90a89b;font-variant-numeric:tabular-nums;flex:none;font-size:11px}.reference-title{margin:0;font-size:19px;line-height:1.25}.reference-card-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.reference-card-body>p{color:#cfe0d6;margin:0 0 10px;font-size:14px;line-height:1.5}.reference-card-body .reference-lede{color:#e5eee9}.reference-card-body code{color:#b9f2d3;white-space:nowrap;background:#0a201ab8;border:1px solid #aae1c538;border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.92em}.reference-rows{gap:10px;margin:4px 0 12px;display:grid}.reference-row-heading{display:none}.reference-row{border-top:1px solid #c1dcce29;gap:6px;padding:10px 0 0;display:grid}.reference-row-command{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.reference-row-command code{white-space:normal;color:#ffd79a}.reference-row-command code span{white-space:nowrap}.reference-row-affects{color:#8fa79a;letter-spacing:.04em;font-size:11px}.reference-row-cell{min-width:0}.reference-row-cell p{color:#cfe0d6;margin:0;font-size:14px;line-height:1.45}.reference-row-host p{color:#b6c9be}.reference-cell-label{color:#7fbf9f;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.reference-host-note{color:#b6c9be;background:#ffffff06;border:1px solid #c1dcce2e;border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:14px;line-height:1.45}.reference-notes{color:#a9bdb2;margin:0;padding-left:18px;font-size:14px;line-height:1.45}.reference-notes li{margin-bottom:6px}.reference-notes li:last-child{margin-bottom:0}.reference-actions{flex-wrap:wrap;gap:8px;display:flex}.reference-actions .note-action{flex:auto}@media (width>=480px){.reference-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"command command""vim host";column-gap:14px}.reference-row.single{grid-template-columns:minmax(0,1fr);grid-template-areas:"command""vim"}.reference-row-command{grid-area:command}.reference-row-vim{grid-area:vim}.reference-row-host{grid-area:host}.reference-row .reference-cell-label{display:none}.reference-row-heading{color:#7fbf9f;letter-spacing:.12em;text-transform:uppercase;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px;font-size:11px;font-weight:700;display:grid}.reference-row-heading span:first-child{display:none}}@media (width>=600px){.reference-dialog[open]{inset:calc(12px + env(safe-area-inset-top)) auto calc(12px + env(safe-area-inset-bottom)) 50%;width:min(100% - 48px,920px)}.reference-dialog .reference-visual.world{aspect-ratio:auto;height:clamp(180px,30dvh,340px)}.reference-content{padding:18px 24px 22px}}@media (width>=600px) and (aspect-ratio>=5/4){.reference-surface{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.reference-dialog .reference-visual.world{border-bottom:0;border-right:1px solid #c1dcce2e;height:100%}}@media (orientation:landscape) and (height<=560px){.reference-dialog[open]{width:min(100% - 20px,720px)}.reference-dialog .reference-visual.world{display:none}.reference-surface{grid-template-rows:minmax(0,1fr)}}.reference-examples{flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:4px;display:flex}.reference-examples .reference-cell-label{width:100%;margin-bottom:0;display:block}.reference-examples button,.reference-examples a{color:#b9f2d3;cursor:pointer;background:#0c241d99;border:1px solid #aae1c53d;border-radius:999px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:11px;text-decoration:none}.reference-empty{color:#a9bdb2;font-size:14px}.practice-disclaimer{color:#adc1b6;margin:0 0 12px;font-size:12px;line-height:1.45}.practice-disclaimer button{color:#ffc866;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.practice-random{width:100%;margin-bottom:12px}.practice-file-list{gap:8px;display:grid}.practice-file-list button{color:#e5eee9;font:inherit;text-align:left;cursor:pointer;background:#0c241d99;border:1px solid #aae1c53d;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.practice-file-list button strong{font:700 14px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.practice-file-list button small,.practice-file-list button span{color:#a9bdb2;font-size:12px;line-height:1.35}.practice-file-list button span{color:#8ba79a}.practice-loading{color:#adc1b6;margin:0;font-size:13px}.practice-notice-dialog .dialog-body p{color:#cfe0d6;margin:0 0 10px;font-size:14px;line-height:1.5}.practice-notice-dialog .note-action{width:100%;margin-top:4px}.feedback-dialog[open]{z-index:140}.feedback-place{color:var(--theme-bright);letter-spacing:.09em;text-transform:uppercase;margin:0 0 10px;font:700 11px/1.3 SFMono-Regular,ui-monospace,monospace}.feedback-pending{color:#ffd9a0;background:#ffc86614;border:1px solid #ffc86647;border-radius:9px;margin:0 0 12px;padding:8px 10px;font-size:12px}.feedback-field{margin:0 0 14px;display:block}.feedback-field strong{color:#e7f1ea;margin-bottom:5px;font-size:13px;display:block}.feedback-field textarea{color:#eef5f0;resize:vertical;background:#040e0cb8;border:1px solid #96bdab42;border-radius:10px;width:100%;padding:9px 10px;font:400 16px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#feedbackBuffer{white-space:pre;font-family:SFMono-Regular,ui-monospace,monospace;font-size:13px}.feedback-field textarea:focus-visible{outline:2px solid color-mix(in srgb, var(--theme-bright) 60%, transparent);outline-offset:1px}.feedback-buffer-note{color:#9db1a6;margin-bottom:6px;font-size:11px;line-height:1.35;display:block}.feedback-buffer-note[data-flagged=true]{color:#ffc866}.feedback-categories{margin-bottom:14px}.feedback-categories label{min-height:42px}.feedback-shot{border:1px solid #96bdab29;border-radius:11px;margin-bottom:14px;padding:11px}.feedback-shot strong{color:#e7f1ea;font-size:13px}.feedback-shot-status{color:#9db1a6;margin:4px 0 0;font-size:11px;line-height:1.35}.feedback-shot-preview{object-fit:contain;background:#050f0d;border:1px solid #96bdab2e;border-radius:8px;width:100%;max-height:210px;margin-top:9px;display:block}.feedback-shot-actions{flex-wrap:wrap;gap:8px;display:flex}.feedback-shot-actions .note-action{margin:9px 0 0}.feedback-shot-input{display:none}.feedback-details{border:1px solid #96bdab29;border-radius:11px;margin-bottom:12px;padding:9px 11px}.feedback-details summary{color:#cfe0d6;cursor:pointer;font-size:13px}.feedback-details[open] summary{margin-bottom:11px}.feedback-details .note-action{margin:0 0 12px}.feedback-preview{color:#b9cbc0;white-space:pre-wrap;overflow-wrap:anywhere;background:#030b0ab3;border-radius:8px;max-height:220px;margin:0;padding:9px;font:400 11px/1.45 SFMono-Regular,ui-monospace,monospace;overflow-y:auto}.feedback-status{min-height:17px;margin:0 0 4px;font-size:12px}.feedback-status[data-tone=ok]{color:var(--theme-bright)}.feedback-status[data-tone=error]{color:#ff9b8f}.feedback-actions{flex-wrap:wrap;gap:8px;display:flex}.feedback-actions .note-action{flex:auto;margin:0}.feedback-actions .note-action[hidden]{display:none}#tocDialog .dialog-head{border-bottom:0;padding-bottom:10px}.toc-head-progress{color:#77e0a3;white-space:nowrap;justify-items:end;gap:3px;font:800 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.toc-head-progress b span{color:#7f998c;font-size:12px}.toc-head-progress small{color:#7f998c;letter-spacing:.06em;text-transform:uppercase;font:700 10.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-tabs{background:#00000040;border:1px solid #c1dcce1f;border-radius:11px;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0 12px 2px;padding:3px;display:grid}.toc-tabs button{color:#99b4a6;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-radius:8px;min-height:40px;font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-tabs button[aria-selected=true]{color:#fff7df;background:linear-gradient(#ffffff1a,#ffffff0a);box-shadow:inset 0 0 0 1px #ffffff1a,0 1px #0006}.toc-tabs button:focus-visible{outline:2px solid var(--theme-bright);outline-offset:-2px}.toc-panel[hidden]{display:none}.toc-tab-lede,#tocPractice .mastery-intro{color:#99b4a6;margin:2px 2px 14px;font-size:13px;line-height:1.4}.toc-tab-lede strong,#tocPractice .mastery-intro strong{color:#e4ede7;font-weight:650}.toc-course{flex:1;min-height:0;margin-top:8px;position:relative;overflow:hidden}.toc-view{overscroll-behavior:contain;scrollbar-gutter:stable;transition:transform .28s,opacity .28s,visibility linear;position:absolute;inset:0;overflow-y:auto}.toc-view[inert]{visibility:hidden;pointer-events:none;transition:transform .28s,opacity .28s,visibility 0s linear .28s}.toc-unit-list{padding:4px 12px 28px}.toc-unit-list[inert]{opacity:0;transform:translate(-18%)}.toc-unit-page{padding-bottom:28px}.toc-unit-page[inert]{transform:translate(100%)}.toc-story-row{width:100%;color:inherit;text-align:left;background:#f2d17d0a;border:1px solid #f2d17d33;border-radius:12px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 4px;padding:8px 12px 8px 8px;display:grid}.toc-story-row:last-child{margin:20px 0 0}.toc-story-row.later{opacity:.62}.toc-story-row img{object-fit:cover;border-radius:7px;width:56px;height:40px}.toc-story-glyph{color:#f2d17d;text-align:center;width:56px;font:400 22px/1 Georgia,serif}.toc-story-kicker{color:#f2d17d;letter-spacing:.08em;text-transform:uppercase;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.toc-story-row strong{color:#fff7df;font:700 15px/1.25 Georgia,serif;display:block}.toc-story-row em{color:#8aa396;text-align:right;font:700 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-arc-divider{color:var(--theme-warm);grid-template-columns:minmax(28px,1fr) auto minmax(28px,1fr);align-items:center;gap:10px;margin:20px 3px 10px;display:grid}.toc-arc-divider:before,.toc-arc-divider:after{content:"";background:linear-gradient(#f7c86661 0 1px,#0000 1px 4px,#f7c86633 4px 5px);height:5px}.toc-arc-divider:before{-webkit-mask-image:linear-gradient(270deg,#000,#0000);mask-image:linear-gradient(270deg,#000,#0000)}.toc-arc-divider:after{-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.toc-arc-divider span{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--theme-warm) 30%, transparent));font:400 22px/1.2 Georgia,Times New Roman,serif}.toc-arc-heading{text-align:center;text-wrap:balance;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 8px;margin:16px 0 10px;display:flex}.toc-arc:first-of-type .toc-arc-heading{margin-top:18px}.toc-arc-heading span{color:var(--theme-warm);letter-spacing:.08em;text-transform:uppercase;font:850 13px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-arc-heading strong{color:#dce9e2;font:750 18px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-arc-units{gap:6px;display:grid}.toc-unit-row{width:100%;min-height:58px;color:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--unit-mid) 22%, transparent), #ffffff04 60%);text-align:left;border:1px solid #c1dcce21;border-radius:12px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 12px 0 0;display:grid;overflow:hidden}.toc-unit-strip{background:var(--unit-thumb,var(--unit-gradient,#173e33)) center / cover no-repeat;filter:saturate(.85)brightness(.82);align-self:stretch;position:relative}.toc-unit-strip:after{content:"";background:linear-gradient(90deg,#0000 40%,#0b1815e6);position:absolute;inset:0}.toc-unit-row:not(.current):not(.finished) .toc-unit-strip{filter:saturate(.4)brightness(.55)}.toc-unit-strip b{z-index:1;color:#fff7df;text-shadow:0 1px 3px #000,0 0 8px #000;font:850 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;bottom:6px;left:8px}.toc-unit-text{min-width:0;padding:8px 0}.toc-unit-number{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toc-unit-text strong{color:#fff7df;font:700 14.5px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.toc-unit-row:not(.current):not(.finished) .toc-unit-text strong{color:#c9d6cf}.toc-unit-text small{color:#7f998c;margin-top:4px;font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.toc-unit-mark{color:#7f998c;font-size:20px}.toc-unit-mark.toc-unit-complete{color:#77e0a3;font:800 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-unit-row.current{border-color:color-mix(in srgb, var(--unit-bright) 45%, transparent);box-shadow:inset 3px 0 0 var(--unit-bright), 0 0 18px color-mix(in srgb, var(--unit-bright) 12%, transparent)}.toc-unit-row.current .toc-unit-text small{color:var(--unit-bright);font-weight:800}.toc-unit-row.current .toc-unit-mark:not(.toc-unit-complete){color:var(--unit-bright)}.toc-unit-row:focus-visible,.toc-story-row:focus-visible{outline:2px solid var(--theme-bright);outline-offset:2px}.toc-page-bar{z-index:3;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;height:52px;margin-bottom:-52px;padding:0 10px;transition:background .2s,box-shadow .2s;display:grid;position:sticky;top:0}.toc-page-bar.solid{background:#0b1815;box-shadow:0 1px #c1dcce1f,0 8px 18px #00000059}.toc-back{color:#fff7df;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;background:#071210a8;border:1px solid #ffffff38;border-radius:999px;min-height:36px;padding:0 12px 0 9px;font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-page-bar-title{color:#fff7df;text-overflow:ellipsis;white-space:nowrap;opacity:0;min-width:0;font:700 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;transition:opacity .2s;overflow:hidden}.toc-page-bar-title b{color:var(--unit-warm)}.toc-page-bar.solid .toc-page-bar-title{opacity:1}.toc-here{border:1px solid color-mix(in srgb, var(--unit-bright) 60%, transparent);color:var(--unit-bright);letter-spacing:.08em;text-transform:uppercase;background:#071416b8;border-radius:999px;grid-column:3;padding:4px 7px;font:800 10.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-unit-hero{background:var(--unit-hero,var(--unit-gradient,#173e33)) center / cover no-repeat;flex-direction:column;justify-content:flex-end;min-height:clamp(112px,19dvh,176px);padding:56px 14px 12px;display:flex;position:relative}.toc-unit-hero:before{content:"";background:linear-gradient(#0b181559 0%,#0b181526 30%,#0b1815c7 72%,#0b1815 100%);position:absolute;inset:0}.toc-unit-hero>*{position:relative}.toc-hero-kicker{color:var(--unit-warm);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 3px #000;font:850 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-unit-hero h3{color:#fff7df;text-shadow:0 1px 8px #000c;outline:none;margin:3px 0 0;font:700 20px/1.2 Georgia,serif}.toc-page-body{padding:0 12px}.toc-guide{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:6px 0 10px;display:grid}.toc-guide img{border:2px solid color-mix(in srgb, var(--unit-bright) 70%, #000);object-fit:cover;background:#0b1815;border-radius:50%;width:40px;height:40px}.toc-guide p{color:#c7d6ce;grid-column:2;margin:0;font:italic 400 13px/1.4 Georgia,serif}.toc-guide b{color:#8aa396;letter-spacing:.08em;text-transform:uppercase;font:800 10.5px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.toc-unit-progress{color:var(--unit-bright);align-items:center;gap:8px;margin:0 2px 10px;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.toc-bar{background:#ffffff14;border-radius:2px;flex:1;height:4px;overflow:hidden}.toc-bar i{background:var(--unit-bright);height:100%;display:block}.toc-unit-open{border:1px solid color-mix(in srgb, var(--unit-bright) 45%, transparent);color:#fff7df;background:linear-gradient(#2c443a,#18251f);border-radius:10px;width:100%;min-height:44px;margin:0 0 10px;padding:0 12px;font:800 13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 2px #07100e}.toc-unit-warning{background:#7852c21f;border:1px solid #f0d79a47;border-radius:9px;margin:0 0 10px;padding:9px 10px}.toc-unit-warning p{color:#d9d2c0;margin:0;font-size:12.5px;line-height:1.4}.toc-unit-warning p+p{margin-top:4px}.toc-unit-warning-head{font-weight:800;color:#f0d79a!important}.toc-unit-warning button{color:#f0d79a;background:#7852c22e;border:1px solid #f0d79a52;border-radius:8px;min-height:34px;margin-top:8px;padding:0 11px;font:750 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-unit-recommended{color:#91aa9d;margin:0 2px 10px;font-size:12px;font-style:italic;line-height:1.4}.toc-lessons-box{background:#ffffff05;border:1px solid #c1dcce21;border-radius:12px;padding:0 8px}.toc-lesson+.toc-lesson{border-top:1px solid #c1dcce1a}.toc-lesson summary{cursor:pointer;grid-template-columns:24px minmax(0,1fr) repeat(2,auto);align-items:center;gap:8px;min-height:46px;padding:6px 2px;list-style:none;display:grid}.toc-lesson summary::-webkit-details-marker{display:none}.toc-lesson summary>span:first-child{color:var(--theme-warm);text-align:center;font:800 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-lesson summary strong{color:#f1ead6;font:650 14px/1.3 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.toc-lesson summary small{color:#7f998c;text-align:right;white-space:nowrap;min-width:22px;font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-lesson summary small:after{content:" ▾";font-size:10px}.toc-lesson[open] summary small:after{content:" ▴"}.toc-count-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toc-activities{gap:4px;padding:0 0 10px;display:grid}.toc-activity{color:#e4ede7;text-align:left;background:#040d0c8c;border:1px solid #0000;border-radius:8px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:46px;padding:6px 8px;display:grid}.toc-activity.current{border-color:color-mix(in srgb, var(--theme-bright) 58%, transparent);background:color-mix(in srgb, var(--theme-mid) 40%, #040d0ccc);box-shadow:inset 3px 0 0 var(--theme-bright), 0 0 18px color-mix(in srgb, var(--theme-bright) 18%, transparent)}.toc-number{color:#7f998c;white-space:nowrap;font:700 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-activity.current .toc-number{color:var(--theme-bright)}.toc-activity-title{overflow-wrap:anywhere;font-size:14px;line-height:1.3}.toc-unit-actions{flex-wrap:wrap;gap:6px;margin:10px 0 2px;display:flex}.toc-chip{color:#dce9e2;background:#ffffff0a;border:1px solid #c1dcce33;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:4px 12px 4px 8px;font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex}.toc-chip span{width:18px;color:var(--theme-warm);text-align:center}.toc-unit-unavailable{color:#a9bdb2;margin:6px 2px;font-size:13px;line-height:1.4}.toc-unit-editor{border-left:2px solid var(--theme-warm);background:#ffffff08;border-radius:0 8px 8px 0;margin-top:12px;padding:8px 10px}.toc-unit-editor p{color:#b9c9c0;margin:0;font-size:12.5px;line-height:1.4}.toc-unit-editor-label{color:var(--theme-warm);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font:750 10.5px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.toc-unit-editor button{color:#f0d79a;text-underline-offset:3px;background:0 0;border:0;min-height:32px;margin-top:6px;padding:0;font:750 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-decoration:underline}.toc-pager{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.toc-pager button{min-height:54px;color:inherit;text-align:left;background:#ffffff05;border:1px solid #c1dcce21;border-radius:10px;padding:6px 10px}.toc-pager .toc-pager-next{text-align:right;grid-column:2}.toc-pager small{color:#8aa396;letter-spacing:.06em;text-transform:uppercase;font:800 10.5px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.toc-pager span{color:#dce9e2;margin-top:3px;font:650 12.5px/1.25 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:block}.toc-escape-hint{color:#7f998c;text-align:center;margin:14px 4px 0;font:700 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;display:none}.toc-escape-hint kbd{font:inherit;border:1px solid #c1dcce33;border-radius:4px;padding:1px 5px}@media (hover:hover) and (pointer:fine){.toc-escape-hint{display:block}}#tocPractice h3{color:#cbb8ff;letter-spacing:.1em;text-transform:uppercase;margin:0 2px 8px;font:800 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}#tocPractice .mastery-caveat{color:#8fa89b;margin:0 2px 10px;font-size:12px;line-height:1.4}.mastery-sessions{margin-bottom:18px}.mastery-session-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;display:grid}.mastery-session-actions button{color:#e4ede7;text-align:left;background:#ffffff08;border:1px solid #c1dcce33;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.mastery-session-actions .mastery-session-primary{background:linear-gradient(160deg,#a88cff2e,#a88cff0a);border-color:#a88cff66}.mastery-session-actions button strong{color:#fff7df;font-size:15px;font-weight:750}.mastery-session-actions button small{color:#a9bdb2;font-size:12px;line-height:1.35}.mastery-session-actions button[disabled]{opacity:.55;cursor:default}.mastery-topics-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.mastery-topics-head h3{margin-bottom:0!important}.mastery-arrange{background:#00000040;border:1px solid #c1dcce1f;border-radius:8px;padding:2px;display:flex}.mastery-arrange button{color:#99b4a6;white-space:nowrap;background:0 0;border:0;border-radius:6px;min-height:32px;padding:0 9px;font:750 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.mastery-arrange button[aria-pressed=true]{color:#fff7df;background:#ffffff17}.mastery-arc{color:#dce9e2;margin:16px 2px 6px;font:750 13px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.mastery-arc:first-child{margin-top:4px}.mastery-arc span{color:var(--theme-warm);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.mastery-unit,.mastery-group{background:#ffffff05;border:1px solid #c1dcce21;border-radius:10px;margin-bottom:6px}.mastery-unit>summary,.mastery-group>summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 8px;min-height:48px;padding:7px 10px;list-style:none;display:grid}.mastery-unit>summary::-webkit-details-marker{display:none}.mastery-group>summary::-webkit-details-marker{display:none}.mastery-unit>summary>span:first-child{color:var(--theme-warm);font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.mastery-unit>summary strong{color:#f1ead6;font-size:13.5px;font-weight:650;line-height:1.3}.mastery-unit>summary small,.mastery-group>summary small{color:#8aa396;white-space:nowrap;font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.mastery-unit>summary small b{color:#ff9d94}.mastery-meter{background:#ffffff0f;border-radius:2px;grid-column:1/-1;height:3px;overflow:hidden}.mastery-meter i{background:linear-gradient(90deg,#78dbea,#77e0a3);height:100%;display:block}.mastery-group>summary{grid-template-columns:minmax(0,1fr) auto}.mastery-group>summary strong{color:#fff7df;font-size:14px;font-weight:750}.mastery-group-due{background:#ff74680d;border-color:#ff746852}.mastery-group-due .mastery-chip.maintenance{display:none}.mastery-group-note{color:#8aa396;margin:-4px 10px 8px;font-size:12px;line-height:1.35}.mastery-unit-concepts{gap:4px;padding:0 6px 6px;display:grid}.mastery-concept{background:#040d0c8c;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.mastery-concept.is-due{box-shadow:inset 2px 0 #ff9d94}.mastery-concept-head{gap:5px;min-width:0;display:grid}.mastery-concept-unit{color:#8aa396;letter-spacing:.06em;text-transform:uppercase;font:750 10.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.mastery-concept-head strong{color:#e4ede7;overflow-wrap:anywhere;font-size:13.5px;font-weight:550;line-height:1.3}.mastery-chips{flex-wrap:wrap;gap:4px;display:flex}.mastery-chip{color:#a9bdb2;text-transform:uppercase;white-space:nowrap;border:1px solid #c1dcce38;border-radius:999px;padding:3px 6px;font:750 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.mastery-chip.state-learning{color:#ffd06c;border-color:#ffd06c66}.mastery-chip.state-practiced{color:#78dbea;border-color:#78dbea66}.mastery-chip.state-integrated{color:#77e0a3;border-color:#77e0a373}.mastery-chip.maintenance{color:#ff9d94;border-color:#ff746873}.mastery-concept-actions{flex-direction:column;gap:4px;display:flex}.mastery-concept-actions button{color:#e3d9ff;background:#a88cff1f;border:1px solid #a88cff66;border-radius:8px;min-width:64px;min-height:34px;padding:0 10px;font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.mastery-concept-actions .mastery-pin{color:#8aa396;background:0 0;border-color:#c1dcce29}.mastery-concept-actions .mastery-pin.pinned{color:#ffd06c;border-color:#ffd06c73}.mastery-concept-actions .mastery-test-out{color:#f0d79a;background:#7852c22e;border-color:#f0d79a4d}.mastery-scratchpad{background:#ffc86608;border:1px dashed #ffc8664d;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:18px;padding:6px 8px 6px 6px;display:grid}.mastery-scratchpad button{color:inherit;text-align:left;background:0 0;border:0}.mastery-scratchpad-open{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-height:52px;padding:4px;display:grid}.mastery-scratchpad-open>span:first-child{color:#ffc866;text-align:center;font-size:20px}.mastery-scratchpad-open strong{color:#ffe0a3;font:750 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.mastery-scratchpad-open small{color:#a9bdb2;margin-top:3px;font-size:12px;line-height:1.35;display:block}.mastery-scratchpad .mastery-scratchpad-browse{color:#ffe0a3;white-space:nowrap;border:1px solid #ffc8664d;border-radius:8px;min-height:38px;padding:0 11px;font:750 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-deck{background:#ffffff05;border:1px solid #c1dcce21;border-radius:12px;margin-bottom:10px;overflow:hidden}.toc-deck-head{gap:4px;padding:12px 12px 10px;display:grid}button.toc-deck-head{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto}button.toc-deck-head>:not(i){grid-column:1}button.toc-deck-head i{color:#7f998c;grid-area:1/2/4;align-self:center;font-size:20px;font-style:normal}.toc-deck-kicker{color:#8fd7b6;letter-spacing:.1em;text-transform:uppercase;font:800 10.5px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-deck-head strong{color:#fff7df;font:700 16px/1.25 Georgia,serif}.toc-deck-head small{color:#a9bdb2;font-size:12.5px;line-height:1.35}.toc-deck-cards{gap:3px;margin:0;padding:0 6px 6px;list-style:none;display:grid}.toc-deck-cards button{color:#e4ede7;text-align:left;background:#040d0c8c;border:0;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 10px 6px 8px;font-size:14px;line-height:1.3;display:grid}.toc-deck-cards button span{color:#7f998c;text-align:center;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-deck-cards button i{color:#7f998c;font-style:normal}.toc-reference-units{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0 6px 6px;display:grid}.toc-reference-units button{color:#e4ede7;text-align:left;background:#040d0c8c;border:0;border-radius:8px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px;min-height:44px;padding:4px 8px 4px 6px;display:grid}.toc-reference-units b{color:var(--theme-warm);text-align:center;font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.toc-reference-units span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}@media (width>=600px){.toc-arc-units{grid-template-columns:repeat(2,minmax(0,1fr))}.toc-unit-list{padding-inline:20px}.toc-page-body{max-width:720px;margin:0 auto;padding:0 20px}.toc-unit-hero{padding-inline:max(20px,50% - 340px)}.toc-reference-units{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (orientation:landscape) and (height<=560px){.toc-unit-hero{min-height:96px}}.story-dialog[open]{z-index:100;inset:max(10px, env(safe-area-inset-top)) auto max(10px, env(safe-area-inset-bottom)) 50%;color:#e5eee9;background:#081411;border:1px solid #c2e1d157;border-radius:18px;width:min(100% - 20px,430px);max-width:none;height:auto;max-height:none;margin:0;padding:0;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 28px 90px #000000d1,0 0 42px #5fdab71f}.story-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#010706e6}.story-surface{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.story-visual{aspect-ratio:16/9;isolation:isolate;background:radial-gradient(circle at 76% 32%,#ffc9668c 0 2px,#0000 3px),radial-gradient(circle at 21% 28%,#68deda6b 0 2px,#0000 3px),linear-gradient(155deg,#142d2a,#0b1b23 55%,#15152b);border-bottom:1px solid #c1dcce2e;min-height:0;position:relative;overflow:hidden}.story-visual.has-story-art{background-image:linear-gradient(to bottom, transparent 60%, #040a0c47), var(--story-asset), linear-gradient(155deg, #142d2a, #0b1b23 55%, #15152b);background-position:50%;background-repeat:no-repeat;background-size:cover}.story-visual.has-story-art.story-panorama{animation:story-panorama-camera-track var(--story-panorama-duration,60s) linear 1 forwards;animation-delay:var(--story-panorama-delay,0s);background-position:50%,0%,50%;background-size:100% 100%,auto 94%,100% 100%;animation-fill-mode:both}.story-visual.has-story-art.story-panorama.story-panorama-reverse{background-position:50%,100%,50%;animation-name:story-panorama-camera-track-reverse}.story-panorama-crossfade{z-index:5;pointer-events:none;opacity:1;background-image:var(--story-crossfade-asset);animation:story-panorama-crossfade-track var(--story-panorama-duration,60s) linear 1 both;animation-delay:var(--story-panorama-delay,0s);background-position:0%;background-repeat:no-repeat;background-size:auto 94%;transition:opacity 1.4s ease-in-out;position:absolute;inset:0}.story-panorama-crossfade.is-leaving{opacity:0}.story-visual.has-story-art .story-placeholder-landscape{display:none}.story-board-base{z-index:1;pointer-events:none;background-image:var(--story-layer-asset,none);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.story-surface[data-registered-scene=true] .story-placeholder-landscape{display:none}.story-placeholder-landscape{opacity:.8;background:linear-gradient(165deg,#0000 0 57%,#050d0ebf 57%),radial-gradient(at 50% 82%,#2e776359,#0000 58%);position:absolute;inset:0}.story-placeholder-landscape:before{content:"";border:1px solid #74e1cc33;border-width:1px 0;position:absolute;inset:25% 10% 20%;transform:skewY(-5deg);box-shadow:0 0 24px #5cd5be1f}.story-placeholder-landscape i{background:linear-gradient(#ffcb682b,#14373199);border:1px solid #ffd07275;border-radius:50% 50% 24% 24%;width:clamp(20px,7vw,34px);height:clamp(28px,10vw,48px);position:absolute;bottom:20%;box-shadow:0 0 14px #ffc55721}.story-placeholder-landscape i:first-child{left:12%}.story-placeholder-landscape i:nth-child(2){bottom:30%;left:35%}.story-placeholder-landscape i:nth-child(3){bottom:27%;right:34%}.story-placeholder-landscape i:nth-child(4){right:11%}.story-surface[data-kind=unit] .story-visual:not(.has-story-art){background:radial-gradient(circle at 50% 52%, color-mix(in srgb, var(--theme-warm) 34%, transparent), transparent 24%), var(--world-fallback,linear-gradient(155deg, #102a24, #11192a))}.story-surface[data-world-id=starwater-sanctuary] .story-visual{--world-fallback:linear-gradient(155deg, #07151d, #123f4e 58%, #1d5262)}.story-surface[data-world-id=archive-of-echoes] .story-visual{--world-fallback:linear-gradient(155deg, #0b1722, #17394c 56%, #234f68)}.story-surface[data-world-id=brass-meridian] .story-visual{--world-fallback:linear-gradient(155deg, #20120e, #4b281c 56%, #683420)}.story-content{overscroll-behavior:contain;flex-direction:column;min-height:0;padding:clamp(18px,4.8vw,25px);display:flex;overflow-y:auto}.story-dialog:has(.story-visual.has-story-art)[open]{width:min(100% - 20px,560px);height:calc(100dvh - max(20px, env(safe-area-inset-top) + env(safe-area-inset-bottom)))}.story-surface:has(.story-visual.has-story-art){display:block;position:relative}.story-surface .story-visual.has-story-art{aspect-ratio:auto;border:0;width:100%;height:100%;position:absolute;inset:0}.story-surface .story-visual.has-story-art:not(.story-panorama){background-position:50%;background-size:100% 100%,auto 94%,100% 100%}.story-surface:has(.story-visual.has-story-art) .story-content{z-index:10;box-sizing:border-box;padding:clamp(18px,5vw,30px);text-shadow:0 2px 5px #000000eb;background:linear-gradient(#030a0c59 0%,#030a0cd1 17%,#030a0cb3 43%,#0000 64%),linear-gradient(#0000 75%,#03090adb 100%);height:100%;padding-top:clamp(96px,14dvh,145px);position:relative;overflow:hidden}.story-surface:has(.story-visual.has-story-art) .story-heading{display:none}.story-surface:has(.story-visual.has-story-art) .story-title{color:#f6daa0;max-width:28ch;margin-top:0;font-size:clamp(25px,6.8vw,32px);line-height:1.14}:is(.story-surface[data-kind=intro]:has(.story-visual.has-story-art) .story-title,.story-surface[data-kind=ending]:has(.story-visual.has-story-art) .story-title){font-size:clamp(30px,8.4vw,38px)}.story-surface:has(.story-visual.has-story-art) .story-speaker{margin:12px 0 0}.story-surface:has(.story-visual.has-story-art) .story-copy{color:#fff8e7;max-width:30ch;margin-top:clamp(18px,2.4dvh,26px);font-size:clamp(23px,6.2vw,31px);font-weight:600;line-height:1.4}:is(.story-surface[data-kind=unit]:has(.story-unit-ending) .story-action-copy,.story-surface[data-kind=unit]:has(.story-unit-ending) .story-next-hook){display:none}.story-pen-anchor{pointer-events:none;width:0;height:0;display:inline;position:relative}.story-pen-anchor:after{content:"";aspect-ratio:546/534;background-image:var(--story-pen-asset);width:clamp(38px,10vw,54px);image-rendering:pixelated;filter:drop-shadow(0 3px 4px #000000b8);transform-origin:12% 86%;background-position:50%;background-repeat:no-repeat;background-size:contain;display:block;position:absolute;bottom:-.45em;left:-.08em}.story-pen-anchor.is-writing:after{animation:.76s ease-in-out infinite story-pen-writing}.story-pen-anchor.is-writing-finished:after{animation:.9s ease-out forwards story-pen-finish}.story-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.story-kicker,.story-progress{color:#d7b969;letter-spacing:.1em;text-transform:uppercase;font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.story-progress{color:#87aaa0;letter-spacing:.04em;text-align:right}.story-title{color:#fff7df;margin:10px 0 0;font:700 clamp(23px,6.5vw,30px)/1.12 Georgia,serif}.story-speaker{color:#79d9c3;letter-spacing:.1em;text-transform:uppercase;margin:13px 0 0;font:850 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.story-copy{color:#e0ebe5;margin:clamp(18px,2.4dvh,26px) 0 0;font:500 clamp(16px,4.4vw,19px)/1.52 Georgia,serif}.story-action-copy{color:#93aaa0;margin:13px 0 0;font:600 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.story-next-hook{color:#f1ce79;margin:14px 0 0;font:italic 600 14px/1.4 Georgia,serif}.story-actions{grid-template-columns:auto minmax(100px,auto) minmax(0,1fr);gap:10px;margin-top:auto;padding-top:20px;display:grid}.story-actions .dialog-report{border-radius:9px;flex:none;width:46px;height:auto}.story-actions button{border-radius:9px;min-height:46px;padding:10px 13px;font:800 13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.story-skip{color:#c5d3cb;background:#ffffff09;border:1px solid #c1dcce40}.story-continue{color:#362817;background:linear-gradient(#ffe59a,#d5a955);border:1px solid #ffe6a394;box-shadow:0 2px #715222}@media (width>=600px){:is(.story-dialog[open],.story-dialog:has(.story-visual.has-story-art)[open]){width:min(100% - 48px,920px)}}@media (width>=600px) and (aspect-ratio>=5/4){.story-dialog[open]{width:min(100% - 48px,920px)}.story-surface{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.story-visual{aspect-ratio:auto;border-bottom:0;border-right:1px solid #c1dcce2e;height:100%}.story-copy{font-size:clamp(17px,2.1vw,21px)}}@media (orientation:landscape) and (height<=520px){.story-dialog[open]{inset:max(6px, env(safe-area-inset-top)) auto max(6px, env(safe-area-inset-bottom)) 50%;width:min(calc(100% - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)), 920px)}.story-content{padding:14px 16px}.story-surface:has(.story-visual.has-story-art) .story-content{padding:clamp(74px,21dvh,105px) 18px 14px}.story-title{margin-top:6px;font-size:clamp(19px,3.8vw,25px)}.story-copy{margin-top:9px;font-size:clamp(14px,2.25vw,17px);line-height:1.38}.story-surface:has(.story-visual.has-story-art) .story-copy{max-width:34ch;margin-top:9px;font-size:clamp(18px,3.2vw,23px);line-height:1.3}.story-surface:has(.story-visual.has-story-art) .story-title{font-size:clamp(16px,2.7vw,20px)}.story-action-copy{display:none}.story-next-hook{margin-top:8px;font-size:13px}.story-actions{padding-top:10px}}@media (prefers-reduced-motion:reduce){.story-dialog,.story-dialog::backdrop,.story-visual,.story-visual *,.story-content *{scroll-behavior:auto;transition-duration:0s!important;animation:none!important}}@keyframes story-panorama-camera-track{0%{background-position:50%,0%,50%}to{background-position:50%,100%,50%}}@keyframes story-panorama-camera-track-reverse{0%{background-position:50%,100%,50%}to{background-position:50%,0%,50%}}@keyframes story-panorama-crossfade-track{0%{background-position:0%}to{background-position:100%}}@keyframes story-pen-writing{0%,to{transform:translate(-.09em,.01em)rotate(-7deg)}30%{transform:translate(.15em,-.12em)rotate(7deg)}58%{transform:translate(-.05em,.04em)rotate(-4deg)}82%{transform:translate(.12em,-.06em)rotate(5deg)}}@keyframes story-pen-finish{0%{opacity:1;transform:translate(0,0)rotate(-2deg)}42%{opacity:1;transform:translate(.42em,-.35em)rotate(8deg)}to{opacity:0;transform:translate(.85em,-.85em)rotate(13deg)}}
