:root{--void:#0e0c15;--panel:#171323;--panel2:#1e1930;--panel3:#2a2340;--ink:#eee7d7;--dim:#b5abc4;--faint:#766d88;--rule:#342d49;--good:#7ee0ab;--warn:#f1c76b;--bad:#ff7a7a;--fire:#ff7a45;--water:#55aed1;--earth:#c79a55;--shadow:#9c6fd6;--mind:#e573c0;--divine:#e5d28d;--celestial:#8fa6ff;--time:#59cfae;--relic:#b9b2a4;--any:#f1c76b;--card-w:172px;--card-h:244px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--void);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:radial-gradient(900px 450px at 85% -10%,rgba(143,166,255,.1),transparent 62%),radial-gradient(760px 400px at 5% 110%,rgba(255,122,69,.07),transparent 62%),var(--void)}button,input,select,textarea{font:inherit}button{cursor:pointer;background:var(--panel3);border:1px solid var(--rule);color:var(--ink);border-radius:10px;padding:8px 11px;transition:.12s ease;white-space:nowrap}button:hover{border-color:var(--dim);transform:translateY(-1px)}button.primary{background:linear-gradient(180deg,#443863,#2b2441);border-color:#8272bd}button.good{border-color:#7ee0ab8c;background:#173528}button.warn{border-color:#f1c76b8c;background:#352916}button.danger{border-color:#ff7a7a8c;background:#401d25}button.ghost{background:transparent}button.small{font-size:12px;padding:5px 8px;border-radius:8px}button.tiny{font-size:11px;padding:3px 6px;border-radius:7px}button:disabled{opacity:.45;cursor:not-allowed;transform:none}input,select,textarea{background:#100d19;color:var(--ink);border:1px solid var(--rule);border-radius:10px;padding:8px 10px;min-width:0}input[type=number]{width:82px}input[type=checkbox]{width:auto}textarea{width:100%;min-height:120px;resize:vertical;line-height:1.4}label{font-size:12px;color:var(--dim);display:block;margin-bottom:4px}.muted,small{color:var(--faint)}hr{border:none;border-top:1px solid var(--rule);margin:14px 0}.sr{position:absolute;left:-9999px}.app{max-width:1840px;margin:0 auto;padding:14px 16px 40px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;position:sticky;top:0;z-index:60;background:linear-gradient(180deg,#0e0c15fa,#0e0c15e0);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(52,45,73,.7);padding:10px 0 12px}.brand h1{font-size:22px;line-height:1;margin:0;font-variant:small-caps;letter-spacing:.05em}.brand p{margin:4px 0 0;color:var(--faint);font-size:12px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab.active{background:#352b50;border-color:#8272bd}.page{display:none}.page.active{display:block}.pill{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--rule);border-radius:999px;padding:4px 9px;font-size:12px;color:var(--dim);background:#ffffff06}.pill.good{color:var(--good);border-color:#7ee0ab73}.pill.warn{color:var(--warn);border-color:#f1c76b73}.pill.bad{color:var(--bad);border-color:#ff7a7a73}.dot{width:11px;height:11px;border-radius:50%;background:var(--relic);display:inline-block;box-shadow:0 0 0 1px #ffffff38 inset}.a-fire{background:var(--fire)}.a-water{background:var(--water)}.a-earth{background:var(--earth)}.a-shadow{background:var(--shadow)}.a-mind{background:var(--mind)}.a-divine{background:var(--divine)}.a-celestial{background:var(--celestial)}.a-time{background:var(--time)}.a-relic{background:var(--relic)}.a-any{background:var(--any)}.panel{background:#171323f0;border:1px solid var(--rule);border-radius:16px;overflow:hidden;box-shadow:0 14px 30px -26px #000}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--rule);background:#ffffff07}.panel-head h2,.panel-head h3{margin:0;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;font-size:13px}.panel-body{padding:12px}.row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.stack-col{display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:4px}.grow{flex:1}.notice{border:1px solid var(--rule);border-radius:14px;background:#171323c7;padding:11px 13px;color:var(--dim);margin:10px 0}.card{--ac:var(--relic);width:var(--card-w);min-width:var(--card-w);height:var(--card-h);display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--ac) 50%,var(--rule));border-radius:13px;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 12%,var(--panel)) 0%,var(--panel) 44%,var(--panel2) 100%);box-shadow:0 1px #ffffff0d inset,0 10px 24px -22px #000}.card.selected{outline:2px solid var(--good);outline-offset:2px}.card.exhausted,.source-tile.exhausted,.play-permanent.exhausted{opacity:.58;filter:saturate(.55)}.card .art{height:86px;flex:0 0 86px;background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 36%,#171323),#0e0c15);background-position:center;background-size:cover;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;color:color-mix(in srgb,var(--ac) 75%,#fff);font-size:12px;letter-spacing:.1em;font-variant:small-caps}.card .content{padding:8px 9px;display:flex;flex-direction:column;min-height:0;flex:1}.card .top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.card .name{font-weight:800;line-height:1.13;font-size:13.5px}.card .cost{color:#111;background:color-mix(in srgb,var(--ac) 82%,#fff);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:900;white-space:nowrap}.card .type{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card .speed{font-size:10px;color:var(--good);font-weight:800;margin-top:2px}.card .text{font-size:11px;color:var(--ink);line-height:1.28;margin-top:5px;overflow:auto;min-height:0;flex:1}.card .text p{margin:0 0 4px}.card .actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.card.compact{width:145px;min-width:145px;height:190px}.card.compact .art{height:56px;flex-basis:56px}.card.compact .text{display:none}.card.compact .name{font-size:12px}.card.back{height:150px;min-width:86px;width:86px;border-color:#4c4169;background:linear-gradient(135deg,#171323,#332a4d);display:flex;align-items:center;justify-content:center;color:var(--dim);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.card.back:after{content:"ARCANA";writing-mode:vertical-rl;letter-spacing:.16em}.setup-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:14px;align-items:start}.setup-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-items:end}.deck-source-grid{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:14px;align-items:start}.deck-manager-list{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 270px);overflow:auto;padding-right:4px}.deck-manager-row{border:1px solid var(--rule);border-radius:12px;background:#ffffff06;padding:9px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.deck-manager-row b{display:block;line-height:1.15}.deck-manager-row .meta{font-size:12px;color:var(--faint)}.precon-lock{color:var(--warn);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.builder-main-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:14px;align-items:start}.channel-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px}.channel-choice{display:flex;align-items:center;gap:9px;justify-content:flex-start;padding:12px;border-radius:12px}.channel-choice .dot{width:16px;height:16px}.modal-foot .primary{min-width:120px}.game-empty-notice.hidden{display:none}.deckbuilder-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);gap:14px;align-items:start}.builder-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:12px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-height:calc(100vh - 300px);overflow:auto;padding:2px 6px 2px 2px}.library-card{border:1px solid var(--rule);border-radius:13px;background:#100d19bf;padding:9px;display:flex;flex-direction:column;gap:8px}.library-card .lib-top{display:flex;justify-content:space-between;gap:8px}.library-card b{line-height:1.15}.library-snippet{font-size:12px;color:var(--faint);min-height:34px;line-height:1.3}.deck-list{display:flex;flex-direction:column;gap:7px;max-height:calc(100vh - 300px);overflow:auto;padding-right:4px}.deck-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--rule);border-radius:10px;background:#ffffff06;padding:7px}.deck-row .qty{font-size:20px;text-align:center;font-weight:800}.deck-row .name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-row .meta{font-size:12px;color:var(--faint)}.deck-actions{display:flex;gap:5px;flex-wrap:wrap}.valid-list{margin:8px 0 0;padding-left:18px;color:var(--dim)}.valid-list li.bad{color:var(--bad)}.valid-list li.good{color:var(--good)}.setup-bar,.priority-bar{margin-bottom:12px}.priority-bar .panel-body{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.priority-now{font-size:20px;font-weight:900}.battlefield{display:grid;grid-template-rows:auto auto auto;gap:14px}.player-strip{display:grid;grid-template-columns:300px minmax(220px,.95fr) minmax(250px,1fr) minmax(250px,1.08fr) minmax(240px,1.05fr);gap:12px;align-items:stretch}.player-strip.self{grid-template-columns:300px minmax(250px,1fr) minmax(270px,1.15fr) minmax(270px,1.15fr) minmax(250px,.95fr)}.player-strip .zone,.player-card-panel{min-width:0}.player-card-panel{border:1px solid var(--rule);border-radius:16px;background:#171323f0;padding:12px;display:flex;flex-direction:column;gap:10px}.player-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.player-title h2{font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:0}.character-name{font-size:20px;font-weight:900}.character-name small{font-size:15px;margin-left:5px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stat-box{border:1px solid var(--rule);border-radius:12px;background:#100d19;padding:8px}.stat-box label{margin:0 0 5px}.stat-box input{width:100%;font-size:18px;font-weight:800}.count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.count-box{border:1px solid var(--rule);border-radius:12px;background:#100d19;text-align:center;padding:8px}.count-box b{display:block;font-size:19px}.count-box span{font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.1em}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.status{border:1px solid var(--rule);border-radius:10px;background:#100d19;padding:6px}.status-row{display:flex;justify-content:space-between;align-items:center;gap:6px}.status b{font-size:12px}.status input[type=number]{width:54px;padding:4px 5px}.status input[type=checkbox]{transform:scale(1.05)}.lost{color:var(--bad);font-weight:900}.zone{border:1px solid var(--rule);border-radius:16px;background:#100d19c7;overflow:hidden;display:flex;flex-direction:column}.zone-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--rule);background:#ffffff07}.zone-head h3{margin:0;color:var(--dim);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.zone-body{padding:10px;min-height:132px;overflow:auto;display:flex;gap:9px;align-content:flex-start;align-items:flex-start;flex-wrap:wrap}.hand-zone .zone-body{min-height:255px;max-height:310px;flex-wrap:nowrap;overflow-x:auto}.self-hand{grid-column:1 / -1}.self-hand .zone-body{min-height:270px;max-height:350px}.play-zone .zone-body{min-height:198px;max-height:275px}.source-zone .zone-body{min-height:140px;max-height:230px}.pile-zone .zone-body,.deck-zone .zone-body{min-height:130px;max-height:230px}.opponent .hand-zone .zone-body{min-height:160px;max-height:190px}.opponent .card{--card-w:145px;--card-h:190px}.empty{color:var(--faint);font-size:18px;padding:18px 8px}.zone-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.primary-actions{align-items:center}.primary-actions button{font-weight:900;padding:8px 11px}.char-context-hint{font-size:11px;color:var(--faint);margin-top:-4px}.source-tile{--ac:var(--relic);width:76px;min-width:76px;height:108px;border:2px solid color-mix(in srgb,var(--ac) 72%,#171323);background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 32%,#1a1528),#100d19);border-radius:12px;padding:7px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;box-shadow:0 1px #ffffff14 inset;cursor:pointer;position:relative}.source-tile .arc{font-size:22px;font-weight:1000;color:color-mix(in srgb,var(--ac) 82%,#fff);line-height:1}.source-tile .sname{font-size:10px;line-height:1.1;color:var(--ink);word-break:break-word}.source-tile .state{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em}.source-tile .fleeting{position:absolute;top:5px;right:6px;color:var(--warn);font-size:13px}.source-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ac) 86%,#fff)}.play-permanent{width:150px;min-width:150px;border:1px solid var(--rule);border-radius:12px;background:#ffffff07;padding:8px}.play-permanent b{display:block;font-size:13px;line-height:1.15}.play-permanent small{font-size:11px}.pile-summary{display:flex;flex-direction:column;gap:8px;width:100%}.deck-card{width:120px;min-width:120px;height:158px;border:1px solid #4c4169;border-radius:13px;background:linear-gradient(135deg,#171323,#332a4d);display:flex;align-items:center;justify-content:center;color:var(--dim);font-weight:900;letter-spacing:.14em;text-transform:uppercase}.deck-card span{writing-mode:vertical-rl}.top-card-wrap{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.stack-panel{border:1px solid #50466e;border-radius:18px;background:#181426f5;padding:12px}.stack-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.stack-head h2{margin:0;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.stack-lane{display:flex;gap:10px;min-height:150px;align-items:stretch;overflow-x:auto;padding-bottom:4px}.stack-item{--ac:var(--relic);min-width:260px;max-width:320px;border:1px solid color-mix(in srgb,var(--ac) 50%,var(--rule));border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 12%,var(--panel)),var(--panel2));padding:10px;display:flex;flex-direction:column;gap:8px}.stack-item.top{outline:2px solid var(--warn);outline-offset:1px}.stack-item .stack-title{display:flex;justify-content:space-between;gap:8px}.stack-item b{line-height:1.15}.stack-item .stack-meta{font-size:12px;color:var(--dim)}.stack-item .ability-text{border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:7px;background:#0000001f;color:var(--ink);line-height:1.32}.stack-item input[type=number]{width:70px}.stack-actions{display:flex;gap:5px;flex-wrap:wrap}.log{max-height:135px;overflow:auto;font-size:12px;color:var(--dim);display:flex;flex-direction:column;gap:4px}.log-line{border-bottom:1px dotted rgba(255,255,255,.08);padding-bottom:3px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000009e;display:none;align-items:center;justify-content:center;z-index:100;padding:18px}.modal-backdrop.open{display:flex}.modal{width:min(1100px,96vw);max-height:92vh;overflow:hidden;border:1px solid var(--rule);border-radius:18px;background:#171323;box-shadow:0 18px 70px #000000a6;display:flex;flex-direction:column}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--rule);background:#ffffff08}.modal-head h2{margin:0;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.modal-body{padding:14px;overflow:auto}.modal-foot{padding:12px 14px;border-top:1px solid var(--rule);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.search-result{border:1px solid var(--rule);border-radius:13px;background:#100d19cc;padding:9px;display:flex;flex-direction:column;gap:7px}.ctx{position:fixed;z-index:120;background:#171323;border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 36px #0000008c;min-width:190px;padding:6px;display:none}.ctx.open{display:block}.ctx button{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:8px;padding:7px 8px}.ctx button:hover{background:#ffffff0f;transform:none}.ctx hr{margin:5px 0}.toast{position:fixed;right:18px;bottom:18px;z-index:150;background:#201932;border:1px solid var(--rule);border-radius:12px;padding:10px 12px;color:var(--ink);box-shadow:0 12px 38px #00000080;display:none}.toast.show{display:block}.net-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.kbd{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;border:1px solid var(--rule);border-radius:5px;padding:1px 4px;color:var(--dim)}@media(max-width:1300px){.player-strip,.player-strip.self{grid-template-columns:280px minmax(0,1fr) minmax(0,1fr)}.player-strip .play-zone{grid-column:2 / -1}.self-hand{grid-column:1/-1}.deckbuilder-grid{grid-template-columns:1fr}}@media(max-width:850px){.app{padding:10px}.topbar{position:static;align-items:flex-start;flex-direction:column}.player-strip,.player-strip.self{grid-template-columns:1fr}.player-strip .play-zone,.self-hand{grid-column:auto}.hand-zone .zone-body,.self-hand .zone-body{min-height:245px}.card{--card-w:158px;--card-h:230px}.deckbuilder-grid{grid-template-columns:1fr}.library-grid{max-height:520px}}.opponent .player-card-panel{max-height:280px;overflow:auto}.opponent .status-grid{grid-template-columns:repeat(3,1fr)}.opponent .stat-grid{grid-template-columns:1fr 1fr}.opponent .char-context-hint{display:none}.opponent .zone-body{max-height:260px}.stack-panel{min-height:170px}@media(max-width:1100px){.setup-grid,.builder-main-grid,.deckbuilder-grid,.deck-source-grid,.player-strip,.player-strip.self{grid-template-columns:1fr}.self-hand{grid-column:auto}.hand-zone .zone-body{flex-wrap:nowrap}.topbar{align-items:flex-start;flex-direction:column}}.priority-bar{position:sticky;top:67px;z-index:45;background:#171323f7}.priority-bar .panel-body{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px 16px;align-items:center}.priority-copy{min-width:0}.priority-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.priority-actions #passBtn{font-size:15px;padding:10px 16px}.priority-bar .log{grid-column:1/-1;max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 12px}.table-tools{position:relative}.table-tools summary{list-style:none;cursor:pointer;border:1px solid var(--rule);border-radius:10px;padding:8px 11px;background:var(--panel3);color:var(--ink);white-space:nowrap}.table-tools summary::-webkit-details-marker{display:none}.tools-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:70;width:max-content;max-width:min(92vw,520px);padding:9px;border:1px solid var(--rule);border-radius:12px;background:#171323;box-shadow:0 18px 42px -20px #000;display:flex;gap:6px;flex-wrap:wrap}.battlefield{gap:12px}.player-strip.opponent{grid-template-columns:minmax(280px,.9fr) minmax(250px,1fr) minmax(300px,1.15fr) minmax(250px,.9fr)}.player-strip.self{grid-template-columns:300px minmax(260px,1fr) minmax(300px,1.2fr) minmax(260px,1fr) minmax(210px,.78fr)}.self-area{display:flex;flex-direction:column;gap:12px}.player-card-panel,.opponent .player-card-panel{max-height:none!important;overflow:visible!important}.opponent .status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.opponent .zone-body{max-height:none!important}.opponent-hand-indicator{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--rule);border-radius:10px;background:#100d19}.opponent-hand-indicator b{font-size:20px}.opponent-hand-indicator span{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint)}.zone{overflow:visible}.zone-body,.hand-zone .zone-body,.self-hand .zone-body,.play-zone .zone-body,.source-zone .zone-body,.pile-zone .zone-body,.deck-zone .zone-body,.opponent .zone-body{overflow:visible!important;max-height:none!important;min-height:128px;flex-wrap:wrap}.self-hand .zone-body{min-height:265px}.hand-zone .zone-body{flex-wrap:wrap}.card .text{overflow:hidden}.stack-lane{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px;overflow:visible;padding:0;min-height:145px}.stack-item{min-width:0;max-width:none}.deck-manager-list,.library-grid,.deck-list{max-height:none;overflow:visible}.library-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.builder-main-grid{align-items:start}.builder-main-grid>aside,.deck-source-grid>aside{position:static}.pile-summary{min-width:0}.top-card-wrap{align-items:center}.game-seat-pill{font-weight:800}.match-form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.75fr);gap:12px}.match-actions{display:flex;gap:8px;flex-wrap:wrap}.match-status-card{border:1px solid var(--rule);border-radius:14px;padding:14px;background:linear-gradient(145deg,#ffffff09,#ffffff03)}.match-status-card h3{margin:0 0 5px;font-size:17px}.match-status-card p{margin:0;color:var(--dim)}.setup-side{display:flex;flex-direction:column;gap:14px}.practice-details summary{cursor:pointer;font-weight:800;color:var(--dim)}.practice-details[open] summary{margin-bottom:12px}.deck-choice-summary{font-size:12px;color:var(--faint)}@media(max-width:1300px){.player-strip.opponent,.player-strip.self{grid-template-columns:repeat(2,minmax(0,1fr))}.player-strip .player-card-panel{grid-column:1/-1}.builder-main-grid>aside,.deck-source-grid>aside{position:static}}@media(max-width:900px){.priority-bar{position:static}.priority-bar .panel-body{grid-template-columns:1fr}.priority-actions{justify-content:flex-start}.player-strip.opponent,.player-strip.self{grid-template-columns:1fr}.player-strip .player-card-panel{grid-column:auto}.match-form,.stack-lane{grid-template-columns:1fr}.tools-popover{left:0;right:auto}.library-grid{grid-template-columns:1fr}.card{--card-w:160px;--card-h:232px}}.card{position:relative}.card.hand-card{cursor:zoom-in;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.card.hand-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ac) 78%,#fff);box-shadow:0 1px #ffffff0f inset,0 18px 34px -18px color-mix(in srgb,var(--ac) 30%,#000)}.card.hand-card:focus-visible{outline:3px solid var(--good);outline-offset:3px}.hand-menu-trigger{position:absolute;right:6px;top:6px;z-index:6;width:30px;height:27px;padding:0!important;border-radius:999px!important;background:#0e0c15e0!important;border-color:#ffffff4d!important;font-weight:1000;letter-spacing:.08em;box-shadow:0 4px 12px #00000059}.hand-menu-trigger:hover{background:#28213c!important}.hand-hint{font-size:11px;color:var(--faint);margin-right:3px}.card.viewer{--card-w:360px;--card-h:520px;max-width:100%;height:auto;min-height:520px;margin:0 auto}.card.viewer .art{height:224px;flex-basis:224px}.card.viewer .content{padding:12px 14px}.card.viewer .name{font-size:20px}.card.viewer .cost{font-size:13px;padding:2px 9px}.card.viewer .type,.card.viewer .speed{font-size:12px}.card.viewer .text{font-size:14px;line-height:1.4;overflow:visible}.character-view{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr);gap:16px;align-items:start}.character-art{min-height:360px;border:1px solid var(--rule);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 24%,#171323),#0e0c15);background-position:center;background-size:cover;box-shadow:0 18px 44px -30px #000}.character-sheet{border:1px solid var(--rule);border-radius:16px;padding:14px;background:#100d19bf}.art-pack-status{font-size:11px;color:var(--faint)}.art-drop{border:1px dashed #5c5277;border-radius:12px;padding:14px;text-align:center;background:#8fa6ff0b;color:var(--dim);cursor:pointer;transition:border-color .15s ease,background .15s ease}.art-drop:hover,.art-drop:focus-visible,.art-drop.drag{border-color:var(--accent);background:#8fa6ff1a;outline:none}.art-drop b{display:block;color:var(--ink);margin-bottom:3px}.art-import-status{font-size:12px;color:var(--dim);min-height:1.4em}.art-import-status.good{color:var(--good)}.art-import-status.bad{color:var(--bad)}@media(max-width:720px){.card.viewer{--card-w:min(360px,82vw);--card-h:500px}.character-view{grid-template-columns:1fr}.character-art{min-height:280px}.hand-hint{display:none}}.zone-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.card.revealed{outline:2px solid var(--divine);outline-offset:2px;box-shadow:0 0 0 4px #ecd1781a,0 10px 24px -22px #000}.revealed-hand-summary{border:1px solid rgba(236,209,120,.34);border-radius:11px;background:#ecd1780e;padding:8px;display:flex;flex-direction:column;gap:7px}.revealed-hand-title{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--divine);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.revealed-chip-list{display:flex;gap:6px;flex-wrap:wrap}.revealed-chip{--ac:var(--relic);display:flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--ac) 48%,var(--rule));border-radius:999px;background:color-mix(in srgb,var(--ac) 9%,#100d19);padding:5px 7px 5px 8px;min-width:0}.revealed-chip b{font-size:11px;line-height:1.1;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revealed-chip button{padding:2px 5px;font-size:10px;border-radius:999px}.storm-telemetry{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.storm-count{font-weight:900;color:var(--warn)}.storm-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(241,199,107,.52);border-radius:999px;padding:3px 8px;background:#f1c76b14;color:var(--warn);font-size:11px;font-weight:900}.sandbox-table{max-width:1500px;margin:0 auto}.sandbox-table .self-area{width:100%}.modal .card .text{overflow:auto;overscroll-behavior:contain}.modal-body,.stack-lane,.card .text{scrollbar-gutter:stable;overscroll-behavior:contain}.modal .card.viewer .text{overflow:visible}.modal .card.viewer{height:auto}.random-discard-note{border-left:3px solid var(--shadow);padding:8px 10px;background:#9c6fd612;border-radius:0 10px 10px 0;color:var(--dim)}@media(max-width:700px){.zone-head{align-items:flex-start}.zone-head-actions{justify-content:flex-start}.revealed-chip b{max-width:105px}}.player-character-art{height:150px;border:1px solid var(--rule);border-radius:14px;background:#0d0a14 center/cover no-repeat;box-shadow:inset 0 -42px 60px #00000073,inset 0 0 0 1px #ffffff08}.builder-char-card{border:1px solid var(--rule);border-radius:14px;background:#ffffff05;overflow:hidden}.builder-char-card .bc-art{height:190px;background:#0d0a14 center/cover no-repeat;box-shadow:inset 0 -42px 60px #00000073,inset 0 0 0 1px #ffffff08;cursor:zoom-in}.builder-char-card .bc-body{padding:10px;display:flex;flex-direction:column;gap:7px}.builder-char-card .bc-name{font-weight:700;line-height:1.2}.builder-char-card .bc-name small{color:var(--faint);font-weight:400}.builder-char-card .bc-stats{display:flex;gap:6px;flex-wrap:wrap}.builder-char-card .bc-ab{font-size:12px;line-height:1.45;border-top:1px solid var(--rule);padding-top:7px}.builder-char-card .bc-flavor{font-size:11px;color:var(--faint);font-style:italic}.opponent .player-character-art{height:115px}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start;max-width:1720px;margin:0 auto}.app-main{min-width:0;container-type:inline-size}.app-main .priority-bar{position:static;top:auto;z-index:auto}.log-col{position:sticky;top:10px;max-height:calc(100vh - 20px);display:flex;flex-direction:column;background:color-mix(in srgb,var(--panel, #1d2024) 92%,transparent);border:1px solid var(--rule, #2e3238);border-radius:10px;overflow:hidden;font-size:12.5px}.log-col-head{padding:8px 12px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint, #8a9097);border-bottom:1px solid var(--rule, #2e3238)}.log-col-body{overflow-y:auto;padding:6px 0}.log-item{display:flex;gap:8px;padding:3px 10px 3px 8px;border-left:2px solid transparent;line-height:1.45;color:var(--dim, #a8adb4)}.log-item.s-p1{border-left-color:color-mix(in srgb,var(--fire, #e0663b) 70%,transparent)}.log-item.s-p2{border-left-color:color-mix(in srgb,var(--water, #4e8fd0) 70%,transparent)}.log-item.s-p1 .log-guide{flex:none;width:18px;align-self:stretch;position:relative;--thread: color-mix(in srgb, var(--faint, #8a9097) 60%, transparent)}.log-glyph{color:var(--fire, #e0663b)}.log-item.s-p2 .log-guide{flex:none;width:18px;align-self:stretch;position:relative;--thread: color-mix(in srgb, var(--faint, #8a9097) 60%, transparent)}.log-glyph{color:var(--water, #4e8fd0)}.log-guide{flex:none;width:18px;align-self:stretch;position:relative;--thread: color-mix(in srgb, var(--faint, #8a9097) 60%, transparent)}.log-glyph{flex:none;width:1.2em;text-align:center;opacity:.9;color:var(--faint, #8a9097)}.log-item.k-damage .log-guide{flex:none;width:18px;align-self:stretch;position:relative;--thread: color-mix(in srgb, var(--faint, #8a9097) 60%, transparent)}.log-glyph{color:var(--warn, #d9a83c)}.log-item.k-loss .log-glyph,.log-item.k-removed .log-guide{flex:none;width:18px;align-self:stretch;position:relative;--thread: color-mix(in srgb, var(--faint, #8a9097) 60%, transparent)}.log-glyph{color:var(--bad, #d96a50)}.log-item.k-heal .log-guide{flex:none;width:18px;align-self:stretch;position:relative;--thread: color-mix(in srgb, var(--faint, #8a9097) 60%, transparent)}.log-glyph{color:var(--good, #6fbf7f)}.log-item.k-game{color:#fff;font-weight:600}.log-item.k-flow{opacity:.68}.log-item.k-resolve .log-guide{flex:none;width:18px;align-self:stretch;position:relative;--thread: color-mix(in srgb, var(--faint, #8a9097) 60%, transparent)}.log-guide:before{content:"";position:absolute;left:8px;width:0;border-left:1px solid var(--thread);top:50%;bottom:50%}.log-guide.g-top:before{top:-2px}.log-guide.g-bot:before{bottom:-2px}.log-guide.g-top.g-bot:before{top:-2px;bottom:-2px}.log-guide:not(.g-top):not(.g-bot):before{display:none}.log-guide.g-tick:after{content:"";position:absolute;left:9px;right:0;top:50%;border-top:1px solid var(--thread)}.log-glyph{color:var(--divine, #d0ae55)}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.log-col{position:static;max-height:260px;order:99}}.picking #battlefield .card,.picking #battlefield .source-tile,.picking #battlefield .perm-slot,.picking #battlefield .stack-item,.picking #battlefield .player-card-panel,.picking .priority-bar{opacity:.3;filter:grayscale(.55);pointer-events:none;transition:opacity .15s ease,filter .15s ease,box-shadow .15s ease}.picking #battlefield .pickable{opacity:1;filter:none;pointer-events:auto;outline:2px dashed color-mix(in srgb,var(--good, #6fbf7f) 75%,transparent);outline-offset:2px;box-shadow:0 0 14px color-mix(in srgb,var(--good, #6fbf7f) 30%,transparent)}.picking #battlefield .pickable:hover{outline-style:solid;box-shadow:0 0 22px color-mix(in srgb,var(--good, #6fbf7f) 60%,transparent)}.picking #battlefield .pickable.picked{position:relative;outline:3px solid var(--good, #6fbf7f);outline-offset:2px;box-shadow:0 0 30px color-mix(in srgb,var(--good, #6fbf7f) 80%,transparent)}.picking #battlefield .pickable.picked:after{content:"✓";position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--good, #6fbf7f);color:#0c1512;font-size:13px;font-weight:900;z-index:3;box-shadow:0 2px 8px #00000080}.pick-banner{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:999px;background:color-mix(in srgb,var(--panel, #1d2024) 96%,transparent);border:1px solid var(--good, #6fbf7f);box-shadow:0 6px 30px #00000080;font-size:13.5px}.pick-banner b{color:var(--good, #6fbf7f)}.channel-wheel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#0a0810d1;border-radius:inherit;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.wheel-swatch{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.75);color:#fff;font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 3px rgba(0,0,0,.7);transition:scale .1s ease}.wheel-swatch:hover{transform:translate(-50%,-50%) scale(1.22);z-index:2}.wheel-hint{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffffffa6;pointer-events:none}.stack-lane-wrap{position:relative}.stack-art{height:74px;border-radius:6px;background-size:cover;background-position:center 22%;margin:6px 0;box-shadow:inset 0 0 0 1px #ffffff14}.stack-text{font-size:12px;line-height:1.45;color:var(--dim, #a8adb4);max-height:120px;overflow-y:auto}.stack-text p{margin:0 0 6px}.stack-arrows{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.stack-arrows path{fill:none;stroke:color-mix(in srgb,var(--warn, #d9a83c) 80%,transparent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.setup{max-width:560px;margin:40px auto;display:flex;flex-direction:column;gap:14px;font-size:14px}.setup h1{font-size:22px;margin:0 0 4px}.setup h2{font-size:13px;margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.setup-panel{background:color-mix(in srgb,var(--panel, #1d2024) 92%,transparent);border:1px solid var(--rule, #2e3238);border-radius:10px;padding:14px 16px}.setup-panel label{display:flex;flex-direction:column;gap:4px;margin:10px 0}.setup-panel select,.setup-panel input{padding:6px 8px;border-radius:6px;border:1px solid var(--rule, #2e3238);background:var(--void, #101215);color:inherit}.setup-panel button{padding:8px 14px;border-radius:8px;cursor:pointer}.setup-note{margin:0 0 8px;font-size:12.5px;opacity:.75}#lobbyStatus{margin-top:8px;min-height:1.2em;font-size:12.5px}#lobbyStatus.waiting{color:var(--warn, #d9a83c)}.setup-advanced{margin-top:10px;font-size:12.5px;opacity:.85}.setup-advanced input{width:100%;margin-top:6px}.setup-raw summary{cursor:pointer}.setup-raw button{margin-top:8px}.mp-links{margin-top:6px;word-break:break-all;max-width:520px;font-size:12px}@keyframes pay-pulse{0%,to{box-shadow:0 0 0 2px var(--warn, #d9a83c),0 0 10px color-mix(in srgb,var(--warn, #d9a83c) 35%,transparent)}50%{box-shadow:0 0 0 2px var(--warn, #d9a83c),0 0 26px color-mix(in srgb,var(--warn, #d9a83c) 85%,transparent)}}.pay-glow{animation:pay-pulse 1.1s ease-in-out infinite;cursor:pointer}.pay-staged{box-shadow:0 0 0 3px var(--warn, #d9a83c),0 0 20px color-mix(in srgb,var(--warn, #d9a83c) 70%,transparent);cursor:pointer}.payer{cursor:pointer}.payer:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--warn, #d9a83c) 70%,transparent)}@media(prefers-reduced-motion:reduce){.pay-glow{animation:none;box-shadow:0 0 0 2px var(--warn, #d9a83c),0 0 18px color-mix(in srgb,var(--warn, #d9a83c) 60%,transparent)}}.pay-banner{border-color:var(--warn, #d9a83c)}.pay-banner b{color:var(--warn, #d9a83c)}.pile-row{display:flex;gap:14px;align-items:flex-start;padding:4px 2px}.pile-slot{width:86px;min-width:86px;height:118px;border:1px dashed var(--rule, #362d4e);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#100d19}.pile-slot b{font-size:20px;color:var(--ink, #ddd)}.pile-slot span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint, #776f8f)}.discard-pile{position:relative;border:0;background:none;padding:0;cursor:pointer;margin:0 12px 12px 0;font:inherit;color:inherit}.discard-pile:hover .tiny-card{transform:translateY(-3px);border-color:color-mix(in srgb,var(--ac) 86%,#fff)}.pile-card-name{font-size:10px;font-weight:800;line-height:1.12;color:#fff;text-shadow:0 1px 3px #000,0 0 8px rgba(0,0,0,.7)}.pile-card-name,.source-tile .sname{white-space:normal;overflow-wrap:anywhere}.pile-count{position:absolute;top:-7px;right:-7px;z-index:2;background:var(--warn, #d9a83c);color:#14101f;border-radius:999px;font-size:11px;font-weight:900;padding:1px 7px}.pile-browser{width:min(940px,94vw);max-width:none}.pile-browser .modal-head{display:flex;justify-content:space-between;align-items:center}.pile-grid{display:flex;flex-wrap:wrap;gap:10px;max-height:70vh;overflow:auto;align-content:flex-start}.mini-card{cursor:zoom-in}.revealed-wrap{position:relative}.revealed-tag{position:absolute;top:-7px;left:50%;transform:translate(-50%);z-index:2;background:var(--warn, #d9a83c);color:#14101f;border-radius:999px;font-size:9px;font-weight:900;padding:1px 7px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.modal-wide{width:min(880px,92vw);max-width:none}.pick-grid{display:flex;flex-wrap:wrap;gap:10px;max-height:62vh;overflow:auto;align-content:flex-start}.pick-cell{cursor:pointer;border-radius:14px}.pick-cell{outline:2px dashed color-mix(in srgb,var(--good, #6fbf7f) 45%,transparent);outline-offset:2px}.pick-cell:hover{outline-style:solid}.picked-cell{position:relative;outline:3px solid var(--good, #6fbf7f);outline-offset:2px}.picked-cell:after{content:"✓";position:absolute;top:-9px;right:-9px;width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--good, #6fbf7f);color:#0c1512;font-size:13px;font-weight:900;z-index:3;box-shadow:0 2px 8px #00000080}.card-slot{width:var(--card-w);min-width:var(--card-w);height:var(--card-h);flex:0 0 auto;cursor:zoom-in}.opponent .card-slot{--card-w: 145px;--card-h: 190px}@media(max-width:850px){.card-slot{--card-w: 158px;--card-h: 230px}}.pick-cell .card-slot{cursor:pointer}.card.hand-card:hover{transform:none}.card-slot:hover>.card.hand-card{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ac) 78%,#fff);box-shadow:0 1px #ffffff0f inset,0 18px 34px -18px color-mix(in srgb,var(--ac) 30%,#000)}.tile-slot{width:76px;min-width:76px;height:108px;flex:0 0 auto;cursor:pointer}.source-tile:hover{transform:none}.tile-slot:hover>.source-tile{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ac) 86%,#fff)}.tile-slot:hover>.payer{box-shadow:0 0 0 2px color-mix(in srgb,var(--warn, #d9a83c) 70%,transparent)}.battlefield{display:flex;flex-direction:column;gap:12px}.priority-bar{margin:0;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.player-strip,.player-strip.self,.player-strip.opponent{display:grid;grid-template-columns:300px minmax(260px,1fr) minmax(280px,1.25fr) auto;gap:12px;align-items:stretch}.player-strip .play-zone,.player-strip .player-card-panel{grid-column:auto}.opponent .player-character-art{height:150px}.opp-hand .zone-body{min-height:128px}.pile-col{display:flex;flex-direction:column;gap:20px;align-items:flex-start;padding:8px 14px 8px 4px}.deck-pile{position:relative;width:86px;margin:0 12px 0 0}.deck-pile .pile-count{background:var(--dim, #b5abc4)}.pile-label{display:block;text-align:center;margin-top:8px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint, #766d88)}.card .type .speed-chip,.library-card .type .speed-chip,.bc-ab .speed-chip{color:var(--good, #7ee0ab);font-weight:900;margin-right:7px;letter-spacing:0}.bc-ab .cost{color:#111;background:color-mix(in srgb,var(--ac, var(--relic, #8a7f9f)) 82%,#fff);border-radius:999px;padding:1px 7px;margin-right:6px;font-size:11px;font-weight:900;white-space:nowrap}.builder{max-width:1720px;margin:0 auto;padding:10px 4px 40px}.builder-topbar{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.builder-topbar h1{font-size:22px;margin:0;font-variant:small-caps;letter-spacing:.05em}.builder textarea{width:100%;min-height:120px;margin:6px 0;background:var(--void, #101215);color:inherit;border:1px solid var(--rule, #2e3238);border-radius:8px;padding:8px}.builder .library-grid,.builder .deck-list,.builder .deck-manager-list{max-height:calc(100vh - 320px);overflow:auto}.actions-note{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint, #766d88)}html{background:radial-gradient(900px 450px at 85% -10%,rgba(143,166,255,.1),transparent 62%),radial-gradient(760px 400px at 5% 110%,rgba(255,122,69,.07),transparent 62%),var(--void, #0b0812)}body{background:transparent}body.my-turn:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;box-shadow:inset 0 0 190px -18px color-mix(in srgb,var(--warn, #f1c76b) 14%,transparent)}.my-turn .priority-bar{border-color:color-mix(in srgb,var(--warn, #f1c76b) 65%,var(--rule, #342d49));background:color-mix(in srgb,var(--warn, #f1c76b) 9%,var(--panel, #171323))}.my-turn .priority-bar #priorityNow{color:var(--warn, #f1c76b)}.primary-actions button[disabled]{opacity:.35;cursor:default;filter:saturate(.5)}.app-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1720px;margin:0 auto 10px;padding:8px 4px 10px;border-bottom:1px solid var(--rule, #2e3238)}.app-brand{font-variant:small-caps;letter-spacing:.06em;font-size:15px;color:var(--dim, #a8adb4)}body{padding:24px}.library-card{--ac: var(--relic);position:relative;cursor:pointer;padding-bottom:46px}.library-card:hover{border-color:color-mix(in srgb,var(--ac) 55%,var(--rule, #2c2640))}.library-card .cost{align-self:flex-start;margin-top:.2em;color:#111;background:color-mix(in srgb,var(--ac) 82%,#fff);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:900;white-space:nowrap}.library-card .type{font-size:10px;color:var(--dim, #a39bb2);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-card .library-snippet{flex:1}.lib-add{position:absolute;right:8px;bottom:8px;width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:999px;font-size:15px;font-weight:900}.lib-add.has-some{font-size:11px;background:#352b50;border-color:#8272bd}.bc-art{height:auto!important;aspect-ratio:4 / 3}.bc-name small{margin-left:.35em}.deck-row{cursor:pointer}.deck-row:hover{border-color:color-mix(in srgb,#fff 22%,var(--rule, #2c2640))}.kwline{font-weight:700}.card .text .remind,.stack-text .remind{display:none}.card.viewer .text .remind{display:revert;font-style:italic;opacity:.62}.viewer-wrap{position:relative}.kw-helpers{position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;width:250px;max-height:min(520px,88vh);overflow:auto}.kw-helper{background:linear-gradient(160deg,color-mix(in srgb,#fff 4%,var(--panel, #171323)),var(--panel2, #100d19));border:1px solid var(--rule, #342d49);border-radius:12px;padding:9px 11px;font-size:12.5px;line-height:1.45;color:var(--dim, #a8adb4);box-shadow:0 10px 24px -18px #000}.kw-helper b{display:block;margin-bottom:2px;color:var(--ink, #e8e6f0)}@media(max-width:940px){.viewer-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;max-height:92vh;overflow:auto}.kw-helpers{position:static;transform:none;flex-direction:row;flex-wrap:wrap;justify-content:center;width:min(92vw,560px);max-height:none}.kw-helper{flex:1 1 200px}}.player-character-art{position:relative}.player-character-art.exhausted{filter:grayscale(.55) brightness(.72) saturate(.6)}.char-exhausted-chip{position:absolute;top:8px;right:8px;background:#100d19d9;border:1px solid var(--rule, #342d49);color:var(--dim, #b5abc4);border-radius:999px;padding:2px 9px;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.zone-head{border-radius:15px 15px 0 0}.player-character-art.actionable{cursor:pointer}.player-character-art.actionable:hover{box-shadow:inset 0 -42px 60px #00000073,inset 0 0 0 1px #ffffff08,0 0 0 2px color-mix(in srgb,var(--warn, #f1c76b) 60%,transparent)}.char-bolt{position:absolute;top:8px;right:8px;color:var(--warn, #f1c76b);font-size:16px;line-height:1;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--warn, #f1c76b) 70%,transparent))}.icon-btn{background:transparent;border:0;padding:0 4px;font-size:14px;cursor:pointer;vertical-align:middle;opacity:.55;display:inline-flex;align-items:center;color:inherit}.icon-btn:hover{opacity:1;transform:none}.char-viewer-wrap{width:min(430px,92vw)}.builder-char-card{--ac: var(--relic);border-color:color-mix(in srgb,var(--ac) 50%,var(--rule, #342d49));background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 12%,var(--panel, #171323)) 0%,var(--panel, #171323) 44%,var(--panel2, #100d19) 100%)}.battlefield{position:relative}.target-arcs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.stack-arrows path{stroke:#b5abc466;stroke-width:1.5;stroke-dasharray:10 4;animation:dash-march 180s linear infinite}.stack-arrows path.top{stroke:#f1c76bb3}.stack-arrows path.hot{stroke-width:3;animation-duration:60s;stroke-opacity:1}@keyframes dash-march{to{stroke-dashoffset:-720}}@media(prefers-reduced-motion:reduce){.stack-arrows path{animation:none}}.builder .deck-source-grid{grid-template-columns:minmax(185px,.42fr) minmax(0,1.58fr)}.deck-col{display:flex;flex-direction:column;gap:14px;min-width:0}.toastie{position:fixed;z-index:200;pointer-events:none;font-weight:900;font-size:13px;letter-spacing:.04em;color:var(--warn, #f1c76b);text-shadow:0 1px 10px rgba(0,0,0,.85);animation:toast-float .65s ease-out forwards}@keyframes toast-float{0%{opacity:1;transform:translate(-50%,-100%)}to{opacity:0;transform:translate(-50%,calc(-100% - 42px))}}.tiny-card,.tiny-back{width:86px;min-width:86px;height:118px;border-radius:12px;position:relative;z-index:1}.tiny-card{--ac: var(--relic, #8a7f9f);border:2px solid color-mix(in srgb,var(--ac) 72%,#171323);background:linear-gradient(135deg,color-mix(in srgb,var(--ac) 36%,#171323),#0e0c15) center/cover no-repeat;display:flex;align-items:flex-end;padding:6px;text-align:left;transition:transform .14s ease;overflow:hidden}.tiny-card[title]{cursor:zoom-in}.tiny-back{border:2px solid #4c4169;background:linear-gradient(135deg,#171323,#332a4d);display:flex;align-items:center;justify-content:center}.tiny-back:after{content:"✦";font-size:22px;line-height:1;color:var(--dim, #b5abc4)}.tile-slot,.source-tile{width:86px;min-width:86px;height:118px}.source-tile .src-hidden{font-size:22px;line-height:1;color:var(--dim, #b5abc4)}.source-tile .sname{flex:1;width:100%;display:flex;align-items:center;justify-content:center;text-align:center}.builder .deck-buttons{margin:12px 0 18px}.pile-stack{position:relative;width:94px;height:126px}.pile-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:86px;height:118px;border-radius:12px;border:2px solid #3b3153;background:linear-gradient(135deg,#15111f,#241d38);transform:translate(calc(var(--i) * 1.5px),calc(var(--i) * 1.5px));z-index:0}.deck-pile,.discard-pile{margin:0}.card.viewer .flavor{margin-top:auto;padding-top:10px;font-style:italic;font-size:12.5px;text-align:center;color:var(--faint, #8a9097)}.stack-head{margin-bottom:10px}.stack-head .stack-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.stack-head h2{font-size:12px;letter-spacing:.1em;color:var(--dim, #b5abc4)}.stack-panel{transition:border-color .35s ease,background .35s ease}.stack-panel.chain-live{border-color:color-mix(in srgb,var(--warn, #f1c76b) 40%,#50466e);background:linear-gradient(color-mix(in srgb,var(--warn, #f1c76b) 4%,rgba(24,20,38,.96)),#181426f5)}.deck-manager-row .deck-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.deck-manager-row .deck-actions-grid button{width:100%}.deck-manager-row input{min-width:0;width:100%}.source-tile .ambush-mark{position:absolute;top:5px;left:6px;color:var(--warn, #f1c76b);font-size:13px;line-height:1;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--warn, #f1c76b) 60%,transparent))}.tile-slot{position:relative}.ambush-menu{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;flex-direction:column;gap:6px;align-items:stretch;justify-content:center;padding:8px;background:#0d0a14e0;border-radius:12px}.ambush-menu button{font-size:11px;padding:6px 4px}.pile-entry{display:flex;flex-direction:column;gap:6px}.pile-entry-actions{display:flex;gap:6px;flex-wrap:wrap}.pile-entry-actions button{font-size:12px}.source-tile .ambush-cast{width:100%;font-size:11px;padding:4px 0;font-weight:800}.perm-slot{position:relative;display:flex;flex-direction:column;gap:6px;width:86px;border-radius:12px;cursor:pointer}.perm-slot.exhausted .tiny-card{opacity:.55;filter:grayscale(.45) brightness(.82)}.perm-slot .char-exhausted-chip{top:6px;right:6px;z-index:2;pointer-events:none}.perm-slot:has(.perm-named) .char-exhausted-chip{top:28px}.perm-slot .perm-actions{display:flex;flex-direction:column;gap:4px}.perm-slot .perm-actions button{font-size:11px;padding:4px 0;font-weight:800}.peek-eye{position:fixed;left:16px;bottom:16px;z-index:130;width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#171323f5;border:1px solid var(--rule, #342d49);color:var(--dim, #b5abc4);cursor:pointer;padding:0;box-shadow:0 10px 28px #0000008c}.peek-eye:hover{color:var(--ink, #efe9f7);border-color:color-mix(in srgb,var(--warn, #f1c76b) 55%,transparent)}.peek-eye.peeking{color:var(--warn, #f1c76b);border-color:color-mix(in srgb,var(--warn, #f1c76b) 65%,transparent);box-shadow:0 10px 28px #0000008c,0 0 14px color-mix(in srgb,var(--warn, #f1c76b) 35%,transparent)}.source-tile .arc.multi{display:flex;align-items:baseline;gap:1px;font-size:18px}.source-tile .arc .hollow{color:transparent;-webkit-text-stroke:1.3px color-mix(in srgb,var(--ac) 82%,#fff)}.stack-head .chain-fx{--ac: var(--warn, #f1c76b);color:color-mix(in srgb,var(--ac) 78%,#fff);border-color:color-mix(in srgb,var(--ac) 45%,transparent);background:color-mix(in srgb,var(--ac) 10%,transparent)}.stack-head .chain-fx.viewable{cursor:zoom-in}.stack-head .chain-fx.viewable:hover{border-color:color-mix(in srgb,var(--ac) 85%,transparent)}.perm-slot .perm-named{position:absolute;top:4px;left:4px;right:4px;z-index:2;font-size:10px;font-weight:700;padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--warn, #f1c76b);background:#100d19d9;border:1px solid color-mix(in srgb,var(--warn, #f1c76b) 40%,transparent);border-radius:8px;cursor:pointer}.deck-viewer{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:20px;max-width:1240px;margin:0 auto;align-items:start}.dv-pick{cursor:pointer}.dv-gallery .panel-body.deck-manager-list{padding:12px}.dv-creator{white-space:nowrap;align-self:start}.dv-box{overflow:visible}.dv-title{display:flex;justify-content:space-between;align-items:baseline;padding:16px 20px 12px;font-size:28px;font-weight:800;font-variant:small-caps;letter-spacing:.05em;border-bottom:1px solid var(--rule, #2c2640)}.dv-title .icon-btn{font-size:17px}.dv-cardref{color:var(--accent, #8fa6ff);border-bottom:1px dotted color-mix(in srgb,var(--accent, #8fa6ff) 60%,transparent);cursor:help}.dv-desc a{color:var(--accent, #8fa6ff)}.dv-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:18px;padding:16px;align-items:start}.dv-row{cursor:default}.dv-desc{margin:0;font-size:13.5px;line-height:1.55;color:var(--dim, #a39bb2)}.dv-side{display:flex;flex-direction:column;gap:14px}.dv-float{position:fixed;z-index:180;pointer-events:none}@media(max-width:900px){.deck-viewer,.dv-columns{grid-template-columns:1fr}.dv-float{display:none}}
