:root{--safe-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--safe-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px));--bg-top:#aec7e0;--bg-bottom:#6a59c0;--ink:#fff}*{box-sizing:border-box;margin:0}html{background:#5b4fd6}html,body{overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100%;overflow:hidden}body{background:linear-gradient(var(--bg-top), var(--bg-bottom));color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:--bg-top .6s,--bg-bottom .6s}#stage{position:fixed;inset:0}#hud{top:calc(var(--safe-top) + 48px);text-align:center;pointer-events:none;text-shadow:0 2px 14px #00000047;position:fixed;left:0;right:0}#score{font-variant-numeric:tabular-nums;font-size:72px;font-weight:800;line-height:1}#floor{opacity:.8;margin-top:6px;font-size:16px;font-weight:600}#combo{letter-spacing:.08em;opacity:0;margin-top:18px;font-size:22px;font-weight:800}#combo.show{animation:.9s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1.15)}30%{transform:scale(1)}to{opacity:0;transform:translateY(-16px)}}.overlay{padding:0 16px calc(var(--safe-bottom) + 72px);text-align:center;pointer-events:none;text-shadow:0 2px 12px #0003;flex-direction:column;justify-content:flex-end;align-items:center;gap:10px;transition:opacity .3s;display:flex;position:fixed;inset:0}.overlay.hidden,.hidden,#target.hidden,#run-tag.hidden{display:none}#menu{padding-top:calc(var(--safe-top) + 160px);justify-content:space-between}#menu h1{letter-spacing:.04em;font-size:54px;font-weight:900;line-height:.95}#menu .hint{margin-top:auto}.hint{font-size:18px;font-weight:600;animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.45}}.best{opacity:.85;font-size:15px}#over{padding-top:calc(var(--safe-top) + 110px);background:#0000001f;justify-content:flex-start}#over .hint{margin-top:auto}#over .label{letter-spacing:.2em;opacity:.85;font-size:14px;font-weight:700}#final-score{font-size:84px;font-weight:900;line-height:1}#final-floor{font-size:18px;font-weight:600}#new-record{letter-spacing:.1em;background:#ffffff40;border-radius:999px;padding:6px 14px;font-weight:800}body.menu #hud,body.over #hud{display:none}#target{background:#ffffff38;border-radius:999px;margin-top:10px;padding:4px 12px;font-size:15px;font-weight:700;display:inline-block}#target.beaten{color:var(--bg-bottom);text-shadow:none;background:#ffffffe6}.banner{-webkit-backdrop-filter:blur(6px);background:#fff3;border-radius:20px;margin-top:28px;padding:16px 22px}.banner-kicker{letter-spacing:.2em;opacity:.85;font-size:12px;font-weight:800}.banner-main{margin-top:6px;font-size:22px;font-weight:600}.banner-main b{font-size:30px;font-weight:900}.banner-sub{opacity:.9;margin-top:4px;font-size:15px}#challenge-result{margin-top:8px;font-size:18px;font-weight:700}.btn{min-height:52px;color:var(--bg-bottom);font:inherit;cursor:pointer;pointer-events:auto;background:#fff;border:0;border-radius:999px;margin-top:22px;padding:0 28px;font-size:18px;font-weight:800;box-shadow:0 8px 24px #00000026}.btn:active{transform:scale(.97)}#toast{opacity:.9;font-size:14px;font-weight:600}#paused{background:#00000040;justify-content:center}.paused-title{letter-spacing:.12em;font-size:32px;font-weight:900}.dialog{padding:16px 16px calc(var(--safe-bottom) + 16px);z-index:10;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.dialog.hidden{display:none}.sheet{color:#2a2350;text-align:center;background:#fff;border-radius:24px;flex-direction:column;gap:12px;width:100%;max-width:420px;padding:22px;display:flex}.sheet-title{font-size:18px;font-weight:800}.sheet input{min-height:52px;font:inherit;text-align:center;-webkit-user-select:text;user-select:text;border:2px solid #e2def5;border-radius:14px;padding:0 16px;font-size:18px}.sheet input:focus{border-color:#5b4fd6;outline:none}.sheet .btn{color:#fff;box-shadow:none;background:#5b4fd6;margin-top:0}.sheet .btn-ghost{color:#5b4fd6;background:0 0}.icon-btn{top:calc(var(--safe-top) + 14px);z-index:5;color:#fff;cursor:pointer;background:#ffffff38;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:fixed;right:14px}.icon-btn svg{width:24px;height:24px}.icon-btn .cross,.icon-btn.muted .wave{display:none}.icon-btn.muted .cross{display:inline}body:not(.menu):not(.over) .icon-btn{display:none}#run-tag{letter-spacing:.14em;background:#0000002e;border-radius:999px;margin:10px 6px 0;padding:4px 12px;font-size:12px;font-weight:800;display:inline-block}.daily{color:#2a2350;width:min(340px,100%);font:inherit;cursor:pointer;pointer-events:auto;text-shadow:none;background:#fff;border:0;border-radius:22px;flex-direction:column;align-items:center;gap:4px;margin-top:auto;padding:16px 20px;animation:2.4s ease-in-out infinite nudge;display:flex;box-shadow:0 12px 30px #1e145a38}.daily:active{transform:scale(.98)}@keyframes nudge{50%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.daily{animation:none}}.daily-kicker{letter-spacing:.14em;color:#5b4fd6;font-size:12px;font-weight:800}.daily-rule{font-size:20px;font-weight:800}.daily-meta{color:#6b6590;gap:10px;font-size:14px;display:flex}#menu .daily+.hint{margin-top:6px}#daily-result{font-size:16px;font-weight:700}.btn-secondary{color:#fff;min-height:44px;box-shadow:none;background:#ffffff38;margin-top:6px;font-size:16px}#goal-hint{letter-spacing:.02em;min-height:20px;margin-top:8px;font-size:16px;font-weight:800}#milestone{letter-spacing:.04em;text-align:center;opacity:0;pointer-events:none;text-shadow:0 4px 24px #00000040;padding:0 16px;font-size:34px;font-weight:900;position:fixed;top:38%;left:0;right:0}#milestone.show{animation:2.2s ease-out milestone}@keyframes milestone{0%{opacity:0;transform:scale(.7)}10%{opacity:1;transform:scale(1.08)}20%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-20px)}}#zone-result{font-size:16px;font-weight:700}.icon-btn--left{left:14px;right:auto}.badge{background:#ff4d6d;border-radius:50%;width:10px;height:10px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #fffc}.badge.hidden{display:none}#theme-result{font-size:16px;font-weight:800}.theme-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.theme-tile{color:#2a2350;min-height:112px;font:inherit;cursor:pointer;background:#faf9ff;border:2px solid #ece9f8;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 6px;display:flex;position:relative}.theme-tile[aria-pressed=true]{background:#f0eeff;border-color:#5b4fd6}.theme-tile:disabled{cursor:default}.theme-tile .name{font-size:13px;font-weight:800}.theme-tile .hint{color:#7a7598;font-size:11px;font-weight:600;line-height:1.25;animation:none}.theme-tile .mystery{color:#9a93c4;background:#e4e0f5;border-radius:12px;place-items:center;width:44px;height:44px;font-size:26px;font-weight:900;display:grid}.theme-tile .new{color:#fff;background:#ff4d6d;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800;position:absolute;top:6px;right:6px}.swatch{flex-direction:column-reverse;gap:2px;width:44px;display:flex}.swatch i{border-radius:3px;height:12px;display:block}#theme-dialog .sheet{max-height:85vh;overflow-y:auto}.daily-goals{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}.daily-goals span{color:#5b4fd6;background:#f0eeff;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.daily-goals span.done{color:#fff;background:#5b4fd6}.settings{text-align:left;gap:14px}.settings .sheet-title{text-align:center}.row{justify-content:space-between;align-items:center;gap:12px;font-size:16px;font-weight:700;display:flex}.row--stack{flex-direction:column;align-items:stretch;gap:8px}.inline{gap:8px;display:flex}.inline input{flex:1;min-width:0;min-height:46px;font-size:17px}.segmented{background:#ece9f8;border-radius:12px;padding:3px;display:flex}.segmented button{color:#5d5788;min-height:36px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 14px;font-size:14px;font-weight:700}.segmented button[aria-pressed=true]{color:#2a2350;background:#fff;box-shadow:0 1px 4px #0000001f}.switch{cursor:pointer;background:#d9d5ee;border:0;border-radius:999px;width:52px;height:32px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch[aria-checked=true]{background:#5b4fd6}.switch[aria-checked=true]:after{transform:translate(20px)}.links{justify-content:center;gap:20px;font-size:14px;font-weight:700;display:flex}.links a{color:#5b4fd6}.sheet .btn-small{min-height:46px;padding:0 16px;font-size:15px}.sheet .btn-danger{color:#d0263f;background:#fff0f2}.sheet-text{color:#5d5788;font-size:15px;font-weight:500;line-height:1.45}.sheet-error{color:#d0263f;font-size:14px;font-weight:700}.meta{text-align:center;color:#9a95b8;-webkit-user-select:text;user-select:text;font-size:12px;font-weight:600}.btn-ad{color:#3b2400;background:linear-gradient(135deg,#ffd34d,#ff9f43)}.btn-ad.hidden{display:none}.sheet .linklike{color:#5b4fd6;font:inherit;cursor:pointer;background:0 0;border:0;align-self:center;font-size:14px;font-weight:700;text-decoration:underline}.sheet .linklike.hidden{display:none}
