.ag{--ag-ink:#111;--ag-paper:#fff;--ag-accent:#ffc83c;--ag-hot:#e0303c;--ag-good:#2fbf5b;--ag-gold:#ffd400;--ag-shake:8px;box-sizing:border-box;border:4px solid var(--ag-ink);width:640px;height:480px;color:var(--ag-ink);-webkit-user-select:none;user-select:none;touch-action:none;background:#1b1430;border-radius:12px;flex:none;font-family:Tahoma,Verdana,sans-serif;position:relative;overflow:hidden;box-shadow:0 0 0 3px #fff,0 10px 28px #00000059}.ag *,.ag :before,.ag :after{box-sizing:border-box}.ag canvas{display:block}.ag-fx{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.ag-pop{z-index:6;color:#fff;white-space:nowrap;paint-order:stroke fill;-webkit-text-stroke:5px #111;text-shadow:2px 3px #111,0 0 6px #00000080;pointer-events:none;font:900 20px Arial Black,Tahoma,sans-serif;animation:.72s cubic-bezier(.2,.9,.3,1) forwards ag-pop;position:absolute;transform:translate(-50%,-50%)}.ag-pop.is-good{color:#7dffa0}.ag-pop.is-bad{color:#ff6b76}.ag-pop.is-gold{color:var(--ag-gold);font-size:26px}.ag-pop.is-big{color:var(--ag-accent);font-size:34px}@keyframes ag-pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.5)}18%{opacity:1;transform:translate(-50%,-60%)scale(1.25)}to{opacity:0;transform:translate(-50%,-170%)scale(1)}}.ag.is-shake{animation:.26s linear ag-shake}@keyframes ag-shake{0%,to{transform:translate(0)}20%{transform:translate(var(--ag-shake), calc(var(--ag-shake) * -.6))}40%{transform:translate(calc(var(--ag-shake) * -.8), calc(var(--ag-shake) * .5))}60%{transform:translate(calc(var(--ag-shake) * .6), var(--ag-shake))}80%{transform:translate(calc(var(--ag-shake) * -.4), calc(var(--ag-shake) * -.4))}}.ag:after{content:"";z-index:7;pointer-events:none;opacity:0;background:#fff;transition:opacity .2s;position:absolute;inset:0}.ag.is-flash-hit:after{opacity:.35;transition:none}.ag.is-flash-gold:after{opacity:.45;background:var(--ag-gold);transition:none}.ag.is-flash-bad:after{opacity:.45;background:var(--ag-hot);transition:none}.ag-hud{z-index:8;background:var(--ag-accent);border-bottom:4px solid var(--ag-ink);align-items:center;gap:8px;height:46px;padding:0 10px;display:flex;position:absolute;top:0;left:0;right:0}.ag-hud-title{letter-spacing:.06em;color:var(--ag-ink);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin-right:auto;font:900 13px Arial Black,Tahoma,sans-serif;overflow:hidden}.ag-chip.is-best{background:#fff8d6}.ag-chip.is-best b{color:#8a6500;font-size:16px}.ag-chip{border:3px solid var(--ag-ink);background:#fff;border-radius:10px;align-items:baseline;gap:6px;padding:2px 10px;line-height:1.1;display:flex}.ag-chip small{letter-spacing:.08em;color:#555;font-size:9px;font-weight:900}.ag-chip b{color:var(--ag-ink);font-variant-numeric:tabular-nums;font:900 20px Arial Black,Tahoma,sans-serif}.ag-chip.is-score{order:-1}.ag-chip.is-score b{color:var(--ag-hot);font-size:24px}.ag-chip.is-time b{color:#0a246a}.ag-chip.is-time.is-low b{color:var(--ag-hot);animation:.5s steps(2,end) infinite ag-blink}.ag-chip.is-combo{background:#ffe9f4}.ag-chip.is-combo b{color:#c22d8a}.ag-chip.is-lives b{color:var(--ag-hot);letter-spacing:2px}.ag-chip.is-hot b{color:var(--ag-hot)}.ag-chip.is-combo.is-bump b{animation:.22s ease-out ag-bump}.ag-chip b{display:inline-block}.ag-chip-bump{animation:.22s ease-out ag-bump}@keyframes ag-bump{40%{transform:scale(1.35)}}@keyframes ag-blink{50%{opacity:.35}}.ag-howto-card,.ag-over-card{color:var(--ag-ink)}.ag-howto{z-index:9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a061e8c;place-items:center;animation:.18s ease-out ag-fade;display:grid;position:absolute;inset:0}.ag-howto-card{border:4px solid var(--ag-ink);background:var(--ag-paper);width:330px;box-shadow:8px 8px 0 var(--ag-ink);border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:14px 18px 16px;animation:.28s cubic-bezier(.2,1.4,.4,1) ag-card;display:flex}.ag-howto-glyph{font-size:44px;line-height:1}.ag-howto-kicker{letter-spacing:.22em;color:#666;font:900 10px Tahoma,sans-serif}.ag-howto-title{letter-spacing:.04em;text-align:center;font:900 20px Arial Black,Tahoma,sans-serif}.ag-howto-lines{flex-direction:column;gap:5px;width:100%;margin:0;padding:0;list-style:none;display:flex}.ag-howto-lines li{align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.ag-howto-lines kbd{border:2px solid var(--ag-ink);text-align:center;background:#f3f0ff;border-bottom-width:4px;border-radius:6px;flex:none;min-width:74px;padding:3px 8px;font:900 11px Tahoma,sans-serif}.ag .ag-howto-go{border:3px solid var(--ag-ink);background:var(--ag-good);color:#fff;cursor:pointer;-webkit-text-stroke:1px #111;border-radius:999px;align-items:center;gap:8px;margin-top:4px;padding:8px 22px;font:900 18px Arial Black,Tahoma,sans-serif;display:flex;position:relative;box-shadow:0 4px #1a7a35}.ag-howto-go:active{box-shadow:none;transform:translateY(3px)}.ag-howto-go:hover{filter:none;background:#3fd06a}.ag-howto-go:focus-visible{outline:3px solid var(--ag-accent);outline-offset:3px}.ag-howto-go small{color:#111;-webkit-text-stroke:0;background:#fff;border:2px solid #111;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.ag-ring{background:conic-gradient(var(--ag-accent) var(--ag-ring), transparent 0);z-index:-1;border-radius:999px;position:absolute;inset:-7px}@keyframes ag-card{0%{opacity:0;transform:scale(.7)}}@keyframes ag-fade{0%{opacity:0}}.ag-over{z-index:9;background:#0a061e99;place-items:center;animation:.2s ease-out ag-fade;display:grid;position:absolute;inset:0}.ag-over-card{border:4px solid var(--ag-ink);background:var(--ag-paper);min-width:260px;box-shadow:8px 8px 0 var(--ag-ink);border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:26px 26px 18px;animation:.32s cubic-bezier(.2,1.4,.4,1) ag-card;display:flex;position:relative}.ag-over-stamp{border:3px solid var(--ag-ink);background:var(--ag-good);color:#fff;letter-spacing:.08em;-webkit-text-stroke:1px #111;border-radius:8px;padding:4px 14px;font:900 16px Arial Black,Tahoma,sans-serif;animation:.4s cubic-bezier(.2,1.6,.4,1) .1s both ag-stamp;position:absolute;top:-18px;transform:rotate(-4deg)}.ag-over.is-bad .ag-over-stamp{background:var(--ag-hot)}.ag-over-label{letter-spacing:.16em;color:#666;font-size:10px;font-weight:900}.ag-over-score{color:var(--ag-hot);-webkit-text-stroke:2px #111;font:900 56px/1 Arial Black,Tahoma,sans-serif;animation:.5s cubic-bezier(.2,1.5,.4,1) .18s both ag-score}.ag-over-lines{border-top:2px dashed #ccc;flex-direction:column;gap:3px;width:100%;margin:10px 0 0;padding:8px 0 0;list-style:none;display:flex}.ag-over-lines li{color:#444;justify-content:space-between;gap:18px;font-size:12px;font-weight:700;display:flex}.ag-over-lines li b{color:#111;font-variant-numeric:tabular-nums}@keyframes ag-stamp{0%{opacity:0;transform:rotate(-20deg)scale(2.2)}}@keyframes ag-score{0%{opacity:0;transform:scale(.3)}}.ag-pad{display:none}@media (hover:none){.ag-pad{display:flex}}.ag-pad{z-index:8;justify-content:center;gap:6px;padding:6px;display:flex;position:absolute;bottom:0;left:0;right:0}.ag .ag-pad button{border:3px solid var(--ag-ink);width:64px;height:44px;color:var(--ag-ink);cursor:pointer;touch-action:manipulation;box-shadow:0 3px 0 var(--ag-ink);background:#fff;border-radius:10px;font:900 18px Tahoma,sans-serif}.ag-pad button:active{box-shadow:none;transform:translateY(3px)}.ag-banner{z-index:6;border:4px solid var(--ag-ink);background:var(--ag-accent);letter-spacing:.06em;white-space:nowrap;box-shadow:6px 6px 0 var(--ag-ink);pointer-events:none;border-radius:12px;padding:8px 22px;font:900 30px Arial Black,Tahoma,sans-serif;animation:.25s cubic-bezier(.2,1.4,.4,1) ag-card;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ag-banner.is-bad{background:var(--ag-hot);color:#fff;-webkit-text-stroke:1px #111}.ag-banner small{letter-spacing:0;text-align:center;font:700 12px Tahoma,sans-serif;display:block}@media (prefers-reduced-motion:reduce){.ag.is-shake,.ag-pop,.ag-howto,.ag-howto-card,.ag-over,.ag-over-card,.ag-over-stamp,.ag-over-score,.ag-banner,.ag-chip.is-combo.is-bump b,.ag-chip.is-time.is-low b,.ag-chip-bump{animation:none!important}.ag-pop{opacity:1;transform:translate(-50%,-120%)}.ag:after{transition:none}}