:root{--bg:#0f1210;--panel:#171b18;--ink:#e8ece6;--muted:#9aa394;--line:#2a312c;--accent:#c4d4a8;--warn:#e2b36b;--danger:#d97b6c;--mono:"IBM Plex Mono","SF Mono",ui-monospace,monospace;--sans:"IBM Plex Sans","Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.5;min-height:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}main{max-width:960px;margin:0 auto;padding:2rem 1.25rem 4rem}main:has([data-h-lens-root]){max-width:none;width:100%;margin:0;padding:0}.shell-header{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-bottom:1px solid var(--line);padding:1rem 1.25rem;position:-webkit-sticky;position:sticky;top:0;background:rgba(15,18,16,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.shell-header nav{display:flex;flex-wrap:wrap;gap:.85rem;font-size:.9rem}@media (max-width:768px){main{padding:1rem .85rem 3rem}.shell-header{flex-direction:column;align-items:stretch;gap:.4rem;padding:.5rem .85rem}.shell-header>div{display:flex;justify-content:space-between;align-items:center}.shell-header .eyebrow{margin:0;font-size:.65rem}.shell-header nav{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:.2rem;gap:.65rem;font-size:.82rem;scrollbar-width:none}.shell-header nav::-webkit-scrollbar{display:none}.shell-header nav a,.shell-header nav button{flex-shrink:0;padding:.2rem 0}}.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}.private-desk-banner{border:1px solid var(--warn);background:rgba(226,179,107,.12);color:var(--warn);border-radius:8px;padding:.65rem .9rem;margin:0 0 1.25rem;font-size:.92rem}.applications-filters{display:flex;flex-wrap:wrap;gap:.85rem;align-items:flex-end;margin-top:1.5rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.applications-filters label{display:grid;grid-gap:.35rem;gap:.35rem;min-width:10rem}.applications-filters select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem}h1,h2,h3{line-height:1.2;font-weight:560;margin:0 0 .75rem}h1{font-size:1.85rem}h2{font-size:1.35rem;margin-top:2rem}li,p{color:var(--ink)}.muted{color:var(--muted)}.grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1.25rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem}.card h3{margin:0 0 .4rem;font-size:1.05rem}.card p{margin:0;color:var(--muted);font-size:.92rem}.btn{display:inline-block;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:.55rem .9rem;border-radius:8px;font:inherit;cursor:pointer}.btn-primary{background:var(--accent);color:#152016;border-color:transparent;font-weight:600}.flash-grid{display:grid;grid-gap:.85rem;gap:.85rem}.flash{border:1px solid var(--line);border-radius:10px;padding:1rem;background:var(--panel)}.flash .q{font-weight:600;margin-bottom:.4rem}.flash .a{color:var(--muted)}.slide{border:1px solid var(--line);border-radius:12px;padding:1.5rem;background:linear-gradient(160deg,#1a201c,#121613 70%);min-height:220px;margin-bottom:1rem}.slide .n{font-family:var(--mono);color:var(--muted);font-size:.8rem}.onesheet{border:1px solid var(--line);border-radius:12px;padding:1.5rem;background:#f4f1ea}.onesheet,.onesheet h1,.onesheet h2,.onesheet li,.onesheet p{color:#1a1a1a}.onesheet .muted{color:#555}.diagram{font-family:var(--mono);white-space:pre;overflow-x:auto;background:#0b0d0b;border:1px solid var(--line);border-radius:10px;padding:1rem;font-size:.78rem;line-height:1.35;color:var(--accent)}.artist-hero{min-height:48vh;display:grid;align-content:end;grid-gap:.75rem;gap:.75rem;padding:2rem;border-radius:14px;border:1px solid var(--line);background:radial-gradient(circle at 20% 20%,rgba(196,212,168,.18),transparent 45%),linear-gradient(180deg,#1d2420,#101412 80%)}.artist-hero h1{font-size:clamp(2rem,5vw,3.2rem);max-width:12ch}.warn{color:var(--warn)}.danger{color:var(--danger)}ul.clean{padding-left:1.1rem}.toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:1rem 0 1.25rem}.toolbar button{font:inherit;font-size:.9rem;padding:.4rem .75rem;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer}.toolbar button:disabled{opacity:.4;cursor:not-allowed}.toolbar button.primary{background:var(--accent);color:#121613;border-color:transparent;font-weight:600}.toolbar .mono{font-family:var(--mono);font-size:.8rem}.slide-stage{border:1px solid var(--line);border-radius:14px;padding:clamp(1.5rem,4vw,2.75rem);background:linear-gradient(160deg,#1a201c,#121613 70%);min-height:min(58vh,420px);display:grid;align-content:center;grid-gap:.5rem;gap:.5rem}.slide-stage h2{font-size:clamp(1.6rem,3.5vw,2.4rem);max-width:22ch}.slide-stage p{font-size:1.1rem;max-width:46ch;color:#d5ddd0}.print-only{display:none}.play-root{--play-safe-top:env(safe-area-inset-top,0px);--play-safe-right:env(safe-area-inset-right,0px);--play-safe-bottom:env(safe-area-inset-bottom,0px);--play-safe-left:env(safe-area-inset-left,0px);--play-pad-x:max(1rem,var(--play-safe-left),var(--play-safe-right));--play-overlay-pad-top:max(0.75rem,var(--play-safe-top));--play-overlay-pad-bottom:max(1.25rem,calc(var(--play-safe-bottom) + 0.75rem));min-height:100dvh;min-height:100vh;background:#0f1210;color:var(--ink);overscroll-behavior:none;padding:var(--play-overlay-pad-top) var(--play-pad-x) var(--play-overlay-pad-bottom)}.play-root .practice-shell:not(.practice-shell--immersive){max-width:40rem;margin:0 auto}.play-root .practice-shell:not(.practice-shell--immersive) h1{font-size:1.45rem;line-height:1.25;color:#e8f0dc}.play-root .practice-shell:not(.practice-shell--immersive) .practice-node-copy strong{color:#e8f0dc;display:block;font-size:1.05rem}.play-root .practice-shell:not(.practice-shell--immersive) .practice-node-sub{display:block;margin-top:.2rem;color:#a8b890;font-size:.88rem;line-height:1.35}.play-root .practice-shell:not(.practice-shell--immersive) .practice-quest-dialogue--page{position:relative!important;inset:auto!important;max-width:none;max-height:none;margin:1.25rem 0 0;border-radius:12px;border:1px solid rgba(196,212,168,.28);background:#121612;padding:1.15rem 1.2rem 1.4rem}.play-root .practice-shell:not(.practice-shell--immersive) .practice-quest-choice{width:100%;text-align:left;white-space:normal;min-height:56px;padding:.9rem 1rem;font-size:1.02rem;line-height:1.4;border:1px solid var(--line);background:#0c100d}.play-root .practice-shell:not(.practice-shell--immersive) .practice-quest-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.practice-run{scroll-margin-top:1rem}.practice-run-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.75rem}.practice-run-kicker{margin:0;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.practice-run-title{margin:.25rem 0 0;font-size:1.35rem;line-height:1.25;color:#f2f6ec}.practice-run-prompt{margin:.85rem 0 0;padding:.85rem 1rem;border-radius:10px;background:rgba(196,212,168,.08);border:1px solid rgba(196,212,168,.22);color:#e8f0dc;font-size:1.02rem;line-height:1.45}.practice-run-hint{margin:.75rem 0 0;font-size:.9rem;color:var(--muted)}.practice-check-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-gap:.65rem;gap:.65rem}.practice-check-row{display:flex;align-items:flex-start;gap:.85rem;width:100%;margin:0;padding:.95rem 1rem;border-radius:12px;border:1px solid var(--line);background:#121612;cursor:pointer;text-align:left;color:inherit;font:inherit;min-height:56px;-webkit-tap-highlight-color:transparent}.practice-check-row:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.practice-check-row.is-on{border-color:rgba(196,212,168,.55);background:rgba(196,212,168,.12)}.practice-check-box{flex:0 0 1.5rem;width:1.5rem;height:1.5rem;margin-top:.1rem;accent-color:var(--accent);transform:scale(1.25);transform-origin:top left}.practice-check-copy{flex:1 1;min-width:0}.practice-check-label{display:block;font-size:1.05rem;line-height:1.4;color:#eef4e6;font-weight:550}.practice-check-meta{display:inline-block;margin-top:.25rem;font-size:.75rem;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--warn)}.practice-run-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem;position:-webkit-sticky;position:sticky;bottom:0;padding:.75rem 0 .25rem;background:linear-gradient(180deg,transparent,var(--bg) 28%)}.practice-run-actions .btn{min-height:48px;flex:1 1 8rem}.practice-path-node-btn{width:100%;display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 1rem;border-radius:12px;border:1px solid var(--line);background:#121612;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:56px}.practice-path-node-btn:disabled{opacity:.45;cursor:not-allowed}.practice-path-node-btn.is-current{border-color:var(--accent);box-shadow:0 0 0 1px rgba(196,212,168,.35)}.practice-path-node-btn.is-done{border-color:rgba(196,212,168,.35)}.play-root .practice-shell:not(.practice-shell--immersive) .practice-path-list:before{display:none}.play-root .practice-shell:not(.practice-shell--immersive) .practice-node{margin:.55rem 0;padding:0;justify-content:stretch}.play-root .practice-shell:not(.practice-shell--immersive) .practice-node--left,.play-root .practice-shell:not(.practice-shell--immersive) .practice-node--right,.sr-only{padding:0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.practice-shell{padding-bottom:3rem}.practice-shell--immersive{position:relative;min-height:100dvh;min-height:100vh;overflow-x:hidden;padding:0}.practice-scene{position:fixed;inset:0;z-index:0;pointer-events:none}.practice-scene--interactive{pointer-events:auto}.practice-scene canvas{display:block;width:100%!important;height:100%!important}.practice-scene--interactive canvas{touch-action:none;cursor:default}.practice-overlay{position:relative;z-index:1;min-height:100dvh;padding:var(--play-overlay-pad-top) var(--play-pad-x) var(--play-overlay-pad-bottom);background:linear-gradient(180deg,rgba(7,10,8,.55),rgba(7,10,8,.2) 28%,rgba(7,10,8,.72));overscroll-behavior-y:contain}.practice-shell--immersive.practice-shell--path .practice-overlay{pointer-events:none;background:linear-gradient(180deg,rgba(7,10,8,.45),rgba(7,10,8,.08) 32%,rgba(7,10,8,.55))}.practice-shell--immersive.practice-shell--path .practice-celebrate,.practice-shell--immersive.practice-shell--path .practice-game-bar,.practice-shell--immersive.practice-shell--path .practice-levels-toggle,.practice-shell--immersive.practice-shell--path .practice-load-error,.practice-shell--immersive.practice-shell--path .practice-path--dual,.practice-shell--immersive.practice-shell--run .practice-overlay{pointer-events:auto}.practice-shell--immersive.practice-shell--celebrate .practice-overlay{pointer-events:auto;background:linear-gradient(180deg,rgba(7,10,8,.5),rgba(7,10,8,.12) 36%,rgba(7,10,8,.62))}.practice-shell--immersive.practice-shell--celebrate .practice-scene,.practice-shell--immersive.practice-shell--run .practice-scene{pointer-events:none}.practice-game-bar{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.75rem;min-height:56px}.practice-game-bar-row{display:flex;align-items:center;gap:.75rem;width:100%}.practice-game-bar-row--primary{justify-content:space-between}.practice-game-bar-row--hud{justify-content:center}.practice-game-brand{display:grid;grid-gap:.1rem;gap:.1rem}.practice-game-title{font-family:var(--mono);font-weight:700;letter-spacing:.14em;font-size:.95rem}.practice-game-sub{font-size:.75rem;color:var(--muted)}.practice-game-actions{display:flex;gap:.4rem;align-items:center}.practice-hud--compact{display:flex;gap:.35rem;margin-top:0;flex:1 1;justify-content:center;flex-wrap:wrap}.practice-hud--compact .practice-hud-pill{padding:.35rem .55rem;min-width:3.4rem}.practice-hud--compact .practice-hud-pill strong{font-size:.92rem}.practice-levels-toggle{min-width:44px;min-height:44px;margin:.25rem 0 .5rem}.practice-path--immersive{margin-top:.5rem}.practice-path--dual{max-width:22rem}.practice-shell--immersive .practice-levels-dock:not(.practice-levels-dock--collapsed){margin-top:.5rem;padding:.75rem .85rem 1rem;border-radius:12px;background:rgba(12,16,13,.92);border:1px solid rgba(196,212,168,.22);max-height:min(52dvh,28rem);overflow-y:auto;-webkit-overflow-scrolling:touch}.practice-shell--immersive .practice-node-copy strong{color:#e8f0dc}.practice-shell--immersive .practice-node-sub--immersive{display:block;color:#a8b890;font-size:.8rem;margin-top:.15rem}@media (max-width:720px){.practice-shell--immersive .practice-path--dual{max-width:none}}.practice-shell .practice-path--dual .practice-node-btn,.practice-shell .practice-path--dual .practice-node-copy,.practice-shell .practice-path--dual .practice-node-glyph,.practice-shell .practice-path--dual .practice-node-ring,.practice-shell .practice-path--dual .practice-world-head{opacity:1}.practice-shell .practice-path--dual .practice-path-list:before{opacity:.28}.practice-path--dual .practice-node--left,.practice-path--dual .practice-node--right{justify-content:flex-start;padding-left:0;padding-right:0}.practice-path--immersive .practice-world-head h2{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}.practice-shell--immersive .practice-run{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(23,27,24,.88);margin-top:.5rem;min-height:calc(100dvh - 8rem)}.practice-exit{text-decoration:none;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.practice-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.practice-mute{flex-shrink:0;white-space:nowrap;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.practice-hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin-top:1rem}.practice-hud-pill{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.55rem .65rem;text-align:center}.practice-hud-label{display:block;font-family:var(--mono);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.practice-hud-pill strong{font-size:1.05rem}.practice-celebrate{margin-top:1.25rem;margin-bottom:max(.5rem,var(--play-safe-bottom));padding:1.25rem;border-radius:16px;border:1px solid rgba(196,212,168,.45);background:linear-gradient(160deg,rgba(196,212,168,.18),rgba(23,27,24,.95));display:grid;grid-gap:.65rem;gap:.65rem;animation:practice-pop .45s ease-out;pointer-events:auto}.practice-celebrate .btn{min-height:44px}.practice-celebrate p{margin:0;font-size:1.2rem;font-weight:600;color:var(--accent)}@keyframes practice-pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.practice-path{margin-top:1.5rem;display:grid;grid-gap:2rem;gap:2rem}.practice-world-head h2{margin-top:0;font-size:1.15rem}.practice-path-list{list-style:none;margin:1rem 0 0;padding:0;position:relative}.practice-path-list:before{content:"";position:absolute;left:50%;top:.5rem;bottom:.5rem;width:4px;margin-left:-2px;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--line));opacity:.55}.practice-node{display:flex;margin:.85rem 0;position:relative;z-index:1}.practice-node--left{justify-content:flex-start;padding-right:18%}.practice-node--right{justify-content:flex-end;padding-left:18%}.practice-node-btn{display:flex;align-items:center;gap:.75rem;max-width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0;min-height:44px}.practice-node-btn:disabled{cursor:not-allowed;opacity:.55}.practice-node-ring{width:64px;height:64px;border-radius:999px;display:grid;place-items:center;background:var(--panel);border:3px solid var(--line);box-shadow:0 8px 20px rgba(0,0,0,.28);flex-shrink:0;transition:transform .15s ease,border-color .15s ease}.practice-node-btn:not(:disabled):active .practice-node-ring{transform:scale(.94)}.practice-node.is-current .practice-node-ring{border-color:var(--accent);box-shadow:0 0 0 4px rgba(196,212,168,.22),0 8px 20px rgba(0,0,0,.28);animation:practice-pulse 1.6s ease-in-out infinite}.practice-node.is-done .practice-node-ring{border-color:var(--accent);background:rgba(196,212,168,.16)}.practice-node.is-locked .practice-node-ring{border-style:dashed}@keyframes practice-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.practice-node-glyph{font-size:1.25rem;font-weight:700}.practice-node-copy{display:grid;grid-gap:.15rem;gap:.15rem}.practice-node-copy strong{font-size:.98rem}.practice-node-copy span{color:var(--muted);font-size:.82rem}.practice-run{animation:practice-pop .28s ease-out}@media (max-width:430px){.practice-game-bar-row--hud .practice-hud--compact{width:100%}}@media (min-width:641px){.practice-shell--immersive .practice-levels-toggle{display:none}.practice-path--dual{max-width:20rem}}@media (max-width:640px){main{padding:1rem 1rem 5rem}.practice-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-path-list:before{left:32px;margin-left:0}.practice-node--left,.practice-node--right{justify-content:flex-start;padding-left:0;padding-right:0}.practice-node-ring{width:56px;height:56px}.btn{min-height:44px}}@media (prefers-reduced-motion:reduce){.practice-celebrate,.practice-node-ring,.practice-node.is-current .practice-node-ring,.practice-run{animation:none!important;transition:none!important}}@media (display-mode:fullscreen),(display-mode:standalone){.practice-shell--immersive .practice-overlay{padding-top:max(.9rem,var(--play-safe-top))}}@media print{.no-print,.shell-header{display:none!important}.print-only{display:block!important}body{background:white;color:black}main{max-width:none;padding:0}.onesheet{border:none;padding:0}.print-slide{break-after:page;page-break-after:always;min-height:90vh;border:none;background:white;color:black;margin:0;padding:1.5rem}.print-slide:last-child{break-after:auto;page-break-after:auto}.print-slide .eyebrow,.print-slide .n{color:#555}.print-slide h2,.print-slide p{color:black}}