:root{--bg:#0c1033;--ink:#e9edff;--dim:#8089c7;--accent:#ffc94d;--chip:#242c6e;--chip-hover:#2f398d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;background:var(--bg);height:100%;color:var(--ink);touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;font:500 16px/1.4 ui-rounded,SF Pro Rounded,system-ui,sans-serif;overflow:hidden}#app{height:100%;padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom);flex-direction:column;align-items:center;gap:10px;display:flex}header{align-items:center;gap:8px;width:100%;max-width:560px;padding-top:10px;display:flex}.lvl{background:var(--chip);letter-spacing:.04em;color:var(--ink);text-align:left;border-radius:12px;padding:6px 12px;font-weight:700}.lvl small{color:var(--dim);letter-spacing:.12em;font-size:10px;display:block}.spacer{flex:1}button{font:inherit;color:var(--ink);background:var(--chip);cursor:pointer;border:0;border-radius:12px;padding:9px 14px;font-weight:700;transition:transform .1s,background .15s}button:active{transform:scale(.94)}button:hover{background:var(--chip-hover)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.nav{padding:9px 12px;font-size:18px;line-height:1}#stage{flex:1;place-items:center;width:100%;max-width:560px;min-height:0;display:grid}svg{touch-action:manipulation;max-width:100%;max-height:100%}.dot{fill:#3a4380}.stats{width:100%;max-width:560px;color:var(--dim);letter-spacing:.06em;justify-content:center;gap:14px;padding-bottom:10px;font-size:12px;display:flex}.stats b{color:var(--ink);font-weight:700}.hearts b{color:#ff6b7a;letter-spacing:.1em}.hearts b span{display:inline-block}.hearts b .lost{color:#3a4380}.hearts b .part{background:linear-gradient(to top, #ff6b7a var(--fill,50%), #3a4380 var(--fill,50%));color:#0000;-webkit-background-clip:text;background-clip:text}.hearts b .breaking{animation:.55s ease-out both heart-break}@keyframes heart-break{0%{color:#ff6b7a;transform:scale(1)}35%{color:#ff6b7a;transform:scale(1.7)rotate(-14deg)}65%{transform:scale(1.2)rotate(9deg)}to{color:#3a4380;transform:scale(1)}}.heart-loss{z-index:4;color:#ff6b7a;pointer-events:none;text-shadow:0 2px 10px #000a;font-size:28px;font-weight:800;animation:.85s ease-out forwards heart-loss;position:fixed}@keyframes heart-loss{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}20%{opacity:1;transform:translate(-50%,-70%)scale(1.35)}to{opacity:0;transform:translate(-50%,-220%)scale(1)}}@media (prefers-reduced-motion:reduce){.hearts b .breaking{animation:none}}.coins,.coins b{color:var(--accent)}.card .row{gap:10px;display:flex}.coin-award{justify-items:center;gap:7px;padding:12px 30px 6px;display:grid;position:relative}.coin-big{align-items:center;gap:12px;animation:.55s cubic-bezier(.2,1.6,.4,1) both coin-pop;display:flex}.coin-big .num{color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:48px;font-weight:800}.coin-icon{background:radial-gradient(circle at 35% 30%,#ffe9ae,#ffc94d 55%,#c8912f);border-radius:50%;width:40px;height:40px;box-shadow:0 3px 14px #ffc94d66}@keyframes coin-pop{0%{opacity:0;transform:scale(.2)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.coin-breakdown{color:var(--dim);font-size:13px;font-weight:700}.coin-total{color:var(--ink);opacity:.85;font-size:13px}.coin-burst{pointer-events:none;position:absolute;inset:0}.coin-burst span{opacity:0;width:13px;height:13px;animation:coin-fly .95s ease-out var(--delay,0s) both;background:radial-gradient(circle at 35% 30%,#ffe9ae,#ffc94d 60%,#c8912f);border-radius:50%;position:absolute;top:42%;left:50%}@keyframes coin-fly{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}15%{opacity:1}to{transform:translate(calc(-50% + var(--dx,0px)), calc(-50% + var(--dy,-60px))) scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){.coin-big{animation:none}.coin-burst{display:none}}.toggles{gap:14px;margin-left:auto;margin-right:10px;display:flex}.toggle{color:var(--dim);letter-spacing:.04em;cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.toggle input{accent-color:var(--accent);width:18px;height:18px}#selectGrid button .star{color:var(--accent);font-size:10px;line-height:1;display:block}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5;background:#0c1033d8;place-items:center;display:none;position:fixed;inset:0}.overlay.on{display:grid}.panel{background:#161c4d;border-radius:20px;flex-direction:column;gap:14px;width:min(92vw,420px);max-height:76vh;padding:18px;display:flex;box-shadow:0 18px 50px #0008}.panel-head{justify-content:space-between;align-items:center;display:flex}.panel-head h2{letter-spacing:-.01em;margin:0;font-size:20px}#selectGrid{grid-template-columns:repeat(5,1fr);gap:8px;padding:2px;display:grid;overflow-y:auto}#selectGrid button{aspect-ratio:1;border-radius:14px;padding:0;font-size:15px}#selectGrid button.now{outline:2px solid var(--accent)}#selectGrid button.locked{opacity:.35;cursor:default}.card{text-align:center;justify-items:center;gap:16px;display:grid}.card h1{letter-spacing:-.02em;margin:0;font-size:34px}.card p{color:var(--dim);margin:0;font-size:14px}@media (prefers-reduced-motion:reduce){button{transition:none}}
