:root{--color-background:#101311;--color-surface:#1b211d;--color-surface-raised:#242c26;--color-primary:#a92f34;--color-primary-light:#d95750;--color-accent:#d6b36a;--color-text:#d9d8cd;--color-text-bright:#f2eee4;--color-text-muted:#8c9289;--color-line:#3b463c;--color-grid:#d6b36a21;--color-faction-counterforce:#4a9e8e;--color-faction-bioterrorism:var(--color-primary);--font-display:"Arial Narrow", Impact, sans-serif;--font-heading:"Trebuchet MS", Arial, sans-serif;--font-body:system-ui, "Segoe UI", sans-serif;--font-caption:system-ui, "Segoe UI", sans-serif;--font-mono:ui-monospace, Consolas, monospace;--space-xs:4px;--space-sm:9px;--space-md:18px;--space-lg:26px;--space-xl:44px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--dur-fast:.15s;--dur-med:.18s;--dur-slow:.3s;--ease-out:cubic-bezier(.22, .61, .36, 1);--shadow-overlay:0 18px 80px #00000080;--shadow-card:0 6px 18px #00000059;color:var(--color-text);background:var(--color-background);font:17.5px/1.55 var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:var(--color-background)}body{min-width:320px;margin:0}button{font:inherit}html[data-animations=off] *,html[data-animations=off] :before,html[data-animations=off] :after{transition:none!important;animation:none!important}.button{border-radius:var(--radius-sm);cursor:pointer;font:700 .94rem/1 var(--font-body);align-items:center;gap:var(--space-sm);letter-spacing:.12em;min-height:48px;padding:0 var(--space-lg);text-align:left;text-transform:uppercase;transition:background-color var(--dur-med) ease, border-color var(--dur-med) ease, color var(--dur-med) ease, transform var(--dur-med) ease, box-shadow var(--dur-med) ease;border:1px solid #0000;justify-content:flex-start;display:inline-flex}.button .icon{flex-shrink:0}.button:hover:not(:disabled){transform:translate(4px)}.button:focus-visible,.back-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{background:var(--color-primary);color:var(--color-text-bright);box-shadow:inset 0 0 0 1px #f2eee41f}.button--primary:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-background)}.button--action-primary:hover:not(:disabled),.button--small.button--action-primary:hover:not(:disabled){color:#fff}.button--secondary{background:var(--color-surface-raised);border-color:var(--color-line);color:var(--color-text)}.button--secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.button--ghost{border-color:var(--color-line);color:var(--color-text-muted);background:0 0}.button--ghost:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.button--danger{border-color:var(--color-primary);color:var(--color-primary-light);background:0 0}.button--danger:hover:not(:disabled){background:var(--color-primary);color:var(--color-text-bright)}.button--action-primary{color:#fff;background-color:#8b1c23;box-shadow:inset 0 1px #ffffff1f,0 4px 6px #00000040}.button--action-primary:hover:not(:disabled){color:#fff;background-color:#6b181f;box-shadow:inset 0 1px #ffffff1f,0 4px 8px #0000004d}.button--action-primary:active:not(:disabled){background-color:#5a1417;transform:translateY(1px)}.button--small.button--action-primary{box-shadow:inset 0 1px #ffffff1a,0 2px 3px #0003}.button--small.button--action-primary:hover:not(:disabled){background-color:#7a1920;box-shadow:inset 0 1px #ffffff1a,0 2px 4px #00000040}.button--small.button--action-primary:active:not(:disabled){background-color:#6b181f;transform:translateY(1px)}.button--small{min-height:44px;padding-inline:var(--space-md)}.button--align-center{text-align:center;justify-content:center}.button--icon-only{justify-content:center;width:44px;padding:0}.button--icon-only.button--small{width:38px;height:38px;min-height:38px}.main-menu{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);min-height:100svh;display:grid}.menu-art{background:linear-gradient(125deg, #1013118c, #101311f5), var(--color-background);border-right:1px solid var(--color-line);flex-direction:column;justify-content:center;padding:clamp(24px,5vw,72px);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 -140px 140px #000000a6,inset 0 90px 90px #00000080}.menu-collage{--collage-tile:clamp(96px, 6vw, 220px);z-index:0;flex-direction:column;gap:10px;width:calc(100% + 30px);padding:10px 0;display:flex;position:absolute;inset:0}.menu-collage__row{gap:10px;animation:60s linear infinite alternate collage-drift;display:flex}.menu-collage__row:nth-child(2n){margin-left:calc(var(--collage-tile) / -2);animation-direction:alternate-reverse}@keyframes collage-drift{0%{transform:translate(0)}to{transform:translateX(calc(var(--collage-tile) / -2))}}.menu-collage img{aspect-ratio:13/17.82;background:var(--color-surface-raised);filter:grayscale(.55)brightness(.42)contrast(1.05)sepia(.12);flex:0 0 var(--collage-tile);object-fit:cover;object-position:50% -5%;opacity:.65;height:auto;width:var(--collage-tile);border:3px solid #d6b36a47;box-shadow:inset 0 0 0 1px #1013118c,inset 0 1px #f2eee414}.menu-collage__card--common{border-color:#9c6b3f8c}.menu-collage__card--uncommon{border-color:#4a9e8ea6}.menu-collage__card--rare{border-color:#a78bfab3}.menu-collage__card--legendary{border-color:#d6b36acc;animation:4s ease-in-out infinite alternate legendary-pulse;box-shadow:inset 0 0 0 1px #1013118c,inset 0 1px #f2eee414,0 0 14px #d6b36a40}@keyframes legendary-pulse{0%{box-shadow:inset 0 0 0 1px #1013118c,inset 0 1px #f2eee414,0 0 8px #d6b36a26}to{box-shadow:inset 0 0 0 1px #1013118c,inset 0 1px #f2eee414,0 0 22px #d6b36a66}}@media (prefers-reduced-motion:reduce){.menu-collage__row,.menu-collage__card--legendary{animation:none}}.menu-collage__row:nth-child(3n) img{transform:rotate(-1.2deg)}.menu-collage__row:nth-child(3n+1) img{transform:rotate(1deg)}.menu-collage__row img:nth-child(7n){filter:grayscale(.75)brightness(.32)sepia(.2)}.menu-art .art-grid,.menu-art .wordmark-lockup{z-index:1;position:relative}.menu-art .art-grid{position:absolute;inset:0}.menu-art .art-placeholder{z-index:1;position:absolute;bottom:clamp(24px,5vw,72px);left:clamp(24px,5vw,72px)}.asset-disclaimer{color:var(--color-text-muted);font:700 .68rem/1.4 var(--font-caption);letter-spacing:.04em;text-align:center;z-index:1;width:100%;margin:0;position:absolute;bottom:12px;left:0}.art-grid{background-image:linear-gradient(var(--color-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-grid) 1px, transparent 1px);opacity:.5;background-size:48px 48px;position:absolute;inset:0;transform:perspective(600px)rotateX(55deg)scale(1.8)translateY(25%);-webkit-mask-image:linear-gradient(#0000,#000 25% 70%,#0000);mask-image:linear-gradient(#0000,#000 25% 70%,#0000)}.art-placeholder{color:var(--color-text-muted);font:700 .75rem/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;position:relative}.wordmark-lockup{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-sizing:border-box;text-align:center;background:linear-gradient(#101311b8,#10131199);border:1px solid #ebc23bd3;border-radius:999px;width:max-content;max-width:100%;margin-inline:auto;padding:clamp(22px,3.3vw,40px) clamp(31px,5.5vw,70px);position:relative;box-shadow:0 12px 40px #00000073,inset 0 1px #f2eee414}.wordmark{color:var(--color-text-bright);font:700 clamp(2.6rem, 6.4vw, 6.2rem)/.9 var(--font-display);letter-spacing:-.045em;margin:var(--space-md) 0 0;text-transform:uppercase;white-space:nowrap}.wordmark:after{content:"";margin-top:var(--space-sm);border-bottom:2px solid #d6b36a73;display:block}.wordmark span{color:var(--color-primary-light);margin-left:.18em;display:inline}.wordmark span.wordmark__gwent{color:var(--color-faction-counterforce);letter-spacing:inherit;margin-left:0}.menu-tagline{color:var(--color-text-muted);margin:var(--space-sm) auto 0;max-width:480px;font-size:1.1rem}.menu-navigation{max-width:560px;padding:var(--space-xl);background-color:#0000;background-image:linear-gradient(#d6b36a8c,#d6b36a8c),linear-gradient(#d6b36a8c,#d6b36a8c),linear-gradient(#d6b36a8c,#d6b36a8c),linear-gradient(#d6b36a8c,#d6b36a8c),linear-gradient(#d6b36a8c,#d6b36a8c),linear-gradient(#d6b36a8c,#d6b36a8c),linear-gradient(#d6b36a8c,#d6b36a8c),linear-gradient(#d6b36a8c,#d6b36a8c),linear-gradient(#d6b36a0d,#0000 32%),repeating-linear-gradient(0deg,#f2eee404 0 1px,#0000 1px 3px);background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%,0 0,0 0;background-repeat:no-repeat;background-size:22px 2px,2px 22px,22px 2px,2px 22px,22px 2px,2px 22px,22px 2px,2px 22px,auto,auto;background-attachment:scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box,border-box;place-self:center;width:100%}.eyebrow{color:var(--color-accent);font:700 .75rem/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase;margin:0}.menu-heading{border-bottom:1px solid var(--color-line);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg)}.menu-heading h2,.placeholder-panel h2{color:var(--color-text-bright);font-family:var(--font-heading);margin:var(--space-sm) 0}.menu-heading h2{font-size:1.87rem}.menu-heading p:last-child,.placeholder-panel>p:not(.eyebrow){color:var(--color-text-muted);margin:0}.menu-buttons{gap:var(--space-sm);display:grid}.menu-item{align-items:center;gap:var(--space-xs) var(--space-sm);grid-template-columns:28px minmax(0,1fr);display:grid}.menu-item .button{width:100%;transition:transform .18s,border-color .18s,box-shadow .18s}.menu-item .button:hover:not(:disabled){transform:translate(4px);box-shadow:0 0 16px #d6b36a40}.menu-index{color:var(--color-accent);font:700 .77rem var(--font-mono)}.menu-note{color:var(--color-text-muted);grid-column:2;margin-top:-2px;font-size:.79rem}.build-label{color:var(--color-text-muted);font:.72rem var(--font-mono);margin:var(--space-xl) 0 0;text-transform:uppercase}.screen-shell{min-height:100svh;padding:clamp(24px,5vw,72px)}.screen-header{border-bottom:1px solid var(--color-line);align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);grid-template-columns:1fr auto 1fr;display:grid}.screen-header .back-button{justify-self:start}.title-spacer{min-width:1px}.title-box{border:1px solid var(--color-line);min-width:min(420px,100%);max-width:100%;padding:var(--space-sm) var(--space-xl);text-align:center;justify-self:center}.title-box .eyebrow{margin-bottom:2px}.title-box h1{color:var(--color-text-bright);font:700 clamp(1.4rem, 3vw, 2.2rem)/1.1 var(--font-heading);text-transform:uppercase;margin:0}.back-button{color:#17141f;cursor:pointer;font:700 .83rem var(--font-body);text-transform:uppercase;background:#a78bfa;border:1px solid #a78bfa;align-items:center;gap:8px;min-height:44px;padding:10px 16px;display:inline-flex}.back-button:hover{color:#17141f;background:#c0aefc;border-color:#c0aefc}.placeholder-panel{background:var(--color-surface);border:1px solid var(--color-line);align-items:flex-start;gap:var(--space-md);flex-direction:column;max-width:680px;margin-inline:auto;padding:clamp(24px,6vw,72px);display:flex}.placeholder-mark{border:1px solid var(--color-primary);color:var(--color-primary-light);justify-content:center;align-items:center;width:56px;height:56px;font-size:2.2rem;display:flex}.placeholder-panel h2{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.15}.placeholder-panel .button{margin-top:var(--space-md)}.options-panel{background:var(--color-surface);border:1px solid var(--color-line);gap:var(--space-lg);grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto;padding:clamp(24px,4vw,48px);display:grid}.options-section{background:var(--color-background);border:1px solid var(--color-line);border-left:2px solid var(--color-accent);gap:var(--space-sm);padding:var(--space-lg);display:grid}.options-section .eyebrow{margin-bottom:var(--space-xs);text-align:center}.toggle-control,.range-control{align-items:center;gap:var(--space-md);justify-content:space-between;min-height:44px;display:flex}.toggle-control>span:first-child,.range-control>span:first-child{color:var(--color-text);font-size:.99rem}.toggle-control input{opacity:0;width:1px;height:1px;position:absolute}.toggle-track{background:var(--color-background);border:1px solid var(--color-line);border-radius:999px;flex:none;width:52px;height:26px;padding:3px;transition:border-color .18s,box-shadow .18s;display:block}.toggle-track span{background:var(--color-text-muted);border-radius:50%;width:18px;height:18px;transition:transform .18s,background-color .18s;display:block}.toggle-control input:checked+.toggle-track{border-color:var(--color-accent);box-shadow:0 0 12px #d6b36a4d}.toggle-control input:checked+.toggle-track span{background:var(--color-accent);transform:translate(26px)}.toggle-control input:focus-visible+.toggle-track{outline:2px solid var(--color-accent);outline-offset:3px}.range-control{gap:var(--space-sm) var(--space-md);grid-template-columns:minmax(0,1fr) minmax(140px,1.2fr) 52px;display:grid}.range-control input{appearance:none;cursor:pointer;background:0 0;width:100%;min-width:0;height:26px}.range-control input::-webkit-slider-runnable-track{background:var(--color-line);height:3px}.range-control input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-accent);border:none;border-radius:0;width:16px;height:16px;margin-top:-6.5px}.range-control input::-moz-range-track{background:var(--color-line);height:3px}.range-control input::-moz-range-thumb{background:var(--color-accent);border:none;border-radius:0;width:16px;height:16px}.range-control input:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.range-control output{color:var(--color-accent);font:.88rem var(--font-mono);text-align:right}.options-status{border-top:1px solid var(--color-line);color:var(--color-text-muted);padding-top:var(--space-md);grid-column:1/-1;margin:0;font-size:.88rem}.error-boundary{background:radial-gradient(circle at 50% 35%, #a92f341f, transparent 45%), var(--color-background);color:var(--color-text);align-content:center;gap:var(--space-md);min-height:100svh;padding:var(--space-xl);text-align:center;justify-items:center;display:grid}.error-boundary h1{color:var(--color-primary-light);font:700 clamp(2.4rem, 7vw, 5rem)/1 var(--font-display);text-transform:uppercase;margin:0}.error-boundary p{color:var(--color-text-muted);max-width:480px;margin:0}@media (width<=767px){.main-menu{flex-direction:column;display:flex}.menu-art{border-bottom:1px solid var(--color-line);min-height:48svh;padding:var(--space-lg);border-right:0}.menu-collage{--collage-tile:clamp(72px, 22vw, 110px);gap:8px;padding:8px 0}.menu-collage__row{gap:8px}.wordmark{font-size:clamp(2rem,8.4vw,3.6rem)}.menu-navigation{box-sizing:border-box;max-width:none;padding:var(--space-xl) var(--space-lg)}.menu-note{display:none}.screen-shell{padding:var(--space-lg)}.screen-header{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:minmax(0,1fr);justify-items:center}.screen-header .back-button{justify-self:start}.title-spacer{display:none}.title-box{width:100%;min-width:0}.options-panel{padding:var(--space-lg);grid-template-columns:minmax(0,1fr)}.range-control{grid-template-columns:1fr 48px}.range-control input{grid-area:2/1/auto/-1}}@media (prefers-reduced-motion:reduce){.button,.card-tile{transition:none}.button:hover:not(:disabled),.card-tile:hover:not(:disabled){transform:none}}.game-board-screen{background:radial-gradient(circle at 50% 35%, #a92f3414, transparent 42%), var(--color-background);min-height:100svh;padding:clamp(8px,1.5vw,20px)}@media (width>=1024px) and (height>=700px){.game-board-screen{zoom:.88}}.game-hud{border-bottom:1px solid var(--color-line);align-items:center;gap:var(--space-md);margin:0 auto var(--space-sm);padding-bottom:var(--space-md);grid-template-columns:1fr auto 1fr;display:grid}.game-hud>.button{justify-self:start}.game-hud .title-box{min-width:min(380px,100%)}.game-hud__status{align-items:center;gap:var(--space-sm);justify-self:end;display:flex}.turn-indicator{border:1px solid var(--color-line);color:var(--color-text-muted);font:700 .89rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-right:0;padding:10px 16px}.turn-indicator--active{color:var(--color-accent)}.turn-indicator--thinking:after{content:"";animation:1.2s steps(4,end) infinite thinking-dots}@keyframes thinking-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}html[data-animations=off] .turn-indicator--thinking:after{animation:none}.score-display{background:var(--color-surface);border:1px solid var(--color-line);align-items:center;gap:var(--space-sm);min-width:92px;padding:var(--space-sm);display:flex}.score-display span{color:var(--color-text-muted);font:700 .83rem var(--font-mono);text-transform:uppercase;white-space:nowrap}.score-display strong{color:var(--color-text-bright);font:700 1.32rem var(--font-mono);margin-left:auto}.score-display--player{border-color:var(--color-accent)}.score-display--opponent,.score-display--bioterrorism{border-color:var(--color-primary)}.score-display--counterforce{border-color:#4a9e8e}.battlefield{gap:var(--space-md);grid-template-columns:minmax(220px,280px) minmax(0,1fr);margin:0 auto;display:grid}.battlefield-center{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.battlefield-leaders{gap:var(--space-sm);flex-direction:column;grid-row:1/-1;display:flex}.battlefield-leaders .game-leader{flex:1}.battlefield-divider,.battle-divider{grid-column:2}.battlefield-side{gap:var(--space-sm);grid-template-columns:minmax(120px,200px) minmax(0,1fr);display:grid}.side-rows{gap:var(--space-sm);display:grid}.side-label{align-content:center;gap:var(--space-sm);padding:var(--space-sm) 0;text-transform:uppercase;display:grid}.side-label span{color:var(--color-text-muted);font:700 .86rem var(--font-mono);letter-spacing:.12em}.side-label strong{color:var(--color-text-bright);font:700 1.4rem/1.15 var(--font-heading)}.side-label small{color:var(--color-text-muted);font-size:.86rem}.side-label .score-display{min-width:110px;padding:var(--space-xs) var(--space-sm);justify-self:start}.side-label .score-display strong{font-size:1.7rem}.side-label--opponent strong{color:var(--color-primary-light)}.side-label--player strong{color:var(--color-accent)}.faction--bioterrorism{color:var(--color-primary)!important}.faction--counterforce{color:#4a9e8e!important}.game-row{border:1px solid var(--color-line);background:#1b211ddb;grid-template-columns:130px minmax(0,1fr);min-height:110px;display:grid}.game-row--player{border-left:2px solid #d6b36a99}.game-row--opponent{border-left:2px solid #d957508c}@keyframes row-hit{0%{box-shadow:inset 0 0 0 2px #d95750cc}to{box-shadow:inset 0 0 #d9575000}}.game-row--hit{animation:.6s row-hit}html[data-animations=off] .game-row--hit{animation:none}.game-row__header{border-right:1px solid var(--color-line);padding:var(--space-sm);text-align:center;align-content:center;justify-items:center;gap:4px;display:grid}.row-name{color:var(--color-text-bright);font:700 1.05rem var(--font-heading);text-transform:uppercase}.row-owner{color:var(--color-text-muted);font:.83rem var(--font-mono)}.row-score{color:var(--color-accent);font:700 1.7rem var(--font-mono)}.game-row__cards{align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-sm);display:flex;overflow-x:auto}.game-row__cards .card-tile{flex-direction:row;flex:none;width:auto;min-width:0;height:160px;overflow:visible}.game-row__cards .card-tile__body{flex:1;min-width:140px}.game-row__cards .card-name{white-space:nowrap;font-size:.88rem}.game-row__cards .ability-quote{display:block}.game-row__cards .ability-sep{display:none}.game-row__cards .card-art{background:linear-gradient(135deg,#303a31,#111612);flex:none;justify-content:center;align-items:center;width:auto;height:160px;display:flex;position:relative;overflow:visible}.game-row__cards .card-art:after{pointer-events:none;inset:0}.game-row__cards .card-art__image{object-fit:contain;object-position:center;max-width:none;height:160px;display:block;width:auto!important;position:relative!important;inset:auto!important}.empty-row{color:var(--color-text-muted);padding-inline:var(--space-sm);font-size:.89rem}.battle-divider{color:var(--color-primary-light);font:700 .83rem var(--font-mono);align-items:center;gap:var(--space-md);letter-spacing:.2em;margin:var(--space-xs) 0;text-align:center;grid-column:1/-1;display:flex}.battle-divider:before,.battle-divider:after{background:var(--color-line);content:"";width:100%;height:1px}.battle-divider span{background:linear-gradient(90deg, var(--color-primary-light) 40%, var(--color-accent) 50%, var(--color-primary-light) 60%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:3.5s linear infinite vs-shimmer}@keyframes vs-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}html[data-animations=off] .battle-divider span{animation:none}.battle-controls{gap:var(--space-md);margin:var(--space-sm) auto 0;grid-template-columns:minmax(0,1fr) minmax(320px,400px);display:grid}.player-hand,.battle-actions{border:1px solid var(--color-line);padding:var(--space-md);background:#1b211dc7}.hand-heading{margin-bottom:var(--space-md);justify-content:space-between;align-items:start;display:flex}.hand-heading h2{color:var(--color-text-bright);font:700 1.54rem var(--font-heading);margin:var(--space-xs) 0 0;text-transform:uppercase}.hand-heading>span{color:var(--color-text-muted);font:.83rem var(--font-mono)}.hand-cards{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.hand-cards .card-tile{min-width:0;max-width:250px}.hand-cards .card-art{height:155px}.hand-cards .card-tile__body{padding:var(--space-xs) var(--space-sm) var(--space-sm)}.hand-cards .card-name{font-size:1rem}.hand-cards .card-ability{font-size:.83rem}.battle-actions{gap:var(--space-md);grid-template-rows:auto auto auto;display:grid}.action-score{background:var(--color-background);border:1px solid var(--color-line);gap:var(--space-sm);padding:var(--space-md);display:grid}.action-score__row{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.action-score__label{color:var(--color-text-muted);font:600 .75rem var(--font-body);letter-spacing:.1em;text-transform:uppercase}.action-score__value{font:700 1.6rem var(--font-heading)}.action-score__value--bioterrorism{color:var(--color-primary)}.action-score__value--counterforce{color:#4a9e8e}.game-leader{background:var(--color-background);border:1px solid var(--color-line);align-items:center;gap:var(--space-md);padding:var(--space-md);flex-direction:column;display:flex}.leader-art-container{width:140px;height:190px}.leader-art{border:1px solid var(--color-line);object-fit:contain;width:100%;height:100%;display:block}.leader-art--contain{object-fit:contain}.leader-art--wesker{object-position:30% center}.leader-art--jill,.leader-art--leon{object-position:center 100%}.leader-art--hunk{object-position:center 130%}.leader-art--saddler{object-position:center 100%}.leader-art__fallback{aspect-ratio:3/4;background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-text-muted);font:700 2rem var(--font-heading);justify-content:center;align-items:center;width:100%;display:flex}.game-leader__info{gap:var(--space-xs);text-align:center;flex-direction:column;width:100%;display:flex}.game-leader h2{color:var(--color-text-bright);font:700 1.3rem var(--font-heading);margin:0}.game-leader .leader-version{color:var(--color-text-muted);font:.83rem var(--font-mono);text-transform:uppercase;margin:0}.game-leader .leader-ability{color:var(--color-text-muted);margin:var(--space-xs) 0 0;font-size:.94rem;line-height:1.4}.game-leader .leader-ability strong{color:var(--color-accent)}.leader-state{color:var(--color-accent);font:700 .77rem var(--font-mono)}.leader-state--used{color:var(--color-text-muted)}.leader-controls{border-top:1px solid var(--color-line);align-items:center;gap:var(--space-sm);padding-top:var(--space-sm);justify-content:center;width:100%;display:flex}.game-leader .leader-controls .button{flex:1;justify-content:center;min-width:0}.game-leader .leader-controls .button--action-primary{background-color:#932a33;box-shadow:inset 0 1px #ffffff1a,0 3px 5px #0003}.game-leader .leader-controls .button--action-primary:hover:not(:disabled){background-color:#7a242d;box-shadow:inset 0 1px #ffffff1a,0 3px 6px #00000040}.game-leader .leader-controls .button--action-primary:active:not(:disabled){background-color:#631f24;transform:translateY(.5px)}.confirm-play{border:1px solid var(--color-accent);gap:var(--space-sm);padding:var(--space-md);display:grid}.confirm-play p{color:var(--color-text);margin:0;font-size:.94rem}.confirm-play strong{color:var(--color-accent)}.confirm-play__yes,.confirm-play__no,.confirm-play .button{width:100%}.confirm-play .button{min-height:40px;font-size:.8rem}.options-note{color:var(--color-text-muted);margin:0;font-size:.83rem}.toggle-control input:disabled+.toggle-track,.range-control input:disabled{opacity:.45}.game-error{color:var(--color-primary-light);margin:0;font-size:.89rem}.hotkey-hints{color:var(--color-text-muted);margin:0;font-size:.77rem}.hotkey-hints kbd{border:1px solid var(--color-line);font:700 .75rem var(--font-mono);padding:1px 4px}.operation-log{border:1px solid var(--color-line);border-top:1px solid var(--color-line);margin-top:var(--space-lg);max-height:220px;padding:var(--space-md);scrollbar-color:var(--color-line) transparent;scrollbar-width:thin;background:#00000059;overflow-y:auto}.operation-log .eyebrow{margin-bottom:var(--space-xs)}.operation-log ul{gap:var(--space-xs);margin:var(--space-sm) 0 0;padding:0;list-style:none;display:grid}.operation-log li{color:var(--color-text-muted);font:.79rem var(--font-mono);align-items:baseline;gap:var(--space-sm);grid-template-columns:74px minmax(0,1fr) auto;display:grid}.operation-log li span:nth-child(2){color:var(--color-text);overflow-wrap:anywhere;min-width:0}.operation-log li small{font:.72rem var(--font-mono);white-space:nowrap}.log-outcome{font:700 .75rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.log-outcome--player{color:var(--color-accent)}.log-outcome--opponent{color:var(--color-primary-light)}.result-backdrop{padding:var(--space-lg);z-index:10;background:#050706d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.result-overlay{background:var(--color-surface);border:1px solid var(--color-accent);max-width:520px;max-height:calc(100svh - (var(--space-lg) * 2));text-align:center;width:100%;padding:clamp(24px,5vw,56px);overflow-y:auto;box-shadow:0 18px 80px #00000080}.result-overlay h2{color:var(--color-text-bright);font:700 clamp(2rem, 5vw, 3.5rem)/1 var(--font-heading);margin:var(--space-md) 0;text-transform:uppercase}.result-overlay>p:not(.eyebrow){color:var(--color-text-muted);margin:0}.result-scores{border-block:1px solid var(--color-line);margin:var(--space-xl) 0;padding:var(--space-lg) 0;grid-template-columns:1fr 1fr;display:grid}.result-scores div+div{border-left:1px solid var(--color-line)}.result-scores span{color:var(--color-text-muted);font:.83rem var(--font-mono);text-transform:uppercase;display:block}.result-scores strong{color:var(--color-text-bright);font:700 2.75rem var(--font-mono);margin-top:var(--space-xs);display:block}.result-overlay .button{text-align:center;justify-content:center;width:100%}.result-actions{gap:var(--space-sm);display:grid}.result-title--defeat{color:var(--color-primary-light)}.result-history{border-block:1px solid var(--color-line);gap:var(--space-xs);margin:var(--space-lg) 0;padding:var(--space-md) 0;text-align:left;list-style:none;display:grid}.result-history li{align-items:center;gap:var(--space-md);justify-content:space-between;display:flex}.result-history span,.result-history small{color:var(--color-text-muted);font:.89rem var(--font-mono)}.result-history strong{font:700 .89rem var(--font-body);letter-spacing:.08em;text-transform:uppercase}.history-win{color:var(--color-accent)}.history-loss{color:var(--color-primary-light)}.history-draw{color:var(--color-text-muted)}.mulligan-overlay{max-width:760px}.mulligan-cards{gap:var(--space-sm);margin-block:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.mulligan-status{border-left:2px solid var(--color-accent);color:var(--color-text-muted);margin:0 0 var(--space-lg);padding-left:var(--space-sm);text-align:left;font-size:.89rem}@media (width<=767px){.game-board-screen{height:auto;min-height:100svh;padding:var(--space-md);display:block;overflow:visible}.game-hud{gap:var(--space-sm);grid-template-columns:minmax(0,1fr);justify-items:center}.game-hud>.button{justify-self:start}.game-hud__status{flex-wrap:wrap;justify-self:center;width:100%}.turn-indicator{text-align:center;flex:1 0 100%;margin:0}.score-display{flex:1}.battlefield{gap:var(--space-sm);grid-template-columns:1fr}.battlefield-leaders{gap:var(--space-md);flex-direction:row;grid-row:auto}.battlefield-leaders .game-leader{flex:1}.leader-art-container{width:100px;height:150px}.battlefield-side{grid-template-columns:86px minmax(0,1fr);gap:4px}.side-label{padding-inline:2px}.side-label strong{overflow-wrap:anywhere;font-size:.86rem}.side-label small{font-size:.77rem}.game-row{grid-template-columns:64px minmax(0,1fr);min-height:156px}.game-row__header{padding:5px}.row-name{font-size:.72rem}.row-owner{font-size:.75rem}.row-score{font-size:1.1rem}.game-row__cards .card-tile{flex:0 0 250px}@keyframes card-deploy{0%{opacity:0;transform:scale(.92)}60%{box-shadow:0 0 0 1px var(--color-accent), 0 8px 32px #00000080;opacity:1}to{opacity:1;transform:scale(1)}}.game-row__cards .card-tile--just-deployed,.hand-cards .card-tile--just-deployed{animation:.7s card-deploy}html[data-animations=off] .game-row__cards .card-tile--just-deployed,html[data-animations=off] .hand-cards .card-tile--just-deployed{animation:none}@keyframes card-deploying-pulse{0%,to{box-shadow:0 0 0 1px #d6b36a59}50%{box-shadow:0 0 0 2px var(--color-accent), 0 0 24px #d6b36a59}}.hand-cards .card-tile--deploying{animation:1s ease-in-out infinite card-deploying-pulse}html[data-animations=off] .hand-cards .card-tile--deploying{animation:none}.game-row__cards .card-art{flex:0 0 88px;width:88px}.battle-controls{flex-direction:column;display:flex}.player-hand,.battle-actions{padding:var(--space-md)}.hand-cards{padding:3px;display:flex;overflow-x:auto}.mulligan-cards{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));padding:0;display:grid;overflow:visible}.hand-cards .card-tile{flex:0 0 144px}}@keyframes dormant-breathe{0%,to{box-shadow:0 0 0 2px #6fbf44,0 0 8px #6fbf4473}50%{box-shadow:0 0 0 2px #8fd45e,0 0 22px #6fbf44bf}}@keyframes dormant-wash{0%,to{opacity:.1}50%{opacity:.32}}.game-row__cards .card-tile--dormant{border:2px solid #6fbf44;animation:2.6s ease-in-out infinite dormant-breathe;position:relative}.game-row__cards .card-tile--dormant:after{content:"";z-index:5;pointer-events:none;background:#6fbf444d;animation:2.6s ease-in-out infinite dormant-wash;position:absolute;inset:0}html[data-animations=off] .game-row__cards .card-tile--dormant,html[data-animations=off] .game-row__cards .card-tile--dormant:after{animation:none}@keyframes volatile-breathe{0%,to{box-shadow:0 0 0 2px #d6b36a,0 0 8px #d6b36a73}50%{box-shadow:0 0 0 2px #e8c87e,0 0 22px #d6b36abf}}@keyframes volatile-wash{0%,to{opacity:.1}50%{opacity:.32}}.game-row__cards .card-tile--volatile{border:2px solid #d6b36a;animation:2.6s ease-in-out infinite volatile-breathe;position:relative}.game-row__cards .card-tile--volatile:after{content:"";z-index:5;pointer-events:none;background:#d6b36a4d;animation:2.6s ease-in-out infinite volatile-wash;position:absolute;inset:0}html[data-animations=off] .game-row__cards .card-tile--volatile,html[data-animations=off] .game-row__cards .card-tile--volatile:after{animation:none}@keyframes transformed-breathe{0%,to{box-shadow:0 0 0 2px #ff2d2d,0 0 8px #ff2d2d73}50%{box-shadow:0 0 0 2px #ff5252,0 0 22px #ff2d2dbf}}@keyframes transformed-wash{0%,to{opacity:.1}50%{opacity:.32}}.game-row__cards .card-tile--transformed{border:2px solid #ff2d2d;animation:2.6s ease-in-out infinite transformed-breathe;position:relative}.game-row__cards .card-tile--transformed:after{content:"";z-index:5;pointer-events:none;background:#ff2d2d4d;animation:2.6s ease-in-out infinite transformed-wash;position:absolute;inset:0}html[data-animations=off] .game-row__cards .card-tile--transformed,html[data-animations=off] .game-row__cards .card-tile--transformed:after{animation:none}.game-row__cards .card-tile--detonated{filter:saturate(.4)brightness(.75);position:relative}.game-row__cards .card-tile--detonated:after{content:"";z-index:5;pointer-events:none;background:linear-gradient(to top right,#0000 calc(50% - 2px),#d95750d9 calc(50% - 2px) calc(50% + 2px),#0000 calc(50% + 2px)),linear-gradient(to bottom right,#0000 calc(50% - 2px),#d95750d9 calc(50% - 2px) calc(50% + 2px),#0000 calc(50% + 2px));position:absolute;inset:0}@keyframes evolution-wash{0%,to{opacity:.18}50%{opacity:.55}}.game-row__cards .card-tile--evolving-soon{border:2px solid #d6b36a;animation:1s ease-in-out infinite evolution-border;position:relative}@keyframes evolution-border{0%,to{box-shadow:0 0 0 2px #d6b36a,0 0 10px #d6b36a99}50%{box-shadow:0 0 0 3px #e8c87e,0 0 30px #d6b36af2}}.game-row__cards .card-tile--evolving-soon:after{content:"";z-index:5;pointer-events:none;background:#d6b36a59;animation:1s ease-in-out infinite evolution-wash;position:absolute;inset:0}html[data-animations=off] .game-row__cards .card-tile--evolving-soon,html[data-animations=off] .game-row__cards .card-tile--evolving-soon:after{animation:none}@keyframes ember-breathe{0%,to{box-shadow:0 0 0 2px #e07b39,0 0 8px #e07b3973}50%{box-shadow:0 0 0 2px #f0955a,0 0 22px #e07b39bf}}@keyframes ember-wash{0%,to{opacity:.1}50%{opacity:.32}}.game-row__cards .card-tile--evolving-ember{border:2px solid #e07b39;animation:2.6s ease-in-out infinite ember-breathe;position:relative}.game-row__cards .card-tile--evolving-ember:after{content:"";z-index:5;pointer-events:none;background:#e07b394d;animation:2.6s ease-in-out infinite ember-wash;position:absolute;inset:0}html[data-animations=off] .game-row__cards .card-tile--evolving-ember,html[data-animations=off] .game-row__cards .card-tile--evolving-ember:after{animation:none}@media (prefers-reduced-motion:reduce){.toggle-track span,.game-row__cards .card-tile,.game-row__cards .card-tile--just-deployed,.hand-cards .card-tile--just-deployed,.hand-cards .card-tile--deploying,.turn-indicator--thinking:after,.game-row--hit,.game-row__cards .card-tile--evolving-soon,.game-row__cards .card-tile--evolving-soon:after,.game-row__cards .card-tile--evolving-ember,.game-row__cards .card-tile--evolving-ember:after,.game-row__cards .card-tile--transformed,.game-row__cards .card-tile--transformed:after,.game-row__cards .card-tile--dormant,.game-row__cards .card-tile--dormant:after,.game-row__cards .card-tile--volatile,.game-row__cards .card-tile--volatile:after,.battle-divider span,.battle-actions .button{transition:none;animation:none}}.deck-builder-layout{align-items:start;gap:var(--space-lg);grid-template-columns:minmax(230px,.5fr) minmax(0,1.2fr) minmax(350px,.95fr);display:grid}.collection-grid .card-ability{display:none}.leader-select-panel{border:1px solid var(--color-line);align-content:start;gap:var(--space-md);padding:var(--space-lg);top:var(--space-lg);background:#1b211dc7;background:var(--color-background);border:1px solid var(--color-line);display:grid;position:sticky}.leader-portrait__art{background:linear-gradient(150deg, var(--color-primary) -10%, #321719 55%, #101311);justify-content:center;align-items:center;height:340px;display:flex;position:relative;overflow:hidden}.leader-portrait__image{object-fit:cover;object-position:30% top;width:100%;height:100%;position:absolute}.leader-portrait__image--contain,.leader-portrait__image--zoomed,.leader-portrait__image--zoomed-in,.leader-portrait__image--zoomed-out,.half-body,.leader-portrait__image--dso,.leader-portrait__image--wesker,.leader-portrait__image--fbi,.leader-portrait__image--bsaa-chris{object-fit:contain;object-position:50% top}.leader-portrait__image--contain{object-fit:contain;object-position:50% top;transform-origin:top;transform:scale(1.15)}.leader-portrait__image--zoomed{object-fit:contain;object-position:50% top;transform-origin:top;transform:scale(1)}.leader-portrait__image--zoomed-in{object-fit:contain;object-position:50% top;transform-origin:top;transform:scale(1.8)}.leader-portrait__image--dso{object-fit:contain;object-position:50% top;transform-origin:top;transform:scale(1.6)}.leader-portrait__image--fbi{object-fit:contain;object-position:50% top;transform-origin:top;transform:scale(1.5)}.leader-portrait__image--zoomed-out{object-fit:contain;object-position:50% top;transform-origin:top;transform:scale(1)}.half-body{object-fit:contain;object-position:50% 60%;transform-origin:top;transform:scale(1.4)}.leader-portrait__image--bsaa-chris{object-fit:contain;object-position:50% 10%;transform-origin:top;transform:scale(1.55)}.leader-portrait__image--wesker{object-fit:contain;object-position:50% top;transform-origin:top;transform:scale(1.6)}.leader-portrait__image--jill{object-fit:contain;object-position:50% top;transform-origin:top;transform:scale(2.3)}.leader-portrait__initial{color:#f2eee438;font:700 6rem var(--font-display)}.leader-portrait__body{gap:var(--space-xs);padding:var(--space-md);display:grid}.leader-portrait__body strong{color:var(--color-text-bright);font:700 1.35rem/1.1 var(--font-heading)}.leader-portrait__body .leader-ability strong{color:var(--color-accent)}.leader-portrait__body .leader-ability{color:var(--color-text-muted);margin-top:var(--space-xs);font-size:.86rem;line-height:1.4}.collection-panel,.deck-panel{border:1px solid var(--color-line);padding:var(--space-lg);background:#1b211dc7}.panel-heading{margin-bottom:var(--space-lg);justify-content:space-between;align-items:start;display:flex}.panel-heading h2{color:var(--color-text-bright);font:700 1.65rem/1.1 var(--font-heading);margin:var(--space-sm) 0 0;text-transform:uppercase}.panel-count,.deck-count{color:var(--color-accent);font:700 .83rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.card-filters{border-bottom:1px solid var(--color-line);align-items:end;gap:var(--space-sm);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.deck-selection{gap:var(--space-sm);margin-bottom:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.faction-identity{border-left:2px solid var(--color-accent);color:var(--color-text-muted);margin:0 0 var(--space-lg);padding-left:var(--space-sm);font-size:.88rem}.search-bar,.filter-control{gap:var(--space-xs);display:grid}.search-bar{background:var(--color-background);border:1px solid var(--color-line);min-height:44px;padding-inline:var(--space-sm);align-items:center;display:flex}.search-bar:focus-within,.filter-control:focus-within select{border-color:var(--color-accent)}.search-icon{color:var(--color-accent);font:700 1.26rem var(--font-mono);transform:rotate(-20deg)}.search-bar input,.filter-control select{color:var(--color-text);font:.88rem var(--font-body);background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:42px}.search-bar input::placeholder{color:var(--color-text-muted)}.filter-control span{color:var(--color-text-muted);font:700 .77rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase}.filter-control select{appearance:none;background-color:var(--color-background);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6b36a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right var(--space-sm) center;border:1px solid var(--color-line);cursor:pointer;padding-inline:var(--space-sm) calc(var(--space-lg) + var(--space-sm));background-repeat:no-repeat;background-size:16px;border-radius:0}.filter-control option{background:var(--color-surface);color:var(--color-text-bright)}.card-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(172px,1fr));display:grid}.card-tile{background:var(--color-surface-raised);border:1px solid var(--color-line);color:var(--color-text);cursor:pointer;text-align:left;flex-direction:column;min-width:0;padding:0;transition:border-color .18s,transform .18s;display:flex;position:relative}.card-tile:disabled.card-tile--selected{cursor:default}.card-tile:hover:not(:disabled){border-color:var(--color-accent);transform:translateY(-3px)}.card-tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.card-tile:disabled{cursor:default;opacity:.62}.card-tile--selected{border-color:var(--color-primary-light)}.card-art{background:linear-gradient(135deg,#303a31,#111612);justify-content:center;align-items:center;height:160px;display:flex;position:relative;overflow:hidden}.card-art__image,.dialog-art__image{object-fit:cover;object-position:30% top;width:calc(100% - 14px);height:calc(100% - 14px);position:absolute;inset:7px}.card-art__image--centered{object-fit:contain;object-position:center}.card-art__image--fill{object-fit:cover;object-position:center}.card-art__image--zoomed-out{object-fit:contain;object-position:center}.card-art__image--half-body{object-fit:contain;object-position:50% 15%;transform-origin:top;transform:scale(1.6)}.card-art__image--wolf-squad-deployment{object-fit:contain;object-position:center;width:100%;height:100%;position:relative;inset:0}.card-art:after{content:"";border:1px solid #d6b36a3b;position:absolute;inset:7px}.card-initials{color:#f2eee42e;font:700 2.75rem/1 var(--font-display);letter-spacing:-.08em}.card-art-label{bottom:var(--space-sm);color:var(--color-accent);font:.75rem var(--font-mono);letter-spacing:.12em;right:var(--space-sm);z-index:1;position:absolute}.card-tile__body{padding:var(--space-sm);gap:5px;display:grid}.card-tile__topline{align-items:center;gap:var(--space-xs);justify-content:space-between;min-width:0;display:flex}.card-tile__meta{gap:4px;min-width:0;padding-right:32px;display:grid}.card-tile__pills{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.card-faction{color:var(--color-text-muted);font:700 .72rem var(--font-mono);letter-spacing:.1em;overflow-wrap:anywhere;text-transform:uppercase;min-width:0}.card-rarity{font:700 .68rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;flex-shrink:0;padding:1px 7px}.card-rarity--common{color:#9c6b3f;background:#9c6b3f29}.card-rarity--uncommon{color:#4a9e8e;background:#4a9e8e24}.card-rarity--rare{color:#a78bfa;background:#a78bfa24}.card-rarity--legendary{color:#d6b36a;background:#d6b36a29}.card-evolution{border:1px solid var(--color-primary);color:var(--color-primary-light);font:700 .68rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:1px 7px;display:inline-flex}.card-evolution--transformed{background:#a92f342e;box-shadow:0 0 10px #d9575059}.card-origin{color:var(--color-text-muted);font:600 .6rem var(--font-body);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;min-width:0;overflow:hidden}.card-meta{color:var(--color-accent);font:700 .89rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.card-power{background:var(--color-primary);color:var(--color-text-bright);font:700 .75rem var(--font-mono);white-space:nowrap;z-index:2;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:1px;height:22px;padding:0 7px;display:inline-flex;position:absolute;top:6px;right:6px}.card-bonus{color:var(--color-accent);font-size:.68rem;line-height:1}.card-name{color:var(--color-text-bright);font:700 .97rem/1.15 var(--font-heading)}.card-meta{color:var(--color-text-muted)}.card-ability{color:var(--color-text-muted);font-size:.89rem;line-height:1.35}.card-ability .ability-title,.leader-ability .ability-title,.dialog-ability .ability-title{color:var(--color-accent);font-weight:700}.card-tile--rarity-common .ability-title{color:#9c6b3f}.card-tile--rarity-uncommon .ability-title{color:#4a9e8e}.card-tile--rarity-rare .ability-title{color:#a78bfa}.card-tile--rarity-legendary .ability-title{color:#d6b36a}.card-tile--compact .card-ability{font-size:.68rem;line-height:1.3}.card-selected-label{background:var(--color-primary);color:var(--color-text-bright);font:700 .75rem var(--font-mono);left:var(--space-sm);letter-spacing:.08em;text-transform:uppercase;top:var(--space-sm);z-index:2;padding:3px 5px;position:absolute}.deck-panel{max-height:calc(100vh - var(--space-lg) * 2 - 124px);top:var(--space-lg);flex-direction:column;display:flex;position:sticky}.leader-card{background:var(--color-surface);border:1px solid var(--color-line);border-left:2px solid var(--color-accent);align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-md);display:flex}.leader-thumb{background:linear-gradient(150deg, var(--color-primary) -10%, #321719 55%, #101311);border:1px solid var(--color-accent);color:var(--color-text-bright);font:700 1.65rem var(--font-display);flex:0 0 64px;justify-content:center;align-items:center;height:64px;display:flex;position:relative;overflow:hidden}.leader-thumb__image{object-fit:cover;object-position:50% top;width:100%;height:100%}.leader-card__body{min-width:0}.leader-card__name{color:var(--color-text-bright);font:700 1.15rem var(--font-heading);margin-top:2px;display:block}.leader-card__ability{color:var(--color-text-muted);margin:3px 0 0;font-size:.89rem;line-height:1.35}.leader-card__ability strong{color:var(--color-accent)}.deck-list{gap:var(--space-sm);min-height:0;padding-right:var(--space-xs);scrollbar-color:var(--color-accent) transparent;scrollbar-width:thin;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow-y:auto}.deck-list::-webkit-scrollbar{width:8px}.deck-list::-webkit-scrollbar-track{background:0 0}.deck-list::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:4px}.card-tile--compact{flex-direction:row}.card-tile--compact .card-art{flex:0 0 64px;height:auto;min-height:80px}.card-tile--compact .card-initials{font-size:1.21rem}.card-tile--compact .card-art-label{display:none}.card-tile--compact .card-tile__body{align-content:center;min-width:0;overflow:hidden}.card-tile--compact .card-name{font-size:.89rem}.card-tile--compact .card-power{height:20px;padding:0 5px;font-size:.7rem}.card-tile--compact .card-tile__topline{gap:var(--space-xs)}.empty-state{color:var(--color-text-muted);margin:var(--space-lg) 0;text-align:center;grid-column:1/-1;font-size:.94rem}.deck-actions{border-top:1px solid var(--color-line);align-items:end;gap:var(--space-xs);margin-top:var(--space-lg);padding-top:var(--space-lg);flex-wrap:nowrap;display:flex}.deck-actions .difficulty-picker{align-items:stretch;gap:var(--space-xs);flex-direction:column;flex:0 60%;min-width:0}.deck-actions .difficulty-picker label{font-size:.68rem}.deck-actions .difficulty-picker select{min-width:0;min-height:38px;padding-inline:var(--space-xs);flex:auto;width:100%}.deck-actions>.button.button{min-height:38px;padding-inline:var(--space-sm);text-align:center;white-space:nowrap;flex:auto;justify-content:center;font-size:.75rem}.deck-actions .save-message{flex-basis:100%;margin:0;font-size:.8rem}.difficulty-picker{align-items:center;gap:var(--space-sm);display:flex}.difficulty-picker label{color:var(--color-text-muted);font:700 .75rem var(--font-body);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.difficulty-picker select{background:var(--color-background);border:1px solid var(--color-line);color:var(--color-text);font:.86rem var(--font-body);min-height:44px;padding-inline:var(--space-sm)}.save-message{color:var(--color-accent);margin:0;font-size:.86rem}.deck-requirement{color:var(--color-primary-light);margin:0;font-size:.86rem}.loadout-status{border-left:2px solid var(--color-accent);padding-left:var(--space-sm);color:var(--color-accent)!important}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=1100px){.deck-builder-layout{grid-template-columns:minmax(230px,.55fr) minmax(0,1fr)}.deck-builder-layout .deck-panel{grid-column:1/-1}.card-filters{grid-template-columns:1fr 1fr}.search-bar{grid-column:1/-1}.deck-actions{align-items:center}.difficulty-picker{justify-content:space-between}}@media (width<=767px){.collection-panel,.deck-panel{padding:var(--space-md)}.deck-builder-layout{flex-direction:column;display:flex}.leader-select-panel{position:static}.collection-panel,.deck-panel{width:100%}.deck-panel{max-height:none;position:static}.deck-panel .deck-list{overflow-y:visible}.deck-actions{flex-wrap:wrap}.deck-actions .difficulty-picker{flex-basis:100%}.deck-actions>.button{flex:auto}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-selection{grid-template-columns:1fr}}.collection-browser{border:1px solid var(--color-line);min-width:0;padding:var(--space-lg);background:#1b211dc7}.collection-mode{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.collection-mode .button{background:var(--color-background);border-color:var(--color-line);color:var(--color-text-muted);font-size:.75rem}.collection-mode .button[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.collection-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-filters .search-bar{grid-column:1/-1}.leader-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));display:grid}.leader-tile{background:var(--color-surface-raised);border:1px solid var(--color-line);color:var(--color-text);cursor:pointer;text-align:left;align-items:stretch;min-height:132px;padding:0;transition:border-color .18s,transform .18s;display:flex;position:relative}.leader-tile:hover:not(:disabled){border-color:var(--color-accent);transform:translateY(-3px)}.leader-tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.leader-tile:disabled{cursor:not-allowed;opacity:.55}.leader-tile--selected{border-color:var(--color-primary-light)}.leader-tile__art{background:linear-gradient(145deg, var(--color-primary), #321719);color:var(--color-text-bright);font:700 2.2rem var(--font-display);flex:0 0 58px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.leader-tile__image{object-fit:cover;object-position:30% top;width:100%;height:100%;position:absolute}.leader-tile__body{min-width:0;padding:var(--space-sm);gap:4px;display:grid}.leader-tile__body strong{color:var(--color-text-bright);font:700 1.05rem/1.1 var(--font-heading)}.leader-version{color:var(--color-text-muted);font:.89rem var(--font-mono);text-transform:uppercase}.leader-ability{color:var(--color-text-muted);font-size:.89rem;line-height:1.3}.leader-status{background:var(--color-background);color:var(--color-accent);font:700 .77rem var(--font-mono);letter-spacing:.08em;right:var(--space-sm);text-transform:uppercase;top:var(--space-sm);padding:3px 5px;position:absolute}.dialog-backdrop{padding:var(--space-lg);z-index:60;background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.card-dialog{background:var(--color-surface);border:1px solid var(--color-line);max-height:calc(100vh - var(--space-lg) * 2);outline:none;flex-direction:column;width:100%;max-width:880px;display:flex}.dialog-topbar{border-bottom:1px solid var(--color-line);padding:var(--space-sm) var(--space-md);justify-content:space-between;align-items:center;display:flex}.dialog-position{color:var(--color-text-muted);font:.8rem var(--font-mono);letter-spacing:.08em}.dialog-close{border:1px solid var(--color-line);color:var(--color-text);cursor:pointer;background:0 0;padding:6px 10px;font-size:.9rem;line-height:1}.dialog-close:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.dialog-body{align-items:stretch;gap:var(--space-lg);padding:var(--space-lg);grid-template-columns:auto minmax(240px,320px) minmax(0,1fr) auto;display:grid;overflow-y:auto}.dialog-nav{border:1px solid var(--color-line);color:var(--color-text);cursor:pointer;background:0 0;align-self:center;padding:10px 12px;font-size:1.6rem;line-height:1}.dialog-nav:hover{border-color:var(--color-accent);color:var(--color-text-bright)}.card-dialog h2{color:var(--color-text-bright);font:700 1.87rem/1.1 var(--font-heading);margin:var(--space-sm) 0}.dialog-art{color:#f2eee452;font:700 4.4rem var(--font-display);background:linear-gradient(135deg,#303a31,#111612);justify-content:center;align-items:center;min-height:320px;display:flex;position:relative;overflow:hidden}.dialog-art--leader{background:linear-gradient(135deg, var(--color-primary), #321719)}.dialog-art__image{object-fit:cover;width:100%;height:100%;position:absolute}.detail-power{background:var(--color-primary);color:var(--color-text-bright);font:700 1.65rem var(--font-mono);height:44px;margin:var(--space-md) 0;border-radius:50%;justify-content:center;align-items:center;width:44px;display:flex}.detail-version{color:var(--color-text-muted);font:.89rem var(--font-mono);margin:-4px 0 var(--space-md);text-transform:uppercase}.detail-list{border-top:1px solid var(--color-line);margin:var(--space-lg) 0}.detail-list div{border-bottom:1px solid var(--color-line);gap:var(--space-md);padding:var(--space-sm) 0;justify-content:space-between;display:flex}.detail-list dt{color:var(--color-text-muted);font-size:.89rem}.detail-list dd{color:var(--color-text);text-align:right;margin:0;font-size:.89rem}.dialog-ability{border-left:2px solid var(--color-accent);margin-top:var(--space-md);padding-left:var(--space-sm)}.dialog-ability strong{color:var(--color-accent);font:700 .89rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.dialog-ability p{color:var(--color-text-muted);margin:var(--space-xs) 0 0;font-size:.94rem}.dialog-mutation{border-left-color:#d95750}.dialog-mutation strong{color:#d95750}@media (width<=1100px){.collection-filters{grid-template-columns:1fr 1fr}.collection-filters .search-bar{grid-column:1/-1}}@media (width<=767px){.collection-browser{padding:var(--space-md)}.dialog-body{grid-template-columns:1fr 1fr}.dialog-art{grid-area:1/1/auto/-1;min-height:220px}.dialog-info{grid-area:2/1/auto/-1}.dialog-nav--prev{grid-area:3/1}.dialog-nav--next{grid-area:3/2}}@media (prefers-reduced-motion:reduce){.leader-tile{transition:none}.leader-tile:hover:not(:disabled){transform:none}}@media (width<=767px){.deck-list{grid-template-columns:1fr}}.music-player{border:1px solid var(--color-line);border-radius:var(--radius-lg);bottom:var(--space-md);font:.82rem var(--font-body);gap:var(--space-xs);padding:var(--space-xs) var(--space-md);right:var(--space-md);z-index:1000;background:#121613eb;flex-direction:column;display:flex;position:fixed}.music-player__row{align-items:center;gap:var(--space-sm);display:flex}.music-player__note{color:var(--color-accent);font-size:1.1rem}.music-player__track{color:var(--color-text-bright);text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.music-player__controls{gap:4px;display:flex}.music-player__btn{border:1px solid var(--color-line);color:var(--color-text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0;font-size:.9rem;transition:border-color .15s,color .15s;display:flex}.music-player__btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.music-player__volume{align-items:center;gap:6px;display:flex}.music-player__vol-icon{font-size:.8rem}.music-player__slider{accent-color:var(--color-accent);cursor:pointer;width:100%;height:4px}.music-player__slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-accent);border-radius:50%;width:12px;height:12px}.music-player__slider::-moz-range-thumb{background:var(--color-accent);border:none;border-radius:50%;width:12px;height:12px}@media (width<=767px){.music-player{bottom:var(--space-sm);right:var(--space-sm);padding:var(--space-xs) var(--space-sm)}.music-player__track{max-width:90px}}
