: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-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 button{width:100%;margin-top:22px;display:block}#final-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)}#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}#footer .share{justify-content:center;gap:8px;margin-bottom:4px;display:flex;position:relative}.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)}}
