.category-power{--cat:var(--foe)}.category-vitality{--cat:#6ee07a}.category-crit{--cat:var(--legendary)}.category-tempo{--cat:var(--accent)}.category-elements{--cat:#b48cff}.category-arcana{--cat:var(--rare)}.cat-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--cat);border:1px solid var(--cat);flex:none;margin-left:auto;padding:0 4px;font-size:13px;line-height:16px}.chip{align-items:center;display:inline-flex}.chip .cat-badge{margin:0 6px 0 0}.act-banner{width:min(var(--screen-w), 100%);border-color:var(--act-accent);box-shadow:0 0 0 2px var(--ink), 4px 4px 0 2px #05040a99;padding:8px 20px 6px}.act-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.act-title,.act-change-title,.portal-name{font-family:var(--font-display);-webkit-font-smoothing:none;font-weight:400}.act-title{color:var(--act-accent);text-shadow:2px 2px 0 var(--bg);margin:0;font-size:20px}.act-progress{color:var(--act-accent);text-transform:uppercase;border:2px solid var(--act-accent);padding:0 8px;font-size:13px}.act-theme{color:var(--muted);margin:2px 0 4px;font-size:14px}.map-track-wrap{position:relative}.map-track{background:repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 10px);height:2px;position:absolute;top:15px;left:5%;right:5%}.map-nodes{grid-template-columns:repeat(10,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.map-cell{flex-direction:column;align-items:center;gap:3px;min-width:0;display:flex}.map-node{cursor:pointer;width:32px;height:32px;font:inherit;color:var(--muted);background:var(--bg);border:2px solid var(--line);place-items:center;padding:0;display:grid;position:relative}.map-node:hover,.map-node:focus{border-color:var(--text);color:var(--text);outline:none}.map-node.state-done{opacity:var(--dim-opacity)}.map-node.state-next{color:var(--act-accent);border-color:var(--act-accent);animation:1.2s steps(4,end) infinite node-pulse}.map-node.state-ahead{opacity:var(--dim-opacity)}@keyframes node-pulse{0%,to{box-shadow:0 0 0 0 var(--act-accent)}50%{box-shadow:0 0 0 4px var(--act-accent)}}.map-node.state-done:after{content:"";border:solid var(--accent);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:-6px;right:-5px;transform:rotate(45deg)}.node-glyph{width:18px;height:18px;display:block;position:relative}.node-glyph:before,.node-glyph:after{content:"";position:absolute}.node-duel .node-glyph:before{background:currentColor;width:6px;height:6px;top:6px;left:6px}.node-elite .node-glyph:before{border:2px solid;inset:0}.node-elite .node-glyph:after{border:2px solid;inset:5px}.node-boss .node-glyph:before{clip-path:polygon(0 100%,0 17%,25% 58%,50% 0,75% 58%,100% 17%,100% 100%);background:currentColor;width:16px;height:12px;top:3px;left:1px}.node-marks{align-items:center;gap:4px;height:10px;display:flex}.chest-mark{background:var(--common);border-top:3px solid var(--muted);opacity:.8;width:10px;height:8px}.chest-mark.chest-rarePick{background:var(--rare);opacity:1;border-top-color:#3a6aa0}.chest-mark.chest-legendaryPick{background:var(--legendary);opacity:1;border-top-color:#a07a10}.coin-mark{background:var(--legendary);border-radius:50%;width:8px;height:8px;box-shadow:inset -2px -2px #a07a10}.coin-count{color:var(--legendary);font-size:13px;line-height:1}.foe-tokens,.tokens-line{color:var(--legendary)}.foe-tokens{align-items:center;gap:8px;display:inline-flex}.node-arena,.node-foe{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;line-height:1.2;overflow:hidden}.node-arena{color:var(--act-accent)}.node-foe{color:var(--foe)}.map-tip{min-height:1.5em;color:var(--text);text-align:center;border-top:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;margin:4px 0 0;padding-top:4px;font-size:14px;overflow:hidden}.foe-top{align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.foe-info{flex-direction:column;gap:2px;font-size:14px;display:flex}.foe-portrait{border:2px solid var(--ink);width:96px;height:112px;image-rendering:pixelated;image-rendering:crisp-edges;background:radial-gradient(ellipse at 50% 92%, #ffae352e 0 30%, transparent 31%) var(--bg);flex:none}.foe-info{min-width:0}.foe.boss{box-shadow:0 0 0 2px var(--legendary);border-color:var(--legendary)}.boss-badge{background:var(--legendary);color:var(--bg)}.affix-chip{border-color:var(--foe);color:var(--text);margin-top:4px;line-height:1.35;display:inline-block}.affix-chip b{color:var(--foe);font-weight:400}.portal-screen{justify-content:center}.portal-sub{color:var(--legendary);margin:0;font-size:14px}.portal-screen .portals{flex:1;align-content:center;align-items:center}.portals{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.portal{width:240px;font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--line);cursor:pointer;box-shadow:0 0 0 2px var(--ink), inset 0 2px 0 var(--bevel-hi), 4px 4px 0 2px #05040a99;flex-direction:column;align-items:center;gap:8px;padding:14px 12px 16px;animation:.24s steps(5,end) both portal-in;display:flex;position:relative}.portal:nth-child(2){animation-delay:70ms}.portal:nth-child(3){animation-delay:.14s}@keyframes portal-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}.portal:hover,.portal:focus{border-color:var(--cat);box-shadow:0 0 0 2px var(--cat), 0 0 18px -4px var(--cat);outline:none;transform:translateY(-2px)}.portal .key-hint{position:absolute;top:8px;left:8px}.portal-arch{background:var(--bg);border:4px solid var(--cat);width:120px;height:156px;box-shadow:inset 0 0 0 2px var(--bg), 0 0 0 2px var(--panel-hi);border-bottom-width:6px;border-radius:60px 60px 0 0;display:block;position:relative;overflow:hidden}.portal-swirl{background:radial-gradient(circle at 50% 50%, #fff 0 4%, transparent 5%), radial-gradient(circle at 31% 36%, var(--cat) 0 7%, transparent 8%), radial-gradient(circle at 70% 66%, var(--cat) 0 5%, transparent 6%), radial-gradient(circle at 64% 28%, #fff 0 2%, transparent 3%), radial-gradient(circle at 50% 50%, transparent 0 12%, var(--cat) 13% 15%, transparent 16% 24%, var(--cat) 25% 26%, transparent 27%), radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--cat) 40%, var(--bg)) 0 30%, var(--bg) 62%);animation:2.4s steps(12,end) infinite swirl;position:absolute;inset:-30%}.portal:hover .portal-swirl,.portal:focus .portal-swirl{animation-duration:1.2s}@keyframes swirl{to{transform:rotate(360deg)}}.portal-name{color:var(--cat);text-shadow:2px 2px 0 var(--bg);align-items:center;gap:8px;font-size:20px;display:inline-flex}.portal-desc{color:var(--muted);text-align:center;flex-direction:column;align-items:center;font-size:14px;line-height:1.35;display:flex}.portal-keys{background:var(--surface);border:2px solid var(--rim);box-shadow:0 0 0 2px var(--ink);margin:0;padding:6px 12px;font-size:14px}.pick-panel .row[hidden]{display:none}.reveal-stage{justify-content:center;margin:-6px 0 4px;display:flex;position:relative}.reveal-canvas{width:640px;max-width:100%;height:240px;image-rendering:pixelated;image-rendering:crisp-edges}.reveal-stage.static .reveal-canvas{width:320px;height:120px}.reveal-hint{color:var(--act-accent);text-shadow:2px 2px 0 var(--bg);margin:0;display:none;position:absolute;bottom:4px;left:0;right:0}.reveal-stage[data-phase=closed] .reveal-hint,.reveal-stage[data-phase=opening] .reveal-hint{animation:1s steps(4,end) infinite pulse;display:block}.reveal-flash{z-index:60;opacity:0;pointer-events:none;background:#fff;position:fixed;inset:0}.reveal-flash.flashing{animation:.22s steps(3,end) both white-flash}@keyframes white-flash{0%{opacity:.85}to{opacity:0}}.pick-cards .card-btn{position:relative}.card-btn.face-down{visibility:hidden}.card-btn.rising{animation:.16s steps(4,end) both card-rise}@keyframes card-rise{0%{transform:translateY(32px)scaleX(1)}50%{transform:translateY(12px)scaleX(.05)}to{transform:none}}.card-btn.rising:after{content:"";border:2px solid var(--line);background:repeating-linear-gradient(45deg, var(--panel-hi) 0 4px, var(--panel) 4px 8px);animation:.16s step-end both card-back;position:absolute;inset:-2px}@keyframes card-back{0%,49%{opacity:1}50%,to{opacity:0}}.card-btn.reveal-rare{border-color:var(--rare);box-shadow:0 0 0 1px var(--rare), 0 0 14px -2px var(--rare)}.card-btn.reveal-legendary{border-color:var(--legendary);box-shadow:0 0 0 1px var(--legendary), 0 0 20px 0 var(--legendary)}.card-btn.reveal-cursed{border-color:var(--cursed)}.card-btn.rising.reveal-legendary{animation:.16s steps(4,end) both card-rise,.9s steps(6,end) .16s legend-glow}@keyframes legend-glow{0%{box-shadow:0 0 0 6px #fff, 0 0 32px 4px var(--legendary)}to{box-shadow:0 0 0 1px var(--legendary), 0 0 20px 0 var(--legendary)}}.card-btn.rising.reveal-cursed{animation:.16s steps(4,end) both card-rise,.6s step-end .16s cursed-flicker}@keyframes cursed-flicker{0%,30%,60%{box-shadow:0 0 0 2px var(--cursed), 0 0 16px var(--cursed);filter:none}15%,45%{box-shadow:none;filter:brightness(.6)}to{box-shadow:none;filter:none}}.reward-line{text-align:center}.reward-line.tier-elite{color:var(--rare)}.reward-line.tier-boss{color:var(--legendary)}.act-change{text-align:center;border:2px solid var(--act-accent);background:var(--surface);max-width:560px;box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--act-accent);margin:10px auto;padding:10px 20px;animation:.42s steps(6,end) .2s both achieve-pop;position:relative;overflow:hidden}.act-change:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:40px;animation:.9s steps(9,end) .7s both sheen;position:absolute;top:0;bottom:0;left:-60px}@keyframes achieve-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:none}}@keyframes sheen{0%{left:-60px}to{left:110%}}.act-change-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:13px}.act-change-title{color:var(--act-accent);text-shadow:2px 2px 0 var(--bg);font-size:26px}.act-change-theme{color:var(--text);font-size:14px}@media (prefers-reduced-motion:reduce){.map-node.state-next,.portal,.portal-swirl,.reveal-hint,.reveal-flash.flashing,.card-btn.rising,.card-btn.rising:after,.card-btn.rising.reveal-legendary,.card-btn.rising.reveal-cursed,.act-change,.act-change:after{animation:none}.map-node.state-next{box-shadow:0 0 0 3px var(--act-accent)}.portal:hover,.portal:focus{transform:none}}@media (max-height:800px){.act-theme,.node-arena,.node-foe{display:none}.act-banner{padding-top:6px}}@media (max-height:900px){.run-body .foe canvas.book{width:318px!important;height:158px!important}}@media (max-width:1100px),(max-height:680px){.act-banner{padding:6px 14px 4px}.act-title{font-size:16px}.act-theme{display:none}.foe-portrait{width:48px;height:56px}.map-node{width:26px;height:26px}.map-track{top:12px}.portal{width:200px;padding:10px}.portal-arch{width:96px;height:120px}.reveal-canvas{width:480px;height:180px}.pick-panel .pick-cards .card-btn{min-height:120px}}@font-face{font-family:Silkscreen;src:url(/fonts/Silkscreen-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:Pixelify Sans;src:url(/fonts/PixelifySans-Variable.ttf)format("truetype");font-weight:400 700;font-display:swap}:root{--bg:#0d0b14;--panel:#1b1734;--panel-hi:#2f2956;--line:#3d3670;--text:#e4e6ec;--muted:#9a9cab;--accent:#4ce8d8;--foe:#ffae35;--danger:#ff7083;--common:#b6b9c3;--rare:#7cc8ff;--legendary:#ffd84a;--cursed:#ff5ce0;--font-display:"Silkscreen", ui-monospace, monospace;--font-body:"Pixelify Sans", "Segoe UI", system-ui, sans-serif;--surface:#131026;--rim:#2f2956;--ink:#0e0c14;--head:#201b3f;--corner:#5b52a6;--bevel-hi:#463f7e;--bevel-lo:#110e22;--accent-hi:#a4f6ee;--accent-lo:#1d958b;--danger-face:#36142a;--danger-face-hi:#4d1b37;--page:#2a2433;--dim-opacity:.7;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}body{font:16px/1.4 var(--font-body);-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;overflow:hidden}#app{z-index:1;scrollbar-color:var(--line) var(--bg);position:fixed;inset:0;overflow:auto}::placeholder{color:var(--muted);opacity:1}h1,h2,h3,h4{letter-spacing:.04em;margin:0;font-weight:400}h1,h2,h3,.logo,.tagline,.press-key,.menu .btn,.stat-value,.word,.pop-word,.mod-name,.foe-name,.result,.score,.credits .credit-lead,.room-code,input[type=text].code-input,.banner-title,.mm-headline,.mm-elapsed,.rating-elo{font-family:var(--font-display);-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto;font-weight:400}h2{text-shadow:2px 2px 0 var(--ink);font-size:24px;line-height:1.2}h3{color:var(--accent);font-size:16px;line-height:1.25}p{margin:0}.muted{color:var(--muted)}[hidden]{display:none!important}.ico{vertical-align:middle;fill:currentColor;shape-rendering:crispedges;flex:none;width:20px;height:20px;display:inline-block}.ico .ico-accent{fill:var(--icon-accent,currentColor)}.ico.ico-lg{width:30px;height:30px}.ico.ico-sm{width:10px;height:10px}.ico-coin{color:var(--legendary);--icon-accent:#b88d16}.ico-lock{--icon-accent:var(--bg)}.with-ico{align-items:center;gap:var(--s2);display:inline-flex}.menu-backdrop{z-index:0;background:var(--bg);pointer-events:none;position:fixed;inset:0;overflow:hidden}.menu-backdrop[hidden]{display:none}.backdrop-canvas{image-rendering:pixelated;image-rendering:crisp-edges}#app:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(75% 70% at 50% 46%,#0d0b1480 0%,#0d0b14db 100%);position:fixed;inset:0}#app[data-screen=title]:before,#app[data-screen=modeSelect]:before{background:linear-gradient(90deg,#0d0b1400 0%,#0d0b141a 28%,#0d0b14b8 46% 84%,#0d0b1459 100%),linear-gradient(#0d0b1459 0%,#0d0b1400 30% 70%,#0d0b1473 100%)}#app[data-screen=match]:before{display:none}.screen-enter{animation:.16s steps(4,end) both screen-in}@keyframes screen-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.screen{--screen-w:1100px;min-height:100%;padding:var(--s5) var(--s6);align-items:center;gap:var(--s4);flex-direction:column;display:flex}.menu-screen{justify-content:center}.screen.narrow{--screen-w:600px}.screen.mid{--screen-w:860px}.screen>.panel,.screen-head,.screen-foot,.screen-body{width:min(var(--screen-w), 100%)}.screen-body{gap:var(--s4);align-items:start;display:grid}.screen-body>.panel{width:auto;min-width:0}.row{gap:var(--s2) var(--s3);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.row.start{justify-content:flex-start}.row.spread{justify-content:space-between;width:min(1100px,100%)}.col{gap:var(--s3);flex-direction:column;align-items:stretch;display:flex}.screen-head{justify-content:space-between;align-items:center;gap:var(--s4);min-height:56px;padding:var(--s2) var(--s4);background:var(--surface);border:2px solid var(--rim);box-shadow:0 0 0 2px var(--ink), inset 0 2px 0 var(--head), 4px 4px 0 2px #05040a99;flex:none;display:flex}.screen-head-title{align-items:center;gap:var(--s3);min-width:0;color:var(--accent);display:flex}.screen-head-title h2{color:var(--text)}.screen-head-extras{align-items:center;gap:var(--s3);flex-wrap:wrap;justify-content:flex-end;font-size:14px;display:flex}.screen-foot{justify-content:space-between;align-items:center;gap:var(--s3);flex:none;display:flex}.foot-start,.foot-end{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.foot-end{justify-content:flex-end}.foot-status{text-align:center;flex:1;min-width:0}.panel{--pad-y:var(--s4);--pad-x:var(--s5);padding:var(--pad-y) var(--pad-x);background:var(--surface);background-image:linear-gradient(var(--corner), var(--corner)), linear-gradient(var(--corner), var(--corner)), linear-gradient(var(--corner), var(--corner)), linear-gradient(var(--corner), var(--corner)), linear-gradient(var(--corner), var(--corner)), linear-gradient(var(--corner), var(--corner)), linear-gradient(var(--corner), var(--corner)), linear-gradient(var(--corner), var(--corner));border:2px solid var(--rim);width:min(1100px,100%);box-shadow:0 0 0 2px var(--ink), 4px 4px 0 2px #05040a99;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;background-size:10px 2px,2px 10px,10px 2px,2px 10px,10px 2px,2px 10px,10px 2px,2px 10px;position:relative}.panel-head{align-items:center;gap:var(--s2);min-height:40px;margin:calc(-1 * var(--pad-y)) calc(-1 * var(--pad-x)) var(--s3);padding:var(--s1) var(--s4);background:var(--head);border-bottom:2px solid var(--rim);color:var(--accent);display:flex}.panel-head .panel-title{flex:1;min-width:0;margin:0}.panel-head-extras{align-items:center;gap:var(--s2);display:flex}.panel-head .btn{min-height:32px;padding:2px 10px;font-size:14px}.section-label{align-items:center;gap:var(--s2);margin:var(--s1) 0 0;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:13px;display:flex}.section-label:after{content:"";background:var(--rim);flex:1;height:2px}.btn{--b-face:var(--panel);--b-text:var(--text);--b-hi:var(--bevel-hi);--b-lo:var(--bevel-lo);justify-content:center;align-items:center;gap:var(--s2);min-height:44px;font:inherit;color:var(--b-text);cursor:pointer;background:var(--b-face);border:2px solid var(--ink);box-shadow:inset 0 2px 0 var(--b-hi), inset 0 -3px 0 var(--b-lo), 0 2px 0 var(--ink);text-align:center;white-space:nowrap;padding:6px 18px 8px;font-size:16px;line-height:1.2;display:inline-flex;position:relative}.btn .ico{margin-left:-4px}.btn-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.btn:hover,.btn:focus-visible,.btn:focus{--b-face:var(--panel-hi);--b-hi:#5c54a0;outline:2px solid var(--accent);outline-offset:2px}.btn:active:not(:disabled){box-shadow:inset 0 2px 0 var(--b-lo), 0 0 0 var(--ink);transform:translateY(2px)}.btn.primary{--b-face:var(--accent);--b-text:var(--ink);--b-hi:var(--accent-hi);--b-lo:var(--accent-lo);font-weight:700}.btn.primary:hover,.btn.primary:focus{--b-face:var(--accent-hi);--b-hi:#e4fffb;outline-color:var(--text)}.btn.danger{--b-face:var(--danger-face);--b-text:var(--danger);--b-hi:#5a2240;--b-lo:#1d0915}.btn.danger:hover,.btn.danger:focus{--b-face:var(--danger-face-hi);--b-hi:#7a3058;outline-color:var(--danger)}.btn.quiet{--b-face:var(--surface);--b-text:var(--muted);--b-hi:var(--surface);--b-lo:var(--surface);box-shadow:0 0 0 0 var(--ink);border-color:var(--rim)}.btn.quiet:hover,.btn.quiet:focus{--b-face:var(--panel-hi);--b-text:var(--text)}.btn:disabled,.card-btn:disabled{opacity:var(--dim-opacity);cursor:default;box-shadow:inset 0 0 0 0 var(--ink);border-style:dashed;border-color:var(--line);transform:none}.btn.wide{width:100%}select,input[type=text],input[type=email],input[type=password],.card-btn{font:inherit;color:var(--text);min-height:44px;padding:8px 14px}select,input[type=text],input[type=email],input[type=password]{background:var(--bg);border:2px solid var(--line);box-shadow:inset 0 2px 0 var(--ink);cursor:text}select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(-45deg, transparent 50%, var(--muted) 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:36px}select option{background:var(--panel);color:var(--text)}select:hover{border-color:var(--corner)}select:focus,input:focus,.card-btn:focus{border-color:var(--accent);outline:none}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--bg);border:2px solid var(--line);height:10px}input[type=range]::-moz-range-track{background:var(--bg);border:2px solid var(--line);height:6px}input[type=range]::-moz-range-progress{background:var(--accent-lo);height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--ink);width:14px;height:22px;box-shadow:inset 0 2px 0 var(--accent-hi), inset 0 -2px 0 var(--accent-lo);margin-top:-8px}input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--ink);border-radius:0;width:10px;height:18px}input[type=range]:focus{outline:2px solid var(--accent);outline-offset:4px}.field{gap:var(--s3);grid-template-columns:140px minmax(0,1fr) auto;align-items:center;display:grid}.field>span:first-child{color:var(--muted);font-size:14px}.field-label{align-items:center;gap:var(--s2);display:inline-flex}.field .value{text-align:right;min-width:4ch;font-size:14px}.settings{max-width:600px}.title-screen,.mode-menu{padding:var(--s4) var(--s6);grid-template-columns:minmax(0,1fr) auto minmax(0,.42fr);place-items:center stretch;display:grid}.title-screen>*,.mode-menu>.menu-card{grid-column:2}.title-screen{cursor:pointer}.title-card{align-items:center;gap:var(--s3);--pad-y:var(--s6);--pad-x:var(--s6);text-align:center;flex-direction:column;width:auto;display:flex}.logo{color:var(--accent);text-shadow:6px 6px 0 var(--panel-hi);border:0;margin:0;padding:0;font-size:clamp(48px,7vw,96px);line-height:1}.logo.small{text-shadow:4px 4px 0 var(--panel-hi);font-size:52px}.logo-letter{animation:.42s steps(6,end) both letter-in;display:inline-block}.logo-letter:nth-child(2){animation-delay:90ms}.logo-letter:nth-child(3){animation-delay:.18s}.logo-letter:nth-child(4){animation-delay:.27s}.logo-letter:nth-child(5){animation-delay:.36s}.logo-letter:nth-child(6){animation-delay:.45s}.logo-letter:nth-child(7){animation-delay:.54s}.logo-letter:nth-child(8){animation-delay:.63s}@keyframes letter-in{0%{opacity:0;color:#fff;text-shadow:0 0 12px var(--accent), 0 0 2px #fff;transform:translateY(-12px)}50%{opacity:1;color:#fff;text-shadow:0 0 16px var(--accent), 6px 6px 0 var(--panel-hi);transform:translateY(2px)}to{opacity:1;color:var(--accent);text-shadow:6px 6px 0 var(--panel-hi);transform:none}}.tagline{color:var(--foe);text-shadow:2px 2px 0 var(--ink);font-size:18px;animation:.4s steps(4,end) .65s both fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.press-key{align-items:center;gap:var(--s2);margin-top:var(--s3);padding:var(--s2) var(--s4);color:var(--text);background:var(--panel);border:2px solid var(--ink);box-shadow:inset 0 2px 0 var(--bevel-hi), inset 0 -3px 0 var(--bevel-lo);font-size:16px;animation:.3s steps(3,end) .9s both fade-in,1.4s steps(4,end) 1.2s infinite pulse;display:inline-flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.key-hints{gap:var(--s4);color:var(--muted);background:var(--surface);border:2px solid var(--rim);box-shadow:0 0 0 2px var(--ink);padding:var(--s1) var(--s3);align-items:center;font-size:14px;display:flex}.key-hints kbd{font:inherit;color:var(--text);border:2px solid var(--line);background:var(--panel);border-bottom-width:3px;margin-right:2px;padding:0 6px;font-size:13px}.title-card .key-hints{margin-top:var(--s2)}.menu-card{gap:var(--s3);--pad-y:var(--s5);flex-direction:column;width:clamp(340px,30vw,420px);display:flex}.menu-card-head{align-items:center;gap:var(--s2);padding-bottom:var(--s3);border-bottom:2px solid var(--rim);flex-direction:column;display:flex}.account-status{align-items:center;gap:var(--s2);margin:0;font-size:14px;display:inline-flex}.account-status.signed-in{color:var(--accent)}.menu{gap:var(--s2)}.menu .btn{letter-spacing:.02em;width:100%;padding-left:var(--s4);justify-content:flex-start;font-size:18px}.menu .btn .ico{margin-left:0;margin-right:var(--s1)}.menu-note{padding-left:var(--s2);font-family:var(--font-body);letter-spacing:0;color:var(--muted);margin-left:auto;font-size:14px}.menu .btn:hover .menu-note,.menu .btn:focus .menu-note{color:var(--text)}.menu .menu-item{text-align:left;animation:.22s steps(5,end) both slide-in}.menu .menu-item:nth-child(2){animation-delay:40ms}.menu .menu-item:nth-child(3){animation-delay:80ms}.menu .menu-item:nth-child(4){animation-delay:.12s}.menu .menu-item:nth-child(5){animation-delay:.16s}.menu .menu-item:nth-child(6){animation-delay:.2s}.menu .menu-item:nth-child(7){animation-delay:.24s}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.menu-item{background:var(--surface);--b-face:var(--surface)}.menu-item:hover,.menu-item:focus{--b-face:var(--panel-hi);color:var(--accent)}.menu-item.activated{--b-face:#fff;--b-hi:#fff;--b-lo:#cfd2dc;color:var(--bg)}.menu-item.activated .menu-note{color:var(--bg)}.menu-group-gap{height:var(--s1)}.stat-scrolls{gap:var(--s2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat-scroll{padding:6px var(--s1) 4px;background:var(--panel);border:2px solid var(--ink);box-shadow:inset 0 2px 0 var(--bevel-hi);grid-template-columns:auto auto;grid-template-areas:"ico val""lbl lbl";justify-content:center;align-items:center;gap:2px 6px;display:grid}.stat-scroll .ico{color:var(--muted);grid-area:ico}.stat-scroll .stat-value{grid-area:val}.stat-scroll .stat-label{text-align:center;grid-area:lbl}.stat-scroll.tokens .ico{color:var(--legendary)}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:13px}.stat-value{color:var(--text);font-size:18px;line-height:1.1}.menu-card-foot{justify-content:center;align-items:center;gap:var(--s2);display:flex}.menu-card{position:relative}.menu-card .version-tag{top:var(--s2);right:var(--s2);position:absolute}.menu-card-foot .key-hints{box-shadow:none;gap:var(--s3);background:0 0;border:0;padding:0}.card{text-align:left;gap:var(--s1);flex-direction:column;display:flex}.card-head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.word{font-size:18px}.card-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px}.card-nums{color:var(--text);font-size:14px}.card-desc{color:var(--muted);font-size:14px;line-height:1.35}.card.compact .word{font-size:16px}.card.locked{opacity:var(--dim-opacity)}.lock{align-items:center;gap:var(--s1);color:var(--foe);font-size:14px;display:inline-flex}.lock .ico-lock{--icon-accent:var(--bg)}.card-grid{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));width:min(1100px,100%);display:grid}.card-btn{text-align:left;cursor:pointer;background:var(--panel);border:2px solid var(--ink);box-shadow:inset 0 2px 0 var(--bevel-hi), inset 0 -3px 0 var(--bevel-lo), 0 2px 0 var(--ink);padding:10px 12px}.card-btn:hover,.card-btn:focus{background:var(--panel-hi);outline:2px solid var(--accent);outline-offset:2px}.card-btn.in-kit{border-color:var(--accent);background:var(--panel-hi)}.card-btn.locked{background:var(--bg);border:2px dashed var(--line);box-shadow:none;min-height:44px;padding:10px 12px}.kit-row{gap:var(--s2);flex-wrap:wrap;display:flex}.kit-row>.card{background:var(--bg);border:2px solid var(--line);min-width:120px;padding:6px 10px}.glyph{width:26px;height:14px;display:inline-block;position:relative}.glyph:before,.glyph:after{content:"";background:currentColor;position:absolute}.glyph-quick:before{width:5px;height:5px;top:5px;left:10px}.glyph-heavy:before{width:13px;height:13px;top:0;left:6px}.glyph-barrage:before{width:5px;height:5px;top:5px;left:1px;box-shadow:9px 0,18px 0}.role-tag{text-transform:uppercase;border:2px solid var(--line);color:var(--muted);padding:0 4px;font-size:13px}.book{image-rendering:pixelated;flex:none;display:block}.book-host{flex:none;position:relative}.book-host .book{position:absolute;top:0;left:0}.book-row{color:#0000;font:inherit;cursor:pointer;background:0 0;border:0;outline:none;margin:0;padding:0;position:absolute}.book-row.locked{opacity:var(--dim-opacity);cursor:default}.book-well{padding:var(--s2);background:var(--bg);border:2px solid var(--ink);justify-content:center;align-items:center;display:flex;box-shadow:inset 0 2px #07060c}.kit-screen{--screen-w:1280px;gap:var(--s3);height:100%;min-height:0;padding-top:var(--s4);padding-bottom:var(--s4)}.kit-layout{gap:var(--s3);min-height:0;width:min(var(--screen-w), 100%);flex:1;grid-template:"book side""cards cards"minmax(0,1fr)/auto minmax(0,1fr);display:grid}.kit-layout .panel{--pad-y:var(--s3);--pad-x:var(--s4);width:auto}.kit-layout .kit-book{--pad-y:var(--s2);--pad-x:var(--s2);grid-area:book}.kit-side{gap:var(--s3);flex-direction:column;grid-area:side;min-width:0;display:flex}.kit-cards{flex-direction:column;grid-area:cards;min-width:0;min-height:0;display:flex}.kit-status{align-items:flex-start;gap:var(--s2);padding:var(--s2) var(--s3);background:var(--bg);border:2px solid var(--ink);display:flex}.kit-status .ico{color:var(--foe)}.kit-status.ok .ico{color:var(--accent)}.kit-side .validation{min-height:0;margin:0;font-size:16px;line-height:1.3}.kit-help{font-size:14px;line-height:1.4}.kit-help kbd{font:inherit;color:var(--text);border:2px solid var(--line);background:var(--panel);border-bottom-width:3px;padding:0 4px;font-size:13px}.kit-tools{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.kit-side-foot{gap:var(--s2);grid-template-columns:auto minmax(0,1fr);margin-top:auto;display:grid}.kit-tokens{align-items:center;gap:var(--s2);color:var(--legendary);background:var(--bg);border:2px solid var(--ink);margin:0;padding:2px 10px;font-size:16px;display:inline-flex}.grid-heading{align-items:center;gap:var(--s2);font-family:var(--font-body);letter-spacing:.02em;color:var(--text);border-bottom:2px solid var(--rim);margin:0 0 6px;padding-bottom:2px;font-size:16px;font-weight:700;display:flex}.grid-hint{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:400}.grid-cost{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-left:auto;font-size:13px;font-weight:400}.grid-cost.cost-mana{color:var(--accent)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface);border:2px solid var(--line);align-items:center;min-height:32px;padding:3px 10px;font-size:14px;display:inline-flex}.btn.chip{--b-face:var(--surface);min-height:32px;box-shadow:inset 0 2px 0 var(--b-hi), inset 0 -2px 0 var(--b-lo), 0 2px 0 var(--ink);padding:2px 12px 4px;font-size:14px}.chip.active,.btn.chip.active{--b-face:var(--panel-hi);border-color:var(--accent);color:var(--accent);background:var(--panel-hi)}.kit-cards-head{flex-wrap:wrap;padding-top:6px;padding-bottom:6px}.kit-cards-head .chips{margin-left:auto}.kit-cards-head .btn.chip{min-height:30px}.kit-list-head{color:var(--muted);margin:0;font-size:14px}.kit-cards .panel-head .kit-list-head{color:var(--text);flex:1}.kit-list{overscroll-behavior:contain;min-height:96px;padding:var(--s2) var(--s2) var(--s2) var(--s1);background:var(--bg);border:2px solid var(--ink);scrollbar-color:var(--line) transparent;scrollbar-width:thin;flex:1;scroll-padding:8px;position:relative;overflow-y:auto}.kit-list .grid-group+.grid-group{margin-top:var(--s3)}.kit-pop{--better:var(--accent);--worse:var(--danger);z-index:20;width:260px;padding:var(--s2) 10px;pointer-events:none;background:var(--surface);border:2px solid var(--rim);box-shadow:0 0 0 2px var(--ink), 4px 4px 0 2px #05040a99;position:absolute}.kit-pop[hidden]{display:none}.kit-pop.compare{width:400px}.pop-slot{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:13px}.pop-grid{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:2px 8px;display:grid}.pop-grid.compare{grid-template-columns:max-content minmax(0,1fr) minmax(0,1fr)}.pop-col-head{border-bottom:2px solid var(--rim);flex-direction:column;margin-bottom:1px;padding-bottom:3px;display:flex}.pop-grid>.pop-label:first-child{border-bottom:2px solid var(--rim);margin-bottom:1px}.pop-caption{color:var(--muted);text-transform:uppercase;font-size:13px}.pop-name{flex-wrap:wrap;align-items:baseline;gap:0 6px;display:flex}.pop-word{font-size:16px;line-height:1.2}.pop-kind,.pop-label{color:var(--muted);text-transform:uppercase;font-size:13px}.pop-val{color:var(--text);font-size:14px}.pop-val.better{color:var(--better)}.pop-val.better:after{content:" ▴"}.pop-val.worse{color:var(--worse)}.pop-val.worse:after{content:" ▾"}.pop-cur{color:var(--muted)}.pop-desc{color:var(--text);font-size:14px;line-height:1.35}.pop-desc.pop-cur{color:var(--muted)}.pop-unlock{color:var(--muted);font-size:13px}.pop-unlock.lock{color:var(--foe)}.char-sub{margin:var(--s3) 0 var(--s1);font-family:var(--font-body);letter-spacing:.06em;color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:400}.mod-chip{font:inherit;background:var(--surface);cursor:pointer;min-height:30px;font-size:14px;position:relative}.mod-chip:hover,.mod-chip:focus,.mod-chip.pinned{background:var(--panel-hi);border-color:currentColor;outline:none}.mod-tip{z-index:20;text-align:left;white-space:normal;background:var(--panel);width:260px;box-shadow:4px 4px 0 var(--ink);border:2px solid;flex-direction:column;gap:2px;padding:6px 8px;display:none;position:absolute;top:calc(100% + 6px);left:0}.mod-chip:hover .mod-tip,.mod-chip:focus .mod-tip,.mod-chip.pinned .mod-tip{display:flex}.mod-tip-name{font-size:16px;font-weight:700}.mod-tip-meta{color:var(--muted);text-transform:uppercase;font-size:13px}.mod-tip-desc{color:var(--text);font-size:14px;line-height:1.35}.stat-head,.stat-line,.stat-spell{grid-template-columns:minmax(0,1.4fr) 58px 14px 58px 64px minmax(0,1.3fr);align-items:center;gap:4px;display:grid}.stat-head{color:var(--muted);text-transform:uppercase;font-size:13px}.stat-sheet{scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-height:0;overflow-y:auto}.stat-line{cursor:default;border-bottom:2px solid var(--rim);padding:3px 2px;font-size:14px;list-style:none}.stat-line::-webkit-details-marker{display:none}.stat:not(.flat)>.stat-line{cursor:pointer}.stat:not(.flat)>.stat-line .stat-label:before{content:"▸ ";color:var(--muted)}.stat[open]:not(.flat)>.stat-line .stat-label:before{content:"▾ "}.stat-line:focus{outline:2px solid var(--accent);outline-offset:-2px}.stat-line .stat-label{text-transform:none;letter-spacing:0;color:var(--text);font-size:14px}.stat-spell{color:var(--muted);padding:1px 2px 1px 16px;font-size:13px}.stat-spell .stat-label{text-transform:none;letter-spacing:0;font-size:13px}.stat-base{color:var(--muted);text-align:right}.stat-arrow{color:var(--muted);text-align:center}.stat-now{text-align:right}.stat-now.changed{color:var(--text)}.stat-delta{text-align:right;font-size:13px}.stat-delta.good{color:var(--accent)}.stat-delta.bad{color:var(--danger)}.stat-from{flex-wrap:wrap;gap:3px;display:flex}.from-mod{border:1px solid;padding:0 3px;font-size:13px;line-height:16px}.stat-note{margin-top:6px;font-size:13px}.results-screen{--screen-w:860px;justify-content:center}.results-screen .panel{align-items:center;gap:var(--s3);flex-direction:column;display:flex}:is(.results-screen:has(.result-kits),.results-screen:has(.run-summary)){--screen-w:1100px}.run-summary{flex-wrap:nowrap}.run-summary .result-col:first-child{flex:1 1 0;max-width:520px}.result-banner{align-items:center;gap:var(--s2);width:100%;padding-bottom:var(--s3);border-bottom:2px solid var(--rim);flex-direction:column;display:flex}.result{align-items:center;gap:var(--s3);text-align:center;text-shadow:3px 3px 0 var(--ink);font-size:44px;line-height:1;display:inline-flex}.result .ico{width:40px;height:40px}.result.win{color:var(--accent)}.result.loss{color:var(--foe)}.score{text-align:center;font-size:26px}.result-cols{gap:var(--s3) var(--s6);flex-wrap:wrap;justify-content:center;align-items:flex-start;display:flex}.stats{gap:var(--s1) var(--s5);grid-template-columns:auto auto;justify-content:center;margin:0;display:grid}.stats dt{color:var(--muted)}.stats dd{text-align:right;margin:0}.rounds{border-collapse:collapse;margin:0 auto;font-size:14px}.rounds th{text-transform:uppercase;color:var(--muted);background:var(--head);font-size:13px;font-weight:400}.rounds th,.rounds td{border:2px solid var(--rim);padding:2px var(--s3)}.result-kits{justify-content:center;gap:var(--s3) var(--s5);flex-wrap:wrap;display:flex}.result-kit{gap:var(--s1);flex-direction:column;display:flex}.result-kit h3{margin:0}.result-kit:last-child h3{color:var(--foe)}.kit-grid{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));width:100%}.kit-card{background:var(--surface)}.kit-card:hover,.kit-card:focus{border-color:var(--accent)}.kit-card.locked{cursor:default;border-style:dashed}.validation{color:var(--foe);min-height:1.4em}.validation.ok{color:var(--accent)}.tokens-line{align-items:center;gap:var(--s2);display:inline-flex}.credits{gap:var(--s2) var(--s5);grid-template-columns:auto minmax(0,1fr);margin:0;display:grid}.credits dt{color:var(--accent)}.credits dt.credit-lead,.credits dd.credit-lead{font-size:18px}.credits dd.credit-lead{color:var(--text)}.credits dd{margin:0}.credits dt:not(:last-of-type),.credits dd:not(:last-of-type){padding-bottom:var(--s2);border-bottom:2px solid var(--rim)}.mod-name{font-size:16px}.key-hint{border:2px solid var(--line);min-width:26px;height:26px;color:var(--accent);background:var(--bg);border-bottom-width:3px;place-items:center;padding:0 4px;font-size:14px;display:inline-grid}.rarity-common .mod-name,.chip.rarity-common{color:var(--common)}.rarity-rare .mod-name,.chip.rarity-rare{color:var(--rare)}.rarity-legendary .mod-name,.chip.rarity-legendary{color:var(--legendary)}.rarity-cursed .mod-name,.chip.rarity-cursed{color:var(--cursed)}.pick-panel{text-align:center;align-items:center;gap:var(--s2);flex-direction:column;width:min(980px,100%);display:flex}.pick-panel>*{width:100%}.pick-cards{gap:var(--s3);margin:var(--s2) 0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.pick-cards .card-btn{min-height:150px}.cursed-slot{border-color:var(--cursed)}.pick-screen{justify-content:center}.run-screen{--screen-w:1180px;gap:var(--s3);height:100%;min-height:0;padding-top:var(--s4);padding-bottom:var(--s4)}.run-head-stats{align-items:center;gap:var(--s4);display:flex}.hp{align-items:center;gap:var(--s2);min-width:260px;display:flex}.hp .ico{color:var(--danger)}.bar{background:var(--bg);border:2px solid var(--ink);height:14px;box-shadow:0 0 0 2px var(--line);flex:1}.bar .fill{background:var(--accent);height:100%;box-shadow:inset 0 2px 0 var(--accent-hi), inset 0 -2px 0 var(--accent-lo)}.run-body{min-height:0;width:min(var(--screen-w), 100%);flex:1;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.run-body .panel{flex-direction:column;width:auto;min-height:0;display:flex}.run-body .character .stat-sheet,.run-body .foe .book-well{flex:1}.foe{border-color:var(--foe)}.foe h3,.foe .panel-head{color:var(--foe)}.foe-name{gap:var(--s3);flex-wrap:wrap;align-items:center;font-size:22px;display:flex}.badge{font-family:var(--font-body);padding:2px 8px;font-size:13px}.elite-badge{background:var(--foe);color:var(--bg)}.foe.elite{box-shadow:0 0 0 2px var(--foe), 4px 4px 0 2px #05040a99}.lobby-screen{gap:var(--s3)}.lobby-body{grid-template-columns:minmax(0,1fr) auto}.lobby-body .panel{width:auto}.lobby-play{gap:var(--s3)}.lobby-play .row{justify-content:flex-start}.lobby-who{align-items:center;gap:var(--s2);color:var(--text);margin:0;display:inline-flex}input[type=text].code-input{text-transform:uppercase;letter-spacing:.2em;width:9ch;font-size:20px}.room-code{letter-spacing:.25em;color:var(--accent);text-align:center;padding:var(--s3) 0 var(--s2);text-shadow:4px 4px 0 var(--ink);font-size:56px;line-height:1}.share{gap:var(--s2);flex-wrap:wrap;justify-content:center;align-items:center;font-size:14px;display:flex}.share code{font-family:var(--font-body);background:var(--bg);border:2px solid var(--ink);-webkit-user-select:all;user-select:all;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:6px 10px;overflow:hidden}.seats{margin-top:var(--s3)}.seat{align-items:center;gap:var(--s3);padding:var(--s2) 0;border-top:2px solid var(--rim);display:flex}.seat-label{color:var(--accent);min-width:48px}.rtt{align-items:center;gap:var(--s1);background:var(--bg);border:2px solid var(--ink);padding:2px 8px;display:inline-flex}.rtt:empty{display:none}.rtt.good{color:var(--accent)}.rtt.ok{color:var(--legendary)}.rtt.bad{color:var(--danger)}.match-screen{height:100%;padding:0;display:block}.match-stage{background:var(--bg);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:hidden}.game-canvas{image-rendering:pixelated;image-rendering:crisp-edges}.overlays{pointer-events:none;position:absolute;inset:0}.overlays>*{pointer-events:auto}.notice{background:var(--panel);border:2px solid var(--foe);box-shadow:0 0 0 2px var(--ink);color:var(--foe);padding:6px 16px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.banner{text-align:center;border:2px solid var(--line);box-shadow:0 0 0 2px var(--ink);pointer-events:none;background:#0d0b14eb;padding:12px 32px;position:absolute;top:36%;left:50%;transform:translate(-50%,-50%)}.banner-title{color:var(--accent);font-size:32px}.match-stage .pick-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shade{z-index:10;background:#0d0b14bf;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#app>.screen>.shade,.screen .shade{position:fixed}.dialog,.pause-menu{text-align:center;width:auto;min-width:380px;max-width:min(520px,92vw)}.dialog-body{align-items:flex-start;gap:var(--s3);text-align:left;margin-bottom:var(--s4);display:flex}.dialog-body .ico{color:var(--foe)}.dialog-actions{justify-content:flex-end}.pause-menu .col{margin-top:var(--s2)}.pause-menu .btn{width:100%}.frame-data{border:1px solid var(--line);pointer-events:none;background:#0d0b14eb;width:min(560px,60%);padding:4px 8px;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}.fd-legend{color:var(--muted)}.fd-row{grid-template-columns:34px 170px 1fr;align-items:center;gap:6px;height:18px;display:grid}.fd-who{color:var(--accent)}.fd-row+.fd-row .fd-who{color:var(--foe)}.fd-track{background:var(--bg);height:8px;display:flex;position:relative}.fd-seg{height:100%}.fd-startup{background:var(--legendary)}.fd-active{background:var(--accent)}.fd-recovery{background:var(--muted)}.fd-stagger{background:var(--danger)}.fd-cursor{background:var(--text);width:2px;height:12px;position:absolute;top:-2px}.fd-cd-row{align-items:center;gap:10px;height:16px;display:flex}.fd-cd-row .fd-who{width:40px}.fd-cd{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.fd-cd-track{background:var(--bg);width:36px;height:4px;display:inline-block}.fd-cd-fill{background:var(--accent);height:100%;display:block}.toasts{z-index:100;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;top:12px;right:12px}.toast{align-items:center;gap:var(--s2);background:var(--panel);border:2px solid var(--line);box-shadow:0 0 0 2px var(--ink), 4px 4px 0 2px #05040a99;padding:8px 18px 8px 12px;display:flex}.toast .ico{color:var(--accent)}.toast-unlock{border-color:var(--legendary);color:var(--legendary)}.toast-unlock .ico{color:var(--legendary)}.toast-error{border-color:var(--danger);color:var(--danger)}.toast-error .ico{color:var(--danger)}@media (prefers-reduced-motion:reduce){.screen-enter,.logo-letter,.tagline,.press-key,.menu .menu-item{animation:none}.btn:active:not(:disabled){transform:none}}.profile-screen{--screen-w:1000px;gap:var(--s3)}.profile-layout{gap:var(--s4);width:min(var(--screen-w), 100%);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.profile-layout>.panel{width:auto}.profile-preview{--pad-x:var(--s4);align-items:center;gap:var(--s3);flex-direction:column;display:flex}.profile-canvas{width:192px;height:240px;image-rendering:pixelated;border:2px solid var(--ink);display:block}.profile-controls{gap:var(--s2)}.profile-field{grid-template-columns:110px minmax(0,1fr)}.name-row,.seg-row,.swatch-row{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.profile-name{width:16ch}.name-status{font-size:14px}.name-status.ok{color:var(--accent)}.name-status.bad{color:var(--danger)}.btn.seg{min-height:34px;padding:2px 12px 4px;font-size:14px}.btn.seg.on{--b-face:var(--panel-hi);border-color:var(--accent);color:var(--accent)}.color-input{border:2px solid var(--line);background:var(--bg);cursor:pointer;width:44px;height:30px;padding:0 2px}.color-input:focus{border-color:var(--accent);outline:none}.swatch{border:2px solid var(--ink);cursor:pointer;width:24px;height:24px;padding:0;box-shadow:inset 0 0 0 1px #ffffff26}.swatch:hover,.swatch:focus{outline:2px solid var(--text);outline-offset:1px}.mode-menu{position:relative}.btn.version-tag{min-height:30px;color:var(--muted);--b-face:var(--surface);padding:2px 8px 4px;font-size:13px}.btn.version-tag .ico{width:10px;height:10px;margin-left:0}.btn.version-tag:hover,.btn.version-tag:focus{color:var(--accent)}.patch-notes{gap:var(--s4);scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;max-height:calc(100vh - 220px);display:flex;overflow-y:auto}.patch-release+.patch-release{border-top:2px solid var(--rim);padding-top:var(--s3)}.patch-head{align-items:baseline;gap:var(--s3);margin:0 0 6px;font-size:18px;display:flex}.patch-date{font-family:var(--font-body);color:var(--muted);font-size:14px}.patch-list{gap:var(--s1);flex-direction:column;margin:0;padding-left:20px;line-height:1.4;display:flex}.patch-list li::marker{color:var(--accent)}.account-panel{gap:var(--s3)}.account-field{grid-template-columns:130px minmax(0,1fr)}.account-input{width:100%;min-width:0}.account-tabs{justify-content:flex-start}.account-note{font-size:14px;line-height:1.4}.account-message{text-align:center}.account-message:empty{display:none}.account-message.bad{color:var(--danger)}.account-name{flex-wrap:nowrap;justify-content:flex-start}.account-name .account-field{flex:auto}.account-rank{color:var(--accent)}.account-actions{gap:var(--s3);flex-wrap:wrap;justify-content:flex-end;display:flex}.account-stats{padding:var(--s3);background:var(--bg);border:2px solid var(--ink);grid-template-columns:130px minmax(0,1fr);justify-content:stretch}.account-stats dd{text-align:left}.profile-guest{color:var(--muted)}.btn.ranked-toggle.on{--b-face:var(--panel-hi);border-color:var(--legendary);color:var(--legendary)}.ranked-hint{align-items:center;gap:var(--s1);font-size:14px;display:inline-flex}.ranked-hint[hidden]{display:none}.ranked-badge{align-items:center;gap:var(--s1);border:2px solid var(--legendary);color:var(--legendary);background:var(--surface);letter-spacing:.1em;align-self:center;padding:2px 8px;font-size:13px;display:inline-flex}.ranked-badge[hidden]{display:none}.seat-rank{align-items:center;gap:var(--s1);color:var(--legendary);margin-left:auto;display:inline-flex}.mm-panel{text-align:center;align-items:center;gap:var(--s3);--pad-y:var(--s5)}.mm-headline{color:var(--accent);font-size:18px}.mm-elapsed{margin:0;font-size:32px}.mm-window{align-items:center;gap:var(--s2);display:inline-flex}.mm-spinner{background:var(--accent);width:24px;height:24px;box-shadow:0 0 0 4px var(--ink), 0 0 0 6px var(--line);animation:1s steps(4,end) infinite mm-spin}.mm-spinner[hidden]{display:none}@keyframes mm-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.mm-spinner{animation:none}}.rating-line{flex-direction:column;align-items:center;gap:2px;margin:0;display:flex}.rating-elo{align-items:center;gap:var(--s2);margin:0;font-size:16px;display:inline-flex}.rating-elo.up{color:var(--accent)}.rating-elo.down{color:var(--danger)}.two-col{grid-template-columns:minmax(0,1fr) auto}.kit-panel{align-self:start}.tips{gap:var(--s2);color:var(--muted);flex-direction:column;margin:0;padding:0;font-size:14px;line-height:1.4;list-style:none;display:flex}.tip{gap:var(--s2);align-items:flex-start;display:flex}.tip .ico{color:var(--accent);margin-top:1px}.settings-actions{gap:var(--s2) var(--s3);flex-wrap:wrap;align-items:center;display:flex}.settings-note{font-size:14px}.lobby-main{gap:var(--s4);flex-direction:column;min-width:0;display:flex}.lobby-main>.panel{width:auto}.screen-foot .validation{background:var(--surface);border:2px solid var(--rim);box-shadow:0 0 0 2px var(--ink);min-height:0;margin:0;padding:6px 12px;font-size:14px}.screen-foot .validation:empty{display:none}.screen-head .btn{min-height:36px;padding:2px 12px 4px;font-size:14px}.screen-head .lobby-who{font-size:14px}.name-col{gap:var(--s1);flex-direction:column;display:flex}.color-grid{gap:var(--s2) var(--s4);grid-template-columns:repeat(auto-fit,minmax(330px,1fr));display:grid}.color-row{grid-template-columns:84px minmax(0,1fr)}.color-row .swatch-row{gap:6px}.profile-preview .btn{width:100%}.pick-head{align-items:center;gap:var(--s1);padding-bottom:var(--s2);border-bottom:2px solid var(--rim);flex-direction:column;display:flex}.pick-sub{font-size:14px}.results-panel{gap:var(--s3)}.result-row{justify-content:center;align-items:center;gap:var(--s3) var(--s5);flex-wrap:wrap;display:flex}.result-sub{color:var(--text)}.result-col{gap:var(--s2);flex-direction:column;min-width:0;display:flex}.rounds-wrap{scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:176px;overflow-y:auto}.results-panel>.tokens-line{color:var(--legendary)}.pause-head{justify-content:center;align-items:center;gap:var(--s3);color:var(--accent);padding-bottom:var(--s3);border-bottom:2px solid var(--rim);display:flex}.pause-head h2{color:var(--text)}@media (max-width:1100px),(max-height:680px){.panel{--pad-y:var(--s3);--pad-x:var(--s4)}.screen{padding:var(--s3) var(--s4);gap:var(--s3)}.screen-head{min-height:48px;padding:var(--s1) var(--s3)}h2{font-size:20px}.menu-card{gap:var(--s2);--pad-y:var(--s4);--pad-x:var(--s4)}.menu-card-head{padding-bottom:var(--s2)}.logo.small{font-size:40px}.room-code{padding:var(--s2) 0 var(--s1);font-size:40px}.panel-head{margin-bottom:var(--s2)}}@media (max-height:640px){.menu-card-foot{display:none}.menu .btn{min-height:44px}.stat-scroll{padding:var(--s1) var(--s1) 4px}}@media (max-height:800px){.rounds-wrap{max-height:124px}}@media (max-height:680px){.col{gap:var(--s2)}.result{font-size:36px}.result .ico{width:30px;height:30px}.results-panel{gap:var(--s2)}.rounds-wrap{max-height:96px}.stat-note{display:none}.tips{gap:var(--s1)}}@media (min-width:1600px) and (min-height:900px){.menu-card{width:480px}.menu .btn{min-height:52px;font-size:20px}.logo.small{font-size:64px}.stat-value{font-size:20px}h2{font-size:28px}.screen-head{min-height:64px}.btn{min-height:48px}.screen-head .btn,.panel-head .btn{min-height:36px}}
