.game{touch-action:manipulation;grid-template-rows:auto 1fr auto;max-width:520px;min-height:100dvh;margin:0 auto;padding:0 14px;display:grid;overflow-x:clip}.hud{padding:max(10px, env(safe-area-inset-top)) 0 10px}.balance-pill{top:max(10px, env(safe-area-inset-top));z-index:25;background:var(--paper);border:var(--edge) solid var(--ink);box-shadow:0 4px 0 var(--ink);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:4px 16px 4px 6px;transition:transform .26s cubic-bezier(.3,1.5,.5,1);display:inline-flex;position:fixed;left:50%;transform:translate(-50%,-140%)}.balance-pill.show{transform:translate(-50%)}.balance-pill b{font:400 22px var(--font-display);font-variant-numeric:tabular-nums}.balance-pill span{color:var(--mint-deep);font-size:13px;font-weight:900}.hud-top{align-items:center;gap:8px;display:flex}.hud-home{width:42px;height:42px;color:var(--ink);border:2px solid var(--ink);background:#ffffffd9;border-radius:50%;flex:none;place-items:center;display:grid}.hud-project{min-width:0;height:38px;font:800 15px var(--font-body);color:var(--ink);border:2px solid var(--ink);cursor:var(--cursor-pointer);background:#ffffffd9;border-radius:999px;flex:1;align-items:center;gap:8px;padding:0 12px 0 6px;display:inline-flex}.hud-project img{border-radius:7px}.hud-project span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-avatar{width:42px;height:42px;font:400 20px var(--font-display);color:var(--paper);background:var(--pink);border:2px solid var(--ink);cursor:var(--cursor-pointer);border-radius:50%;flex:none;place-items:center;padding:0;display:grid;overflow:hidden}.hud-avatar img{object-fit:cover;width:100%;height:100%}.hud-mute{border:2px solid var(--ink);width:42px;height:42px;cursor:var(--cursor-pointer);background:#ffffffd9;border-radius:50%;place-items:center;padding:0;display:grid}.hud-stars{justify-items:center;margin-top:8px;display:grid}.hud-balance{font-variant-numeric:tabular-nums;font-size:clamp(44px,13vw,60px);line-height:1}.hud-rate{color:var(--ink);flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;font-weight:900;display:flex}.hud-rank{background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:0 8px;font-size:13px}.hud-stars{position:relative}.rank-up{color:var(--paper);background:linear-gradient(180deg, #ff9ccc, var(--pink) 50%, var(--pink-deep));border:var(--edge) solid var(--ink);box-shadow:0 4px 0 var(--ink);text-shadow:0 2px 0 var(--ink);border-radius:999px;align-items:center;gap:4px;padding:6px 14px;font-size:20px;animation:2.6s cubic-bezier(.3,1.6,.5,1) forwards rank-up;display:inline-flex;position:absolute;top:50%;right:0}@keyframes rank-up{0%{opacity:0;transform:translateY(-50%)scale(.3)rotate(-10deg)}12%{opacity:1;transform:translateY(-50%)scale(1.15)rotate(4deg)}20%,85%{opacity:1;transform:translateY(-50%)scale(1)rotate(-3deg)}to{opacity:0;transform:translateY(-120%)scale(.9)}}.screen{min-width:0;padding-bottom:calc(max(10px, env(safe-area-inset-bottom)) + 104px)}.tabbar{left:50%;bottom:max(10px, env(safe-area-inset-bottom));z-index:30;background:var(--ink);border-radius:26px;grid-template-columns:repeat(4,1fr);gap:4px;width:min(492px,100% - 24px);padding:6px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 6px #1b2a4a59}.tabbar a{color:var(--ink-faint);border-radius:20px;justify-items:center;gap:1px;padding:6px 0 4px;text-decoration:none;transition:transform .12s;display:grid}.tab-icon{filter:grayscale(.75)brightness(.9);place-items:end center;height:34px;transition:transform .2s cubic-bezier(.3,1.8,.5,1);display:grid;position:relative}.tab-icon .icon3d{margin-top:-18px}.tab-badge{min-width:20px;height:20px;font:400 12px var(--font-display);color:var(--paper);background:var(--pink);border:2px solid var(--ink);border-radius:999px;place-items:center;padding:0 5px;animation:1.6s cubic-bezier(.3,1.8,.5,1) infinite goal-hop;display:grid;position:absolute;top:-20px;right:-6px}.tab-label{font:400 13px var(--font-display);letter-spacing:.02em}.tabbar a[aria-current=page]{color:var(--ink);background:linear-gradient(180deg, var(--gold-hi), var(--gold) 55%, var(--orange));box-shadow:inset 0 -3px #00000026}.tabbar a[aria-current=page] .tab-icon{filter:none;transform:translateY(-4px)scale(1.1)}.seg{border:var(--edge) solid var(--ink);background:#1b2a4a38;border-radius:999px;gap:4px;margin:8px 0 12px;padding:4px;display:flex}.seg button{min-height:38px;font:400 17px var(--font-display);color:var(--paper);text-shadow:0 2px 0 var(--ink);cursor:var(--cursor-pointer);background:0 0;border:0;border-radius:999px;flex:1}.seg button[aria-selected=true],.seg button[aria-pressed=true]{color:var(--ink);text-shadow:none;background:var(--paper);box-shadow:0 3px 0 var(--ink)}.card .seg button:not([aria-selected=true],[aria-pressed=true]){color:var(--ink);text-shadow:none}.seg.small button{min-height:32px;font-size:14px}.tap-screen{grid-template-rows:auto minmax(180px,1fr);gap:10px;min-height:100%;display:grid}.stage{align-self:center;place-items:center;width:100%;height:100%;max-height:52dvh;display:grid;position:relative;container-type:size}.rays{background:repeating-conic-gradient(#fff6 0deg 10deg,#0000 10deg 24deg);border-radius:50%;width:min(92cqw,92cqh);height:min(92cqw,92cqh);animation:40s linear infinite spin;position:absolute;top:50%;left:50%;translate:-50% -50%;mask:radial-gradient(circle,#000 20%,#0000 70%)}@keyframes spin{to{transform:rotate(360deg)}}.tap-target{width:min(100cqw,100cqh);height:min(100cqw,100cqh);cursor:var(--cursor-pointer);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;border-radius:50%;position:relative}.tap-target:focus-visible{outline-offset:-20px}.pop{pointer-events:none;white-space:nowrap;font-size:28px;animation:.9s cubic-bezier(.2,.9,.3,1) forwards pop;position:absolute;transform:translate(-50%,-50%)}.pop.slow{color:var(--paper);font-size:20px}@keyframes pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.5)}15%{opacity:1;transform:translate(-50%,-80%)scale(1.25)}to{opacity:0;transform:translate(-50%,-260%)scale(.9)}}.loading{text-align:center;font:400 22px var(--font-display);color:var(--paper);text-shadow:0 2px 0 var(--ink);padding:40px 0}.energy{z-index:1;display:block;position:relative}.energy.empty{animation:.36s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.energy-bolt{z-index:1;filter:drop-shadow(1.5px 0 0 var(--ink)) drop-shadow(-1.5px 0 0 var(--ink)) drop-shadow(0 1.5px 0 var(--ink)) drop-shadow(0 -1.5px 0 var(--ink));place-items:center;margin-top:-11px;animation:2.4s ease-in-out infinite bolt-idle;display:grid;position:absolute;top:50%;left:14px}.energy.empty .energy-bolt{filter:grayscale(1) drop-shadow(1.5px 0 0 var(--ink)) drop-shadow(-1.5px 0 0 var(--ink)) drop-shadow(0 1.5px 0 var(--ink)) drop-shadow(0 -1.5px 0 var(--ink))}@keyframes bolt-idle{50%{transform:rotate(-8deg)scale(1.06)}}.energy-track{border:var(--edge) solid var(--ink);background:#1b2a4a59;border-radius:999px;height:32px;position:relative;overflow:hidden}.energy-fill{background:linear-gradient(180deg, #a8f5ff, var(--cyan) 50%, var(--cyan-deep));height:100%;transition:width .15s linear;box-shadow:inset 0 -4px #0000001f}.energy-text{font:400 16px var(--font-display);color:var(--paper);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;place-items:center;display:grid;position:absolute;inset:0}.goal{width:100%;font:700 14px var(--font-body);color:var(--ink);text-align:left;border:var(--edge) solid var(--ink);border-radius:var(--r-md);box-shadow:0 4px 0 var(--ink);cursor:var(--cursor-pointer);background:#ffffffeb;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:8px 14px 8px 10px;display:grid}.goal-icon{filter:drop-shadow(0 2px #1b2a4a4d)}.goal-text{gap:4px;min-width:0;display:grid}.goal-text b{font:400 16px var(--font-display);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.goal-track{background:var(--paper-2);border:2px solid var(--ink);border-radius:999px;height:20px;position:relative;overflow:hidden}.goal-fill{background:linear-gradient(180deg, var(--gold-hi), var(--gold) 50%, var(--orange));height:100%;transition:width .2s linear;display:block}.goal-num{font-variant-numeric:tabular-nums;place-items:center;font-size:12px;font-weight:900;display:grid;position:absolute;inset:0}.goal.ready{background:linear-gradient(#b5ffd9,#7cf5bd);animation:1.4s ease-in-out infinite nudge}.goal.ready .goal-fill{background:linear-gradient(180deg, #7cf5bd, var(--mint) 50%, var(--mint-deep))}.goal.ready .goal-icon{animation:1.4s cubic-bezier(.3,1.8,.5,1) infinite goal-hop}.goal.locked{background:#fffc}.goal.locked .goal-text span{color:var(--ink-soft);font-size:13px}@keyframes goal-hop{0%,60%,to{transform:translateY(0)rotate(0)}75%{transform:translateY(-6px)rotate(-8deg)}}@keyframes nudge{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.nudge{z-index:1;--lift:4px;gap:8px;padding:12px 14px;display:grid;position:relative}.nudge p{margin:0;font-size:14px}.start{text-align:center;justify-items:center;gap:10px;padding-top:20px;display:grid}.start-star{animation:2.4s ease-in-out infinite bob}.start h1{margin:0;font-size:48px}.start p{max-width:30em;margin:0}.start-cta{min-width:240px;min-height:60px;font-size:26px}.start-or a{font-weight:900}.turnstile-box:empty{display:none}.form-error{color:var(--paper);background:var(--pink-deep);border-radius:var(--r-sm);margin:0;padding:8px 12px}.qty{justify-content:flex-end;align-items:center;gap:6px;margin:-4px 0 10px;display:flex}.qty-hint{min-width:0;color:var(--ink-soft);flex:1;font-size:12px;font-weight:700;line-height:1.2}.qty button{min-width:52px;height:32px;font:400 15px var(--font-display);color:var(--ink);border:2px solid var(--ink);cursor:var(--cursor-pointer);background:#ffffffb3;border-radius:999px}.qty button[aria-pressed=true]{background:var(--gold);box-shadow:0 3px 0 var(--ink)}.shop-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.shop-card{border-radius:var(--r-md);--lift:4px;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px 10px 10px;display:grid}.shop-card.can{background:linear-gradient(#fff,#fff8dc)}.shop-card[data-pop]{animation:.38s cubic-bezier(.3,1.8,.5,1) buy-pop}@keyframes buy-pop{40%{transform:scale(1.04)rotate(-.6deg)}}.shop-card.locked{background:#ffffff8c}.shop-card.owned{background:linear-gradient(#eafff4,#c9f7df)}.shop-icon{background:radial-gradient(circle at 50% 40%, #fff, var(--paper-2) 70%);border:2px solid var(--ink);border-radius:18px;place-items:center;width:76px;height:76px;display:grid;position:relative}.shop-icon img{filter:drop-shadow(0 3px #1b2a4a40);width:66px;height:66px}.shop-icon.silhouette img{filter:brightness(0)opacity(.35)}.shop-owned{min-width:28px;height:28px;color:var(--paper);background:var(--ink);border-radius:999px;place-items:center;padding:0 6px;font-size:15px;display:grid;position:absolute;bottom:-8px;right:-8px}.shop-body{gap:1px;min-width:0;display:grid}.shop-body b{font-size:19px;font-weight:400}.shop-blurb{color:var(--ink-soft);font-size:13px}.shop-prod{color:var(--mint-deep);font-size:13px;font-weight:900}.price{--btn-bg:#dfe8f5;min-width:92px}.price .coin{margin-left:-4px}.owned-tag{text-align:center;max-width:90px;color:var(--ink-soft);font-size:12px}.owned-tag.display{color:var(--mint-deep);font-size:16px}.star-shop{margin-top:26px}.star-shop h2{color:var(--paper);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;margin:0;font-size:26px;font-weight:400}.star-shop>p{margin:2px 0 10px}.star-shop>.fine{margin-top:10px}.shop-card.paid{background:linear-gradient(135deg,#ffe0f0,#fff 60%)}.soon{color:var(--paper);background:var(--pink);border:2px solid var(--ink);border-radius:999px;padding:4px 10px;font-size:14px;transform:rotate(6deg)}.my-rank{text-align:center;margin:0 0 10px}.my-rank b{font-size:22px;font-weight:400}.reset-note{text-align:center;margin:-4px 0 10px;font-size:13px}.panel{gap:10px;margin-top:10px;padding:16px;display:grid}.panel h1,.panel h2{margin:0;font-weight:400}.panel h1{font-size:26px}.panel h2{font-size:21px}.panel p{margin:0}.fine{color:var(--ink-soft);font-size:13px}.signin{gap:10px;display:grid}.form{gap:12px;display:grid}.form-row{align-items:center;gap:10px;display:flex}.notice{border:2px solid var(--ink);border-radius:var(--r-sm);background:#fff6c2;padding:10px 12px}.project-head{grid-template-columns:64px 1fr;align-items:center}.project-logo{background:var(--paper-2);border:2px solid var(--ink);border-radius:16px;padding:5px}.project-status{flex-wrap:wrap;gap:6px;display:flex;margin-top:6px!important}.project-status .b,.shop-active .b{align-items:center;gap:4px;height:26px;padding:0 8px 0 4px;font-size:12px;display:inline-flex}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}.stat{border-radius:var(--r-md);--lift:4px;justify-items:center;padding:10px 4px;display:grid}.stat-v{font-size:20px}.stat-l{color:var(--ink-soft);font-size:11px}.banner-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.banner-options .seg{margin:0}.banner-preview{background:var(--paper-2);border:2px dashed var(--ink-faint);border-radius:var(--r-sm);place-items:center;padding:16px;display:grid}.banner-preview.dark{background:#0e1830}.code{background:var(--ink);border-radius:var(--r-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:grid}.code code{white-space:nowrap;color:#cfe3ff;font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;overflow-x:auto}.code code:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.other-proof summary{cursor:var(--cursor-pointer);font-weight:900}.other-proof>*+*{margin-top:8px}.verify-result{background:var(--paper-2);border-radius:var(--r-sm);padding:8px 12px}.danger{flex-wrap:wrap;gap:10px;display:flex}.confirm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.modal-backdrop{z-index:50;background:#0e18308c;place-items:center;padding:16px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal{text-align:center;justify-items:center;gap:8px;width:min(360px,100%);padding:56px 20px 20px;animation:.42s cubic-bezier(.3,1.6,.5,1) modal-in;display:grid}.modal h2{margin:0;font-size:30px;font-weight:400}.modal p{margin:0}.modal-burst{animation:2s ease-in-out infinite bob;position:absolute;top:-50px}.modal-amount{font-size:46px;margin:6px 0 10px!important}.modal .btn{min-width:200px}@keyframes modal-in{0%{opacity:0;transform:scale(.6)translateY(30px)}}@keyframes fade{0%{opacity:0}}@keyframes bob{50%{transform:translateY(-8px)}}.modal.card{position:relative}@media (width<=380px){.stats{grid-template-columns:repeat(2,1fr)}}@media (width<=340px){.shop-card{grid-template-columns:64px minmax(0,1fr)}.shop-card>.btn,.shop-card>.owned-tag,.shop-card>.soon{grid-column:1/-1;justify-self:stretch}.shop-icon{width:64px;height:64px}}.tabbar a,.seg button,.qty button,.hud-project,.hud-avatar,.hud-mute,.hud-home,.goal{transition:transform .12s ease-out,background-color .12s ease-out,box-shadow .12s ease-out}@media (hover:hover){.tabbar a:not([aria-current=page]):hover{color:var(--paper);background:#ffffff14}.tabbar a:not([aria-current=page]):hover .tab-icon{filter:none;transform:translateY(-2px)}.seg button:not([aria-selected=true],[aria-pressed=true]):hover{background:#ffffff2e}.qty button:not([aria-pressed=true]):hover,.hud-project:hover,.hud-mute:hover,.hud-home:hover{background:var(--paper)}.hud-avatar:hover,.hud-mute:hover,.hud-home:hover{transform:translateY(-2px)}.goal:hover{box-shadow:0 6px 0 var(--ink);transform:translateY(-2px)}}.link-btn{font:800 14px var(--font-body);color:var(--ink-soft);text-underline-offset:3px;cursor:var(--cursor-pointer);background:0 0;border:0;justify-self:center;padding:8px 12px;text-decoration:underline}.link-btn:hover{color:var(--ink)}.moment{left:50%;bottom:calc(max(10px, env(safe-area-inset-bottom)) + 92px);z-index:35;--lift:4px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;width:min(492px,100% - 24px);padding:10px 14px 10px 10px;animation:.42s cubic-bezier(.3,1.6,.5,1) moment-in;display:grid;position:fixed;transform:translate(-50%)}@keyframes moment-in{0%{opacity:0;transform:translate(-50%)translateY(30px)scale(.9)}}.moment-text{color:var(--ink-soft);gap:2px;font-size:13px;display:grid}.moment-text b{color:var(--ink);font-size:18px}.moment-close{width:28px;height:28px;font:800 18px/1 var(--font-body);color:var(--ink);background:var(--paper);border:2px solid var(--ink);cursor:var(--cursor-pointer);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-12px;right:-8px}
