*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overscroll-behavior:none;overflow:hidden}body{background:var(--c-background,#0e130e);color:var(--c-text,#d9f0a8);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.screen{width:100%;height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;align-items:center;display:flex;overflow:hidden auto}.landing,.result{text-align:center;justify-content:center;gap:24px}.landing>*,.result>*{max-width:420px}h1{letter-spacing:.06em;overflow-wrap:anywhere;margin:0;font-size:clamp(26px,9vw,42px);line-height:1.1}p{margin:0}.edition{letter-spacing:.2em;color:var(--c-pickup);margin-top:8px;font-size:22px}.dim{color:var(--c-text-dim)}.cursor{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:2px solid;border-radius:0;padding:0}button:focus-visible{outline:3px solid var(--c-pickup);outline-offset:3px}.btn-primary{background:var(--c-accent);border-color:var(--c-accent);width:100%;min-height:72px;color:var(--c-accent-text);letter-spacing:.15em;font-size:28px;font-weight:700;box-shadow:4px 4px #0009}.btn-primary:active{transform:translate(3px,3px);box-shadow:1px 1px #0009}.btn-small{min-height:44px;padding:0 16px;font-size:14px}.control-toggle{color:var(--c-text-dim);justify-content:center;align-items:center;gap:8px;display:flex}.control-toggle button{min-width:84px;min-height:48px;padding:0 14px;font-size:16px}.control-toggle button[aria-pressed=true]{background:var(--c-text);border-color:var(--c-text);color:var(--c-background);font-weight:700}.game{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right));touch-action:none;gap:8px;position:relative;overflow:hidden}.hud{letter-spacing:.1em;width:100%;color:var(--c-text-dim);justify-content:space-between;font-size:16px;display:flex}.hud b{color:var(--c-text);font-size:20px}.board-area{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.board-area canvas{border-style:solid;border-color:var(--c-text-dim);box-sizing:content-box;flex:none;display:block}.countdown{pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;padding-top:12%;display:flex;position:absolute;inset:0}.countdown span{color:var(--c-pickup);text-shadow:4px 4px #000000b3;font-size:96px;font-weight:700}.countdown small{letter-spacing:.1em;color:var(--c-text);text-shadow:2px 2px #000000e6;font-size:16px}.pad{flex:none;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,340px);height:152px;display:grid}.pad button{min-height:68px;color:var(--c-text);background:#ffffff0a;justify-content:center;align-items:center;display:flex}.pad button:active{background:var(--c-text);color:var(--c-background)}.pad-up{grid-area:1/2}.pad-left{grid-area:2/1}.pad-down{grid-area:2/2}.pad-right{grid-area:2/3}.result-title{font-size:clamp(20px,6vw,28px)}.stats{gap:16px;width:100%;margin:0;display:grid}.stats dt{letter-spacing:.2em;color:var(--c-text-dim);justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.stats dd{margin:4px 0 0;font-size:32px;font-weight:700}.stats dd.big{color:var(--c-pickup);font-size:52px}.debug-panel{color:#fff;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none;background:#000000b8;margin:0;padding:6px 8px;font-size:10px;line-height:1.35;position:absolute;top:44px;left:8px;right:8px}.debug-result{text-align:left;width:100%;max-width:100%}.debug-result pre{-webkit-user-select:text;user-select:text;background:#00000080;max-height:40vh;margin:12px 0 0;padding:8px;font-size:11px;overflow:auto}@media (prefers-reduced-motion:reduce){.cursor{animation:none}.btn-primary:active{transform:none}}
