:root{--display:"Bungee","Archivo Black",Impact,sans-serif;--paper:#f6f2e6;--ink:#14110d;--blue:#2d70be;--red:#c92c26}*{box-sizing:border-box}html,body{overflow:hidden;background:var(--paper);overscroll-behavior:none;height:100%;margin:0}body{display:flex;color:var(--ink);font-family:var(--display);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left);flex-direction:column;height:100dvh}header{display:flex;flex:none;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.25rem 1.5rem .5rem}h1{font-family:var(--display);letter-spacing:.01em;margin:0;font-size:1.4rem}.hud{display:flex;font-variant-numeric:tabular-nums;gap:1.1rem;font-size:.68rem}.counts{display:contents}.stat{opacity:.55}.stat b{font-family:var(--display);font-size:1.05rem}.stat.blue b{color:var(--blue);opacity:1}.stat.red b{color:var(--red)}.stat.black b{color:#45403b}.stat.yellow b{color:#ae7b13}main{position:relative;flex:auto;min-height:0}canvas{display:block;touch-action:none;--arena-margin:.03;width:100%;height:100%}footer{display:flex;flex:none;align-items:stretch;gap:.65rem;padding:.75rem 1.5rem 1.4rem}#shop-label{font-family:var(--display);letter-spacing:.06em;opacity:.45;writing-mode:vertical-rl;align-self: center;padding:.2rem 0;font-size:.62rem;transform:rotate(180deg)}#shop{display:flex;flex-wrap:wrap;flex:auto;align-items:stretch;gap:.65rem}.buy{position:relative;display:flex;font-family:var(--display);text-align:left;border:3px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:4px 4px 0 var(--ink);flex-direction:column;flex:9rem;align-items: flex-start;gap:.25rem;padding:.65rem .8rem .7rem;transition:transform 70ms,box-shadow 70ms,background .12s}.buy:before{content:"";position:absolute;background:var(--accent);height:6px;inset:0 0 auto}.buy[data-accent=grow]{--accent:var(--blue)}.buy[data-accent=guard]{--accent:var(--red)}.buy[data-accent=clear]{--accent:#534d46}.buy.yellow{--accent:#c18815}.buy.discounted:after{content:"−20%";position:absolute;font-family:var(--display);color:var(--paper);border:2px solid var(--ink);background:#2d7645;padding:.15rem .35rem;font-size:.55rem;top:-9px;right:-9px;transform:rotate(4deg)}@media (hover:hover){.buy:hover:not(:disabled){box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}}.buy:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translate(4px,4px)}.buy:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;background:0 0;border-color:#a49e98}.buy:disabled:before{background:#bcb8b3}.buy-name{letter-spacing:.02em;margin-top:.35rem;font-size:.8rem}.buy-level{color:var(--accent)}.buy-blurb{letter-spacing:.04em;opacity:.72;font-size:.6rem;line-height:1.6}.buy-cost{letter-spacing:.01em;color:var(--blue);white-space:nowrap;margin-top:auto;padding-top:.4rem;font-size:.8rem}#reroll{display:flex;font-family:var(--display);border:3px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:4px 4px 0 var(--ink);flex-direction:column;flex:none;justify-content:center;gap:.25rem;padding:0 .9rem;transition:transform 70ms,box-shadow 70ms}@media (hover:hover){#reroll:hover:not(:disabled){box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}}#reroll:active:not(:disabled){box-shadow:none;transform:translate(4px,4px)}#reroll:disabled{opacity:.5;box-shadow:none;cursor:not-allowed;background:0 0;border-color:#a49e98}.reroll-name{font-size:.72rem}.reroll-cost{color:var(--blue);font-size:.6rem}#ff,#mute{box-shadow:4px 4px 0 var(--ink);font-family:var(--display);border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;flex:none;padding:0 1.1rem;font-size:.72rem}#mute[aria-pressed=true]{opacity:.4}#ff[aria-pressed=true]{background:var(--ink);color:var(--paper)}#over{position:absolute;display:grid;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f6f2e6d1;place-items: center;inset:0}#over[hidden]{display:none}#over .card{text-align:center;border:4px solid var(--ink);background:var(--paper);box-shadow:10px 10px 0 var(--ink);padding:2rem 3rem}#over h2{font-family:var(--display);letter-spacing:.01em;margin:0 0 1rem;font-size:1.6rem}.score{display:flex;flex-direction:column;margin:0}.score b{font-family:var(--display);color:var(--blue);font-variant-numeric:tabular-nums;font-size:3rem;line-height:1}.score span{opacity:.55;margin-top:.45rem;font-size:.65rem}.survived{opacity:.55;margin:1rem 0 1.5rem;font-size:.75rem}#restart{font-family:var(--display);box-shadow:5px 5px 0 var(--ink);border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;padding:.6em 1.6em;font-size:.8rem}@media (hover:hover){#restart:hover{color:var(--ink);background:0 0}}#restart:active{box-shadow:none;transform:translate(5px,5px)}.spent{position:fixed;z-index:5;pointer-events:none;background:#498ad4;border:1.5px solid #174272;border-radius:50%}.spent.yellow{background:#f6c123;border-color:#715214}@media (pointer:coarse){.buy,#reroll,#ff,#mute,#restart{min-height:2.75rem}}@media (max-width:48rem),(max-height:30rem) and (orientation:landscape){header{padding:.75rem 1rem .4rem}footer{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"label label label" "shop shop shop" "reroll ff mute";gap:.5rem;padding:.5rem .75rem .85rem}#shop-label{grid-area:label;writing-mode:horizontal-tb;justify-self:start;padding:0;transform:none}#shop{grid-area:shop;flex-wrap:nowrap;gap:.5rem}.buy{flex:1 1 0;min-width:0;padding:.55rem .6rem .6rem}.buy-name,.buy-cost{font-size:.72rem}.buy-blurb{font-size:.55rem}#reroll{grid-area:reroll;flex-direction:row;justify-content:center;align-items:baseline;gap:.5rem;padding:.5rem .9rem}#ff{grid-area:ff}#mute{grid-area:mute}#ff,#mute{padding:0 1rem}}@media (max-width:36rem),(max-height:30rem) and (orientation:landscape){canvas{--arena-margin:0}header{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title clock" "counts counts";align-items:baseline;row-gap:.1rem}h1{font-size:1.2rem}.stat b{font-size:.95rem}main{min-height:45vh;min-height:45dvh}footer{overflow-y:auto;flex:0 auto;min-height:0}.hud{display:contents}h1{grid-area:title}.stat.clock{grid-area:clock}.counts{grid-area:counts;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem}#shop{flex-direction:column;gap:.4rem}.buy{flex-flow:wrap;flex:none;align-items:baseline;gap:0 .6rem;padding:.4rem .65rem .45rem}.buy-name{margin-top:.2rem}.buy-cost{order:1;margin:.2rem 0 0 auto;padding-top:0}.buy-blurb{flex:100%;order:2;line-height:1.4}#over{position:fixed;z-index:10}#over .card{overflow:auto;box-shadow:6px 6px 0 var(--ink);max-width:calc(100% - 2rem);max-height:calc(100% - 2rem);padding:1.25rem 1rem}#over h2{margin-bottom:.75rem;font-size:1.3rem}.score b{font-size:2.4rem}.survived{margin:.75rem 0 1rem}}@media (max-height:30rem) and (orientation:landscape){body{display:grid;grid-template-columns:minmax(0,1fr)minmax(17rem,42%);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"main header" "main footer"}header{grid-area:header;padding:.75rem 1rem .25rem .5rem}main{grid-area:main;min-height:0}footer{grid-area:footer;overflow-y:auto;min-height:0;padding:.25rem 1rem .75rem .5rem}}.aaa-screen,.aaa-arena{--ui:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--gold:#f2c14e;--panel:#0c0e16db;--edge:#ffffff29;font-family:var(--ui);color:#fff;pointer-events:none}.aaa-screen [hidden],.aaa-arena [hidden]{display:none!important}.aaa-screen{position:fixed;z-index:30;inset:0}.aaa-arena{position:absolute;overflow:hidden;inset:0}.aaa-screen:before,.aaa-screen:after{content:"";position:fixed;background:#000;height:11vh;transition:transform .6s;left:0;right:0;transform:scaleY(0)}.aaa-screen:before{transform-origin:top;top:0}.aaa-screen:after{transform-origin:bottom;bottom:0}.aaa-screen.cinematic:before,.aaa-screen.cinematic:after{transform:scaleY(1)}.aaa-arena:not(.live) .aaa-objective,.aaa-arena:not(.live) .aaa-waypoint{display:none}.aaa-vignette{position:absolute;background:radial-gradient(#0000 50%,#00000061);inset:0}.aaa-modal{position:fixed;display:grid;pointer-events:auto;animation:aaa-fade .25s ease;background:#0000009e;place-items: center;padding:1rem;inset:0}.aaa-panel{background:var(--panel);border:1px solid var(--edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:3px;width:min(100%,30rem);padding:1.5rem 1.75rem;box-shadow:0 30px 80px #0009,inset 0 1px #ffffff14}.aaa-panel small{display:block;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;font-size:.68rem}.aaa-panel h3{letter-spacing:.02em;margin:0 0 .6rem;font-size:1.35rem;font-weight:600}.aaa-panel p{color:#ffffffd1;margin:0 0 .6rem;font-size:.92rem;line-height:1.5}.aaa-panel p b{color:#fff}.aaa-panel sup{font-size:.5em}.aaa-buttons{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}.aaa-buttons button{display:flex;font:inherit;letter-spacing:.08em;text-transform:uppercase;color:#fff;border:1px solid var(--edge);cursor:pointer;background:linear-gradient(#2a2f3d,#1a1d27);border-radius:2px;flex-direction:column;flex:auto;align-items: center;gap:.15rem;padding:.65rem 1.1rem;transition:border-color .15s,background .15s;font-size:.78rem}.aaa-buttons button b{font-weight:600}.aaa-buttons button small{letter-spacing:0;text-transform:none;color:#ffffff8c;margin:0;font-size:.7rem}.aaa-buttons button:hover{outline:none;border-color:var(--gold);background:linear-gradient(#3a3f52,#23273a)}.aaa-buttons button:focus-visible{outline:none;border-color:var(--gold);background:linear-gradient(#3a3f52,#23273a)}.aaa-buttons button.primary{border-color:var(--gold);box-shadow:0 0 0 1px #f2c14e59,0 0 18px #f2c14e40}.aaa-modal.difficulty .aaa-buttons{flex-direction:column}.aaa-modal.difficulty .aaa-buttons button{align-items: flex-start}.aaa-modal.splash{background:#000}.aaa-modal.splash .aaa-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-align:center;background:0 0;border:0;width:min(100%,36rem)}.aaa-modal.splash h1{letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(#fff,#9aa4b8 60%,#5b6478);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(3rem,12vw,6.5rem);font-weight:800}.aaa-modal.splash h1 sup{vertical-align:super;font-size:.25em}.aaa-modal.splash .edition{letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin:.2rem 0 3rem;font-size:1rem}.aaa-modal.splash .blink{letter-spacing:.25em;text-transform:uppercase;animation:aaa-blink 1.4s steps(2,jump-none)infinite;font-size:.85rem}.aaa-modal.splash .legal{position:fixed;color:#fff6;font-size:.62rem;bottom:1.2rem;left:1.5rem;right:1.5rem}.aaa-modal.splash .legal-big{color:#ffffffb3;max-width:28rem;margin:0 auto;font-size:1rem}.aaa-modal.splash .powered{letter-spacing:.4em;text-transform:uppercase;color:#ffffff80;font-size:.7rem}.aaa-modal.splash h2{letter-spacing:.1em;text-transform:uppercase;margin:.4rem 0 0;font-size:2.2rem;font-weight:800}.aaa-modal.splash p{color:#fffc}.aaa-modal.loading{background:#05060a;place-items: end stretch}.aaa-modal.loading .aaa-panel{display:flex;box-shadow:none;background:0 0;border:0;justify-content:space-between;align-items: flex-end;gap:2rem;width:100%;padding:0 1.5rem 1.5rem}.load-tip{color:#fffc;max-width:30rem;font-size:.9rem}.load-tip b{display:block;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem;font-size:.65rem}.load-status{display:flex;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;align-items: center;gap:.8rem;font-size:.75rem}.load-bar{overflow:hidden;background:#ffffff26;width:10rem;height:4px}.load-bar i{display:block;background:var(--gold);animation:aaa-load 2.1s cubic-bezier(.2,.8,.2,1)forwards;height:100%}.aaa-modal.cinematic{background:0 0;place-items: end center;padding-bottom:13vh}.aaa-modal.cinematic .aaa-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;text-align:center;background:0 0;border:0;width:min(100%,40rem)}.aaa-line{display:flex;text-align:left;align-items: center;gap:.9rem}.aaa-line .portrait,.aaa-subtitle .portrait{--hue:#888;display:grid;color:#000;background:radial-gradient(circle at 35% 35%,#ffffff59,transparent 60%),var(--hue);border:2px solid var(--gold);border-radius:50%;flex:none;place-items: center;width:3rem;height:3rem;font-size:1.3rem;font-weight:800;box-shadow:0 0 0 3px #000}.aaa-line b,.aaa-subtitle .who{display:block;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem;font-size:.7rem}.aaa-line p{color:#fff;text-shadow:0 2px 4px #000,0 0 12px #000;margin:0;font-size:1.15rem}.aaa-modal .skip{letter-spacing:.25em;text-transform:uppercase;color:#ffffff73;animation:aaa-fade 1.5s both;margin-top:1.2rem;font-size:.62rem}.aaa-modal.respects .aaa-panel{text-align:center}.aaa-modal.respects .fallen{font-size:1.1rem}.aaa-modal.respects .press{letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:1.4rem;font-weight:600}.aaa-modal kbd{display:inline-block;font:inherit;color:#000;background:#fff;border-radius:3px;min-width:1.6em;margin:0 .2em;padding:.1em .35em;font-weight:800;box-shadow:0 3px #999}.aaa-modal.respects .aaa-buttons button{font-size:1.6rem;font-weight:800}.aaa-modal.item h3{color:var(--gold);font-size:1.8rem}.aaa-panel .rarity{letter-spacing:.15em;text-transform:uppercase;color:#9aa4b8;font-size:.78rem}.aaa-panel .code{color:#ffffff73;font-family:monospace;font-size:.75rem}.aaa-panel .stars{letter-spacing:.1em;text-align:center;color:var(--gold);font-size:2rem}.aaa-objective{position:absolute;background:var(--panel);border:1px solid var(--edge);border-left:3px solid var(--gold);width:15rem;padding:.6rem .8rem .7rem;font-size:.8rem;top:.75rem;left:.75rem}.aaa-objective small{display:block;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.58rem}.aaa-objective .obj-text{margin:.2rem 0 .35rem;font-weight:600}.obj-bar,.xp-bar{background:#ffffff26;height:3px}.obj-bar i,.xp-bar i{display:block;width:calc(var(--p,0)*100%);height:100%;transition:width .3s}.obj-bar i{background:var(--gold)}.obj-meta{display:flex;color:#ffffffa6;justify-content:space-between;margin-top:.3rem;font-size:.66rem}.xp{display:flex;color:#ffffffbf;align-items: center;gap:.5rem;margin-top:.55rem;font-size:.62rem}.xp b{letter-spacing:.1em;color:#7db3ff}.xp .xp-bar{flex:1}.xp-bar i{background:#5a9bff}.aaa-objective .gs{letter-spacing:.12em;color:#ffffff73;margin-top:.45rem}.aaa-waypoint{position:absolute;display:flex;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 3px #000,0 0 8px #000;animation:aaa-bob 1.6s ease-in-out infinite;flex-direction:column;align-items: center;gap:.15rem;width:-moz-fit-content;width:fit-content;margin:0 auto;font-size:.66rem;bottom:4.8rem;left:0;right:0}.aaa-waypoint i{background:var(--gold);width:.8rem;height:.8rem;transform:rotate(45deg);box-shadow:0 0 0 2px #000}.aaa-tip{position:absolute;background:var(--panel);border:1px solid var(--edge);animation:aaa-rise .35s ease;max-width:16rem;padding:.5rem .7rem;font-size:.74rem;line-height:1.4;bottom:3.2rem;right:.75rem}.aaa-tip b{display:block;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.15rem;font-size:.58rem}.aaa-tip:after{content:"";position:absolute;border:7px solid #0000;border-bottom:0;border-top-color:var(--panel);bottom:-7px;right:1.2rem}.aaa-subtitle{position:absolute;display:flex;border:1px solid var(--edge);animation:aaa-rise .25s ease;background:#000000b8;align-items: center;gap:.7rem;width:-moz-fit-content;width:fit-content;max-width:min(90%,34rem);margin:0 auto;padding:.45rem .8rem .45rem .5rem;bottom:.6rem;left:0;right:0}.aaa-subtitle .portrait{width:2.4rem;height:2.4rem;font-size:1.05rem}.aaa-subtitle .text{font-size:.95rem;line-height:1.35}.aaa-subtitle .text:after{content:"▌";color:var(--gold);animation:aaa-blink .8s steps(2,jump-none)infinite}.aaa-toasts{position:fixed;display:flex;flex-direction:column;gap:.5rem;top:1rem;right:1rem}.aaa-toast{display:flex;background:var(--panel);border:1px solid var(--edge);border-left:3px solid var(--gold);animation:aaa-toast 3.6s ease both;align-items: center;gap:.7rem;min-width:17rem;padding:.55rem .8rem;box-shadow:0 10px 30px #00000080}.aaa-toast i{font-size:1.4rem;font-style:normal}.aaa-toast small{display:block;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.55rem}.aaa-toast b{display:block;font-size:.9rem}.aaa-toast span{color:#fff9;font-size:.7rem}.aaa-toast em{color:var(--gold);margin-left:auto;font-style:normal;font-weight:700}.aaa-banner{position:fixed;text-align:center;animation:aaa-banner 2.8s ease both;top:22%;left:0;right:0}.aaa-banner b{display:block;letter-spacing:.3em;text-transform:uppercase;text-shadow:0 2px 6px #000,0 0 20px #000;font-size:clamp(1.4rem,4vw,2.4rem);font-weight:800}.aaa-banner span{display:inline-block;letter-spacing:.2em;text-transform:uppercase;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);background:#000000b3;margin-top:.3rem;padding:.2rem 1rem;font-size:.8rem}.aaa-banner.objective b{color:var(--gold)}.aaa-banner.warning b{color:#ff4d4d;animation:aaa-blink .5s steps(2,jump-none)4}.aaa-banner.level b{color:#7db3ff}.aaa-autosave{position:fixed;display:flex;letter-spacing:.2em;text-transform:uppercase;color:#ffffffd9;text-shadow:0 1px 3px #000;opacity:0;align-items: center;gap:.5rem;transition:opacity .3s;font-size:.68rem;bottom:1rem;right:1rem}.aaa-autosave.on{opacity:1}.aaa-spinner{display:inline-block;animation:aaa-spin .8s linear infinite;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem}.aaa-spinner.big{border-width:3px;width:2.6rem;height:2.6rem;margin-bottom:1.2rem}body.aaa .buy{--hold:0;padding-bottom:1.5rem}.aaa-hold{position:absolute;height:1.1rem;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;bottom:0;left:0;right:0}.aaa-hold b{position:absolute;display:grid;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);opacity:.7;place-items: center;font-size:.55rem;font-weight:600;inset:0}.aaa-hold i{position:absolute;opacity:.85;transform:scaleX(var(--hold));transform-origin:left;background:#f2c14e;inset:0}.buy.holding{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.buy.aaa-pass:before{background:linear-gradient(90deg,#f2c14e,#ff8a3d)}.buy.aaa-pass .buy-cost{color:#b86114}@keyframes aaa-fade{0%{opacity:0}to{opacity:1}}@keyframes aaa-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes aaa-blink{0%{opacity:1}to{opacity:0}}@keyframes aaa-spin{to{transform:rotate(360deg)}}@keyframes aaa-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes aaa-load{0%{width:0}55%{width:72%}70%{width:99%}92%{width:99%}to{width:100%}}@keyframes aaa-toast{0%{opacity:0;transform:translate(30px)}8%{opacity:1;transform:none}88%{opacity:1}to{opacity:0}}@keyframes aaa-banner{0%{opacity:0;transform:scale(1.15)}12%{opacity:1;transform:none}80%{opacity:1}to{opacity:0}}@media (max-width:36rem){.aaa-objective{width:11rem;padding:.45rem .6rem .5rem;font-size:.7rem;top:.5rem;left:.5rem}.aaa-subtitle .text{font-size:.8rem}.aaa-line p{font-size:.95rem}.aaa-tip{max-width:12rem;font-size:.68rem}.aaa-toast{min-width:0;max-width:calc(100vw - 2rem)}.aaa-panel{padding:1.1rem 1.2rem}.aaa-modal.loading .aaa-panel{flex-direction:column;align-items:stretch;gap:1rem}}
