:root{--ui-font:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ui-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Roboto Mono", monospace;--ui-text:#fffaf0;--ui-shadow:0 1px 2px #0000008c, 0 0 6px #00000040;--ui-panel:#0a1020d1;--ui-panel-line:#ffffff24;--ui-accent:#ff6a2a;--ui-accent-hi:#ff8a5a;--ui-leaf:#d8ff6a;--ui-muted:#c8d0e0;--ui-error:#ffb08a;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--tap:44px}html,body{overscroll-behavior:none;background:#0a1030;height:100%;margin:0;overflow:hidden}#game{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-family:var(--ui-font);color:var(--ui-text);position:fixed;inset:0;overflow:hidden}#scene{width:100%;height:100%;display:block;position:absolute;inset:0}#ui{pointer-events:none;position:absolute;inset:0}#game [hidden]{display:none!important}#game button,#game input{font:inherit;pointer-events:auto}#game button{cursor:pointer;touch-action:manipulation}#game button:focus-visible,#game input:focus-visible{outline:3px solid var(--ui-leaf);outline-offset:2px}.hud{padding:calc(8px + var(--safe-t)) calc(12px + var(--safe-r)) 0 calc(8px + var(--safe-l));pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;inset:0}.hud-controls{gap:6px;display:flex}.hud-btn{min-width:var(--tap);min-height:var(--tap);color:var(--ui-text);text-shadow:var(--ui-shadow);-webkit-backdrop-filter:blur(2px);background:#0a102059;border:1px solid #ffffff59;border-radius:12px;padding:0;font-size:16px;line-height:1}.hud-btn:active{background:#0a102099}.hud-mute.is-muted{opacity:.6;text-decoration:line-through}.hud-scores{font-family:var(--ui-mono);letter-spacing:.06em;text-shadow:var(--ui-shadow);font-variant-numeric:tabular-nums;align-items:baseline;gap:14px;font-weight:700;display:flex}.hud-best{opacity:.8;font-size:15px}.hud-score{font-size:22px}.start-screen{padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);text-align:center;pointer-events:none;background:radial-gradient(#0a102059,#0000 70%);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.start-title{letter-spacing:.02em;text-shadow:0 3px #00000059,0 0 18px #00000059;margin:0;font-size:clamp(36px,9vmin,72px);font-weight:800}.start-prompt{text-shadow:var(--ui-shadow);margin:0;font-size:clamp(15px,3.6vmin,22px);font-weight:600;animation:1.6s ease-in-out infinite jd-pulse}@keyframes jd-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.start-prompt{animation:none}}.game-over{padding:calc(8px + var(--safe-t)) calc(12px + var(--safe-r)) calc(8px + var(--safe-b)) calc(12px + var(--safe-l));pointer-events:auto;background:#0003;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.go-panel{overscroll-behavior:contain;touch-action:pan-y;box-sizing:border-box;border:1px solid var(--ui-panel-line);background:var(--ui-panel);text-align:center;border-radius:18px;gap:10px;width:min(100%,420px);max-height:100%;padding:14px 16px;display:grid;overflow-y:auto;box-shadow:0 10px 30px #0006}.go-title{letter-spacing:.04em;margin:0;font-size:22px;font-weight:800}.go-stats{font-family:var(--ui-mono);font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:16px;font-weight:700;display:flex}.go-score{font-size:30px}.go-best{color:var(--ui-muted);font-size:16px}.go-retry{background:var(--ui-accent);color:#1a0a00;letter-spacing:.04em;border:0;border-radius:14px;width:100%;min-height:56px;font-weight:800;box-shadow:0 4px #b8441a;font-size:22px!important}.go-retry:active{background:var(--ui-accent-hi);transform:translateY(2px);box-shadow:0 2px #b8441a}.go-nick-form{gap:8px;display:flex}.go-nick-input{min-width:0;min-height:var(--tap);box-sizing:border-box;color:var(--ui-text);-webkit-user-select:text;user-select:text;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:10px;flex:1;padding:0 12px;font-size:16px!important}.go-nick-input::placeholder{color:#ffffff8c}.go-nick-save,.go-nick-edit{min-height:var(--tap);min-width:var(--tap);color:var(--ui-text);background:#ffffff1f;border:1px solid #ffffff59;border-radius:10px;padding:0 14px;font-weight:700}.go-nick-shown{color:var(--ui-muted);justify-content:center;align-items:center;gap:6px;margin:0;display:flex}.go-nick-name{color:var(--ui-text);overflow-wrap:anywhere}.go-nick-error,.go-status{margin:0;font-size:14px}.go-nick-error{color:var(--ui-error)}.go-status{color:var(--ui-muted)}.go-board{gap:6px;display:grid}.go-tabs{background:#ffffff14;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.go-tab{min-height:var(--tap);color:var(--ui-muted);background:0 0;border:0;border-radius:9px;font-size:14px;font-weight:700}.go-tab.is-active{color:var(--ui-text);background:#ffffff2e}.go-list{gap:2px;margin:0;padding:0;font-size:15px;list-style:none;display:grid}.go-row{text-align:left;border-radius:8px;grid-template-columns:2.2em 1fr auto;align-items:center;gap:8px;padding:4px 8px;display:grid}.go-row:nth-child(odd){background:#ffffff0a}.go-row.is-you{color:var(--ui-leaf);background:#d8ff6a29;font-weight:700}.go-rank{color:var(--ui-muted);font-variant-numeric:tabular-nums;text-align:right}.go-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.go-points{font-family:var(--ui-mono);font-variant-numeric:tabular-nums}.go-you{color:var(--ui-leaf);margin:0;font-weight:700}.go-board-msg{color:var(--ui-muted);margin:0;font-size:14px}.go-board.is-error .go-board-msg{color:var(--ui-error)}@media (orientation:landscape) and (max-height:500px){.go-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-areas:"title board""stats board""retry board""nick board""status board";align-content:start;gap:8px 16px;width:min(100%,760px);padding:10px 14px}.go-title{grid-area:title;font-size:18px}.go-stats{grid-area:stats}.go-retry{grid-area:retry}.go-nick{grid-area:nick}.go-board{grid-area:board;align-self:start}.go-status{grid-area:status}.go-score{font-size:26px}.go-list{font-size:14px}.go-row{padding:2px 8px}.hud-score{font-size:20px}}@media (min-width:900px) and (min-height:600px){.hud-score{font-size:28px}.hud-best{font-size:18px}}.rotate-overlay{z-index:40;color:var(--ui-text);font-family:var(--ui-font);text-align:center;background:#0a1020eb;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:18px;display:flex;position:absolute;inset:0}.rotate-overlay[hidden]{display:none}.rotate-icon{font-size:56px;animation:2s ease-in-out infinite rotate-hint}@keyframes rotate-hint{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.rotate-icon{animation:none}}
