.mode-selector{border:0;border-bottom:1px solid var(--border-premium-glass);min-width:0;color:var(--color-premium-text);flex-wrap:wrap;grid-area:mode;align-items:center;gap:.5rem 1rem;margin:0;padding:0 0 .55rem;display:flex}.mode-selector legend{padding:0 0 .35rem;font-size:.8rem}.mode-selector label{cursor:pointer;align-items:center;gap:.4rem;min-height:2.75rem;display:flex}.mode-selector input{accent-color:#f4d4a2}.mode-selector input:focus-visible{outline:2px solid var(--pixel-focus);outline-offset:3px}.mode-selector .theme-note{flex-basis:100%;margin:0}.theme-note{color:var(--color-premium-muted);font-size:.8rem;line-height:1.5}.night-room-stage[data-phase=ready] .start-screen__panel:has(.mode-selector){grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""mode""controls""best";max-height:calc(100dvh - 5rem);overflow-y:auto}.typing-panel[data-mode=cat-care]{--panel-width:48rem}.theme-result{max-height:calc(100dvh - 8rem);overflow-y:auto}.theme-result h2{margin:0;font-size:1.15rem}.theme-result .theme-best{border-top:1px solid var(--border-premium-glass);padding-top:.5rem}.theme-result .theme-best h3{font-size:.85rem}.theme-result .theme-best .result-stats dd{font-size:1rem}.theme-result>button{min-height:2.75rem}@media (width>=48.0625rem){.night-room-stage[data-phase=ready] .start-screen__panel:has(.mode-selector){grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"mode mode mode""start history achievements""utilities utilities utilities""best best best"}.night-room-stage[data-phase=ready] .start-screen__panel[data-mode=cat-care]{grid-template-columns:minmax(0,1fr);grid-template-areas:"mode""start""utilities""best"}.night-room-stage[data-phase=ready] .start-screen__panel:has(.mode-selector):has(.start-error){grid-template-areas:"mode mode mode""start history achievements""utilities utilities utilities""error error error""best best best"}.night-room-stage[data-phase=ready] .start-screen__panel[data-mode=cat-care]:has(.start-error){grid-template-areas:"mode""start""utilities""error""best"}}.app-shell .theme-result{flex-direction:column;justify-content:flex-start;gap:.75rem;display:flex;container-type:inline-size}.app-shell .theme-result .result-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.app-shell .theme-result .result-stats>div{min-width:0}.app-shell .theme-result>*{flex-shrink:0}.night-room-stage[data-phase=finished] .theme-result{max-height:calc(100dvh - 9rem)}.typing-panel[data-mode=cat-care] .play-screen__prompt,.typing-panel[data-mode=cat-care] .typing-prompt{grid-template-columns:minmax(0,1fr);min-width:0}.app-shell .theme-result .result-stats dd{white-space:nowrap;overflow-wrap:normal;word-break:normal}@container (width<=34em){.app-shell .theme-result .result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=18em){.app-shell .theme-result .result-stats{grid-template-columns:minmax(0,1fr)}}@media (width<=23rem){.night-room-stage:has(.typing-panel[data-mode=cat-care]) .game-hud__top-metrics{box-sizing:border-box;justify-content:space-between;gap:.5rem;width:calc(100vw - 2rem);min-width:0}.night-room-stage:has(.typing-panel[data-mode=cat-care]) .play-screen__controls{gap:.4rem;width:calc(100vw - 2rem);display:flex;top:4rem}.night-room-stage:has(.typing-panel[data-mode=cat-care]) .play-screen__controls button{flex:1 1 0;min-width:0;padding-inline:.3rem;font-size:.7rem}.play-screen__gameplay.typing-panel[data-mode=cat-care]{max-block-size:min(calc(100dvh - 9rem), calc(var(--panel-clear-bottom) - 8rem));top:8rem}}.typing-panel[data-mode=cat-care]{grid-template-columns:minmax(0,1fr)}.typing-panel[data-mode=cat-care] .play-screen__live-stats dl{grid-template-columns:repeat(3,minmax(0,1fr))}.typing-panel[data-mode=cat-care] .play-screen__live-stats dd{overflow-wrap:anywhere}@media (width<=23rem){.night-room-stage:has(.typing-panel[data-mode=cat-care]) .play-screen__controls{box-sizing:border-box;width:calc(50vw - 1.2rem);left:1rem;right:auto}.night-room-stage:has(.typing-panel[data-mode=cat-care]) .music-settings{width:calc(50vw - 1.2rem);top:4rem;right:1rem}.night-room-stage:has(.typing-panel[data-mode=cat-care]) .music-settings__button{gap:.1rem;width:100%;min-width:0;padding-inline:.2rem;font-size:.7rem}}@media (width<=319px){:is(body:has(.app-shell .start-screen__panel .mode-selector),body:has(.app-shell .typing-panel[data-mode=cat-care]),body:has(.app-shell .theme-result)){min-width:0}.night-room-stage[data-phase=ready] .start-screen__panel:has(.mode-selector){padding-inline:clamp(.35rem,4vw,1rem)}.start-screen__panel:has(.mode-selector) .mode-selector label{flex-basis:100%;min-width:0;max-width:100%}.start-screen__panel:has(.mode-selector) .mode-selector label span{overflow-wrap:anywhere;min-width:0}.start-screen__panel:has(.mode-selector) .mode-selector input{flex-shrink:0}.start-screen__panel:has(.mode-selector) .best-record{grid-template-columns:minmax(0,1fr)}.start-screen__panel:has(.mode-selector) .best-record dl{grid-template-columns:minmax(0,1fr)}.start-screen__panel:has(.mode-selector) .start-screen__utilities{min-width:0}}:root{--color-white:#fff;--color-premium-text:#f6eee1;--color-premium-muted:#c6cfde;--color-premium-current:#ffe1a6;--color-premium-error:#ffaaa2;--color-premium-success:#b2dac8;--surface-premium-glass:#060f23d1;--surface-premium-glass-soft:#060f23bd;--border-premium-glass:#efd3a93d;--color-ink:#191725;--color-muted:#35567d;--color-muted-on-dark:#9fb4d0;--color-paper:#fff4dd;--color-room-wall:#24244c;--color-room-fabric:#35567d;--color-lamp-light:#ffe2a1;--color-wood:#714632;--color-wood-dark:#3d2630;--color-frame:#101126;--color-frame-soft:#59606d;--color-cat-coat:#a9afb7;--color-cat-shadow:#59606d;--color-cat-muzzle:#fff4dd;--color-prompt-current:#191725;--color-prompt-pending:#59606d;--color-success:#2f6b59;--color-error:#9f241f;--pixel-focus:#2f7f9c;--color-button-bg:#714632;--color-button-text:#fff4dd;--surface-panel-light:#fff4ddf5;--surface-panel-dark:#101126f5;--shadow-room:0 1.2rem 2.8rem #10112685;--shadow-button:0 .35rem 0 var(--color-wood-dark);--radius-frame:8px;--font-display:Georgia, "Times New Roman", serif;--font-mono:"Courier New", ui-monospace, monospace;--viewport-height:100vh;color:var(--color-ink);background:var(--color-room-wall);font-synthesis:none;text-rendering:optimizelegibility;font-family:Trebuchet MS,Avenir Next,Avenir,ui-sans-serif,system-ui,sans-serif}.analytics-consent{z-index:20;color:#f6eee1;background:#15223b;border-bottom:2px solid #ffe1a6;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem clamp(1rem,4vw,3rem);line-height:1.5;display:flex;position:relative}.analytics-consent p{max-width:56rem;margin:0}.analytics-consent a,.privacy-footer a{color:#ffe1a6}.analytics-consent__actions{flex-wrap:wrap;gap:.5rem;display:flex}.analytics-consent button{color:#fff;cursor:pointer;white-space:nowrap;background:#20304c;border:2px solid #ffe1a6;border-radius:.35rem;min-height:2.75rem;padding:.4rem .9rem}.analytics-consent button:hover{background:#35567d}.analytics-consent button:focus-visible,.analytics-consent a:focus-visible,.privacy-footer a:focus-visible{outline:4px solid var(--pixel-focus);outline-offset:4px}.privacy-footer{color:#f6eee1;text-align:center;background:#0b1020;padding:.8rem 1rem;font-size:.875rem}@media (width<=720px){.analytics-consent{display:block}.analytics-consent__actions{margin-top:.75rem}}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:linear-gradient(180deg, #35567d61 0 36%, transparent 62%), linear-gradient(180deg, transparent 0 67%, #1011268f 67% 100%), repeating-linear-gradient(90deg, #59606d38 0 1px, transparent 1px 5.5rem), var(--color-room-wall);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}@supports (height:100dvh){:root{--viewport-height:100dvh}}button,input{font:inherit}button{min-height:2.75rem}button:focus-visible,input:focus-visible{outline:4px solid var(--pixel-focus);outline-offset:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.game-input-bridge__native-input{opacity:0;width:1px;max-width:1px;height:1px;position:fixed;top:0;left:0}.game-input-bridge>button{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:10;position:fixed}.game-input-bridge:has(.game-input-bridge__native-input:focus-visible):after{z-index:10;border:3px solid var(--pixel-focus);border-radius:var(--radius-frame);background:var(--color-paper);box-shadow:0 .22rem 0 var(--color-frame-soft);color:var(--color-ink);content:"入力中";pointer-events:none;padding:.65rem .85rem;font-weight:800;position:fixed;bottom:1rem;right:1rem}#root,.app-shell{min-height:100vh}.app-shell{padding:max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));place-items:center;display:grid;overflow-x:hidden}.game-frame{width:min(100%,70rem);max-width:100%}.night-room-stage{--scene-layout:desktop;border:3px solid var(--color-frame);border-radius:var(--radius-frame);background:var(--color-room-wall);min-height:min(42rem,100vh - 3rem);box-shadow:var(--shadow-room), inset 0 0 0 3px #fff4dd29;grid-template-columns:minmax(0,1fr);grid-template-areas:"scene";display:grid;position:relative;overflow:hidden}.night-room-stage:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(145deg,#ffe2a11f 0 28%,#0000 47%),linear-gradient(#0000 0 70%,#10112652 70% 100%);position:absolute;inset:0}.night-room-stage>*{z-index:1;min-width:0;position:relative}.scene-plane--background,.scene-plane--midground{position:absolute;inset:0}.room-environment,.room-environment__background,.room-environment__midground,.room-environment__foreground{pointer-events:none;position:absolute;inset:0}.room-environment__background{z-index:0}.room-environment__midground{z-index:1}.room-environment__foreground{z-index:2}.room-environment__layer{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pixelated{image-rendering:pixelated}.room-environment[data-ambient-motion=on] .room-environment__layer--city-lights{animation:11s ease-in-out infinite alternate room-city-lights}.room-environment[data-ambient-motion=on] .room-environment__layer--props{animation:15s ease-in-out infinite alternate room-props}.room-environment[data-ambient-motion=on] .room-environment__layer--lamp-glow{animation:8s ease-in-out infinite alternate room-lamp-glow}@keyframes room-city-lights{to{opacity:.9}}@keyframes room-props{to{transform:translateY(-2px)}}@keyframes room-lamp-glow{to{opacity:.88;transform:translateY(1px)}}.scene-plane--foreground{grid-area:scene}.scene-plane--gameplay,.scene-plane--hud,.scene-plane--controls,.scene-plane--overlay{pointer-events:none;grid-area:scene}.scene-plane--gameplay>*,.scene-plane--hud>*,.scene-plane--controls>*,.scene-plane--overlay>*{pointer-events:auto}.scene-plane--foreground>.cat-stage{height:100%}.cat-stage{background-color:#0000;background-image:linear-gradient(#ffe2a11a 0 58%,#0000 58%),linear-gradient(90deg,#1011261f 0 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,2.25rem 100%,auto;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;grid-area:scene;justify-content:flex-end;align-items:center;min-height:28rem;padding:2rem 1.5rem 8rem;display:flex;position:relative}.cat-stage:before{z-index:2;border:2px solid var(--color-frame);border-radius:var(--radius-frame);background:var(--color-paper);color:var(--color-muted);content:"REST";letter-spacing:0;padding:.35rem .55rem;font-size:.72rem;font-weight:800;position:absolute;top:1rem;left:1rem}.cat-stage:has(.pixel-cat[data-base-state=typing]):before{content:"TYPE"}.cat-stage:has(.pixel-cat[data-expression=surprised]):before{border-color:var(--color-error);color:var(--color-error);content:"MISS"}.cat-stage:has(.pixel-cat[data-base-state=focused]):before{content:"10s"}.cat-stage:has(.pixel-cat[data-celebration=true]):before{border-color:var(--color-success);color:var(--color-success);content:"BEST"}.cat-stage:after{border:3px solid var(--color-wood-dark);border-radius:var(--radius-frame);background:linear-gradient(180deg, #ffffff24, transparent 48%), repeating-linear-gradient(90deg, transparent 0 4.5rem, #5a332533 4.5rem calc(4.5rem + 2px)), var(--color-wood);content:"";width:min(100%,24rem);height:4.25rem;box-shadow:inset 0 .45rem #ffe4a338}.pixel-cat{z-index:1;width:384px;height:384px;margin-bottom:-.75rem;overflow:hidden}.pixel-cat__viewport{transform-origin:0 0;width:96px;height:96px;position:relative;overflow:hidden;transform:scale(4)}.pixel-cat__atlas{image-rendering:pixelated;display:block;position:absolute}.v2-cat{z-index:1;pointer-events:none;width:clamp(11rem,30vw,24rem);margin-bottom:-.75rem}.v2-cat__image{width:100%;height:auto;image-rendering:pixelated;display:block}@keyframes v2-cat-breathe{to{transform:translateY(-3px)}}.pixel-effect{z-index:3;pointer-events:none;position:absolute}.pixel-effect img{max-width:7.5rem;image-rendering:pixelated;display:block}.start-screen,.play-screen,.result-panel{grid-area:scene;min-width:0;padding:2.5rem}.start-screen,.result-panel{flex-direction:column;justify-content:center;gap:1.25rem;display:flex}.start-screen__controls .sound-toggle,.result-panel .sound-toggle,.play-screen .sound-toggle{place-self:start end}.night-room-stage[data-phase=ready] .start-screen__overlay{pointer-events:none}.night-room-stage[data-phase=ready] .scene-plane--controls{z-index:2;align-content:start;justify-self:end;width:min(18rem,48%);display:grid}.start-screen h1,.result-panel h2{color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:3.35rem;font-weight:700;line-height:1}.difficulty-selector{border:2px solid var(--color-frame-soft);border-radius:var(--radius-frame);background:var(--surface-panel-light);gap:.65rem;min-width:0;margin:0;padding:1rem;display:grid}.difficulty-selector legend,.best-record h2,.game-timer dt,.game-stats dt{color:var(--color-muted);letter-spacing:0;font-size:.78rem;font-weight:800;line-height:1.2}.difficulty-selector legend{padding-inline:.35rem}.difficulty-selector label{min-width:0;color:var(--color-ink);cursor:pointer;align-items:center;gap:.65rem;font-weight:800;display:flex}.difficulty-selector input{width:1.15rem;height:1.15rem;accent-color:var(--color-button-bg)}.difficulty-selector input:checked+span{text-decoration:underline;-webkit-text-decoration-color:var(--color-button-bg);text-decoration-color:var(--color-button-bg);text-underline-offset:.22em;text-decoration-thickness:.18em}.best-record{border:2px solid var(--color-frame-soft);border-radius:var(--radius-frame);background:var(--surface-panel-light);padding:1rem}.best-record h2,.best-record p,.best-record dl,.result-stats{margin:0}.best-record p,.start-screen>p,.result-panel__message{color:var(--color-muted);line-height:1.6}.best-record dl,.result-stats,.game-stats dl{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.best-record dl{gap:.75rem}.best-record dt,.result-stats dt{color:var(--color-muted);font-size:.72rem;font-weight:800}.best-record dd,.result-stats dd{color:var(--color-ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:1.45rem;font-weight:700}.start-screen>p{border-left:4px solid var(--pixel-focus);margin:0;padding-left:.8rem}.start-screen__controls>button,.retry-button,.result-panel>button,.sound-toggle{border:2px solid var(--color-wood-dark);border-radius:var(--radius-frame);background:var(--color-button-bg);box-shadow:var(--shadow-button);color:var(--color-button-text);cursor:pointer;letter-spacing:0;padding:.85rem 1.15rem;font-weight:900;line-height:1.15;transition:transform .14s,box-shadow .14s,background-color .14s}.start-screen__controls>button,.retry-button{align-self:flex-start;min-width:10.5rem}.result-panel>button:not(.retry-button),.sound-toggle{background:var(--color-paper);box-shadow:0 .22rem 0 var(--color-frame-soft);color:var(--color-ink)}button:hover{transform:translateY(-2px)}button:active{box-shadow:none;transform:translateY(.2rem)}.play-screen{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"hud sound""prompt prompt""milestone milestone";align-content:center;gap:1.25rem;display:grid}.play-screen__gameplay{align-content:end;justify-items:center;gap:1.25rem;min-height:100%;padding:2.5rem;display:grid}.play-screen__hud{pointer-events:none;min-height:100%;position:relative}.play-screen__hud .game-hud{display:contents}.play-screen__hud .game-timer,.play-screen__hud .game-stats{border:3px solid var(--color-frame);border-radius:var(--radius-frame);background:var(--surface-panel-dark);position:absolute;box-shadow:inset 0 -.3rem #ffb34f3d}.play-screen__hud .game-timer dt,.play-screen__hud .game-stats dt{color:var(--color-muted-on-dark)}.play-screen__hud .game-timer{top:1.5rem;left:50%;transform:translate(-50%)}.play-screen__hud .game-stats{top:6.5rem;left:1.5rem}.play-screen__controls,.start-screen__controls{justify-items:start;gap:1rem;padding:1.5rem;display:grid}.play-screen__controls{justify-items:end}.play-screen__difficulty{border:2px solid var(--color-frame-soft);border-radius:var(--radius-frame);background:var(--surface-panel-dark);color:var(--color-muted-on-dark);margin:0;padding:.45rem .65rem;font-size:.72rem;font-weight:800}.play-screen__prompt{border:3px solid var(--color-frame);border-radius:var(--radius-frame);background:var(--color-paper);width:min(100%,36rem);min-width:0;padding:1.4rem;box-shadow:inset 0 -.35rem #ffb34f47}.typing-prompt{overflow-wrap:anywhere;text-align:center;gap:.45rem;max-width:100%;margin:0;display:grid}.typing-prompt__text,.typing-prompt__reading,.typing-prompt__guide{margin:0}.typing-prompt__text{color:var(--color-prompt-current);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;line-height:1.25}.typing-prompt__reading{color:var(--color-muted);font-size:clamp(.85rem,1.5vw,1.1rem);font-weight:700;line-height:1.25}.typing-prompt__guide{color:var(--color-prompt-pending);font-family:var(--font-mono);letter-spacing:0;flex-wrap:wrap;justify-content:center;gap:.08em;font-size:clamp(4rem,5vw,4.75rem);font-weight:800;line-height:1.45;display:flex}.typing-prompt__character{min-width:.62em;color:var(--color-prompt-pending);text-align:center;border-bottom:.11em solid #0000;justify-content:center;padding:0 .02em .38em;transition:color .1s,transform .1s,border-color .1s;display:inline-flex;position:relative}.typing-prompt__character--completed{color:var(--color-success)}.typing-prompt__character--completed:before{width:.28em;height:.12em;color:var(--color-success);content:"";border-bottom:.06em solid;border-left:.06em solid;position:absolute;bottom:.05em;transform:rotate(-45deg)}.typing-prompt__character--current{border-bottom:.11em solid var(--color-button-bg);color:var(--color-prompt-current)}.typing-prompt__character--current:after{border:1px solid var(--color-frame-soft);border-radius:var(--radius-frame);background:var(--color-paper);color:var(--color-muted);content:"現在";white-space:nowrap;padding:.18rem .28rem;font-family:Trebuchet MS,Avenir Next,Avenir,ui-sans-serif,system-ui,sans-serif;font-size:.7rem;font-weight:800;line-height:1;position:absolute;bottom:-1.08rem;right:50%;transform:translate(50%)}.typing-prompt__character--error{border-bottom-color:var(--color-error);color:var(--color-error);-webkit-text-decoration:underline wavy var(--color-error);text-decoration:underline wavy var(--color-error);text-underline-offset:.2em;text-decoration-thickness:.08em;transform:translateY(-.08em)}.typing-prompt__character--error:after{border-color:var(--color-error);color:var(--color-error);content:"ミス"}.game-hud{border:3px solid var(--color-wood-dark);border-radius:var(--radius-frame);background:var(--surface-panel-light);grid-area:hud;grid-template-columns:auto minmax(0,1fr);display:grid;overflow:hidden;box-shadow:inset 0 -.3rem #c8a98457}.game-hud .game-timer,.game-hud .game-stats{min-width:0;padding:.65rem .85rem}.game-timer dl,.game-timer dd,.game-stats dl,.game-stats dd{margin:0}.game-timer dl>div{align-items:baseline;gap:.65rem;min-width:0;display:flex}.game-timer dd{color:var(--color-lamp-light);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.play-screen .sound-toggle{grid-area:sound}.play-screen__milestone{border:2px dashed var(--color-success);border-radius:var(--radius-frame);color:var(--color-success);grid-area:milestone;margin:0;padding:.65rem .85rem;font-weight:900}.game-stats dl{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.game-stats dl>div,.result-stats>div{min-width:0;padding:.15rem .65rem}.game-stats dl>div+div,.result-stats>div:nth-child(2n){border-left:2px solid var(--color-frame-soft)}.game-stats dt{overflow-wrap:anywhere}.game-stats dd{color:var(--color-paper);font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:1.55rem;font-weight:700}.result-panel h2{font-size:3rem}.result-panel{border:3px solid var(--color-frame);border-radius:var(--radius-frame);background:var(--surface-panel-dark);place-self:center;width:min(100% - 3rem,38rem);box-shadow:0 .55rem #3d2630e0}.result-panel h2,.result-panel__message,.result-panel .result-stats dd{color:var(--color-paper)}.result-panel .result-stats{border-color:var(--color-frame-soft);background:#fff4dd1a}.result-panel .result-stats dt{color:var(--color-lamp-light)}.result-panel__message{margin:0}.result-panel__metrics{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.result-panel__celebration{place-items:center;min-width:7.5rem;display:grid}.result-panel__celebration .pixel-effect{position:static}@media (width>=48.0625rem){.night-room-stage[data-phase=ready] .start-screen__overlay{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr) minmax(14rem,18rem);gap:1.25rem;height:100%;padding:1.5rem;display:grid}.night-room-stage[data-phase=ready] .start-screen h1{max-width:18rem;color:var(--color-paper);text-align:center;text-shadow:3px 3px 0 var(--color-frame);grid-area:1/2;justify-self:center}.night-room-stage[data-phase=ready] .best-record{grid-area:2/1;align-self:start}.night-room-stage[data-phase=ready] .start-screen__overlay>p{border:2px solid var(--color-frame-soft);border-radius:var(--radius-frame);background:var(--surface-panel-dark);color:var(--color-paper);grid-area:3/2;justify-self:center;padding:.65rem .85rem}.scene-plane--hud{grid-area:scene;position:relative;inset:auto}.night-room-stage[data-phase=finished] .scene-plane--overlay{grid-area:auto;position:absolute;inset:0}.scene-plane--hud .play-screen__hud{width:100%;height:100%}.play-screen__hud .game-stats{top:5.75rem}.play-screen__hud .game-stats dl{grid-template-columns:1fr}.play-screen__hud .game-stats dl>div+div{border-top:2px solid var(--color-frame-soft);border-left:0}.night-room-stage[data-phase=finished] .scene-plane--overlay{place-items:center;display:grid}.night-room-stage[data-phase=finished] .scene-plane--overlay>.result-panel{grid-area:auto}}.result-stats{border:2px solid var(--color-frame-soft);border-radius:var(--radius-frame);background:#fff8ecc7;overflow:hidden}.result-stats>div:nth-child(n+3){border-top:2px solid var(--color-frame-soft)}.result-stats dd{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.result-stats dd span+span{border:2px solid var(--color-success);border-radius:var(--radius-frame);color:var(--color-success);padding:.18rem .28rem;font-family:Trebuchet MS,Avenir Next,Avenir,ui-sans-serif,system-ui,sans-serif;font-size:.72rem;font-weight:900;line-height:1}.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}@media (width<=48rem){.night-room-stage[data-phase=ready] .start-screen__achievements-button{display:none}body{overflow-x:hidden}.app-shell{min-height:var(--viewport-height);padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));display:block;overflow-x:hidden}.game-frame{width:100%;max-width:100%}.night-room-stage{--scene-layout:mobile;max-width:100%;min-height:0;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}.night-room-stage[data-phase=playing]{min-height:min(var(--viewport-height), 52rem)}.scene-plane--background,.scene-plane--midground,.scene-plane--overlay{position:absolute;inset:0}.scene-plane--foreground,.scene-plane--gameplay,.scene-plane--hud,.scene-plane--controls{width:100%}.scene-plane--foreground{order:1}.scene-plane--gameplay{order:2}.scene-plane--hud{order:3}.scene-plane--controls{order:4}.room-environment__layer--props,.room-environment__layer--city-lights{display:none}.cat-stage{border-right:0;border-bottom:3px solid var(--color-frame);min-height:10.75rem;padding:1.1rem .85rem 1rem}.pixel-cat{width:144px;height:144px}.pixel-cat__viewport{transform:scale(1.5)}.v2-cat{width:min(66vw,18rem)}.cat-stage:after{width:min(100%,15rem);height:2.7rem}.start-screen,.play-screen,.result-panel{padding:1rem}.start-screen h1{font-size:2.45rem}.night-room-stage[data-phase=ready] .start-screen__overlay{padding-bottom:15rem;padding-right:1rem}.night-room-stage[data-phase=ready] .scene-plane--controls{align-content:end;width:100%}.start-screen>p{display:block}.play-screen{grid-template-columns:1fr;grid-template-areas:"hud""sound""prompt""milestone";align-content:start}.play-screen .sound-toggle{justify-self:start}.play-screen__gameplay,.play-screen__hud,.play-screen__controls{min-height:0;padding:.75rem 1rem}.play-screen__gameplay{align-content:start}.play-screen__hud .game-timer,.play-screen__hud .game-stats{width:100%;position:static;transform:none}.play-screen__hud .game-timer{border-bottom:2px solid var(--color-frame-soft)}.play-screen__hud .game-stats{border-top:0}.play-screen__hud .game-stats dl{grid-template-columns:repeat(2,minmax(0,1fr))}.play-screen__hud .game-stats dl>div:nth-child(odd){border-left:0}.play-screen__hud .game-stats dl>div:nth-child(n+3){border-top:2px solid var(--color-frame-soft)}.play-screen__prompt{padding:1rem .8rem 1.35rem}.typing-prompt__guide{font-size:clamp(2rem,10vw,2.5rem);line-height:1.35}.game-hud{grid-template-columns:1fr}.game-hud .game-timer{border-bottom:2px solid var(--color-frame-soft)}.game-input-bridge>button{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom))}.game-input-bridge:has(.game-input-bridge__native-input:focus-visible):after{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom))}.game-stats dl,.best-record dl,.result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=23rem){.app-shell{padding:.5rem}.start-screen,.play-screen,.result-panel{padding:.85rem}.typing-prompt__guide{font-size:2.1rem}.game-stats dl,.best-record dl,.result-stats{grid-template-columns:1fr}.game-stats dl>div+div,.result-stats>div:nth-child(2n){border-left:0;border-top:2px solid var(--color-frame-soft)}}.app-shell{color:var(--color-premium-text);padding:0;display:block}.desktop-brand-logo{z-index:6;top:max(1.5rem, env(safe-area-inset-top));left:max(1.5rem, env(safe-area-inset-left));pointer-events:none;width:min(17.5rem,28vw);height:auto;position:fixed}@media (width<=48.0624rem){.desktop-brand-logo{display:none}}.night-room-stage{height:var(--viewport-height);min-height:42rem;box-shadow:none;isolation:isolate;border:0;border-radius:0;display:block}.night-room-stage>.scene-plane{pointer-events:none;width:100%;position:absolute;inset:0}.scene-plane--background{z-index:0}.scene-plane--midground{z-index:1}.scene-plane--foreground{z-index:2}.room-environment__layer{object-position:50% 50%;image-rendering:auto}.v2-cat{width:min(38vw,31rem);margin:0;position:absolute;bottom:23%;left:58%;translate:-50%}.v2-cat__image{image-rendering:auto}.v2-cat[data-motion=animated]{animation:none}.v2-cat[data-cat-asset=miss]{filter:drop-shadow(0 0 5px #c75e541f)}.v2-cat[data-cat-asset^=typing]{filter:drop-shadow(0 0 4px #f4c0711a)}.typing-panel,.result-panel,.start-screen__panel,.game-hud__top-metrics,.play-screen__controls{border:1px solid var(--border-premium-glass);background:linear-gradient(135deg, #ffdda60d, transparent 42%), var(--surface-premium-glass);-webkit-backdrop-filter:blur(9px)saturate(108%);backdrop-filter:blur(9px)saturate(108%);border-radius:14px;box-shadow:inset 0 1px #ffedcf0d,0 9px 32px #0000002e,0 0 20px #e5a7560a}.app-shell button{color:var(--color-premium-text);box-shadow:none;background:#283347;border:1px solid #e8ca9a61;border-radius:8px;min-height:2.75rem;padding:.6rem 1rem;font-weight:700;transform:none}.app-shell button:hover{background:#36465e;border-color:#e8c99c}.app-shell button:focus-visible,.app-shell input:focus-visible{box-shadow:0 0 0 2px var(--color-paper)}.app-shell .start-screen__start-button,.app-shell .retry-button{color:var(--color-paper);background:#714632}.app-shell .sound-toggle{font-size:.72rem}.night-room-stage[data-phase=ready] .scene-plane--controls{z-index:4;width:100%;display:block}.night-room-stage[data-phase=ready] .scene-plane--overlay{z-index:4}.night-room-stage[data-phase=ready] .start-screen__overlay{pointer-events:auto;grid-template-columns:minmax(12rem,.8fr) minmax(29rem,1.4fr);grid-template-areas:"intro controls""best best";align-items:center;gap:.8rem 1.6rem;width:min(61rem,100% - 3rem);height:auto;min-height:0;padding:1.05rem 1.35rem .9rem;display:grid;position:absolute;bottom:2rem;left:50%;translate:-50%}.night-room-stage[data-phase=ready] .start-screen h1{max-width:none;color:var(--color-premium-text);text-align:left;text-shadow:none;margin:0 0 .45rem;font-family:inherit;font-size:1.7rem;font-weight:600}.start-screen__intro>p{color:var(--color-premium-muted);background:0 0;border:0;margin:0;padding:0;font-size:.75rem;line-height:1.45}.best-record{background:0 0;border:0;border-top:1px solid #efd3a91f;grid-area:best;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem 1rem;padding:.65rem 0 0;display:grid}.best-record p,.best-record h2{color:var(--color-premium-muted);letter-spacing:.06em;margin:0;font-size:.64rem}.best-record dt{color:var(--color-premium-muted);font-size:.58rem}.start-screen__controls{grid-area:controls;grid-template-columns:minmax(10.5rem,.8fr) minmax(18rem,1.4fr);place-items:center stretch;gap:.7rem 1rem;width:auto;min-height:0;padding:0;display:grid;position:static}.difficulty-selector label{color:var(--color-premium-text);gap:.3rem;min-height:1.9rem;font-size:.7rem}.difficulty-selector input:checked+span{-webkit-text-decoration-color:var(--color-premium-current);text-decoration-color:var(--color-premium-current)}.start-screen__controls>.start-screen__start-button{letter-spacing:.11em;background:linear-gradient(#ffe0b114,#0000),#805039;border-color:#f8ca867a;min-width:0;min-height:3.2rem;font-size:.84rem;box-shadow:0 6px 20px #28130d3d}.start-error{color:var(--color-premium-error);grid-column:1/-1;margin:0}.play-screen__gameplay{text-align:center;background:linear-gradient(135deg, #ffdda60a, transparent 42%), var(--surface-premium-glass-soft);gap:.9rem;width:min(42rem,100% - 4rem);min-height:0;padding:1rem 2rem;position:absolute;bottom:2rem;left:50%;translate:-50%}.typing-prompt__text{color:var(--color-premium-text);text-shadow:0 1px 4px #00000094}.typing-prompt__reading{color:var(--color-premium-muted);text-shadow:0 1px 4px #00000094}.typing-prompt__guide{justify-content:center;font-size:clamp(2rem,3.2vw,3rem);font-weight:700;line-height:1.25}.typing-prompt__character{color:var(--color-premium-muted);padding-bottom:.25em}.typing-prompt__character--completed,.typing-prompt__character--completed:before{color:var(--color-premium-success)}.typing-prompt__character--current{color:var(--color-premium-current);border-bottom-color:var(--color-premium-current)}.typing-prompt__character--current:after{content:none;color:var(--color-premium-current);background:0 0;border:0;padding:0;font-size:.6rem;display:none;bottom:-.85rem}.typing-prompt__character--error,.typing-prompt__character--error:after{color:var(--color-premium-error);border-color:var(--color-premium-error);-webkit-text-decoration-color:var(--color-premium-error);text-decoration-color:var(--color-premium-error)}.play-screen__live-stats{width:100%}.play-screen__live-stats dl{grid-template-columns:repeat(3,1fr);gap:1rem;margin:0;display:grid}.play-screen__live-stats dt,.game-hud__label,.game-hud__score dt{color:var(--color-premium-muted);letter-spacing:.12em;font-size:.65rem}.play-screen__live-stats dd{font-variant-numeric:tabular-nums;margin:.3rem 0 0;font-size:1rem}.play-screen__milestone{color:var(--color-premium-current);border:0;margin:0;padding:0;font-size:.68rem;position:absolute;top:.6rem;right:1rem}.game-hud__top-metrics{background:linear-gradient(135deg,#ffdda60d,#0000 52%),#081121bd;gap:2rem;min-width:11rem;padding:.68rem 1rem;display:flex;position:absolute;top:1.5rem;left:1.5rem}.game-hud__time{gap:.2rem;display:grid;position:relative}.game-hud__time .game-timer dd{display:grid}.game-hud__time .game-timer dd:before{content:"60s";visibility:hidden;grid-area:1/1}.game-hud__time .game-timer time{grid-area:1/1}.game-hud__time .game-hud__label,.game-hud__time:after{transition-property:none}.game-hud__time:after{content:"";background:var(--color-premium-text);opacity:0;pointer-events:none;width:1.5rem;height:1px;position:absolute;bottom:-.3rem;left:0}.game-hud__time[data-final-countdown=true]:after{opacity:1}.game-hud__time[data-final-countdown=true] .game-hud__label{color:var(--color-premium-text)}.play-screen__hud .game-timer{box-shadow:none;background:0 0;border:0;padding:0;position:static;transform:none}.game-timer dd{color:var(--color-premium-current);font-family:inherit;font-size:1.5rem}.game-hud__score{margin:0}.game-hud__score dd{font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-size:1.5rem}.play-screen__controls{align-items:center;justify-items:initial;background:#081121a8;border-radius:10px;flex-direction:row;gap:.35rem;padding:.3rem;display:flex;position:absolute;top:1.5rem;bottom:auto;right:1.5rem}.play-screen__difficulty{color:var(--color-premium-muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;margin:0;padding:.25rem .4rem;font-size:.6rem}.night-room-stage[data-phase=finished] .scene-plane--overlay{display:block}.result-panel{grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1rem;width:min(52rem,100% - 3rem);padding:1.1rem 1.5rem;display:grid;position:absolute;bottom:1.5rem;left:50%;translate:-50%}.result-panel__header{grid-column:1/-1;justify-content:flex-start;align-items:center;gap:1rem;display:flex}.result-panel h2{margin:0;font-family:inherit;font-size:1.4rem;font-weight:600}.result-panel__message{color:var(--color-premium-muted);grid-column:1/-1;margin:.2rem 0 .8rem;font-size:.8rem}.result-panel__metrics{display:block}.result-panel .result-stats{background:0 0;border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;display:grid}.result-stats>div,.result-stats>div:nth-child(n){border:0;padding:0}.result-stats>.result-stats__item--new{background:linear-gradient(135deg,#efb15b1f,#0000 78%);border-radius:8px;margin:0;padding:.35rem .45rem;animation:.72s ease-out both result-new-best;box-shadow:inset 0 0 0 1px #f4c07121}.result-panel .result-stats dt{color:var(--color-premium-muted);letter-spacing:.08em;font-size:.65rem}.result-panel .result-stats dd{font-family:inherit;font-size:1.3rem}.result-stats dd span+span{color:var(--color-premium-current);background:#92582b2e;border:1px solid #f4c0716b;padding:.12rem .2rem;font-size:.58rem;box-shadow:0 0 12px #efb15b1f}.result-panel__actions{grid-area:3/2;justify-content:center;align-items:end;gap:.75rem;margin:0;display:flex}.result-panel__actions button{letter-spacing:.08em;min-width:7rem;min-height:2.75rem;font-size:.75rem}.result-panel__celebration{display:none}.game-input-bridge:has(.game-input-bridge__native-input:focus-visible):after{content:none;display:none}@keyframes result-new-best{0%{background-color:#efb15b21;box-shadow:inset 0 0 0 1px #f4c07133,0 0 18px #efb15b26}}@media (width<=48rem){.app-shell{padding:0}.night-room-stage,.night-room-stage[data-phase=playing]{--scene-layout:mobile;min-height:500px;height:var(--viewport-height)}.room-environment__layer{object-position:54% 50%;height:120%;top:-20%}.v2-cat{width:min(86vw,23rem);bottom:32%;left:51%}.night-room-stage[data-phase=ready] .start-screen__overlay{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""controls""best";gap:.65rem;width:calc(100% - 2rem);min-height:0;padding:.85rem 1rem .75rem;bottom:1rem;left:50%;translate:-50%}.night-room-stage[data-phase=ready] .start-screen h1{margin-bottom:.3rem;font-size:1.3rem}.start-screen__controls{grid-template-columns:minmax(0,1fr);gap:.5rem;width:100%;padding:0}.difficulty-selector label{min-height:2.75rem}.start-screen__utilities{justify-content:space-between;align-items:end}.difficulty-selector{justify-content:flex-start;gap:.5rem}.best-record{grid-template-columns:auto minmax(0,1fr);gap:.5rem .75rem;padding-top:.5rem}.play-screen__gameplay{gap:.6rem;width:calc(100% - 2rem);padding:.8rem 1rem;bottom:4.75rem}.typing-prompt__guide{font-size:2rem}.play-screen__live-stats dl{gap:.4rem}.scene-plane--hud .play-screen__hud{padding:0}.game-hud__top-metrics{top:max(1rem, env(safe-area-inset-top));gap:1.5rem;min-width:10rem;padding:.5rem .75rem;left:1rem}.play-screen__controls{top:max(1rem, env(safe-area-inset-top));bottom:auto;left:auto;right:1rem}.play-screen__difficulty{display:none}.result-panel{width:calc(100% - 2rem);padding:.85rem 1rem;display:block;bottom:1rem}.result-panel h2{font-size:1.12rem}.result-panel__header{gap:.5rem}.result-panel__message{font-size:.7rem}.result-panel .result-stats{gap:.5rem}.result-panel .result-stats dt{letter-spacing:0;font-size:.56rem}.result-panel .result-stats dd{font-size:1.05rem}.result-panel__actions{margin-top:.75rem}}@media (width<=48rem) and (height<=600px){.night-room-stage,.night-room-stage[data-phase=playing]{min-height:0}.v2-cat{width:min(46vw,30vh);bottom:51%}.room-environment__layer{object-position:54% 100%;height:165%;top:-65%}.night-room-stage[data-phase=ready] .start-screen__overlay{gap:.4rem;padding:.55rem .8rem;bottom:.5rem}.start-screen__intro>p{display:none}.start-screen__controls{gap:.35rem;padding:0}.start-screen__controls>.start-screen__start-button{min-height:2.75rem;padding-block:.55rem}.start-screen__utilities{align-items:center}.best-record dl{gap:.4rem}.play-screen__gameplay{padding:.6rem 1rem;bottom:4.4rem}.typing-prompt__guide{font-size:1.8rem}.play-screen__live-stats dd{font-size:.9rem}.result-panel{padding:.65rem 1rem}}@media (prefers-reduced-motion:reduce){.room-environment__layer--city-lights,.room-environment__layer--props,.room-environment__layer--lamp-glow{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.result-stats>.result-stats__item--new{animation:none}}.app-shell{min-height:var(--viewport-height);color:var(--color-premium-text);background:#0b1020;padding:0;display:block}.game-frame{width:100%}.night-room-stage{--scene-camera:desktop;width:100%;height:var(--viewport-height);min-height:42rem;box-shadow:none;isolation:isolate;background:#0b1020;border:0;border-radius:0;display:block;position:relative;overflow:hidden}.night-room-stage:before,.cat-stage:before,.cat-stage:after{display:none}.night-room-stage>.scene-plane{pointer-events:none;width:100%;min-width:0;position:absolute;inset:0}.scene-plane--background{z-index:0;overflow:hidden}.scene-plane--midground{z-index:1;overflow:hidden}.scene-plane--foreground{z-index:2;overflow:hidden}.scene-plane--gameplay,.scene-plane--hud{z-index:3}.scene-plane--controls,.scene-plane--overlay{z-index:4}.scene-plane--gameplay>*,.scene-plane--controls>*,.scene-plane--overlay>*{pointer-events:auto}.room-environment,.v2-cat{width:max(100%, calc(var(--viewport-height) * 1.7779));aspect-ratio:1672/941;pointer-events:none;position:absolute;top:50%;left:50%;translate:-50% -50%}.room-environment__art,.room-environment__layer{width:100%;height:100%;display:block;position:absolute;inset:0}.room-environment__layer{object-fit:fill;image-rendering:pixelated}.cat-stage{pointer-events:none;background:0 0;border:0;min-height:0;padding:0;position:absolute;inset:0}.v2-cat{z-index:1;margin:0;overflow:visible}.v2-cat__subject-envelope{width:39.3541%;height:59.5112%;position:absolute;top:23.1668%;left:46.6507%}.v2-sprite,.v2-cat__desk-occlusion{position:absolute;overflow:hidden}.v2-sprite__sheet,.v2-cat__desk-occlusion img{max-width:none;display:block;position:absolute;top:0;left:0}.v2-cat__body{z-index:10;width:39.8923%;height:72.3698%;top:22.9543%;left:36.6627%}.v2-cat__body .v2-sprite__sheet{width:300%;height:100%}.v2-cat__body[data-frame=base] .v2-sprite__sheet{transform:translate(0)}.v2-cat__body[data-frame=miss] .v2-sprite__sheet{transform:translate(-33.3333%)}.v2-cat__body[data-frame=finished] .v2-sprite__sheet{transform:translate(-66.6667%)}.v2-cat__paw{width:10.6459%;height:13.8151%;top:53.3475%;left:65.0718%}.v2-cat__paw--left{z-index:20}.v2-cat__paw--right{z-index:21}.v2-cat__paw .v2-sprite__sheet{width:300%;height:200%}.v2-cat__paw[data-frame$=rest] .v2-sprite__sheet{transform:translate(0)}.v2-cat__paw[data-frame$=down] .v2-sprite__sheet{transform:translate(-33.3333%)}.v2-cat__paw[data-frame$=release] .v2-sprite__sheet{transform:translate(-66.6667%)}.v2-cat__paw--right .v2-sprite__sheet{margin-top:-73.0337%}.v2-cat__desk-occlusion{z-index:30;width:13.9354%;height:3.8257%;top:62.168%;left:67.7033%}.v2-cat__desk-occlusion img{width:100%;height:100%}.v2-cat[data-motion=animated],.v2-cat[data-cat-asset=miss],.v2-cat[data-cat-asset^=typing]{filter:none;animation:none}.pixel-effect{display:none}.night-room-stage[data-phase=ready] .start-screen__overlay,.play-screen__gameplay,.result-panel{width:min(48rem,100% - 4rem);left:50%;right:auto;translate:-50%}.night-room-stage[data-phase=ready] .start-screen__overlay{grid-template-columns:12rem minmax(0,1fr);grid-template-areas:"intro controls""best best";align-items:center;gap:.75rem 1rem;width:min(48rem,100% - 4rem);min-height:0;padding:1rem 1.2rem;display:grid;position:absolute;bottom:2rem}.start-screen__intro{grid-area:intro}.start-screen__controls{grid-area:controls}.best-record{grid-area:best}.night-room-stage[data-phase=ready] .start-screen h1{color:var(--color-premium-text);text-align:left;text-shadow:none;margin:0 0 .35rem;font-family:inherit;font-size:1.55rem;font-weight:600;line-height:1.1}.start-screen__intro>p{color:var(--color-premium-muted);border:0;margin:0;padding:0;font-size:.75rem}.start-screen__controls{grid-template-columns:minmax(0,1fr);align-items:center;gap:.55rem;width:auto;min-height:0;padding:0;display:grid;position:static}.start-screen__utilities{justify-content:flex-end;align-items:end;gap:.5rem;display:flex}.difficulty-selector{background:0 0;border:0;flex:1;justify-content:flex-end;gap:.5rem;padding:0;display:flex}.difficulty-selector legend{color:var(--color-premium-muted);margin-bottom:.25rem;padding:0;font-size:.62rem}.difficulty-selector label{min-height:2.75rem;color:var(--color-premium-text);white-space:nowrap;flex:none;gap:.25rem;font-size:.7rem}.difficulty-selector input{accent-color:#e9c38b;width:.9rem;height:.9rem;margin:0}.best-record{background:0 0;border:0;border-top:1px solid #efd3a91f;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem .75rem;padding:.6rem 0 0;display:grid}.best-record p,.best-record h2,.best-record dt{color:var(--color-premium-muted);font-size:.6rem}.best-record dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.best-record dd{color:var(--color-premium-text);font-family:inherit;font-size:.8rem}.play-screen__gameplay{text-align:left;gap:.65rem;min-height:0;padding:.9rem 1.25rem;display:grid;position:absolute;bottom:2rem}.play-screen__prompt{width:100%;box-shadow:none;background:0 0;border:0;padding:0 0 .55rem}.typing-prompt{text-align:left}.typing-prompt__guide{justify-content:flex-start;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.2}.play-screen__live-stats dl{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.play-screen__live-stats dt,.game-hud__label,.game-hud__score dt{color:var(--color-premium-muted);font-size:.65rem}.play-screen__live-stats dd{margin:.2rem 0 0;font-size:.95rem}.game-hud__top-metrics{gap:1.5rem;min-width:11rem;padding:.6rem .9rem;display:flex;position:absolute;top:1.5rem;left:1.5rem}.play-screen__hud .game-timer,.play-screen__hud .game-stats{box-shadow:none;background:0 0;border:0;padding:0;position:static}.game-timer dt{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.game-timer dd,.game-hud__score dd{color:var(--color-premium-current);margin:.15rem 0 0;font-family:inherit;font-size:1.4rem}.play-screen__controls{flex-direction:row;align-items:center;gap:.35rem;padding:.3rem;display:flex;position:absolute;inset:1.5rem 1.5rem auto auto}.play-screen__difficulty{color:var(--color-premium-muted);white-space:nowrap;background:0 0;border:0;margin:0;padding:.25rem .4rem;font-size:.6rem}.result-panel{grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1rem;padding:1rem 1.25rem;display:grid;position:absolute;bottom:2rem}.result-panel__header,.result-panel__message{grid-column:1/-1}.result-panel__actions{grid-area:3/2}@media (width>=192rem) and (height>=100rem){.night-room-stage[data-phase=ready] .start-screen__overlay,.play-screen__gameplay,.result-panel{transform-origin:bottom;scale:1.5}.game-hud__top-metrics{transform-origin:0 0;scale:1.5}.play-screen__controls{transform-origin:100% 0;scale:1.5}}@media (width>=48.0625rem){.night-room-stage[data-phase=ready] .start-screen__overlay,.play-screen__gameplay,.result-panel{position:fixed;bottom:32px}.result-panel .result-stats>div:first-child dd{color:var(--color-premium-current);font-size:1.55rem}}@media (width>=48.0625rem) and (width<=96rem){.night-room-stage[data-phase=ready] .start-screen__overlay{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""controls""best"}.start-screen__controls{grid-template-columns:minmax(0,1fr)}.start-screen__utilities{justify-content:space-between}.difficulty-selector{justify-content:flex-start}.night-room-stage[data-phase=ready] .best-record{grid-area:3/1}}@media (width<=48rem){body{background:#0b1020}.ambient-layer{display:none}.result-panel .result-panel__mobile-result{display:block}.result-panel>.result-panel__score,.result-panel>.result-panel__metrics,.result-panel>.result-panel__progress{display:none}.night-room-stage,.night-room-stage[data-phase=playing]{--scene-camera:mobile-normal;min-height:max(var(--viewport-height), 46rem);height:max(var(--viewport-height), 46rem);overflow:visible}.night-room-stage[data-phase=ready]{container-type:inline-size}.night-room-stage>.scene-plane--background,.night-room-stage>.scene-plane--midground,.night-room-stage>.scene-plane--foreground{width:358px;height:317.961px;inset:410px auto auto 50%;overflow:hidden;translate:-50%}.night-room-stage>.scene-plane--gameplay,.night-room-stage>.scene-plane--hud,.night-room-stage>.scene-plane--controls,.night-room-stage>.scene-plane--overlay{width:100%;inset:0}.room-environment,.v2-cat{aspect-ratio:auto;width:220%;height:139.407%;top:-26.6667%;left:-93.4211%;translate:0}.room-environment__art{width:47.2488%;height:74.389%;inset:18.0659% auto auto 41.866%}.night-room-stage[data-phase=ready] .start-screen__overlay,.play-screen__gameplay,.result-panel{right:auto;left:max(1rem, env(safe-area-inset-left));width:calc(100% - max(1rem, env(safe-area-inset-left)) - max(1rem, env(safe-area-inset-right)));translate:0}.night-room-stage[data-phase=ready] .start-screen__overlay{top:max(1rem, env(safe-area-inset-top));grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""controls""best";gap:.6rem;padding:.8rem 1rem;bottom:auto}.night-room-stage[data-phase=ready] .start-screen h1{font-size:1.3rem}.start-screen__controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5em),1fr));gap:.45rem}.start-screen__controls>button{min-width:0}.start-screen__utilities,.start-error{grid-column:1/-1;justify-content:space-between}.start-screen__utilities{flex-wrap:wrap}.difficulty-selector{flex-wrap:wrap;justify-content:flex-start;min-width:0}.difficulty-selector label{min-height:2.75rem}.play-screen__gameplay{top:max(5.5rem, calc(env(safe-area-inset-top) + 4.5rem));padding:.75rem 1rem;bottom:auto}.typing-prompt__guide{font-size:clamp(1.7rem,8vw,2rem)}.game-hud__top-metrics{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));gap:1.25rem;padding:.45rem .7rem}.play-screen__controls{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right))}.play-screen__difficulty{display:none}.result-panel{top:max(1rem, env(safe-area-inset-top));padding:.8rem 1rem;display:block;bottom:auto}.night-room-stage .history-panel{top:calc(1rem + env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));bottom:auto;left:max(1rem, env(safe-area-inset-left));width:auto;max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:.8rem 1rem;position:fixed;translate:0}.night-room-stage .history-panel__header{padding-right:6.5rem}.night-room-stage .history-panel__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.night-room-stage .history-panel__entry{grid-template-columns:minmax(0,1fr)}.night-room-stage .history-panel__entry-header{justify-content:space-between;display:flex}.night-room-stage .history-panel__entry dl{grid-template-columns:repeat(2,minmax(0,1fr))}.result-panel__actions{margin-top:.7rem}.music-settings{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right))}.night-room-stage[data-phase=ready] .start-screen__intro{padding-right:6.5rem}.night-room-stage[data-phase=playing] .play-screen__controls{top:max(1rem, env(safe-area-inset-top));right:max(8rem, calc(env(safe-area-inset-right) + 8rem))}}@container (width<=20em){.night-room-stage[data-phase=ready] .start-screen__overlay{top:max(4.5rem, calc(env(safe-area-inset-top) + 3.5rem))}.night-room-stage[data-phase=ready] .start-screen__intro{padding-right:0}.night-room-stage[data-phase=ready] .start-screen__utilities{grid-template-columns:minmax(0,1fr);display:grid}}@media (width<=48rem) and (height<=600px){.night-room-stage,.night-room-stage[data-phase=playing]{--scene-camera:mobile-compact}.night-room-stage>.scene-plane--background,.night-room-stage>.scene-plane--midground,.night-room-stage>.scene-plane--foreground{width:240px;height:213.177px}.room-environment,.v2-cat{width:245.882%;height:155.795%;top:-33.9404%;left:-113.235%}}@media (prefers-reduced-motion:reduce){.v2-cat,.room-environment,.v2-sprite__sheet{transition:none!important;animation:none!important}}.scene-plane--utility{z-index:5}.scene-plane--utility>*{pointer-events:auto}.ambient-layer,.ambient-layer *{pointer-events:none}.ambient-layer{z-index:1;contain:layout paint;position:absolute;inset:0;overflow:hidden}.room-environment__art{z-index:0}.room-environment[data-asset-state=failed] .ambient-layer{display:none}.ambient-rain,.ambient-steam,.ambient-city-lights,.ambient-window-glass{position:absolute;inset:0}.ambient-rain{z-index:1;opacity:.46;height:48%;-webkit-mask-image:linear-gradient(90deg,#0000 0 31%,#000 31.5% 39.9%,#0000 40.2% 44.1%,#000 44.6% 94.1%,#0000 94.6%);mask-image:linear-gradient(90deg,#0000 0 31%,#000 31.5% 39.9%,#0000 40.2% 44.1%,#000 44.6% 94.1%,#0000 94.6%)}.ambient-rain i{--rain-width:0.08%;--rain-length:9%;--rain-travel:940%;--rain-opacity:.5;top:-12%;left:var(--ambient-left);width:max(1px, var(--rain-width));height:calc(var(--rain-length) * var(--rain-length-scale));rotate:var(--rain-angle);opacity:0;animation:ambient-rain-fall var(--ambient-duration) linear var(--ambient-delay) infinite;will-change:transform, opacity;background:linear-gradient(#0000,#a6cce8bd);border-radius:999px;position:absolute}.ambient-rain i[data-rain-depth=far]{--rain-width:0.055%;--rain-length:6%;--rain-travel:1450%;--rain-opacity:.3}.ambient-rain i[data-rain-depth=near]{--rain-width:0.105%;--rain-length:12%;--rain-travel:720%;--rain-opacity:.52}.ambient-steam{z-index:3;width:2.8%;height:10.7%;top:45.5%;left:84.45%}.ambient-steam i{bottom:0;left:var(--ambient-offset);transform-origin:50% 100%;opacity:0;width:48%;height:53%;animation:ambient-steam-rise var(--ambient-duration) ease-in-out var(--ambient-delay) infinite;will-change:transform, opacity;background:radial-gradient(at 66% 27%,#e8edf07a,#0000 64%),radial-gradient(at 34% 68%,#dae4eb4d,#0000 68%);border-radius:45% 55% 38% 62%;position:absolute;translate:-50%}.ambient-city-lights i{top:var(--ambient-top);left:var(--ambient-left);width:var(--light-width);height:var(--light-height);background:rgb(var(--light-color) / 64%);box-shadow:0 0 .2rem rgb(var(--light-color) / 14%);opacity:.3;border-radius:1px;position:absolute;translate:-50% -50%}.ambient-city-lights i[data-light-motion=breathe]{animation:ambient-city-breathe var(--ambient-duration) ease-in-out var(--ambient-delay) infinite alternate;will-change:opacity}.ambient-window-glass{z-index:2}.ambient-glass-zone{position:absolute;overflow:hidden}.ambient-glass-zone[data-glass-zone=d1]{width:7.5%;height:20%;top:4%;left:32%}.ambient-glass-zone[data-glass-zone=d2]{width:26.5%;height:14%;top:4%;left:45.5%}.ambient-glass-zone[data-glass-zone=d3]{width:8%;height:8%;top:12%;left:78%}.ambient-glass-zone:before{content:"";opacity:.5;background-image:var(--glass-images);background-size:var(--glass-sizes);background-position:var(--glass-positions);background-repeat:no-repeat;position:absolute;inset:0}.ambient-glass-flow{--glass-period:56s;--glass-delay:1s;--glass-travel:3.6rem;--glass-stretch:1.35;transform-origin:50% 100%;opacity:0;width:6px;height:13px;animation:ambient-glass-flow var(--glass-period) ease-in-out var(--glass-delay) infinite;will-change:transform, opacity;background:radial-gradient(at 30% 21%,#d5eaf7d1 0 7%,#0000 27%),radial-gradient(at 72% 83%,#a0c9e570 0 9%,#0000 34%),radial-gradient(closest-side at 52% 52%,#0000 52%,#0f2237ad 65%,#8db8d7a6 82%,#0000 100%);border-radius:44% 56% 52% 48%;position:absolute;top:23%;left:54%}.ambient-glass-flow:after{content:"";opacity:0;width:1px;height:18px;animation:ambient-glass-trace var(--glass-period) ease-in-out var(--glass-delay) infinite;background:linear-gradient(#0000,#a3cbe447,#0000);position:absolute;bottom:75%;left:48%}.ambient-glass-zone[data-glass-zone=d2] .ambient-glass-flow{--glass-period:59s;--glass-delay:22s;--glass-travel:3rem;--glass-stretch:1.5;width:5px;height:11px;top:39%;left:77%}.ambient-layer[data-ambient-motion=off] .ambient-rain,.ambient-layer[data-ambient-motion=off] .ambient-steam{display:none}.ambient-layer[data-ambient-motion=off] .ambient-city-lights i{opacity:.3;animation:none}.ambient-layer[data-ambient-motion=off] .ambient-glass-flow{animation:none;display:none}.result-panel__score,.result-panel__metrics,.result-panel__highlight,.result-panel__progress{min-width:0}.result-panel__mobile-result{display:none}.result-panel__score{text-align:center;background:linear-gradient(145deg,#efb15b24,#0811211f);border:1px solid #f4c0713d;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:.8rem 1rem;display:flex}.result-panel__score-label,.result-panel__highlight>span,.result-panel__previous span{color:var(--color-premium-muted);letter-spacing:.08em;font-size:.62rem}.result-panel__score-value{color:var(--color-premium-current);font-variant-numeric:tabular-nums;font-size:clamp(3.1rem,5vw,4.6rem);line-height:1}.result-panel__score-best{color:var(--color-premium-muted);font-variant-numeric:tabular-nums;margin:.45rem 0 0;font-size:.72rem}.result-panel__new-best{color:#ffd393;letter-spacing:.09em;text-shadow:0 0 12px #efb15b57;margin-top:.35rem;font-size:.72rem;font-weight:900}.result-panel__highlight{overflow-wrap:anywhere;align-items:baseline;gap:.35rem;margin:0;display:inline-flex}.result-panel__highlight>strong{color:var(--color-premium-muted);font-size:.72rem;font-weight:500}.result-panel__progress{flex-wrap:wrap;align-items:center;gap:.35rem .85rem;padding:.1rem 0;display:flex}.result-panel__previous{flex-wrap:wrap;gap:.4rem 1rem;display:flex}.result-panel__previous p{align-items:baseline;gap:.35rem;margin:0;display:flex}.result-panel__previous strong{color:var(--color-paper);font-variant-numeric:tabular-nums;font-size:.78rem}.result-panel__best-progress{color:var(--color-premium-muted);overflow-wrap:anywhere;margin:0;font-size:.72rem}.result-panel__actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:center;align-items:stretch;gap:.75rem;width:min(100%,31rem);margin-top:0;display:grid}.result-panel__actions button{text-align:center;justify-content:center;align-items:center;width:100%;min-width:0;display:inline-flex}.result-panel__return-button{border-radius:var(--radius-frame);min-height:2.75rem;color:var(--color-premium-text);cursor:pointer;background:#081121ad;border:1px solid #e8ca9a73;font-weight:700;box-shadow:0 .18rem #00000047}.app-shell .result-panel__actions .retry-button:hover{background:#86533c}.result-panel__unlocks{display:none}@media (width>=48.0625rem){.result-panel{grid-template:"header header""score metrics""actions actions""progress progress"/minmax(0,.9fr) minmax(0,1.1fr);gap:.45rem .9rem;max-height:calc(100vh - 4rem);overflow:auto;container-type:inline-size}.result-panel__header{grid-area:header;justify-content:center;align-self:start}.result-panel h2{color:var(--color-premium-muted);letter-spacing:.12em;font-size:.72rem}.result-panel__score{grid-area:score}.result-panel__metrics{grid-area:metrics}.result-panel__progress{grid-area:progress}.result-panel__actions{grid-area:actions}.result-panel>.result-panel__metrics{align-self:center}.result-panel .result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.result-panel>.result-panel__metrics .result-stats dd{color:var(--color-paper);font-size:1.45rem}.result-panel:has(>.result-panel__unlocks){grid-template-areas:"header header""score metrics""actions actions""progress progress""unlocks unlocks"}.result-panel__unlocks{background:linear-gradient(110deg,#734b305c,#08112152);border:1px solid #f4c0714d;border-radius:8px;grid-area:unlocks;gap:.35rem;min-width:0;padding:.55rem .75rem;animation:.48s ease-out both result-achievement-enter;display:grid}.result-panel__unlocks h3{color:var(--color-premium-current);letter-spacing:.1em;margin:0;font-size:.68rem}.result-panel__unlock-list{flex-wrap:wrap;gap:.25rem .45rem;max-height:5rem;margin:0;padding:0 .25rem 0 0;list-style:none;display:flex;overflow-y:auto}.result-panel__unlock-list:focus-visible{outline:3px solid var(--pixel-focus);outline-offset:-3px}.result-panel__unlock-list li{min-width:0;color:var(--color-premium-text);background:#ffe6b514;border-radius:4px;align-items:center;gap:.3rem;padding:.12rem .4rem;font-size:.72rem;display:inline-flex}}@container (width<=40em){.result-panel>.result-panel__metrics .result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.result-panel>.result-panel__metrics .result-stats dt{white-space:nowrap;font-size:clamp(.5rem,1.5vw,.65rem)}}@media screen and (width<=48rem){.night-room-stage[data-phase=finished] .result-panel{top:calc(max(1rem, env(safe-area-inset-top)) + 3.5rem);max-height:calc(100dvh - 5.5rem - env(safe-area-inset-bottom));overflow-y:auto}.night-room-stage[data-phase=finished] .audio-settings{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right))}.result-panel .result-panel__mobile-result .result-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .7rem}.result-panel__mobile-result .result-stats>div:first-child dd{color:var(--color-premium-current);font-size:1.65rem}.result-panel__actions{margin-top:.5rem}}@media (width<=22rem){.result-panel__actions{grid-template-columns:minmax(0,1fr)}}@container (width<=40em){.result-panel__actions{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.ambient-rain,.ambient-steam{display:none!important}.ambient-city-lights i{opacity:.3;animation:none!important}.ambient-glass-flow{animation:none!important;display:none!important}.result-stats>.result-stats__item--new,.result-panel__unlocks{animation:none!important}}@keyframes result-achievement-enter{0%{opacity:0;transform:translateY(.3rem)}to{opacity:1;transform:translateY(0)}}@keyframes ambient-rain-fall{0%{opacity:0;transform:translateY(-12%)}14%{opacity:var(--rain-opacity)}84%{opacity:calc(var(--rain-opacity) * .7)}to{opacity:0;transform:translate3d(var(--rain-drift), var(--rain-travel), 0)}}@keyframes ambient-steam-rise{0%{opacity:0;transform:translate3d(0, 0, 0) rotate(calc(var(--steam-turn) * -.4)) scale(calc(var(--steam-scale) * .55), calc(var(--steam-scale) * .6))}20%{opacity:.24;transform:translate3d(calc(var(--steam-drift) * -.15), -18%, 0) rotate(calc(var(--steam-turn) * .3)) scale(calc(var(--steam-scale) * .85), calc(var(--steam-scale) * .9))}45%{opacity:.32;transform:translate3d(calc(var(--steam-drift) * .55), -90%, 0) rotate(calc(var(--steam-turn) * -.5)) scale(calc(var(--steam-scale) * 1.2), calc(var(--steam-scale) * 1.1))}72%{opacity:.18;transform:translate3d(var(--steam-drift), -175%, 0) rotate(var(--steam-turn)) scale(calc(var(--steam-scale) * 1.7), calc(var(--steam-scale) * 1.35))}to{opacity:0;transform:translate3d(calc(var(--steam-drift) * 1.3), -250%, 0) rotate(calc(var(--steam-turn) * .4)) scale(calc(var(--steam-scale) * 2.05), calc(var(--steam-scale) * 1.55))}}@keyframes ambient-city-breathe{0%,22%{opacity:.28}78%,to{opacity:.36}}@keyframes ambient-glass-flow{0%,4%{opacity:0;transform:translate(0,0)scale(1)}8%,14%{opacity:.55;transform:translate(0,0)scale(1)}18%{opacity:.55;transform:translate3d(0, .12rem, 0) scaleY(var(--glass-stretch))}32%{opacity:.45;transform:translate3d(.03rem, calc(var(--glass-travel) * .72), 0) scale(.9, 1.1)}39%,to{opacity:0;transform:translate3d(.04rem, var(--glass-travel), 0) scale(.55, .75)}}@keyframes ambient-glass-trace{0%,18%{opacity:0}29%{opacity:.65}38%,to{opacity:0}}.music-settings{top:max(1.5rem, env(safe-area-inset-top));right:max(1.5rem, env(safe-area-inset-right));color:var(--color-premium-text);justify-items:end;display:grid;position:absolute}.audio-settings{top:max(1.5rem, env(safe-area-inset-top));right:max(1.5rem, env(safe-area-inset-right));flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:.4rem;max-width:calc(100% - 2rem);display:flex;position:absolute}.audio-settings .music-settings{position:static}.audio-settings .music-settings__panel{margin-top:0;position:absolute;top:calc(100% + .5rem);right:0}.audio-settings .sound-toggle{min-height:2.75rem;color:var(--color-premium-muted);white-space:nowrap;padding:.35rem .65rem;font-size:.62rem}.music-settings__button{justify-content:center;align-items:center;gap:.45rem;min-width:6rem;font-size:.72rem;display:inline-flex}.music-settings__button>[aria-hidden=true]{color:var(--color-premium-current);font-size:1rem}.music-settings__panel{-webkit-backdrop-filter:blur(9px)saturate(108%);backdrop-filter:blur(9px)saturate(108%);background:#081121f0;border:1px solid #e8ca9a61;border-radius:10px;gap:.75rem;width:min(16rem,100vw - 2rem);margin-top:.5rem;padding:.75rem;display:grid;box-shadow:0 12px 30px #00000052}.app-shell .music-settings__toggle{width:100%;color:var(--color-premium-current)}.music-settings__volume{color:var(--color-premium-muted);grid-template-columns:auto minmax(5rem,1fr) 3ch;align-items:center;gap:.6rem;font-size:.65rem;font-weight:700;display:grid}.music-settings__volume input{width:100%;accent-color:var(--color-premium-current)}.music-settings__volume output{color:var(--color-premium-text);font-variant-numeric:tabular-nums;text-align:right}@media (width>=48.0625rem){.night-room-stage[data-phase=playing] .play-screen__controls{right:8rem}}@media (width>=192rem) and (height>=100rem){.music-settings{transform-origin:100% 0;scale:1.5}}.history-panel{z-index:4;border:1px solid var(--border-premium-glass);background:linear-gradient(135deg, #ffdda60d, transparent 42%), var(--surface-premium-glass);-webkit-backdrop-filter:blur(9px)saturate(108%);backdrop-filter:blur(9px)saturate(108%);width:min(50rem,100% - 4rem);min-height:0;max-height:calc(100% - 8rem);color:var(--color-premium-text);pointer-events:auto;border-radius:14px;grid-template-rows:auto auto minmax(0,1fr);gap:.8rem;padding:1rem 1.2rem;display:grid;position:absolute;bottom:2rem;left:50%;right:auto;overflow:hidden;translate:-50%;box-shadow:inset 0 1px #ffedcf0d,0 9px 32px #0000002e}.history-panel__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.history-panel h1,.history-panel h2,.history-panel p,.history-panel dl,.history-panel ol{margin:0}.history-panel h1{font-size:1.25rem;font-weight:600}.history-panel h1:focus{outline:none}.history-panel h2{color:var(--color-premium-muted);letter-spacing:.08em;font-size:.72rem}.history-panel__stats{border-block:1px solid #efd3a91f;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;padding:.7rem 0;display:grid}.history-panel__stats>div,.history-panel__entry dl>div{min-width:0}.history-panel dt{color:var(--color-premium-muted);font-size:.62rem;font-weight:700}.history-panel dd{font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-size:.86rem;font-weight:700}.history-panel__recent{grid-template-rows:auto minmax(0,1fr);gap:.5rem;min-height:0;display:grid}.history-panel__empty{color:var(--color-premium-muted);padding:1rem 0}.history-panel__list{scrollbar-color:#e8ca9a6b transparent;gap:.45rem;min-height:0;padding:0 .25rem 0 0;list-style:none;display:grid;overflow:auto}.history-panel__entry{background:#070f1d6b;border:1px solid #efd3a91a;border-radius:8px;grid-template-columns:minmax(8rem,.7fr) minmax(0,2fr);align-items:center;gap:.75rem;padding:.55rem .65rem;display:grid}.history-panel__entry-header{gap:.2rem;font-size:.72rem;display:grid}.history-panel__entry-header time{color:var(--color-premium-text);font-variant-numeric:tabular-nums}.history-panel__entry-header span{color:var(--color-premium-muted)}.history-panel__entry dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.achievements-modal__backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain;background:#040a18c2;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.achievements-modal{width:min(58rem,100%);height:min(46rem, calc(var(--viewport-height) - 2rem));border:1px solid var(--border-premium-glass);background:linear-gradient(135deg, #ffdda60f, transparent 45%), var(--surface-premium-glass);min-width:0;min-height:0;box-shadow:var(--shadow-room), inset 0 1px 0 #ffedcf14;color:var(--color-premium-text);border-radius:14px;grid-template-rows:auto minmax(0,1fr);gap:1rem;padding:clamp(.8rem,2vw,1.4rem);display:grid;overflow:hidden}.achievements-modal__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.achievements-modal h1,.achievements-modal h2,.achievements-modal p,.achievements-modal ol{margin:0}.achievements-modal h1{font-family:var(--font-display);letter-spacing:.08em;font-size:clamp(1.1rem,2.2vw,1.5rem)}.achievements-modal .achievements-modal__progress{color:var(--color-premium-current);font-family:var(--font-mono);margin-top:.35rem;font-size:.8rem;font-weight:700}.achievements-modal__header button{border:1px solid var(--border-premium-glass);border-radius:var(--radius-frame);color:var(--color-premium-text);cursor:pointer;background:#fff4dd1a;padding:.35rem .8rem}.achievements-modal__header button:hover{background:#fff4dd2e}.achievements-modal__list{overscroll-behavior:contain;scrollbar-color:#e8ca9a80 transparent;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.7rem;min-height:0;padding:0 .3rem 0 0;list-style:none;display:grid;overflow-y:auto}.achievements-modal__list:focus-visible{outline:3px solid var(--pixel-focus);outline-offset:-3px}.achievements-modal__item{border-radius:var(--radius-frame);background:#070f1d7a;border:1px solid #efd3a92e;grid-template-columns:2.2rem minmax(0,1fr);gap:.4rem .7rem;min-width:0;padding:.8rem;display:grid}.achievements-modal__item[data-unlocked=true]{background:#322b2b85;border-color:#ffe1a675}.achievements-modal__icon{font-size:1.5rem;line-height:1.2}.achievements-modal__copy{min-width:0}.achievements-modal h2{color:var(--color-premium-text);font-size:.94rem}.achievements-modal__copy p{color:var(--color-premium-muted);margin-top:.25rem;font-size:.76rem;line-height:1.5}.achievements-modal__state{color:var(--color-premium-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-column:2;gap:.2rem .6rem;font-size:.72rem;display:flex}.achievements-modal__item[data-unlocked=true] .achievements-modal__state{color:var(--color-premium-current)}@media (width<=42rem){.achievements-modal__list{grid-template-columns:minmax(0,1fr)}}@media (width>=48.0625rem){.night-room-stage[data-phase=ready] .start-screen__overlay{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"start history achievements""utilities utilities utilities""best best best";align-items:center;gap:.5rem 1rem;width:min(44rem,100% - 4rem);padding:.75rem 1rem}.night-room-stage[data-phase=ready] .start-screen__intro{display:contents}.night-room-stage[data-phase=ready] .start-screen h1{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.night-room-stage[data-phase=ready] .start-screen__controls{display:contents}.night-room-stage[data-phase=ready] .start-screen__start-button{grid-area:start;min-height:3rem}.night-room-stage[data-phase=ready] .start-screen__history-button{grid-area:history;align-self:stretch}.night-room-stage[data-phase=ready] .start-screen__achievements-button{grid-area:achievements;align-self:stretch}.night-room-stage[data-phase=ready] .start-screen__utilities{grid-area:utilities;justify-content:space-between}.night-room-stage[data-phase=ready] .best-record{grid-area:best;padding-top:.4rem}.night-room-stage[data-phase=ready] .start-error{grid-area:error}.night-room-stage[data-phase=ready] .start-screen__overlay:has(.start-error){grid-template-areas:"start history achievements""utilities utilities utilities""error error error""best best best"}}.typing-panel{--prompt-text-lines:1;--prompt-reading-lines:1;--panel-width:36rem;--panel-scale:1;scrollbar-gutter:stable;scrollbar-width:thin;align-content:start;overflow-y:auto;container-type:inline-size}.typing-panel[data-difficulty=normal]{--panel-width:48rem}.typing-panel[data-difficulty=hard]{--panel-width:52rem;--prompt-text-lines:2}.typing-panel .typing-prompt{text-align:left;align-content:start}.typing-panel .typing-prompt__text{min-block-size:calc(var(--prompt-text-lines) * 1lh)}.typing-panel .typing-prompt__reading{min-block-size:calc(var(--prompt-reading-lines) * 1lh)}.typing-panel .typing-prompt__guide{white-space:nowrap;scrollbar-width:none;scroll-behavior:auto;flex-wrap:nowrap;place-content:flex-start;min-block-size:calc(1lh + .36em);padding-inline-end:2ch;position:relative;overflow:auto hidden}.typing-panel .typing-prompt__guide::-webkit-scrollbar{display:none}.typing-panel .typing-prompt__character{flex:none}@media (width>=48.0625rem){.play-screen__gameplay.typing-panel{--panel-paw-left:calc(50vw + max(100vw, calc(var(--viewport-height) * 1.7779)) * .150718);--panel-used-width:min(var(--panel-width), calc((var(--panel-paw-left) - 3rem) / var(--panel-scale)));--panel-visual-width:calc(var(--panel-used-width) * var(--panel-scale));--panel-visual-left:max(2rem, min(calc((100vw - var(--panel-visual-width)) / 2), calc(var(--panel-paw-left) - 1rem - var(--panel-visual-width))));width:var(--panel-used-width);left:calc(var(--panel-visual-left) + (var(--panel-visual-width) - var(--panel-used-width)) / 2);max-block-size:calc((100dvh - 8rem) / var(--panel-scale));translate:none}}@container (width<=40em){.typing-panel[data-difficulty=normal] .typing-prompt{--prompt-text-lines:2;--prompt-reading-lines:2}.typing-panel[data-difficulty=hard] .typing-prompt{--prompt-text-lines:3;--prompt-reading-lines:2}}@media (width<=48rem){.play-screen__gameplay.typing-panel{--panel-clear-bottom:553px;max-block-size:min(calc(100dvh - 6.5rem), calc(var(--panel-clear-bottom) - max(5.5rem, calc(env(safe-area-inset-top) + 4.5rem))))}.typing-panel[data-difficulty=normal] .typing-prompt{--prompt-text-lines:2;--prompt-reading-lines:1}.typing-panel[data-difficulty=hard] .typing-prompt{--prompt-text-lines:3;--prompt-reading-lines:2}}@media (width<=48rem) and (height<=600px){.play-screen__gameplay.typing-panel{--panel-clear-bottom:506px}}@media (width>=192rem) and (height>=100rem){.play-screen__gameplay.typing-panel{--panel-scale:1.5}}.keyboard-guide{row-gap:2px;width:100%;min-width:0;display:grid;position:relative}.keyboard-guide__controls{gap:4px;width:6.5rem;display:grid;position:relative}.app-shell .keyboard-guide__toggle{white-space:nowrap;min-width:6.5rem}.app-shell .keyboard-guide__toggle[aria-pressed=true]{border-color:#ffe1a6a6}.keyboard-guide__notice{min-width:0;max-width:100%;color:var(--color-premium-muted);background:var(--surface-premium-glass);border-radius:4px;padding:0 .4rem;font-size:.6875rem;line-height:1.5}.keyboard-guide__board{row-gap:2px;width:min(100%,490px);max-width:520px;display:grid}.keyboard-guide[data-visible=false]{visibility:hidden;pointer-events:none;position:absolute;inset:0 auto auto 0}.keyboard-guide__next,.keyboard-guide__symbols{color:var(--color-premium-muted);margin:0;font-size:.6875rem;line-height:1rem}.keyboard-guide__letters{row-gap:4px;display:grid}.keyboard-guide__row{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;display:grid}.keyboard-guide__row--1{width:90%;margin-left:5%}.keyboard-guide__row--2{width:70%;margin-left:15%}.keyboard-guide__key{box-sizing:border-box;border:1px solid var(--border-premium-glass);min-width:0;height:1.875rem;color:var(--color-premium-muted);background:var(--surface-premium-glass-soft);font:inherit;border-radius:4px;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex;position:relative}.keyboard-guide__key[data-home-key=true]:after{content:"";border-bottom:1px solid;width:.4rem;position:absolute;bottom:3px}.keyboard-guide__key[data-key-state=primary]{color:var(--color-ink);background:var(--color-premium-current);border-color:var(--color-premium-current)}.keyboard-guide__key[data-key-state=alternative]{color:var(--color-premium-current);border-color:var(--color-premium-current);border-style:dashed}.keyboard-guide__symbols{font-size:.625rem;line-height:.875rem}.keyboard-guide__symbols .keyboard-guide__key{min-width:1rem;height:.875rem;font-size:.625rem}@media (width>=48.0625rem) and (width<=96rem){.play-screen__gameplay.typing-panel:has(.keyboard-guide[data-visible=true]){left:2rem}}.play-screen__controls:has(.keyboard-guide__controls){flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 22rem)}.result-practice-card{font-synthesis:weight;min-width:0;color:var(--color-premium-text);background:linear-gradient(115deg,#ffe1a614,#0f192be0);border:1px solid #f0d6ac73;border-radius:10px;grid-template-columns:3.75rem minmax(0,1fr) auto;gap:.25rem .85rem;padding:.9rem 1rem;display:grid}.result-practice-card__heading{display:contents}.result-practice-card__icon{object-fit:contain;filter:brightness(0)saturate()invert(91%)sepia(23%)saturate(672%)hue-rotate(335deg)brightness(104%);grid-area:1/1/3;place-self:center;width:2.5rem;height:2.5rem}.result-practice-card h3{color:var(--color-premium-current);letter-spacing:.04em;grid-column:2;margin:0;font-size:.8rem;font-weight:700;line-height:1.5}.result-practice-card__count{display:none}.result-practice-card__copy{grid-column:2;min-width:0}.result-practice-card p{overflow-wrap:anywhere;margin:0}.result-practice-card__recommendation{font-size:1.1rem;font-weight:700;line-height:1.4}.result-practice-card__description{color:var(--color-premium-muted);font-size:.8rem;line-height:1.4}.result-practice-card .result-practice-card__availability{max-width:10rem;color:var(--color-premium-muted);border-left:1px solid #f0d6ac40;grid-area:1/3/3;align-self:center;padding-left:1rem;font-size:.75rem;line-height:1.65}@media (width>=48.0625rem){.result-panel{grid-template-areas:"header header""score metrics""actions actions""practice practice""progress progress";row-gap:.65rem}.result-panel:has(>.result-panel__unlocks){grid-template-areas:"header header""score metrics""actions actions""practice practice""progress progress""unlocks unlocks"}.result-panel>.result-practice-card{grid-area:practice}.result-panel__actions{width:min(100%,35rem)}.result-panel__score-value{font-size:clamp(3.1rem,5vw,4.25rem)}.result-panel__actions button{min-height:2.875rem}.result-panel__unlocks{padding:.65rem .9rem}.result-panel__unlocks h3{font-size:.8rem}.result-panel__unlock-list li{border:1px solid #f4c0712e;padding:.3rem .5rem;font-size:.8rem}}.result-panel__actions button{font-synthesis:weight;font-family:inherit;font-size:.9rem;font-weight:700}@media (width<=48rem){.night-room-stage[data-phase=finished] .audio-settings{grid-template-columns:repeat(2,minmax(0,1fr));width:min(11.5rem,100% - 2rem);display:grid}.night-room-stage[data-phase=finished] .audio-settings .music-settings{width:100%;min-width:0}.night-room-stage[data-phase=finished] .audio-settings .music-settings__button,.night-room-stage[data-phase=finished] .audio-settings .sound-toggle{width:100%;min-width:0;padding:.35rem .3rem}.night-room-stage[data-phase=finished] .audio-settings .sound-toggle{white-space:normal}.night-room-stage[data-phase=finished] .audio-settings .music-settings__button{gap:.3rem}.result-panel{padding:1rem}.result-panel .result-panel__header{margin-bottom:.9rem}.result-panel .result-panel__header h2{font-size:1.25rem;line-height:1.2}.result-panel .result-panel__mobile-result .result-stats{grid-template-columns:minmax(0,1fr)}.result-panel .result-panel__mobile-result .result-stats>.result-panel__mobile-score{grid-template-rows:auto auto auto;grid-template-columns:minmax(min-content,.85fr) minmax(0,1.5fr);gap:.15rem .6rem;padding:0 0 .15rem;display:grid;container-type:inline-size}.result-panel .result-panel__mobile-score dt{grid-area:1/1;align-self:end;font-size:.75rem}.result-panel .result-panel__mobile-result .result-stats>.result-panel__mobile-score dd{grid-area:1/1/4/-1;grid-template-columns:subgrid;grid-template-rows:subgrid;min-width:0;color:var(--color-premium-current);margin:0;font-size:clamp(1.75rem,11vw,3.35rem);line-height:1.15;display:grid}.result-panel .result-panel__mobile-score dd>span:first-child{text-align:right;min-width:0;font-size:clamp(1.25rem, calc((64cqi - .6rem) / var(--score-characters) * 1.5), 1em);overflow-wrap:anywhere;grid-area:1/2/3;align-self:center}.result-panel .result-panel__mobile-score dd>span+span{text-align:right;grid-area:3/2;margin-left:0;font-size:.7rem}.result-panel .result-panel__mobile-score .result-panel__score-best{min-width:0;color:var(--color-premium-muted);overflow-wrap:anywhere;grid-area:2/1/4;align-self:start;margin:0;font-size:.75rem;font-weight:500;line-height:1.5}.result-panel .result-panel__mobile-result .result-panel__mobile-secondary{border-top:1px solid #c6cfde40;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:.9rem 0 .5rem}.result-panel .result-panel__mobile-secondary>div{text-align:center;min-width:0;padding:0 .2rem}.result-panel .result-panel__mobile-secondary>div+div{border-left:1px solid #c6cfde40}.result-panel .result-panel__mobile-secondary dt{overflow-wrap:anywhere;font-size:clamp(.55rem,2.3vw,.72rem);line-height:1.5}.result-panel .result-panel__mobile-secondary dd,.result-panel .result-panel__mobile-secondary>div:first-child dd{color:var(--color-premium-current);flex-direction:column;justify-content:center;gap:.15rem;font-size:clamp(1.05rem,4.5vw,1.4rem);line-height:1.4;display:flex}.result-panel .result-panel__mobile-secondary dd>span+span{font-size:.55rem}.result-panel .result-panel__mobile-secondary dd>span{overflow-wrap:anywhere;max-width:100%}.result-panel__actions{margin-top:.75rem}.result-panel>.result-practice-card{grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:.9rem;padding:.85rem}.result-practice-card__heading{flex-wrap:wrap;align-items:center;gap:.65rem;min-width:0;display:flex}.result-practice-card__icon{flex:0 0 1.6rem;width:1.6rem;height:1.6rem}.result-practice-card h3{max-width:100%;color:var(--color-premium-text);overflow-wrap:anywhere;font-size:1.2rem}.result-practice-card__count{color:var(--color-premium-muted);letter-spacing:.06em;white-space:normal;overflow-wrap:anywhere;max-width:100%;margin-left:auto;font-size:.6rem;font-weight:600;display:block}.result-practice-card__copy{grid-column:1}.result-practice-card__recommendation{color:var(--color-premium-muted);font-size:.95rem}.result-practice-card__description{font-size:.85rem}.result-practice-card .result-practice-card__availability{border-top:1px solid #f0d6ac33;border-left:0;grid-area:auto/1;max-width:none;padding:.45rem 0 0;font-size:.75rem}}@media (width<=22rem){.night-room-stage[data-phase=finished] .audio-settings .music-settings__button>[aria-hidden=true]{display:none}.result-panel{padding:.85rem}.result-practice-card__heading{flex-wrap:wrap;gap:.3rem .5rem}.result-practice-card__count{max-width:calc(100% - 2.1rem);margin-left:2.1rem}}@media (width<=48rem){.night-room-stage[data-phase=finished]{height:auto;padding-top:calc(max(1rem, env(safe-area-inset-top)) + 3.5rem);grid-template-rows:auto auto;grid-template-columns:100%;align-content:start;row-gap:.75rem;padding-bottom:1rem;display:grid}.night-room-stage[data-phase=finished]>.scene-plane--overlay{grid-area:1/1;padding:0;position:relative;inset:auto}.night-room-stage[data-phase=finished] .result-panel{margin-inline:auto;position:relative;top:auto;left:auto}.night-room-stage[data-phase=finished]>.scene-plane:is(.scene-plane--background,.scene-plane--midground,.scene-plane--foreground){grid-area:2/1;justify-self:center;position:relative;inset:auto;translate:none}}.result-preserved{display:contents}.result-preserved[hidden]{display:none!important}.result-practice-card .result-practice-card__start{color:#10182a;min-height:44px;font:inherit;cursor:pointer;background:linear-gradient(#ffdc88,#f6bd68);border:1px solid #ffdc93;border-radius:10px;padding:.6rem 1.2rem;font-weight:700}.result-practice-card__start:disabled{cursor:default;opacity:.65}.result-practice-card__start:focus-visible{outline:3px solid var(--color-premium-current);outline-offset:3px}.practice-screen__hud,.practice-screen__controls,.practice-complete{color:var(--color-premium-text);font-synthesis:weight}.practice-screen__hud{top:max(1.5rem, env(safe-area-inset-top));left:max(1.5rem, env(safe-area-inset-left));pointer-events:auto;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:calc(100% - 3rem);display:flex;position:absolute}.practice-screen__progress{border:1px solid var(--border-premium-glass);background:var(--surface-premium-glass);border-radius:14px;min-width:8rem;margin:0;padding:.65rem 1.1rem}.practice-screen__progress dt,.practice-screen__question dt{color:var(--color-premium-muted);letter-spacing:.14em;font-size:.7rem;font-weight:700}.practice-screen__progress dd{font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-size:1.8rem;font-weight:700;line-height:1.1}.practice-screen__progress strong,.practice-screen__question dd,.practice-complete__message strong{color:var(--color-premium-current)}.practice-screen__abort,.practice-complete__actions button{border:1px solid var(--border-premium-glass);min-width:0;min-height:44px;color:var(--color-premium-text);font:inherit;white-space:normal;overflow-wrap:anywhere;cursor:pointer;background:linear-gradient(135deg,#263249,#1b2538);border-radius:10px;justify-content:center;align-items:center;gap:.75rem;padding:.8rem 1rem;font-weight:700;line-height:1.4;display:inline-flex}.practice-screen__abort:focus-visible,.practice-complete__actions button:focus-visible{outline:3px solid var(--color-premium-current);outline-offset:3px}.practice-screen__controls{top:max(1.5rem, env(safe-area-inset-top));border:1px solid var(--border-premium-glass);background:var(--surface-premium-glass);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;max-width:calc(100% - 3rem);min-height:44px;padding:.5rem .7rem;display:flex;position:absolute;right:8rem}.practice-screen__controls p{overflow-wrap:anywhere;margin:0;font-size:.7rem}.practice-screen__controls p:first-child{color:var(--color-premium-muted)}.practice-screen__sound{font-weight:700}.practice-screen__gameplay{font-synthesis:weight}.practice-screen__gameplay .play-screen__prompt{min-width:0}.practice-screen__gameplay .typing-prompt__text{font-family:inherit;font-weight:800}.practice-screen__footer{border-top:1px solid #efd3a938;flex-wrap:wrap;justify-content:flex-start;justify-self:stretch;align-items:center;gap:.7rem clamp(.5rem,2vw,1.25rem);width:100%;margin:0;padding-top:.7rem;display:flex}.practice-screen__question{min-width:0;margin:0}.practice-screen__question dd{margin:.15rem 0 0;font-size:1.15rem;font-weight:700}.practice-screen__untimed{overflow-wrap:anywhere;align-items:center;gap:.7rem;margin:0;font-weight:700;display:flex}.practice-screen__untimed>span{font-size:2.2rem;line-height:1}.practice-complete{border:1px solid var(--border-premium-glass);background:linear-gradient(135deg, #ffdda60d, transparent 42%), var(--surface-premium-glass);-webkit-backdrop-filter:blur(9px)saturate(108%);backdrop-filter:blur(9px)saturate(108%);text-align:center;overflow-wrap:anywhere;border-radius:16px;width:min(55rem,100% - 4rem);max-height:calc(100dvh - 8rem);padding:1.5rem 2rem .9rem;position:fixed;bottom:2rem;left:50%;overflow-y:auto;translate:-50%;box-shadow:0 9px 32px #0000002e}.practice-complete h2{color:var(--color-premium-current);letter-spacing:.2em;margin:0 0 .7rem;font-size:.85rem}.practice-complete__message{margin:0;font-size:clamp(1.6rem,3.4vw,3rem);font-weight:700;line-height:1.4}.practice-complete__description{color:var(--color-premium-muted);margin:.4rem 0 1.1rem;font-size:1rem}.practice-complete__details{border-top:1px solid #efd3a938;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:.8rem 1rem;padding:1rem 0;display:flex}.practice-complete__details>p{margin:0;font-weight:700}.practice-complete__details .practice-screen__question{text-align:left}.practice-complete__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.practice-complete__actions button{min-height:3.5rem;font-size:1.1rem}.practice-complete__actions .practice-complete__return{color:#10182a;background:linear-gradient(#ffdc88,#f6bd68);border-color:#ffdc93}.practice-complete__note{color:var(--color-premium-muted);margin:.7rem 0 0;font-size:.75rem}@media (width>=48.0625rem){.night-room-stage[data-activity=practice]{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,auto);align-items:start;gap:.75rem .5rem;display:grid}.night-room-stage[data-activity=practice]>.scene-plane:is(.scene-plane--background,.scene-plane--midground,.scene-plane--foreground,.scene-plane--overlay){grid-area:auto}.night-room-stage[data-activity=practice]>.scene-plane:is(.scene-plane--hud,.scene-plane--controls,.scene-plane--utility,.scene-plane--gameplay){width:auto;min-width:0;position:relative;inset:auto}.night-room-stage[data-activity=practice]>.scene-plane--hud{margin:max(1.5rem, env(safe-area-inset-top)) 0 0 max(1.5rem, env(safe-area-inset-left));grid-area:1/1}.night-room-stage[data-activity=practice]>.scene-plane--controls{margin-top:max(1.5rem, env(safe-area-inset-top));grid-area:1/2}.night-room-stage[data-activity=practice]>.scene-plane--utility{margin:max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) 0 0;grid-area:1/3}.night-room-stage[data-activity=practice]>.scene-plane--gameplay{grid-area:2/1/3/-1;align-self:stretch;min-height:0}.night-room-stage[data-activity=practice] .practice-screen__hud,.night-room-stage[data-activity=practice] .practice-screen__controls,.night-room-stage[data-activity=practice] .scene-plane--utility .music-settings,.night-room-stage[data-activity=practice] .scene-plane--utility .audio-settings{max-width:100%;position:static}.night-room-stage[data-activity=practice] .practice-screen__progress{min-width:0}.night-room-stage[data-activity=practice] .practice-screen__gameplay.typing-panel{max-block-size:calc(100% - 2rem);position:absolute}.night-room-stage[data-activity=practice] .scene-plane--utility .music-settings__panel{position:absolute;top:calc(100% + .5rem);right:0}}@media (width>=48.0625rem) and (width<=75rem){.night-room-stage[data-activity=practice]{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,auto)}.night-room-stage[data-activity=practice]>.scene-plane--hud{margin-right:max(1.5rem, env(safe-area-inset-right));grid-area:1/1/2/-1}.night-room-stage[data-activity=practice]>.scene-plane--controls{margin:0 0 0 max(1.5rem, env(safe-area-inset-left));grid-area:2/1;justify-self:end}.night-room-stage[data-activity=practice]>.scene-plane--utility{grid-area:2/2;margin-top:0}.night-room-stage[data-activity=practice]>.scene-plane--gameplay{grid-area:3/1/4/-1}}@media (width<=48rem){.night-room-stage[data-activity=practice]{height:auto;padding:max(1rem, env(safe-area-inset-top)) 16px 1rem;grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,auto);align-content:start;align-items:start;gap:.75rem .5rem;display:grid}.night-room-stage[data-activity=practice]>.scene-plane:is(.scene-plane--hud,.scene-plane--controls,.scene-plane--utility,.scene-plane--gameplay){width:100%;min-width:0;position:relative;inset:auto}.night-room-stage[data-activity=practice]>.scene-plane--hud{grid-area:1/1/2/-1}.night-room-stage[data-activity=practice]>.scene-plane--controls{grid-area:2/1}.night-room-stage[data-activity=practice]>.scene-plane--utility{grid-area:2/2}.night-room-stage[data-activity=practice]>.scene-plane--gameplay{grid-area:3/1/4/-1}.night-room-stage[data-activity=practice]>.scene-plane:is(.scene-plane--background,.scene-plane--midground,.scene-plane--foreground){grid-area:4/1/5/-1;justify-self:center;position:relative;inset:auto;translate:none}.practice-screen__hud,.practice-screen__controls{max-width:100%;position:static}.practice-screen__hud{gap:.5rem}.practice-screen__progress{flex:7rem;min-width:0;padding:.65rem .75rem}.practice-screen__abort{flex:9rem}.practice-screen__controls{gap:.4rem}.night-room-stage[data-activity=practice] .practice-screen__gameplay.typing-panel{width:100%;max-block-size:none;margin:0;padding:1rem 16px;position:relative;inset:auto;translate:none}.night-room-stage[data-activity=practice] .scene-plane--utility .music-settings,.night-room-stage[data-activity=practice] .scene-plane--utility .audio-settings{min-width:0;max-width:100%;position:static}.night-room-stage[data-activity=practice] .scene-plane--utility .music-settings__button{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:44px;min-height:44px;padding:.65rem .5rem}.night-room-stage[data-activity=practice] .scene-plane--utility .music-settings__button>[aria-hidden=true]{display:none}.night-room-stage[data-activity=practice] .scene-plane--utility .music-settings__panel{width:min(19rem,100vw - 2rem);position:absolute;top:calc(100% + .5rem);right:0}.practice-complete{width:calc(100% - 32px);max-height:none;margin-inline:auto;padding:1.2rem 16px .9rem;position:relative;inset:auto;translate:none}.practice-complete__details{justify-content:center;gap:.8rem 1.3rem}.practice-complete__actions{grid-template-columns:minmax(0,1fr);gap:.6rem}.practice-complete__actions button{gap:.5rem;padding-inline:16px}}
