:root{color-scheme:light;--paper: #e9ece0;--ink: #20251d;--muted: #777e70;--line: #c9cebf;--lcd: #bacd92;--lcd-dark: #253626;--tomato: #da6042;font-family:Courier New,ui-monospace,monospace;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box;letter-spacing:0}body{min-width:320px;min-height:100vh;margin:0;background-color:var(--paper);background-image:linear-gradient(rgba(32,37,29,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(32,37,29,.035) 1px,transparent 1px);background-size:32px 32px}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}.page-shell{width:min(860px,calc(100% - 40px));margin-inline:auto;padding:28px 0 32px}.topline,.brand,.edition,.console-label,.console-footer,.eyebrow,.stat-label,.control-heading,.panel-heading{font-size:11px;font-weight:700;line-height:1.2;text-transform:uppercase}.topline{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding-bottom:17px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}.brand-mark{width:12px;height:12px;background:var(--tomato);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.edition{display:flex;align-items:center;gap:10px;color:var(--muted)}.edition-number{display:grid;width:27px;height:27px;place-items:center;color:var(--paper);background:var(--ink)}.game-layout{display:grid;grid-template-columns:minmax(280px,390px) minmax(220px,270px);align-items:start;justify-content:center;gap:clamp(28px,6vw,62px);margin-top:34px}.game-column{min-width:0}.page-title{display:flex;align-items:end;gap:17px;margin:0 0 23px}.page-title .high-score-panel{display:grid;flex:0 1 190px;gap:4px;min-width:130px;margin-left:auto;padding-left:10px;border-left:1px solid var(--line)}.page-title .high-score-panel .panel-heading{gap:4px;font-size:9px}.page-title .high-score-panel .panel-heading h2{font:inherit}.page-title .high-score-panel .panel-heading span{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-title .high-score-value{font-size:20px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.page-title .high-score-message{margin:0;color:#545b4d;font-size:9px;overflow-wrap:anywhere}.page-title .score-list-button{min-height:26px;padding:4px 6px;font-size:8px}.page-title h1{margin:0;font-size:clamp(38px,8vw,58px);line-height:.9;font-weight:900}.eyebrow{margin:0 0 8px;color:var(--muted)}.title-rule{width:36px;height:7px;margin-bottom:5px;background:var(--tomato)}.console{width:100%;padding:15px;border:2px solid var(--ink);background:#d5dacb;box-shadow:7px 7px #bac1b0;animation:settle-in .42s ease-out both}.console-header,.console-footer{display:flex;align-items:center;justify-content:space-between;min-height:24px;color:#545b4d}.console-header{padding:0 1px 11px}.console-footer{padding:11px 1px 0;font-size:10px}.power-indicator{display:inline-flex;align-items:center;gap:6px}.power-light{width:7px;height:7px;border-radius:50%;background:var(--tomato);box-shadow:0 0 0 2px #da60422e}.screen{position:relative;overflow:hidden;width:100%;aspect-ratio:1 / 2;border:2px solid #43533c;background:var(--lcd);box-shadow:inset 0 0 0 4px #25362621;touch-action:none}.screen-widgets{position:absolute;z-index:5;inset:8px 8px auto;display:grid;grid-template-columns:minmax(56px,1.1fr) repeat(3,minmax(0,1fr));align-items:start;gap:6px;pointer-events:none}.screen-widgets>*{min-width:0;margin:0;padding:0;border:0;background:transparent;pointer-events:auto}.screen-widgets .next-panel{display:grid;gap:2px}.screen-widgets .panel-heading{font-size:9px}.screen-widgets .panel-heading h2{font-size:inherit}.screen-widgets .preview-screen{display:grid;min-height:0;margin:0;place-items:center;border:0;background:transparent}.screen-widgets #next-piece{width:54px;height:44px}.screen-stat{display:grid;gap:3px;min-width:0;padding-top:1px}.screen-stat .stat-label{font-size:9px}.screen-stat .stat-value{overflow:hidden;font-size:clamp(12px,3.8vw,18px);text-overflow:clip;white-space:nowrap}.stats-panel{display:block}.screen:after{position:absolute;z-index:3;pointer-events:none;content:"";inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(37,54,38,.035) 4px)}.game-canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.screen-overlay{position:absolute;z-index:4;inset:0;pointer-events:none;display:grid;align-content:center;justify-items:center;gap:8px;color:var(--lcd-dark);background:#bacd92c2;text-align:center}.screen-overlay[hidden]{display:none}.screen-overlay strong{font-size:clamp(22px,6vw,32px);letter-spacing:.04em}.screen-overlay span{font-size:11px;font-weight:700;letter-spacing:.1em}.side-panel{display:grid;gap:22px;padding-top:64px}.stats-panel,.control-block{border-top:2px solid var(--ink);padding-top:12px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h2{margin:0;font:inherit}.panel-heading span{color:var(--muted)}.preview-screen{display:grid;min-height:112px;margin-top:10px;place-items:center;border:1px solid var(--line);background:#bacd926b}#next-piece{display:block;max-width:100%;image-rendering:pixelated}.stats-panel{display:grid;gap:16px}.stat{display:grid;gap:7px}.stat-label{color:var(--muted)}.stat-value{font-size:clamp(25px,5vw,32px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:12px;border-top:1px solid var(--line)}.stat-small .stat-value{font-size:20px}.score-list-button,.dialog-close-button{min-height:38px;padding:8px 10px;border:1px solid var(--ink);background:transparent;font-size:10px;font-weight:700;letter-spacing:.06em;cursor:pointer}.score-list-button:hover:not(:disabled),.dialog-close-button:hover{color:var(--paper);background:var(--ink)}.score-list-button:disabled{cursor:wait;opacity:.55}.score-submit-dialog{width:min(420px,calc(100% - 32px));padding:0;border:2px solid var(--ink);color:var(--ink);background:var(--paper);box-shadow:7px 7px 0 var(--ink)}.score-submit-dialog::backdrop{background:#20251d9e}.score-submit-form{display:grid;gap:12px;padding:24px}.score-submit-form .eyebrow,.score-submit-form h2,.score-submit-value{margin:0}.score-submit-form h2{font-size:22px}.score-submit-value,.score-submit-form label{color:var(--muted);font-size:11px;font-weight:700}.score-submit-value output{display:block;margin-top:5px;color:var(--ink);font-size:32px;line-height:1;font-variant-numeric:tabular-nums}.score-submit-form input{width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--ink);border-radius:0;color:var(--ink);background:#fffaf1;font:inherit}.score-submit-form input:focus-visible{outline:3px solid var(--tomato);outline-offset:2px}.score-submit-error{margin:0;color:#a23829;font-size:12px;font-weight:700}.score-submit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.score-submit-actions button{min-height:40px;padding:8px 12px;border:1px solid var(--ink);font-size:11px;font-weight:700;cursor:pointer}.score-submit-cancel{background:transparent}.score-submit-save{color:#fffaf1;background:var(--tomato)}.score-submit-actions button:disabled{cursor:wait;opacity:.65}.high-scores-dialog{width:min(440px,calc(100% - 32px));max-height:min(620px,calc(100% - 32px));padding:0;border:2px solid var(--ink);color:var(--ink);background:var(--paper);box-shadow:7px 7px #20251d40}.high-scores-dialog::backdrop{background:#20251d9e}.high-scores-content{display:grid;gap:16px;padding:20px}.high-scores-list{display:grid;gap:0;max-height:340px;margin:0;padding:0;overflow-y:auto;list-style:none}.high-scores-list li:not(.high-scores-message){display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:38px;border-bottom:1px solid var(--line);font-size:12px}.high-score-rank,.high-score-points{font-weight:700;font-variant-numeric:tabular-nums}.high-score-rank{color:var(--muted)}.high-score-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.high-scores-message{padding:14px 0;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.high-scores-actions{display:flex;justify-content:space-between;gap:10px}.primary-button,.control-button{border:2px solid var(--ink);background:transparent;cursor:pointer}.primary-button{justify-self:center;min-width:126px;min-height:36px;padding:7px 22px;border-radius:999px;color:#424a3e;background:#c9cebf;box-shadow:inset 2px 2px #ffffffa6,2px 4px #858d7e;font-size:12px;font-weight:700;letter-spacing:.1em;transform:rotate(-8deg);transition:transform .1s ease,box-shadow .1s ease,background .1s ease}.primary-button:hover{background:#d7dccd}.primary-button:active{box-shadow:inset 1px 1px #ffffff73,0 1px #858d7e;transform:translateY(3px) rotate(-8deg)}.control-heading{margin:0 0 12px}.keyboard-help{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:9px 0;color:#545b4d;font-size:10px;font-weight:700}kbd{display:inline-grid;min-width:20px;min-height:20px;padding:2px 4px;place-items:center;border:1px solid var(--line);border-bottom-width:2px;background:#ffffff40;color:var(--ink);font:inherit}.touch-controls{display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;margin-top:17px;padding:5px 4px 8px}.d-pad{justify-self:start}.action-buttons{justify-self:end}.gamepad-start{grid-column:1 / -1;min-width:70px;min-height:24px;margin-bottom:14px;padding:4px 11px;font-size:8px;transform:none}.gamepad-start:active{transform:translateY(3px)}.d-pad{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px);filter:drop-shadow(2px 3px 0 rgba(32,37,29,.28))}.d-pad-button,.d-pad-center{display:grid;place-items:center;color:#e9ece0;border:1px solid #121612;background:#303830}.d-pad-button{z-index:1;padding:0;font-size:15px;font-weight:700;cursor:pointer;touch-action:manipulation}.d-pad-button:active,.action-button:active{background:#596354}.d-pad-up{grid-area:1 / 2;border-radius:4px 4px 0 0}.d-pad-left{grid-area:2 / 1;border-radius:4px 0 0 4px}.d-pad-center{grid-area:2 / 2;border-radius:2px;box-shadow:inset 0 0 0 7px #303830}.d-pad-right{grid-area:2 / 3;border-radius:0 4px 4px 0}.d-pad-down{grid-area:3 / 2;border-radius:0 0 4px 4px}.action-buttons{display:flex;align-items:center;gap:12px;padding:0 2px 0 8px;transform:rotate(-22deg)}.action-button{width:46px;height:46px;padding:0;border:2px solid #753a36;border-radius:50%;color:#f5e8db;background:#bd5d54;box-shadow:inset 2px 2px #fff3,2px 3px #20251d40;font-size:13px;font-weight:700;cursor:pointer;touch-action:manipulation}.action-b{margin-top:15px}.record-note{min-height:14px;margin:-12px 0 0;color:#545b4d;font-size:10px;line-height:1.4}.bottomline{display:flex;justify-content:space-between;margin-top:42px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes settle-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:680px){.page-shell{width:min(520px,calc(100% - 32px));padding-top:20px}.game-layout{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);gap:22px;margin-top:27px}.side-panel{gap:18px;padding-top:57px}.console{padding:10px}.console-label{font-size:9px}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.page-shell{padding-bottom:170px}.game-layout{grid-template-columns:minmax(0,1fr);row-gap:16px}.game-column{grid-column:1;justify-self:center;width:min(300px,100%);min-width:0}.screen{aspect-ratio:1 / 1.6}.page-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;margin-bottom:14px}.page-title .title-rule{display:none}.page-title .high-score-panel{min-width:0;padding-left:7px}.page-title .high-score-panel .panel-heading{font-size:8px}.page-title .high-score-value{font-size:clamp(16px,5vw,20px)}.page-title h1{font-size:clamp(32px,10vw,42px)}.title-rule{width:22px}.console{padding:7px}.console-footer{font-size:8px}.side-panel{display:contents}.stats-panel{grid-column:1 / -1;grid-row:auto;gap:10px;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr)}.screen-widgets{inset:7px 6px auto;grid-template-columns:minmax(45px,1.1fr) repeat(3,minmax(0,1fr));gap:4px}.screen-widgets .panel-heading{font-size:8px}.screen-widgets #next-piece{width:42px;height:36px}.screen-stat{gap:2px}.screen-stat .stat-label{font-size:8px}.screen-stat .stat-value{font-size:clamp(10px,3.5vw,14px)}.control-block,.record-note{grid-column:1 / -1}.stats-panel>.stat{grid-row:auto}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:8px}.stat-small .stat-label{font-size:9px}.stat-small .stat-value{font-size:clamp(10px,3.2vw,13px)}.control-block{position:fixed;z-index:20;inset:auto 0 0;width:100%;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:2px solid var(--ink);background:var(--paper);box-shadow:0 -4px 12px #20251d1f}.touch-controls{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:4px;width:min(360px,100%);margin-inline:auto;padding:0}.gamepad-start{grid-column:2;margin:0}.d-pad{grid-column:1;justify-self:center}.action-buttons{grid-column:3;justify-self:center;align-items:flex-start;gap:clamp(10px,3.5vw,14px);padding:0 2px;transform:none}.action-a{margin-top:6px}.action-b{margin-top:-18px}.action-button{width:clamp(44px,13vw,52px);height:clamp(44px,13vw,52px)}}@media(max-width:350px){.page-shell{width:calc(100% - 20px);padding-top:12px}.game-layout{grid-template-columns:minmax(0,1fr);margin-top:12px}.console{padding:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
