:root{--bg:#0b0d12;--panel:#11151c;--ink:#e6e6e6;--muted:#9aa3b2;--accent:#ffd166;--accent-2:#84e1bc;--danger:#ef476f;--mana:#4cc9f0;--hp:#ef476f;--border:#1d2330;--touch-target-min:44px;--touch-target-padding-y:6px;--touch-target-padding-x:10px;--mobile-thumb-safe-gap:16px;--canvas-motion-brightness:brightness(1);--hud-font-size:12px;--hud-label-font-size:12px;--hud-panel-bg:#080b11d1;--hud-border-readable:#2a3142;--hud-bar-width:140px;--hud-bar-height:20px;--hud-top-unit:1rem;--hud-top-gap:calc(var(--hud-top-unit) * .875);--hud-top-chip-gap:calc(var(--hud-top-unit) * .5);--hud-top-vitals-gap:calc(var(--hud-top-unit) * .1875);--hud-top-item-height:calc(var(--hud-top-unit) * 2.75);--hud-top-padding-y:calc(var(--hud-top-unit) * .375);--hud-top-padding-x:calc(var(--hud-top-unit) * .625);--hud-top-font-size:calc(var(--hud-top-unit) * .875);--hud-top-value-font-size:calc(var(--hud-top-unit) * 1.125);--hud-top-icon-font-size:calc(var(--hud-top-unit) * 1.375);--hud-top-book-icon-font-size:calc(var(--hud-top-unit) * 1.125);--hud-top-vitals-bar-width:calc(var(--hud-top-unit) * 8.75);--hud-top-level-bar-width:calc(var(--hud-top-unit) * 4.5);--hud-top-bar-height:calc(var(--hud-top-unit) * .875);--hud-top-icon-button-size:var(--hud-top-item-height);--hud-mobile-bar-width:96px;--hud-mobile-bar-height:20px;--wand-token-font-size:12px;--mobile-wand-panel-gap:158px;--mobile-ui-scale:1;--menu-ui-scale:1;--mobile-control-size:var(--touch-target-min);--mobile-joystick-size:90px;--mobile-side-rail-width:66px;--mobile-safe-edge-gap:6px;--mobile-keyboard-inset:0px;--mobile-visual-viewport-height:100dvh;--mobile-visual-viewport-width:100vw;--mobile-visual-viewport-offset-top:0px}body.high-contrast{--bg:#000;--panel:#05070a;--ink:#fff;--muted:#d6deeb;--accent:#ffe66d;--accent-2:#9dffcf;--border:#8fb3ff}body.colorblind-deuteranopia{--accent:#f6d55c;--accent-2:#64c2d1;--danger:#d95f02;--mana:#56b4e9;--hp:#e69f00}body.colorblind-protanopia{--accent:#ffd166;--accent-2:#56b4e9;--danger:#cc79a7;--mana:#0072b2;--hp:#e69f00}body.colorblind-tritanopia{--accent:#f0e442;--accent-2:#009e73;--danger:#d55e00;--mana:#cc79a7;--hp:#d55e00}*{box-sizing:border-box}.sr-only,.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;margin:0;padding:0;font-family:Noto Sans KR,ui-monospace,SF Mono,Menlo,Consolas,Apple SD Gothic Neo,Malgun Gothic,Noto Sans CJK KR,sans-serif;overflow:hidden}body.font-dyslexic{font-family:OpenDyslexic,Noto Sans KR,Comic Sans MS,Apple SD Gothic Neo,Malgun Gothic,Arial,sans-serif}#app{overscroll-behavior:none;background:radial-gradient(1200px 700px at 50% 30%,#161c28 0%,#0b0d12 70%);place-items:center;display:grid;position:fixed;inset:0}.orientation-lock{z-index:120;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));color:var(--ink);text-align:center;pointer-events:auto;background:radial-gradient(circle at 50% 42%,#84e1bc29,#0000 32%),#030407f0;place-items:center;display:none;position:fixed;inset:0}.orientation-lock__card{background:#0d1118f0;border:1px solid #84e1bc6b;border-radius:18px;width:min(320px,88vw);padding:22px 20px;box-shadow:0 22px 70px #0000008c,0 0 34px #84e1bc1f}.orientation-lock__icon{width:64px;height:42px;color:var(--accent);border:2px solid #ffd166bd;border-radius:12px;place-items:center;margin:0 auto 12px;font-size:28px;font-weight:800;display:grid}.orientation-lock h2{color:#d5fbff;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:20px}.orientation-lock p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}body[data-layout=mobile][data-orientation=portrait] .orientation-lock,.mobile-install-hint,.mobile-start-cta-hint{display:none}#game-stage{overscroll-behavior:none;touch-action:none;width:min(100vw,177.778vh);line-height:0;position:relative}#game{width:100%;height:auto;max-height:100vh;image-rendering:pixelated;image-rendering:crisp-edges;border:1px solid var(--border);filter:var(--canvas-motion-brightness);-webkit-touch-callout:none;touch-action:none;-webkit-user-select:none;user-select:none;background:#050608;display:block;box-shadow:0 10px 40px #0009,inset 0 0 80px #0009}#game:focus,#game:focus-visible{outline:none}#game-transition-fade,#hit-flash,#biome-splash{pointer-events:none;position:absolute;inset:0}#game-transition-fade{z-index:3;opacity:0;background:#030407}#game-transition-fade.show{animation:.4s ease-in-out biome-transition-fade}#hit-flash{z-index:5;opacity:0;background:radial-gradient(circle at 50% 48%,#ffffff61,#ef476f47 44%,#ef476f00 76%)}#hit-flash.show{will-change:opacity;animation:.18s ease-out both hit-flash-pop}#biome-splash{z-index:4;color:var(--accent);text-align:center;text-transform:uppercase;letter-spacing:.22em;text-shadow:0 2px 10px #000,0 0 28px #ffd1664d;opacity:0;place-items:center;font-size:clamp(18px,4vw,34px);line-height:1.2;display:grid}#biome-splash:before{content:"";z-index:-1;background:linear-gradient(90deg,#05060800,#050608db,#05060800);border:1px solid #ffd16673;border-radius:10px;width:min(580px,82%);height:82px;position:absolute;box-shadow:0 14px 40px #00000073}#biome-splash.show{will-change:opacity, transform;animation:2s ease-in-out both biome-title-splash}#biome-splash.hidden{display:none}#captions-overlay{z-index:6;color:#fff;text-align:center;text-shadow:0 1px 2px #000;pointer-events:none;background:#050608db;border:1px solid #e6e6e638;border-radius:8px;max-width:min(520px,86%);padding:8px 14px;font-size:clamp(12px,2.4vw,16px);line-height:1.35;position:absolute;bottom:max(22px,8%);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000061}#captions-overlay.captions-hidden{display:none}.tutorial-nudge{z-index:24;color:#fff4c7;text-shadow:0 1px 2px #000;pointer-events:auto;background:#080c12eb;border:1px solid #ffd166bf;border-radius:999px;align-items:center;gap:8px;max-width:min(320px,86vw);padding:7px 10px;font:700 12px/1.3 ui-monospace,SF Mono,Menlo,Consolas,monospace;animation:.16s ease-out both tutorial-nudge-pop;display:inline-flex;position:absolute;box-shadow:0 10px 28px #0000006b,0 0 22px #ffd1661f}.tutorial-nudge__dismiss{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:50%;place-items:center;min-width:20px;min-height:20px;padding:0;font:700 14px/1 ui-monospace,monospace;display:grid}.tutorial-nudge__dismiss:hover,.tutorial-nudge__dismiss:focus-visible{border-color:var(--accent);filter:brightness(1.2);outline:none}.tutorial-nudge--wand-empty{position:fixed;bottom:132px;left:50%;transform:translate(-50%)}.tutorial-nudge--wand-empty:after{content:"";background:#080c12eb;border-bottom:1px solid #ffd166bf;border-right:1px solid #ffd166bf;width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.tutorial-nudge--glyph-nearby{transform:translate(-50%,calc(-100% - 16px))}.tutorial-nudge--glyph-nearby:after{content:"↓";color:var(--accent);text-shadow:0 1px 4px #000;font-size:16px;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.tutorial-nudge--cast-key{color:#d5fbff;background:#081c2ae6;border-color:#7fd6f5cc;position:fixed;top:72px;left:50%;transform:translate(-50%)}.tutorial-nudge--idle-cast{color:#fff3bf;pointer-events:none;background:#2f2308e6;border-color:#ffd166c7;position:fixed;bottom:132px;left:50%;transform:translate(-50%)}.tutorial-nudge--glyph-zero{color:#d7ffe9;background:#082a1fe6;border-color:#84e1bcc7;transform:translate(-50%,calc(-100% - 16px))}.tutorial-nudge--glyph-zero:after{content:"↓";color:var(--accent-2);text-shadow:0 1px 4px #000;font-size:16px;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.tutorial-nudge--death-loop{color:#fff3bf;background:#2f2308e6;border-color:#ffd166bf;justify-content:center;width:-moz-fit-content;width:fit-content;margin:10px auto 12px;position:static}.joystick-base{opacity:.72;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;z-index:20;background:#0a0e1673;border:2px solid #e6e6e673;border-radius:50%;block-size:90px;inline-size:90px;position:fixed;inset-block-end:calc(60px + env(safe-area-inset-bottom));inset-inline-start:max(20px, env(safe-area-inset-left));box-shadow:0 0 22px #00000059,inset 0 0 18px #ffffff14}:is(body:has(#overlay.show) .joystick-base,body:has(.modal.show) .joystick-base,body:has(.win-screen.show) .joystick-base,body:has(.mobile-death-recovery:not([hidden])) .joystick-base),:is(body[data-layout=mobile]:has(#wand.open) .joystick-base,body.mobile-layout:has(#wand.open) .joystick-base),:is(body[data-layout=mobile]:has(.mobile-death-recovery:not([hidden])) #wand,body.mobile-layout:has(.mobile-death-recovery:not([hidden])) #wand){display:none}.joystick-knob{touch-action:none;background:#84e1bc73;border:1px solid #e6e6e68c;border-radius:50%;width:40px;height:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #00000059}.mobile-death-recovery,.mobile-failure-recovery,.mobile-cast-feedback,.mobile-cast-ready-guidance,.mobile-first-cast-cue,.mobile-cast-aim-cue,.mobile-overlay-escape-guard{display:none}body[data-layout=mobile] .mobile-death-recovery:not([hidden]),body.mobile-layout .mobile-death-recovery:not([hidden]){inset-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));z-index:70;box-sizing:border-box;max-block-size:calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));max-inline-size:min(420px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));color:#f6e7c3;pointer-events:auto;background:linear-gradient(#271d09f5,#090c12f5),#090c12f5;border:1px solid #ffd16685;border-radius:16px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:9px;margin-inline:auto;padding:14px;line-height:1.25;display:grid;position:fixed;inset-block-end:max(16px, calc(env(safe-area-inset-bottom) + 12px));overflow:auto;box-shadow:0 14px 34px #00000085,0 0 22px #ffd1661f}body[data-layout=mobile] .mobile-failure-recovery:not([hidden]),body.mobile-layout .mobile-failure-recovery:not([hidden]){inset-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));z-index:47;box-sizing:border-box;color:#ffe0e8;pointer-events:auto;background:#090c12f0;border:1px solid #ef476f80;border-radius:12px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;padding:12px;display:grid;position:fixed;inset-block-end:max(12px, calc(env(safe-area-inset-bottom) + 8px));box-shadow:0 12px 30px #00000073}:is(body[data-layout=mobile]:has(#wand.open) .mobile-failure-recovery:not([hidden]),body.mobile-layout:has(#wand.open) .mobile-failure-recovery:not([hidden])){max-block-size:min(196px, calc(31dvh - env(safe-area-inset-top)));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:6px;padding:10px;inset-block-start:max(76px, calc(env(safe-area-inset-top) + 12px));inset-block-end:auto;overflow:auto}:is(body[data-layout=mobile]:has(#wand.open) .mobile-failure-recovery__actions,body.mobile-layout:has(#wand.open) .mobile-failure-recovery__actions){gap:6px}:is(body[data-layout=mobile]:has(#wand.open) .mobile-failure-recovery button,body.mobile-layout:has(#wand.open) .mobile-failure-recovery button){min-block-size:var(--touch-target-min);padding:7px 10px;font-size:12px}:is(body[data-layout=mobile]:has(#wand.open) .mobile-failure-recovery:not([data-reason=first_cast_stall]) #mobile-failure-restart-btn,body.mobile-layout:has(#wand.open) .mobile-failure-recovery:not([data-reason=first_cast_stall]) #mobile-failure-restart-btn){min-block-size:var(--touch-target-min);font-size:13px}body[data-layout=mobile] .mobile-failure-recovery[data-reason=first_cast_stall]:not([hidden]),body.mobile-layout .mobile-failure-recovery[data-reason=first_cast_stall]:not([hidden]){max-inline-size:min(360px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));color:#fff3bf;border-color:#ffd16694;margin-inline:auto;inset-block-start:max(40px, calc(env(safe-area-inset-top) + 8px));inset-block-end:auto}body[data-layout=mobile] .mobile-cast-feedback:not([hidden]),body.mobile-layout .mobile-cast-feedback:not([hidden]){z-index:35;max-inline-size:min(340px, calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));color:#dff7ff;pointer-events:none;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#090c12e6;border:1px solid #7fd6f58c;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:12px;font-weight:800;line-height:1.25;display:inline-flex;position:fixed;inset-block-end:calc(92px + env(safe-area-inset-bottom));inset-inline-start:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 24px #00000061}body[data-layout=mobile] .mobile-cast-feedback--success:not([hidden]),body.mobile-layout .mobile-cast-feedback--success:not([hidden]){color:#d8ffef;border-color:#84e1bca6}body[data-layout=mobile] .mobile-cast-feedback--fallback:not([hidden]),body.mobile-layout .mobile-cast-feedback--fallback:not([hidden]){color:#fff3bf;border-color:#ffd166ad}body[data-layout=mobile] .mobile-cast-feedback--failure:not([hidden]),body.mobile-layout .mobile-cast-feedback--failure:not([hidden]){color:#ffe2e9;border-color:#ef476f94}body[data-layout=mobile] .mobile-first-cast-cue:not([hidden]),body.mobile-layout .mobile-first-cast-cue:not([hidden]){z-index:24;max-inline-size:min(340px, calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)));color:#fff3bf;letter-spacing:.02em;pointer-events:none;text-align:start;background:#090c12e6;border:1px solid #ffd1668a;border-radius:999px;align-items:center;gap:8px;padding:7px 8px 7px 12px;font:800 11px/1.25 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:inline-flex;position:fixed;inset-block-end:calc(176px + env(safe-area-inset-bottom));inset-inline-start:50%;transform:translate(-50%);box-shadow:0 10px 24px #00000061,0 0 18px #ffd1661f}:is(body[data-layout=mobile]:has(#wand.open) .mobile-first-cast-cue:not([hidden]),body.mobile-layout:has(#wand.open) .mobile-first-cast-cue:not([hidden])),body.mobile-keyboard-visible .mobile-first-cast-cue{display:none}body:has(#overlay.show) .mobile-first-cast-cue{display:none}body:has(.mobile-death-recovery:not([hidden])) .mobile-first-cast-cue{display:none}body:has(.mobile-failure-recovery:not([hidden])) .mobile-first-cast-cue{display:none}.mobile-first-cast-cue__copy{text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;overflow:hidden}.mobile-first-cast-cue__close{appearance:none;color:#fff8cf;cursor:pointer;pointer-events:auto;touch-action:manipulation;background:#fff3bf1a;border:1px solid #fff3bf4d;border-radius:999px;flex:none;place-items:center;min-block-size:32px;min-inline-size:32px;font:900 16px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:grid}body[data-layout=mobile] .mobile-cast-aim-cue:not([hidden]),body.mobile-layout .mobile-cast-aim-cue:not([hidden]){z-index:34;color:#ffd166;filter:drop-shadow(0 2px 8px #000000bf);opacity:.94;pointer-events:none;border:1px solid #ffd166b8;border-radius:999px;place-items:center;block-size:52px;inline-size:52px;display:grid;position:absolute;transform:translate(-50%,-50%)}body[data-layout=mobile] .mobile-cast-aim-cue:not([hidden]):before,body.mobile-layout .mobile-cast-aim-cue:not([hidden]):before{content:"";border:2px solid;border-radius:999px;block-size:18px;inline-size:18px;box-shadow:0 0 18px #ffd16661}body[data-layout=mobile] .mobile-cast-aim-cue:not([hidden]):after,body.mobile-layout .mobile-cast-aim-cue:not([hidden]):after{content:"TARGET";color:#fff3bf;letter-spacing:.1em;text-shadow:0 1px 3px #000;background:#090c12d1;border-radius:999px;padding:2px 5px;font:800 9px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;position:absolute;inset-block-start:calc(100% + 3px);inset-inline-start:50%;transform:translate(-50%)}body[data-layout=mobile] .mobile-cast-aim-cue[data-state=fired]:not([hidden]),body.mobile-layout .mobile-cast-aim-cue[data-state=fired]:not([hidden]){color:#84e1bc;border-color:#84e1bcd9;box-shadow:0 0 20px #84e1bc2e}body[data-layout=mobile] .mobile-cast-aim-cue[data-state=fired]:not([hidden]):after,body.mobile-layout .mobile-cast-aim-cue[data-state=fired]:not([hidden]):after{content:"CAST";color:#d8ffef}:is(body[data-layout=mobile]:has(#wand.open) .mobile-cast-feedback:not([hidden]),body.mobile-layout:has(#wand.open) .mobile-cast-feedback:not([hidden])){inset-block-start:max(58px, calc(env(safe-area-inset-top) + 10px));inset-block-end:auto}body[data-layout=mobile] .mobile-overlay-escape-guard:not([hidden]),body.mobile-layout .mobile-overlay-escape-guard:not([hidden]){z-index:90;width:min(156px, calc(42vw - env(safe-area-inset-right)));pointer-events:auto;background:#080c12e6;border:1px solid #84e1bc6b;border-radius:14px;gap:6px;padding:7px;display:grid;position:fixed;inset-block-start:50%;inset-inline-end:max(10px, env(safe-area-inset-right));transform:translateY(-50%);box-shadow:0 12px 30px #00000073}:is(body[data-layout=mobile]:has(#wand.open):not(:has(.mobile-failure-recovery:not([hidden]))) .mobile-overlay-escape-guard:not([hidden]),body.mobile-layout:has(#wand.open):not(:has(.mobile-failure-recovery:not([hidden]))) .mobile-overlay-escape-guard:not([hidden])){inset-block-start:max(10px, env(safe-area-inset-top));transform:none}.mobile-overlay-escape-guard button{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);background:var(--accent);color:#1a1300;cursor:pointer;letter-spacing:.06em;touch-action:manipulation;border:none;border-radius:10px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:800;line-height:1.15}.mobile-overlay-escape-guard button.secondary{color:#dfe6ef;background:#2a3142}.mobile-death-recovery__copy{text-align:center;gap:3px;min-inline-size:0;display:grid}.mobile-failure-recovery__copy{gap:3px;min-inline-size:0;display:grid}.mobile-death-recovery__title{color:#ffd166;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:800;line-height:1.15}.mobile-failure-recovery__title{color:#ff9aa8;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:800;line-height:1.15}.mobile-failure-recovery[data-reason=first_cast_stall] .mobile-failure-recovery__title{color:#ffd166}.mobile-death-recovery__hint{color:#dfe6ef;font-size:14px;line-height:1.4}.mobile-death-recovery__action-hint{color:#d8ffef;letter-spacing:.04em;text-align:center;background:#84e1bc14;border:1px solid #84e1bc57;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800;line-height:1.2;display:block}.mobile-death-recovery__steps,.post-run-recovery-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0;padding:0;list-style:none;display:grid}.mobile-death-recovery__steps li,.post-run-recovery-steps li{color:#fff3bf;letter-spacing:.04em;text-align:center;background:#ffd16614;border:1px solid #ffd16652;border-radius:999px;min-inline-size:0;padding:5px 4px;font-size:11px;font-weight:800;line-height:1.1}.mobile-failure-recovery__hint{color:#dfe6ef;font-size:13px;line-height:1.35}.mobile-failure-recovery__actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr));align-items:center;gap:8px;display:grid}.mobile-death-recovery button{box-sizing:border-box;background:var(--accent);color:#1a1300;cursor:pointer;letter-spacing:.1em;touch-action:manipulation;border:none;border-radius:12px;min-block-size:64px;inline-size:100%;min-inline-size:100%;padding:15px 18px;font-family:inherit;font-size:17px;font-weight:800;line-height:1.15}.mobile-failure-recovery button{box-sizing:border-box;inline-size:100%;min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);background:var(--accent);color:#1a1300;cursor:pointer;letter-spacing:.08em;touch-action:manipulation;border:none;border-radius:10px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:800;line-height:1.15}.mobile-failure-recovery button.secondary{color:#dfe6ef;background:#2a3142}.mobile-failure-recovery:not([data-reason=first_cast_stall]) #mobile-failure-try-again-btn{order:1}.mobile-failure-recovery:not([data-reason=first_cast_stall]) #mobile-failure-suggested-btn{order:2}.mobile-failure-recovery:not([data-reason=first_cast_stall]) #mobile-failure-clear-btn{order:3}.mobile-failure-recovery:not([data-reason=first_cast_stall]) #mobile-failure-dismiss-btn{order:5}.mobile-failure-recovery:not([data-reason=first_cast_stall]) #mobile-failure-restart-btn{order:4;grid-column:1/-1;min-block-size:52px;font-size:14px}@media (max-width:370px){body[data-layout=mobile] .mobile-death-recovery:not([hidden]),body.mobile-layout .mobile-death-recovery:not([hidden]){grid-template-columns:1fr;padding:12px}body[data-layout=mobile] .mobile-failure-recovery:not([hidden]),body.mobile-layout .mobile-failure-recovery:not([hidden]){grid-template-columns:1fr}.mobile-failure-recovery button{inline-size:100%}}.quick-cast-bar{display:none}body[data-layout=mobile] #quick-cast-bar.has-favourites,body.mobile-layout #quick-cast-bar.has-favourites{z-index:22;max-inline-size:calc(100vw - 36px - env(safe-area-inset-left) - env(safe-area-inset-right));pointer-events:auto;-webkit-overflow-scrolling:touch;background:#080b11d6;border:1px solid #ffd16657;border-radius:999px;align-items:center;gap:7px;padding:6px;display:flex;position:fixed;inset-block-end:calc(148px + env(safe-area-inset-bottom));inset-inline-end:max(18px, env(safe-area-inset-right));overflow-x:auto;box-shadow:0 10px 26px #0006,0 0 16px #ffd1661f}:is(body[data-layout=mobile]:has(.mobile-death-recovery:not([hidden])) #quick-cast-bar.has-favourites,body.mobile-layout:has(.mobile-death-recovery:not([hidden])) #quick-cast-bar.has-favourites){display:none}.quick-cast-chip{min-inline-size:var(--mobile-control-size);min-block-size:var(--mobile-control-size);color:#d7ffe9;letter-spacing:.04em;text-overflow:ellipsis;text-transform:lowercase;white-space:nowrap;touch-action:manipulation;background:#1f6f4ac2;border:1px solid #84e1bc7a;border-radius:999px;flex:none;max-inline-size:8ch;padding:0 11px;font:800 12px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden}.mobile-first-session-checklist{display:none}body[data-layout=mobile] .mobile-first-session-checklist:not([hidden]),body.mobile-layout .mobile-first-session-checklist:not([hidden]){inset-block-start:calc(max(8px, env(safe-area-inset-top)) + 74px);inset-inline:max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right));z-index:21;box-sizing:border-box;inline-size:min(500px, calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)));color:#d7ffe9;pointer-events:none;background:#080b11d1;border:1px solid #84e1bc61;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;margin-inline:auto;padding:7px 8px;font:700 12px/1.25 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:grid;position:fixed;box-shadow:0 10px 28px #0000005c,inset 0 0 18px #84e1bc14}body:has(#overlay.show) .mobile-first-session-checklist{display:none}body:has(.mobile-death-recovery:not([hidden])) .mobile-first-session-checklist{display:none}body:has(.mobile-failure-recovery:not([hidden])) .mobile-first-session-checklist{display:none}.mobile-first-session-checklist__summary{gap:2px;min-inline-size:0;display:grid}.mobile-first-session-checklist__eyebrow{color:#ffd166;letter-spacing:.14em;text-transform:uppercase;font-size:9px}.mobile-first-session-checklist__steps{overscroll-behavior-inline:contain;pointer-events:auto;-webkit-overflow-scrolling:touch;grid-column:1/-1;gap:5px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.mobile-first-session-checklist__step{color:#d7f4ffc7;white-space:nowrap;background:#0d1118c7;border:1px solid #ffffff1f;border-radius:999px;flex:none;padding:3px 7px}.mobile-first-session-checklist__step[data-done=true]{color:#d7ffe9;background:#1f6f4a9e;border-color:#84e1bc80}.mobile-first-session-checklist__step[aria-current=step]{color:#fff3bf;border-color:#ffd16694}.mobile-first-session-checklist__actions{pointer-events:auto;align-items:center;gap:5px;display:flex}.mobile-first-session-checklist__actions button{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);color:#d7f4ff;letter-spacing:.06em;text-transform:uppercase;background:#0a0e16db;border:1px solid #7fd6f552;border-radius:999px;padding:4px 8px;font:800 10px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace}.mobile-first-session-checklist.is-minimized{inline-size:min(360px, calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)));grid-template-columns:minmax(0,1fr) auto}.mobile-first-session-checklist.is-minimized .mobile-first-session-checklist__steps,.mobile-first-session-guidance,.mobile-spellbook-affordance,.mobile-restart-help-affordance,.mobile-restart-help-panel{display:none}body[data-layout=mobile] .mobile-first-session-guidance:not([hidden]),body.mobile-layout .mobile-first-session-guidance:not([hidden]){inset-block-start:calc(max(8px, env(safe-area-inset-top)) + 154px);inset-inline:max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right));z-index:20;inline-size:min(520px, calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));color:#d7f4ff;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:4px;margin-inline:auto;font:800 9px/1.15 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:flex;position:fixed}:is(body:has(#overlay.show) .mobile-first-session-guidance,body:has(.mobile-death-recovery:not([hidden])) .mobile-first-session-guidance,body:has(#wand.open) .mobile-first-session-guidance){display:none}.mobile-first-session-guidance__item{white-space:nowrap;background:#080b11c2;border:1px solid #7fd6f547;border-radius:999px;align-items:center;gap:4px;max-inline-size:100%;padding:3px 6px;display:inline-flex;box-shadow:0 8px 20px #00000047}.mobile-first-session-guidance__item b{color:#ffd166;letter-spacing:.08em;text-transform:uppercase}body[data-layout=mobile][data-orientation=portrait] .mobile-spellbook-affordance,body.mobile-layout[data-orientation=portrait] .mobile-spellbook-affordance{z-index:22;min-inline-size:96px;min-block-size:calc(var(--mobile-control-size) + 4px);color:#fff7d4;letter-spacing:.08em;pointer-events:auto;text-transform:uppercase;touch-action:manipulation;background:linear-gradient(#297a60f0,#12473df0);border:1px solid #ffd166c2;border-radius:999px;align-content:center;justify-items:center;padding:8px 14px;font:800 12px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:grid;position:fixed;inset-block-end:calc(82px + env(safe-area-inset-bottom));inset-inline-start:50%;transform:translate(-50%);box-shadow:0 0 0 1px #ffd1662e,0 10px 24px #00000057}body[data-layout=mobile][data-orientation=portrait] .mobile-restart-help-affordance:not([hidden]),body.mobile-layout[data-orientation=portrait] .mobile-restart-help-affordance:not([hidden]){z-index:23;color:#d7f4ff;letter-spacing:.08em;pointer-events:auto;text-transform:uppercase;touch-action:manipulation;background:linear-gradient(#21344ff0,#0a111cf0);border:1px solid #7fd6f5ad;border-radius:999px;align-content:center;justify-items:center;min-block-size:52px;min-inline-size:68px;padding:7px 10px;font:800 11px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:grid;position:fixed;inset-block-start:50%;inset-inline-start:max(10px, env(safe-area-inset-left));transform:translateY(-50%);box-shadow:0 0 0 1px #7fd6f529,0 10px 24px #00000057}.mobile-restart-help-affordance__label,.mobile-restart-help-affordance__hint{pointer-events:none}.mobile-restart-help-affordance__hint{color:#fff3bff0;letter-spacing:.04em;text-transform:none;margin-block-start:3px;font-size:9px}body[data-layout=mobile] .mobile-restart-help-panel:not([hidden]),body.mobile-layout .mobile-restart-help-panel:not([hidden]){inset-block-start:calc(max(8px, env(safe-area-inset-top)) + 168px);inset-inline:max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right));z-index:44;box-sizing:border-box;inline-size:min(340px, calc(100vw - 28px - env(safe-area-inset-left) - env(safe-area-inset-right)));color:#d7f4ff;pointer-events:auto;background:#090c12f2;border:1px solid #7fd6f58f;border-radius:14px;grid-template-columns:minmax(0,1fr);gap:10px;margin-inline:auto;padding:12px;display:grid;position:fixed;box-shadow:0 14px 34px #0000007a,0 0 22px #7fd6f51f}.mobile-restart-help-panel__copy{gap:4px;min-inline-size:0;display:grid}.mobile-restart-help-panel__title{color:#ffd166;letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800;line-height:1.2}.mobile-restart-help-panel__hint{color:#dfe6ef;font-size:13px;line-height:1.35}.mobile-restart-help-panel__actions{grid-template-columns:repeat(2, minmax(var(--touch-target-min), 1fr));gap:8px;display:grid}.mobile-restart-help-panel button{box-sizing:border-box;min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);color:#08110d;letter-spacing:.06em;text-transform:uppercase;touch-action:manipulation;background:#84e1bc;border:1px solid #7fd6f56b;border-radius:10px;padding:9px 10px;font:800 11px/1.1 ui-monospace,SF Mono,Menlo,Consolas,monospace}.mobile-restart-help-panel button.secondary{color:#dfe6ef;background:#2a3142}.mobile-spellbook-affordance__label,.mobile-spellbook-affordance__hint{pointer-events:none}.mobile-spellbook-affordance__hint{color:#d7f4ffeb;letter-spacing:.04em;text-transform:none;margin-block-start:3px;font-size:9px}:is(body:has(#overlay.show) .mobile-spellbook-affordance,body:has(.modal.show) .mobile-spellbook-affordance,body:has(.win-screen.show) .mobile-spellbook-affordance,body:has(.mobile-death-recovery:not([hidden])) .mobile-spellbook-affordance,body:has(.mobile-failure-recovery:not([hidden])) .mobile-spellbook-affordance,body:has(#wand.open) .mobile-spellbook-affordance),body.mobile-keyboard-visible .mobile-restart-help-affordance{display:none}body:has(#overlay.show) .mobile-restart-help-affordance{display:none}body:has(.modal.show) .mobile-restart-help-affordance{display:none}body:has(.win-screen.show) .mobile-restart-help-affordance{display:none}body:has(.mobile-death-recovery:not([hidden])) .mobile-restart-help-affordance{display:none}body:has(.mobile-failure-recovery:not([hidden])) .mobile-restart-help-affordance{display:none}body:has(.mobile-restart-help-panel:not([hidden])) .mobile-restart-help-affordance{display:none}body:has(#wand.open) .mobile-restart-help-affordance{display:none}:is(body:has(#overlay.show) .mobile-restart-help-panel,body:has(.modal.show) .mobile-restart-help-panel,body:has(.win-screen.show) .mobile-restart-help-panel,body:has(.mobile-death-recovery:not([hidden])) .mobile-restart-help-panel,body:has(.mobile-failure-recovery:not([hidden])) .mobile-restart-help-panel,body:has(#wand.open) .mobile-restart-help-panel){display:none}@media (max-width:480px){body[data-layout=mobile] #wand{inset-inline:max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right));z-index:30;box-sizing:border-box;width:auto;max-height:min(330px, calc(48dvh - max(20px, env(safe-area-inset-bottom))));border-radius:14px;gap:6px;padding:8px;transition:none;display:grid;position:fixed;inset-block-end:max(52px, env(safe-area-inset-bottom));overflow:hidden}body[data-layout=mobile] #wand.closed{transform:translateY(calc(100% + 18px))}body[data-layout=mobile] #wand.open,body[data-layout=mobile] #tutorial-overlay{opacity:1;transform:translateY(0)}body[data-layout=mobile] #overlay.show .panel:has(#pause-root){opacity:1;transform:translateY(0)}body[data-layout=mobile] #wand.closing,body[data-layout=mobile] #tutorial-overlay.closing,body[data-layout=mobile] #pause-root.closing{opacity:0;transform:translateY(calc(100% + 24px))}body[data-layout=mobile] #overlay.show .panel:has(#pause-root.closing){opacity:0;transform:translateY(calc(100% + 24px))}body[data-layout=mobile] #overlay.show .panel:has(#pause-root[data-swipe-closing=true]){opacity:0;transform:translateY(calc(100% + 24px))}body[data-layout=mobile] #wand-header{gap:6px;margin-bottom:0}body[data-layout=mobile] #wand-header .hint{display:none}body[data-layout=mobile] #wand-mode,body[data-layout=mobile] #wand-summon-name,body[data-layout=mobile] #session-cost-display{min-height:0;font-size:11px}body[data-layout=mobile] #wand-slots{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;flex-wrap:wrap;place-content:flex-start;gap:4px;min-height:44px;max-height:58px;overflow:auto hidden}body[data-layout=mobile] .slot{flex:none;width:44px;height:44px;font-size:18px}body[data-layout=mobile] .wand-empty-state{width:min(260px,84%);min-height:32px;padding:4px 8px;font-size:11px}body[data-layout=mobile] #wand.open .mobile-spell-input-row{touch-action:manipulation;grid-template-columns:1fr;gap:4px;margin-top:0;display:grid}body[data-layout=mobile] .mobile-spell-input{width:100%;min-height:var(--mobile-control-size);box-sizing:border-box;touch-action:manipulation}body[data-layout=mobile] #cooldown-track,body[data-layout=mobile] #spell-feedback{margin-top:0}body[data-layout=mobile] #spell-feedback{white-space:nowrap;text-overflow:ellipsis;min-height:14px;font-size:11px;overflow:hidden}body[data-layout=mobile] .wand-mobile-actions{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:6px;display:grid}body[data-layout=mobile] .wand-mobile-actions button{min-width:var(--mobile-control-size);min-height:var(--mobile-control-size);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;background:#1f6f4ab8;border:1px solid #ffd16680;border-radius:10px;padding:8px 10px;font:700 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}body[data-layout=mobile] .wand-mobile-actions .secondary{color:#d7f4ff;background:#0a0e16d1;border-color:#7fd6f561}body[data-layout=mobile] #wand-mobile-clear-btn{color:#fff0b3;background:#231a07d1;border-color:#ffd1667a}body[data-layout=mobile] #wand-mobile-cast-btn{min-height:calc(var(--mobile-control-size) + 8px);touch-action:manipulation;background:linear-gradient(#2ca06aeb,#16754ce6);border-color:#ffd166c7;align-content:center;justify-items:center;gap:2px;display:grid;box-shadow:0 0 0 1px #ffd16629,0 8px 22px #0000003d}body[data-layout=mobile] #wand-mobile-cast-btn.is-ready{background:linear-gradient(#38c57cfa,#188957f5);border-color:#ffe08a;box-shadow:0 0 0 2px #ffe08a3d,0 0 22px #38c57c57,0 10px 24px #00000047}body[data-layout=mobile] #wand-mobile-cast-btn.is-invalid{background:linear-gradient(#742638f0,#481423eb);border-color:#ef476fc7}body[data-layout=mobile] #wand-mobile-cast-btn.is-summoning{background:linear-gradient(#5838a3f0,#38246eeb);border-color:#c084fcb3;animation:1.2s ease-in-out infinite wand-cast-summon-pulse;box-shadow:0 0 0 2px #c084fc2e,0 0 18px #c084fc47,0 10px 24px #00000047}@keyframes wand-cast-summon-pulse{0%,to{box-shadow:0 0 0 2px #c084fc2e,0 0 18px #c084fc47,0 10px 24px #00000047}50%{box-shadow:0 0 0 2px #c084fc52,0 0 28px #c084fc73,0 10px 24px #00000047}}body[data-layout=mobile] .wand-mobile-cast-btn__status,body[data-layout=mobile] .wand-mobile-cast-btn__label,body[data-layout=mobile] .wand-mobile-cast-btn__hint{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}body[data-layout=mobile] .wand-mobile-cast-btn__status{color:#fff3bfe0;letter-spacing:.12em;background:#0a0d136b;border-radius:999px;min-inline-size:42px;padding:2px 7px;font-size:clamp(8px,1.1dvh,10px);line-height:1}body[data-layout=mobile] #wand-mobile-cast-btn.is-ready .wand-mobile-cast-btn__status{color:#fff8cf;background:#fff3bf38}body[data-layout=mobile] #wand-mobile-cast-btn.is-invalid .wand-mobile-cast-btn__status{color:#ffd5df;background:#ef476f2e}body[data-layout=mobile] #wand-mobile-cast-btn.is-summoning .wand-mobile-cast-btn__status{color:#e9d5ff;background:#c084fc38}body[data-layout=mobile] #wand-mobile-cast-btn.is-ready .wand-mobile-cast-btn__hint{color:#fff8cf}body[data-layout=mobile] #wand-mobile-cast-btn.is-invalid .wand-mobile-cast-btn__hint{color:#ffd5df}body[data-layout=mobile] #wand-mobile-cast-btn.is-summoning .wand-mobile-cast-btn__hint{color:#e9d5ff}body[data-layout=mobile] .wand-mobile-cast-btn__label{font-size:clamp(11px,1.65dvh,13px);line-height:1.05}body[data-layout=mobile] .wand-mobile-cast-btn__hint{color:#fff3bfeb;letter-spacing:.03em;text-transform:none;font-size:clamp(8px,1.15dvh,10px);line-height:1.05}body[data-layout=mobile] #quick-cast-bar.has-favourites,body.mobile-layout #quick-cast-bar.has-favourites{inset-block-end:calc(35dvh + 88px + env(safe-area-inset-bottom))}}@media (max-width:600px){body[data-layout=mobile]{--mobile-control-size:clamp(38px, 5.2dvh, 44px);--mobile-joystick-size:clamp(72px, 10.5dvh, 90px);--mobile-side-rail-width:clamp(54px, 8dvh, 66px);--mobile-safe-edge-gap:clamp(4px, .75dvh, 6px);--hud-font-size:clamp(10px, 1.45dvh, 12px);--hud-label-font-size:clamp(9px, 1.35dvh, 12px);--wand-token-font-size:clamp(10px, 1.45dvh, 12px)}body[data-layout=mobile] #spell-history-toggle,body[data-layout=mobile] #spell-history-drawer{display:block}body[data-layout=mobile] #app{place-items:center;padding-block-end:var(--mobile-wand-panel-gap)}body[data-layout=mobile] #game-stage{width:min(100vw, calc((100dvh - var(--mobile-wand-panel-gap)) * 16 / 9))}body[data-layout=mobile] .joystick-base{inline-size:min(var(--mobile-joystick-size), calc(50vw - var(--mobile-thumb-safe-gap)));block-size:min(var(--mobile-joystick-size), calc(50vw - var(--mobile-thumb-safe-gap)))}body[data-layout=mobile] .joystick-knob{block-size:clamp(32px,4.8dvh,40px);inline-size:clamp(32px,4.8dvh,40px)}}@media (orientation:landscape){body[data-layout=mobile][data-orientation=landscape]{--mobile-control-size:clamp(34px, 11dvh, 44px);--mobile-joystick-size:clamp(62px, 23dvh, 90px);--mobile-side-rail-width:clamp(46px, 17dvh, 66px);--mobile-safe-edge-gap:clamp(3px, 1.55dvh, 6px);--hud-mobile-bar-width:clamp(36px, 12.5dvh, 48px);--hud-mobile-bar-height:clamp(9px, 3.1dvh, 12px);--hud-font-size:clamp(8px, 2.55dvh, 10px);--hud-label-font-size:clamp(8px, 2.3dvh, 9px);--wand-token-font-size:clamp(9px, 3dvh, 12px)}body[data-layout=mobile][data-orientation=landscape] #app{place-items:center;padding-block-end:0}body[data-layout=mobile][data-orientation=landscape] #game-stage{width:min(100vw,177.778dvh)}body[data-layout=mobile][data-orientation=landscape] #hud{padding:var(--mobile-safe-edge-gap)}body[data-layout=mobile][data-orientation=landscape] #hud>.row{inset-block:max(var(--mobile-safe-edge-gap), env(safe-area-inset-top)) max(var(--mobile-safe-edge-gap), env(safe-area-inset-bottom));width:var(--mobile-side-rail-width);overscroll-behavior:contain;pointer-events:none;-webkit-overflow-scrolling:touch;flex-flow:column;align-items:stretch;gap:clamp(2px,1dvh,4px);display:flex;position:fixed;inset-inline-start:max(var(--mobile-safe-edge-gap), env(safe-area-inset-left));overflow-y:auto}body[data-layout=mobile][data-orientation=landscape] #hp-wrap,body[data-layout=mobile][data-orientation=landscape] #mana-wrap,body[data-layout=mobile][data-orientation=landscape] #score-wrap,body[data-layout=mobile][data-orientation=landscape] #depth-wrap,body[data-layout=mobile][data-orientation=landscape] #gold-wrap,body[data-layout=mobile][data-orientation=landscape] #xp-wrap,body[data-layout=mobile][data-orientation=landscape] #timer-wrap,body[data-layout=mobile][data-orientation=landscape] #codex-btn,body[data-layout=mobile][data-orientation=landscape] #combat-stats-btn,body[data-layout=mobile][data-orientation=landscape] #letter-stats-btn,body[data-layout=mobile][data-orientation=landscape] #perks-btn,body[data-layout=mobile][data-orientation=landscape] #daily-hud-badge,body[data-layout=mobile][data-orientation=landscape] #settings-btn,body[data-layout=mobile][data-orientation=landscape] #audio-btn,body[data-layout=mobile][data-orientation=landscape] #debug-btn{width:var(--mobile-side-rail-width);min-width:0;min-height:var(--mobile-control-size);text-align:center;text-overflow:ellipsis;pointer-events:auto;justify-content:center;padding:clamp(2px,1dvh,4px);overflow:hidden}body[data-layout=mobile][data-orientation=landscape] #hp-wrap,body[data-layout=mobile][data-orientation=landscape] #mana-wrap,body[data-layout=mobile][data-orientation=landscape] #xp-wrap{flex-direction:column;gap:3px}body[data-layout=mobile][data-orientation=landscape] #settings-btn{margin-inline-start:0}body[data-layout=mobile][data-orientation=landscape] #wand{z-index:30;block-size:calc(100dvh - var(--mobile-joystick-size) - var(--mobile-safe-edge-gap) - var(--mobile-safe-edge-gap) - var(--mobile-safe-edge-gap));width:var(--mobile-side-rail-width);max-height:none;padding:var(--mobile-safe-edge-gap);border-radius:14px;grid-template-columns:1fr;align-content:start;position:fixed;inset-block-start:max(var(--mobile-safe-edge-gap), env(safe-area-inset-top));inset-block-end:max(calc(var(--mobile-joystick-size) + var(--mobile-safe-edge-gap) + var(--mobile-safe-edge-gap)), env(safe-area-inset-bottom));inset-inline-start:auto;inset-inline-end:max(var(--mobile-safe-edge-gap), env(safe-area-inset-right));overflow:hidden auto}body[data-layout=mobile][data-orientation=landscape] #wand.closed{transform:translate(calc(100% + 12px))}body[data-layout=mobile][data-orientation=landscape] #wand.open{transform:translate(0)}body[data-layout=mobile][data-orientation=landscape] #wand-header,body[data-layout=mobile][data-orientation=landscape] .mobile-spell-input-row,body[data-layout=mobile][data-orientation=landscape] #spell-suggestions,body[data-layout=mobile][data-orientation=landscape] #cooldown-track,body[data-layout=mobile][data-orientation=landscape] #spell-feedback,body[data-layout=mobile][data-orientation=landscape] .wand-mobile-actions{grid-column:1}body[data-layout=mobile][data-orientation=landscape] #wand-header{gap:4px;display:grid}body[data-layout=mobile][data-orientation=landscape] #wand-header>.lbl,body[data-layout=mobile][data-orientation=landscape] #wand-summon-name,body[data-layout=mobile][data-orientation=landscape] #session-cost-display{display:none}body[data-layout=mobile][data-orientation=landscape] #wand-mode{text-align:center;padding:3px 4px}body[data-layout=mobile][data-orientation=landscape] #wand-slots{grid-column:1;grid-auto-rows:var(--mobile-control-size);max-height:calc(var(--mobile-control-size) + var(--mobile-control-size) + var(--mobile-control-size) + 6px);display:grid;overflow:hidden auto}body[data-layout=mobile][data-orientation=landscape] .mobile-spell-input-row,body[data-layout=mobile][data-orientation=landscape] .wand-mobile-actions{grid-template-columns:1fr;gap:4px;display:grid}body[data-layout=mobile][data-orientation=landscape] .mobile-spell-input{min-inline-size:0;padding-inline:4px;font-size:13px}body[data-layout=mobile][data-orientation=landscape] .wand-mobile-actions button{padding-inline:clamp(2px,1dvh,4px);font-size:clamp(8px,2.55dvh,10px)}body[data-layout=mobile][data-orientation=landscape] #quick-cast-bar.has-favourites,body[data-layout=mobile][data-orientation=landscape].mobile-layout #quick-cast-bar.has-favourites{width:66px;border-radius:16px;flex-direction:column;max-block-size:72px;max-inline-size:66px;inset-block-end:max(var(--mobile-safe-edge-gap), env(safe-area-inset-bottom));inset-inline-end:max(var(--mobile-safe-edge-gap), env(safe-area-inset-right));overflow:hidden auto}body[data-layout=mobile][data-orientation=landscape] .quick-cast-chip{width:var(--mobile-control-size);max-inline-size:var(--mobile-control-size);padding-inline:clamp(2px,1dvh,4px)}body[data-layout=mobile][data-orientation=landscape] .mobile-first-session-checklist:not([hidden]){inline-size:auto;max-inline-size:none;padding:4px 6px;font-size:clamp(8px,2.55dvh,10px);inset-block-start:max(var(--mobile-safe-edge-gap), env(safe-area-inset-top));inset-inline-start:calc(var(--mobile-side-rail-width) + var(--mobile-safe-edge-gap) + var(--mobile-safe-edge-gap));inset-inline-end:calc(var(--mobile-side-rail-width) + var(--mobile-safe-edge-gap) + var(--mobile-safe-edge-gap))}body[data-layout=mobile][data-orientation=landscape] .mobile-first-session-checklist__steps{display:none}body[data-layout=mobile][data-orientation=landscape] .mobile-first-session-guidance:not([hidden]){inline-size:auto;max-block-size:calc(var(--mobile-control-size) + 14px);font-size:clamp(8px,2.55dvh,10px);inset-block-start:auto;inset-block-end:max(var(--mobile-safe-edge-gap), env(safe-area-inset-bottom));inset-inline-start:calc(var(--mobile-side-rail-width) + var(--mobile-safe-edge-gap) + var(--mobile-safe-edge-gap));inset-inline-end:calc(var(--mobile-side-rail-width) + var(--mobile-safe-edge-gap) + var(--mobile-safe-edge-gap));overflow:hidden}body[data-layout=mobile][data-orientation=landscape] .joystick-base{inline-size:var(--mobile-joystick-size);block-size:var(--mobile-joystick-size);inset-block-end:max(var(--mobile-safe-edge-gap), env(safe-area-inset-bottom));inset-inline-start:max(calc(var(--mobile-side-rail-width) + var(--mobile-safe-edge-gap) + var(--mobile-safe-edge-gap)), calc(env(safe-area-inset-left) + var(--mobile-side-rail-width) + var(--mobile-safe-edge-gap) + var(--mobile-safe-edge-gap)))}body[data-layout=mobile][data-orientation=landscape] .joystick-knob{block-size:clamp(28px,10dvh,40px);inline-size:clamp(28px,10dvh,40px)}}@keyframes biome-transition-fade{0%{opacity:0}48%{opacity:.72}to{opacity:0}}@keyframes biome-title-splash{0%{opacity:0;transform:translateY(6px)scale(.98)}25%{opacity:1;transform:translateY(0)scale(1)}75%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(1.01)}}@keyframes world-loading-shader{to{transform:rotate(1turn)}}@keyframes world-loading-scan{0%,to{opacity:0;transform:translateY(-42%)}50%{opacity:1;transform:translateY(42%)}}@keyframes world-loading-orbit{to{transform:rotate(-1turn)}}@keyframes world-loading-bar{0%{transform:translate(-105%)}to{transform:translate(245%)}}@keyframes hud-feedback-pulse{0%{box-shadow:none;transform:scale(1)}24%{transform:scale(1.08);box-shadow:0 0 18px #ffd1666b}to{box-shadow:none;transform:scale(1)}}@keyframes hit-flash-pop{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes tick-up{0%{color:var(--accent);transform:translateY(0)scale(1)}36%{color:#fff3bf;text-shadow:0 0 12px #ffd1668c;transform:translateY(-3px)scale(1.16)}to{color:inherit;text-shadow:none;transform:translateY(0)scale(1)}}@keyframes cast-echo-pulse{0%{filter:brightness();transform:translateY(0)}38%{filter:brightness(1.32);transform:translateY(-1px)}to{filter:brightness();transform:translateY(0)}}@keyframes wand-cast-error{0%{border-color:var(--danger);transform:translate(0);box-shadow:0 0 #ef476f00}18%{border-color:var(--danger);transform:translate(-6px);box-shadow:0 0 18px #ef476f59}38%{transform:translate(5px)}58%{transform:translate(-3px)}to{transform:translate(0);box-shadow:0 0 #ef476f00}}@keyframes wand-validation-shake{0%{transform:translate(0)}20%{transform:translate(-5px)}42%{transform:translate(4px)}64%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes wand-cast-ok{0%{border-color:var(--accent-2);box-shadow:0 0 #84e1bc00}36%{border-color:var(--accent-2);box-shadow:0 0 18px #84e1bc57}to{box-shadow:0 0 #84e1bc00}}@keyframes tutorial-nudge-pop{0%{opacity:0;filter:brightness(.8)}to{opacity:1;filter:brightness()}}@keyframes tutorial-nudge-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){:root{--canvas-motion-brightness:brightness(.75)}#game-transition-fade.show,#hit-flash.show,#biome-splash.show,#score-wrap.pulse,#depth-wrap.pulse,#depth-text.tick-up,.inventory-rail.pickup-pulse,#wand-slots.cast-echo,.tutorial-nudge,#wand.cast-error,#wand.cast-ok,#wand.validation-shake,#summoning:before,#hud-summoning:before,.world-loading-panel:before,.world-loading-panel:after,.world-loading-vortex,.world-loading-bar span,.reward-burst{animation:none}.juice-hover{transform:none;box-shadow:inset 0 0 8px #ffffff14}.tutorial-nudge{animation:.12s ease-out both tutorial-nudge-fade}.slot,.chip,#hud button,#wand button,#hp-bar,#mana-bar,#wand,#wand.closing,#tutorial-overlay,#tutorial-overlay.closing,#pause-root,#pause-root.closing,#wand-cooldown-bar,.pwa-install-cta{transition:none}#overlay.show .panel:has(#pause-root){transition:none}#overlay.show .panel:has(#pause-root.closing){transition:none}#game-transition-fade.show{opacity:0}#biome-splash.show,#summoning:before,#hud-summoning:before,.reward-burst{opacity:1;transform:none}}body.high-contrast #game{border-color:#bcd2ff;box-shadow:0 0 0 2px #000,0 0 0 4px #bcd2ff}body.photosensitive-safe #game{filter:saturate(.9) contrast(.95) var(--canvas-motion-brightness)}body.colorblind-deuteranopia #game{filter:saturate(.95) hue-rotate(-8deg) contrast(1.06) var(--canvas-motion-brightness)}body.colorblind-protanopia #game{filter:saturate(.9) hue-rotate(12deg) contrast(1.08) var(--canvas-motion-brightness)}body.colorblind-tritanopia #game{filter:saturate(.92) hue-rotate(32deg) contrast(1.08) var(--canvas-motion-brightness)}body.photosensitive-safe.colorblind-deuteranopia #game,body.photosensitive-safe.colorblind-protanopia #game,body.photosensitive-safe.colorblind-tritanopia #game{filter:saturate(.84) contrast(1.02) var(--canvas-motion-brightness)}#hud{pointer-events:none;flex-direction:column;justify-content:space-between;padding:14px;display:flex;position:fixed;inset:0}body.large-hud #hud{padding:18px}#hud>.row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}#vitals-wrap,#hp-wrap,#mana-wrap,#score-wrap,#depth-wrap,#gold-wrap,#xp-wrap,#timer-wrap,#codex-btn,#letter-stats-btn,#perks-btn{background:var(--hud-panel-bg);border:1px solid var(--hud-border-readable);font-size:var(--hud-font-size);border-radius:8px;align-items:center;gap:8px;padding:7px 10px;line-height:1.2;display:flex;box-shadow:0 8px 22px #00000038}#vitals-wrap{gap:4px;display:grid}#vitals-wrap #hp-wrap,#vitals-wrap #mana-wrap{box-shadow:none;background:0 0;border:0;border-radius:0;gap:0;padding:0}#score-wrap,#hp-wrap .lbl,#hp-text,#mana-wrap .lbl,#mana-text,#xp-wrap .lbl,#timer-wrap .lbl{display:none}#gold-wrap .lbl{color:#ffd166;font-size:1.15em;line-height:1}#depth-wrap .lbl{color:var(--accent-2);font-size:1.15em;line-height:1}#depth-wrap,#gold-wrap{min-block-size:36px}body.large-hud #hp-wrap,body.large-hud #mana-wrap,body.large-hud #score-wrap,body.large-hud #depth-wrap,body.large-hud #gold-wrap,body.large-hud #xp-wrap,body.large-hud #timer-wrap,body.large-hud #codex-btn,body.large-hud #letter-stats-btn,body.large-hud #perks-btn{padding:8px 12px;font-size:14px}#debug-btn,#settings-btn,#audio-btn,#admin-btn,#codex-btn,#combat-stats-btn,#letter-stats-btn,#perks-btn{pointer-events:auto;color:#cdd5e0;padding:var(--touch-target-padding-y) var(--touch-target-padding-x);font:inherit;font-size:var(--hud-font-size);letter-spacing:.1em;cursor:pointer;background:#080b11c2;border:1px solid #2a3142c7;border-radius:6px;transition:transform 80ms ease-out,box-shadow 80ms ease-out,border-color 80ms ease-out}#settings-btn,#audio-btn,#codex-btn,#perks-btn,#debug-btn{letter-spacing:0;text-align:center;place-items:center;padding:0;line-height:1;display:inline-grid}.hud-icon{transform-origin:50%;place-items:center;block-size:1em;inline-size:1.35em;line-height:1;display:inline-grid;overflow:hidden}.hud-icon-rotated{transform:rotate(90deg)}#settings-btn .hud-icon,#perks-btn .hud-icon{transform:scale(1.25)}#perks-btn .hud-icon{transform:translateY(-.105em)scale(1.25)}#settings-btn .hud-icon-rotated{transform:rotate(90deg)scale(1.25)}#combat-stats-btn,#letter-stats-btn{display:none}#combat-stats-btn{left:max(14px, env(safe-area-inset-left))}#letter-stats-btn{right:max(14px, env(safe-area-inset-right))}#hud button,#wand button,.hud button,.wand button,.wand-chip,.cast-btn,.settings-btn,.pause-btn{box-sizing:border-box;min-width:var(--touch-target-min);min-height:var(--touch-target-min)}#timer-text{color:#ffd166;font-variant-numeric:tabular-nums}#timer-wrap{margin-inline-start:auto!important}.speedrun-hud{top:max(10px, env(safe-area-inset-top));z-index:5;min-width:156px;color:var(--ink);letter-spacing:.06em;pointer-events:auto;background:#050608db;border:1px solid #ffd16673;border-radius:8px;gap:4px;padding:8px 10px;font:700 12px/1.25 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:grid;position:absolute;inset-inline-end:max(10px, env(safe-area-inset-right));box-shadow:0 8px 22px #00000061}.speedrun-hud[hidden]{display:none}#debug-seed{z-index:12;color:#d5fbffb8;pointer-events:none;background:#05081075;border:1px solid #9ad6ff38;border-radius:4px;padding:2px 5px;font:11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:absolute;inset-block-end:8px;inset-inline-start:8px}#debug-seed[hidden]{display:none}.speedrun-hud__row{justify-content:space-between;gap:10px;display:flex}.speedrun-hud__row span{color:var(--muted);text-transform:uppercase}.speedrun-hud__row b{color:#ffd166;font-variant-numeric:tabular-nums}.speedrun-hud__challenge{color:var(--accent-2);text-align:center;text-transform:uppercase;border:1px solid #84e1bc8c;border-radius:999px;padding:2px 6px}.speedrun-hud__challenge[hidden]{display:none}.speedrun-hud__toggle{min-height:28px;color:var(--accent-2);font:inherit;cursor:pointer;background:#0a0d13c7;border:1px solid #84e1bc8c;border-radius:6px;margin-top:2px;padding:4px 6px}.speedrun-timer{color:#ffd166;font-variant-numeric:tabular-nums;text-align:center;background:#00000052;border-radius:4px;min-width:5ch;padding:1px 4px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;display:inline-block}#settings-btn{margin-inline-start:0!important}#debug-btn:hover,#settings-btn:hover,#audio-btn:hover,#codex-btn:hover,#combat-stats-btn:hover,#letter-stats-btn:hover,#perks-btn:hover{color:var(--ink);border-color:var(--accent-2)}#debug-btn.on,#combat-stats-btn.on,#letter-stats-btn.on{color:#1a1300;background:var(--accent-2);border-color:var(--accent-2);border-style:solid}#combat-stats{pointer-events:none;z-index:18;border:1px solid var(--border);color:var(--ink);background:#0a0d13c7;border-radius:6px;min-width:150px;padding:7px 10px;font-size:11px;line-height:1.5;position:fixed;inset-block-end:calc(max(14px, env(safe-area-inset-bottom)) + var(--touch-target-min) + 8px);inset-inline-start:max(14px, env(safe-area-inset-left))}#combat-stats.hidden{display:none}#heatmap-panel{pointer-events:auto;z-index:18;border:1px solid var(--border);color:var(--ink);background:#0a0d13d1;border-radius:6px;width:270px;padding:8px 10px 10px;font-size:11px;line-height:1.45;position:fixed;inset-block-end:calc(max(14px, env(safe-area-inset-bottom)) + var(--touch-target-min) + 8px);inset-inline-end:max(14px, env(safe-area-inset-right))}#heatmap-panel.hidden{display:none}.heatmap-title{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.heatmap-note{color:var(--muted);margin:2px 0 8px}#letter-heatmap{width:100%;height:auto;display:block}#subtitle-overlay{pointer-events:none;border:1px solid var(--border);max-width:min(520px,86vw);color:var(--ink);text-align:center;text-shadow:0 1px 2px #000;background:#050608d1;border-radius:6px;align-self:center;margin-top:auto;margin-bottom:96px;padding:7px 12px;font-size:12px;line-height:1.35}#subtitle-overlay.hidden{display:none}#boss-transition{pointer-events:none;color:#ffd166;text-align:center;text-transform:uppercase;letter-spacing:.16em;text-shadow:0 1px 2px #000;background:#050608e6;border:1px solid #ffd166;border-radius:6px;place-self:center;margin-top:64px;padding:8px 14px;font-size:12px}#boss-transition.hidden{display:none}#hud-status,#hud-summoning,#material-reticle-label{pointer-events:none;color:#f3e8ff;text-align:center;text-shadow:0 1px 2px #000;background:#0a0d13d1;border:1px solid #c084ff;border-radius:6px;align-self:center;max-width:min(560px,86vw);margin-top:8px;padding:6px 10px;font-size:12px;line-height:1.35}#hud-status{z-index:30;position:fixed;top:74px;left:50%;transform:translate(-50%)}#hud-summoning{z-index:31;background:#1d1030eb;border-color:#c084ffd9;border-radius:999px;align-items:center;gap:7px;display:flex;position:fixed;top:112px;left:50%;transform:translate(-50%);box-shadow:0 0 24px #c084ff3d}#hud-summoning:before{content:"";will-change:opacity, transform;background:#c084ff;border-radius:50%;width:8px;height:8px;animation:.9s ease-in-out infinite empty-state-pulse;box-shadow:0 0 12px #c084ffb3}#hud-status.hud-status--success{color:#d7ffe9;background:#082a1fe6;border-color:#84e1bce6;box-shadow:0 0 22px #84e1bc38}#hud-status.hud-status--warning{color:#ffd6df;background:#301018eb;border-color:#ef476ff2;box-shadow:0 0 22px #ef476f38}#hud-status.hud-status--progress{color:#fff3bf;background:#2f2308eb;border-color:#ffd166f2;box-shadow:0 0 22px #ffd16638}#material-reticle-label{color:#d5fbff;border-color:#2a9db8;align-self:flex-start}#hud-status.hidden,#hud-summoning.hidden,#material-reticle-label.hidden{display:none}#score-wrap.pulse,#depth-wrap.pulse,.inventory-rail.pickup-pulse{will-change:transform;animation:.7s ease-out both hud-feedback-pulse}#depth-text{display:inline-block}#depth-text.tick-up{will-change:transform;animation:.42s ease-out both tick-up}#material-tooltip,.spell-detail-popover{z-index:30;pointer-events:none;max-width:260px;color:var(--ink);background:#080b11f5;border:1px solid #46556f;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.4;position:fixed;box-shadow:0 8px 24px #00000073}#material-tooltip b,.spell-detail-popover b{color:#84e1bc;margin-bottom:2px;display:block}#material-tooltip span,.spell-detail-popover span{color:var(--muted)}#material-tooltip.hidden,.spell-detail-popover.hidden{display:none}body.large-hud #combat-stats{padding:9px 12px;font-size:13px}body.large-hud #subtitle-overlay{padding:9px 14px;font-size:14px}#settings-btn.on{color:#1a1300;background:#c084ff;border-style:solid;border-color:#c084ff}.wand-title-block{gap:1px;min-width:92px;display:grid}#wand-summon-name{color:#c084ff;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;max-width:190px;min-height:12px;font-size:11px;font-weight:700;line-height:1.15;overflow:hidden}#session-cost-display{color:#9ee7ff;letter-spacing:.02em;white-space:nowrap;background:#081c2ac7;border:1px solid #7fd6f58c;border-radius:999px;padding:1px 6px;font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#session-cost-display.cap-reached{color:#ffd6df;background:#301018d1;border-color:#ef476fbf}#session-cost-display.hidden{display:none}#wand #session-cost-display{display:none!important}#summoning,#summon-toast{pointer-events:none;color:#f3e8ff;text-align:center;text-shadow:0 1px 2px #000;background:#1d1030db;border:1px solid #c084ffbf;border-radius:999px;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;max-width:min(440px,88vw);margin:5px auto 0;padding:4px 10px;font-size:12px;line-height:1.35;display:flex;position:relative}#summoning:before{content:"";will-change:opacity, transform;background:#c084ff;border-radius:50%;width:8px;height:8px;animation:.9s ease-in-out infinite empty-state-pulse;box-shadow:0 0 12px #c084ffb3}#summon-toast{color:#d5fbff;background:#081c2ae0;border-color:#7fd6f5cc}#summoning.hidden,#summon-toast.hidden{display:none}#spell-feedback.summon{color:#c084ff}.modal{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;background:#050608d9;place-items:center;display:none;position:fixed;inset:0;overflow:auto}.modal.show{display:grid}.error-overlay{z-index:80;background:#0a0008e0}.error-overlay[hidden]{display:none}.error-overlay-panel{border-color:var(--danger)}.modal-panel{pointer-events:auto;transform-origin:top;background:var(--panel);border:1px solid var(--border);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;border-radius:12px;width:min(640px,92vw);max-height:88vh;padding:22px 26px;overflow:auto;box-shadow:0 20px 60px #0009}.modal-panel::-webkit-scrollbar{width:6px}.modal-panel::-webkit-scrollbar-track{background:0 0}.modal-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.modal-header h2{letter-spacing:.1em;color:#c084ff;margin:0;font-size:18px}.modal-header .x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:22px}.modal-header .x:hover{color:var(--ink)}.modal-tag{color:var(--muted);margin:0 0 14px;font-size:12px;line-height:1.55}.modal-tag code{border:1px solid var(--border);background:#1a2030;border-radius:3px;padding:1px 5px}.modal-panel .row{align-items:center;gap:10px;margin:8px 0;font-size:13px;display:flex}.modal-panel .row .lbl{width:90px;color:var(--muted);letter-spacing:.1em;font-size:11px}.modal-panel .audio-mixer-row .lbl{width:112px}.modal-panel .audio-mixer-row input[type=range]{accent-color:#c084ff;flex:1;min-width:180px}.settings-readonly-value{min-width:0;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;background:#05080db8;border:1px solid #84d3ff33;border-radius:6px;flex:1;padding:6px 8px;font:700 12px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.modal-panel input[type=text],.modal-panel input[type=search],.modal-panel input[type=password],.modal-panel select{border:1px solid var(--border);color:var(--ink);font:inherit;background:#0d1118;border-radius:4px;flex:1;padding:6px 8px;font-size:13px}.modal-panel input[type=checkbox]{accent-color:#c084ff}.modal-panel button{color:#1a0628;font:inherit;cursor:pointer;background:#c084ff;border:none;border-radius:5px;padding:6px 12px;font-size:12px;font-weight:700}.modal-panel button.secondary{color:var(--muted);border:1px solid var(--border);background:0 0;font-weight:500}.modal-panel button:hover{filter:brightness(1.15)}.modal-panel button:focus-visible,.modal-panel input:focus-visible,.modal-panel select:focus-visible,.modal-panel textarea:focus-visible,#overlay button:focus-visible,.pause-checkpoint-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 4px #ffd1662e}.modal-panel .status{color:var(--muted);font-size:11px}.modal-panel .status.ok{color:var(--accent-2)}.modal-panel .status.bad{color:var(--danger)}.admin-modal-panel{width:min(1040px,96vw);padding:18px}.admin-shell{grid-template-columns:190px minmax(0,1fr);gap:16px;min-height:min(650px,78vh);display:grid}.admin-sidebar{border:1px solid var(--border);background:linear-gradient(#0d181af5,#060c0feb);border-radius:8px;padding:14px}.admin-brand{margin-bottom:14px}.admin-brand-title{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:15px;font-weight:800}.admin-brand-sub{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:2px;font-size:10px}.admin-nav{gap:4px;display:grid}.modal-panel .admin-tab{width:100%;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;padding:9px 10px;font-weight:600}.modal-panel .admin-tab:hover,.modal-panel .admin-tab.active{border-color:var(--border);color:var(--ink);background:#ffd16614}.admin-content{min-width:0;padding-right:4px;overflow:auto}.admin-view{display:none}.admin-view.active{display:block}.admin-banner{color:var(--muted);background:#84e1bc0f;border:1px solid #84e1bc38;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:12px;line-height:1.5}.admin-banner strong{color:var(--accent-2)}.admin-section{border:1px solid var(--border);background:#0d111894;border-radius:8px;margin:14px 0;padding:12px}.admin-section h3,.admin-section summary{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:12px}.admin-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.admin-section-head h3{margin:0}.admin-actions-inline{flex-wrap:wrap;gap:8px;display:flex}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;display:grid}.admin-card{background:#0d1118;border:1px solid #2a3142f2;border-radius:6px;min-width:0;padding:8px}.admin-card span,.admin-list span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;display:block}.admin-card b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.admin-list{gap:6px;max-height:180px;margin-top:10px;display:grid;overflow:auto}.admin-list>div,.admin-list-row{color:var(--ink);text-align:left;background:#05060861;border:1px solid #2a3142d9;border-radius:6px;padding:7px 8px;font-size:12px}.modal-panel .admin-list-row{cursor:pointer;width:100%}.admin-list-row.selected,.admin-list-row:hover{background:#84e1bc14;border-color:#84e1bc8c}.admin-list b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.admin-search{min-width:180px;max-width:280px}.admin-filter-row{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.modal-panel .admin-filter{border:1px solid var(--border);color:var(--muted);background:0 0;font-weight:600}.modal-panel .admin-filter.active,.modal-panel .admin-filter:hover{color:var(--accent);background:#ffd1661a;border-color:#ffd1668c}.admin-filter span{color:var(--ink);margin-left:5px}.admin-action-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:8px;display:grid}.admin-action-row label{gap:4px;display:grid}.admin-action-row .lbl{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.admin-snapshot{border:1px solid var(--border);color:#cdd5e0;white-space:pre-wrap;background:#050608;border-radius:6px;max-height:260px;padding:10px;font:11px ui-monospace,monospace;overflow:auto}@media (max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}.perk-tree-panel{background:#0d1118f5;width:min(780px,94vw)}.perk-tree-tier{margin:12px 0}.perk-tree-tier h3{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:12px}.perk-tree-tier ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.perk-tree-node{border:1px solid var(--border);color:var(--muted);background:#05080dd1;border-radius:8px;padding:9px 10px;font-size:12px;line-height:1.45}.perk-tree-node.is-unlocked{border-color:#84e1bc8c}.perk-tree-node__title{color:var(--ink);flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.perk-tree-node__meta{color:#7d8798;margin-top:4px;font-size:11px}.controller-bindings-list{margin:6px 0 12px}.modal-panel .controller-binding-row{align-items:center}.controller-binding-value{color:var(--ink);flex:1;font-size:12px}.controller-binding-row.is-capturing .controller-binding-value{color:var(--accent-2)}#pwa-install-btn,[data-pwa-install-btn]{display:none}.pwa-install-cta{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6c63ff,#3ecfcf);border:none;border-radius:6px;margin-top:8px;padding:8px 16px;font-size:.9rem;transition:opacity .2s}.pwa-install-cta:hover{opacity:.85}.sw-update-toast{inset-inline-end:16px;z-index:60;color:#d5fbff;cursor:pointer;background:#081c2af2;border:1px solid #7fd6f5d9;border-radius:999px;padding:8px 12px;font:700 12px/1.3 ui-monospace,SF Mono,Menlo,Consolas,monospace;position:fixed;bottom:16px;box-shadow:0 10px 30px #00000073}.sw-update-toast.hidden,.sw-update-toast[hidden]{display:none}.sw-update-toast:hover{filter:brightness(1.15)}#pwa-install-btn{align-items:center;width:-moz-fit-content;width:fit-content}[data-pwa-install-btn]{color:var(--ink);cursor:pointer;letter-spacing:.08em;border:none;border-radius:8px;align-items:center;padding:8px 12px;font-family:inherit;font-weight:700}.ng-plus-panel{background:linear-gradient(#17130bfa,#0d0f14fa);border-color:#ffd16673}.ng-plus-panel .modal-header h2{color:var(--accent)}.ng-plus-choices{flex-wrap:wrap;gap:8px;margin:14px 0 12px;display:flex}.ng-plus-choices .perk-card{border:1px solid var(--border);min-width:150px;color:var(--ink);text-align:start;cursor:pointer;background:#0d1118;border-radius:8px;flex:1;padding:10px}.ng-plus-choices .perk-card-name{background:#ffffff0f;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:700;display:inline-block}.ng-plus-choices .perk-card-desc{color:var(--muted);margin-top:7px;font-size:11px;line-height:1.45}.ng-plus-skip{color:var(--muted);font-size:12px;text-decoration:none}.ng-plus-skip:hover{color:var(--ink)}.cache-list{max-height:160px;color:var(--muted);border:1px solid var(--border);background:#0d1118;border-radius:4px;margin-top:8px;padding:8px;font-family:ui-monospace,monospace;font-size:11px;overflow:auto}.cache-list .row{margin:0;padding:0;font-size:11px}.modal-footer{color:var(--muted);border-top:1px solid var(--border);margin-top:14px;padding-top:10px;font-size:11px;line-height:1.5}.modal-footer code{border:1px solid var(--border);background:#1a2030;border-radius:3px;padding:1px 4px}#codex-overlay{z-index:40;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;background:#020408a8;place-items:center;display:grid;position:fixed;inset:0;overflow:auto}#codex-overlay.hidden{display:none}.codex-panel{transform-origin:top;width:min(920px,92vw);max-height:min(760px,88vh);color:var(--ink);background:linear-gradient(#11151cfa,#070a10fa);border:1px solid #84e1bc47;border-radius:12px;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;padding:16px;display:grid;box-shadow:0 18px 70px #000000b8,inset 0 0 50px #84e1bc0a}.codex-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.codex-header-actions{justify-items:end;gap:6px;display:grid}.codex-header h2{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0}.codex-header p{color:var(--muted);margin:4px 0 0;font-size:12px}.codex-help{color:var(--muted);text-align:end;font-size:11px;line-height:1.4}.codex-close{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);color:var(--accent-2);cursor:pointer;font:inherit;letter-spacing:.08em;text-transform:uppercase;touch-action:manipulation;background:#84e1bc24;border:1px solid #84e1bc5c;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:800}.codex-close:hover{border-color:var(--accent-2);color:var(--ink)}.codex-search{width:100%;color:var(--ink);border:1px solid var(--border);font:inherit;background:#070a10;border-radius:8px;padding:9px 11px}.codex-tabs{flex-wrap:wrap;gap:8px;display:flex}.codex-tab{color:var(--muted);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#0d1118;border:1px solid #2a3142;border-radius:999px;padding:6px 10px;font-size:11px}.codex-tab.active{color:#102017;background:var(--accent-2);border-color:var(--accent-2)}.codex-list{scrollbar-width:thin;scrollbar-color:#84e1bc4d transparent;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;min-height:0;padding-inline-end:6px;display:grid;overflow:auto}.codex-list::-webkit-scrollbar{width:6px}.codex-list::-webkit-scrollbar-track{background:0 0}.codex-list::-webkit-scrollbar-thumb{background:#84e1bc4d;border-radius:3px}.codex-entry{background:#0d1118e6;border:1px solid #242b3a;border-radius:9px;grid-template-columns:14px 1fr;align-items:start;gap:10px;padding:10px;line-height:1.35;display:grid}.codex-entry.locked{opacity:.62}.codex-swatch{border:1px solid #ffffff38;border-radius:3px;width:12px;height:12px;margin-top:4px;box-shadow:0 0 12px #ffffff14}.codex-entry-title{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.codex-entry h3{color:#e7edf7;margin:0;font-size:13px}.codex-entry-title span{color:var(--muted);text-align:end;font-size:10px}.codex-entry p{color:#aeb8c8;margin:5px 0 0;font-size:11px}.codex-tags{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.codex-pill{color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em;background:#84e1bc14;border:1px solid #84e1bc2e;border-radius:999px;padding:2px 6px;font-size:9px}.codex-empty{grid-column:1/-1}#profile-overlay{z-index:25;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050608c7;place-items:center;display:grid;position:fixed;inset:0}.profile-card{border:1px solid var(--border);background:linear-gradient(#11151cfa,#0a0d13fa);border-radius:14px;flex-direction:column;gap:12px;width:min(880px,90vw);max-height:86vh;padding:20px 22px;display:flex;box-shadow:0 24px 70px #000000ad}.profile-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.profile-header h2{color:var(--accent);letter-spacing:.12em;margin:0;font-size:22px}.profile-header p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.45}.profile-close{border:1px solid var(--border);color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:7px;padding:5px 10px;font-weight:700}.profile-close:hover,.profile-close:focus-visible{color:var(--ink);border-color:var(--accent)}.profile-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding-bottom:8px;display:flex}.profile-tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;font:inherit;letter-spacing:.08em;background:#0d1118;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.profile-tab.active,.profile-tab:hover,.profile-tab:focus-visible{color:var(--accent);background:#ffd16621;border-color:#ffd1668c}.profile-tab-content{min-height:360px;max-height:min(620px,58vh);padding-inline-end:4px;overflow:auto}.profile-list{gap:8px;display:grid}.profile-entry{border:1px solid var(--border);color:#cdd5e0;background:#0d1118e6;border-radius:9px;padding:10px 12px}.profile-row-entry,.material-entry{justify-content:space-between;align-items:center;gap:14px;display:flex}.profile-row-entry>:first-child,.material-entry>:first-child{flex:auto;min-width:0}.profile-row-entry>b{text-align:end;white-space:nowrap;flex:none}.profile-entry h3{color:var(--ink);letter-spacing:.04em;margin:0;font-size:14px}.profile-entry p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.achievement-entry{grid-template-columns:1fr auto;gap:7px 12px;display:grid}.achievement-entry.locked{opacity:.62}.profile-check{color:var(--accent);margin-inline-end:6px}.profile-progress-label{color:var(--muted);white-space:nowrap;font-size:12px}.profile-progress{background:#111722;border:1px solid #1d2330;border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.profile-progress span{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;display:block}.profile-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.profile-stat{border:1px solid var(--border);background:#0d1118e6;border-radius:9px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px;padding:12px;display:grid}.profile-stat span{color:var(--muted);letter-spacing:.12em;overflow-wrap:anywhere;text-transform:uppercase;min-width:0;font-size:10px}.profile-stat b{color:var(--ink);text-align:end;white-space:nowrap;font-size:18px}.kind-badge,.perfect-cast{letter-spacing:.08em;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.kind-badge{color:var(--accent-2);background:#84e1bc1f;border:1px solid #84e1bc59}.kind-math{color:#a2e9ff;background:#4cc9f01f;border-color:#4cc9f059}.kind-compound{color:#c084ff;background:#c084ff1f;border-color:#c084ff59}.perfect-cast{color:var(--accent);background:#ffd1661f;border:1px solid #ffd16673;margin-inline-start:6px}.profile-material-counts{color:var(--muted);text-align:end;white-space:nowrap;flex-direction:column;flex:none;gap:5px;min-width:130px;font-size:12px;display:flex}.profile-material-counts b{color:var(--ink)}.profile-empty{color:#586478;border:1px dashed var(--border);background:#0d11188c;border-radius:10px;place-items:center;min-height:260px;display:grid}body.high-contrast #profile-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000eb}body.high-contrast .profile-card{border-color:#bcd2ff;box-shadow:0 0 0 2px #000,0 0 0 3px #bcd2ff}.lbl{color:var(--muted);letter-spacing:.1em;font-size:var(--hud-label-font-size)}.bar{width:var(--hud-bar-width);height:var(--hud-bar-height);background:#1a2030;border:1px solid #e6e6e629;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000006b}#hp-bar{background:linear-gradient(90deg,#ef476f,#ff8fa3);width:100%;height:100%;transition:width .15s}#mana-bar{background:linear-gradient(90deg,#4cc9f0,#b5ffff);width:100%;height:100%;transition:width .15s}#wand{pointer-events:none;box-sizing:border-box;border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0d13e0;border-radius:8px;align-self:center;width:min(1170px,97vw);padding:10px 14px;font-size:14px;transition:opacity .18s,transform .18s,visibility .18s}#wand.closed{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.96)}#wand.open{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}#wand.closing{opacity:0;transform:scale(.96)}#wand.cast-error{will-change:transform;animation:.52s ease-out both wand-cast-error}#wand.cast-ok{animation:.52s ease-out both wand-cast-ok}#wand.validation-shake{will-change:transform;animation:.42s ease-out both wand-validation-shake}body.large-hud #wand{width:min(1290px,98vw);font-size:16px}#wand-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}#wand-mode{color:var(--accent);letter-spacing:.15em;border:1px solid var(--border);background:#1a2030;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.hint{color:var(--muted);margin-inline-start:auto;font-size:12px}#wand-slots{justify-content:center;align-items:center;gap:6px;min-height:42px;display:flex;position:relative}.slot{color:#2a3142;letter-spacing:0;background:#0a0d14;border:1px dashed #2a3142;border-radius:6px;justify-content:center;align-items:center;width:30px;height:38px;font-size:20px;font-weight:700;transition:transform 80ms ease-out,box-shadow 80ms ease-out,border-color 80ms ease-out;display:flex}body.large-hud .slot{width:34px;height:42px;font-size:22px}.slot.filled{background:#11161f;border-style:solid;box-shadow:inset 0 0 8px #ffffff0d}.slot[data-invalid=true]{background:#ef476f1f;box-shadow:inset 0 0 10px #ef476f38;color:var(--danger)!important;border-color:var(--danger)!important}.slot-empty-nudge{color:#ffd16652;background:#ffd1660a;border-color:#ffd16652}.empty-state{color:#d7ffe9;background:#0d1118c7;border:1px dashed #84e1bc73;border-radius:8px;box-shadow:inset 0 0 18px #84e1bc0a}.wand-empty-state{z-index:1;color:#fff3bf;text-align:center;background:#2f2308b8;border-color:#ffd1668c;justify-content:center;align-items:center;width:min(300px,78%);min-height:34px;padding:5px 10px;font-size:12px;line-height:1.35;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.first-cast-spell-hint{color:#d9f7ff;background:linear-gradient(135deg,#081c2ad1,#1a142fb8);border:1px solid #7fd6f53d;border-radius:10px;margin-block-start:8px;padding:10px;box-shadow:inset 0 0 18px #7fd6f50f}.first-cast-spell-hint.hidden{display:none}.first-cast-spell-hint__eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-block-end:3px;font-size:10px;font-weight:800}.first-cast-spell-hint__title{color:#fff3bf;margin-block-end:8px;font-size:12px}.first-cast-spell-hint__examples{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.first-cast-spell-hint__example{appearance:none;min-block-size:44px;color:var(--muted);cursor:pointer;text-align:start;touch-action:manipulation;background:#05080d75;border:1px solid #ffffff14;border-radius:8px;gap:4px;padding:7px 8px;font-size:11px;line-height:1.25;display:grid}.first-cast-spell-hint__example code{color:#fff3bf;overflow-wrap:anywhere;font-weight:800}.first-cast-spell-hint__example:disabled{cursor:not-allowed;opacity:.45}.last-cast-recall-hint{color:#d5fbffb8;cursor:pointer;letter-spacing:.04em;touch-action:manipulation;background:#081c2a8a;border:1px solid #7fd6f552;border-radius:999px;justify-content:center;align-items:center;margin-block-start:5px;font-size:11px;font-weight:700;display:inline-flex}.last-cast-recall-hint.hidden{display:none}.juice-hover{will-change:transform;transform:scale(1.04);box-shadow:0 0 12px #ffd1665c,inset 0 0 8px #ffffff14}#wand-slots.cast-echo{will-change:transform;animation:.32s ease-out both cast-echo-pulse}#wand-cooldown-bar.cooldown-kick{animation:.24s ease-out both cooldown-kick}#hp-wrap.damage-pulse{animation:.32s ease-out both damage-pulse}#gold-text.tick-up{animation:.22s ease-out both tick-up}#summon-toast.summon-ready-pulse{animation:.42s ease-out both summon-ready-pulse}#boss-transition.phase-pulse{animation:.6s ease-out both phase-pulse}.mobile-spell-input-row{align-items:center;gap:8px;margin-top:8px;display:none}#spell-suggestions{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;gap:6px;min-height:40px;padding:4px 8px;display:none;overflow-x:auto}.mobile-spell-input{min-width:0;min-height:42px;color:var(--ink);letter-spacing:.05em;background:#05080df5;border:1px solid #7fd6f573;border-radius:8px;flex:1;padding:8px 10px;font:700 16px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.mobile-spell-input:focus{border-color:#7fd6f5;outline:2px solid #7fd6f547}.mobile-composer-help{display:none}body[data-layout=mobile] #wand.open .mobile-spell-input-row,#wand.open.touch-spell-input .mobile-spell-input-row,body[data-layout=mobile] #wand.open #spell-suggestions.has-suggestions,#wand.open.touch-spell-input #spell-suggestions.has-suggestions{display:flex}.suggestion-chip{color:#d5fbff;cursor:pointer;letter-spacing:.06em;background:#081c2ae0;border-color:#7fd6f580;flex:none;font:700 12px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace}.starter-suggestion-chip{color:#fff3bf;background:linear-gradient(#4f360de6,#22190aeb);border-color:#ffd1669e}#spell-history-toggle,#spell-history-drawer,#wand-share-btn,#wand-mobile-done-btn,#spell-history-share-btn{display:none}#spell-history-toggle{z-index:81;inline-size:var(--touch-target-min);block-size:var(--touch-target-min);color:#fff2c4;pointer-events:auto;touch-action:manipulation;background:#0a0e16e6;border:1px solid #ffd1668c;border-radius:999px;font:700 18px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;position:fixed;inset-block-end:calc(35dvh + 14px + env(safe-area-inset-bottom));inset-inline-start:50%;transform:translate(-50%);box-shadow:0 10px 24px #0000006b,0 0 14px #ffd16629}body[data-layout=mobile]:has(#wand.open) #spell-history-toggle{display:none}#spell-history-drawer{inset-inline:max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right));z-index:80;pointer-events:auto;touch-action:pan-y;will-change:transform;background:linear-gradient(#101620fa,#06090ff5);border:1px solid #7fd6f561;border-radius:18px 18px 14px 14px;max-block-size:min(48dvh,360px);padding:10px;transition:transform .18s;position:fixed;inset-block-end:max(8px, env(safe-area-inset-bottom));overflow:hidden auto;transform:translateY(calc(100% + 18px));box-shadow:0 -18px 42px #0000008c,0 0 22px #7fd6f51f}#spell-history-drawer.is-open{transform:translateY(0)}.spell-history-drawer__handle{background:#e6e6e652;border-radius:999px;block-size:4px;inline-size:52px;margin:0 auto 8px}.spell-history-drawer__header{justify-content:space-between;align-items:center;gap:10px;margin-block-end:8px;display:flex}.spell-history-drawer__actions{align-items:center;gap:6px;display:flex}.spell-history-drawer__eyebrow,.spell-history-section__title{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font:700 10px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.spell-history-drawer__title{color:var(--ink);margin-block-start:2px;font:700 14px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.spell-history-section{gap:6px;margin-block-start:8px;display:grid}.spell-history-entry{grid-template-columns:minmax(0, 1fr) var(--touch-target-min);align-items:center;gap:6px;display:grid}.spell-history-entry__pattern,.spell-history-entry__favourite,#spell-history-share-btn,#spell-history-close{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);color:var(--ink);background:#080c12db;border:1px solid #7fd6f561;border-radius:10px;font:700 13px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace}.spell-history-entry__pattern{text-align:start;text-overflow:ellipsis;white-space:nowrap;padding-inline:10px;overflow:hidden}.spell-history-entry__favourite{color:var(--accent);font-size:18px}#spell-history-share-btn{color:#d5fbff;letter-spacing:.06em;text-transform:uppercase;background:#1f6f4aad;border-color:#84e1bc80;font-size:12px}@media (max-width:600px){body[data-layout=mobile] #wand-share-btn,body[data-layout=mobile] #spell-history-share-btn{justify-content:center;align-items:center;display:inline-flex}}.spell-history-entry__favourite[aria-pressed=true]{background:#50370ad1;border-color:#ffd166bf}.spell-history-empty{color:var(--muted);border:1px dashed #9aa3b247;border-radius:10px;padding:8px 10px;font:12px/1.35 ui-monospace,SF Mono,Menlo,Consolas,monospace}@media (pointer:fine),(min-width:768px){#spell-suggestions,body[data-layout=mobile] #wand.open #spell-suggestions.has-suggestions,#wand.open.touch-spell-input #spell-suggestions.has-suggestions{min-height:0;padding-block:0;display:none}}#cooldown-track{background:#11161f;border-radius:2px;height:3px;margin-top:6px;overflow:hidden}#wand-cooldown-bar{background:linear-gradient(90deg,#ffd166,#ef476f);width:0%;height:100%;transition:width 50ms linear}#spell-feedback{min-height:16px;color:var(--muted);text-align:center;margin-top:4px;font-size:12px}#wand-error{min-height:14px;color:var(--danger);text-align:center;margin-top:4px;font-size:12px;font-weight:700}#wand-error.hidden{display:none}#spell-feedback.ok{color:var(--accent-2)}#spell-feedback.bad{color:var(--danger)}.spell-details{color:#cdd5e0;text-align:start;background:#05080db8;border:1px solid #2a3142e6;border-radius:8px;margin-top:8px;padding:8px 10px}.spell-details.is-empty{color:var(--muted);font-size:12px;font-style:italic}.spell-details__title{color:var(--accent);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;font:700 11px/1.3 ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden}.spell-details__layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.spell-details__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0;display:grid}.spell-details__materials{min-width:0;display:grid}.spell-details__item{gap:2px;min-width:0;display:grid}.spell-details__item span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.spell-details__item b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.spell-details__item--materials b{white-space:normal;overflow-wrap:anywhere}.wand-mobile-actions{display:none}@media (max-width:600px){body[data-layout=mobile] .wand-mobile-actions{grid-column:1/-1;grid-template-columns:minmax(calc(var(--touch-target-min) * 1.35), 1.35fr) repeat(2, minmax(var(--touch-target-min), 1fr));gap:6px;display:grid}body[data-layout=mobile] .wand-mobile-actions button{text-overflow:ellipsis;white-space:nowrap;padding-inline:8px;overflow:hidden}}.spell-category-chip{min-width:2.4em;font-size:var(--wand-token-font-size);letter-spacing:.08em;vertical-align:1px;background:#0d1118c7;border:1px solid;border-radius:999px;justify-content:center;align-items:center;margin-inline-end:4px;padding:1px 5px;font-weight:700;line-height:1.3;display:inline-flex}.spell-category-chip--elemental{color:#7fd6f5}.spell-category-chip--arcane{color:#c084fc}.spell-category-chip--physical{color:#ffb86b}.spell-category-chip--nature{color:#84e1bc}.spell-category-chip--support{color:#a2e9ff}.spell-category-chip--summon{color:#caa365}.spell-category-chip--chemistry_equation{color:#9aff5a}.daily-badge,.daily-seed-pill{color:#f2d481;letter-spacing:.04em;background:#1f6f4ac7;border:1px solid #ffd1668c;border-radius:999px;padding:5px 9px;font-size:11px}.daily-seed-pill{color:#84e1bc;background:#0d1118e0}.daily-result-panel{color:#cdd5e0;text-align:start;background:#0d1118e6;border:1px solid #84e1bc6b;border-radius:8px;margin:10px 0;padding:10px}.daily-result-title{color:#84e1bc;letter-spacing:.15em;text-transform:uppercase;margin-bottom:6px;font-size:10px}#inventory-row{border-top:1px solid var(--border);align-items:flex-start;gap:8px;margin-top:8px;padding-top:8px;display:flex}#inventory-row .lbl{margin-top:4px}#inventory{flex-wrap:wrap;flex:1;gap:4px;display:flex}.chip{border:1px solid var(--border);background:#0d1118;border-radius:4px;justify-content:center;align-items:center;gap:4px;min-width:24px;padding:2px 6px;font-size:12px;transition:transform 80ms ease-out,box-shadow 80ms ease-out,border-color 80ms ease-out;display:inline-flex}.chip.depleted{opacity:.35}.chip-tok{font-size:13px;font-weight:700}.inv-empty{color:var(--muted);font-size:12px;font-style:italic}.inventory-rail{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#06090e8f;border:1px solid #2a3142d1;border-radius:8px;flex-direction:column;gap:6px;width:104px;padding:8px;display:flex;position:absolute;top:118px;bottom:158px;overflow:hidden}.inventory-rail-left{inset-inline-start:12px}.inventory-rail-right{inset-inline-end:12px}.inventory-rail-title{display:none}.inventory-rail-list{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;align-items:flex-start;gap:5px;min-height:0;max-height:100%;display:flex;overflow:hidden auto}.inventory-rail .chip{background:#0d1118e6;width:100%;min-width:0;padding:3px 5px}.inventory-rail .chip-tok{font-size:14px}.inventory-rail .inv-empty{color:#d7ffe9;width:100%;padding:7px 8px;font-size:12px;line-height:1.3;display:block}@keyframes empty-state-pulse{0%,to{opacity:.45;transform:scale(.82)}50%{opacity:1;transform:scale(1.08)}}#overlay{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050608d9;place-items:center;display:none;position:fixed;inset:0}.win-screen{z-index:12;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 35%,#c49a2c38,#0000 38%),#040407eb;place-items:center;display:none;position:fixed;inset:0}body.high-contrast .modal,body.high-contrast #overlay,body.high-contrast .win-screen,body.high-contrast .reward-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000eb}#overlay.show{display:grid}#overlay.title-overlay.show{min-height:100dvh;padding:max(14px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;justify-content:center;align-items:flex-start;display:flex;overflow:hidden auto}#overlay.world-loading-overlay.show{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 50% 44%,#84e1bc29,#0000 28%),radial-gradient(circle at 30% 70%,#c084ff1f,#0000 24%),#030407;display:grid;overflow:hidden}.win-screen.show{display:grid}.demo-upsell-overlay{z-index:45;background:radial-gradient(circle at 50% 35%,#ffd1662e,#0000 36%),#040407e6}.demo-upsell-panel{border-color:#ffd16673}.demo-upsell-panel .modal-header h2{color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--border);text-align:center;width:min(720px,92vw);transform-origin:top;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;border-radius:14px;max-block-size:88dvh;padding:28px 32px;overflow:auto;box-shadow:0 20px 60px #0009}.panel::-webkit-scrollbar{width:6px}.panel::-webkit-scrollbar-track{background:0 0}.panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}#tutorial-overlay{opacity:1;transition:opacity .18s,transform .18s,visibility .18s;transform:scale(1)}#overlay.show .panel:has(#pause-root){opacity:1;transition:opacity .18s,transform .18s,visibility .18s;transform:scale(1)}#pause-root{transition:opacity .18s,transform .18s}#tutorial-overlay.closing,#pause-root.closing{opacity:0;transform:scale(.96)}#overlay.show .panel:has(#pause-root.closing){opacity:0;transform:scale(.96)}#overlay.show .panel:has(#pause-root[data-swipe-closing=true]){opacity:0;transform:scale(.96)}.title-panel{width:min(720px,100vw - 24px);padding:clamp(18px,3vw,28px) clamp(16px,4vw,32px)}body[data-layout=mobile] .mobile-install-hint{color:#cdd5e0;background:#0d1118b8;border:1px solid #84e1bc57;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;margin:10px 0 2px;padding:9px 10px;font-size:12px;line-height:1.35;display:flex}body[data-layout=mobile] .mobile-install-hint b{color:#d5fbff}body[data-layout=mobile] .mobile-install-hint span{color:var(--muted)}body[data-layout=mobile] .mobile-install-hint .pwa-install-cta{margin-inline-start:0}body[data-layout=mobile] .mobile-start-cta-hint{color:#f5ead0;text-align:left;background:#231a07c2;border:1px solid #ffd1666b;border-radius:10px;gap:6px;margin:8px 0 4px;padding:8px;font-size:12px;line-height:1.35;display:grid}body[data-layout=mobile][data-orientation=portrait] #overlay.title-overlay.show{padding-block-end:max(96px, calc(72px + env(safe-area-inset-bottom)))}body[data-layout=mobile][data-orientation=portrait] #overlay.title-overlay.show .title-panel{padding-block-end:max(104px, calc(86px + env(safe-area-inset-bottom)))}body[data-layout=mobile][data-orientation=portrait] #overlay.title-overlay.show .title-actions{margin-block:8px}body[data-layout=mobile][data-orientation=portrait] #overlay.title-overlay.show .title-actions #start-btn{inset-inline:max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right));z-index:13;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(#ffe08a,#ffd166);border:1px solid #ffe796c7;border-radius:16px;min-block-size:58px;padding:14px 18px;font-size:16px;position:fixed;inset-block-end:max(18px, env(safe-area-inset-bottom));box-shadow:0 12px 34px #00000073,0 0 0 1px #ffd1662e}body[data-layout=mobile] .mobile-start-cta-hint b{color:var(--accent);letter-spacing:.08em;text-transform:uppercase}body[data-layout=mobile] .mobile-start-cta-hint__header{gap:2px;display:grid}body[data-layout=mobile] .mobile-start-cta-hint__header span,body[data-layout=mobile] .mobile-start-cta-hint__escape{color:#f5ead0}body[data-layout=mobile] .mobile-start-cta-hint__steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}body[data-layout=mobile] .mobile-start-cta-hint__steps li{background:#080b118a;border:1px solid #ffd1663d;border-radius:9px;align-content:center;gap:1px;min-block-size:40px;padding:5px 6px;display:grid}body[data-layout=mobile] .mobile-start-cta-hint__steps span{color:#fff7dc;font-size:10px;line-height:1.2}body[data-layout=mobile] .mobile-start-cta-hint__escape{background:#0c272094;border:1px solid #84e1bc4d;border-radius:9px;margin:0;padding:6px 8px}.spellbook-panel{width:min(1320px,100vw - 24px);max-block-size:min(92dvh,980px);overflow:auto}.world-loading-panel{background:linear-gradient(#0d1118db,#0d1118f0),repeating-linear-gradient(135deg,#84e1bc14 0 2px,#0000 2px 10px);border-color:#84e1bc52;place-items:center;gap:10px;width:min(520px,100vw - 32px);min-height:310px;display:grid;position:relative;overflow:hidden}.world-loading-panel:before{content:"";opacity:.9;background:conic-gradient(#0000,#84e1bc2e,#0000,#c084ff29,#0000),repeating-radial-gradient(circle,#ffd16614 0 1px,#0000 1px 11px);animation:2.6s linear infinite world-loading-shader;position:absolute;inset:-45%}.world-loading-panel:after{content:"";mix-blend-mode:screen;background:linear-gradient(#0000 0 45%,#d5fbff14 50%,#0000 56%);animation:1.4s ease-in-out infinite world-loading-scan;position:absolute;inset:0}.world-loading-panel h1,.world-loading-panel .tag,.world-loading-bar,.world-loading-vortex{z-index:1;position:relative}.world-loading-panel h1{color:#d5fbff;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 18px #84e1bc8c,0 2px 8px #000;margin:0;font-size:clamp(24px,5vw,38px)}.world-loading-vortex{aspect-ratio:1;background:radial-gradient(circle,#030407 0 18%,#84e1bc38 19% 21%,#0000 22%),conic-gradient(from 90deg,#84e1bc,#c084ff,#ffd166,#84e1bc);border-radius:50%;place-items:center;width:132px;animation:1.8s linear infinite world-loading-orbit;display:grid;box-shadow:0 0 36px #84e1bc59,inset 0 0 24px #030407}.world-loading-vortex span{background:#ffd166;border-radius:50%;width:8px;height:8px;position:absolute;box-shadow:0 0 14px #ffd166}.world-loading-vortex span:first-child{transform:translate(42px,-20px)}.world-loading-vortex span:nth-child(2){background:#84e1bc;transform:translate(-36px,24px);box-shadow:0 0 14px #84e1bc}.world-loading-vortex span:nth-child(3){background:#c084ff;transform:translate(4px,46px);box-shadow:0 0 14px #c084ff}.world-loading-bar{background:#030407b8;border:1px solid #84e1bc73;border-radius:999px;width:min(300px,76vw);height:8px;overflow:hidden}.world-loading-bar span{border-radius:inherit;background:linear-gradient(90deg,#0000,#84e1bc,#ffd166,#0000);width:42%;height:100%;animation:1s ease-in-out infinite world-loading-bar;display:block}body.high-contrast .panel,body.high-contrast .modal-panel{border-color:#bcd2ff;box-shadow:0 0 0 2px #000,0 0 0 3px #bcd2ff}.panel h1{letter-spacing:.3em;color:var(--accent);text-shadow:0 0 20px #ffd1664d;margin:0 0 6px;font-size:36px}.title-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 10px;display:flex}.title-actions button,.title-actions a{min-width:var(--touch-target-min);min-height:var(--touch-target-min);color:var(--ink);letter-spacing:.08em;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:10px 14px;font-family:inherit;font-weight:700;text-decoration:none;display:inline-flex}.title-actions #start-btn{min-inline-size:7.5rem;margin-top:0}.title-actions a,#title-profile-btn,#title-settings-btn,#title-mods-btn{color:#f7fbff;background:#243044;border:1px solid #3c4a62}#sandbox-btn{color:#fff;background:#146c43;border:1px solid #2d9864}.title-mp-panel{text-align:start;background:#080d17a8;border:1px solid #3a4f73d9;border-radius:12px;margin:12px 0;padding:12px}.title-identity-panel{text-align:start;background:#0a20186b;border:1px solid #2d98648c;border-radius:12px;margin:12px 0;padding:10px 12px}.title-identity-panel label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:5px;font-size:11px;font-weight:700;display:grid}.title-identity-panel input{min-height:36px;color:var(--ink);background:#070b12e6;border:1px solid #2d9864;border-radius:8px;padding:8px 10px;font:700 13px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.title-mp-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.title-mp-header h3{margin:0 0 4px}.alpha-tag{color:#ffd166;letter-spacing:.12em;text-transform:uppercase;vertical-align:.16em;background:#ffd16624;border:1px solid #ffd166bf;border-radius:999px;place-items:center;margin-inline-start:.45em;padding:.22em .5em;font:900 .52em/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:inline-grid}.title-mp-header p,.title-mp-status{color:var(--muted);margin:0;font-size:12px}.mp-status-pill{color:#cdd5e0;letter-spacing:.12em;text-transform:uppercase;background:#182235;border:1px solid #3c4a62;border-radius:999px;padding:4px 8px;font:800 10px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.mp-status-pill[data-status=connected]{color:#9ef2c4;background:#146c4359;border-color:#2d9864}.mp-status-pill[data-status=connecting]{color:#e9d5ff;border-color:#c084fc}.mp-status-pill[data-status=error]{border-color:var(--danger);color:#fecdd3}.title-mp-grid{grid-template-columns:minmax(16rem,2fr) minmax(10rem,1fr);gap:8px;margin-block:10px;display:grid}.title-mp-grid label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:4px;font-size:11px;font-weight:700;display:grid}.title-mp-grid input{min-height:36px;color:var(--ink);background:#070b12e6;border:1px solid #334155;border-radius:8px;padding:8px 10px;font:600 12px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.title-mp-help{color:var(--muted);letter-spacing:0;text-transform:none;font:600 10px/1.35 system-ui,-apple-system,Segoe UI,sans-serif}.title-mp-actions{flex-wrap:wrap;gap:8px;margin-block-end:8px;display:flex}.title-mp-actions button{min-height:var(--touch-target-min);letter-spacing:.08em;border-radius:8px;padding:10px 14px;font-family:inherit;font-weight:800}.title-mp-actions button.secondary{color:#f7fbff;background:#243044;border:1px solid #3c4a62}@media (max-width:720px){.title-mp-grid{grid-template-columns:1fr}}.win-panel{background:linear-gradient(#17130b 0%,#0d0f14 100%);border-color:#c49a2c;box-shadow:0 24px 80px #000000b8,0 0 40px #c49a2c2e}.win-panel h1{color:#c49a2c;text-shadow:0 0 24px #c49a2c73}.win-eyebrow{color:var(--accent-2);letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px;font:800 11px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.win-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.win-actions button{min-height:var(--touch-target-min);color:#0b0d12;letter-spacing:.08em;cursor:pointer;background:#c49a2c;border:1px solid #c49a2c8c;border-radius:9px;padding:10px 16px;font-family:inherit;font-weight:800}.win-actions button.secondary{color:#f7fbff;background:#243044;border-color:#3c4a62}.win-actions button:hover,.win-actions button:focus-visible{filter:brightness(1.15);outline-offset:2px;outline:2px solid #fff3b0}.reward-overlay{z-index:46;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 36%,#ffd16638,#0000 34%),radial-gradient(circle at 50% 52%,#84e1bc21,#0000 42%),#040407e6;place-items:center;padding:18px;display:none;position:fixed;inset:0}.reward-overlay.show{display:grid}.reward-panel{text-align:center;background:linear-gradient(#17130b 0%,#0d1118 100%);border:1px solid #ffd1668c;border-radius:16px;width:min(560px,92vw);padding:26px 28px;position:relative;overflow:hidden;box-shadow:0 24px 80px #000000b8,0 0 44px #ffd1662e}.reward-burst{color:var(--accent);letter-spacing:.42em;text-shadow:0 0 18px #ffd166b8;will-change:transform, opacity;font:800 26px/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;animation:.7s ease-out both reward-burst-pop}.reward-eyebrow{color:var(--accent-2);letter-spacing:.22em;text-transform:uppercase;margin-top:8px;font:800 11px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}.reward-panel h1{color:var(--accent);letter-spacing:.08em;text-shadow:0 0 26px #ffd16666;margin:8px 0 6px;font-size:clamp(30px,6vw,48px)}.reward-summary{color:#cdd5e0;max-width:38em;margin:0 auto 14px;line-height:1.45}.reward-stats{text-align:start;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 18px;display:grid}.reward-stats div{background:#0d1118e0;border:1px solid #ffd16652;border-radius:9px;padding:10px}.reward-stats span{color:#9aa3b2;letter-spacing:.12em;text-transform:uppercase;font-size:10px;display:block}.reward-stats b{color:#f2d481;margin-top:4px;font-size:20px;display:block}.reward-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.reward-actions button{min-height:var(--touch-target-min);color:#0b0d12;letter-spacing:.08em;cursor:pointer;background:#c49a2c;border:1px solid #ffd1668c;border-radius:9px;padding:10px 16px;font-family:inherit;font-weight:800}.reward-actions button.secondary{color:#f7fbff;background:#243044;border-color:#3c4a62}.reward-actions button:hover,.reward-actions button:focus-visible{filter:brightness(1.15);outline-offset:2px;outline:2px solid #fff3b0}@keyframes reward-burst-pop{0%{opacity:0;transform:scale(.65)}55%{opacity:1;transform:scale(1.16)}to{opacity:.92;transform:scale(1)}}.win-stats{text-align:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 16px;display:grid}.win-stats div{background:#0d1118e0;border:1px solid #c49a2c59;border-radius:8px;padding:9px 10px}.win-stats span{color:#9aa3b2;letter-spacing:.14em;text-transform:uppercase;font-size:10px;display:block}.win-stats b{color:#f2d481}.post-run-stats{margin-bottom:10px}.settings-section-h{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2,#84d3ff);border-bottom:1px solid #84d3ff2e;margin:14px 0 6px;padding-bottom:4px;font-size:11px}.settings-section-h:first-of-type{margin-top:4px}.post-run-report-panel{margin-bottom:10px}.post-run-recovery{background:#0d1118d1;border:1px solid #84e1bc57;border-radius:10px;margin:10px 0;padding:10px}.post-run-recovery-title{color:#ffd166;letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800;line-height:1.2;display:none}.post-run-recovery-copy{color:#cdd5e0;margin:0 0 8px;font-size:12px;line-height:1.4}.post-run-recovery-action-hint{color:#d8ffef;letter-spacing:.04em;text-align:center;background:#84e1bc14;border:1px solid #84e1bc57;border-radius:999px;margin:8px 0;padding:5px 8px;font-size:12px;font-weight:800;line-height:1.2}.post-run-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.post-run-actions button#quick-restart-btn,.post-run-actions .post-run-secondary-action{margin:0}.post-run-secondary-action{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);color:var(--ink);cursor:pointer;letter-spacing:.08em;background:#2a3142;border:none;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.15}.post-run-secondary-action:hover{filter:brightness(1.12)}.operator-log-panel{margin:8px 0 10px}.pause-mobile-recovery-copy{line-height:1.45}.pause-primary-actions,.pause-secondary-actions{flex-wrap:wrap;justify-content:center;gap:6px;margin:10px 0;display:flex}.pause-resume-btn,.pause-restart-btn,.pause-secondary-actions button{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);color:var(--ink);cursor:pointer;letter-spacing:.08em;border:none;border-radius:8px;padding:10px 14px;font-family:inherit;font-weight:800}.pause-resume-btn{background:var(--accent);color:#1a1300}.pause-restart-btn{background:#2a3142}.pause-resume-btn:hover,.pause-restart-btn:hover,.pause-secondary-actions button:hover{filter:brightness(1.12)}body[data-layout=mobile] #overlay.show .panel:has(#resume-btn){box-sizing:border-box;width:min(560px,100vw - 24px);max-block-size:calc(100dvh - max(20px, env(safe-area-inset-top)) - max(20px, env(safe-area-inset-bottom)));flex-direction:column;align-items:stretch;padding:18px 16px;display:flex}body[data-layout=mobile] #overlay.show:has(#resume-btn){padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;place-items:start center;overflow:hidden auto}body[data-layout=mobile] .pause-primary-actions{z-index:2;background:linear-gradient(#0d1118fa 72%,#0d111800);order:-1;margin:0 0 10px;padding-block-end:8px;position:sticky;inset-block-start:0}body[data-layout=mobile] .pause-resume-btn,body[data-layout=mobile] .pause-restart-btn{min-block-size:calc(52px / var(--menu-ui-scale));padding-block:calc(12px / var(--menu-ui-scale));font-size:calc(15px / var(--menu-ui-scale));flex:100%}body[data-layout=mobile] .pause-secondary-actions button{flex:calc(50% - 6px)}.report-export-btn{background:#1f6f4a;margin-inline-start:6px}.report-export-btn:disabled{cursor:wait;filter:grayscale(.4);opacity:.72}.pause-checkpoint-actions{vertical-align:middle;gap:6px;margin:10px 0 0 6px;display:inline-flex}.pause-checkpoint-actions button{color:var(--ink);cursor:pointer;letter-spacing:.08em;background:#2a3142;border:none;border-radius:8px;padding:8px 12px;font-family:inherit;font-weight:700}.pause-checkpoint-actions #btn-save-checkpoint{background:#1f6f4a}.pause-checkpoint-actions button.secondary{color:#cdd5e0;background:#2a3142}.pause-checkpoint-actions button:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.45}.pause-secondary-controls{text-align:left;margin-top:10px}.pause-secondary-controls summary{cursor:pointer;color:var(--accent-2);letter-spacing:.18em;text-transform:uppercase;font-weight:800}.pause-secondary-body{margin-top:8px}.post-run-detail{color:#cdd5e0;text-align:start;background:#0d1118e0;border:1px solid #2a3142;border-radius:6px;margin:6px 0;padding:8px}.post-run-detail-title{color:#9aa3b2;letter-spacing:.15em;text-transform:uppercase;margin-bottom:5px;font-size:10px}.post-run-chip{color:#cdd5e0;background:#111722;border:1px solid #2a3142;border-radius:999px;margin:2px;padding:2px 7px;font-size:11px;display:inline-block}.win-achievement-banner{color:#f2d481;background:#ffd1661f;border:1px solid #ffd16673;border-radius:8px;margin:-4px 0 14px;padding:8px 10px;font-size:12px}.tag{color:var(--muted);margin-top:0}.cols{text-align:start;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0;display:grid}@media (max-width:600px){.cols{grid-template-columns:1fr}}.col{border:1px solid var(--border);background:#0d1118;border-radius:8px;padding:12px 14px}.col h3{color:var(--accent-2);letter-spacing:.15em;margin:0 0 8px;font-size:13px}.col ul{color:var(--ink);margin:0;padding-inline-start:18px;font-size:13px;line-height:1.6}.col code,.col kbd{border:1px solid var(--border);background:#1a2030;border-radius:4px;padding:1px 6px;font-size:12px}.difficulty-picker{text-align:start;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 8px;display:grid}.difficulty-picker h3{color:var(--accent-2);letter-spacing:.16em;grid-column:1/-1;margin:0;font-size:12px}.difficulty-picker label{border:1px solid var(--border);cursor:pointer;background:#0d1118;border-radius:7px;grid-template-columns:auto 1fr;align-items:start;gap:2px 6px;padding:7px;font-size:11px;display:grid}.difficulty-picker input{margin-top:2px}.difficulty-picker span{color:var(--muted);grid-column:2;font-size:10px}@media (max-width:720px){.difficulty-picker{grid-template-columns:1fr 1fr}}@media (max-width:480px){#overlay.title-overlay.show{padding-block-start:max(12px, env(safe-area-inset-top))}.title-panel{padding:16px 14px 18px}.title-panel h1{letter-spacing:.22em;font-size:clamp(26px,8vw,32px)}.title-panel .tag{margin-bottom:0;font-size:12px;line-height:1.35}.title-actions{margin:10px 0 8px}.title-actions button,.title-actions a{flex:44%;padding:9px 10px;font-size:.74rem;line-height:1.15}.title-actions #start-btn,.title-actions #sandbox-btn{flex-basis:calc(50% - 4px)}.title-panel .cols{gap:8px;margin:10px 0}.title-panel .col{padding:9px 10px}.title-panel .col ul{font-size:11px;line-height:1.45}.title-panel .difficulty-picker{margin-top:8px}}button#start-btn,button#quick-restart-btn{pointer-events:auto;background:var(--accent);color:#1a1300;min-width:var(--touch-target-min);min-height:var(--touch-target-min);letter-spacing:.1em;cursor:pointer;border:none;border-radius:8px;margin-top:6px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:700}button#start-btn:hover,button#quick-restart-btn:hover{background:#ffe199}.footer{color:var(--muted);margin-top:12px;font-size:11px}body[data-layout=mobile] #hud,body[data-layout=mobile] .hud{font-size:var(--hud-font-size);padding:8px}body[data-layout=mobile][data-orientation=portrait]:has(#wand.open) #hud{block-size:min(36dvh,304px);inset-block-end:auto}body[data-layout=mobile] #hud>.row,body[data-layout=mobile] #stats,body[data-layout=mobile] #wand-ui,body[data-layout=mobile] #tutorial,body[data-layout=mobile] #token-hint-row{gap:6px;margin:0}body[data-layout=mobile] #hp-wrap,body[data-layout=mobile] #mana-wrap,body[data-layout=mobile] #score-wrap,body[data-layout=mobile] #depth-wrap,body[data-layout=mobile] #gold-wrap,body[data-layout=mobile] #xp-wrap,body[data-layout=mobile] #timer-wrap,body[data-layout=mobile] #stats,body[data-layout=mobile] #wand-ui,body[data-layout=mobile] #tutorial,body[data-layout=mobile] #token-hint-row{font-size:var(--hud-font-size);gap:5px;margin:0;padding:5px 7px;line-height:1.2}body[data-layout=mobile] #debug-btn,body[data-layout=mobile] #settings-btn,body[data-layout=mobile] #audio-btn,body[data-layout=mobile] #codex-btn,body[data-layout=mobile] #combat-stats-btn,body[data-layout=mobile] #letter-stats-btn,body[data-layout=mobile] #perks-btn,body[data-layout=mobile] #daily-hud-badge,body[data-layout=mobile] button#start-btn,body[data-layout=mobile] button#quick-restart-btn{min-width:var(--touch-target-min);min-height:var(--touch-target-min);font-size:var(--hud-font-size);padding:4px 8px;line-height:1.15}body[data-layout=mobile] #overlay.show .panel:has(#quick-restart-btn) button#quick-restart-btn{min-inline-size:calc(44px / var(--menu-ui-scale));min-block-size:calc(44px / var(--menu-ui-scale));padding:calc(10px / var(--menu-ui-scale)) calc(16px / var(--menu-ui-scale));font-size:calc(14px / var(--menu-ui-scale))}body[data-layout=mobile] #overlay.show:has(#quick-restart-btn){padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;place-items:start center;overflow:hidden auto}body[data-layout=mobile] #overlay.show .panel:has(#quick-restart-btn){width:min(560px,100%);max-block-size:calc(100dvh - max(10px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom)));padding:16px 14px calc(166px / var(--menu-ui-scale));flex-direction:column;align-items:stretch;display:flex}body[data-layout=mobile] #overlay.show .panel:has(#quick-restart-btn) .post-run-recovery{inset-inline:max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right));z-index:60;box-sizing:border-box;width:min(560px, calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));background:#090c12f0;border-color:#ffd16670;margin:0 auto;position:fixed;inset-block-end:max(10px, calc(env(safe-area-inset-bottom) + 8px));box-shadow:0 10px 24px #00000057}body[data-layout=mobile] #overlay.show .panel:has(#quick-restart-btn) .post-run-recovery-copy{font-size:calc(13px / var(--menu-ui-scale))}body[data-layout=mobile] #overlay.show .panel:has(#quick-restart-btn) .post-run-recovery-title{font-size:calc(13px / var(--menu-ui-scale));display:block}body[data-layout=mobile] #overlay.show .panel:has(#quick-restart-btn) .post-run-actions button#quick-restart-btn{min-block-size:calc(56px / var(--menu-ui-scale));font-size:calc(16px / var(--menu-ui-scale));flex:100%}body[data-layout=mobile] #overlay.show .panel:has(#quick-restart-btn) .post-run-actions .post-run-secondary-action{min-block-size:calc(48px / var(--menu-ui-scale));padding:calc(10px / var(--menu-ui-scale)) calc(12px / var(--menu-ui-scale));font-size:calc(13px / var(--menu-ui-scale));flex:120px}body[data-layout=mobile] .bar{width:var(--hud-mobile-bar-width);height:var(--hud-mobile-bar-height)}body[data-layout=mobile] #xp-wrap .bar{width:44px!important}body[data-layout=mobile] .lbl,body[data-layout=mobile] .hint{font-size:var(--hud-label-font-size)}body[data-layout=mobile] #combat-stats,body[data-layout=mobile] #heatmap-panel,body[data-layout=mobile] #subtitle-overlay,body[data-layout=mobile] #hud-status,body[data-layout=mobile] #material-reticle-label{font-size:var(--hud-font-size);padding:6px 8px;line-height:1.3}body[data-layout=mobile] #combat-stats{inset-block-end:calc(max(8px, env(safe-area-inset-bottom)) + var(--touch-target-min) + 8px);inset-inline-start:max(8px, env(safe-area-inset-left))}body[data-layout=mobile] #heatmap-panel{max-width:min(270px,100vw - 16px);inset-block-end:calc(max(8px, env(safe-area-inset-bottom)) + var(--touch-target-min) + 8px);inset-inline-end:max(8px, env(safe-area-inset-right))}body[data-layout=mobile] #combat-stats-btn,body[data-layout=mobile] #letter-stats-btn{bottom:max(8px, env(safe-area-inset-bottom))}body[data-layout=mobile] #combat-stats-btn{left:max(8px, env(safe-area-inset-left))}body[data-layout=mobile] #letter-stats-btn{right:max(8px, env(safe-area-inset-right))}body[data-layout=mobile] #wand{width:min(640px,94vw);font-size:var(--hud-font-size);overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;grid-template-columns:minmax(0,1fr) minmax(128px,42%);align-items:center;gap:4px 8px;max-height:min(40dvh,340px);padding:8px 10px;display:grid;overflow:hidden auto}body[data-layout=mobile][data-orientation=portrait] #wand.open{padding-block-end:calc(8px + env(safe-area-inset-bottom));transform:none}body[data-layout=mobile][data-orientation=portrait] #wand-header{order:1}body[data-layout=mobile][data-orientation=portrait] .mobile-spell-input-row{order:2}body[data-layout=mobile][data-orientation=portrait] .last-cast-recall-hint{order:3}body[data-layout=mobile][data-orientation=portrait] #wand-error{order:4}body[data-layout=mobile][data-orientation=portrait] .first-cast-spell-hint{order:5}body[data-layout=mobile][data-orientation=portrait] #wand-slots{order:6}body[data-layout=mobile][data-orientation=portrait] #spell-suggestions{order:7}body[data-layout=mobile][data-orientation=portrait] .mobile-composer-help{order:8}body[data-layout=mobile][data-orientation=portrait] #cooldown-track,body[data-layout=mobile][data-orientation=portrait] #spell-feedback{order:9}body[data-layout=mobile][data-orientation=portrait] .spell-details{order:10}body[data-layout=mobile][data-orientation=portrait] .wand-mobile-actions{order:20}@media (max-height:700px) and (orientation:portrait){body[data-layout=mobile] #wand{max-height:min(330px, calc(52dvh - max(20px, env(safe-area-inset-bottom))))}}body[data-layout=mobile] #wand-header{grid-column:1/-1;gap:6px;margin-bottom:0}body[data-layout=mobile] #input-hint{display:none}body[data-layout=mobile] #wand-mode{font-size:var(--hud-font-size);padding:2px 6px}body[data-layout=mobile] #wand-mobile-done-btn{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);color:#d7f4ff;text-transform:uppercase;background:#081c2ae0;border-color:#7fd6f58c;justify-content:center;align-items:center;margin-inline-start:auto;padding-inline:12px;font:800 clamp(11px,1.55dvh,12px)/1 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:inline-flex}body[data-layout=mobile] #wand-summon-name,body[data-layout=mobile] #spell-feedback,body[data-layout=mobile] .spell-details,body[data-layout=mobile] #summoning,body[data-layout=mobile] #summon-toast,body[data-layout=mobile] .inv-empty,body[data-layout=mobile] .chip{font-size:var(--hud-font-size)}body[data-layout=mobile] #wand-slots{grid-column:1;gap:4px}body[data-layout=mobile] .first-cast-spell-hint{z-index:2;overscroll-behavior:contain;grid-column:1/-1;max-block-size:min(110px,20dvh);margin-block-start:0;padding:7px 8px;font-size:clamp(11px,1.55dvh,12px);position:static;overflow:hidden auto}body[data-layout=mobile] .first-cast-spell-hint__eyebrow{font-size:9px}body[data-layout=mobile] .first-cast-spell-hint__title{margin-block-end:6px;font-size:clamp(11px,1.55dvh,12px);line-height:1.25}body[data-layout=mobile] .first-cast-spell-hint__examples{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}body[data-layout=mobile] .first-cast-spell-hint__example{min-block-size:var(--touch-target-min);text-align:center;justify-content:center;align-items:center;padding:4px 6px;font-size:clamp(11px,1.55dvh,12px);line-height:1.1;display:flex}body[data-layout=mobile] .first-cast-spell-hint__example>span{display:none}body[data-layout=mobile] #wand:has(#wand-error:not(.hidden):not([hidden])) .first-cast-spell-hint{display:none}body[data-layout=mobile] #wand-error{min-block-size:var(--touch-target-min);box-sizing:border-box;background:#2d0b16bd;border:1px solid #ef476f6b;border-radius:8px;grid-column:1/-1;margin-top:0;padding:6px 8px;font-size:clamp(12px,1.6dvh,13px);line-height:1.25}body[data-layout=mobile] .slot{width:24px;height:30px;font-size:1rem}body[data-layout=mobile] #cooldown-track{grid-column:1/-1;height:2px;margin-top:0}body[data-layout=mobile] #spell-feedback{grid-column:1/-1;min-height:12px;margin-top:0}body[data-layout=mobile] .spell-details{grid-column:1/-1;margin-top:0;padding:6px 8px}body[data-layout=mobile] .spell-details__grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-layout=mobile] .spell-details__layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body[data-layout=mobile] #inventory-row{gap:5px;margin-top:4px;padding-top:4px}body[data-layout=mobile] #inventory{gap:3px}body[data-layout=mobile] .chip{min-width:20px;padding:2px 5px}@media (pointer:coarse){#hud button,#wand button,#wand input,.modal-panel button,.modal-panel select,.modal-panel input,.modal-header .x,#overlay button,.title-actions button,.title-actions a,.difficulty-picker label,.pause-checkpoint-actions button,.tutorial-nudge__dismiss,.speedrun-hud__toggle{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min)}.modal-panel button,.pause-checkpoint-actions button,.speedrun-hud__toggle{padding-block:var(--touch-target-padding-y);padding-inline:var(--touch-target-padding-x)}.slot,.chip{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min)}.slot{inline-size:var(--touch-target-min);block-size:var(--touch-target-min)}#wand-slots{min-block-size:var(--touch-target-min);flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.chip{padding-block:7px;padding-inline:8px}.inventory-rail .chip{inline-size:100%}.tutorial-nudge__dismiss{flex:0 0 var(--touch-target-min)}.modal-panel input[type=checkbox]{inline-size:var(--touch-target-min);block-size:var(--touch-target-min);margin-block:0}.modal-panel input[type=range]{min-block-size:var(--touch-target-min)}}body[data-layout=mobile] #hud button,body[data-layout=mobile] #wand button,body[data-layout=mobile] #wand input,body[data-layout=mobile] .modal-panel button,body[data-layout=mobile] .modal-panel select,body[data-layout=mobile] .modal-panel input,body[data-layout=mobile] .modal-header .x,body[data-layout=mobile] #overlay button,body[data-layout=mobile] .title-actions button,body[data-layout=mobile] .title-actions a,body[data-layout=mobile] .difficulty-picker label,body[data-layout=mobile] .pause-checkpoint-actions button,body[data-layout=mobile] .tutorial-nudge__dismiss,body[data-layout=mobile] .speedrun-hud__toggle,body[data-layout=mobile] .slot,body[data-layout=mobile] .chip{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min)}body[data-layout=mobile] .modal-panel button,body[data-layout=mobile] .pause-checkpoint-actions button,body[data-layout=mobile] .speedrun-hud__toggle{padding-block:var(--touch-target-padding-y);padding-inline:var(--touch-target-padding-x)}body[data-layout=mobile] .mobile-spell-input-row{z-index:3;grid-column:2;align-items:center;gap:6px;min-inline-size:0;margin-block:0;display:flex;position:relative}body[data-layout=mobile][data-orientation=portrait] .wand-mobile-actions{z-index:4;grid-template-columns:repeat(2, minmax(var(--touch-target-min), 1fr));background:linear-gradient(#0a0d1300,#0a0d13f0 34%);padding-block-start:4px;position:sticky;inset-block-end:0}body[data-layout=mobile][data-orientation=portrait] #wand-mobile-cast-btn{min-block-size:calc(var(--touch-target-min) + 10px);grid-column:1/-1}body[data-layout=mobile][data-orientation=portrait] .mobile-spell-input-row{grid-column:1/-1}body[data-layout=mobile] .mobile-spell-input-row .lbl{display:none}body[data-layout=mobile] .mobile-spell-input{inline-size:100%;color:var(--ink);background:#0d1118e6;border:1px solid #84e1bc8c;border-radius:8px;font:700 16px/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace}body[data-layout=mobile] #spell-suggestions{grid-column:2;min-inline-size:0;margin-block:0}body[data-layout=mobile] #wand.open .mobile-composer-help{min-block-size:var(--touch-target-min);color:#f5ead0;text-align:center;pointer-events:none;background:#231a079e;border:1px solid #ffd16652;border-radius:999px;grid-column:1/-1;justify-content:center;align-items:center;padding:5px 8px;font:800 clamp(12px,1.6dvh,13px)/1.25 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:flex}body[data-layout=mobile][data-orientation=portrait] #wand.open[data-first-cast-hint-visible=true] #wand-slots,body[data-layout=mobile][data-orientation=portrait] #wand.open[data-first-cast-hint-visible=true] #spell-suggestions,body[data-layout=mobile][data-orientation=portrait] #wand.open[data-first-cast-hint-visible=true] #spell-feedback,body[data-layout=mobile][data-orientation=portrait] #wand.open[data-first-cast-hint-visible=true] .spell-details,body[data-layout=mobile][data-orientation=portrait] #wand.open[data-first-cast-hint-visible=true] .mobile-composer-help{display:none}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(.last-cast-recall-hint:not(.hidden)) #wand-slots{display:none}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(.last-cast-recall-hint:not(.hidden)) #spell-suggestions{display:none}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(.last-cast-recall-hint:not(.hidden)) #spell-feedback{display:none}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(.last-cast-recall-hint:not(.hidden)) .spell-details{display:none}body[data-layout=mobile][data-orientation=portrait] #wand.open[data-first-cast-hint-visible=true] .wand-mobile-actions{background:0 0;padding-block-start:0;position:static}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-error:not(.hidden):not([hidden])) #wand-slots{display:none}body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open:has(#wand-error:not(.hidden):not([hidden])) #wand-slots{display:none}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-error:not(.hidden):not([hidden])) #spell-suggestions{display:none}body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open:has(#wand-error:not(.hidden):not([hidden])) #spell-suggestions{display:none}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-error:not(.hidden):not([hidden])) #spell-feedback{display:none}body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open:has(#wand-error:not(.hidden):not([hidden])) #spell-feedback{display:none}body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open:has(#wand-error:not(.hidden):not([hidden])) .spell-details{display:none}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-error:not(.hidden):not([hidden])) .spell-details{display:none}:is(body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open:has(#wand-error:not(.hidden):not([hidden])) .mobile-composer-help,body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-error:not(.hidden):not([hidden])) .mobile-composer-help){order:5}:is(body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-error:not(.hidden):not([hidden])):has(.last-cast-recall-hint:not(.hidden)) .mobile-composer-help,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open:has(#wand-error:not(.hidden):not([hidden])):has(.last-cast-recall-hint:not(.hidden)) .mobile-composer-help){display:none}:is(body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open:has(#wand-error:not(.hidden):not([hidden])) .wand-mobile-actions,body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-error:not(.hidden):not([hidden])) .wand-mobile-actions){background:0 0;order:6;padding-block-start:0;position:static}body[data-layout=mobile] #wand.open:has(#wand-mobile-cast-btn[data-cast-ready=true]) .mobile-composer-help{display:none}body[data-layout=mobile] #wand.open .mobile-cast-ready-guidance:not([hidden]){color:#d8ffef;pointer-events:none;text-align:center;background:#09271dad;border:1px solid #84e1bc6b;border-radius:999px;order:19;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;min-block-size:34px;padding:5px 9px;font:800 clamp(11px,1.45dvh,12px)/1.2 ui-monospace,SF Mono,Menlo,Consolas,monospace;display:flex}body[data-layout=mobile] #wand.open .mobile-cast-ready-guidance__eyebrow{color:#fff8cf;letter-spacing:.12em;text-transform:uppercase;background:#fff3bf29;border-radius:999px;flex:none;padding:2px 6px;font-size:9px}body[data-layout=mobile] #wand.open .mobile-cast-ready-guidance__copy{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}body[data-layout=mobile].mobile-keyboard-visible #wand.open .mobile-cast-ready-guidance,:is(body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-mobile-cast-btn[data-cast-ready=true]) .spell-details,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open:has(#wand-mobile-cast-btn[data-cast-ready=true]) .spell-details){display:none}body[data-layout=mobile]:not([data-orientation=landscape]):not(.mobile-keyboard-visible) #wand.open:not(.keyboard-safe-focus):not(:has(#mobile-spell-input:focus))[data-first-cast-hint-visible=false]:has(#wand-mobile-cast-btn[data-cast-ready=true]) .wand-mobile-actions{z-index:4;background:linear-gradient(#0a0d1300,#0a0d13f0 28%);padding-block-start:6px;position:sticky;inset-block-end:0;inset-inline:auto}body[data-layout=mobile]:not([data-orientation=landscape]):not(.mobile-keyboard-visible) #wand.open:not(.keyboard-safe-focus):not(:has(#mobile-spell-input:focus))[data-first-cast-hint-visible=false]:has(#wand-mobile-cast-btn[data-cast-ready=true]) #wand-mobile-cast-btn{order:2}:is(body[data-layout=mobile]:not([data-orientation=landscape]):not(.mobile-keyboard-visible) #wand.open:not(.keyboard-safe-focus):not(:has(#mobile-spell-input:focus))[data-first-cast-hint-visible=false]:has(#wand-mobile-cast-btn[data-cast-ready=true]) #wand-share-btn,body[data-layout=mobile]:not([data-orientation=landscape]):not(.mobile-keyboard-visible) #wand.open:not(.keyboard-safe-focus):not(:has(#mobile-spell-input:focus))[data-first-cast-hint-visible=false]:has(#wand-mobile-cast-btn[data-cast-ready=true]) #wand-mobile-done-btn),:is(body[data-layout=mobile]:not([data-orientation=landscape]):not(.mobile-keyboard-visible) #wand.open:not(.keyboard-safe-focus):not(:has(#mobile-spell-input:focus))[data-first-cast-hint-visible=false]:has(#wand-mobile-cast-btn[data-cast-ready=true]) #wand-slots,body[data-layout=mobile]:not([data-orientation=landscape]):not(.mobile-keyboard-visible) #wand.open:not(.keyboard-safe-focus):not(:has(#mobile-spell-input:focus))[data-first-cast-hint-visible=false]:has(#wand-mobile-cast-btn[data-cast-ready=true]) #spell-suggestions){display:none}body[data-layout=mobile] .last-cast-recall-hint{min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min);box-sizing:border-box;color:#dfffee;text-align:center;background:linear-gradient(#0f4335e6,#081f1fe0);border-color:#84e1bc94;grid-column:2;margin-block-start:0;padding:6px 10px;font:800 clamp(11px,1.55dvh,12px)/1.15 ui-monospace,SF Mono,Menlo,Consolas,monospace;box-shadow:0 0 0 1px #84e1bc1f,0 8px 18px #0000003d}body[data-layout=mobile] .last-cast-recall-hint.hidden{display:none}body[data-layout=mobile][data-orientation=portrait] #spell-suggestions,body[data-layout=mobile][data-orientation=portrait] .last-cast-recall-hint{grid-column:1/-1}body[data-layout=mobile] .suggestion-chip{white-space:nowrap;padding-inline:10px}body[data-layout=mobile] .slot{inline-size:var(--touch-target-min);block-size:var(--touch-target-min)}body[data-layout=mobile] #wand-slots{min-block-size:var(--touch-target-min);flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}body[data-layout=mobile][data-orientation=portrait].mobile-keyboard-visible #wand.open,body[data-layout=mobile]:not([data-orientation=landscape]).mobile-keyboard-visible #wand.open,body[data-layout=mobile][data-orientation=portrait] #wand.open.keyboard-safe-focus,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open.keyboard-safe-focus{max-block-size:min(320px, calc(var(--mobile-visual-viewport-height) - 76px));scroll-padding-block:8px calc(var(--touch-target-min) + 14px);inset-block-end:max(8px, calc(var(--mobile-keyboard-inset) + env(safe-area-inset-bottom) + 8px))}body[data-layout=mobile][data-orientation=portrait].mobile-keyboard-visible #wand.open .spell-details,body[data-layout=mobile]:not([data-orientation=landscape]).mobile-keyboard-visible #wand.open .spell-details,body[data-layout=mobile][data-orientation=portrait] #wand.open.keyboard-safe-focus .spell-details,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open.keyboard-safe-focus .spell-details,body[data-layout=mobile][data-orientation=portrait].mobile-keyboard-visible #wand.open .first-cast-spell-hint,body[data-layout=mobile]:not([data-orientation=landscape]).mobile-keyboard-visible #wand.open .first-cast-spell-hint,body[data-layout=mobile][data-orientation=portrait] #wand.open.keyboard-safe-focus .first-cast-spell-hint,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open.keyboard-safe-focus .first-cast-spell-hint{display:none}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-error:not(.hidden):not([hidden])) .first-cast-spell-hint{display:none}body[data-layout=mobile][data-orientation=portrait].mobile-keyboard-visible #wand.open .mobile-composer-help,body[data-layout=mobile]:not([data-orientation=landscape]).mobile-keyboard-visible #wand.open .mobile-composer-help,body[data-layout=mobile][data-orientation=portrait] #wand.open.keyboard-safe-focus .mobile-composer-help,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open.keyboard-safe-focus .mobile-composer-help{min-block-size:auto;padding-block:4px}body[data-layout=mobile][data-orientation=portrait].mobile-keyboard-visible #wand.open .wand-mobile-actions,body[data-layout=mobile]:not([data-orientation=landscape]).mobile-keyboard-visible #wand.open .wand-mobile-actions,body[data-layout=mobile][data-orientation=portrait] #wand.open.keyboard-safe-focus .wand-mobile-actions,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open.keyboard-safe-focus .wand-mobile-actions{background:0 0;padding-block-start:0;position:static}body[data-layout=mobile][data-orientation=portrait] #wand.open:has(#wand-error:not(.hidden):not([hidden])) .wand-mobile-actions{background:0 0;padding-block-start:0;position:static}body[data-layout=mobile]:not([data-orientation=landscape]).mobile-keyboard-visible #wand.open .wand-mobile-actions,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open.keyboard-safe-focus .wand-mobile-actions{grid-template-columns:minmax(0, 1.5fr) minmax(var(--touch-target-min), .85fr)}body[data-layout=mobile]:not([data-orientation=landscape]).mobile-keyboard-visible #wand.open #wand-mobile-cast-btn,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open.keyboard-safe-focus #wand-mobile-cast-btn{min-block-size:var(--touch-target-min);grid-column:auto}body[data-layout=mobile]:not([data-orientation=landscape]).mobile-keyboard-visible #wand.open #wand-mobile-clear-btn,body[data-layout=mobile]:not([data-orientation=landscape]).mobile-keyboard-visible #wand.open #wand-share-btn,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open.keyboard-safe-focus #wand-mobile-clear-btn,body[data-layout=mobile]:not([data-orientation=landscape]) #wand.open.keyboard-safe-focus #wand-share-btn,body[data-layout=mobile][data-orientation=portrait].mobile-keyboard-visible #quick-cast-bar.has-favourites,body[data-layout=mobile].mobile-keyboard-visible .mobile-overlay-escape-guard:not([hidden]){display:none}body[data-layout=mobile].mobile-keyboard-visible:has(#wand.open) .mobile-failure-recovery:not([hidden]){display:none}body[data-layout=mobile] .chip{padding-block:7px;padding-inline:8px}body[data-layout=mobile] .inventory-rail .chip{inline-size:100%}body[data-layout=mobile][data-orientation=portrait] .inventory-rail{gap:2px;width:38px;padding:4px 3px;top:100px;bottom:200px}body[data-layout=mobile][data-orientation=portrait] .inventory-rail-title{display:none}body[data-layout=mobile][data-orientation=portrait] .inventory-rail .chip{justify-content:center;min-block-size:22px;padding:1px 2px;font-size:7px}body[data-layout=mobile][data-orientation=portrait] .inventory-rail .chip-tok{font-size:11px}body[data-layout=mobile] .tutorial-nudge__dismiss{flex:0 0 var(--touch-target-min)}body[data-layout=mobile] .modal-panel input[type=checkbox]{inline-size:var(--touch-target-min);block-size:var(--touch-target-min);margin-block:0}body[data-layout=mobile] .modal-panel input[type=range]{min-block-size:var(--touch-target-min)}.modal-panel input[type=checkbox],body[data-layout=mobile] .modal-panel input[type=checkbox]{block-size:1.35em;min-block-size:1.35em;inline-size:1.35em;min-inline-size:1.35em}body[data-layout=mobile] .modal-panel input[type=checkbox]{inline-size:var(--touch-target-min);block-size:var(--touch-target-min);min-inline-size:var(--touch-target-min);min-block-size:var(--touch-target-min)}@media (orientation:landscape) and (pointer:coarse),(orientation:landscape) and (max-width:900px){.modal,#overlay,#codex-overlay,.win-screen{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;place-items:start center;overflow:auto}#overlay.show,.modal.show,#codex-overlay:not(.hidden),.win-screen.show{display:grid}#overlay.title-overlay.show{place-items:start center;display:grid}.panel,.modal-panel,.codex-panel,.win-panel,.reward-panel{zoom:var(--menu-ui-scale);max-block-size:calc(100dvh / var(--menu-ui-scale) - 24px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow:auto}.title-panel{width:min(720px,100vw - 24px)}.codex-panel{width:min(920px,100vw - 24px)}}body[data-layout=mobile][data-orientation=landscape]{--hud-top-unit:.75rem;--menu-ui-scale:.75;--touch-target-min:28px;--touch-target-padding-y:2px;--touch-target-padding-x:5px;--hud-font-size:8px;--hud-label-font-size:8px;--mobile-joystick-size:72px}@media (orientation:landscape){body[data-layout=mobile]{--hud-top-unit:.75rem;--menu-ui-scale:.75}}@media (orientation:landscape) and (pointer:coarse),(orientation:landscape) and (max-width:900px){body{--hud-top-unit:.75rem;--menu-ui-scale:.75;--hud-top-gap:calc(var(--hud-top-unit) * .875);--hud-top-chip-gap:calc(var(--hud-top-unit) * .5);--hud-top-vitals-gap:calc(var(--hud-top-unit) * .1875);--hud-top-item-height:calc(var(--hud-top-unit) * 2.75);--hud-top-padding-y:calc(var(--hud-top-unit) * .375);--hud-top-padding-x:calc(var(--hud-top-unit) * .625);--hud-top-font-size:calc(var(--hud-top-unit) * .875);--hud-top-value-font-size:calc(var(--hud-top-unit) * 1.125);--hud-top-icon-font-size:calc(var(--hud-top-unit) * 1.375);--hud-top-book-icon-font-size:calc(var(--hud-top-unit) * 1.125);--hud-top-vitals-bar-width:calc(var(--hud-top-unit) * 8.75);--hud-top-level-bar-width:calc(var(--hud-top-unit) * 4.5);--hud-top-bar-height:calc(var(--hud-top-unit) * .875);--hud-top-icon-button-size:var(--hud-top-item-height)}}body[data-layout=mobile][data-orientation=landscape] #hud,body[data-layout=mobile][data-orientation=landscape] .hud{padding:7px;font-size:9px}body[data-layout=mobile][data-orientation=landscape] #hud>.row{pointer-events:none;flex-flow:wrap;align-items:center;gap:5px;width:auto;margin:0;display:flex;position:static;inset:auto;overflow:visible}body[data-layout=mobile][data-orientation=landscape] #hp-wrap,body[data-layout=mobile][data-orientation=landscape] #mana-wrap,body[data-layout=mobile][data-orientation=landscape] #score-wrap,body[data-layout=mobile][data-orientation=landscape] #depth-wrap,body[data-layout=mobile][data-orientation=landscape] #gold-wrap,body[data-layout=mobile][data-orientation=landscape] #xp-wrap,body[data-layout=mobile][data-orientation=landscape] #timer-wrap,body[data-layout=mobile][data-orientation=landscape] #stats,body[data-layout=mobile][data-orientation=landscape] #wand-ui,body[data-layout=mobile][data-orientation=landscape] #tutorial,body[data-layout=mobile][data-orientation=landscape] #token-hint-row{text-align:start;width:auto;min-width:0;min-height:0;font-size:var(--hud-font-size);justify-content:flex-start;gap:4px;margin:0;padding:3px 5px;line-height:1.2;overflow:visible}body[data-layout=mobile][data-orientation=landscape] #hp-wrap,body[data-layout=mobile][data-orientation=landscape] #mana-wrap,body[data-layout=mobile][data-orientation=landscape] #xp-wrap{flex-direction:row}body[data-layout=mobile][data-orientation=landscape] #settings-btn{margin-inline-start:0!important}body[data-layout=mobile][data-orientation=landscape] .bar{width:60px;height:7px}body[data-layout=mobile][data-orientation=landscape] #xp-wrap .bar{width:38px!important}body[data-layout=mobile][data-orientation=landscape] #debug-btn,body[data-layout=mobile][data-orientation=landscape] #settings-btn,body[data-layout=mobile][data-orientation=landscape] #audio-btn,body[data-layout=mobile][data-orientation=landscape] #codex-btn,body[data-layout=mobile][data-orientation=landscape] #combat-stats-btn,body[data-layout=mobile][data-orientation=landscape] #letter-stats-btn,body[data-layout=mobile][data-orientation=landscape] #perks-btn,body[data-layout=mobile][data-orientation=landscape] #daily-hud-badge{width:auto;min-width:var(--touch-target-min);min-height:var(--touch-target-min);padding:var(--touch-target-padding-y) var(--touch-target-padding-x);font-size:var(--hud-font-size);pointer-events:auto}body[data-layout=mobile][data-orientation=landscape] #wand{z-index:auto;width:min(1170px,97vw);border-radius:8px;align-self:center;block-size:auto;max-block-size:min(29dvh,112px);padding:4px 6px;font-size:9px;display:block;position:static;inset:auto;overflow:hidden auto}body[data-layout=mobile][data-orientation=landscape] #wand.closed{transform:scale(.96)}body[data-layout=mobile][data-orientation=landscape] #wand.open{transform:scale(1)}body[data-layout=mobile][data-orientation=landscape] #wand-header{align-items:center;gap:5px;margin-bottom:3px;display:flex}body[data-layout=mobile][data-orientation=landscape] #wand-header>.lbl,body[data-layout=mobile][data-orientation=landscape] #wand-summon-name,body[data-layout=mobile][data-orientation=landscape] #input-hint{display:inline}body[data-layout=mobile][data-orientation=landscape] #wand-mode{text-align:start;padding:1px 4px;font-size:8px}body[data-layout=mobile][data-orientation=landscape] #wand-slots{min-block-size:26px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:3px;max-height:none;display:flex;overflow:auto visible}body[data-layout=mobile][data-orientation=landscape] .slot{block-size:25px;min-block-size:25px;inline-size:20px;min-inline-size:20px;font-size:14px}body[data-layout=mobile][data-orientation=landscape] .mobile-spell-input-row{grid-column:auto;gap:4px;margin-top:3px;display:flex}body[data-layout=mobile][data-orientation=landscape] .mobile-spell-input-row .lbl{display:inline}body[data-layout=mobile][data-orientation=landscape] .mobile-spell-input{min-height:24px;padding:3px 5px;font-size:11px}body[data-layout=mobile][data-orientation=landscape] #cooldown-track,body[data-layout=mobile][data-orientation=landscape] #spell-feedback,body[data-layout=mobile][data-orientation=landscape] .spell-details,body[data-layout=mobile][data-orientation=landscape] #spell-suggestions{grid-column:auto}body[data-layout=mobile][data-orientation=landscape] .wand-mobile-actions{grid-template-columns:minmax(120px,1.6fr) minmax(60px,.8fr);gap:4px;margin-top:3px;display:grid}body[data-layout=mobile][data-orientation=landscape] .wand-mobile-actions button{min-block-size:var(--touch-target-min);padding:3px 6px;font-size:9px}body[data-layout=mobile][data-orientation=landscape] #wand-mobile-cast-btn{min-block-size:calc(var(--touch-target-min) + 4px)}body[data-layout=mobile][data-orientation=landscape] .inventory-rail{gap:4px;width:62px;padding:5px;top:64px;bottom:90px}body[data-layout=mobile][data-orientation=landscape] .inventory-rail-left{inset-inline-start:12px}body[data-layout=mobile][data-orientation=landscape] .inventory-rail-right{inset-inline-end:12px}body[data-layout=mobile][data-orientation=landscape] .inventory-rail-title{letter-spacing:.06em;font-size:7px;line-height:1.15}body[data-layout=mobile][data-orientation=landscape] .inventory-rail .chip{min-block-size:16px;inline-size:100%;min-inline-size:0;padding:1px 3px;font-size:8px;line-height:1.2}body[data-layout=mobile][data-orientation=landscape] .inventory-rail .chip-tok{font-size:10px}body[data-layout] #vitals-wrap{gap:3px;display:grid}body[data-layout] #vitals-wrap #hp-wrap,body[data-layout] #vitals-wrap #mana-wrap{min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;gap:0;margin:0;padding:0;overflow:visible}body[data-layout=mobile][data-orientation=landscape] #vitals-wrap{gap:2px;padding:3px 5px}body[data-layout=mobile][data-orientation=landscape] #vitals-wrap .bar{width:60px}body[data-layout=mobile][data-orientation=landscape] #vitals-wrap,body[data-layout=mobile][data-orientation=landscape] #xp-wrap,body[data-layout=mobile][data-orientation=landscape] #depth-wrap,body[data-layout=mobile][data-orientation=landscape] #gold-wrap{align-items:center;gap:6px;block-size:42px;min-block-size:42px;padding:5px 8px;font-size:12px}body[data-layout=mobile][data-orientation=landscape] #vitals-wrap{align-content:center;gap:3px}body[data-layout=mobile][data-orientation=landscape] #depth-wrap,body[data-layout=mobile][data-orientation=landscape] #gold-wrap{min-block-size:42px}body[data-layout=mobile][data-orientation=landscape] #timer-wrap{align-items:center;block-size:42px;min-block-size:42px;padding:5px 8px;font-size:12px}body[data-layout=mobile][data-orientation=landscape] #debug-btn,body[data-layout=mobile][data-orientation=landscape] #settings-btn,body[data-layout=mobile][data-orientation=landscape] #audio-btn,body[data-layout=mobile][data-orientation=landscape] #codex-btn,body[data-layout=mobile][data-orientation=landscape] #perks-btn{block-size:42px;min-block-size:42px;inline-size:42px;min-inline-size:42px;padding:0;font-size:27px}body[data-layout=mobile][data-orientation=landscape] #hud,body[data-layout=mobile][data-orientation=landscape] .hud{padding:14px}body[data-layout=mobile][data-orientation=landscape] #hud>.row{gap:14px}body[data-layout=mobile][data-orientation=landscape] #vitals-wrap,body[data-layout=mobile][data-orientation=landscape] #xp-wrap,body[data-layout=mobile][data-orientation=landscape] #depth-wrap,body[data-layout=mobile][data-orientation=landscape] #gold-wrap,body[data-layout=mobile][data-orientation=landscape] #timer-wrap{gap:8px;padding:7px 10px;font-size:12px}body[data-layout=mobile][data-orientation=landscape] #vitals-wrap{gap:3px;block-size:59px;min-block-size:59px}body[data-layout=mobile][data-orientation=landscape] #xp-wrap,body[data-layout=mobile][data-orientation=landscape] #depth-wrap,body[data-layout=mobile][data-orientation=landscape] #gold-wrap{block-size:36px;min-block-size:36px}body[data-layout=mobile][data-orientation=landscape] #timer-wrap{block-size:32px;min-block-size:32px}body[data-layout=mobile][data-orientation=landscape] .bar,body[data-layout=mobile][data-orientation=landscape] #vitals-wrap .bar{width:140px;height:20px}body[data-layout=mobile][data-orientation=landscape] #debug-btn,body[data-layout=mobile][data-orientation=landscape] #settings-btn,body[data-layout=mobile][data-orientation=landscape] #audio-btn,body[data-layout=mobile][data-orientation=landscape] #codex-btn,body[data-layout=mobile][data-orientation=landscape] #perks-btn{block-size:44px;min-block-size:44px;inline-size:44px;min-inline-size:44px;padding:0}#vitals-wrap,#xp-wrap,#depth-wrap,#gold-wrap,#timer-wrap{block-size:var(--hud-top-item-height);min-block-size:var(--hud-top-item-height);align-items:center;gap:var(--hud-top-chip-gap);padding:var(--hud-top-padding-y) var(--hud-top-padding-x);font-size:var(--hud-top-font-size)}#vitals-wrap{align-content:center;gap:var(--hud-top-vitals-gap)}#vitals-wrap .bar{width:var(--hud-top-vitals-bar-width);height:var(--hud-top-bar-height)}#xp-wrap .bar{height:var(--hud-top-bar-height);width:var(--hud-top-level-bar-width)!important}#xp-level,#depth-text,#gold-text,#depth-wrap .lbl,#gold-wrap .lbl{font-size:var(--hud-top-value-font-size);line-height:1}#settings-btn,#audio-btn,#codex-btn,#perks-btn,#debug-btn{inline-size:var(--hud-top-icon-button-size);block-size:var(--hud-top-icon-button-size);min-inline-size:var(--hud-top-icon-button-size);min-block-size:var(--hud-top-icon-button-size);padding:0}#hud>.row,body[data-layout=mobile][data-orientation=landscape] #hud>.row{gap:var(--hud-top-gap)}#settings-btn,#audio-btn,#perks-btn,#debug-btn{font-size:var(--hud-top-icon-font-size)}#codex-btn{font-size:var(--hud-top-book-icon-font-size)}body[data-layout=mobile][data-orientation=landscape] #vitals-wrap,body[data-layout=mobile][data-orientation=landscape] #xp-wrap,body[data-layout=mobile][data-orientation=landscape] #depth-wrap,body[data-layout=mobile][data-orientation=landscape] #gold-wrap,body[data-layout=mobile][data-orientation=landscape] #timer-wrap{block-size:var(--hud-top-item-height);min-block-size:var(--hud-top-item-height);gap:var(--hud-top-chip-gap);padding:var(--hud-top-padding-y) var(--hud-top-padding-x);font-size:var(--hud-top-font-size)}body[data-layout=mobile][data-orientation=landscape] #vitals-wrap .bar{width:var(--hud-top-vitals-bar-width);height:var(--hud-top-bar-height)}body[data-layout=mobile][data-orientation=landscape] #vitals-wrap{gap:var(--hud-top-vitals-gap)}body[data-layout=mobile][data-orientation=landscape] #xp-wrap .bar{height:var(--hud-top-bar-height);width:var(--hud-top-level-bar-width)!important}body[data-layout=mobile][data-orientation=landscape] #settings-btn,body[data-layout=mobile][data-orientation=landscape] #audio-btn,body[data-layout=mobile][data-orientation=landscape] #codex-btn,body[data-layout=mobile][data-orientation=landscape] #perks-btn,body[data-layout=mobile][data-orientation=landscape] #debug-btn{inline-size:var(--hud-top-icon-button-size);block-size:var(--hud-top-icon-button-size);min-inline-size:var(--hud-top-icon-button-size);min-block-size:var(--hud-top-icon-button-size);padding:0}body[data-layout=mobile][data-orientation=landscape] #settings-btn,body[data-layout=mobile][data-orientation=landscape] #audio-btn,body[data-layout=mobile][data-orientation=landscape] #perks-btn,body[data-layout=mobile][data-orientation=landscape] #debug-btn{font-size:var(--hud-top-icon-font-size)}body[data-layout=mobile][data-orientation=landscape] #codex-btn{font-size:var(--hud-top-book-icon-font-size)}body[data-layout=mobile] .title-actions #start-btn,body[data-layout=mobile][data-orientation=landscape] .title-actions #start-btn{min-inline-size:7.5rem;min-block-size:var(--touch-target-min);margin-top:0;padding:10px 14px;font-size:.8333rem}body.cvd-deuteranopia,body.theme-deuteranopia{--accent:#f6d55c;--accent-2:#64c2d1;--danger:#d95f02;--mana:#56b4e9;--hp:#e69f00}body.cvd-protanopia,body.theme-protanopia{--accent:#ffd166;--accent-2:#56b4e9;--danger:#cc79a7;--mana:#0072b2;--hp:#e69f00}body.cvd-tritanopia,body.theme-tritanopia{--accent:#f0e442;--accent-2:#009e73;--danger:#d55e00;--mana:#cc79a7;--hp:#d55e00}body.cvd-deuteranopia #game,body.theme-deuteranopia #game{filter:url(#deuteranopia)}body.cvd-protanopia #game,body.theme-protanopia #game{filter:url(#protanopia)}body.cvd-tritanopia #game,body.theme-tritanopia #game{filter:url(#tritanopia)}body.photosensitive-safe.cvd-deuteranopia #game,body.photosensitive-safe.theme-deuteranopia #game{filter:url(#deuteranopia)saturate(.84)contrast(1.02)}body.photosensitive-safe.cvd-protanopia #game,body.photosensitive-safe.theme-protanopia #game{filter:url(#protanopia)saturate(.84)contrast(1.02)}body.photosensitive-safe.cvd-tritanopia #game,body.photosensitive-safe.theme-tritanopia #game{filter:url(#tritanopia)saturate(.84)contrast(1.02)}
