:root{--bg: #252a3b;--surface: #2e3448;--surface-2: #373e55;--mat: #2a3043;--line: #3f4760;--line-2: #525c78;--text: #eef0f7;--muted: #aeb5cb;--accent: #6fd3c7;--accent-ink: #0f2a27;--accent-2: #f2b866;--card-back: #3b4a78;--card-back-line: #7d8fc4;--tint-spell: #3e3656;--tint-leader: #4a3f2f;--tint-token: #2f4a44;--stat-attack: #245b8e;--stat-defense: #8f3038;--scrim: rgba(12, 14, 22, .6);--radius: 2px;--card-radius: 4px;--arrow-attack: #e5484d;--arrow-spell: #4c8dff;--large-card-width: 236px;--font-display: "Outfit", ui-sans-serif, system-ui, sans-serif;--font-body: "Nunito Sans", ui-sans-serif, system-ui, sans-serif;color:var(--text);background:var(--bg);font-family:var(--font-body);font-variant-numeric:tabular-nums;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input,textarea{font:inherit}h1,h2,h3{font-family:var(--font-display)}button{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent-ink);cursor:pointer;font-weight:600;min-height:32px;padding:.45rem .9rem}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.button-secondary{background:var(--surface-2);border-color:var(--line-2);color:var(--text)}h1,p{margin:0}.app-shell{align-items:center;display:flex;min-height:100%;padding:2rem}.home-page{display:grid;grid-template-columns:460px minmax(0,1fr);height:100%}.home-intro{background:var(--surface-2);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:32px;justify-content:space-between;min-height:0;overflow:auto;padding:56px 48px}.home-intro h1{font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.05;margin:8px 0 12px}.home-intro-copy>p:last-child{color:var(--muted);line-height:1.5}.home-modes{display:grid;gap:10px}.home-mode{align-items:flex-start;display:flex;flex-direction:column;gap:4px;padding:16px 18px;text-align:left}.home-mode-label{font-size:1.05rem;font-weight:700}.home-mode-detail{font-size:.82rem;font-weight:400;opacity:.8}.home-shelf{display:flex;flex-direction:column;gap:20px;min-height:0;overflow:auto;padding:48px}.home-shelf h2{font-size:1.6rem;margin:0}.home-shelf-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.home-page{display:block;height:auto;min-height:100%;overflow-y:auto}.home-intro{border-bottom:1px solid var(--line);border-right:none}.home-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px)and (min-width:720px){.home-shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.home-deck-tile{display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:0 0 12px;text-align:left}.home-deck-tile img,.home-deck-tile .card-back{aspect-ratio:4 / 3;display:block;object-fit:cover;object-position:50% 20%;width:100%}.home-deck-name{font-family:var(--font-display);font-size:1.05rem;padding:6px 14px 0}.home-deck-meta{color:var(--muted);font-size:.8rem;font-weight:400;padding:0 14px}.home-deck-new{background:transparent;border-style:dashed;min-height:160px}.home-dev{border-top:1px solid var(--line);display:grid;gap:10px;margin-top:auto;opacity:.85;padding-top:16px}.home-dev h2{color:var(--muted);font-family:var(--font-body);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.home-dev-actions{display:flex;gap:8px}.deck-import{display:grid;gap:.45rem}.catalog-status{color:var(--muted);font-size:.82rem;font-weight:700;margin:0 0 .75rem}.deck-import span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.deck-import textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);line-height:1.4;min-height:14rem;padding:.75rem;resize:vertical;width:min(100%,38rem)}.eyebrow{color:var(--muted);font-size:.85rem;font-weight:700;letter-spacing:0;margin:0 0 .75rem;text-transform:uppercase}h1{font-size:4rem;line-height:.95;margin:0 0 1.5rem}.tabletop-app{background:var(--bg);height:100%;overflow:hidden}.tabletop-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;min-height:50px;padding:6px 12px}.tabletop-header h1{font-size:1rem;line-height:1.1;margin:0}.turn-controls{display:flex;gap:8px}.turn-controls button{padding:.55rem .75rem}.turn-controls button:disabled{cursor:not-allowed;opacity:.55}.tabletop-shell{--large-card-width: clamp(220px, 16vw, 236px);background:var(--bg);display:grid;gap:clamp(6px,1vw,12px);grid-template-columns:minmax(0,1fr) clamp(250px,20vw,268px);height:100%;min-height:0;overflow:hidden;padding:clamp(6px,1vw,12px);padding-block:0}.tabletop-board,.playmat,.player-side,.player-side-grid,.center-zones,.right-rail{min-height:0}.player-side,.player-side-grid,.center-zones,.side-stack,.zone-column{overflow:hidden}.tabletop-board{--side-col-width: clamp(140px, 16vw, 184px);--side-col-gap: clamp(4px, .6vw, 6px);--resource-col-width: clamp(48px, 4vw, 54px);--playmat-inset: calc(clamp(5px, .8vw, 8px) + 1px) ;display:grid;gap:clamp(6px,.8vw,10px);grid-template-rows:minmax(0,1fr);overflow:hidden;position:relative}.playmat{background:var(--bg);border:0;border-radius:var(--radius);display:grid;gap:clamp(4px,.7vw,6px);grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);overflow:hidden;padding:clamp(5px,.8vw,8px);padding-block:0}.turn-divider{align-items:center;color:var(--accent);display:flex;font-size:.7rem;gap:12px;letter-spacing:.08em;text-transform:uppercase}.turn-divider:before,.turn-divider:after{background:var(--line-2);content:"";flex:1;height:1px}.player-side-grid{display:grid;gap:clamp(5px,.8vw,8px);grid-template-columns:var(--side-col-width) minmax(0,1fr) var(--side-col-width);height:100%}.player-side--opponent .player-side-grid,.player-side--local .player-side-grid{align-items:stretch}.center-zones{display:grid;gap:clamp(4px,.7vw,6px)}.player-side--opponent .center-zones{grid-template-rows:minmax(0,.72fr) minmax(0,1fr) minmax(0,1fr)}.player-side--local .center-zones{grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,.72fr)}.side-stack,.zone-column,.resource-panel{display:grid;gap:var(--side-col-gap)}.side-stack{align-content:stretch;grid-template-rows:repeat(4,minmax(0,1fr))}.side-stack--with-resources{grid-template-columns:minmax(0,1fr) var(--resource-col-width)}.player-side--local .side-stack--with-resources{grid-template-columns:var(--resource-col-width) minmax(0,1fr)}.side-stack--with-resources .zone-column{display:contents}.player-side--opponent .side-stack--with-resources .resource-panel{grid-column:2;grid-row:1 / 5}.player-side--opponent .side-stack--with-resources .zone-column>:first-child{grid-column:1;grid-row:1}.player-side--opponent .side-stack--with-resources .zone-column>:last-child{grid-column:1;grid-row:2}.player-side--local .side-stack--with-resources .resource-panel{grid-column:1;grid-row:1 / 5}.player-side--local .side-stack--with-resources .point-zones{grid-column:2;grid-row:1 / 3}.player-side--opponent .side-stack--with-resources .point-zones{grid-column:1;grid-row:3 / 5}.point-zones{align-content:end;container-type:size;display:grid;gap:var(--side-col-gap);min-height:0;overflow:hidden}.player-side--opponent .point-zones{align-content:start}.player-side--local .side-stack--with-resources .zone-column>:first-child{grid-column:2;grid-row:3}.player-side--local .side-stack--with-resources .zone-column>:last-child{grid-column:2;grid-row:4}.zone-pile,.defense-counter,.battle-zone,.hand-row,.table-status,.hover-preview,.rail-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.zone-pile,.defense-counter{color:var(--text);min-height:clamp(32px,5.2vh,48px);padding:clamp(5px,.7vw,7px)}.zone-pile{color:inherit;display:grid;gap:2px;text-align:left}.zone-pile--card{align-self:center;aspect-ratio:5 / 7;height:100%;justify-self:center;max-height:101px;max-width:72px;min-height:0;overflow:hidden;padding:0;position:relative;width:auto}.zone-pile-visual,.zone-pile-visual img,.card-back,.zone-pile-empty{display:block;height:100%;width:100%}.zone-pile-visual img{object-fit:cover}.card-back{background:var(--card-back) url(/images/card-back.webp) center / cover no-repeat;border-radius:var(--card-radius)}.card-frame>.card-back{inset:0;position:absolute}.zone-pile-empty{background:var(--mat);border:1px dashed var(--line-2)}.zone-pile-count{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);bottom:3px;color:var(--text);font-size:.75rem;line-height:1;min-width:22px;padding:1px 5px;position:absolute;right:3px;text-align:center}.player-side--opponent .resource-panel{grid-template-rows:auto auto minmax(0,1fr)}.zone-pile span,.resource-panel span,.table-status span,.hover-preview span,.card-kind,.card-print,.spell-window span,.rail-scroll span{color:var(--muted);font-size:clamp(.62rem,.85vw,.72rem);font-weight:700;text-transform:uppercase}.zone-pile strong,.resource-panel strong,.table-status strong{font-size:clamp(.82rem,1vw,1rem)}.defense-counter strong{font-family:var(--font-display);font-size:clamp(1.1rem,1.6vw,1.4rem)}.defense-counter span,.resource-section>span{color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.resource-panel{align-content:center;background:transparent;border:0;border-radius:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-width:0;padding:0;text-align:center}.player-side--local .resource-panel{align-content:end;grid-template-rows:auto auto auto}.resource-section{display:grid;gap:3px;min-width:0}.resource-section--pp{align-content:start;overflow:hidden}.pp-value-controls{display:grid;gap:2px;grid-template-columns:repeat(2,minmax(0,1fr))}.pp-value-controls strong{font-size:clamp(.68rem,.86vw,.78rem);grid-column:1 / -1;grid-row:1;white-space:nowrap}.pp-value-controls button{border-radius:var(--radius);font-size:.72rem;line-height:1;min-height:14px;padding:0}.pp-tracker{align-content:start;display:grid;gap:2px;grid-auto-rows:15px;height:168px;min-height:0}.player-side--local .pp-tracker{align-content:end}.pp-tracker button,.point-zone__adjust button{border-radius:var(--radius);font-size:clamp(.58rem,.8vw,.72rem);line-height:1;min-height:0;padding:0}.pp-tracker button{aspect-ratio:auto;background:var(--accent);border:1px solid transparent;color:var(--accent-ink);font-weight:700;width:100%}.pp-tracker button[data-pp-status=spent]{background:var(--surface-2);color:var(--muted);opacity:.45}.pp-tracker button[data-pp-status=current]{border-color:var(--text);outline:0}.pp-value-controls button,.point-zone__adjust button{background:var(--surface-2);border:1px solid var(--line-2);color:var(--text)}.point-zone{--point-card-h: min( 100cqw, calc((100cqh - var(--side-col-gap)) / 2), calc((100cqh - var(--side-col-gap)) * 7 / 12) );--point-card-step: 6px;justify-self:center}.point-zone--portrait{--point-card-height: var(--point-card-h);--point-card-width: calc(var(--point-card-h) * 5 / 7)}.point-zone--landscape{--point-card-height: calc(var(--point-card-h) * 5 / 7);--point-card-width: var(--point-card-h)}.point-zone__cards{display:grid;grid-template-rows:repeat(var(--point-count),var(--point-card-step));min-height:calc(var(--point-card-height) + (var(--point-count) - 1) * var(--point-card-step));position:relative;width:var(--point-card-width)}.point-zone--portrait .point-zone__cards{--point-card-overlap-step: min(18px, calc((100cqw - var(--point-card-width)) / max(var(--point-count) - 1, 1)));grid-template-columns:repeat(var(--point-count),var(--point-card-overlap-step));grid-template-rows:var(--point-card-height);min-height:var(--point-card-height);width:calc(var(--point-card-width) + (var(--point-count) - 1) * var(--point-card-overlap-step))}.point-zone__card,.point-zone__empty{border-radius:var(--card-radius);height:var(--point-card-height);overflow:hidden;width:var(--point-card-width)}.point-zone__card{background:var(--surface-2);border:1px solid var(--line-2);box-shadow:0 1px 3px #00000073;color:var(--text);min-height:0;padding:0}.point-zone__card img{display:block;height:100%;object-fit:cover;width:100%}.point-zone__card{position:relative}.point-zone--landscape .point-zone__card--used img{height:var(--point-card-width);left:50%;max-width:none;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(90deg);width:var(--point-card-height)}.point-zone__card--used img{filter:grayscale(.6) brightness(.7)}.point-zone__card[aria-disabled=true]{cursor:default}.point-zone--locked .point-zone__cards{opacity:.42}.point-zone__name{font-size:.6rem;font-weight:700}.point-zone>span:first-child{background:#0009;border-radius:var(--radius);font-size:.6rem;font-weight:700;left:3px;line-height:1;padding:2px 4px;pointer-events:none;position:absolute;top:3px;z-index:3}.point-zone__empty{border:1px dashed var(--line-2)}.point-zone{position:relative}.point-zone__adjust{bottom:0;display:none;gap:2px;grid-template-columns:1fr 1fr;left:0;position:absolute;right:0;z-index:2}.point-zone:hover .point-zone__adjust,.point-zone:focus-within .point-zone__adjust{display:grid}.point-zone__adjust button{min-height:16px}.point-zone__adjust button:disabled{opacity:.42}.point-zone__preview{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 6px 18px #00000080;display:grid;font-size:.75rem;gap:6px;max-height:calc(100vh - 16px);max-width:calc(100vw - 16px);overflow:hidden;padding:8px;pointer-events:none;position:fixed;width:280px;z-index:70}.point-zone__preview>img{border-radius:var(--radius);max-height:200px;object-fit:contain;width:100%}.point-zone__preview p{margin:0}.leader-target{background:transparent;border:0;border-radius:0;color:inherit;display:grid;place-items:center;padding:0;text-align:left}.leader-target .card-view{height:100%;max-height:124px;width:auto}.leader-target--valid{box-shadow:0 0 0 2px var(--accent-2),0 0 12px color-mix(in srgb,var(--accent-2) 60%,transparent);cursor:crosshair}.defense-counter{align-items:center;color:inherit;display:flex;justify-content:space-between;min-height:24px;padding:3px 6px;width:100%}.player-side--opponent .side-stack:not(.side-stack--with-resources)>.leader-target{grid-column:1;grid-row:3 / 5;padding-top:28px}.player-side--opponent .side-stack:not(.side-stack--with-resources)>.defense-counter{align-self:start;grid-column:1;grid-row:3;z-index:1}.player-side--opponent .side-stack:not(.side-stack--with-resources)>.zone-pile:first-child{grid-row:1}.player-side--opponent .side-stack:not(.side-stack--with-resources)>.zone-pile:nth-child(2){grid-row:2}.player-side--local .side-stack:not(.side-stack--with-resources)>.leader-target{grid-column:1;grid-row:1 / 3;padding-bottom:28px}.player-side--local .side-stack:not(.side-stack--with-resources)>.defense-counter{align-self:end;grid-column:1;grid-row:2;z-index:1}.player-side--local .side-stack:not(.side-stack--with-resources)>.zone-pile:nth-last-child(3){grid-column:1;grid-row:3}.player-side--local .side-stack:not(.side-stack--with-resources)>.zone-pile:nth-last-child(2){grid-column:1;grid-row:4}.hand-row{background:transparent;border:0;display:grid;gap:4px;grid-template-columns:28px minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;padding:0}.hand-gutter{align-items:center;display:flex;flex-direction:column;gap:6px;justify-content:center}.player-side--local .hand-gutter{justify-content:flex-start}.player-side--opponent .hand-gutter{justify-content:flex-end}.reveal-toggle{align-items:center;color:var(--text);display:flex;font-size:clamp(.68rem,.9vw,.78rem);font-weight:700;justify-content:center}.hand-cards,.battle-cards{align-items:stretch;display:flex;gap:clamp(6px,.8vw,10px);height:100%;justify-content:center;min-width:0;overflow:hidden}.hand-cards{align-items:flex-start;overflow:visible}.player-side--opponent .hand-cards{rotate:180deg}.hand-cards .card-view{--fan-t: calc(var(--fan, 0) / var(--fan-half, 1));height:156%;margin-top:22px;rotate:calc(var(--fan-t) * 5deg);transition:translate .12s ease;translate:0 calc(var(--fan-t) * var(--fan-t) * 8px)}.player-side--local .hand-cards .card-view:hover{outline:2px solid var(--accent);translate:0 calc(var(--fan-t) * var(--fan-t) * 8px - 18px);z-index:2}.player-side--local .hand-cards .card-view:hover:after{content:"";height:18px;inset:100% 0 auto;position:absolute}.battle-slot{aspect-ratio:5 / 7;border:1px dashed var(--line-2);border-radius:var(--card-radius);flex:0 0 auto;height:100%}.hand-cards .card-view+.card-view{margin-left:calc(0px - var(--hand-card-overlap, 0px))}.battle-zone{background:var(--mat);display:grid;gap:clamp(4px,.7vw,6px);grid-template-rows:minmax(0,1fr);min-height:0;padding:clamp(3px,.5vw,4px) clamp(5px,.7vw,8px) clamp(3px,.5vw,4px) clamp(30px,3vw,38px);position:relative}.battle-zone-tools{align-items:start;display:flex;inset:clamp(5px,.7vw,8px);justify-content:space-between;pointer-events:none;position:absolute;z-index:2}.battle-zone-tools strong{color:var(--accent);font-size:clamp(.66rem,.9vw,.78rem)}.token-helper{background:var(--accent);border-radius:var(--radius);color:var(--accent-ink);font-size:clamp(.7rem,.95vw,.85rem);height:clamp(20px,2.2vw,24px);line-height:1;padding:0;pointer-events:auto;width:clamp(20px,2.2vw,24px)}.card-view{aspect-ratio:5 / 7;flex:0 0 clamp(44px,6.2vw,72px);height:100%;min-width:0;position:relative}.card-view--dragging{opacity:0}.card-view--pending{opacity:.65;outline:2px dashed var(--accent);outline-offset:2px}.card-view--pending.card-view--dragging{opacity:0}.hand-cards .card-view,.battle-cards .card-view{flex-basis:auto}.battle-cards .card-view--stacked{margin-left:var(--underlay-width-offset, 0px);margin-right:var(--stack-width-offset, 0px)}.card-view--compact{flex-basis:clamp(36px,4.9vw,58px)}.card-view--horizontal{align-self:center;aspect-ratio:7 / 5;flex-basis:clamp(58px,7.4vw,86px);height:71.4286%}.card-frame{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--card-radius);box-shadow:0 8px 16px #00000047;display:grid;gap:3px;grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;overflow:hidden;padding:clamp(4px,.6vw,6px);position:relative}.card-image,.preview-card-image{inset:0;height:100%;object-fit:cover;position:absolute;width:100%}.card-image{opacity:.94;z-index:0}.card-frame>:not(.card-image){position:relative;z-index:1}.card-view--spell .card-frame{background:var(--tint-spell)}.card-view--leader .card-frame{background:var(--tint-leader)}.card-view--token .card-frame{background:var(--tint-token)}.card-frame strong{align-self:center;font-size:clamp(.58rem,.9vw,.72rem);line-height:1.05;overflow-wrap:anywhere}.card-cost{align-items:center;background:var(--accent);border-radius:var(--radius);color:var(--accent-ink);display:flex;font-size:clamp(.6rem,.8vw,.72rem);font-weight:800;height:clamp(16px,2vw,20px);justify-content:center;width:clamp(16px,2vw,20px)}.card-stats,.card-badge{border:1px solid rgba(255,255,255,.24);border-radius:var(--radius);color:var(--text);font-size:clamp(.56rem,.8vw,.68rem);font-weight:800;justify-self:start;padding:2px 5px}.tabletop-shell--targeting .card-badge--counter{pointer-events:none}.card-frame>.card-stat-controls{bottom:3px;display:flex;gap:3px;left:50%;position:absolute;transform:translate(-50%);z-index:4}.card-stat-control{align-items:center;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);box-shadow:0 2px 7px #000000a6;color:var(--text);display:flex;font-size:.65rem;gap:2px;height:22px;justify-content:center;min-width:30px;padding:0 5px}.card-stat-control--attack{background:var(--stat-attack)}.card-stat-control--defense{background:var(--stat-defense)}.card-stat-control span{font-size:.52rem;opacity:.78}.battle-zone--duplicate-target{box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 20px color-mix(in srgb,var(--accent) 18%,transparent);cursor:copy}.card-frame>.autopay-control{align-items:center;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 2px 7px #0000006b;color:var(--accent-ink);display:flex;font-size:.7rem;font-weight:900;height:26px;justify-content:center;left:4px;padding:0;position:absolute;top:4px;width:26px;z-index:3}.card-frame>.card-badge{background:var(--surface-2);height:24px;left:50%;min-width:24px;padding:0 5px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:4}.card-frame--overlay{inset:0 auto auto var(--stack-offset);opacity:.96;position:absolute;width:100%}.card-view--stacked{isolation:isolate}.card-frame--underlay{inset:0 auto auto var(--stack-offset);position:absolute;width:100%}.card-view--horizontal>.card-frame{height:140%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center;width:71.4286%}.card-view--horizontal>.card-frame--overlay,.card-view--horizontal>.card-frame--underlay{left:calc(50% + var(--stack-offset))}.table-status{display:grid;gap:clamp(5px,.8vw,8px);grid-template-columns:repeat(3,minmax(0,1fr));padding:clamp(5px,.7vw,7px) clamp(6px,1vw,10px)}.table-status div{align-items:center;display:flex;justify-content:space-between}.right-rail{background:var(--surface);border-left:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);min-height:0}.rail-panel{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 14px}.turn-summary{display:grid;gap:6px 10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 10px}.turn-summary dt{color:var(--muted);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.turn-summary dd{font-weight:600;margin:0;overflow-wrap:anywhere}.turn-control-buttons{display:grid;gap:8px;grid-template-columns:64px 1fr 1fr}.start-turn-options{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:flex-end;margin-top:6px}.start-turn-options label{align-items:center;color:var(--text);display:flex;font-size:clamp(.68rem,.9vw,.78rem);font-weight:700;gap:5px}.rail-panel--spell .spell-window{min-height:76px}.rail-tabs{border-bottom:1px solid var(--line);display:flex}.rail-tab{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);flex:1}.rail-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--text)}.rail-tab-count{color:var(--muted);font-size:.75rem}.rail-panel--log,.rail-panel--chat{border-bottom:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.log-arrow{fill:none;height:.95em;margin:0 .15em;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;vertical-align:-.12em;width:.95em}.rail-panel--log .rail-scroll,.rail-panel--chat .rail-scroll{align-content:start;flex:1;min-height:0}.enlarged-card-preview{pointer-events:none;position:fixed;width:min(var(--large-card-width),calc((100vh - 16px) * 5 / 7),calc(100vw - 16px));z-index:6}.deck-shortcuts-tooltip{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 18px 48px #00000073;padding:8px 10px;pointer-events:none;position:fixed;width:max-content;max-height:calc(100vh - 16px);max-width:min(260px,calc(100vw - 16px));overflow:hidden;z-index:6}.shortcut-list{display:grid;gap:4px;margin:0}.shortcut-list-row{display:flex;gap:8px;justify-content:space-between}.shortcut-list dt{color:var(--accent);font-weight:700;white-space:nowrap}.shortcut-list dd{color:var(--muted);margin:0;text-align:right}.shortcut-help-button{align-self:end;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);cursor:pointer;font-size:12px;font-weight:700;grid-column:1;grid-row:4;justify-self:end;line-height:1;padding:4px 6px}.shortcut-help-button:hover,.shortcut-help-button[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.shortcut-help-panel{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 18px 48px #00000073;display:grid;gap:8px;max-height:calc(100vh - 16px);max-width:min(280px,calc(100vw - 16px));overflow-y:auto;padding:10px 12px;position:fixed;width:max-content;z-index:20}.shortcut-help-panel h3{color:var(--accent);font-size:11px;letter-spacing:.02em;margin:0 0 4px;text-transform:uppercase}.die-button{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);cursor:pointer;display:flex;justify-content:center;padding:0}.die-announcement{height:0;overflow:hidden;width:0}.held-equipment{aspect-ratio:5 / 7;border:2px solid var(--accent);border-radius:var(--radius);box-shadow:0 10px 28px #00000080;color:var(--text);font-size:.7rem;font-weight:800;overflow:hidden;pointer-events:none;position:fixed;transform:translate(8px,8px);width:72px;z-index:20}.held-equipment img{display:block;height:100%;object-fit:cover;width:100%}.preview-card-art{aspect-ratio:5 / 7;background:var(--surface-2);border:2px solid var(--line-2);border-radius:var(--card-radius);box-shadow:0 18px 50px #0000007a;display:grid;gap:8px;grid-template-rows:auto auto minmax(0,1fr) auto auto;overflow:hidden;padding:12px;position:relative}.preview-card-art>:not(.preview-card-image){position:relative;z-index:1}.preview-card-art--spell{background:var(--tint-spell)}.preview-card-art--leader{background:var(--tint-leader)}.preview-card-art--token{background:var(--tint-token)}.preview-card-art strong{align-self:center;color:var(--text);font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.05}.preview-card-cost{background:var(--accent);border-radius:var(--radius);color:var(--accent-ink);font-size:clamp(.68rem,.9vw,.78rem);font-weight:900;justify-self:start;padding:4px 8px}.rail-scroll{display:grid;gap:7px;overflow-y:auto;padding-right:3px}.rail-scroll p,.spell-window{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);color:var(--text);font-size:clamp(.7rem,.9vw,.82rem);line-height:1.35;margin:0;padding:8px}.rail-scroll span{display:block;margin-bottom:3px}.rail-scroll .log-player--local{color:var(--accent)}.rail-scroll .log-player--opponent{color:var(--accent-2)}.spell-window{align-items:center;display:grid;gap:4px;grid-template-rows:minmax(0,1fr) auto;justify-items:center;min-height:0;overflow:hidden;padding:4px}.resolution-card{aspect-ratio:5 / 7;height:auto;max-width:100%;min-height:0;overflow:hidden;position:relative;width:var(--large-card-width)}.resolution-card-image,.resolution-card-fallback{border-radius:var(--card-radius);height:100%;width:100%}.resolution-card-image{display:block;object-fit:contain}.resolution-card-fallback{align-content:center;background:var(--surface-2);border:1px solid var(--line-2);display:grid;gap:5px;padding:8px;text-align:center}.resolution-card-fallback strong{font-size:clamp(.72rem,1vw,.9rem);overflow-wrap:anywhere}.resolution-window button{min-height:28px;padding:.3rem .7rem;width:100%}.resolution-window-empty{align-self:center;grid-row:1 / -1}.viewer-backdrop{align-items:center;background:var(--scrim);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:10}.viewer-backdrop--top{align-items:flex-start;padding-top:24px}.token-picker{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 18px 48px #00000073;display:grid;gap:12px;max-height:min(680px,calc(100vh - 48px));min-width:min(560px,94vw);overflow:hidden;padding:14px;grid-template-rows:auto auto auto minmax(0,1fr);max-width:min(1200px,calc(100vw - 36px));width:min(1200px,calc(100vw - 36px))}.zone-viewer{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 18px 48px #00000073;display:grid;grid-template-rows:auto auto minmax(0,1fr);max-height:calc(100vh - 48px);overflow:hidden;width:min(1140px,calc(100vw - 48px))}.token-picker header{align-items:center;display:flex;justify-content:space-between}.zone-viewer>header{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:14px 20px}.zone-viewer>header>div:first-child,.token-picker header div{display:grid;gap:2px}.zone-viewer header span,.token-picker header span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.viewer-actions{align-items:center;background:var(--surface-2);border-bottom:1px solid var(--line);display:flex;flex-wrap:nowrap;gap:8px;height:58px;overflow-x:auto;overflow-y:hidden;padding:0 20px}.viewer-actions>*,.viewer-actions button{flex-shrink:0;white-space:nowrap}.viewer-actions button{height:34px;min-height:0}.viewer-actions-label{color:var(--muted);font-size:.7rem;letter-spacing:.08em;margin-right:4px;text-transform:uppercase}.viewer-actions button,.token-options button,.zone-viewer header button,.token-picker header button{padding:.55rem .7rem}.viewer-actions button:disabled{cursor:not-allowed;opacity:.45}.viewer-face-tabs{display:inline-flex;gap:4px}.viewer-face-tabs button{background:var(--surface-2);border-color:var(--line-2);color:var(--text)}.viewer-face-tabs button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.viewer-header-controls,.viewer-mode-toggle,.top-deck-count-control{align-items:center;display:flex;gap:10px}.viewer-mode-toggle{border:1px solid var(--line-2);gap:0}.viewer-mode-toggle button{background:transparent;border:0;color:var(--text)}.viewer-mode-toggle button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.top-deck-count-control label{align-items:center;display:flex;gap:8px}.top-deck-count-control span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.top-deck-count-control input{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);padding:.45rem;width:70px}.viewer-body{display:grid;grid-template-columns:minmax(0,1fr);min-height:0}.viewer-body-cards{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto;padding:20px}.viewer-card-grid{align-content:start;display:grid;gap:10px;grid-auto-rows:max-content;grid-template-columns:repeat(auto-fill,var(--large-card-width));list-style:none;margin:0;min-height:0;overflow-y:auto;padding:0 4px 0 0}.viewer-card-tile{aspect-ratio:5 / 7;border:2px solid transparent;border-radius:var(--card-radius);min-width:0;overflow:hidden;position:relative}.viewer-card-tile--selected{outline:2px solid var(--accent);outline-offset:-2px}.viewer-card-tile--used{opacity:.5}.viewer-actions .viewer-target-button{align-items:center;background:var(--surface);border:1px solid var(--accent);color:var(--text);display:flex;gap:8px;padding:0 12px 0 4px;text-align:left}.viewer-target-button img{border-radius:var(--radius);height:26px;object-fit:cover;width:19px}.viewer-target-button small{color:var(--muted)}.viewer-card-tile label,.viewer-card-tile img,.viewer-card-art-missing{display:block;height:100%;width:100%}.viewer-card-tile label{cursor:pointer;position:relative}.viewer-card-tile img{object-fit:contain}.viewer-card-art-missing{background:var(--surface-2);border:1px solid var(--line-2)}.viewer-card-checkbox{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.viewer-card-selection-order{background:var(--accent);border-radius:var(--radius);color:var(--accent-ink);font-weight:700;left:6px;min-width:22px;padding:2px 4px;position:absolute;text-align:center;top:6px}.viewer-card-face-state{background:var(--scrim);border:1px solid var(--accent);border-radius:var(--radius);bottom:6px;color:var(--accent);font-size:.68rem;font-weight:900;left:6px;padding:3px 5px;position:absolute;text-transform:uppercase}.viewer-reveal-button{display:none;font-size:.72rem;padding:3px 8px;position:absolute;right:6px;top:6px;z-index:2}.viewer-card-tile:hover>.viewer-reveal-button,.viewer-card-tile:focus-within>.viewer-reveal-button{display:block}.token-search{display:grid;gap:5px}.token-search span,.token-picker-section h2{color:var(--muted);font-size:.72rem;font-weight:800;margin:0;text-transform:uppercase}.token-search input{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);padding:.6rem .7rem;width:100%}.token-picker-section{display:grid;gap:7px;min-height:0}.token-picker-section p{color:var(--muted);margin:0}.token-picker-results{overflow-y:auto;padding-right:4px}.token-options{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.token-options--recent{grid-template-columns:repeat(auto-fill,minmax(90px,120px))}.token-options button{aspect-ratio:5 / 7;background:var(--bg);border-color:var(--line-2);min-width:0;overflow:hidden;padding:0}.token-options button:hover,.token-options button:focus-visible{border-color:var(--accent)}.token-options img,.token-options .viewer-card-art-missing{display:block;height:100%;object-fit:contain;width:100%}.deck-builder-page{background:var(--bg);color:var(--text);display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;overflow:hidden}.deck-builder-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:12px 20px}.deck-builder-header h1{font-size:1.25rem;line-height:1.1;margin:0}.deck-builder-eyebrow{color:var(--muted);font-size:.72rem;font-weight:800;margin:0 0 2px;text-transform:uppercase}.deck-builder-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.deck-builder-actions p{color:var(--muted);font-size:.8rem;font-weight:800}.deck-builder-deck-fields{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 auto 14px;max-width:1180px;min-height:0}.deck-builder-name-field{display:grid;gap:6px;min-height:0}.deck-builder-name-field span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.deck-builder-name-field input,.deck-builder-name-field select{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-size:1rem;font-weight:800;padding:.65rem .75rem}.deck-builder-actions button,.deck-builder-modal button{padding:.55rem .75rem}.deck-builder-actions button:disabled{cursor:not-allowed;opacity:.55}.deck-builder-shell{display:grid;grid-template-columns:248px minmax(0,1fr) 340px;min-height:0}.deck-builder-catalog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:8px;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;padding:10px}.deck-builder-filters{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px;overflow:auto;padding:18px}.deck-builder-chips{border:0;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}.deck-builder-chips legend{color:var(--muted);font-size:.66rem;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.deck-builder-chip{background:transparent;border:1px solid var(--line-2);color:var(--text);font-size:.8rem;font-weight:500;min-height:28px;padding:0 10px}.deck-builder-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.deck-builder-results{color:var(--muted);font-size:.85rem;margin:0 0 10px}.deck-builder-filters label,.deck-builder-import-field{display:grid;gap:4px}.deck-builder-filters span,.deck-builder-import-field span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.deck-builder-filters input,.deck-builder-filters select,.deck-builder-import-field textarea{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);min-width:0;padding:.48rem .55rem}.deck-builder-import-field textarea{line-height:1.35;min-height:16rem;resize:vertical}.deck-builder-catalog-grid{min-height:0;overflow-y:auto;padding-right:4px}.deck-builder-catalog-grid__spacer{position:relative}.deck-builder-catalog-grid__window{display:grid;left:0;position:absolute;right:0;top:0}.deck-builder-card-tile{min-width:0;position:relative}.deck-builder-card{aspect-ratio:5 / 7;background:var(--surface);border:1px solid var(--surface-2);color:var(--text);display:block;min-width:0;overflow:hidden;padding:0;width:100%}.deck-builder-card:hover,.deck-builder-card:focus-visible{border-color:var(--accent);outline:0}.deck-builder-card__image{align-items:center;aspect-ratio:5 / 7;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--card-radius);display:flex;height:100%;justify-content:center;overflow:hidden;width:100%}.deck-builder-card__image img{height:100%;object-fit:contain;width:100%}.deck-builder-card__image span{color:var(--muted);font-size:.78rem;font-weight:900}.deck-builder-card__inspect{align-items:center;background:var(--scrim);border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);display:flex;height:32px;justify-content:center;padding:0;position:absolute;right:6px;top:6px;width:32px}.deck-builder-card__inspect:hover,.deck-builder-card__inspect:focus-visible{border-color:var(--accent);color:var(--accent);outline:0}.deck-builder-panel{align-content:start;background:var(--surface);border-left:1px solid var(--line);display:grid;gap:8px;min-height:0;overflow:auto;padding:10px}.deck-builder-summary{border-bottom:1px solid var(--line);display:grid;gap:12px;padding:14px 16px}.deck-builder-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.deck-builder-totals dt{color:var(--muted);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.deck-builder-totals dd{font-family:var(--font-display);font-size:1.5rem;margin:0}.deck-builder-curve{display:grid;gap:4px;grid-template-columns:repeat(9,minmax(0,1fr));height:72px;margin:0;position:relative}.deck-builder-curve-bar{align-items:center;display:grid;grid-template-rows:minmax(0,1fr) auto}.deck-builder-curve-bar span{align-self:end;background:var(--accent);display:block;width:100%}.deck-builder-curve-bar small{color:var(--muted);font-size:.66rem;text-align:center}.deck-builder-section{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);display:grid;gap:7px;padding:9px}.deck-builder-section header,.deck-builder-modal header{align-items:center;display:flex;gap:10px;justify-content:space-between}.deck-builder-section h2,.deck-builder-modal h2{font-size:.95rem;line-height:1.15;margin:0}.deck-builder-section header span,.deck-builder-modal header span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.deck-builder-empty,.deck-builder-leader{color:var(--text);font-size:.82rem;line-height:1.35}.deck-builder-empty{color:var(--muted)}.deck-builder-deck-list,.deck-builder-missing-list{display:grid;gap:5px;list-style:none;margin:0;padding:0}.deck-builder-deck-list li,.deck-builder-missing-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:2px;padding:7px}.deck-builder-deck-list li{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;display:grid;gap:8px;grid-template-columns:44px minmax(0,1fr) auto;padding:5px 2px}.deck-builder-deck-list li:last-child{border-bottom:0}.deck-builder-entry-art{background:var(--surface-2);border-radius:var(--radius);display:block;height:22px;object-fit:cover;object-position:50% 30%;width:44px}.deck-builder-missing-list li{display:grid}.deck-builder-entry-copy{display:grid;gap:2px;min-width:0}.deck-builder-entry-copy span,.deck-builder-entry-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-builder-entry-controls{display:flex;gap:4px}.deck-builder-entry-controls button{font-size:.85rem;height:26px;line-height:1;min-height:0;padding:0;width:26px}.deck-builder-deck-list span,.deck-builder-missing-list strong{color:var(--text);font-size:.8rem}.deck-builder-deck-list small,.deck-builder-missing-list span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.deck-builder-unavailable{align-self:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:7px;justify-self:start;margin:10px;max-width:520px;padding:14px}.deck-builder-unavailable h2{font-size:1rem;margin:0}.deck-builder-unavailable p{color:var(--muted);font-size:.84rem;line-height:1.4}.deck-builder-modal-backdrop{align-items:center;background:var(--scrim);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:20}.deck-builder-modal{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 18px 48px #00000073;display:grid;gap:12px;max-height:min(720px,92vh);max-width:min(720px,94vw);min-width:min(560px,94vw);overflow:auto;padding:14px}.deck-builder-modal-actions{display:flex;justify-content:flex-end}.catalog-card-inspector{max-height:88vh;max-width:min(92vw,760px);min-width:0;width:min(92vw,760px)}.catalog-card-inspector__tabs{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.catalog-card-inspector__tabs button{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);flex:1 1 180px;min-width:0;overflow-wrap:anywhere;padding:.48rem .6rem}.catalog-card-inspector__tabs button[aria-selected=true]{background:var(--surface);border-color:var(--accent);color:var(--accent)}.catalog-card-inspector__panel{display:grid;gap:14px;grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr);min-width:0}.catalog-card-inspector__art{align-items:center;aspect-ratio:5 / 7;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--card-radius);display:flex;justify-content:center;max-width:300px;overflow:hidden;width:100%}.catalog-card-inspector__art img{display:block;height:100%;object-fit:contain;width:100%}.catalog-card-inspector__art span{color:var(--muted);font-size:1rem;font-weight:900}.catalog-card-inspector__details,.catalog-card-inspector__face-copy{display:grid;gap:10px;min-width:0}.catalog-card-inspector__face-copy>p:first-child{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.catalog-card-inspector__face-copy h3{font-size:1.05rem;line-height:1.2;margin:0;overflow-wrap:anywhere}.catalog-card-inspector__face-stats,.catalog-card-inspector__metadata{display:grid;gap:6px;margin:0}.catalog-card-inspector__face-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-card-inspector__face-stats div,.catalog-card-inspector__metadata div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:7px}.catalog-card-inspector__face-stats dt,.catalog-card-inspector__metadata dt,.catalog-card-inspector__traits strong{color:var(--muted);font-size:.64rem;font-weight:800;text-transform:uppercase}.catalog-card-inspector__face-stats dd,.catalog-card-inspector__metadata dd{color:var(--text);font-size:.78rem;font-weight:800;margin:2px 0 0;overflow-wrap:anywhere}.catalog-card-inspector__traits,.catalog-card-inspector__text{color:var(--text);font-size:.78rem;line-height:1.4;margin:0}.catalog-card-inspector__traits{display:grid;gap:3px}.catalog-card-inspector__text{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);min-height:72px;padding:9px}.catalog-card-inspector__metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card-inspector__add{justify-self:end}.deck-management-page{background:var(--bg);box-sizing:border-box;color:var(--text);height:100%;overflow-y:auto;padding:20px}.deck-management-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;margin:0 auto 16px;max-width:1180px;padding:12px 20px}.deck-management-header h1{font-size:2rem;margin:0}.deck-management-actions,.deck-management-card-actions{display:flex;gap:10px}.deck-management-actions button:not(.button-secondary),.deck-management-card-actions button:not(.button-secondary){background:var(--accent);border:0;border-radius:var(--radius);color:var(--bg);cursor:pointer;font-weight:800;padding:.65rem .9rem}.deck-management-actions button.button-secondary,.deck-management-card-actions button.button-secondary{cursor:pointer;font-weight:800;padding:.65rem .9rem}.deck-management-empty,.deck-management-list{margin:0 auto;max-width:1180px}.deck-management-empty{border:1px dashed var(--line-2);border-radius:var(--radius);color:var(--muted);padding:40px;text-align:center}.deck-management-empty h2{color:var(--text);margin:0 0 8px}.deck-management-card{align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;justify-content:space-between;gap:14px;margin-bottom:10px;padding:16px}.deck-management-card-summary{display:grid;gap:10px}.deck-management-card h2{font-size:1.05rem;margin:0 0 6px}.deck-management-craft{border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);display:inline-block;font-size:.7rem;font-weight:800;margin:0 0 6px;padding:.1rem .5rem;text-transform:uppercase}.deck-management-card p{color:var(--text);font-weight:700;margin:0 0 4px}.deck-management-card small{color:var(--muted)}.deck-management-warning{background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);border-radius:var(--radius);color:var(--accent);max-width:560px;padding:10px 12px}.deck-management-warning strong{display:block;font-size:.78rem;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.deck-management-warning ul{display:grid;gap:5px;list-style:none;margin:0;padding:0}.deck-management-warning li{align-items:baseline;display:grid;gap:8px;grid-template-columns:46px minmax(0,1fr)}.deck-management-warning span:first-child{color:var(--accent);font-size:.72rem;font-weight:800;text-transform:uppercase}.deck-management-warning span:last-child{color:var(--accent);font-weight:700}.solo-setup-page{background:var(--bg);box-sizing:border-box;color:var(--text);height:100%;overflow-y:auto;padding:20px}.solo-setup-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto 16px;max-width:1180px}.solo-setup-header h1{font-size:2rem;margin:0}.solo-setup-actions{display:flex;gap:10px}.solo-setup-actions button:not(.button-secondary),.solo-setup-footer button:not(.button-secondary){background:var(--accent);border:0;border-radius:var(--radius);color:var(--bg);cursor:pointer;font-weight:800;padding:.65rem .9rem}.solo-setup-actions button.button-secondary{font-weight:800;padding:.65rem .9rem}.solo-setup-footer button:disabled{cursor:not-allowed;opacity:.45}.solo-setup-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:18px;margin:0 auto;max-width:1180px;padding:18px}.solo-setup-selectors{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.solo-setup-selectors label{display:grid;gap:8px}.solo-setup-selectors span,.solo-setup-turn-choice legend{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.solo-setup-selectors select{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--radius);color:var(--text);font:inherit;padding:.72rem .78rem}.solo-setup-turn-choice{border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:18px;margin:0;padding:14px}.solo-setup-turn-choice label{align-items:center;display:flex;gap:8px;font-weight:800}.solo-setup-validation-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.solo-setup-validation{background:var(--mat);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:8px;min-height:126px;padding:14px}.solo-setup-validation strong{color:var(--text)}.solo-setup-validation span,.solo-setup-validation p{color:var(--muted);margin:0}.solo-setup-validation ul{color:var(--accent);display:grid;gap:6px;margin:0;padding-left:18px}.solo-setup-footer{display:flex;justify-content:flex-end}.pregame-mulligan-shell{gap:20px}.pregame-mulligan-status{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.pregame-mulligan-status strong{color:var(--text);font-size:1rem}.pregame-mulligan-status span{color:var(--muted);font-size:.86rem}.pregame-mulligan-hand{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;max-width:760px;width:100%}.pregame-mulligan-card{aspect-ratio:5 / 7;background:transparent;border:2px solid transparent;border-radius:var(--radius);color:inherit;cursor:default;min-width:0;padding:4px;position:relative}.pregame-mulligan-card:not(:disabled){cursor:pointer}.pregame-mulligan-card--selected{border-color:var(--accent)}.pregame-mulligan-card .card-view{height:100%;width:100%}.pregame-mulligan-order{align-items:center;background:var(--accent);border:2px solid var(--bg);border-radius:var(--radius);color:var(--bg);display:flex;font-size:.9rem;font-weight:900;height:30px;justify-content:center;position:absolute;right:-7px;top:-7px;width:30px}.pregame-mulligan-actions{display:flex;gap:10px;justify-content:flex-end}.pregame-mulligan-actions button:not(.button-secondary){background:var(--accent);border:0;border-radius:var(--radius);color:var(--bg);cursor:pointer;font-weight:800;padding:.65rem .9rem}.pregame-mulligan-actions button.button-secondary{cursor:pointer;font-weight:800;padding:.65rem .9rem}.pregame-mulligan-actions button:disabled{cursor:not-allowed;opacity:.45}.pregame-mulligan-error{color:var(--accent);margin:0}@media(max-width:1040px){.tabletop-shell{grid-template-columns:minmax(0,1fr) 250px}.deck-builder-shell{grid-template-columns:minmax(0,1fr)}.deck-builder-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.catalog-card-inspector__panel{grid-template-columns:minmax(0,1fr)}.catalog-card-inspector__art{justify-self:center;max-width:250px}}@media(max-width:640px){.pregame-mulligan-status{align-items:flex-start;flex-direction:column}.pregame-mulligan-hand{gap:8px}}.online-panel{background:var(--surface);border:1px solid var(--surface-2);border-radius:var(--radius);color:var(--text);display:grid;gap:14px;margin:24px auto;max-width:640px;padding:20px}.online-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.online-row,.online-actions{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.online-panel label{display:grid;gap:4px}.online-panel input{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);min-width:0;padding:.48rem .55rem}.online-code{font-family:ui-monospace,monospace;font-size:1.6rem;letter-spacing:.2em;margin:0 8px}.online-seats,.online-spectators{display:grid;gap:8px;list-style:none;margin:0;padding:0}.online-seats li,.online-spectators li{align-items:center;background:var(--surface);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px}.online-name{font-weight:700}.online-badge{background:var(--surface-2);border-radius:var(--radius);color:var(--accent);font-size:.75rem;padding:2px 8px}.online-muted{color:var(--muted)}.online-notice{background:color-mix(in srgb,var(--accent-2) 16%,var(--surface));border-radius:var(--radius);margin:0;padding:8px 10px}.online-dialog{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);padding:14px}.battle-slot--preview{animation:battle-slot-open .12s ease-out;background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent)}@keyframes battle-slot-open{0%{opacity:0;scale:.9}}.battle-cards--previewing .card-view--dragging{position:absolute;visibility:hidden}.ability-icons{display:none;flex-direction:column;gap:4px;left:calc(4px + var(--stack-width-offset, 0px));position:absolute;top:4px;z-index:5}.card-view:hover>.ability-icons,.card-view:focus-within>.ability-icons,.ability-icons--open{display:flex}.card-view--horizontal>.ability-icons{flex-direction:row-reverse;left:auto;right:calc(4px - var(--stack-width-offset, 0px))}.card-view--horizontal>.ability-icons img{transform:rotate(90deg)}.ability-icons--after-autopay{top:42px}.card-view--horizontal>.ability-icons--after-autopay{right:calc(42px - var(--stack-width-offset, 0px));top:4px}.ability-icon{background:none;border:0;border-radius:var(--radius);cursor:pointer;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));height:28px;padding:0;width:28px}.ability-icon img{display:block;height:100%;width:100%}.card-action-icons{display:none;flex-direction:column;gap:4px;position:absolute;right:calc(4px - var(--stack-width-offset, 0px));top:4px;z-index:5}.card-view:hover>.card-action-icons,.card-view:focus-within>.card-action-icons,.resolution-card:hover>.card-action-icons,.resolution-card:focus-within>.card-action-icons{display:flex}.card-view--horizontal>.card-action-icons{bottom:4px;flex-direction:row-reverse;top:auto}.card-view--horizontal>.card-action-icons svg{transform:rotate(90deg)}.card-action-icon{align-items:center;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 1px 4px #00000080;color:var(--text);cursor:pointer;display:flex;height:28px;justify-content:center;min-height:0;padding:0;width:28px}.card-action-icon svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:18px}.card-action-icon--attack{color:var(--arrow-attack)}.card-action-icon--target{color:var(--arrow-spell)}.card-view--valid-target{box-shadow:0 0 0 2px var(--accent-2),0 0 12px color-mix(in srgb,var(--accent-2) 60%,transparent);cursor:crosshair}.target-arrows{height:100vh;inset:0;overflow:visible;pointer-events:none;position:fixed;width:100vw;z-index:5}.target-arrow{fill:none;stroke-linecap:round;stroke-width:4;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.target-arrow--attack{stroke:var(--arrow-attack)}.target-arrow--spell{stroke:var(--arrow-spell)}.target-arrowhead--attack{fill:var(--arrow-attack)}.target-arrowhead--spell{fill:var(--arrow-spell)}.strike-prompt{background:var(--surface);border:1px solid var(--arrow-attack);border-radius:var(--radius);box-shadow:0 8px 22px #00000080;color:var(--text);max-height:calc(100vh - 16px);max-width:min(300px,calc(100vw - 16px));overflow-y:auto;padding:8px 10px;position:fixed;z-index:7}.strike-prompt-title{font-size:.85rem;margin:0 0 6px}.strike-prompt-rows{display:grid;gap:8px;list-style:none;margin:0;padding:0}.strike-prompt-row p{font-size:.78rem;margin:0 0 6px}.strike-prompt-buttons{display:flex;gap:6px}.ability-icon:hover,.ability-icon:focus-visible{outline:2px solid var(--text);outline-offset:1px}.ability-act-menu{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 8px 24px #00000073;display:grid;max-height:calc(100vh - 16px);max-width:min(280px,calc(100vw - 16px));overflow-y:auto;min-width:220px;position:fixed;z-index:60}.ability-act-menu button{background:none;border:0;border-bottom:1px solid var(--line);color:var(--text);cursor:pointer;font:12px/1.35 var(--font-body);padding:6px 10px;text-align:left}.ability-act-menu button:last-child{border-bottom:0}.ability-act-menu button:hover,.ability-act-menu button:focus-visible{background:var(--surface)}.card-view--declared>.card-frame{animation:ability-declared .7s ease-out}@keyframes ability-declared{0%{box-shadow:0 0 0 3px var(--accent)}to{box-shadow:0 0 0 0 transparent}}.targeting-banner{align-items:center;background:var(--surface);border:1px solid var(--accent-2);border-radius:var(--radius);box-shadow:0 6px 18px #00000073;color:var(--text);display:flex;font-weight:700;gap:12px;left:50%;max-width:calc(100vw - 32px);padding:8px 12px;position:fixed;top:12px;transform:translate(-50%);z-index:8}.targeting-banner-hint{color:var(--muted);font-size:.8rem;font-weight:400}.last-words-anchor{height:0;pointer-events:none;position:absolute;width:0}.last-words-list{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:0 8px 24px #00000073;max-height:min(360px,60vh);overflow-y:auto;position:fixed;width:280px;z-index:5}.last-words-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:7px 10px}.last-words-header strong{font:600 13px var(--font-display)}.last-words-header-actions{display:flex;gap:6px}.last-words-list--collapsed{width:auto}.last-words-list--collapsed .last-words-header{border-bottom:0;gap:12px}.last-words-header button,.last-words-actions button{background:transparent;border:1px solid var(--line-2);border-radius:var(--radius);color:var(--muted);cursor:pointer;font:600 11px var(--font-display);height:24px;padding:0 8px;white-space:nowrap}.last-words-list ul{list-style:none;margin:0;padding:0}.last-words-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:8px;grid-template-columns:30px minmax(0,1fr) auto;padding:7px 10px}.last-words-row:last-child{border-bottom:0}.last-words-row--newest{animation:last-words-arrive .9s ease-out}.last-words-thumb{aspect-ratio:5 / 7;border-radius:var(--radius);display:block;object-fit:cover;width:30px}span.last-words-thumb{background:var(--card-back) url(/images/card-back.webp) center / cover no-repeat}.last-words-body strong{display:block;font:600 12px var(--font-display)}.last-words-body p{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);display:-webkit-box;font:11px/1.3 var(--font-body);margin:2px 0 0;overflow:hidden}.last-words-actions{display:grid;gap:4px}.last-words-actions .last-words-declare{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}@keyframes last-words-arrive{0%{background:#6fd3c72e}to{background:transparent}}.text-icon{display:inline-block;height:1.15em;margin:0 1px;vertical-align:-.2em;width:auto}.card-keywords{bottom:30px;display:flex;flex-wrap:wrap-reverse;gap:2px;justify-content:center;left:calc(4px + var(--stack-width-offset, 0px));list-style:none;margin:0;padding:0;pointer-events:none;position:absolute;right:calc(4px - var(--stack-width-offset, 0px));z-index:4}.card-view--horizontal>.card-keywords{align-content:flex-start;bottom:auto;box-sizing:border-box;height:140%;left:calc(50% + var(--stack-width-offset, 0px));overflow:hidden;padding:4px 4px 22%;right:auto;top:50%;transform:translate(-50%,-50%) rotate(90deg);width:71.4286%}.card-view--horizontal>.card-keywords li{font-size:8px;padding:1px 3px}.card-keywords li{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--accent-2);border-radius:var(--radius);box-shadow:0 1px 2px #00000073;color:var(--accent-ink);font-size:10px;font-weight:700;line-height:1;padding:2px 5px}.keyword-dial{inset:0;pointer-events:none;position:fixed;z-index:60}.keyword-dial button{align-items:center;background:var(--surface-2);border:1px solid var(--accent-2);border-radius:var(--radius);box-shadow:0 2px 6px #00000080;color:inherit;display:flex;font-size:12px;font-weight:600;gap:4px;min-height:28px;padding:2px 10px 2px 4px;pointer-events:auto;position:fixed;transform:translate(-50%,-50%);white-space:nowrap}.keyword-dial button[aria-pressed=true]{background:var(--accent-2);color:var(--accent-ink)}.keyword-dial__key{align-items:center;background:#00000059;border-radius:var(--radius);display:inline-flex;font-size:10px;height:18px;justify-content:center;width:18px}.hand-slot--preview{animation:battle-slot-open .12s ease-out;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px dashed var(--accent);border-radius:var(--card-radius)}.hand-cards--previewing .card-view--dragging{position:absolute;visibility:hidden}.reveal-popup{display:grid;inset:0;place-items:center;pointer-events:none;position:fixed;z-index:70}.reveal-popup-card{animation:reveal-popup-fade 2.5s ease-in-out forwards;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--card-radius);color:var(--text);display:grid;gap:6px;padding:8px;pointer-events:auto;width:var(--large-card-width)}.reveal-popup-card img{border-radius:var(--card-radius);width:100%}@keyframes reveal-popup-fade{0%{opacity:0;transform:scale(.92)}10%,80%{opacity:1;transform:none}to{opacity:0}}.online-toast{background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius);bottom:24px;left:50%;padding:8px 14px;position:fixed;transform:translate(-50%);z-index:75}.online-game,.online-game-room{height:100%;position:relative}.online-reconnecting{align-items:center;background:var(--scrim);display:flex;flex-direction:column;font-family:var(--font-display);font-size:1.4rem;gap:12px;inset:0;justify-content:center;position:fixed;z-index:80}.online-match-bar{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:10px;left:50%;padding:4px 10px;position:fixed;top:8px;transform:translate(-50%);z-index:40}.online-match-bar ul{display:flex;gap:10px;list-style:none;margin:0;padding:0}.online-confirm{min-width:240px;position:absolute;right:0;top:calc(100% + 6px);z-index:41}.online-game-room--pregame{overflow:auto;padding:56px 16px 16px}.online-pregame{margin:0 auto;max-width:760px}.online-plain-list{display:grid;gap:4px;list-style:none;margin:0;padding:0}.online-game-end{display:grid;gap:10px;left:50%;max-width:calc(100vw - 32px);min-width:280px;position:fixed;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:70}.online-score{font-family:var(--font-display);font-size:1.2rem;margin:0}.card-stat-controls--readonly{pointer-events:none}
