@font-face{font-family:Geist;src:url(./Geist-Variable-Bj2R_7yk.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(./GeistMono-Variable-Dispecij.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--ui-font:Geist, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ui-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ui-bg:#070b14;--ui-surface:#0c1422;--ui-surface-2:#121c2e;--ui-overlay:#070b14c7;--ui-line:#f3ead31f;--ui-line-strong:#f3ead34d;--ui-text:#f3ead3;--ui-muted:#8b8476;--ui-good:#7bd88f;--ui-bad:#f07167;--ui-radius:6px;--ui-radius-sm:3px;--ui-shadow:0 8px 24px #00000059}.ui-btn{border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-sm);color:var(--ui-text);font:500 13px/1 var(--ui-font);letter-spacing:.04em;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.ui-btn:hover,.ui-btn:focus-visible{border-color:var(--ui-text);outline:none}.ui-btn--solid{background:var(--ui-text);color:var(--ui-bg);border-color:#0000}.ui-btn--solid:hover,.ui-btn--solid:focus-visible{background:#fff;border-color:#0000}.ui-panel{border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-overlay);-webkit-backdrop-filter:blur(8px);color:var(--ui-text);font-family:var(--ui-font)}.ui-badge{border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-sm);background:var(--ui-overlay);color:var(--ui-muted);font:500 11px/1 var(--ui-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;align-items:center;padding:4px 8px;display:inline-flex}.ui-num{font-family:var(--ui-mono);font-variant-numeric:tabular-nums}.ui-label{color:var(--ui-muted);font:500 11px/1.2 var(--ui-font);letter-spacing:.08em;text-transform:uppercase}.ui-slider{appearance:none;cursor:pointer;background:0 0;width:100%;height:20px}.ui-slider::-webkit-slider-runnable-track{background:var(--ui-line-strong);border-radius:2px;height:4px}.ui-slider::-moz-range-track{background:var(--ui-line-strong);border-radius:2px;height:4px}.ui-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ui-text);border:0;border-radius:50%;width:14px;height:14px;margin-top:-5px}.ui-slider::-moz-range-thumb{background:var(--ui-text);border:0;border-radius:50%;width:14px;height:14px}.ui-slider:focus-visible{outline:1px solid var(--ui-text);outline-offset:2px}.arcade-home{border:1px solid var(--ui-line-strong);border-radius:var(--ui-radius-sm);height:30px;color:var(--ui-text);font:500 13px/1 var(--ui-font);letter-spacing:.01em;cursor:pointer;pointer-events:auto;white-space:nowrap;background:#070b14d1;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.arcade-home:hover,.arcade-home:focus-visible{border-color:var(--ui-text);outline:none}.arcade-home--corner{z-index:40;top:max(8px, env(safe-area-inset-top));position:absolute;left:10px}:is(.screen:has(>.arcade-home--corner),.results:has(>.arcade-home--corner),.overlay:has(>.arcade-home--corner),.pause-menu:has(>.arcade-home--corner),.fps-overlay:has(>.arcade-home--corner),.skate-pause:has(>.arcade-home--corner),.skate-select:has(>.arcade-home--corner),.skate-end:has(>.arcade-home--corner)){padding-top:max(46px, calc(env(safe-area-inset-top) + 38px))}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f4f1ea;--muted:#b7b1a6;--panel:#0c0e12d1;--line:#ffffff14;--danger:#e15b54;--hp:#3cba6a;--xp:#7aa2ff;--boss:#e23d3d;--class:#d7c4a3;--accent:#f4f1ea;font-family:var(--ui-font)}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);touch-action:manipulation;background:#07080c;margin:0;overflow:hidden}body{place-items:center;min-height:100dvh;display:grid}button,input{font:inherit;color:inherit}#frame{background:#0c0e12;width:min(100vw,46.2085dvh);height:min(100dvh,216.41vw);position:relative;overflow:hidden;box-shadow:0 18px 60px #00000073}body.mob-dev-mode{flex-direction:row;justify-content:center;align-items:center;gap:16px;width:100%;min-height:100dvh;display:flex;overflow:auto hidden}body.mob-dev-mode #frame,#frame.mob-dev-open{flex-shrink:0}#game-root{position:absolute;inset:0}#game-root canvas{width:100%;height:100%;display:block}#ui{pointer-events:none;position:absolute;inset:0}#screen-game{position:absolute;inset:0}.screen,.overlay{pointer-events:auto;padding:max(16px, env(safe-area-inset-top)) 16px max(14px, env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex;position:absolute;inset:0}.screen{background:#0e1014}#screen-start{background:0 0;padding:0}.title-stage{z-index:0;pointer-events:none;position:absolute;inset:0}.title-stage canvas{width:100%;height:100%;display:block}.title-copy{z-index:1;height:100%;padding:max(16px, env(safe-area-inset-top)) 16px max(14px, env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;gap:12px;display:flex;position:relative}.title-copy .brand h1,.title-copy .guild{text-shadow:0 2px 16px #000000d9}.title-copy button,.title-copy .note{pointer-events:auto}.hidden{display:none!important}.brand h1,.results h2,.panel h2{letter-spacing:-.03em;margin:0;font-weight:650}.brand h1{font-size:40px}.note,.disclaimer,.stat-line{color:var(--muted);margin:0;line-height:1.45}.disclaimer{margin-top:auto;font-size:11px}.grow{flex:1;min-height:0}.start-stage{border-radius:12px;min-height:0;position:relative;overflow:hidden}.start-keyart{object-fit:cover;object-position:center bottom;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.gold-button,.ghost-button,.small-ghost,.talent-card,.class-card{cursor:pointer;border:0}.gold-button,.ghost-button{border-radius:14px;padding:14px 16px;font-weight:650}.gold-button{background:var(--accent);color:#121418}.gold-button:disabled{opacity:.45}.ghost-button,.small-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.small-ghost{border-radius:10px;padding:8px 12px}.class-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.class-card{box-shadow:inset 0 0 0 1px var(--line);background:#ffffff0a;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px 10px;display:flex}.class-card[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--class,#fff)}.class-card img,.class-detail img,.gear-row img,.talent-card img,.loot-card img,.boss-frame img{object-fit:cover;background:#1a1d24;border-radius:10px;width:42px;height:42px}.class-card .name{font-size:12px}.class-detail{box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;align-items:center;gap:12px;padding:12px 0;display:flex}.class-detail h2{margin:0 0 4px;font-size:18px}.class-detail p{color:var(--muted);margin:0;font-size:13px}.class-preview{background:0 0;border-radius:0;flex:none;width:128px;height:160px;overflow:visible}.class-preview canvas{background:0 0;width:100%;height:100%;display:block}.hud{pointer-events:none;padding:max(10px, env(safe-area-inset-top)) 12px 0;flex-direction:column;gap:6px;display:flex}.hud-row,.bars{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:13px;display:flex}.zone-name{text-align:center;color:var(--muted);flex:1}.icon-button{pointer-events:auto;width:32px;height:32px;color:var(--ink);background:#080a0e8c;border:0;border-radius:10px}.bar{background:#ffffff14;border-radius:99px;flex:1;height:8px;overflow:hidden}.bar span{width:0;height:100%;display:block}.bar.hp span{background:var(--hp)}.bar.xp{height:5px}.bar.xp span{background:var(--xp)}.bar.boss-hp span{background:var(--boss)}.bar.boss-pace{height:3px}.bar.boss-pace span{background:var(--boss)}.player-vitals{align-items:center;gap:10px}.vital-stack{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.bar.plate{width:100%;height:9px;box-shadow:none;background:#1a0c0a;border:1px solid #120806;border-radius:2px;flex:none;overflow:hidden}.bar.plate.hp span{background:linear-gradient(#ff6240 0%,#d12618 55%,#6a100c 100%)}.bar.plate.xp{height:6px}.bar.plate.xp span{background:linear-gradient(#8eb6ff 0%,#3a6ad4 55%,#1a2e6a 100%)}.pause-menu{z-index:5;pointer-events:auto;background:#06080cc7;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.pause-menu h2{margin:0;font-size:28px}.boss-frame{pointer-events:none;background:#080a0e9e;border-radius:14px;align-items:center;gap:8px;min-width:0;margin-top:4px;padding:8px 10px;display:flex}.boss-frame img{flex:none}.boss-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.boss-head{align-items:flex-start;gap:8px;min-width:0;display:flex}.boss-titles{flex:1;min-width:0}.boss-name,.boss-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.boss-name{font-size:14px;font-weight:650;line-height:1.2}.boss-title{color:var(--muted);margin-top:1px;font-size:11px;line-height:1.2}.boss-meta{color:var(--muted);white-space:nowrap;flex:none;margin-left:auto;font-size:11px;line-height:1.2}.banner{pointer-events:none;background:#080a0eb8;border-radius:16px;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:10px 14px;display:flex;position:absolute;top:72px;left:16px;right:16px}.banner.hidden{opacity:0;transform:translateY(-10px);display:flex!important}.banner img{object-fit:cover;border-radius:10px;width:42px;height:42px}.banner h2{margin:0;font-size:20px}.kicker{color:var(--muted);font-size:12px}.banner-show{animation:.22s both banner-in}@keyframes banner-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.hint{text-align:center;color:#f4f1eab8;pointer-events:none;transition:opacity .4s;position:absolute;bottom:28px;left:0;right:0}.overlay{background:#06080c75;justify-content:flex-end}.overlay.hidden{opacity:0;pointer-events:none;transform:translateY(16px);display:flex!important}.panel{background:var(--panel);border-radius:20px;flex-direction:column;gap:12px;padding:16px;display:flex;box-shadow:0 12px 40px #00000047}.panel-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.points{color:var(--muted);font-size:13px}.talent-cards{flex-direction:column;gap:8px;display:flex}.talent-card{text-align:left;box-shadow:inset 0 0 0 1px var(--line);background:#ffffff0a;border-radius:14px;align-items:center;gap:12px;padding:10px;animation:.2s both card-in;display:flex}@keyframes card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.talent-sheet{background:linear-gradient(#06080c00 0 46%,#06080ce0 100%);justify-content:flex-end;align-items:flex-end}.talent-sheet .panel{border-radius:18px 18px 0 0;width:100%;max-height:48%;padding:8px 8px 12px}.talent-scroll{pointer-events:auto;max-height:196px;overflow:auto}.talent-grid{grid-template-rows:repeat(7,64px);grid-template-columns:repeat(3,1fr);height:448px;display:grid;position:relative}.talent-arrows{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.talent-arrows line{stroke:#e8d6a8b8;stroke-width:1.5px;vector-effect:non-scaling-stroke}.talent-node{box-shadow:inset 0 0 0 1px var(--line);z-index:1;color:var(--ink);text-align:left;cursor:pointer;pointer-events:auto;background:#1c1e24;border:0;border-radius:8px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:1px;min-width:0;margin:2px;padding:4px 4px 3px;display:flex;position:relative;overflow:hidden}.talent-node img{border-radius:4px;width:16px;height:16px;position:absolute;top:3px;left:3px}.talent-copy{flex-direction:column;min-width:0;margin-top:16px;display:flex}.talent-rank{position:absolute;top:3px;right:3px}.talent-name{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:11px;line-height:1.15;display:-webkit-box;overflow:hidden}.talent-effect{white-space:nowrap;text-overflow:ellipsis;color:#f0d7a4;font-size:9px;line-height:1.1;overflow:hidden}.talent-rank{color:var(--muted);flex:none;font-size:9px}.talent-node.locked{opacity:1;filter:grayscale();background:#15171c}.talent-node.available{box-shadow:inset 0 0 0 2px var(--class,#e7c27a);background:#2a261c}.talent-node.ranked{box-shadow:inset 0 0 0 1px var(--class,#e7c27a)}.talent-node.maxed{opacity:1}.talent-node.shake{animation:.24s talent-shake}.talent-node.learned{animation:.28s talent-flash}@keyframes talent-shake{0%,to{transform:translate(0)}30%{transform:translate(-3px)}70%{transform:translate(3px)}}@keyframes talent-flash{0%{background:#ffecbe73;box-shadow:inset 0 0 0 2px #fff6d8}to{background:#fff4dc1a}}.talent-card strong{display:block}.talent-card span{color:var(--class,var(--muted));font-size:12px}.talent-card p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.35}.loot-card{align-items:center;gap:12px;display:flex}.loot-card img{box-shadow:inset 0 0 0 2px var(--loot,#fff)}.loot-card strong{display:block}.compare{border-collapse:collapse;width:100%;font-size:13px}.compare td{padding:4px 0}.tone-up{color:#7dcca0}.tone-down{color:#e18b84}.loot-actions,.talent-actions{gap:8px;display:flex}.loot-actions .gold-button,.loot-actions .small-ghost{flex:1}.results{gap:6px;padding:10px 12px 12px;overflow:hidden}.results h2{font-size:22px}.results .score-huge{font-size:28px}.results .stat-line{font-size:13px;line-height:1.3}.results .disclaimer{margin-top:0;font-size:10px}.results .name-label{font-size:12px}.results input[name=player-name]{padding:8px 10px}.cta-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.cta-row .gold-button,.cta-row .ghost-button{white-space:nowrap;text-align:center;border-radius:12px;padding:10px 8px;font-size:13px}.results-talents{flex-direction:column;gap:6px;display:flex}.results-talents h3{margin:0;font-size:16px}.results-talents .panel-head{align-items:center;gap:8px;display:flex}.results-talents .ghost-button{margin-top:0;padding:6px 10px;font-size:12px}.point-toast,.loot-toast{z-index:4;pointer-events:none;color:#f3e6c4;background:#0c0a08db;border:1px solid #f0c94d73;border-radius:999px;padding:6px 12px;font-size:13px;position:absolute}.point-toast{top:72px;left:50%;transform:translate(-50%)}.loot-toast{border-radius:12px;align-items:center;gap:8px;max-width:196px;animation:2s forwards loot-slide;display:flex;top:148px;left:auto;right:8px}@keyframes loot-slide{0%{opacity:0;transform:translateY(-14px)}12%{opacity:1;transform:translateY(0)}78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.loot-toast img{border:1px solid #c4a35a;border-radius:6px;width:36px;height:36px}.loot-toast strong{font-size:13px;display:block}.loot-toast span{color:#d7c39a;font-size:12px;display:block}.score-huge{letter-spacing:-.04em;font-size:40px;font-weight:680}.gear-row{gap:8px;display:flex}.name-label{color:var(--muted);font-size:13px}input[name=player-name]{background:#ffffff0f;border:0;border-radius:12px;outline:none;padding:12px 14px}.form-error{min-height:1.2em;color:var(--danger);margin:0}.form-error.saved{color:#e7c27a}.board{overflow:auto}.board table{border-collapse:collapse;width:100%;font-size:11px}.board th,.board td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:4px 3px}.board img{vertical-align:middle;border-radius:4px;width:16px;height:16px}.board tr.mine{background:#ffffff0d}.mob-dev{width:100%;height:100%;position:absolute;inset:0}.mob-dev-viewport{background:#141820;position:absolute;inset:0;overflow:hidden}.mob-dev-viewport canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.mob-dev-panel{pointer-events:auto;overscroll-behavior:contain;background:#0c0e12;border:1px solid #ffffff14;flex:0 0 clamp(240px,22vw,300px);align-content:start;gap:6px;width:clamp(240px,22vw,300px);height:min(100dvh,216.41vw);max-height:100dvh;padding:10px;display:grid;position:relative;overflow:hidden auto;box-shadow:0 18px 60px #00000073}.mob-dev-title{font:600 15px/1.2 var(--ui-font);letter-spacing:.04em;color:#f0e6d2;margin:0}.mob-dev-sub{font:12px/1.35 var(--ui-font);color:#a8b0bc;margin:0 0 2px}.mob-dev-field{grid-template-columns:1fr auto;align-items:center;gap:4px 8px;margin:0;display:grid}.mob-dev-field-label{letter-spacing:.06em;text-transform:uppercase;color:#c9b896;font:600 11px/1.2 system-ui,sans-serif}.mob-dev-readout{color:#e8eef6;justify-self:end;font:600 12px/1 ui-monospace,Consolas,monospace}.mob-dev-field input,.mob-dev-field select{grid-column:1/-1}.mob-dev-facing{font:12px/1.3 var(--ui-font);color:#6adf7a;margin:0}.mob-dev-facing.warn{color:#ffb454}.mob-dev-panel select,.mob-dev-panel input,.mob-dev-panel textarea,.mob-dev-panel button{width:100%}.mob-dev-row{gap:6px;display:flex}.mob-dev-row button{flex:1}body.arcade-mode{background:var(--ui-bg);display:block;overflow:hidden}body.arcade-mode #frame{width:100vw;height:100dvh;box-shadow:none;background:var(--ui-bg)}.arcade-picker{--pad-x:clamp(10px, 1.1vw, 20px);--pad-y:clamp(10px, 1.1vw, 20px);--gap:clamp(10px, 1vw, 16px);gap:var(--gap);padding:max(var(--pad-y), env(safe-area-inset-top)) max(var(--pad-x), env(safe-area-inset-right)) max(var(--pad-y), env(safe-area-inset-bottom)) max(var(--pad-x), env(safe-area-inset-left));pointer-events:auto;color:var(--ui-text);font-family:var(--ui-font);background:var(--ui-bg);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.library-grid{gap:var(--gap);grid-template-columns:1fr;display:grid}@media (width>=560px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card.is-featured{grid-column:1/-1}}@media (width>=900px) and (aspect-ratio>=5/4){.arcade-picker{--row:calc((100dvh - 2 * var(--pad-y) - 2 * var(--gap)) / 3)}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max(var(--row), 180px);grid-auto-flow:dense}.game-card.is-featured{grid-area:span 2/span 2}.game-card[data-game=leaderboard]{grid-column:span 2}}@media (width>=2300px) and (aspect-ratio>=5/4){.library-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.game-card{border:1px solid var(--ui-line);border-radius:var(--ui-radius);min-width:0;min-height:0;color:inherit;background:var(--ui-surface);-webkit-tap-highlight-color:transparent;flex-direction:column;text-decoration:none;transition:border-color .14s;display:flex;position:relative;overflow:hidden}a.game-card:hover,a.game-card:focus-visible{border-color:var(--ui-line-strong);outline:none}.game-card-art{aspect-ratio:16/9;background:var(--ui-bg);flex:auto;min-height:0;position:relative;overflow:hidden}.game-card-art img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .9s,transform .5s;position:absolute;inset:0}.game-card-art img.is-on{opacity:1}a.game-card:hover .game-card-art img{transform:scale(1.02)}.game-card-body{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:clamp(10px,.9vw,14px) clamp(12px,1vw,16px);display:flex}.game-card-text{min-width:0}.game-card-title{letter-spacing:-.01em;color:var(--ui-text);margin:0;font-size:clamp(15px,1.1vw,18px);font-weight:600;line-height:1.2}.game-card-blurb{color:var(--ui-muted);margin:3px 0 0;font-size:clamp(12.5px,.85vw,14px);line-height:1.4}.game-card-tags{font:500 11px/1.2 var(--ui-mono);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;color:var(--ui-muted);margin:6px 0 0;overflow:hidden}.game-card-play{flex:none;min-width:72px}.game-card.is-featured{height:clamp(300px,min(80vw,78dvh),520px)}.game-card.is-featured .game-card-art{aspect-ratio:auto;position:absolute;inset:0}.game-card.is-featured .game-card-art:after{content:"";pointer-events:none;background:linear-gradient(#070b1400 50%,#070b1499 75%,#070b14eb 100%);position:absolute;inset:0}.game-card.is-featured .game-card-body{margin-top:auto;padding:clamp(14px,1.4vw,24px);position:relative}.game-card.is-featured .game-card-title{letter-spacing:-.02em;font-size:clamp(22px,1.9vw,34px)}.game-card.is-featured .game-card-blurb{color:#cfc7b4;max-width:44ch;font-size:clamp(13.5px,.95vw,16px)}.game-card.is-featured .game-card-play{min-width:96px;padding:12px 22px;font-size:14px}.game-card-art.is-placeholder{background:var(--ui-surface-2);place-items:center;display:grid}.game-card-glyph{fill:none;width:clamp(36px,16%,64px);height:auto;stroke:var(--ui-muted);stroke-width:1.5px;stroke-linecap:round;opacity:.7}.game-card-soon{z-index:1;position:absolute;top:clamp(8px,.8vw,12px);right:clamp(8px,.8vw,12px)}.game-card[data-status=soon] .game-card-title{color:#cfc7b4}@media (width<=559px){.game-card[data-status=soon] .game-card-art{aspect-ratio:3}}@media (width>=900px) and (aspect-ratio>=5/4){.game-card.is-featured{height:auto}.game-card-art{aspect-ratio:auto;flex:1 1 0}}@media (width>=900px) and (aspect-ratio>=5/4) and (height<=520px){.library-grid{grid-auto-rows:240px}}@media (prefers-reduced-motion:reduce){.game-card,.game-card-art img{transition:none}a.game-card:hover .game-card-art img{transform:none}}
