:root{--ink:#111;--paper:#fff;--accent:#ff3b6b;--font:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--font);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;overflow:hidden}#stage,#stage canvas{display:block;position:fixed;inset:0}.hidden{display:none!important}#hud{top:env(safe-area-inset-top);height:64px;padding:0 calc(20px + env(safe-area-inset-right)) 0 calc(20px + env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;left:0;right:0}#score{font-variant-numeric:tabular-nums;font-size:32px;font-weight:800}#score.bump{animation:.25s ease-out bump}.hud-left{align-items:center;gap:12px;display:flex}#help{pointer-events:auto;border:2.5px solid var(--ink);background:var(--paper);width:28px;height:28px;color:var(--ink);font:inherit;cursor:pointer;border-radius:50%;padding:0;font-size:16px;font-weight:900;line-height:1}#help:active{transform:scale(.92)}.hud-right{align-items:center;gap:14px;display:flex}#pulls{gap:6px;display:flex}#restart{pointer-events:auto;border:2.5px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:50%;width:40px;height:40px;padding:8px}#restart svg{fill:none;width:100%;height:100%;stroke:var(--ink);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;display:block}#restart:active{transform:scale(.92)}#pulls span{background:var(--ink);border:2.5px solid var(--ink);border-radius:50%;width:12px;height:12px;transition:background .2s}#pulls span.used{background:0 0}#popup{text-align:center;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;position:fixed;top:22%;left:0;right:0;transform:translateY(8px)scale(.9)}#popup.show{opacity:1;transform:none}#popup .points{font-size:44px;font-weight:800}#popup .nice{background:var(--accent);color:var(--paper);border-radius:999px;margin-top:6px;padding:6px 16px;font-size:22px;font-weight:800;animation:.35s cubic-bezier(.3,1.6,.6,1) pop;display:inline-block}.screen{text-align:center;background:#ffffffd1;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:fixed;inset:0}.screen h1{letter-spacing:-.04em;margin:0;font-size:clamp(48px,12vw,96px);font-weight:900}.screen p{opacity:.6;margin:0;font-size:18px}.card{border:3px solid var(--ink);background:var(--paper);text-align:left;border-radius:24px;width:min(340px,100vw - 40px);padding:28px 28px 24px;animation:.3s cubic-bezier(.3,1.4,.6,1) pop}.card h2{letter-spacing:-.02em;margin:0 0 14px;font-size:26px;font-weight:900}.card ul{flex-direction:column;gap:10px;margin:0;padding:0;font-size:17px;line-height:1.3;list-style:none;display:flex}.card li{padding-left:22px;position:relative}.card li:before{content:"";border:2.5px solid var(--ink);border-radius:3px;width:12px;height:12px;position:absolute;top:.3em;left:0}.card li:first-child:before{background:#ff3b6b}.card li:nth-child(2):before{background:#ffb800}.card li:nth-child(3):before{background:#00c2ff}.card li:nth-child(4):before{background:#5ce65c}.card li:nth-child(5):before{background:#a45cff}.card button{width:100%;margin-top:22px;display:block}#final-score,.big-score{font-variant-numeric:tabular-nums;font-size:clamp(72px,20vw,140px);font-weight:900;line-height:1}.screen button{border:3px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;cursor:pointer;border-radius:999px;margin-top:24px;padding:14px 40px;font-size:20px;font-weight:800}.screen button:active{transform:scale(.96)}#play{justify-content:center;align-items:center;gap:10px;display:inline-flex}#play.loading{cursor:default;background:#c8c8c8;border-color:#c8c8c8;transform:none}#play .spinner{border:3px solid #ffffff73;border-top-color:var(--paper);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:none}#play.loading .spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}.screen button.secondary{color:var(--ink);background:0 0;border-color:#0000;margin-top:4px;padding:10px 24px;font-size:17px;font-weight:700}.screen p.note{opacity:.45;margin-top:4px;font-size:14px}#footer{left:0;right:0;bottom:calc(10px + env(safe-area-inset-bottom));text-align:center;color:#11111173;pointer-events:none;padding:0 16px;font-size:12px;line-height:1.4;position:fixed}#footer a{color:inherit;text-underline-offset:2px;pointer-events:auto;text-decoration:underline}.share{justify-content:center;gap:8px;display:flex;position:relative}#footer .share{margin-bottom:6px}#results-share{color:var(--ink);flex-direction:column;align-items:center;gap:10px;margin-top:20px;display:flex}#results-share p{font-size:15px}#results-share .share{gap:12px}#results-share .share-btn,.screen #results-share button.share-btn{background:var(--paper);width:40px;height:40px;color:inherit;font-size:inherit;border:2px solid;border-radius:50%;margin:0;padding:8px}#results-share .share-note{opacity:0;font-size:13px;top:calc(100% + 8px);left:50%;transform:translate(-50%)}#results-share .share-note.show{opacity:.6}.share-btn{pointer-events:auto;background:var(--paper);width:22px;height:22px;color:inherit;cursor:pointer;border:1.5px solid;border-radius:50%;padding:3px;display:block}.share-btn svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.share-btn:hover{color:var(--ink)}.share-btn:active{transform:scale(.9)}.share-note{white-space:nowrap;opacity:0;transition:opacity .2s;position:absolute;top:50%;left:calc(50% + 50px);transform:translateY(-50%)}.share-note.show{opacity:1}@keyframes bump{50%{transform:scale(1.25)}}@keyframes pop{0%{transform:scale(.4)}}
