.page.play{max-width:none}main:has(>.page.play){padding:0 10px 10px}.game{--perm-w:clamp(44px, min(10.5vh, 10vw), 96px);--land-w:calc(var(--perm-w) * .7);--hand-w:clamp(56px, min(14vh, 15vw), 108px);grid-template:"board side"minmax(0,1fr)/minmax(0,1fr) 320px;gap:10px;height:calc(100dvh - 64px);min-height:340px;margin-top:8px;display:grid}.board{background:radial-gradient(#ffffff09 1px, transparent 1px) 0 0 / 6px 6px, var(--felt);-webkit-user-select:none;user-select:none;border:1px solid #232a36;border-radius:18px;grid-area:board;grid-template-rows:auto minmax(0,1fr) auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:6px;padding:10px;display:grid;position:relative;overflow:hidden}.board img{-webkit-touch-callout:none}.fields{gap:8px;min-height:0;display:flex}.fields>.battlefield{flex:1 1 0;min-width:0}.fields.multi>.battlefield+.battlefield{border-left:1px dashed var(--border)}.field-name{text-transform:uppercase;letter-spacing:.12em;align-self:center;font-weight:600}.fields.theirs .field-name{order:99}.game:has(.fields.multi){--perm-w:clamp(40px, min(8.5vh, 5.6vw), 82px);--hand-w:clamp(52px, min(12vh, 13vw), 100px)}.player-bar.theirs .seat{flex:1 1 0;align-items:flex-start;gap:6px;min-width:0;display:flex}.player-bar.theirs .opp-hand{margin:0 auto}.player-bar.theirs .seat+.seat{margin-left:18px}.hud.ally{opacity:.9;width:auto;min-width:110px;padding:4px 8px}.hud.ally .life{font-size:1.2rem}.ally-seat{flex-direction:column;flex:0 auto;align-items:flex-start;gap:4px;min-width:0;display:flex}.ally-hand{max-width:260px;padding-left:14px;display:flex}.ally-card{cursor:zoom-in;flex:0 44px;min-width:12px;margin-left:-14px;transition:transform .15s}.ally-card:last-child{flex-shrink:0}.ally-card img{border-radius:3px;width:44px;max-width:none;display:block;box-shadow:0 2px 5px #00000080}@media (hover:hover){.ally-card:hover{z-index:2;transform:translateY(-6px)}}.battlefield{flex-direction:column;gap:8px;min-height:0;padding:6px 8px;display:flex;overflow:auto}.battlefield.theirs{justify-content:flex-end}.battlefield.mine{justify-content:flex-start}.perm-row{background:#0000001f;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:4px 6px;display:flex}.perm-row.lands{background:#00000012}.perm-row.creatures{min-height:calc(var(--perm-w) * 1.4 + 4px)}.perm-row.lands{min-height:calc(var(--land-w) * 1.1);gap:6px}.perm{--lift:0px;--rot:0deg;transform:translateY(var(--lift)) rotate(var(--rot));border-radius:6px;transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .2s,margin .3s;animation:.45s cubic-bezier(.2,.9,.3,1.25) perm-enter;position:relative}.perm img{width:var(--perm-w);border-radius:6px;transition:box-shadow .2s,transform .15s;display:block;box-shadow:0 4px 12px #0009}.lands .perm img{width:var(--land-w)}.perm:hover{z-index:4}@media (hover:hover){.perm:hover img{transform:scale(1.05)}}.perm.tapped{--rot:90deg;margin:0 calc(var(--land-w) * .2)}.creatures .perm.tapped{margin:0 calc(var(--perm-w) * .2)}.perm.tapped img{filter:brightness(.72)saturate(.85)}.perm.attacking.mine{--lift:-20px}.perm.attacking.theirs{--lift:20px}.perm.attacking img{box-shadow:0 0 0 3px #f0c46a,0 0 22px #f0c46a99}.perm.blocking.mine{--lift:-10px}.perm.blocking.theirs{--lift:10px}.perm.blocking img,.perm.selected img{box-shadow:0 0 0 3px var(--target), 0 0 18px #6fb2ff99}.perm.selected{--lift:-12px}.perm.actionable{cursor:pointer}.perm.actionable:not(.attacking):not(.blocking):not(.selected) img{box-shadow:0 0 0 2px var(--ok), 0 0 12px #6fcb8666}.perm.targetable{cursor:crosshair}.perm.targetable img{animation:.9s ease-in-out infinite alternate target-pulse}.perm.picked img{box-shadow:0 0 0 3px var(--accent), 0 0 20px var(--accent)}.perm.dimmed{filter:brightness(.5)saturate(.6)}.perm.leaving{pointer-events:none;animation:.65s ease-in forwards perm-leave}.perm-host{padding-top:calc(var(--n) * var(--perm-w) * .22);position:relative}.perm-host>.attached{left:0;top:calc(var(--i) * var(--perm-w) * .22);z-index:0;position:absolute}.perm-host>.attached .perm{animation:none}.perm-host>.perm{z-index:1}.lands .perm-host{padding-top:calc(var(--n) * var(--land-w) * .3)}.lands .perm-host>.attached{top:calc(var(--i) * var(--land-w) * .3)}.lands .perm-host>.attached .perm img{width:var(--land-w)}.perm .pt{color:#1d1a14;background:#efe7d3;border-radius:5px;padding:1px 6px;font-size:.8rem;font-weight:800;position:absolute;bottom:3px;right:3px;box-shadow:0 1px 3px #00000080}.perm .pt.hurt{color:#7a1f14;background:#f2c2b8}.perm .loyalty{text-align:center;color:#fff;background:#1c1c22;border:1px solid #c9c9d6;border-radius:4px 4px 10px 10px;min-width:22px;padding:0 5px;font-size:.8rem;font-weight:800;position:absolute;bottom:3px;right:3px}.perm .pt.pumped{color:#17451f;background:#cfe8c9}.perm .sick{filter:drop-shadow(0 0 2px #000);font-size:.75rem;position:absolute;top:3px;left:3px}.perm .counters,.perm .granted{color:#fff;white-space:nowrap;background:#000c;border-radius:4px;padding:0 4px;font-size:.66rem;position:absolute;left:3px}.perm .counters{color:#9be38f;bottom:3px}.perm .granted{color:#ffd27a;text-overflow:ellipsis;max-width:80px;top:22px;overflow:hidden}.perm .granted.chosen{color:var(--text);top:auto;bottom:22px}.zones .emblem{color:var(--accent);cursor:help}.float{z-index:20;margin-top:calc(var(--n,0) * 24px);white-space:nowrap;pointer-events:none;text-shadow:0 2px 4px #000,0 0 3px #000;font-size:1.5rem;font-weight:900;animation:1.2s ease-out forwards float-up;position:absolute;top:30%;left:50%}.float-damage{color:#ff5b52}.float-heal{color:#6be38a}.float-buff{color:#9be38f;font-size:1.2rem}.float-debuff{color:#ff9a52;font-size:1.2rem}.player-bar{align-items:center;gap:14px;min-height:0;display:flex}.player-bar.mine{align-items:flex-end}.hud{background:var(--panel);border:1px solid var(--border);border-radius:14px;flex:none;width:clamp(120px,22vw,210px);padding:8px 14px;transition:border-color .3s,box-shadow .3s;position:relative;box-shadow:0 6px 18px #00000059}.hud.active{border-color:var(--accent)}.hud.acting{box-shadow:0 0 0 4px #d9a94e24,0 6px 18px #00000059}.hud.targetable{cursor:crosshair;animation:.9s ease-in-out infinite alternate target-pulse-outline}.hud.picked{outline:3px solid var(--accent)}.hud-name{align-items:center;gap:8px;display:flex}.turn-dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 8px var(--accent);border-radius:50%}.hud-name strong{font-weight:600}.zone-count,.hud .zones .poison{align-items:center;gap:4px;display:inline-flex}.hud .life{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:700;line-height:1.1;animation:.5s ease-out life-pulse;position:relative}.hud .pool{flex-wrap:wrap;gap:3px;margin:2px 0;display:flex}.mana-dot{border-radius:50%;place-items:center;width:20px;height:20px;font-size:.66rem;font-weight:700;animation:.2s ease-out pop;display:inline-grid;box-shadow:inset 0 -1px #00000059,0 1px 2px #0006}.mana-C{background:#c8c8c8}.mana-any{background:conic-gradient(#f1e7c8,#3f86cf,#3b3338,#d65a3e,#3e9160,#f1e7c8)}.hud .zones{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.hud .zones>*{white-space:nowrap}.hud .poison{color:#9be38f;font-weight:700}.zone-chip{color:var(--text);border:1px solid var(--border);box-shadow:none;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:.78rem;font-weight:500;display:inline-flex}.opp-hand{align-items:flex-start;padding:0 0 0 18px;display:flex}.card-back{width:36px;height:50px;transform:rotate(calc(var(--i) * -3deg)) translateY(calc(var(--i) * var(--i) * .6px));background:repeating-linear-gradient(45deg,#d9a94e2e 0 3px,#0000 3px 9px),#2a2230;border:2px solid #5b4a36;border-radius:5px;margin-left:-14px;animation:.35s ease-out back-in;box-shadow:0 3px 8px #00000080}.my-hand{min-width:0;min-height:calc(var(--hand-w) * 1.4 + 10px);flex:1;justify-content:center;align-items:flex-end;padding-top:10px;display:flex}.hand-card{--i:0;--lift:0px;flex:0 1 var(--hand-w);min-width:14px;transform:translateY(calc(var(--lift) + var(--i) * var(--i) * .7px)) rotate(calc(var(--i) * 1.3deg));transform-origin:50% 120%;filter:brightness(.8);cursor:pointer;transition:transform .2s ease-out,filter .2s;animation:.4s ease-out draw-in;position:relative}.hand-card:last-child{flex-shrink:0}.command-zone{flex:none;align-items:flex-end;gap:6px;padding-top:10px;display:flex}.command-zone .hand-card{flex:0 0 var(--hand-w);margin:0}.hand-card .crown,.perm .crown{filter:drop-shadow(0 0 2px #000);font-size:1rem;position:absolute;top:-8px;left:50%;translate:-50%}.perm .crown{z-index:2;font-size:.85rem;top:-6px}.hand-card .tax{color:#fff;background:#b5544f;border-radius:10px;padding:0 6px;font-size:.8rem;font-weight:800;position:absolute;top:4px;right:4px;box-shadow:0 1px 4px #000}.hand-card img{width:var(--hand-w);border-radius:6px;max-width:none;display:block;box-shadow:0 4px 10px #0009}.hand-card.playable{filter:none}.hand-card.playable img{box-shadow:0 0 0 2px var(--ok), 0 0 12px #5cb85c80}.hand-card.selected{--lift:-18px;z-index:6;filter:none}@media (hover:hover){.hand-card:hover{--lift:-22px;z-index:6;filter:none;transform:translateY(var(--lift)) rotate(0deg) scale(1.08)}}.hand-card .engine-badge{pointer-events:none;position:absolute;top:22%;left:4px;box-shadow:0 1px 4px #000}.hand-card.selected img{box-shadow:0 0 0 3px var(--accent), 0 0 18px var(--accent)}.center-bar{z-index:10;border:1px solid var(--border);background:#0c0f14eb;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:8px 10px 8px 8px;transition:border-color .3s,box-shadow .3s;display:grid;position:relative;box-shadow:0 10px 30px #0006}.center-bar.your-move{border-color:var(--accent);box-shadow:0 0 0 4px #d9a94e1a,0 10px 30px #0006}.center-bar.waiting .prompt strong{animation:1.6s ease-in-out infinite breathe}.phases{background:var(--panel);border:1px solid var(--line-soft);border-radius:999px;gap:2px;margin:0;padding:4px;list-style:none;display:flex}.phases li{color:var(--faint);border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:600;transition:background .3s,color .3s}.phases li.current.mine{background:var(--accent);color:var(--accent-text)}.phases li.current.theirs{color:#fbe3df;background:#8e3f39}.prompt{flex-direction:column;gap:2px;min-width:0;display:flex}.prompt strong{font-size:1.02rem;font-weight:600}.actions{align-items:center;gap:8px;display:flex}.actions button{min-height:42px}.actions button.primary{padding:0 20px;font-size:1rem;font-weight:700}.actions .ability-option{text-overflow:ellipsis;white-space:nowrap;background:var(--panel-2);max-width:260px;color:var(--text);border:1px solid var(--accent);font-size:.82rem;font-weight:500;overflow:hidden}.actions .ability-option.mode{white-space:normal;text-align:left;border-color:var(--border);max-width:320px}.actions .ability-option.mode.on{border-color:var(--accent);background:#d9a94e40}.zone-chip.castable,.zone-cards img.castable{box-shadow:0 0 0 2px var(--ok), 0 0 10px #5cb85c80;cursor:pointer}.key-hint{font-family:var(--font-mono);color:var(--muted);border:1px solid #3a4152;border-bottom-width:2px;border-radius:6px;padding:1px 8px;font-size:.72rem}.board-error{z-index:30;white-space:nowrap;border:1px solid var(--danger);color:#ffb3ad;background:#3a1d1d;border-radius:8px;margin-top:6px;padding:6px 14px;animation:.25s ease-out pop;position:absolute;top:100%;left:50%;translate:-50%}.stack-zone{z-index:15;background:#10141bf0;border:1px solid #2b4566;border-radius:14px;align-items:flex-end;gap:8px;margin-bottom:10px;padding:10px 12px;animation:.2s ease-out pop;display:flex;position:absolute;bottom:100%;right:0;box-shadow:0 8px 30px #0009}.stack-zone>.small{writing-mode:vertical-rl;align-self:center;transform:rotate(180deg)}.stack-card{flex-direction:column;align-items:center;gap:2px;animation:.35s ease-out stack-in;display:flex}.stack-card img{width:calc(var(--perm-w) * .85);opacity:.85;border-radius:6px}.stack-card.top img{width:calc(var(--perm-w) * 1.2);opacity:1;box-shadow:0 0 0 2px var(--target), 0 0 22px #6fb2ff73}.stack-card.theirs .small{color:#ff9a8f}.stack-card.ability img{outline:2px dashed var(--accent);outline-offset:2px}.stack-card.targetable{cursor:crosshair}.stack-card.targetable img{animation:.9s ease-in-out infinite alternate target-pulse}.toasts{z-index:12;pointer-events:none;flex-direction:column;align-items:flex-start;gap:4px;max-width:38%;margin-bottom:10px;display:flex;position:absolute;bottom:100%;left:0}.toast{border:1px solid var(--border);background:#0c0f14eb;border-radius:999px;padding:6px 14px;font-size:.88rem;animation:3.2s ease-out forwards toast;box-shadow:0 4px 14px #00000080}.turn-banner{z-index:40;pointer-events:none;font-family:var(--font-display);white-space:nowrap;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid var(--accent);color:var(--accent);background:#0c0f14d9;border-radius:14px;padding:10px 36px;font-size:clamp(1.2rem,4vw,2rem);font-weight:700;animation:1.4s ease-out forwards banner;position:absolute;top:24%;left:50%;box-shadow:0 0 0 4px #d9a94e1f}.turn-banner.theirs{color:#f2b4ae;border-color:#a9534c;box-shadow:0 0 0 4px #a9534c24}.choice-dock{z-index:25;width:max-content;max-width:100%;margin-top:10px;animation:.25s ease-out pop;position:absolute;top:100%;left:50%;translate:-50%}.choice-panel{border:1px solid var(--accent);background:#10141bfa;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex;box-shadow:0 16px 40px #000000b3}.choice-panel>.small{flex-basis:100%}.choice-cards{flex-wrap:wrap;flex-basis:100%;gap:8px;display:flex}.choice-card{width:clamp(64px, var(--perm-w), 96px);cursor:pointer;border-radius:6px;transition:transform .15s}.choice-card:hover{transform:translateY(-4px)}.choice-card.selected{box-shadow:0 0 0 3px var(--accent);transform:translateY(-8px)}.choice-arrange{flex-direction:column;align-items:center;gap:4px;display:flex}.choice-arrange .row{align-items:center;gap:4px;margin:0;display:flex}.choice-dock.modal{z-index:60;background:#05060999;place-items:center;width:auto;max-width:none;max-height:none;margin:0;padding:16px;display:grid;position:fixed;inset:0;overflow:visible;translate:none}.arrange-panel{border-radius:14px;gap:14px;width:min(860px,100%);max-height:calc(100dvh - 32px);padding:18px 20px;overflow:auto}.arrange-title{flex-basis:100%;margin:0;font-size:1.4rem}.arrange-hint{flex-basis:100%;margin:0}.arrange-columns{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));flex-basis:100%;gap:12px;display:grid}.arrange-column{border:1px dashed var(--border);background:#00000040;border-radius:12px;flex-direction:column;gap:10px;min-height:180px;padding:12px;transition:border-color .15s,background .15s;display:flex}.arrange-column.drop-target{border-color:var(--accent);background:#d9a94e14}.arrange-cards{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.arrange-card{cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0;transition:transform .15s}.arrange-card:hover{transform:translateY(-4px)}.arrange-card img{border-radius:7px;width:clamp(96px,14vw,140px);display:block;box-shadow:0 4px 12px #0009}.arrange-order{text-align:center;min-width:22px;color:var(--accent);font-weight:800}.comes-back{color:#8fd19e}.arrange-actions{flex-basis:100%;margin:0}@media (width<=640px){.arrange-columns{grid-template-columns:1fr}.arrange-card img{width:92px}}.grave-pick{flex-direction:column;align-items:center;gap:2px;margin:0;display:flex}.choice-mode{border:1px solid var(--line-soft);background:var(--panel);cursor:pointer;border-radius:12px;flex-basis:100%;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.choice-mode:has(input:checked){border-color:var(--accent);background:#221d13}.sheet-title{display:none}.choice-mode.disabled{opacity:.55}.zone-view{z-index:50;background:#0000008c;place-items:center;animation:.15s pop;display:grid;position:absolute;inset:0}.zone-view-panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;width:min(720px,92%);max-height:70%;padding:14px 16px;overflow:auto;box-shadow:0 16px 40px #0009}.zone-cards{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.zone-cards img{width:clamp(64px, var(--perm-w), 100px);border-radius:6px}.card-zoom{z-index:100;background:#000000b3;place-items:center;padding:16px;animation:.15s ease-out pop;display:grid;position:fixed;inset:0}.card-zoom img{object-fit:contain;border-radius:4.75%/3.5%;width:min(360px,90vw);max-height:90dvh;box-shadow:0 10px 40px #000}.board-lines{z-index:11;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.line{fill:none;stroke-width:3.5px;stroke-linecap:round;filter:drop-shadow(0 0 3px #000000e6)}.line-block{stroke:var(--target)}.line-attack{stroke:#f0c46a;stroke-dasharray:7 5;animation:.7s linear infinite dash}.line-target{stroke:var(--target);stroke-dasharray:2 10;stroke-width:4px;animation:.7s linear infinite dash}.line-pending{stroke:#b8c0cc;stroke-dasharray:6 6;animation:.7s linear infinite dash}.arrow-block{fill:var(--target)}.arrow-attack{fill:#f0c46a}.arrow-target{fill:var(--target)}.arrow-pending{fill:#b8c0cc}.game-side{background:var(--panel);border:1px solid var(--line-soft);border-radius:18px;flex-direction:column;grid-area:side;gap:10px;min-height:0;padding:10px;display:flex;overflow:hidden}.game-log{flex-direction:column;flex:auto;min-height:0;display:flex}.game-side .side-tabs{background:0 0;border:none;padding:0}.side-tabs{background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;gap:4px;padding:4px;display:flex}.side-tabs button{min-height:36px;color:var(--muted);box-shadow:none;background:0 0;border:none;border-radius:8px;flex:1;padding:0 8px;font-size:.88rem;font-weight:600}.side-tabs button.on{background:var(--panel-2);color:var(--text);font-weight:700}.side-card{flex-direction:column;gap:10px;min-height:0;display:flex;overflow:auto}.game-side .card-preview{flex:none;align-self:center;width:auto;max-width:100%;max-height:42dvh}.engine-status{font-size:.8rem}.side-play{flex-direction:column;gap:6px;display:flex}.side-play .ability-option{text-align:left;background:var(--panel-2);color:var(--text);border:1px solid var(--accent);padding:9px 12px;font-weight:600}.game-side h4{margin:4px 0 0}.game-log .log{flex:auto;min-height:0;max-height:none;margin:0;padding-left:30px;overflow:auto}.hover-preview{z-index:120;pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;animation:.12s ease-out pop;display:flex;position:fixed}.hover-preview img{border-radius:4.75%/3.5%;width:100%;box-shadow:0 18px 44px #000000bf}.hover-gaps{border:1px solid var(--border);color:var(--muted);background:#0c0f14f2;border-radius:10px;margin:0;padding:8px 12px 8px 26px}.hover-gaps li{margin:2px 0}.engine-pill{color:#9fd3ae;background:#15241b;border:1px solid #2f5a3e;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:500}.engine-pill.partial{color:#f0c46a;background:#241e12;border-color:#5a4a26}.engine-pill.none,.engine-pill.refused{color:#f2b4ae;background:#2a1615;border-color:#6b2e2e}@media (hover:none),(width<=1000px){.hover-preview{display:none}}.open-mana{flex-wrap:wrap;align-items:center;gap:3px;margin:2px 0 4px;display:flex}.open-mana .mana-dot{width:16px;height:16px;font-size:.58rem;animation:none}.open-mana .small{margin-left:4px;font-size:.72rem}.game-log .log{font-size:.9rem;line-height:1.45}.game-log .log li.log-turn{color:var(--accent);margin-top:10px;font-weight:600}.game-log .log li{border-radius:6px;padding:2px 6px}.game-log .log li.fresh{color:var(--text);animation:2.5s ease-out fresh}.game-options .full-control{cursor:pointer;align-items:center;gap:6px;display:flex}.game-options p{margin:4px 0 8px}@keyframes perm-enter{0%{opacity:0;transform:translateY(calc(var(--lift) - 30px)) rotate(var(--rot)) scale(.6)}}@keyframes perm-leave{0%{opacity:1}35%{opacity:1;filter:brightness(1.8)sepia()hue-rotate(-30deg)saturate(5)}to{opacity:0;filter:grayscale();transform:translateY(calc(var(--lift) + 24px)) rotate(var(--rot)) scale(.55)}}@keyframes float-up{0%{opacity:0;transform:translate(-50%,12px)scale(.6)}15%{opacity:1;transform:translate(-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-44px)scale(1)}}@keyframes life-pulse{0%{color:#fff;transform:scale(1.35)}}@keyframes target-pulse{0%{box-shadow:0 0 0 2px var(--target)}to{box-shadow:0 0 0 4px var(--target), 0 0 18px var(--target)}}@keyframes target-pulse-outline{0%{outline:2px dashed var(--target)}to{outline:4px dashed var(--target)}}@keyframes draw-in{0%{opacity:0;transform:translateY(80px)rotate(10deg)}}@keyframes back-in{0%{opacity:0;transform:translateY(-30px)}}@keyframes stack-in{0%{opacity:0;transform:translateY(-24px)scale(1.25)}}@keyframes pop{0%{opacity:0;transform:scale(.96)}}@keyframes toast{0%{opacity:0;transform:translateY(10px)}8%{opacity:1;transform:none}80%{opacity:1}to{opacity:0}}@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}15%{opacity:1;transform:translate(-50%,-50%)scale(1)}75%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.06)}}@keyframes breathe{50%{opacity:.55}}@keyframes dash{to{stroke-dashoffset:-24px}}@keyframes fresh{0%{background:#d9a94e3d}}@media (prefers-reduced-motion:reduce){.game *,.game :before,.game :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (hover:none){.key-hint{display:none}}@media (width<=1000px){.game{grid-template:"board""side"/1fr;height:auto}.board{height:calc(100dvh - 64px);min-height:340px}.game-side .card-preview{display:none}.game-log .log{max-height:260px}}@media (height<=860px){.game{--hand-w:clamp(52px, min(11.5vh, 14vw), 96px);--perm-w:clamp(40px, min(9.5vh, 9vw), 86px)}.my-hand{min-height:calc(var(--hand-w) * 1.4 + 6px);padding-top:6px}}@media (width<=640px){.game{--perm-w:clamp(44px, min(9vh, 14vw), 72px);--hand-w:clamp(56px, 19vw, 84px)}.player-bar.mine{flex-wrap:wrap}.player-bar.mine .my-hand{min-height:calc(var(--hand-w) * 1.4 + 4px);flex-basis:100%;padding-top:4px}.ally-seat{flex:1 1 0;align-items:stretch}.ally-hand{min-width:0;max-width:none;padding-left:12px}.ally-card{flex-basis:30px;margin-left:-12px}.ally-card img{width:30px}}@media (width<=640px),(height<=560px){.game{gap:8px;margin-top:4px}.board{border-radius:10px;gap:4px;height:calc(100dvh - 56px);padding:4px}.battlefield{gap:4px;padding:2px 4px}.perm-row{gap:6px}.perm .pt{padding:0 3px;font-size:.7rem}.perm .granted{font-size:.6rem;top:16px}.player-bar{gap:8px}.hud{border-radius:10px;width:auto;min-width:104px;padding:3px 8px}.hud .life{font-size:1.25rem}.hud .zones{gap:4px;font-size:.72rem}.zone-chip{padding:0 4px;font-size:.72rem}.opp-hand{padding-left:10px}.card-back{width:26px;height:36px;margin-left:-12px}.center-bar{flex-wrap:wrap;gap:6px 10px;padding:6px 8px;display:flex}.phases{display:none}.prompt{flex:180px}.prompt strong{font-size:.9rem}.actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;gap:6px;margin-left:auto}.actions button.primary{padding:7px 14px;font-size:.95rem}.board-error{white-space:normal;width:max-content;max-width:92vw}.toasts{max-width:90%}.toast{opacity:.92;padding:3px 10px;font-size:.78rem}.toast:not(:last-child){display:none}.stack-zone{gap:6px;padding:6px}.stack-zone>.small{display:none}.choice-dock{max-width:calc(100vw - 16px);max-height:60dvh;margin:0;position:fixed;top:auto;bottom:8px;left:50%;overflow:auto}}@media (width<=640px){:root{--topnav-h:57px}body:has(.game) .tabbar{display:none}body:has(.game) footer{display:none}body:has(.game) main{padding-bottom:0}.board{height:calc(100dvh - var(--topnav-h) - 8px);grid-template-rows:auto minmax(0,1fr) minmax(0,1fr) auto auto}.board>.center-bar{order:2}.fields.mine{border-top:1px solid #2a3240;margin:0 16px;padding-top:4px}.board>.player-bar.mine{order:3}.center-bar{border-radius:14px}.player-bar.mine{flex-wrap:nowrap;align-items:flex-end}.player-bar.mine .my-hand{min-width:0;min-height:calc(var(--hand-w) * 1.4 + 4px);flex:auto;justify-content:flex-start;padding-left:18px}.player-bar.mine:has(.ally-seat){flex-wrap:wrap}.player-bar.mine:has(.ally-seat) .my-hand{flex-basis:100%;justify-content:center;padding-left:0}.player-bar.mine .hud{width:auto;min-width:0}.hand-card{transform:translateY(var(--lift));margin-left:-14px}.toasts{left:0;right:0}.choice-dock,.choice-dock.modal{z-index:70;width:auto;max-width:none;max-height:78dvh;padding:10px 14px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--accent);background:#10141b;border-radius:22px 22px 0 0;margin:0;animation:.25s ease-out sheet-up;display:block;position:fixed;inset:auto 0 0;overflow:auto;translate:none;box-shadow:0 -16px 40px #0009}.choice-dock:before{content:"";background:#3a4152;border-radius:2px;width:40px;height:4px;margin:0 auto 10px;display:block}.choice-dock .sheet-title{font-family:var(--font-display);margin:0 0 12px;font-size:1.2rem;font-weight:600;line-height:1.25;display:block}.choice-dock.modal .sheet-title{display:none}.choice-dock .choice-panel{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.choice-dock .choice-panel>button{flex:140px;min-height:48px}.choice-dock .arrange-panel{width:100%;max-height:none}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40%)}}@media (height<=560px){.battlefield{flex-flow:wrap;justify-content:center;align-items:center}.battlefield.theirs,.battlefield.mine{justify-content:center}.perm-row.creatures,.perm-row.lands{min-height:0}.turn-banner{padding:4px 18px}}.x-value{text-align:center;min-width:56px}:root{--bg:#0e1116;--felt:#131a22;--panel:#161b24;--panel-2:#1e2430;--border:#2e3544;--line-soft:#262c38;--text:#ece6d8;--muted:#a9a293;--faint:#8e8778;--accent:#d9a94e;--accent-text:#1b1407;--danger:#e07a6e;--ok:#6fcb86;--focus:#6fb2ff;--target:#6fb2ff;--font-display:"Spectral", Georgia, "Times New Roman", serif;--font-ui:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-ui);line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:#f3cf85}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.005em;font-weight:700}h1,h3,h4{margin:.6em 0 .4em}h1{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.1}h3{font-weight:600}h4{color:var(--faint);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600}.muted{color:var(--muted)}.small{font-size:.82rem}.error{color:var(--danger)}.row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.row.center{justify-content:center}.spacer{flex:1}.plain-list{padding:0;list-style:none}.plain-list li{padding:4px 0}input,select,textarea{background:var(--panel);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:10px;padding:8px 12px}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:18px;height:18px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}textarea{width:100%;font-family:var(--font-mono);font-size:.85rem}button,.button{background:var(--accent);color:var(--accent-text);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:8px 16px;font-weight:600;transition:filter .15s,border-color .15s,background .15s;display:inline-block;box-shadow:inset 0 1px #ffffff40,0 4px 14px #d9a94e29}button:hover,.button:hover{filter:brightness(1.08);color:var(--accent-text);text-decoration:none}button:disabled{opacity:.4;cursor:default}button.secondary,.button.secondary{background:var(--panel-2);color:var(--text);border-color:var(--border);box-shadow:none}button.secondary:hover,.button.secondary:hover{color:var(--text);filter:none;background:#232a37;border-color:#3a4254}button.danger{color:#f2b4ae;box-shadow:none;background:#3a1d1f;border-color:#6b2e2e}button.icon{background:var(--panel-2);color:var(--text);border-color:var(--border);box-shadow:none;padding:2px 8px;font-size:.8rem}.topnav{background:#0c0f14;border-bottom:1px solid #1f2530;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 20px;display:flex}.topnav a{min-height:40px;color:var(--muted);border-radius:10px;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.topnav a:hover{color:var(--text);background:var(--panel);text-decoration:none}.topnav a.active:not(.brand){color:var(--text);background:var(--panel-2)}.topnav .brand{color:var(--text);font-family:var(--font-display);gap:10px;margin-right:14px;padding-left:0;font-size:1.25rem;font-weight:700}.topnav .brand:hover{background:0 0}.brand-mark{flex:none}main{padding:0 20px 40px}footer{color:var(--faint);border-top:1px solid #1f2530;padding:16px 20px}.page{max-width:1400px;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;margin:10px 0;padding:16px 18px}.stat-row{flex-wrap:wrap;gap:20px;margin:8px 0;display:flex}.editor-layout{grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:start;gap:20px;display:grid}.editor-layout .panel{border-radius:18px;margin:0;padding:20px}.side-column{position:sticky;top:10px}@media (width<=1000px){.editor-layout{grid-template-columns:1fr}.side-column{position:static}}.page.editor{flex-direction:column;gap:20px;padding-top:20px;display:flex}.editor-head{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;display:flex}.editor-title{flex-direction:column;flex:360px;gap:8px;min-width:0;display:flex}.editor-name{align-items:center;gap:14px;display:flex}.editor-name .pips{font-size:1rem}.editor-name .deck-name-input{field-sizing:content;flex:0 auto;min-width:6ch;max-width:100%}.editor-actions{flex-wrap:wrap;gap:10px;display:flex}.editor-actions .button,.editor-actions button{align-items:center;min-height:44px;display:inline-flex}.chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{background:var(--panel);border:1px solid var(--border);min-height:28px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.82rem;font-weight:500;display:inline-flex}.chip.ok{color:#9fd3ae;background:#15241b;border-color:#2f5a3e}.chip.info{color:#9dc8ff;background:#131d2b;border-color:#2b4566}.chip.warn{color:#f0c46a;background:#241e12;border-color:#5a4a26}.chip-select{border-radius:999px;min-height:28px;padding:0 10px;font-size:.82rem}.editor-deck{flex-direction:column;gap:14px;max-height:calc(100dvh - 24px);display:flex;position:sticky;top:12px;overflow:auto}.editor-deck h3{margin:6px 0 0;font-size:1.15rem}.editor-deck .type-group h4{justify-content:space-between;margin:10px 0 4px;display:flex}.stats-head{justify-content:space-between;align-items:baseline;display:flex}.stats-head h4{margin:0 0 8px}.qty-stepper{border:1px solid var(--border);border-radius:8px;flex:none;align-items:center;display:inline-flex;overflow:hidden}.qty-stepper button{background:var(--panel-2);width:28px;height:30px;color:var(--muted);box-shadow:none;border:none;border-radius:0;padding:0;font-size:1rem}.qty-stepper button:hover{filter:none;color:var(--text);background:#2a3140}.qty-stepper span{text-align:center;min-width:26px;font-size:.9rem;font-weight:700}@media (width<=1000px){.editor-deck{max-height:none;position:static}}.home{flex-direction:column;gap:28px;padding-top:20px;display:flex}.home h2{margin:0 0 12px;font-size:1.2rem}.home .panel{margin:0}.home-top{flex-wrap:wrap;gap:14px;display:flex}.home-hero{background:var(--felt) repeating-linear-gradient(135deg, #d9a94e0d 0 2px, transparent 2px 14px);border-color:var(--border);border-radius:20px;flex-direction:column;flex:2 420px;gap:12px;padding:32px 36px;display:flex}.home-hero h1{margin:0;font-size:clamp(2rem,4vw,3rem)}.home h2{font-family:var(--font-display);font-size:1.6rem;font-weight:600}.home-hero p{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.home-hero .button{border-radius:9px;padding:10px 18px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:600}.home-quick{flex-direction:column;flex:240px;gap:10px;display:flex}.quick-link{color:var(--text);border-radius:16px;flex-direction:column;flex:1;justify-content:center;gap:4px;padding:16px 20px;display:flex}.quick-link:hover{color:var(--text);border-color:#3a4254;text-decoration:none}.section-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.section-head h2{margin:0}.deck-tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.deck-tile{border-radius:16px;flex-direction:column;gap:12px;padding:18px;display:flex}.deck-tile .row{margin:0}.deck-tile .button{text-align:center}.tile-head{flex-wrap:nowrap;justify-content:space-between}.tile-name{color:var(--text);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem;font-weight:600;overflow:hidden}.deck-tile .ok{color:#9fd3ae}.deck-tile.new-deck{border:2px dashed var(--border);min-height:160px;color:var(--text);background:0 0;justify-content:center;align-items:center;gap:4px}.deck-tile.new-deck:hover{border-color:var(--accent);text-decoration:none}.new-deck .plus{color:var(--accent);font-size:2rem;line-height:1}.pips{gap:3px;display:inline-flex}.pip{color:#2b2822;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.66rem;font-weight:700;display:inline-grid;box-shadow:inset 0 -1px #00000059,0 1px 2px #0006}.mini-curve{align-items:flex-end;gap:4px;height:44px;display:flex}.mini-curve span{background:#2e3647;border-radius:3px 3px 0 0;flex:1}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.feature{background:var(--panel);border:1px solid var(--line-soft);color:var(--text);border-radius:16px;padding:18px 20px}.feature:hover{color:var(--text);border-color:#3a4254;text-decoration:none}.feature h3{margin:0 0 6px;font-size:1.2rem}.mana-cost{vertical-align:middle;gap:1px;margin-left:6px;display:inline-flex}.mana-symbol{width:15px;height:15px}.card-search{flex-direction:column;gap:12px;display:flex}.search-box{background:var(--bg);border:1px solid var(--border);min-height:48px;color:var(--faint);border-radius:12px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box:focus-within{border-color:var(--accent)}.search-box input{background:0 0;border:none;flex:1;min-width:0;padding:0;font-size:1rem}.search-box input:focus{outline:none}.search-filters{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.search-filters select{min-height:44px}.search-filters .check{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.color-filter{gap:6px;display:flex}.pip-toggle{background:var(--panel-2);border:1px solid var(--border);width:44px;height:44px;box-shadow:none;border-radius:10px;place-items:center;padding:0;display:inline-grid}.pip-toggle .pip{opacity:.55}.pip-toggle:hover{filter:none;border-color:#3a4254}.pip-toggle.on{border-color:var(--accent);background:#221d13}.pip-toggle.on .pip{opacity:1}.result-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px 16px;display:grid}.result-card{flex-direction:column;gap:8px;margin:0;display:flex}.result-card img{border-radius:4.75%/3.5%;width:100%;transition:transform .15s;box-shadow:0 6px 16px #0000008c}@media (hover:hover){.result-card img:hover{transform:translateY(-3px)}}.result-card figcaption{flex-direction:column;gap:6px;display:flex}.result-card .result-actions{gap:6px;display:flex}.result-card .result-actions button:first-child{flex:1;min-height:36px}.result-card .in-deck{color:var(--accent)}.result-list,.deck-list{margin:6px 0;padding:0;list-style:none}.result-list{max-height:65vh;overflow-y:auto}.result-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:6px 4px;display:flex}.result-list li:hover,.deck-list li:hover{background:var(--panel-2)}.result-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.card-name{font-weight:600}.legality{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0;padding:8px 12px;display:flex}.legality.ok{border-color:var(--ok);color:var(--ok)}.legality.bad{border-color:var(--danger)}.legality ul{color:#ffb3ad;margin:0;padding-left:18px}.deck-header{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px;display:flex}.deck-name-input{min-width:200px;font-family:var(--font-display);background:0 0;border-color:#0000;flex:1;margin-left:-6px;padding:2px 6px;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700}.deck-name-input:hover{border-color:var(--border)}.deck-list li{border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:2px 4px;display:flex}.deck-list .qty{text-align:right;width:22px;color:var(--muted)}.deck-list .card-name{flex:1}.entry-actions{opacity:.25;gap:2px;display:flex}.deck-list li:hover .entry-actions{opacity:1}.owned{border-radius:4px;padding:0 5px}.owned.ok{color:var(--ok)}.owned.missing{color:var(--danger)}.card-preview{border-radius:4.75%/3.5%;width:100%;display:block}.card-preview.placeholder{aspect-ratio:488/680;border:1px dashed var(--border);border-radius:12px;place-items:center;display:grid}.curve{align-items:flex-end;gap:4px;height:120px;display:flex}.curve-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;display:flex}.curve-bar{background:#c0623f;border-radius:4px 4px 0 0;width:100%;min-height:1px}.color-bar{border-radius:4px;height:22px;font-size:.72rem;font-weight:700;display:flex;overflow:hidden}.pip-seg{color:#2b2822;place-items:center;display:grid}.pip-W,.mana-W{color:#3a321f;background:#f1e7c8}.pip-U,.mana-U{color:#f2f7fc;background:#3f86cf}.pip-B,.mana-B{color:#e9e1e6;background:#3b3338}.pip-R,.mana-R{color:#fff3ee;background:#d65a3e}.pip-G,.mana-G{color:#effaf2;background:#3e9160}.pip-C,.mana-C,.mana-any{color:#2b2822;background:#bdb7aa}.type-list{grid-template-columns:1fr 1fr;gap:2px 10px;padding:0;list-style:none;display:grid}.inline-form{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.deck-tile{background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;gap:10px;padding:12px;display:flex}.deck-tile:hover{border-color:#3a4254}.deck-tile img,.deck-cover-empty{aspect-ratio:488/680;background:var(--panel-2);border-radius:4px;width:70px}.page.collection{flex-direction:column;gap:20px;padding-top:12px;display:flex}.collection-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.collection-head h1{margin:8px 0 4px}.collection-head p{margin:0 0 10px}.card-frame{position:relative}.count-badge{background:var(--accent);min-width:30px;height:30px;color:var(--accent-text);border-radius:999px;place-items:center;padding:0 8px;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 6px #00000080}.result-card.missing img{opacity:.5;filter:grayscale(.6)}.result-card.missing .count-badge{background:var(--panel-2);color:#f0c46a;border:1px solid #5a4a26}.result-card .ok,.deck-progress .ok{color:#9fd3ae}.result-card .warn,.deck-progress .warn{color:#f0c46a}.deck-progress{flex-direction:column;gap:12px;display:flex;position:sticky;top:12px}.deck-progress h4{margin:0}.progress-card{background:var(--panel-2);border:1px solid var(--line-soft);color:var(--text);border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.progress-card:hover{color:var(--text);border-color:#3a4254}.progress-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.progress-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.progress-bar{background:var(--line-soft);border-radius:3px;height:6px;overflow:hidden}.progress-bar span{height:100%;display:block}.progress-bar .ok{background:#5fae76}.progress-bar .warn{background:#d9a94e}@media (width<=1000px){.deck-progress{position:static}}.collection-table{border-collapse:collapse;width:100%;margin-top:8px}.collection-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:4px;font-size:.8rem}.collection-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:4px}.collection-table td button.icon{margin:0 4px}.goldfish-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.life-mini{align-items:center;gap:4px;display:inline-flex}.banner{background:var(--panel-2);border:1px solid var(--accent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:10px 14px;display:flex}.goldfish-layout{grid-template-columns:1fr 300px;gap:16px;display:grid}@media (width<=900px){.goldfish-layout{grid-template-columns:1fr}}.zone{background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;min-height:140px;padding:10px}.zone.battlefield{background:var(--felt);flex-direction:column;gap:10px;min-height:300px;display:flex}.zone-row{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.small-zone{min-height:60px}.small-zone .game-card img{width:60px}.game-card{transition:transform .15s;position:relative}.game-card img{cursor:pointer;border-radius:5px;width:110px;display:block}.game-card.tapped{margin:0 18px;transform:rotate(90deg)}.game-card-actions{justify-content:center;gap:2px;display:none;position:absolute;bottom:4px;left:0;right:0}.game-card:hover .game-card-actions{display:flex}.game-card-actions button{padding:1px 5px;font-size:.7rem}.log{max-height:220px;color:var(--muted);padding-left:18px;overflow:auto}.life-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:14px;display:grid}.life-card{background:var(--felt) repeating-linear-gradient(135deg, #ffffff08 0 2px, transparent 2px 12px);border:1px solid var(--border);text-align:center;border-radius:22px;padding:18px}.life-card.active{border-color:var(--accent)}.life-card.dead{opacity:.5}.player-name{text-align:center;background:0 0;border-color:#0000;width:100%;font-weight:600}.life-total{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:8px 0;font-size:5.5rem;font-weight:700;line-height:1.05}.life-step{border-radius:999px;min-width:58px;min-height:48px;font-size:1.05rem}.icon-svg{vertical-align:-2px;flex:none;display:inline-block}.page.setup{flex-direction:column;gap:28px;max-width:1120px;padding-top:12px;display:flex}.page.setup h1{margin:12px 0 0}.setup h4{margin:0 0 12px}.mode-tiles{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.mode-tile{text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--line-soft);box-shadow:none;border-radius:16px;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;font-weight:400;display:flex}.mode-tile svg{color:var(--accent)}.mode-tile:hover{filter:none;color:var(--text);border-color:#3a4254}.mode-tile.on{border-color:var(--accent);background:#1c1912;box-shadow:0 0 0 4px #d9a94e1a}.mode-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600}.mode-tile .small{line-height:1.45}.deck-pickers{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px 24px;display:grid}.deck-picker{flex-direction:column;display:flex}.deck-picker-card{background:var(--panel);border:1px solid var(--line-soft);min-height:72px;color:var(--muted);cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex;position:relative}.deck-picker-card:hover,.deck-picker-card:focus-within{border-color:#3a4254}.deck-picker-card:focus-within{outline:2px solid var(--focus);outline-offset:2px}.deck-picker-card select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.deck-band{border-radius:3px;flex:none;align-self:stretch;width:6px}.deck-picker-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.deck-picker-name{font-family:var(--font-display);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;font-weight:600;overflow:hidden}.deck-picker .ok{color:#9fd3ae}.setup-options{flex-wrap:wrap;align-items:flex-end;gap:20px 40px;display:flex}.segmented-field h4{margin-bottom:10px}.segmented{background:var(--panel);border:1px solid var(--line-soft);border-radius:12px;width:max-content;padding:4px;display:flex}.segmented button{min-height:40px;color:var(--muted);box-shadow:none;background:0 0;border:none;border-radius:8px;padding:0 16px}.segmented button:hover{filter:none;color:var(--text)}.segmented button.on{background:var(--panel-2);color:var(--text)}.start-button{border-radius:12px;min-height:52px;margin-left:auto;padding:0 30px;font-size:1.06rem}.engine-summary{background:var(--felt);flex-wrap:wrap;gap:16px 28px;margin:0;padding:20px 22px;display:flex}.engine-summary>div:first-child{flex:420px}.engine-summary p{margin:8px 0 0;line-height:1.6}.engine-links{flex-direction:column;flex:240px;justify-content:center;gap:10px;display:flex}@media (width<=640px){.start-button{width:100%;margin-left:0}.segmented{width:100%}.segmented button{flex:1}.segmented-field{flex:100%}}.setup-panel{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.setup-panel .check{cursor:pointer;align-items:center;gap:6px;display:flex}.import-panel{margin-bottom:16px}.import-panel code{background:var(--panel-2);border-radius:3px;padding:0 4px}.between-games{max-width:900px}.sb-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.sb-columns{grid-template-columns:1fr}}.sb-list{max-height:50vh;margin:4px 0;padding:0;list-style:none;overflow:auto}.sb-card{text-align:left;width:100%;color:var(--text);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:3px 6px;font-weight:500;display:flex}.sb-card:hover:not(:disabled){border-color:var(--accent)}.sb-card .qty{text-align:right;width:22px;color:var(--muted)}.sb-card .card-name{flex:1}.sb-card .arrow{color:var(--accent)}.between-games .ok{color:var(--ok);font-weight:700}.online-setup{flex-direction:column;gap:12px;max-width:720px;display:flex}.online-choices{grid-template-columns:1fr 1fr;gap:16px;display:grid}.online-choices>div{background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px;display:flex}.online-choices h3,.online-choices p{margin:0}.online-setup>label,.online-choices label{align-items:center;gap:8px;display:flex}@media (width<=640px){.online-choices{grid-template-columns:1fr}}.room-code-input{width:110px;font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;font-size:1.1rem}.lobby{max-width:520px}.teams-lobby{grid-template-columns:1fr 1fr;gap:12px;margin:10px 0;display:grid}.room-code{font-family:var(--font-mono);letter-spacing:.25em;color:var(--accent);font-size:2.2rem;font-weight:800}.play-notice .clock{font-weight:600}.play-notice{flex-direction:column;gap:4px;margin:8px 0;display:flex}.lang-select{padding:3px 6px;font-size:.85rem}.engine-badge{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:.62rem;font-weight:700}.engine-badge.partial{color:#f0c46a;background:#241e12;border-color:#5a4a26}.engine-badge.none,.engine-badge.refused{color:#f2b4ae;background:#2a1615;border-color:#6b2e2e}.engine-status.ok{color:#9fd3ae}.engine-status.partial{color:#f0c46a}.engine-status.none,.engine-status.refused{color:#f2a29e}.engine-bar{background:var(--panel-2);border-radius:999px;height:8px;display:flex;overflow:hidden}.engine-bar .ok{background:#5fae76}.engine-bar .partial{background:#d9a94e}.engine-bar .none{background:#c9605a}.engine-gaps{margin:4px 0 0;padding-left:18px}.engine-gaps li{margin:3px 0}.tabbar{display:none}@media (width<=640px){main{padding:0 10px 28px}footer{padding:12px 10px}:root{--tabbar-h:calc(58px + env(safe-area-inset-bottom))}.topnav{flex-wrap:nowrap;gap:14px;padding:8px 10px}.topnav a:not(.brand){display:none}.topnav .brand{margin-right:0}.tabbar{z-index:90;height:var(--tabbar-h);padding:4px 2px env(safe-area-inset-bottom);background:#0c0f14;border-top:1px solid #1f2530;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:44px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.66rem;font-weight:500;text-decoration:none;display:flex}.tabbar a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tabbar a.active{color:var(--accent);font-weight:700}main{padding-bottom:calc(var(--tabbar-h) + 16px)}footer{padding-bottom:calc(var(--tabbar-h) + 12px)}.collection-table{display:block;overflow-x:auto}.deck-name-input{flex-basis:100%;min-width:0;font-size:1.15rem}.game-card img{width:78px}.game-card.tapped{margin:0 12px}.life-total{font-size:3.5rem}.room-code{font-size:1.7rem}}@media (hover:none){.entry-actions{opacity:1}.game-card-actions{display:flex}.game-card-actions button{padding:3px 7px}.card-preview.placeholder{display:none}}@media (width<=1000px){.card-preview.placeholder{display:none}}
