:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b1216;--color-well:#03070a;--surface-1:#18242a;--surface-2:#26353d;--surface-raised:#31424a;--text-primary:#f0ede3;--text-secondary:#93a2a8;--text-subtle:color-mix(in srgb, var(--text-secondary) 74%, var(--color-bg));--border-subtle:color-mix(in srgb, var(--text-secondary) 28%, transparent);--border-strong:color-mix(in srgb, var(--text-secondary) 58%, transparent);--accent:#f0a62e;--accent-hover:color-mix(in srgb, var(--accent) 88%, var(--text-primary));--accent-on:#181005;--success:#68c48b;--warning:var(--accent);--danger:#e56b6f;--piece-i:#4cc9e8;--piece-j:#5b7cde;--piece-l:#f09245;--piece-o:#f3d35a;--piece-s:#61c985;--piece-t:#b57ade;--piece-z:#e6686e;--font-display:"Bahnschrift Condensed", "Arial Narrow", "Noto Sans KR", system-ui, sans-serif;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif;--font-data:ui-monospace, "Cascadia Mono", "Noto Sans Mono CJK KR", monospace;--board-grid:#9ba8ad17;--danger-wash:#e56b6f0b;--danger-line:#e56b6f57;--block-edge:#ffffff38;--block-shade:#00000038;--active-stroke:#ffffffc7;--ghost-stroke:#f3f5f194;--ghost-fill-alpha:.08;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-surface:2px;--radius-control:3px;--radius-dialog:3px;--focus-ring:#f5d27a;--motion-press:70ms;--motion-interaction:.12s;--motion-overlay:.16s;--motion-celebration:.22s;--ease-enter:cubic-bezier(.2, .8, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--cabinet-highlight:#f0ede338;--cabinet-shadow:#00000094;--board-cell:clamp(24px, min(calc((100vw - 420px) / 10), calc((100dvh - 180px) / 20)), 50px)}[data-contrast=high]{--color-well:#000508;--border-subtle:#eff1ea7a;--border-strong:#eff1eab8;--board-grid:#eff1ea33;--ghost-stroke:#ffffffdb;--ghost-fill-alpha:.12}*{box-sizing:border-box}html{background:var(--color-bg);min-width:320px;min-height:100%}body{background:var(--color-bg);min-width:320px;min-height:100dvh;color:var(--text-primary);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;margin:0;overflow-x:clip}button,kbd{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.panel-hint,.empty-preview{font-family:var(--font-data)}kbd{border:1px solid var(--border-strong);background:var(--surface-raised);min-width:1.65rem;min-height:1.5rem;color:var(--text-primary);font-family:var(--font-data);border-bottom-width:2px;border-radius:2px;justify-content:center;align-items:center;padding:.15rem .35rem;font-size:.66rem;display:inline-flex}.fatal-error{width:min(100% - 32px,560px);padding:var(--space-6);border-top:2px solid var(--danger);background:var(--surface-1);margin:12vh auto}.fatal-error h1{margin:6px 0 16px;font-size:clamp(1.75rem,6vw,2.25rem);line-height:1.25}.fatal-error details{margin:var(--space-4) 0;color:var(--text-secondary)}.fatal-error summary{cursor:pointer;font-weight:700}.fatal-error code{margin-top:var(--space-2);color:var(--text-secondary);overflow-wrap:anywhere;display:block}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.app-shell{width:min(100% - 32px,1080px);min-height:100dvh;margin:0 auto;padding:16px 0 12px}.screen-host,.app-screen{min-height:calc(100dvh - 28px)}.app-screen{position:relative}.game-play-surface{width:fit-content;max-width:100%;margin:0 auto}.home-header,.game-header,.result-header{align-items:center;gap:var(--space-4);border-bottom:0;min-height:56px;padding-bottom:10px;display:grid}.home-header,.game-header{grid-template-columns:1fr auto}.game-header{border:1px solid var(--border-strong);background:var(--surface-1);grid-template-columns:auto minmax(320px,1fr) auto;align-items:center;min-height:54px;margin-bottom:18px;padding:6px 8px}.result-header{border-bottom:0;grid-template-columns:1fr;align-items:center;min-height:56px}.home-stage{grid-template-columns:minmax(260px,.9fr) minmax(300px,1.1fr);grid-template-areas:"attract intro";align-items:center;gap:clamp(40px,7vw,88px);width:min(100%,880px);margin:clamp(56px,11vh,96px) auto 40px;display:grid}.attract-preview{grid-area:attract}.home-intro{grid-area:intro}.result-stage{width:min(100%,760px);margin:0 auto;padding:clamp(64px,11vh,96px) 0 40px}.game-layout{grid-template-columns:clamp(126px, calc(var(--board-cell) * 4.2), 190px) auto clamp(136px, calc(var(--board-cell) * 4.4), 200px);grid-template-areas:"hold board next";justify-content:center;align-items:start;gap:clamp(10px,1.3vw,14px);padding:0;display:grid}.hold-panel{grid-area:hold}.board-section{grid-area:board}.next-panel{grid-area:next}.board-section{min-width:0;padding-top:10px;position:relative}.board-frame{width:calc(var(--board-cell) * 10 + 16px);height:calc(var(--board-cell) * 20 + 16px);border:1px solid var(--cabinet-highlight);background:var(--surface-2);box-shadow:inset 0 2px #ffffff0f, 4px 4px 0 var(--cabinet-shadow);border-bottom-color:#000000c7;border-right-color:#000000ad;padding:7px;position:relative}.board-frame:has(#game-board:focus-visible){outline:2px solid var(--text-primary);outline-offset:2px}#game-board{width:calc(var(--board-cell) * 10);height:calc(var(--board-cell) * 20);background:var(--color-well);touch-action:none;outline:0;display:block}html[data-touch-controls=on]{--board-cell:clamp(18px, min(calc((100vw - 440px) / 10), calc((100dvh - 290px) / 20)), 32px)}@media (any-pointer:coarse){html[data-touch-controls=auto]{--board-cell:clamp(18px, min(calc((100vw - 440px) / 10), calc((100dvh - 290px) / 20)), 32px)}}@media (width<=739px){:root,html[data-touch-controls=on],html[data-touch-controls=auto]{--board-cell:clamp(18px, min(calc((100vw - 148px) / 10), calc((100dvh - 276px) / 20)), 28px)}.app-shell{width:auto;min-height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.screen-host,.app-screen{min-height:calc(100dvh - max(12px, env(safe-area-inset-top)) - max(4px, env(safe-area-inset-bottom)))}.game-play-surface{width:100%}.home-header,.game-header,.result-header{gap:var(--space-2);min-height:48px;padding-bottom:7px}.game-header{gap:5px var(--space-2);background:0 0;border:0;grid-template-columns:1fr auto;grid-template-areas:"wordmark pause""scoreboard scoreboard";margin-bottom:0;padding:4px 0 0}.game-wordmark{grid-area:wordmark}.cabinet-scoreboard{grid-area:scoreboard}.game-pause-action{grid-area:pause}.home-stage{grid-template:"attract""intro"/minmax(0,1fr);gap:clamp(18px,4vh,28px);width:100%;margin:clamp(22px,4vh,32px) auto 12px;padding:0}.result-stage{width:100%;padding:clamp(30px, 6vh, 48px) 0 var(--space-5)}.game-layout{box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr);grid-template-areas:"hold board next";justify-content:center;gap:0 7px;padding:0}.hold-panel,.next-panel{align-self:start;overflow:hidden}.board-frame{width:calc(var(--board-cell) * 10 + 12px);height:calc(var(--board-cell) * 20 + 12px);box-shadow:3px 3px 0 var(--cabinet-shadow);padding:5px}#game-board{width:calc(var(--board-cell) * 10);height:calc(var(--board-cell) * 20)}}@media (width<=339px){:root,html[data-touch-controls=on],html[data-touch-controls=auto]{--board-cell:clamp(18px, min(calc((100vw - 32px) / 10), calc((100dvh - 276px) / 20)), 24px)}.game-layout{grid-template-columns:1fr 1fr;grid-template-areas:"stats stats""hold next""board board"}.board-section{justify-self:center}}.brand-block h1,.game-wordmark h1,.result-brand{font-family:var(--font-display);letter-spacing:-.04em;font-weight:800;line-height:.9}.brand-block h1{margin:0;font-size:clamp(2rem,3vw,2.4rem)}.screen-utilities{gap:6px;display:flex}.attract-preview{min-height:372px;position:relative}.feed-gate--board{z-index:2;width:clamp(82px, calc(var(--board-cell) * 3.5), 116px);border:1px solid var(--border-strong);border-top-color:var(--cabinet-highlight);background:var(--surface-2);height:23px;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.feed-gate--board:before{background:var(--color-well);content:"";border:1px solid #000000bf;height:7px;position:absolute;bottom:7px;left:14px;right:14px;box-shadow:inset 0 2px #0000006b}.feed-gate--board span:before,.feed-gate--board span:after{background:var(--text-subtle);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:6px}.feed-gate--board span:before{left:8px}.feed-gate--board span:after{right:8px}.attract-well{border:1px solid var(--border-strong);background:var(--color-well);height:100%;min-height:372px;box-shadow:inset 0 3px 0 #0000008c, inset 0 0 0 7px var(--surface-1);position:relative;overflow:hidden}.attract-piece,.attract-stack{--demo-cell:clamp(19px, 2.2vw, 24px);position:absolute;inset:0}.attract-piece i,.attract-stack i{width:var(--demo-cell);height:var(--demo-cell);border:1px solid #ffffff61;position:absolute;box-shadow:inset 0 -4px #0000002e}.attract-piece i{background:var(--piece-t)}.attract-piece i:first-child{top:5px;left:calc(50% - var(--demo-cell) / 2)}.attract-piece i:nth-child(2){top:calc(5px + var(--demo-cell));left:calc(50% - var(--demo-cell) * 1.5)}.attract-piece i:nth-child(3){top:calc(5px + var(--demo-cell));left:calc(50% - var(--demo-cell) / 2)}.attract-piece i:nth-child(4){top:calc(5px + var(--demo-cell));left:calc(50% + var(--demo-cell) / 2)}.attract-stack i{bottom:5px}.attract-stack i:first-child{left:calc(50% - var(--demo-cell) * 4);background:var(--piece-j)}.attract-stack i:nth-child(2){left:calc(50% - var(--demo-cell) * 3);background:var(--piece-j)}.attract-stack i:nth-child(3){left:calc(50% - var(--demo-cell) * 2);background:var(--piece-o)}.attract-stack i:nth-child(4){left:calc(50% - var(--demo-cell));background:var(--piece-o)}.attract-stack i:nth-child(5){background:var(--piece-s);left:50%}.attract-stack i:nth-child(6){left:calc(50% + var(--demo-cell));background:var(--piece-s)}.attract-stack i:nth-child(7){left:calc(50% + var(--demo-cell) * 2);background:var(--piece-l)}.attract-stack i:nth-child(8){left:calc(50% + var(--demo-cell) * 3);background:var(--piece-l)}.home-intro{align-content:center;justify-items:start;width:min(100%,360px);display:grid}.button.home-start{width:min(100%,300px);min-height:52px;font-size:1rem}.home-meta{gap:var(--space-2);width:min(100%,300px);margin-top:var(--space-3);display:grid}.home-input-hint{color:var(--text-subtle);font-family:var(--font-body);margin:0;font-size:.65rem}.home-best{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;min-height:46px;padding:var(--space-2) 0 0;border-top:1px solid var(--border-subtle);display:flex}.home-best span,.result-score span,.result-outcome{color:var(--text-secondary);letter-spacing:0;font-size:.68rem;font-weight:700}.home-best strong{color:var(--text-primary);font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1}.game-wordmark h1{margin:0;font-size:1.45rem}.cabinet-scoreboard{background:var(--color-well);border:1px solid #0000009e;min-width:0;box-shadow:inset 0 2px #0000007a}.pause-overlay{z-index:100;padding:var(--space-4);background:#04080bdb;place-items:center;display:grid;position:fixed;inset:0}.pause-panel{gap:var(--space-3) var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-surface);background:var(--surface-1);text-align:left;grid-template-columns:minmax(0,1fr) minmax(180px,.72fr);grid-template-areas:"title continue""description continue""secondary secondary""utility utility";width:min(100%,600px);padding:clamp(22px,5vw,32px);display:grid;box-shadow:0 18px 48px #00000057}.app-shell:has(.modal-dialog[open]) .pause-panel{opacity:0;pointer-events:none}.pause-panel h2{letter-spacing:-.025em;grid-area:title;margin:0;font-size:clamp(1.65rem,4vw,2rem);font-weight:750;line-height:1.1}.pause-panel>p{margin:0 0 var(--space-2);color:var(--text-secondary);grid-area:description;font-size:.84rem;line-height:1.55}.pause-panel>.button--primary{grid-area:continue;align-self:stretch;min-height:96px;font-size:1rem}.pause-secondary-actions,.pause-utility-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.pause-secondary-actions{grid-area:secondary}.pause-utility-actions{grid-area:utility}.pause-secondary-actions .button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.pause-secondary-actions svg{fill:currentColor;width:15px;height:15px}.pause-utility-actions{padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.pause-utility-actions button{min-height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;font-weight:700}.result-brand{color:var(--text-primary);font-size:1.55rem;text-decoration:none}.result-summary{gap:var(--space-5) clamp(32px, 6vw, 64px);grid-template-columns:minmax(300px,1.15fr) minmax(250px,.85fr);grid-template-areas:"heading heading""score details";min-width:0;display:grid}.result-heading{grid-area:heading}.result-heading h1{margin:var(--space-1) 0 0;color:var(--text-primary);letter-spacing:-.03em;font-size:clamp(1.7rem,4vw,2.15rem);font-weight:750}.result-outcome{margin:0}.result-screen[data-new-best=true] .result-outcome{color:var(--accent)}.result-score{align-content:center;gap:var(--space-3);border-right:1px solid var(--border-strong);grid-area:score;grid-template-columns:minmax(0,1fr);min-width:0;padding-right:clamp(28px,5vw,52px);display:grid}.result-score strong{color:var(--text-primary);font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.055em;font-size:clamp(4.6rem,10vw,6.8rem);font-stretch:75%;line-height:.82}#result-score-value[data-length=long]{letter-spacing:-.055em;font-size:clamp(3.2rem,6vw,5rem)}.result-details{align-content:center;gap:var(--space-5);grid-area:details;display:grid}.result-stats{gap:0;margin:0;display:grid}.result-stats>div{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;min-height:40px;padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);display:flex}.result-stats dt{color:var(--text-secondary);font-size:.7rem}.result-stats dd{overflow-wrap:anywhere;font-family:var(--font-data);font-variant-numeric:tabular-nums;margin:0;font-size:1rem}.result-actions{gap:var(--space-2);grid-template-columns:1fr;display:grid}.result-actions .button{min-height:50px}.icon-button,.button{border:1px solid var(--border-strong);border-radius:var(--radius-control);min-height:40px;color:var(--text-primary);cursor:pointer;background:0 0;font-weight:700}.icon-button{align-items:center;gap:6px;padding:0 11px;font-size:.74rem;display:inline-flex}.icon-button svg{fill:currentColor;width:16px;height:16px}.icon-button:hover:not(:disabled),.button:hover:not(:disabled){border-color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 6%, transparent)}.icon-button:active:not(:disabled),.button:active:not(:disabled){transform:translateY(1px)}.icon-button:disabled,.button:disabled{cursor:not-allowed;opacity:.42}.icon-button.is-active{border-color:var(--accent);color:var(--accent)}.button{width:100%;padding:0 16px}.button--primary{border-color:var(--accent);background:var(--accent);color:var(--accent-on);box-shadow:inset 0 -2px #00000038}.button--primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.button--primary:active:not(:disabled){box-shadow:none}.button--danger{border-color:var(--danger);color:var(--danger)}.hud-card{min-width:0;padding:4px 0}.panel-heading{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:30px;padding:0 1px;display:flex}.panel-heading h2{color:var(--text-secondary);letter-spacing:0;margin:0;font-size:.7rem;font-weight:700}.preview-frame,.next-list{border:1px solid var(--border-strong);background:var(--color-well);box-shadow:inset 0 2px #00000061}.preview-frame{min-height:clamp(92px, calc(var(--board-cell) * 3), 150px);position:relative}.hold-panel[data-available=false] .preview-frame{opacity:.64}#hold-preview{width:100%;height:clamp(92px, calc(var(--board-cell) * 3), 150px);display:block}.next-preview{width:100%;height:clamp(68px, calc(var(--board-cell) * 2.2), 110px);display:block}.next-item--primary .next-preview{height:clamp(110px, calc(var(--board-cell) * 3.4), 170px)}.empty-preview{color:var(--text-subtle);place-items:center;margin:0;font-size:.64rem;display:grid;position:absolute;inset:0}.panel-hint{color:var(--text-subtle);justify-content:center;align-items:center;gap:6px;margin:0;padding:8px 4px 0;font-size:.6rem;display:flex}.stats-list{grid-template-columns:repeat(4,minmax(58px,1fr));gap:0;margin:0;padding:3px;display:grid}.stat{text-align:center;min-width:0;padding:2px 8px}.stat dt{color:var(--text-secondary);font-size:.66rem}.stat dd{color:var(--text-primary);font-family:var(--font-data);font-variant-numeric:tabular-nums;text-overflow:ellipsis;margin:0;font-size:clamp(.82rem,1.8vw,1rem);overflow:hidden}.stat--score{grid-column:auto}.stat--score dd{color:var(--accent);font-size:clamp(.9rem,2vw,1.08rem)}.next-list{margin:0;padding:0;list-style:none;display:grid}.next-item{position:relative}.next-item+.next-item{border-top:1px solid #93a2a82e}.status-rail{border:1px solid var(--border-strong);background:var(--surface-2);border-top:0;justify-content:flex-start;align-items:center;min-height:30px;margin-top:8px;padding:0 9px;font-size:.67rem;display:flex;position:relative}#game-status{color:var(--accent);align-items:center;gap:7px;font-weight:700;display:inline-flex}#game-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}#game-status[data-status=gameOver]{color:var(--danger)}.feedback-chip{border:1px solid var(--accent);background:var(--surface-raised);color:var(--accent);letter-spacing:.06em;pointer-events:none;place-items:center;font-size:.66rem;font-weight:800;display:grid;position:absolute;inset:0}.key-pair{align-items:center;gap:4px;display:flex}.modal-dialog{width:min(100% - 32px,520px);max-height:min(82dvh,680px);padding:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-dialog);background:var(--surface-1);color:var(--text-primary);-webkit-user-select:text;user-select:text;overflow:auto;box-shadow:0 18px 48px #0000005c}.modal-dialog::backdrop{background:#04080be6}.modal-dialog--compact{width:min(100% - 32px,460px)}.dialog-heading{justify-content:space-between;align-items:start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.dialog-heading h2,.modal-dialog--compact h2{margin:4px 0 0;font-size:clamp(1.2rem,4.5vw,1.45rem);line-height:1.35}.modal-dialog--compact>p{color:var(--text-secondary);line-height:1.55}.dialog-close{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-2);width:40px;height:40px;color:var(--text-primary);cursor:pointer;flex:none;font-size:1.45rem}.control-guide-grid{gap:0 var(--space-5);padding-top:var(--space-3);grid-template-columns:1fr 1fr;margin:0;display:grid}.control-guide-grid>div{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(88px,auto) 1fr;min-height:54px;display:grid}.control-guide-grid dt{gap:5px;display:flex}.control-guide-grid dd{color:var(--text-secondary);text-align:right;margin:0;font-size:.76rem}.settings-form{gap:var(--space-5);padding-top:var(--space-5);display:grid}.settings-form fieldset{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;padding:0;display:grid}.settings-form legend{width:100%;margin-bottom:var(--space-2);color:var(--text-secondary);padding:0;font-size:.74rem;font-weight:700}.settings-form label{border-radius:var(--radius-control);background:var(--surface-2);min-height:44px;color:var(--text-secondary);cursor:pointer;text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:7px;font-size:.72rem;display:flex}.settings-form label:has(input:checked){border-color:var(--accent);color:var(--text-primary)}.settings-form input{accent-color:var(--accent)}.dialog-actions{gap:var(--space-2);margin-top:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.status-toast{z-index:120;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));border-left:2px solid var(--accent);background:var(--surface-raised);max-width:min(100% - 32px,360px);color:var(--text-primary);padding:12px 15px;font-size:.76rem;line-height:1.5;position:fixed;box-shadow:0 8px 18px #0000004d}.touch-controls{gap:var(--space-3);touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:1fr 1fr;width:min(100%,520px);margin:8px auto 0;display:none}.touch-cluster{border:1px solid var(--border-subtle);background:0 0;grid-template-columns:repeat(2,minmax(48px,1fr));gap:4px;padding:4px;display:grid}.touch-controls button{border-radius:var(--radius-control);background:var(--surface-2);min-width:48px;min-height:48px;color:var(--text-primary);touch-action:none;border:1px solid #93a2a870;font-size:.72rem;font-weight:700}.touch-controls button span{font-size:1.2rem}.touch-controls button.is-pressed{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface-1));color:var(--accent);transform:translateY(1px)}.touch-controls .touch-hard-drop{border-color:var(--accent);grid-column:span 2;min-height:54px}html[data-touch-controls=on] .touch-controls{display:grid}.viewport-notice{z-index:110;width:100%;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:var(--color-bg);text-align:left;align-content:center;justify-items:stretch;display:grid;position:fixed;inset:0}.app-shell:has(.viewport-notice:not([hidden])) .screen-host{display:none}.viewport-notice>*{width:min(100%,280px);margin-left:auto;margin-right:auto}.viewport-notice strong{letter-spacing:-.025em;font-size:clamp(1.45rem,7vw,1.7rem);line-height:1.25}.viewport-notice p{margin-top:var(--space-3);margin-bottom:var(--space-5);color:var(--text-secondary);line-height:1.55}@media (any-pointer:coarse){html[data-touch-controls=auto] .touch-controls{display:grid}}@media (width<=739px){.brand-block h1{font-size:clamp(1.9rem,9vw,2.35rem)}.screen-utilities .icon-button,.game-pause-action{justify-content:center;width:48px;min-height:48px;padding:0}.screen-utilities span,.game-pause-action span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.attract-preview{justify-self:center;width:min(100%,260px);min-height:196px}.feed-gate--board{height:20px;top:-8px}.attract-well{min-height:196px;box-shadow:inset 0 2px 0 #0000008c, inset 0 0 0 5px var(--surface-1)}.attract-piece,.attract-stack{--demo-cell:18px}.home-intro,.button.home-start,.home-meta{width:100%}.home-best{min-height:40px}.home-best strong{font-size:1.2rem}.result-summary{gap:var(--space-5);grid-template-columns:minmax(0,1fr);grid-template-areas:"heading""score""details"}.result-score{gap:var(--space-2);padding:0 0 var(--space-5);border-right:0;border-bottom:1px solid var(--border-strong)}.result-score strong{font-size:clamp(4.2rem,20vw,5.4rem)}.result-stats dd{font-size:.95rem}#result-score-value[data-length=long]{font-size:clamp(2.7rem,11vw,3.4rem)}.result-actions{grid-template-columns:1fr}.touch-controls{margin-top:0}.hud-card{padding:2px 0}.stats-list{border-top:0;border-bottom:1px solid var(--border-subtle);grid-template-columns:repeat(3,1fr);padding:0}.stat,.stat--score{grid-column:auto;padding:4px 6px 5px}.stat--best{display:none}.stat dt{font-size:.54rem}.stat dd,.stat--score dd{margin-top:0;font-size:clamp(.78rem,3.5vw,1rem)}.panel-heading{min-height:26px;padding:0 4px}.panel-heading h2{font-size:.58rem}.panel-hint{display:none}.preview-frame,#hold-preview{height:58px;min-height:58px}.next-preview{height:clamp(48px, calc(var(--board-cell) * 3.6), 60px)}.next-item--primary .next-preview{height:clamp(58px, calc(var(--board-cell) * 4.2), 74px)}.status-rail{min-height:26px;margin-top:6px}.hold-panel .empty-preview{font-size:0}.hold-panel .empty-preview:after{content:"—";font-size:.72rem}.modal-dialog{padding:var(--space-4)}.pause-panel{grid-template-columns:1fr;grid-template-areas:"title""description""continue""secondary""utility";max-width:420px;box-shadow:0 14px 36px #00000057}.pause-panel>.button--primary{min-height:52px}.modal-dialog--compact h2{font-size:1.15rem}.control-guide-grid,.settings-form fieldset{grid-template-columns:1fr}.control-guide-grid>div{grid-template-columns:minmax(108px,auto) 1fr}}@media (forced-colors:active){.button--primary{color:highlighttext;background:highlight;border-color:highlight}.feed-gate--board,#game-status:before,.result-score,.status-rail,.attract-preview{border-color:highlight}.attract-piece i,.attract-stack i{background:canvastext}}.icon-button,.button,.touch-controls button{transition:border-color var(--motion-interaction) var(--ease-enter), background-color var(--motion-interaction) var(--ease-enter), color var(--motion-interaction) var(--ease-enter), transform var(--motion-press) var(--ease-exit)}.pause-overlay{animation:pause-scrim-in .1s var(--ease-enter)}.pause-panel{animation:pause-gate-in .12s var(--ease-enter)}.app-screen:not([hidden]) .attract-piece{animation:2.4s steps(5,end) infinite attract-drop}[data-motion=reduced] .app-screen .attract-piece{animation:none;transform:translateY(clamp(92px,15vh,156px))}.board-frame.is-feedback-rotate{animation:feedback-rotate 70ms var(--ease-enter)}.board-frame.is-feedback-error,.hold-panel.is-feedback-error{animation:feedback-error 80ms var(--ease-exit)}.board-frame.is-feedback-lock{animation:feedback-lock 90ms var(--ease-exit)}.board-frame.is-feedback-line{animation:feedback-line var(--motion-celebration) var(--ease-enter)}.hold-panel.is-feedback-success{animation:feedback-success .12s var(--ease-enter)}.feedback-chip.is-visible{animation:feedback-chip var(--motion-celebration) var(--ease-enter)}@keyframes pause-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes pause-gate-in{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes attract-drop{0%,12%{transform:translateY(0)}72%,88%{transform:translateY(clamp(92px,15vh,156px))}to{transform:translateY(0)}}@keyframes feedback-rotate{50%{border-color:var(--active-stroke)}}@keyframes feedback-error{50%{border-color:var(--danger)}}@keyframes feedback-lock{50%{border-bottom-color:var(--accent)}}@keyframes feedback-line{50%{border-left-color:var(--accent);border-right-color:var(--accent)}}@keyframes feedback-success{50%{outline:2px solid var(--success)}}@keyframes feedback-chip{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.attract-piece{transform:translateY(clamp(92px,15vh,156px))}}@media (forced-colors:active){.feed-gate--board,.status-rail,.hud-card,.board-frame{forced-color-adjust:auto}}
