:root{color-scheme:dark;--bg: #060a1f;--panel: rgba(12, 20, 58, .82);--panel-solid: #0e1745;--line: #2a3a86;--green: #2fd06f;--red: #ff3b4e;--yellow: #ffe14d;--white: #f4f6ff;--muted: #8f9cd6;--ink: #0b1030;--u: 1px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--white);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}body{position:fixed;inset:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:radial-gradient(ellipse at 50% 20%,rgba(47,208,111,.12),transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(255,59,78,.1),transparent 50%),var(--bg)}#stage{position:relative;width:min(100%,calc((100dvh - var(--safe-top) - var(--safe-bottom)) * 16 / 9));aspect-ratio:16 / 9;max-height:100%;overflow:hidden;border-radius:calc(var(--u) * 10);box-shadow:0 0 0 1px #78a0ff1f,0 20px 80px #0009;touch-action:none}@supports not (height: 100dvh){#stage{width:min(100%,calc((100vh - var(--safe-top) - var(--safe-bottom)) * 16 / 9))}}#game{position:absolute;inset:0;touch-action:none}#game canvas{display:block;touch-action:none;outline:none}#loading{position:absolute;inset:0;display:grid;place-items:center;font-weight:900;letter-spacing:.12em;font-size:calc(var(--u) * 20);color:var(--muted);background:var(--bg);transition:opacity .3s;z-index:50}#loading.is-hidden{opacity:0;pointer-events:none}#hud{position:absolute;inset:0;pointer-events:none;z-index:10;font-size:calc(var(--u) * 16)}#hud button,#hud a{pointer-events:auto;font-family:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.hud-top{position:absolute;top:0;left:0;right:0;padding:calc(var(--u) * 16) calc(var(--u) * 20) 0;display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--u) * 16)}.hud-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 16)}.title{margin:0;font-size:calc(var(--u) * 38);line-height:.95;font-weight:1000;letter-spacing:-.03em;color:var(--white);text-shadow:calc(var(--u) * 3) calc(var(--u) * 3) 0 var(--ink),0 0 calc(var(--u) * 12) rgba(0,0,0,.45);-webkit-text-stroke:calc(var(--u) * 1.5) var(--ink);transform:rotate(-2deg);white-space:nowrap}.title span{color:var(--green)}.score-box{text-align:right;background:var(--panel);border:calc(var(--u) * 2) solid var(--line);border-radius:calc(var(--u) * 12);padding:calc(var(--u) * 5) calc(var(--u) * 12);min-width:calc(var(--u) * 150)}.score-label{font-size:calc(var(--u) * 10);letter-spacing:.16em;color:var(--muted);font-weight:800}.score-value{font-size:calc(var(--u) * 34);font-weight:1000;color:var(--yellow);font-variant-numeric:tabular-nums;line-height:1}.score-value.bump{animation:bump .25s ease-out}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.switch{display:inline-flex;background:var(--panel);border:calc(var(--u) * 2) solid var(--line);border-radius:999px;padding:calc(var(--u) * 3);gap:calc(var(--u) * 3)}.switch-btn{border:0;background:transparent;font-weight:900;font-size:calc(var(--u) * 14);letter-spacing:.06em;padding:calc(var(--u) * 7) calc(var(--u) * 16);border-radius:999px;cursor:pointer;color:var(--muted)!important;min-height:calc(var(--u) * 36)}.switch-btn.is-active{background:var(--green);color:var(--ink)!important}.meta{display:flex;align-items:center;gap:calc(var(--u) * 8);font-weight:900;font-size:calc(var(--u) * 12);letter-spacing:.08em}.best{color:var(--muted);background:var(--panel);border-radius:999px;padding:calc(var(--u) * 6) calc(var(--u) * 10)}.best b{color:var(--white);font-variant-numeric:tabular-nums}.combo{color:var(--ink);background:var(--yellow);border-radius:999px;padding:calc(var(--u) * 6) calc(var(--u) * 10);transform:rotate(-3deg);box-shadow:calc(var(--u) * 2) calc(var(--u) * 2) 0 var(--ink)}.combo.pulse{animation:bump .25s ease-out}.combo[hidden]{display:none}.hud-bottom{position:absolute;left:0;right:0;bottom:0;height:calc(var(--u) * 96);padding:calc(var(--u) * 10) calc(var(--u) * 20) calc(var(--u) * 18);display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 16);background:linear-gradient(to bottom,#060a1f8c,#060a1feb);border-top:calc(var(--u) * 3) solid var(--green)}.tools{display:grid;grid-template-columns:repeat(6,calc(var(--u) * 96));gap:calc(var(--u) * 8)}.tool{border:calc(var(--u) * 2) solid var(--line);background:var(--panel-solid);border-radius:calc(var(--u) * 12);height:calc(var(--u) * 64);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u) * 2);cursor:pointer;padding:0;transition:transform .08s,background .15s}.tool:active{transform:scale(.95)}.tool-icon{font-size:calc(var(--u) * 22);line-height:1;height:calc(var(--u) * 28);display:grid;place-items:center}.tool-icon img{height:calc(var(--u) * 28);width:auto;display:block}.tool-name{font-size:calc(var(--u) * 11);font-weight:900;letter-spacing:.06em}.tool.is-active{background:var(--yellow);border-color:var(--yellow);color:var(--ink)!important;box-shadow:0 calc(var(--u) * 3) 0 #b89a10}.actions{display:flex;gap:calc(var(--u) * 8);flex:0 1 calc(var(--u) * 470)}.action{border:calc(var(--u) * 2) solid var(--line);background:var(--panel-solid);border-radius:calc(var(--u) * 12);height:calc(var(--u) * 56);font-weight:900;font-size:calc(var(--u) * 16);letter-spacing:.06em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:0 calc(var(--u) * 12);white-space:nowrap}.action:active{transform:scale(.96)}.action-reset{background:var(--red);border-color:var(--red);color:#fff!important;min-width:calc(var(--u) * 104)}.action-sound{width:calc(var(--u) * 52);padding:0;font-size:calc(var(--u) * 20)}.action-share{flex:1;background:var(--white);border-color:var(--white);color:var(--ink)!important}.action-token{background:var(--green);border-color:var(--green);color:var(--ink)!important}.action-x{width:calc(var(--u) * 46);padding:0}.action[hidden]{display:none}#hud button:focus-visible,#hud a:focus-visible{outline:calc(var(--u) * 3) solid var(--yellow);outline-offset:calc(var(--u) * 2)}.disclaimer{position:absolute;left:0;right:0;bottom:calc(var(--u) * 3);margin:0;text-align:center;font-size:calc(var(--u) * 10);color:#8f9cd6bf;line-height:1.2}.hint{position:absolute;left:50%;top:calc(var(--u) * 96);transform:translate(-50%);background:var(--panel);border:calc(var(--u) * 2) solid var(--line);border-radius:999px;padding:calc(var(--u) * 8) calc(var(--u) * 16);font-weight:800;font-size:calc(var(--u) * 16);white-space:nowrap;transition:opacity .4s}.hint.is-hidden{opacity:0}#rotate{display:none}@media(orientation:portrait)and (pointer:coarse){#rotate{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg);color:var(--white);font-weight:900;font-size:18px;letter-spacing:.04em;text-align:center;padding:24px}.rotate-icon{font-size:48px}}@media(prefers-reduced-motion:reduce){.score-value.bump,.combo.pulse{animation:none}}
