:root{--bg:#05040a;--timer:#c5c9de;--hint:#9aa0bf;--title:#f6f7ff;--accent:#a8b4ff;--cyan:#5ee1e8;--hit:#ff6b7a;--glass-face:linear-gradient(180deg, #2a1a44bd 0%, #0a081699 100%);--glass-stroke:#ff6ed657;--glass-cyan:#5ee1e833;--glass-highlight:inset 0 1px 0 #ffffff29;--glass-glow:0 10px 28px #0006, 0 0 22px #ff2fb829;--glass-blur:blur(16px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);width:100%;height:100dvh;color:var(--timer);touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;overflow:hidden}body{background:radial-gradient(80% 55% at 50% 32%,#1c1738,#0c0a18 46%,#05040a);position:fixed;inset:0}#flash{z-index:3;pointer-events:none;opacity:0;background:#fff6f7;position:fixed;inset:0}#flash.is-on{animation:.28s ease-out hit-flash}#flash.is-shield{background:#d4ffff}#atmos{z-index:0;pointer-events:none;background:radial-gradient(72% 62% at 50% 40%,#0000 28%,#05040a38 72%,#05040a9e);border-radius:24px;position:fixed;inset:16px}body.is-playing #atmos{animation:2.2s ease-in-out infinite vignette-pulse}#play-frame{z-index:4;pointer-events:none;border:.75px solid rgba(255,118,220,calc(.78 + var(--frame-heat,.2) * .12));outline:.75px solid rgba(94,225,232,calc(.55 + var(--frame-heat,.2) * .14));outline-offset:2px;box-shadow:0 0 6px rgba(255,80,210,calc(.2 + var(--frame-heat,.2) * .1)),0 0 10px rgba(94,225,232,calc(.12 + var(--frame-heat,.2) * .08));border-radius:22px;animation:1.35s ease-in-out infinite frame-pulse;display:none;position:fixed;inset:8px}body.is-playing #play-frame,body.is-review #play-frame{display:block}#edge-tint{z-index:2;pointer-events:none;opacity:0;position:fixed;inset:0;box-shadow:inset 0 0 72px #ff46c800,inset 0 0 140px #785aff00}body.is-level-up #edge-tint{animation:.95s ease-out forwards level-edge}#watermark{z-index:0;object-fit:contain;opacity:.16;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:48vw;max-width:min(520px,55vw);height:auto;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#stage{z-index:0;touch-action:none;background:0 0;width:100%;height:100%;display:block;position:fixed;inset:0}body.is-shaking #stage{animation:.28s ease-out hit-shake}#hud{pointer-events:none;z-index:1;position:fixed;inset:0}#timer-wrap{left:50%;top:calc(env(safe-area-inset-top,0px) + 8px);background:var(--glass-face);border:1px solid var(--glass-stroke);box-shadow:var(--glass-highlight),var(--glass-glow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:999px;padding:7px 20px 8px;position:absolute;transform:translate(-50%)}#timer-wrap:has(#timer.is-pop){box-shadow:inset 0 1px #ffffff29,0 10px 28px #00000061,0 0 28px #ff50d261}#timer{text-align:center;color:#ffe9fb;letter-spacing:.14em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;text-shadow:0 0 8px #ff5cd2b3,0 0 22px #9682ff66;min-width:4.2ch;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:26px;font-weight:700;line-height:1.15}#timer.is-pop{animation:.28s ease-out timer-kick}#score-pop{left:0;right:0;top:calc(env(safe-area-inset-top,0px) + 58px);text-align:center;color:#eef0ff;letter-spacing:.18em;text-shadow:0 0 16px #a8b4ff73;pointer-events:none;margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:15px;position:absolute}#score-pop.is-hidden{display:none}#score-pop.is-pop{animation:.7s ease-out forwards score-rise;display:block}#tool-toast{text-align:center;color:#ffe7b0;letter-spacing:.1em;text-shadow:0 0 12px #ffb040a6,0 0 28px #ff782859;pointer-events:none;margin:0;font-size:22px;font-weight:700;line-height:1.2;position:absolute;top:38%;left:16px;right:16px}#tool-toast.is-hidden{display:none}#tool-toast.is-pop{animation:1.15s ease-out forwards tool-toast;display:block}#level-up{z-index:2;pointer-events:none;width:min(24vw,96px);height:auto;image-rendering:pixelated;image-rendering:crisp-edges;opacity:0;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}#level-up.is-on{animation:.95s steps(8,end) forwards level-up-flash}#countdown{z-index:2;pointer-events:none;width:min(10vw,40px);height:auto;image-rendering:pixelated;image-rendering:crisp-edges;opacity:0;filter:drop-shadow(0 0 8px #ff5cd266);position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}#countdown.is-on{animation:1s steps(6,end) forwards countdown-slam}#legend{left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 64px);background:var(--glass-face);border:1px solid var(--glass-stroke);box-shadow:var(--glass-highlight),var(--glass-glow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:14px;flex-wrap:wrap;justify-content:center;gap:7px 12px;padding:8px 10px;display:flex;position:absolute}#legend.is-hidden{display:none}.chip{color:#d0d4ea;letter-spacing:.08em;align-items:center;gap:6px;font-size:11px;line-height:1;display:inline-flex}.swatch{border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 8px}.swatch.is-x{width:9px;height:9px;box-shadow:none;background:0 0;border-radius:0;position:relative}.swatch.is-x:before,.swatch.is-x:after{content:"";background:var(--hit);border-radius:1px;width:2px;height:100%;position:absolute;top:0;left:50%}.swatch.is-x:before{transform:translate(-50%)rotate(45deg)}.swatch.is-x:after{transform:translate(-50%)rotate(-45deg)}#overlay{text-align:center;padding:0 28px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}#overlay.is-hidden{display:none}#overlay.is-over{isolation:isolate;width:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;padding:0;animation:.48s cubic-bezier(.16,1,.3,1) overlay-card-in;display:flex;position:fixed;inset:0;transform:none}#overlay.is-over:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000,#05040a8c 42%,#05040ae0);height:min(68%,520px);position:absolute;bottom:0;left:0;right:0}#brand{color:var(--title);letter-spacing:.28em;text-indent:.28em;white-space:nowrap;text-shadow:0 0 28px #a8b4ff59,0 0 64px #5ee1e82e;margin:0 0 18px;font-size:54px;font-weight:700;line-height:1}#overlay.is-over #brand{display:none}#how-to-open{border:1px solid var(--glass-stroke);background:var(--glass-face);color:#efeaff;letter-spacing:.14em;pointer-events:auto;min-width:0;min-height:44px;box-shadow:var(--glass-highlight),var(--glass-glow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:999px;margin:0;padding:8px 18px;font-size:13px;font-weight:600;display:none}#start-links{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px auto 0;display:none}#overlay.is-start #start-links{display:flex}#overlay.is-start #how-to-open{justify-content:center;align-items:center;display:inline-flex}#how-to-open:active{color:#efeaff;background:#a8b4ff1f}#how-to{z-index:4;padding:28px 20px calc(env(safe-area-inset-bottom,0px) + 28px);pointer-events:none;background:#05040a6b;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#how-to.is-hidden{display:none}#how-to-card{background:var(--glass-face);border:1px solid var(--glass-stroke);width:min(100%,360px);box-shadow:var(--glass-highlight),var(--glass-glow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);pointer-events:auto;text-align:left;border-radius:22px;padding:22px 22px 20px}#how-to-title{color:#ffe9fb;letter-spacing:.16em;text-transform:uppercase;text-align:center;text-shadow:0 0 16px #ff5cd273;margin:0 0 14px;font-size:18px;font-weight:700}#how-to-list{color:#d8d6f2;letter-spacing:.02em;margin:0 0 18px;padding:0 0 0 1.1em;font-size:14px;font-weight:400;line-height:1.45}#how-to-list li{margin:0 0 10px}#how-to-list li:last-child{margin-bottom:0}#how-to-close{width:100%;min-width:0;display:block}#banner{color:var(--title);letter-spacing:.02em;margin:0;font-size:34px;font-weight:600;line-height:1.15}#overlay.is-over #banner,#overlay.is-over #tease,#overlay.is-over #best{display:none}#tease{color:#ff9ad8;letter-spacing:.02em;text-shadow:0 0 18px #ff50d259;max-width:16.5em;margin:8px auto 0;font-size:15px;font-style:italic;font-weight:600;line-height:1.35;display:none}#overlay.is-over #tease:not(:empty){display:none}#share-stage{flex:none;width:100%;min-height:0;display:none;position:relative}body.is-over #overlay.is-over #share-stage:not(.is-hidden),#overlay.is-over #share-stage:not(.is-hidden){aspect-ratio:auto;z-index:0;pointer-events:none;width:100%;max-width:none;height:100%;max-height:none;display:block;position:fixed;inset:0;overflow:hidden}#share-card{aspect-ratio:auto;pointer-events:none;background:0 0;border:none;width:100%;min-width:0;max-width:none;height:100%;min-height:0;margin:0;padding:0;display:block;position:absolute;inset:0}#share-card img,#share-card-img{object-fit:cover;object-position:center;width:100%;min-width:100%;max-width:none;height:100%;min-height:100%;max-height:none;box-shadow:none;aspect-ratio:auto;border-radius:0;display:block;position:fixed;inset:0}#share-stage.is-pending #share-card{aspect-ratio:auto;width:100%;height:100%;max-height:none;box-shadow:none;background:radial-gradient(70% 50% at 50% 32%,#1c1738,#0c0a18 58%,#05040a);border:none;border-radius:0;margin:0;position:absolute;inset:0}#share-stage.is-pending #share-card img,#overlay.is-over #final-score,#overlay.is-over #callout,#banner:empty{display:none}#challenge{color:#ff7ad8;letter-spacing:.06em;text-shadow:0 0 22px #ff2fb866;margin:4px 0 0;font-size:28px;font-weight:700;line-height:1.2}#overlay.is-start #challenge{margin-top:6px;margin-bottom:4px}#challenge:empty{display:none}#compare{color:#d4dcff;letter-spacing:.06em;margin:12px 0 0;font-size:15px;font-weight:600;line-height:1.35}#overlay.is-won #compare{color:#b8ffd4;text-shadow:0 0 18px #78ffb447}#compare:empty{display:none}#overlay.is-over #compare{z-index:2;flex:none;margin:0;padding:0 14px;position:relative}#final-score{color:var(--title);letter-spacing:.12em;font-variant-numeric:tabular-nums;text-shadow:0 0 24px #a8b4ff33;margin:16px 0 0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:36px;font-weight:500;line-height:1.2}#final-score:empty{display:none}#overlay.is-best #final-score{color:#ffe7a3;text-shadow:0 0 28px #ffd67866}#callout{color:#ffe7a3;letter-spacing:.22em;text-transform:uppercase;margin:10px 0 0;font-size:13px;font-weight:600}#callout:empty{display:none}#best{color:#8b91b3;letter-spacing:.14em;margin:12px 0 0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}#best:empty{display:none}#hint{max-width:16.5em;color:var(--hint);letter-spacing:.04em;margin:0 auto;font-size:17px;font-weight:400;line-height:1.35}#overlay.is-start #hint{margin-top:28px;animation:2.6s ease-in-out infinite breathe}#overlay.is-over #hint{margin-top:0;margin-bottom:calc(env(safe-area-inset-bottom,0px) + 10px);letter-spacing:.05em;color:#c5c9de;z-index:2;flex:none;font-size:14px;animation:none;position:relative}#actions{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0 0;display:none}#overlay.is-over #actions{z-index:2;flex:none;margin-top:0;padding:0 14px;display:flex;position:relative}#review-bar{z-index:2;padding:28px 20px calc(env(safe-area-inset-bottom,0px) + 20px);pointer-events:auto;background:linear-gradient(#0000,#05040ae0 36%);flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:0;left:0;right:0}#review-score{z-index:2;box-shadow:none;color:#ffe9fb94;letter-spacing:.1em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;text-shadow:0 0 8px #ff5cd273,0 0 18px #9682ff47;pointer-events:none;background:0 0;border:none;margin:0;padding:4px 12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:clamp(52px,15vw,88px);font-weight:700;line-height:1.05;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#review-score.is-hidden{display:none}body.is-review #timer-wrap,body.is-over #timer-wrap{opacity:0}body.is-over #credit,#review-bar.is-hidden{display:none}#credit{left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:1;text-align:center;color:#b4b8d26b;letter-spacing:.04em;pointer-events:none;margin:0;font-size:10px;font-weight:400;line-height:1.3;position:absolute}#credit.is-hidden{display:none}button{appearance:none;border:1px solid var(--glass-stroke);background:var(--glass-face);color:#eef0ff;font:inherit;letter-spacing:.12em;touch-action:manipulation;cursor:pointer;min-width:140px;min-height:44px;box-shadow:var(--glass-highlight),var(--glass-glow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:999px;margin:0;padding:10px 22px;font-size:15px;font-weight:600}button:active{background:#a8b4ff3d}#hint.is-hidden{display:none}@keyframes breathe{0%,to{opacity:.42}50%{opacity:1}}@keyframes overlay-slam{0%{opacity:0;transform:translateY(-50%)scale(1.16)}58%{opacity:1;transform:translateY(-50%)scale(.97)}to{opacity:1;transform:translateY(-50%)scale(1)}}@keyframes overlay-card-in{0%{opacity:0}to{opacity:1}}@keyframes hit-flash{0%{opacity:.55}to{opacity:0}}@keyframes hit-shake{0%{transform:translate(0)}20%{transform:translate(-7px,3px)}40%{transform:translate(6px,-4px)}60%{transform:translate(-4px,-2px)}80%{transform:translate(3px,2px)}to{transform:translate(0)}}@keyframes tool-toast{0%{opacity:0;transform:translateY(10px)scale(.9)}16%{opacity:1;transform:translateY(0)scale(1.04)}28%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-12px)scale(1)}}@keyframes score-rise{0%{opacity:0;transform:translateY(8px)scale(.92)}18%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-14px)}}@keyframes timer-kick{0%{transform:scale(1)}40%{color:#fff;text-shadow:0 0 10px #ff8ce6e6,0 0 24px #b496ff8c;transform:scale(1.08)}to{transform:scale(1)}}@keyframes level-up-flash{0%{opacity:0;filter:drop-shadow(0 0 #ff5cd200);transform:translate(-50%,-50%)scale(.72)}12%{opacity:1;filter:drop-shadow(0 0 28px #ff5cd2f2);transform:translate(-50%,-50%)scale(1.12)}22%{opacity:1;filter:drop-shadow(0 0 18px #9682ffb3);transform:translate(-50%,-50%)scale(1)}68%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;filter:drop-shadow(0 0 #ff5cd200);transform:translate(-50%,-50%)scale(1.08)}}@keyframes vignette-pulse{0%,to{opacity:.82}50%{opacity:1}}@keyframes frame-pulse{0%,to{opacity:.92}50%{opacity:1}}@keyframes level-edge{0%{opacity:1;box-shadow:inset 0 0 28px #ff5ad28c,inset 0 0 90px #8476ff6b}to{opacity:0;box-shadow:inset 0 0 80px #ff5ad200,inset 0 0 140px #8476ff00}}@keyframes countdown-slam{0%{opacity:0;transform:translate(-50%,-50%)scale(1.28)}14%{opacity:1;transform:translate(-50%,-50%)scale(.96)}22%{opacity:1;transform:translate(-50%,-50%)scale(1)}84%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:.88;transform:translate(-50%,-50%)scale(1)}}
