.game-wrap{background:var(--sky);-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.game-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud{pointer-events:none;z-index:2;justify-content:space-between;align-items:flex-start;padding:14px 16px;display:flex;position:absolute;top:0;left:0;right:0}.hud-left,.hud-right{align-items:center;gap:.6rem;display:flex}.hud-btn{pointer-events:auto;border:4px solid var(--ink);width:48px;height:48px;box-shadow:0 4px 0 var(--ink);transition:transform .15s var(--bounce);background:#fff;border-radius:50%;place-items:center;font-size:1.2rem;font-weight:700;display:grid}.hud-btn:hover{transform:scale(1.1)rotate(-6deg)}.hud-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.hud-score{flex-direction:column;line-height:1;display:flex}.hud-score-num{font-family:var(--font-display);color:var(--gold);-webkit-text-stroke:9px var(--ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--ink);animation:score-bump .3s var(--bounce);transform-origin:0;font-size:clamp(2.6rem,7vw,3.8rem);display:inline-block}@keyframes score-bump{0%{transform:scale(1.35)rotate(-6deg)}to{transform:scale(1)}}.hud-best{font-family:var(--font-display);color:#fff;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;margin-top:.2rem;font-size:1.05rem}.lives{border:4px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:999px;gap:.2rem;padding:.2rem .6rem;display:flex}.life{transition:transform .4s var(--bounce), filter .3s, opacity .3s;font-size:1.5rem}.life.lost{filter:grayscale();opacity:.35;transform:scale(.75)rotate(-25deg)}.frenzy-banner{z-index:2;pointer-events:none;font-family:var(--font-display);white-space:nowrap;background:var(--gold);border:4px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:999px;padding:.3em 1em;font-size:clamp(1.3rem,4vw,2rem);animation:.4s ease-in-out infinite alternate frenzy-wobble;position:absolute;top:90px;left:50%;transform:translate(-50%)}@keyframes frenzy-wobble{0%{transform:translate(-50%)rotate(-3deg)scale(1)}to{transform:translate(-50%)rotate(3deg)scale(1.06)}}.overlay{z-index:3;pointer-events:none;text-align:center;flex-direction:column;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.overlay-top{justify-content:flex-start;padding-top:80px}.overlay-center{justify-content:center}.overlay-dim{pointer-events:auto;background:#00000073}.overlay .btn,.overlay a{pointer-events:auto}.game-title{font-family:var(--font-display);color:#fff;-webkit-text-stroke:12px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink);animation:title-in .8s var(--bounce);font-size:clamp(3.2rem,11vw,6.5rem);font-weight:400;line-height:.95}.game-title span{color:var(--red)}@keyframes title-in{0%{opacity:0;transform:scale(.3)rotate(-10deg)}to{opacity:1;transform:none}}.rules{border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);animation:title-in .8s var(--bounce) .15s both;background:#ffffffeb;border-radius:20px;gap:.2rem;margin-top:1rem;padding:.8rem 1.2rem;font-size:1rem;font-weight:600;list-style:none;display:grid}.rules .danger{color:var(--red)}.swipe-hint{font-family:var(--font-display);color:#fff;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;white-space:nowrap;font-size:1.3rem;animation:1.6s ease-in-out infinite bob;position:absolute;top:calc(66% - 150px);left:0;right:0}.over-card{pointer-events:auto;background:var(--cream);border:5px solid var(--ink);box-shadow:10px 10px 0 var(--ink);min-width:min(360px,100%);animation:title-in .6s var(--bounce);border-radius:28px;padding:1.2rem 1.6rem 1.4rem}.over-card h2{font-family:var(--font-display);color:var(--red);-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;font-size:2.4rem;font-weight:400}.over-score{font-family:var(--font-display);color:var(--gold);-webkit-text-stroke:10px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink);font-size:4.2rem;line-height:1}.over-rank{background:var(--blue);color:#fff;border:3px solid var(--ink);border-radius:999px;margin-top:.6rem;padding:.2em .9em;font-weight:700;display:inline-block}.over-stats{justify-content:center;gap:1rem;margin:.9rem 0 1rem;font-size:.95rem;font-weight:600;display:flex}.over-stats b{font-family:var(--font-display);font-size:1.3rem;font-weight:400;display:block}.over-actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.pause-sub{margin:.4rem 0 1.2rem;font-weight:600}@media (max-height:640px){.rules{display:none}.overlay-top{padding-top:70px}}
