:root{--bg:#0e1320;--panel:#161d2e;--panel-2:#1e2740;--line:#2a3650;--ink:#eaf0fb;--muted:#8a97b3;--accent:#ffc83d;--surface-sunken:#0b1019;--surface-nested:#0a0e18;--surface-raised:#212c46;--surface-card:#1c2438;--field:#0c111d;--field-border:rgba(234,240,251,0.14);--edge:rgba(255,255,255,0.09);--surface-hud:rgba(12,17,28,0.85);--placeholder-ink:rgba(255,255,255,0.16);--block-ink:#0e1320;--accent-ink:#ffc83d;--danger-fg:#f87171;--accent-soft:color-mix(in srgb,var(--accent) 14%,var(--panel));--accent-line:color-mix(in srgb,var(--accent) 50%,var(--line));--game-surface:#0b1019;--game-stage:radial-gradient(900px 500px at 60% 0%,#1b2334,#0b1019);--move:#5aa9f0;--turn:#b08bef;--pollinate:#36c8a8;--paintb:#3d9be0;--repeat:#f0993d;--repeatvar:#9575d9;--if:#e0697f;--while:#4fb0cf;--func:#c79a5a;--call:#d8a93c;--kick:#5aa9f0;--snare:#e0697f;--hat:#4fb0cf;--rest:#9aa3b8;--note:#e488b4;--fire-r:#e2574c;--fire-g:#3fae5a;--fire-b:#4a90e2;--success:#3fae5a;--success-fg:#3fae5a;--danger:#e2574c;--danger-solid:#c62828;--info:#4a90e2;--info-fg:#5b9fe6;--warning:#e0912e;--warning-fg:#e0912e}*{box-sizing:border-box}#root,body,html{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,system-ui,sans-serif;overflow:hidden}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:200;background:var(--accent);color:#3a2a05;font-weight:800;font-family:var(--font-body),"Quicksand",system-ui,sans-serif;padding:10px 16px;border-radius:10px;text-decoration:none;transform:translateY(-160%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.back-btn{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);width:34px;height:34px;border-radius:9px;cursor:pointer;font-size:18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.back-btn:hover{border-color:var(--accent);color:var(--accent)}@keyframes palHint{0%,to{box-shadow:0 2px 0 rgba(0,0,0,.3),0 0 0 0 rgba(255,200,61,.5)}50%{box-shadow:0 2px 0 rgba(0,0,0,.3),0 0 14px 3px rgba(255,200,61,.75)}}@keyframes pulse{0%{filter:brightness(1.6)}to{filter:brightness(1)}}@keyframes hintIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes starpop{0%{opacity:0;transform:scale(0) rotate(-35deg)}60%{opacity:1;transform:scale(1.35) rotate(8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes seedIn{0%{transform:rotate(-12deg) scale(0)}to{transform:rotate(-12deg) scale(1)}}@keyframes hudPop{0%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes esPush{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}@keyframes testPulse{0%,to{box-shadow:0 0 0 0 rgba(55,211,74,.45)}50%{box-shadow:0 0 11px 2px rgba(55,211,74,.65)}}.auth-screen{position:relative;height:100dvh;width:100vw;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:24px;background:linear-gradient(180deg,#8fd6ff,#bfeaff 45%,#d9f6c9);font-family:var(--font-body),"Quicksand",Inter,system-ui,sans-serif}.auth-card,.csc,.pp-wrap,.splash{margin:auto}.auth-scene{position:absolute;inset:0;pointer-events:none;overflow:hidden}:root[data-theme=dark] .auth-card{background:#18213a;color:#eaf0fb;box-shadow:0 20px 50px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06)}.auth-bee{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(0,0,0,.25))}:root[data-theme=dark] .auth-sub{color:#aebbd6}:root[data-theme=dark] .fr-del,:root[data-theme=dark] .tier-code-err{color:#ff9a90}.splash{position:relative;z-index:1;text-align:center;color:#3f5340;font-weight:700;font-family:var(--font-body),"Quicksand",system-ui}.splash .auth-bee{animation:bee-float 3s ease-in-out infinite}:root[data-theme=light]{--bg:#f6efe1;--panel:#fffaf1;--panel-2:#f4ead6;--line:#d8c5a0;--ink:#2b2314;--muted:#67563a;--surface-sunken:#ecdfc4;--surface-nested:#e3d4b6;--surface-raised:#fffdf8;--surface-card:#f4ecdb;--field:#ece0c8;--field-border:#d8c39f;--edge:rgba(60,44,24,0.14);--placeholder-ink:rgba(43,35,20,0.24);--accent-ink:#855408;--danger-fg:#c62828;--success-fg:#1a6b3a;--info-fg:#1f5a8f;--warning-fg:#8a5a10;--accent-soft:color-mix(in srgb,var(--accent) 22%,var(--panel));--game-surface:#f0e4cb;--game-stage:radial-gradient(900px 500px at 60% 0%,#fbeecb,#f0e4cb)}:root[data-theme=light] .status-win{background:#e3f6e9;color:#1a6b3a}:root[data-theme=light] .status-error{background:#fce4e1;color:#a32820}:root[data-theme=light] .status-warn{background:#fce7cf;color:#8a5a10}:root[data-theme=light] .status-run{background:#e2f0fc;color:#1f5a8f}:root[data-theme=light] .hint-banner{background:#dbf1f6;color:#125a68}:root[data-theme=light] .parsons-note{background:#ece4fb;color:#4a2fa0}:root[data-theme=dark] .auth-screen{background:linear-gradient(180deg,#0f1c33,#14223c 46%,#142a20)}:root[data-theme=dark] .hill-far{fill:#1e3a24}:root[data-theme=dark] .hill-mid{fill:#24472b}:root[data-theme=dark] .hill-near{fill:#2b5433}:root[data-theme=dark] .game-tag{color:#cfe0d2}:root[data-theme=dark] .world-name{color:#eaf0fb;text-shadow:none}:root[data-theme=dark] .world-blurb{color:#aebbd6}:root[data-theme=dark] .world-stars{color:#ffce7a}:root[data-theme=dark] .splash{color:#cfe0d2}:root[data-theme=dark] .pp-card,:root[data-theme=dark] .pp-form{background:#18213a}:root[data-theme=dark] .pp-name{color:#eaf0fb}:root[data-theme=dark] .pp-title{color:#dfe8fb;text-shadow:none}:root[data-theme=dark] .pp-av{background:#0e1626}.theme-toggle{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#3f5340;background:rgba(255,255,255,.85);box-shadow:0 2px 6px rgba(0,0,0,.15);line-height:1}.theme-toggle:hover{filter:brightness(1.05)}@keyframes pp-pop{0%{transform:scale(0)}to{transform:scale(1)}}:root[data-theme=dark] .pp-confirm{background:#18213a}:root[data-theme=dark] .pp-confirm-title{color:#eaf0fb}:root[data-theme=dark] .pp-confirm-text{color:#aebbd6}.sun{position:absolute;top:-70px;right:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,#fff3b0 0,#ffdf6e 55%,rgba(255,223,110,0) 72%);animation:sun-arc 140s ease-in-out infinite}@keyframes sun-arc{0%{transform:translate(0)}50%{transform:translate(-74vw,-22px)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.sun{animation:none}}@keyframes drift{0%{transform:translateX(0)}to{transform:translateX(130vw)}}@keyframes bee-float{0%,to{transform:translate(0) rotate(-4deg)}50%{transform:translate(24px,-18px) rotate(6deg)}}@keyframes card-in{to{opacity:1;transform:translateY(0)}}@keyframes emblem-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes iFly{0%,to{transform:translate(-3px,3px) rotate(-9deg)}30%{transform:translate(3px,-10px) rotate(7deg)}60%{transform:translate(-2px,-5px) rotate(-5deg)}}@keyframes iDrive{0%,to{transform:translateX(-7px) rotate(-2deg)}50%{transform:translateX(7px) translateY(-4px) rotate(2deg)}}@keyframes iSpin{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-8px) rotate(8deg)}}@keyframes iWiggle{0%,to{transform:rotate(-11deg)}25%{transform:rotate(11deg) translateY(-3px)}50%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes iJiggle{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-7px) scale(.9,1.1)}55%{transform:translateY(0) scale(1.1,.9)}80%{transform:translateY(-2px) scale(.97,1.03)}}@keyframes iChug{0%,to{transform:translate(-1.5px) rotate(-2.5deg)}25%{transform:translate(1.5px,-3px) rotate(2.5deg)}50%{transform:translate(-1px,-1px) rotate(-2deg)}75%{transform:translate(1.5px,-3px) rotate(2.5deg)}}@keyframes iLaunch{0%,to{transform:translateY(3px) rotate(0)}22%{transform:translate(-1px) rotate(-4deg)}60%{transform:translateY(-14px) rotate(5deg)}}@keyframes iPulse{0%,to{transform:scale(1);filter:drop-shadow(0 2px 3px rgba(0,0,0,.28))}50%{transform:scale(1.15);filter:drop-shadow(0 0 10px rgba(120,230,255,.95))}}@keyframes crownBob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-3px) rotate(3deg)}}@keyframes coach-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}:root[data-theme=dark] .box-scene{background:radial-gradient(circle at 30% 25%,#3f7a4a 0,#2f5f3a 55%,#244d30 100%)}:root[data-theme=dark] .mow-cell{background:#3f7a4a}:root[data-theme=dark] .mow-cell.rock{background:#5a5346}:root[data-theme=dark] .mow-cell.mowed{background:repeating-linear-gradient(45deg,#2a4a33,#2a4a33 4px,#24412c 0,#24412c 8px)}