@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/block-blowup/fonts/nunito-latin-700.woff2)format("woff2")}@font-face{font-family:Lilita One;font-style:normal;font-weight:400;font-display:swap;src:url(/block-blowup/fonts/lilita-one-latin-400.woff2)format("woff2")}*{box-sizing:border-box}[hidden]{display:none!important}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:linear-gradient(180deg, var(--bg-top), var(--bg-bottom));height:100dvh;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#stage{touch-action:none;position:fixed;inset:0}#stage canvas{touch-action:none;display:block}#safe-probe{visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:fixed;inset:0}#hud{pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:0 4px 0 16px;display:grid;position:fixed}#best-wrap{grid-column:1;justify-self:start}#combo-wrap{grid-column:2;justify-self:center}.hud-actions{grid-column:3;justify-self:end;align-items:center;display:flex}#fullscreen svg{width:30px;height:30px}#fullscreen[aria-pressed=false] .fs-exit,#fullscreen[aria-pressed=true] .fs-enter{display:none}.hud-item{align-items:center;gap:6px;line-height:1.1;display:flex}.crown{width:24px;height:24px;fill:var(--accent)}#best{text-shadow:2px 3px 3px var(--score-shadow), var(--text-glow);font-variant-numeric:tabular-nums;font-family:Nunito,system-ui,sans-serif;font-size:31px;font-weight:700;line-height:1}#score-wrap{pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed}#score{text-shadow:2px 3px 3px var(--score-shadow), var(--text-glow);white-space:nowrap;font-variant-numeric:tabular-nums;font-family:Nunito,system-ui,sans-serif;font-size:62px;font-weight:700;line-height:1}.icon-button{pointer-events:auto;min-width:44px;min-height:44px;color:var(--text-secondary);background:0 0;border-radius:12px;padding:6px}.icon-button svg{fill:currentColor;width:38px;height:38px;display:block}#combo-wrap{color:var(--accent);font-size:18px;font-weight:800}.screen{padding:max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;background:0 0;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.screen-card{text-align:center;background:var(--panel);border-radius:24px;flex-direction:column;gap:12px;width:min(100%,340px);padding:26px 24px 24px;display:flex;box-shadow:inset 0 0 0 2px #ffffff0f,0 20px 60px #00000059}.screen-card h1,.screen-card h2{text-shadow:2px 3px 3px var(--score-shadow), var(--text-glow);margin:0 0 4px;font-family:Nunito,system-ui,sans-serif;font-size:32px;font-weight:700}.screen-card .title{letter-spacing:.01em;font-size:38px}.screen-card p{color:var(--text-secondary);margin:0 0 8px}.best-line{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;font-family:Nunito,system-ui,sans-serif;font-size:24px;font-weight:700;display:flex;color:var(--text)!important}.new-best{font-family:Nunito,system-ui,sans-serif;font-size:20px;font-weight:700;color:var(--accent)!important;margin:0!important}.over-card{gap:4px}.over-label{letter-spacing:.14em;text-transform:uppercase;font-size:12px;margin:10px 0 0!important}.over-score{font-variant-numeric:tabular-nums;text-shadow:2px 3px 3px var(--score-shadow), var(--text-glow);font-family:Nunito,system-ui,sans-serif;font-size:64px;font-weight:700;line-height:1;color:var(--text)!important;margin:0!important}.over-card .best-line{margin:6px 0 18px}.over-card button{margin-top:8px}.screen-card button{font-size:18px}.pause-actions{gap:12px;margin-top:8px;display:flex}.pause-actions[hidden]{display:none}.pause-actions button{flex:1;padding-left:8px;padding-right:8px}.splash{padding:max(56px, calc(env(safe-area-inset-top) + 48px)) 12px max(40px, calc(env(safe-area-inset-bottom) + 28px));background:linear-gradient(180deg, var(--bg-top), var(--bg-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;place-items:stretch stretch;overflow:hidden}.splash-content{z-index:1;grid-template-rows:1fr auto;justify-self:center;gap:24px;width:min(100%,440px);display:grid;position:relative;top:-10px}.hero{place-items:center;display:grid;position:relative;top:10px}.halo{aspect-ratio:1;pointer-events:none;background:radial-gradient(closest-side,#ffffff47,#0000 70%);border-radius:50%;width:min(150vw,760px);margin-top:calc(min(150vw,760px)/-2);margin-left:calc(min(150vw,760px)/-2);position:absolute;top:50%;left:50%}.halo:before{content:"";will-change:transform;background:repeating-conic-gradient(#ffffff17 0deg 9deg,#0000 9deg 18deg);border-radius:50%;animation:120s linear infinite spin;position:absolute;inset:0;-webkit-mask-image:radial-gradient(closest-side,#000 15%,#0000 100%);mask-image:radial-gradient(closest-side,#000 15%,#0000 100%)}.reduce-motion .halo:before{animation:none}.splash-bottom{flex-direction:column;align-items:center;gap:20px;margin-bottom:55px;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tile{border-radius:calc(var(--s) * .18);background:linear-gradient(180deg, #ffffff4d, #fff0 55%), var(--c);box-shadow:inset 0 calc(var(--s) * .07) 0 #ffffff47, inset 0 calc(var(--s) * -.1) 0 #00000042, inset calc(var(--s) * -.06) 0 0 #0000001f}.logo{--overlap:0px;--s:calc((min(400px, 100vw - 64px) + 5 * var(--overlap)) / 6);flex-direction:column;align-items:center;margin:0;display:flex;position:relative}.logo-row{display:flex;position:relative}.logo-block{--row-delay:.1s;--half:2;--bend:.09;--turn:9deg}.logo-blowup{--row-delay:.45s;--half:2.5;--bend:.108;--turn:12.5deg}.logo-row+.logo-row{margin-top:calc(var(--s) * .16 + 12px - var(--overlap))}.tile+.tile{margin-left:calc(var(--overlap) * -1)}.tile{z-index:1;width:var(--s);height:var(--s);padding-bottom:calc(var(--s) * .08);color:var(--text);font-family:Lilita One,Nunito,system-ui,sans-serif;font-size:calc(var(--s) * .64);text-shadow:0 2px #00000038;box-shadow:inset 0 calc(var(--s) * .07) 0 #ffffff47, inset 0 calc(var(--s) * -.1) 0 #00000042, inset calc(var(--s) * -.06) 0 0 #0000001f, 0 6px 14px var(--score-shadow);translate:0 calc(var(--x) * var(--x) * var(--bend) * var(--s));rotate:calc(var(--x) * var(--turn));transform:rotate(var(--tilt));transform-origin:50% 100%;place-items:center;font-weight:400;line-height:1;display:grid;position:relative}.splash-gear{top:max(8px, env(safe-area-inset-top));right:max(4px, env(safe-area-inset-right));z-index:2;color:var(--text);position:absolute}.best-badge{font-variant-numeric:tabular-nums;text-shadow:2px 3px 3px var(--score-shadow), var(--text-glow);background:#0000002e;border-radius:999px;align-items:center;gap:8px;margin:0;padding:8px 18px 8px 14px;font-family:Nunito,system-ui,sans-serif;font-size:26px;font-weight:700;line-height:1;display:flex}.splash-actions{flex-direction:column;gap:12px;width:min(100%,250px);margin-top:8px;display:flex}.splash-actions button{min-height:52px;padding-top:14px;padding-bottom:16px;font-size:19px}.splash-actions .continue{background:var(--accent);gap:12px}.pill{font-variant-numeric:tabular-nums;background:#00000024;border-radius:8px;padding:5px 9px;font-size:14px}.splash.intro{animation:2.3s linear both splash-done}.intro .tile{animation:.7s both tile-drop;animation-delay:calc(var(--row-delay) + (var(--x) + var(--half)) * 70ms)}.intro .logo-blowup{animation:.5s ease-out 1.2s both blowup-pop}.intro .halo{animation:.9s ease-out 1.2s both bloom}.intro .best-badge{animation:.45s ease-out 1.4s both pop-in}.intro .splash-actions>*{animation:.55s ease-out both rise-in}.intro .splash-actions>:first-child{animation-delay:1.5s}.intro .splash-actions>:nth-child(2){animation-delay:1.6s}.intro .splash-gear{animation:.4s ease-out 1.7s both fade-in}.burst{z-index:2;position:absolute;top:50%;left:50%}.burst i{width:var(--size);height:var(--size);margin:calc(var(--size) / -2);background:var(--c);border-radius:3px;animation:.8s cubic-bezier(.15,.7,.3,1) 1.2s both particle-fly;position:absolute}.intro .burst:before{content:"";border:3px solid var(--text);border-radius:50%;width:40px;height:40px;margin:-20px;animation:.6s ease-out 1.2s both ring-out;position:absolute}@keyframes splash-done{0%,to{opacity:1}}@keyframes tile-drop{0%{animation-timing-function:cubic-bezier(.5,0,.9,.5);transform:translateY(-110vh)rotate(0)}55%{transform:translateY(0) rotate(var(--tilt)) scale(1.14, .8);animation-timing-function:ease-out}72%{transform:translateY(-18%) rotate(var(--tilt)) scale(.94, 1.07);animation-timing-function:ease-in}86%{transform:translateY(0) rotate(var(--tilt)) scale(1.05, .95);animation-timing-function:ease-out}to{transform:translateY(0) rotate(var(--tilt))}}@keyframes blowup-pop{0%{transform:scale(1)}30%{transform:scale(1.2)}60%{transform:scale(.95)}to{transform:scale(1)}}@keyframes particle-fly{0%{opacity:0;transform:translate(0)rotate(0)scale(1)}1%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(.4)}}@keyframes ring-out{0%{opacity:0;transform:scale(0)}1%{opacity:1}to{opacity:0;transform:scale(8)}}@keyframes pop-in{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}@keyframes bloom{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise-in{0%{opacity:0;transform:translateY(48px)}60%{opacity:1;transform:translateY(-8px)}80%{transform:translateY(3px)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}}.toggle{text-align:left;justify-content:space-between;align-items:center;min-height:44px;font-weight:700;display:flex}.toggle input{appearance:none;background:var(--text-secondary);opacity:.5;cursor:pointer;border-radius:14px;width:48px;height:28px;margin:0;transition:background .15s,opacity .15s;position:relative}.toggle input:after{content:"";background:var(--text);border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle input:checked{background:var(--button);opacity:1}.toggle input:checked:after{transform:translate(20px)}.toggle input:disabled{opacity:.25;cursor:default}.note{text-align:left;font-size:13px;margin:-8px 0 0!important}.segmented{border:none;margin:4px 0 12px;padding:0}.segmented+.segmented{margin-top:-8px}.segmented legend{text-align:left;align-items:center;min-height:44px;padding:0;font-weight:700;display:flex}.segmented-track{background:#00000038;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;padding:5px;display:grid;box-shadow:inset 0 2px 4px #00000040}.segmented label{position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented span{min-height:40px;color:var(--text-secondary);border-radius:10px;place-items:center;padding:0 12px;font-weight:700;line-height:1;transition:background .15s,color .15s;display:grid}.segmented input:checked+span{background:var(--button);color:var(--button-text);padding-bottom:3px;box-shadow:inset 0 -3px #0000002e}.segmented input:focus-visible+span{outline:2px solid var(--accent)}.toast{left:50%;bottom:max(16px, env(safe-area-inset-bottom));background:var(--panel);z-index:20;border-radius:14px;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-weight:700;display:flex;position:fixed;transform:translate(-50%);box-shadow:inset 0 0 0 2px #ffffff0f,0 10px 30px #00000059}.toast button{padding:9px 16px 13px}#debug{left:8px;bottom:max(8px, env(safe-area-inset-bottom));background:var(--scrim);color:var(--text-secondary);pointer-events:none;z-index:30;border-radius:8px;margin:0;padding:6px 8px;font:11px/1.35 ui-monospace,monospace;position:fixed}button{font:inherit;cursor:pointer;min-height:44px;color:var(--button-text);background:var(--button);border:none;border-radius:12px;justify-content:center;align-items:center;padding:13px 30px 17px;font-family:Nunito,system-ui,sans-serif;font-weight:700;line-height:1;transition:transform 60ms;display:inline-flex;box-shadow:inset 0 -4px #0000002e}button.secondary{color:var(--text);box-shadow:inset 0 0 0 2px var(--text-secondary);background:0 0;padding-top:15px;padding-bottom:15px}button:active{transform:translateY(2px);box-shadow:inset 0 -2px #0000002e}button.secondary:active{box-shadow:inset 0 0 0 2px var(--text-secondary)}button.icon-button,button.icon-button:active{box-shadow:none;padding:6px;transform:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
