:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#fff6e8;--muted:#d9cbb8;--night:#141a36;--panel:#1c1834eb;--gold:#ffd98a;--red:#d63049;--font:ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--font);color:var(--ink);background:var(--night)}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--night);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;height:100%;margin:0;overflow:hidden}body,.game-root{position:fixed;inset:0}.app{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;display:flex;position:absolute;inset:0}.hud{z-index:2;background:linear-gradient(#0e1228,#0e122899);border-bottom:1px solid #ffd98a26;flex:none;grid-template-columns:1fr auto 1fr;align-items:center;height:52px;padding:0 12px;transition:opacity .3s;display:grid}.screen-menu .hud,.screen-over .hud{opacity:0;pointer-events:none}.hearts{gap:4px;display:flex}.heart{fill:#ffffff26;width:24px;height:24px;transition:fill .3s,transform .3s}.heart.on{fill:#ff5a74;filter:drop-shadow(0 0 4px #ff5a7499)}.score{letter-spacing:.01em;color:var(--gold);text-shadow:0 2px #0006;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:800}.score .yen{opacity:.8;margin-right:2px;font-size:.9em}.score-value{animation:.3s bump;display:inline-block}.hud-right{justify-content:flex-end;align-items:center;gap:10px;display:flex}.combo{color:#9fe8ff;background:#9fe8ff1f;border:1px solid #9fe8ff59;border-radius:999px;padding:2px 10px;font-size:1.05rem;font-weight:800;animation:.3s bump}.fever .combo{color:#ffd75a;border-color:#ffd75a}.fever .hud{background:linear-gradient(90deg,#6b1430,#8a5a10,#6b1430) 0 0/200% 100%;animation:1.2s linear infinite fever}.icon-btn{width:40px;height:40px;color:var(--ink);cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;place-items:center;display:grid}.icon-btn svg{fill:currentColor;width:20px;height:20px}.icon-btn:focus-visible,.play-button:focus-visible,.toggle:focus-visible,.link-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.stage{flex:auto;min-height:0;position:relative}.board{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.overlay{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);z-index:5;-webkit-user-select:text;user-select:text;background:radial-gradient(#0a0a1e8c,#0a0a1ed9);place-items:center;animation:.25s fade;display:grid;position:absolute;inset:0;overflow-y:auto}.panel{text-align:center;background:var(--panel);border:1px solid #ffd98a40;border-radius:28px;width:min(480px,100%);margin:auto;padding:24px 22px 20px;animation:.35s cubic-bezier(.2,1.4,.4,1) rise;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff14}.panel.small{width:min(420px,100%)}.mark{filter:drop-shadow(0 8px 14px #00000073);margin:-4px auto 4px;animation:3s ease-in-out infinite wobble;display:block}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);margin:0;font-size:.72rem;font-weight:700}h1{letter-spacing:-.03em;background:linear-gradient(#fffaf0,#ffd98a);color:#0000;-webkit-background-clip:text;background-clip:text;margin:4px 0 6px;font-size:clamp(2.4rem,11vw,3.4rem);font-weight:900;line-height:1}h2{margin:6px 0 8px;font-size:1.9rem;font-weight:900}.tagline{max-width:30ch;color:var(--muted);margin:0 auto 18px;font-size:.98rem;line-height:1.45}.play-button{font:inherit;color:#2b1208;cursor:pointer;touch-action:manipulation;background:linear-gradient(#ffe39a,#f5b942);border:0;border-radius:999px;padding:.85rem 2.8rem;font-size:1.25rem;font-weight:800;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 6px #a8650f,0 12px 24px #0006}.play-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.play-button:active{transform:translateY(5px);box-shadow:0 1px #a8650f,0 4px 10px #0006}.play-button:disabled{opacity:.6;cursor:wait}.best{color:var(--muted);margin:14px 0 0;font-weight:600}.new-best{color:#ffd75a;margin:6px 0 0;font-size:1.1rem;font-weight:900;animation:1s ease-in-out infinite pulse}.final-score{color:var(--gold);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:3rem;font-weight:900;line-height:1}.rank{color:#ffc6cf;background:#d6304940;border:1px solid #ff788c80;border-radius:999px;margin:10px auto 0;padding:4px 14px;font-weight:800;display:inline-block}.howto{text-align:left;gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.howto li{background:#ffffff0d;border-radius:16px;align-items:center;gap:12px;padding:10px 12px;display:flex}.howto svg{flex:0 0 48px;width:48px;height:48px}.howto strong{color:var(--gold);font-size:.98rem;display:block}.howto span{color:var(--muted);font-size:.86rem;line-height:1.35;display:block}.howto em{color:#fff;font-style:normal;font-weight:800}.toggles{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.toggle{font:inherit;color:var(--muted);cursor:pointer;touch-action:manipulation;background:#ffffff0d;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;font-weight:700;display:inline-flex}.toggle .dot{background:#ffffff40;border-radius:50%;width:10px;height:10px;transition:background .2s}.toggle.on{color:var(--ink);border-color:#ffd98a80}.toggle.on .dot{background:#6be38a;box-shadow:0 0 8px #6be38a}.link-btn{font:inherit;color:var(--gold);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:6px 10px;font-size:.95rem;font-weight:700;text-decoration:underline}.row{justify-content:center;gap:12px;display:flex}.stats{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 20px;display:grid}.stats div{background:#ffffff0f;border-radius:14px;padding:10px}.stats dt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem}.stats dd{margin:2px 0 0;font-size:1.4rem;font-weight:900}.noscript{text-align:center;position:fixed;inset:auto 0 20px}@media (min-width:900px) and (min-height:640px){.menu .panel{width:min(760px,100%)}.menu .howto{grid-template-columns:repeat(3,1fr)}.menu .howto li{text-align:center;flex-direction:column}}@media (max-height:520px){.hud{height:44px}.panel{padding:14px 16px}.mark{width:56px;height:56px}h1{font-size:2.2rem}.tagline{margin-bottom:10px}.howto{grid-template-columns:repeat(3,1fr)}.howto li{text-align:center;flex-direction:column;padding:8px}.howto svg{flex-basis:34px;width:34px;height:34px}.menu .panel{width:min(760px,100%)}}@media (prefers-reduced-motion:reduce){.mark,.new-best,.score-value,.combo{animation:none}}@keyframes bump{0%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)scale(.96)}}@keyframes wobble{0%,to{transform:rotate(-4deg)translateY(0)}50%{transform:rotate(4deg)translateY(-6px)}}@keyframes pulse{50%{transform:scale(1.08)}}@keyframes fever{to{background-position:200% 0}}
