:root{--bg: #10131c;--panel: #1b2130;--panel-2: #232a3c;--border: #333d55;--text: #e6e9f2;--muted: #8b94ad;--accent: #ffc857;--accent-2: #5ac8ff;--danger: #ff7a6e;--ok: #69c08b;--hl-mine: #5ac8ff;--hl-foe: #ff7a6e;--arc-mine: #5ac8ff;--arc-foe: #ff7a6e;--banner-mine: #5ab4ff;--banner-opp: #ff4646;--shake: #ff5050}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--muted);border:2px solid transparent;background-clip:content-box}html{background:var(--bg);overscroll-behavior-y:none}body{margin:0;background:radial-gradient(1200px 600px at 70% -10%,#1c2540 0%,var(--bg) 55%);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif}.shell{margin:0 auto;padding:42px 10px 10px}@media (max-width: 800px){.shell-match .topbar{display:none}.shell-match{padding:2px}.shell-match .stage-viewport{min-height:calc(100vh - 4px);min-height:calc(100dvh - 4px)}}.stage-viewport{display:flex;align-items:flex-start;justify-content:center;min-height:calc(100vh - 54px);min-height:calc(100dvh - 54px);overflow:hidden}.stage-layout{position:relative;flex:none}.stage{position:relative;flex:none;transform-origin:top left}.stage .board{height:100%}.stage-small .decision-dialog{transform:scale(calc(1 / var(--stage-scale, 1)));padding:10px 12px 8px;gap:6px}.stage-small .decision-overlay{padding:8px;overflow-y:auto}.stage-small .decision-question{font-size:17px}.stage-small .decision-plan{display:grid;grid-template-columns:1fr 1fr;gap:6px}.stage-small .decision-plan-hint,.stage-small .decision-plan .decision-deck{grid-column:1 / -1}.stage-small .decision-deck{grid-template-columns:repeat(7,88px);justify-content:start;min-height:0;max-width:100%;overflow-x:auto;touch-action:pan-x pan-y;overscroll-behavior:contain;padding:4px}.stage-small .decision-tile:not(.decision-mode-tile){aspect-ratio:1 / .98}.stage-small .decision-tile-img{object-position:top}.stage-small .decision-zone{min-height:0;padding:6px;gap:4px}.stage-small .decision-zone .decision-tile{flex-basis:88px}.stage-small .decision-actions{margin-top:0}.stage-small .hand-zone{--boost: min(1.5, calc(1 / var(--stage-scale, 1)));position:relative;z-index:30;transform:scale(var(--boost));transform-origin:bottom center}.stage-small .player-area.you .hand-zone{bottom:calc(-101px * var(--boost))}.stage-small .player-area.opponent .hand-zone{top:calc(-101px * var(--boost));transform-origin:top center}.board .board-rail-left{justify-content:flex-start;gap:0}.rail-spacer{flex:1 1 auto;min-height:0}.stage-small .board-rail-left{overflow-y:hidden}.stage-small .stack-strip-slot{z-index:31}.rotate-prompt{display:none}@media (orientation: portrait){.rotate-prompt{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;align-items:center;justify-content:center;background:#04050ceb;color:var(--text);font-size:18px;text-align:center;padding:32px}}.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:0;padding:5px 18px;background:var(--bg);border-bottom:1px solid var(--border)}.topbar h1{font-size:16px;margin:0;letter-spacing:.4px}.topbar>h1{margin-right:auto}.topbar>*:not(.topbar-banner){position:relative;z-index:1}.topbar-banner{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.topbar-banner img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;opacity:.35;-webkit-mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent);mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent)}.topbar-icon{width:28px;height:28px;flex:none;border-radius:8px;border:1px solid var(--border);object-fit:cover;object-position:50% 50%}.conn{font-size:12px;padding:3px 10px;border-radius:20px;border:1px solid var(--border)}.conn-ok{color:var(--ok);border-color:var(--ok)}.anim-speed{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted, #8a93a6)}.anim-speed input[type=range]{width:90px;min-height:40px;accent-color:var(--accent)}.anim-speed-val{min-width:44px}.conn-bad{color:var(--danger);border-color:var(--danger)}.toast{position:fixed;top:44px;right:18px;z-index:50;background:var(--panel-2);border:1px solid var(--danger);color:var(--danger);padding:8px 14px;border-radius:8px;font-size:13px}.muted{color:var(--muted);font-size:12px}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer}.btn{min-height:40px}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:#b8860b;color:#1a1a1a}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:active:not(:disabled){filter:brightness(.94)}select,input[type=text],input[type=search],input:not([type]){background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px;font-family:inherit}select:hover,input[type=text]:hover,input[type=search]:hover,input:not([type]):hover{border-color:var(--accent)}select:focus-visible,input[type=text]:focus-visible,input[type=search]:focus-visible,input:not([type]):focus-visible{outline:1px solid var(--accent-2);outline-offset:0;border-color:var(--accent-2)}select:disabled,input:disabled{opacity:.45}select option{background:var(--panel);color:var(--text)}input[type=checkbox],input[type=radio]{accent-color:var(--accent-2)}.home{display:flex;flex-direction:column;align-items:center;gap:18px;padding-top:60px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:26px 32px;width:420px;text-align:center}.panel.test-lab-head{display:flex;flex-direction:column;width:unset}.panel h2{margin-top:0}.hint{color:var(--muted);max-width:560px;text-align:center;font-size:13px}.join-form{display:flex;gap:8px;margin-top:16px}.join-form input{flex:1;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.board{display:grid;grid-template-columns:10fr 70fr 10fr 10fr;gap:10px;align-items:stretch;height:calc(100vh - 54px);min-height:0;overflow:hidden}.board-rail-left{grid-column:1;display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:0;min-height:0;height:100%;max-height:100%;overflow-y:auto;overflow-x:clip}.board-rail-right{grid-column:3;display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:0;min-height:0;height:100%;max-height:100%;overflow-y:auto;overflow-x:clip}.side-panel{grid-column:4;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;max-height:100%;overflow-y:auto}.side-log{flex:1;display:flex;min-height:180px}.side-log .event-log{flex:1;width:100%;min-height:0}.board-center{grid-column:2;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;max-height:100%;overflow-y:auto;overflow-x:clip}.board-top,.board-bottom{min-width:0}.board-top,.board-bottom{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.board-top .player-area,.board-bottom .player-area{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:clip}.board-top .player-area .field,.board-bottom .player-area .field{flex:6 1 0;min-height:0;overflow-y:auto}.board-top .player-area .memory-band,.board-bottom .player-area .memory-band{flex:4 0 0;min-height:0;overflow-y:visible}.player-area{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px}.player-area.opponent{opacity:.96}.player-header{display:flex;gap:8px;align-items:center;margin-bottom:8px}.player-name{font-weight:600}.element-chip{font-size:11px;color:var(--accent-2);border:1px solid var(--accent-2);border-radius:10px;padding:1px 8px}.element-chip[class*=element-el-]{background:color-mix(in srgb,currentColor 14%,transparent)}.element-el-norm{color:#f0f0f0;border-color:#f0f0f0}.element-el-fire{color:#ff6a35;border-color:#ff6a35}.element-el-water{color:#3f8fe0;border-color:#3f8fe0}.element-el-wind{color:#55b04a;border-color:#55b04a}.element-el-arcane{color:#7fc0ee;border-color:#7fc0ee}.element-el-astra{color:#9a7fe0;border-color:#9a7fe0}.element-el-crux{color:#e070c0;border-color:#e070c0}.element-el-exia{color:#c04040;border-color:#c04040}.element-el-luxem{color:#eed070;border-color:#eed070}.element-el-neos{color:#e8a038;border-color:#e8a038}.element-el-tera{color:#40b088;border-color:#40b088}.element-el-umbra{color:#8a4fb0;border-color:#8a4fb0}.element-el-exalted{color:var(--accent);border-color:var(--accent)}.zone-tone-deck .pile-label{color:#9fb2d8}.zone-tone-graveyard .pile-label{color:#c39bff}.zone-tone-banishment .pile-label{color:#ff8a5c}.zone-tone-material .pile-label{color:#5ac8ff}.zone-tone-memory .pile-label{color:#ffc857}.zone-viewer{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;display:flex;flex-direction:column;gap:8px}.zone-viewer-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600}.zone-viewer-close{background:none;border:1px solid var(--border);color:var(--muted);border-radius:6px;min-height:40px;min-width:40px;padding:6px 10px;cursor:pointer}.zone-viewer-close:hover{border-color:var(--accent);color:var(--accent)}.zone-viewer-cards{display:flex;flex-wrap:wrap;gap:10px;min-height:198px;max-height:220px;overflow:auto}.zone-viewer-card{display:flex;flex-direction:column;align-items:center;gap:2px;width:130px;flex:none}.zone-viewer-name{font-size:11px;font-weight:600;max-width:100%;text-align:center}.pile{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:0;display:flex;flex-direction:column;align-items:stretch;gap:0;position:relative}.pile-clickable{cursor:pointer}.pile-clickable:hover{border-color:var(--accent)}.pile-label{position:absolute;top:4px;left:6px;z-index:2;font-size:11px;font-weight:600;color:var(--text);background:#000000a6;border:1px solid var(--border);border-radius:8px;padding:1px 7px;pointer-events:none}.pile .sunk-card{border:0;border-radius:10px 10px 0 0;position:relative}.board-rail-left,.board-rail-right{container-type:size}.board-rail-left .pile .sunk-card,.board-rail-right .pile .sunk-card{width:100%}.board-rail-right .pile{flex:1 1 0;min-height:0;overflow:hidden}.board-rail-left .pile:has(>.sunk-fullsize){flex:0 1 auto;min-height:0;max-height:26cqh;overflow:hidden;justify-content:center}.board-rail-right .pile:has(>.sunk-fullsize){justify-content:center}.pile-count{display:none;position:absolute;top:4px;right:6px;font-size:11px;font-weight:700;background:#000000a6;border:1px solid var(--border);border-radius:8px;padding:1px 7px;color:var(--text)}.pile:hover .pile-count{display:block}.rail-champ{display:flex;justify-content:center}.test-lab-preview .rail-champ{max-width:calc((100vw - 30px)*.1);margin:0 auto}.rail-champ .field-obj{width:100%;align-items:stretch}.rail-champ .field-card-wrap,.rail-champ .field-card{width:100%}.rail-champ-ghost{visibility:hidden;pointer-events:none}.zone-pop-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:40}.zone-pop{position:fixed;z-index:41;overflow-y:auto}.zone-pop .zone-viewer{margin-bottom:0}.zone-pop .zone-viewer-cards{max-height:60vh}.memory-band{display:flex;flex-direction:column;gap:8px;background:#00000038;border:1px dashed var(--border);border-radius:10px;padding:8px 12px;margin-bottom:10px;position:relative;z-index:1}.sunk-card.sunk-empty{border-style:dashed;background:transparent;display:flex;align-items:center;justify-content:center}.memory-band .sunk-strip{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;overflow-x:auto;overflow-y:clip;align-content:flex-start;position:relative;z-index:1}.memory-band .sunk-strip>.sunk-card{height:100%;max-height:142px;width:auto;flex:none;min-width:0}.memory-band .sunk-card+.sunk-card{margin-left:-34px}.anim-tile{width:22px;height:30px;object-fit:cover;object-position:top;border-radius:3px}.test-lab-preview .stack-strip{position:static;transform:none;width:100%}.band-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;font-size:40pt;font-weight:400;letter-spacing:3px;text-transform:uppercase;text-align:center;color:var(--text);opacity:.1;pointer-events:none}.sunk-strip{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;padding-top:12px;min-width:0}.sunk-card{width:145px;aspect-ratio:1 / .98;overflow:hidden;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);position:relative;flex:none;transition:transform .12s ease}.sunk-full{position:relative;width:100%;aspect-ratio:63 / 88;transition:transform .12s ease}.sunk-full img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.sunk-clickable{cursor:pointer}.sunk-fluid{width:100%}.sunk-card.sunk-fullsize{aspect-ratio:63 / 88}.sunk-center img{object-position:center}.sunk-flip .sunk-full>img:not(.sunk-face){transform:rotate(180deg)}.sunk-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.player-area .hand-zone .sunk-card.selected{transform:translateY(-8px)}.sunk-card .sunk-face{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .12s ease}.sunk-card:hover .sunk-face,.sunk-card.selected .sunk-face{opacity:1}.sunk-back-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;padding:6px;text-align:center;background:repeating-linear-gradient(45deg,#263049 0,#263049 6px,#1d2536 6px,#1d2536 12px)}.player-area .hand-zone{position:fixed;left:calc(10% + 15px);width:calc(70% - 35px);z-index:6;flex:none;display:flex;justify-content:center;pointer-events:none;margin:0;overflow:hidden}.stage .player-area .hand-zone{left:var(--board-x, calc(10% + 15px) );width:var(--board-w, calc(70% - 35px) )}.stage .player-area.opponent .hand-zone{top:-101px}.stage .player-area.you .hand-zone,.player-area.you .hand-zone{bottom:-101px}.player-area.opponent .hand-zone{top:-59px}.player-area .hand-zone>*{pointer-events:auto}.player-area .hand-zone .sunk-strip{pointer-events:none;flex-wrap:nowrap}.player-area .hand-zone .sunk-strip{gap:0}.player-area .hand-zone .sunk-card+.sunk-card{margin-left:1px}.player-area .hand-zone .sunk-strip:has(>:nth-child(8)) .sunk-card+.sunk-card{margin-left:-16.25px}.player-area .hand-zone .sunk-strip:has(>:nth-child(9)) .sunk-card+.sunk-card{margin-left:-36.25px}.player-area .hand-zone .sunk-strip:has(>:nth-child(10)) .sunk-card+.sunk-card{margin-left:-48.125px}.player-area .hand-zone .sunk-strip:has(>:nth-child(11)) .sunk-card+.sunk-card{margin-left:-56.25px}.player-area .hand-zone .sunk-strip:has(>:nth-child(12)) .sunk-card+.sunk-card{margin-left:-62.5px}.player-area .hand-zone .sunk-strip:has(>:nth-child(13)) .sunk-card+.sunk-card{margin-left:-67.5px}.player-area .hand-zone .sunk-strip:has(>:nth-child(14)) .sunk-card+.sunk-card{margin-left:-71.875px}.player-area .hand-zone .sunk-strip:has(>:nth-child(15)) .sunk-card+.sunk-card{margin-left:-76.25px}.player-area .hand-zone .sunk-strip:has(>:nth-child(16)) .sunk-card+.sunk-card{margin-left:-79.375px}.player-area .hand-zone .sunk-strip:has(>:nth-child(17)) .sunk-card+.sunk-card{margin-left:-82.5px}.player-area .hand-zone .sunk-strip:has(>:nth-child(18)) .sunk-card+.sunk-card{margin-left:-85px}.player-area .hand-zone .sunk-strip:has(>:nth-child(19)) .sunk-card+.sunk-card{margin-left:-87.5px}.player-area .hand-zone .sunk-strip:has(>:nth-child(20)) .sunk-card+.sunk-card{margin-left:-90px}.player-area .hand-zone .sunk-strip:has(>:nth-child(21)) .sunk-card+.sunk-card{margin-left:-91.875px}.player-area .hand-zone .sunk-strip:has(>:nth-child(22)) .sunk-card+.sunk-card{margin-left:-94.375px}.player-area .hand-zone .sunk-strip:has(>:nth-child(23)) .sunk-card+.sunk-card{margin-left:-95.625px}.player-area .hand-zone .sunk-strip:has(>:nth-child(24)) .sunk-card+.sunk-card{margin-left:-97.5px}.player-area .hand-zone .sunk-strip:has(>:nth-child(25)) .sunk-card+.sunk-card{margin-left:-99.375px}.player-area .hand-zone .sunk-strip:has(>:nth-child(26)) .sunk-card+.sunk-card{margin-left:-100.625px}.player-area .hand-zone .sunk-strip:has(>:nth-child(27)) .sunk-card+.sunk-card{margin-left:-102.5px}.player-area .hand-zone .sunk-strip:has(>:nth-child(28)) .sunk-card+.sunk-card{margin-left:-103.75px}.player-area .hand-zone .sunk-strip:has(>:nth-child(30)) .sunk-card{transform:scale(.8);transform-origin:bottom center}.player-area .hand-zone .sunk-card{pointer-events:auto}.player-area.you .hand-zone .sunk-card:hover,.player-area.you .hand-zone .sunk-card.selected{transform:translateY(-8px)}.player-area.opponent .hand-zone .sunk-card:hover,.player-area.opponent .hand-zone .sunk-card.selected{transform:translateY(8px)}.player-area .hand-zone .sunk-strip{flex:1;justify-content:center}.field-lineage{position:absolute;left:4px;top:26px;bottom:26px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;overflow-y:auto;z-index:2;pointer-events:none}.field-lineage .lineage-chip{font-size:11px;padding:0 5px;max-width:88px;overflow:hidden;text-overflow:ellipsis;flex:none;pointer-events:auto;cursor:pointer}.lineage-chip{font-size:10px;background:var(--panel-2);border:1px solid var(--accent-2);color:var(--accent-2);border-radius:6px;padding:1px 6px;cursor:default;white-space:nowrap}.lineage-chip:hover{background:var(--accent-2);color:#fff}.pending-attack{font-size:13px;color:var(--muted);max-width:110px}.field{display:flex;gap:10px;min-height:64px;max-height:320px;overflow-y:auto;overflow-x:hidden;align-items:flex-start;flex-wrap:wrap;background:#00000038;border:1px dashed var(--border);border-radius:10px;padding:10px;margin-bottom:10px}.field-obj{display:flex;flex-direction:column;gap:6px;align-items:flex-start;position:relative}.field-card-wrap{position:relative;display:inline-block}.field-card{position:relative;width:138px;aspect-ratio:1 / .98;border-radius:8px;overflow:hidden;background:var(--panel-2);border:1px solid var(--border)}.field-card>.card{width:100%;height:100%;border:0;border-radius:0}.field-card .card-img{object-position:top}.field-card .field-name,.field-card .field-stats{position:absolute;left:0;right:0;padding:2px 6px;background:#0000008c;color:#eee;pointer-events:none;max-width:100%;box-sizing:border-box}.pass-cluster{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);z-index:4;display:flex;align-items:center;gap:8px;pointer-events:none;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 28px #00000080;padding:6px 10px}.pass-cluster>*{pointer-events:auto}.stage-small .pass-btn{min-width:calc(96px / var(--stage-scale, 1));min-height:calc(36px / var(--stage-scale, 1));font-size:calc(15px / var(--stage-scale, 1));padding:calc(7px / var(--stage-scale, 1)) calc(18px / var(--stage-scale, 1));border-radius:calc(8px / var(--stage-scale, 1))}.stage-small .pass-cluster{background:transparent;border:none;box-shadow:none;padding:0}.stage-small .pass-cluster .pill-switch{min-height:calc(36px / var(--stage-scale, 1));font-size:calc(12px / var(--stage-scale, 1));gap:calc(8px / var(--stage-scale, 1));padding:calc(8px / var(--stage-scale, 1)) calc(14px / var(--stage-scale, 1)) calc(8px / var(--stage-scale, 1)) calc(10px / var(--stage-scale, 1))}.stage-small .pass-cluster .pill-switch .pill-knob{width:calc(30px / var(--stage-scale, 1));height:calc(16px / var(--stage-scale, 1))}.stage-small .pass-cluster .pill-switch .pill-knob:after{width:calc(14px / var(--stage-scale, 1));height:calc(14px / var(--stage-scale, 1))}.stage-small .pass-cluster .pill-switch.on .pill-knob:after{left:calc(15px / var(--stage-scale, 1))}.stage-small .zone-viewer-close{min-height:calc(40px / var(--stage-scale, 1));min-width:calc(40px / var(--stage-scale, 1))}.stage-small .stack-strip{width:calc(100% - 16px)}.stage-small .stack-strip .stack-card{width:calc(130px / var(--stage-scale, 1))}.stage-small .stack-strip .stack-label-under{width:calc(130px / var(--stage-scale, 1));font-size:calc(10px / var(--stage-scale, 1))}.stage-small .stack-strip .stack-chip{font-size:calc(9px / var(--stage-scale, 1))}.pass-btn{min-width:96px;min-height:43px;padding:9px 18px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);font-size:16px;font-weight:600;cursor:pointer;transition:transform .12s ease,filter .12s ease,background-color .12s ease}@property --pass-sheen{syntax: "<angle>"; inherits: false; initial-value: 360deg;}@keyframes pass-sheen-spin{to{--pass-sheen: 0deg}}.pass-btn.usable{position:relative;color:#1a1a1a;border:1px solid #b8860b;background:var(--accent)}.pass-btn.usable:before,.field-card.target-sheen:before,.decision-tile.starcall-sheen:before,.origin-trail .field-card-wrap:before,.origin-shadow .field-card-wrap:before,.sunk-card.card-trail:before,.sunk-card.card-shadow-trail:before,.pile.card-trail:before,.highlight-mine .field-card-wrap:before,.highlight-foe .field-card-wrap:before,.ability-badges-portal:before,.stack-arc-ring:before{content:"";position:absolute;border-radius:12px;padding:2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:pass-sheen-spin var(--pass-loop, 2.4s) linear infinite;pointer-events:none}.pass-btn.usable:before{top:-6px;right:-6px;bottom:-6px;left:-6px;background:conic-gradient(from var(--pass-sheen),#fff3c4 0deg,rgba(255,200,87,.9) 50deg,rgba(255,200,87,.25) 110deg,transparent 170deg,transparent 360deg)}.stage-small .pass-btn.usable:before{inset:calc(-6px / var(--stage-scale, 1));border-radius:calc(12px / var(--stage-scale, 1));padding:calc(2px / var(--stage-scale, 1))}.pass-btn.usable:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.pass-btn.usable:active:not(:disabled){filter:brightness(.94);transform:translateY(1px)}.pass-btn.usable:focus-visible{outline:2px solid #fff3c4;outline-offset:2px}.pass-btn:disabled{cursor:default;opacity:.55}.stack-strip .pass-btn{align-self:center}.field-card .field-name{top:0;font-size:11px}.field-card .field-stats{bottom:0;font-size:11px;margin-top:0;color:#eee}.field-champ .field-name{top:0;font-size:13px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-champ .field-stats{bottom:0;font-size:15px;margin-top:0;color:#eee}.field-badges{position:absolute;top:20px;right:2px;display:flex;flex-direction:column;gap:2px;align-items:flex-end;pointer-events:none;z-index:3}.field-champ .field-badges{top:22px;bottom:24px;overflow:hidden}.field-badges-left{right:auto;left:2px;align-items:flex-start}.field-badges .badge-toggle{pointer-events:auto;cursor:pointer;font-family:inherit;font-size:11px;line-height:inherit}.field-badges .badge,.field-card .field-name .badge{background:#0000008c;border-color:#ffffff59;color:#fff}.field-champ .field-name{background:#140f288c}.field-obj.rested .field-card-wrap{transform:rotate(-4deg);opacity:.85}.clickable{cursor:pointer}.clickable:hover .field-card{border-color:var(--accent)}.selected .field-card{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.highlight-mine .field-card{border-color:var(--hl-mine)}.highlight-foe .field-card{border-color:var(--hl-foe)}.highlight-mine .field-card-wrap:before{top:0;right:0;bottom:0;left:0;border-radius:8px;z-index:1;background:conic-gradient(from var(--pass-sheen),#ffffff 0deg,color-mix(in srgb,var(--hl-mine) 90%,transparent) 50deg,color-mix(in srgb,var(--hl-mine) 25%,transparent) 110deg,transparent 170deg,transparent 360deg)}.ability-badges-portal:before{top:0;right:0;bottom:0;left:0;border-radius:10px;background:conic-gradient(from var(--pass-sheen),#ffffff 0deg,rgba(90,200,255,.9) 50deg,rgba(90,200,255,.25) 110deg,transparent 170deg,transparent 360deg)}.highlight-foe .field-card-wrap:before{top:0;right:0;bottom:0;left:0;border-radius:8px;z-index:1;background:conic-gradient(from var(--pass-sheen),#ffffff 0deg,color-mix(in srgb,var(--hl-foe) 90%,transparent) 50deg,color-mix(in srgb,var(--hl-foe) 25%,transparent) 110deg,transparent 170deg,transparent 360deg)}.origin-trail .field-card-wrap:before{top:0;right:0;bottom:0;left:0;border-radius:8px;z-index:1;background:conic-gradient(from var(--pass-sheen),#fff3c4 0deg,rgba(255,200,87,.9) 50deg,rgba(255,200,87,.25) 110deg,transparent 170deg,transparent 360deg)}.origin-shadow .field-card-wrap:before{top:0;right:0;bottom:0;left:0;border-radius:8px;z-index:1;background:conic-gradient(from var(--pass-sheen),#ffffff 0deg,rgba(168,85,247,.9) 50deg,rgba(168,85,247,.25) 110deg,transparent 170deg,transparent 360deg)}.sunk-card.card-trail:before{top:0;right:0;bottom:0;left:0;border-radius:8px;z-index:1;background:conic-gradient(from var(--pass-sheen),#fff3c4 0deg,rgba(255,200,87,.9) 50deg,rgba(255,200,87,.25) 110deg,transparent 170deg,transparent 360deg)}.pile.card-trail:before{top:0;right:0;bottom:0;left:0;border-radius:10px;z-index:1;background:conic-gradient(from var(--pass-sheen),#fff3c4 0deg,rgba(255,200,87,.9) 50deg,rgba(255,200,87,.25) 110deg,transparent 170deg,transparent 360deg)}.sunk-card.card-shadow-trail:before{top:0;right:0;bottom:0;left:0;border-radius:8px;z-index:1;background:conic-gradient(from var(--pass-sheen),#ffffff 0deg,rgba(168,85,247,.9) 50deg,rgba(168,85,247,.25) 110deg,transparent 170deg,transparent 360deg)}.origin-ready .field-card{border-color:#b8860bb3}.sunk-card.card-ready{box-shadow:0 0 0 2px #b8860bb3}.field-card.target-sheen:before{top:0;right:0;bottom:0;left:0;border-radius:8px;z-index:1;background:conic-gradient(from var(--pass-sheen),#fff3c4 0deg,rgba(255,200,87,.9) 50deg,rgba(255,200,87,.25) 110deg,transparent 170deg,transparent 360deg)}.decision-tile.starcall-sheen:before{top:0;right:0;bottom:0;left:0;border-radius:8px;z-index:1;background:conic-gradient(from var(--pass-sheen),#efe9ff 0deg,rgba(154,127,224,.9) 50deg,rgba(154,127,224,.25) 110deg,transparent 170deg,transparent 360deg)}.stack-arc{position:fixed;top:0;right:0;bottom:0;left:0;z-index:51;pointer-events:none}.stack-arc-mine{color:var(--arc-mine)}.stack-arc-foe{color:var(--arc-foe)}.stack-arc-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.stack-arc-band{fill:currentColor;stroke:none;opacity:.5}.stack-arc-comet{fill:none;stroke:#fff;stroke-linecap:round}.stack-arc-ring{position:absolute}@media (prefers-reduced-motion: reduce){.stack-arc-comet{opacity:0}}.stack-arc-ring:before{top:-5px;right:-5px;bottom:-5px;left:-5px}.stack-arc-mine .stack-arc-ring:before{background:conic-gradient(from var(--pass-sheen),#d8f1ff 0deg,color-mix(in srgb,var(--arc-mine) 90%,transparent) 50deg,color-mix(in srgb,var(--arc-mine) 25%,transparent) 110deg,transparent 170deg,transparent 360deg)}.stack-arc-foe .stack-arc-ring:before{background:conic-gradient(from var(--pass-sheen),#ffd7d0 0deg,color-mix(in srgb,var(--arc-foe) 90%,transparent) 50deg,color-mix(in srgb,var(--arc-foe) 25%,transparent) 110deg,transparent 170deg,transparent 360deg)}.target-picked .field-card{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.target-picked .field-card:after{content:"✓";position:absolute;right:3px;top:3px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#14100a;font-size:12px;font-weight:800;box-shadow:0 0 0 2px #00000073;pointer-events:none}.field-name{font-size:13px;font-weight:600;display:flex;flex-wrap:nowrap;gap:4px}.badge{font-size:10px;background:var(--panel);border:1px solid var(--accent);color:var(--accent);border-radius:8px;padding:0 6px}.cbadge{font-size:10px;font-weight:700;background:var(--panel);border:1px solid var(--muted);color:var(--muted);border-radius:8px;padding:0 6px}.cbadge-mine{border-color:var(--accent-2);color:var(--accent-2)}.cbadge-foe{border-color:var(--danger);color:var(--danger)}@keyframes confirm-pulse{0%,to{box-shadow:0 0 0 2px var(--accent)}50%{box-shadow:0 0 0 5px #ffc8578c}}.target-confirm .field-card{animation:confirm-pulse 1s ease-in-out infinite}.field-obj.dimmed{opacity:.45;transition:opacity .15s ease-in-out}.field-obj .badge,.field-card .badge{font-size:11px}.field-champ .badge,.field-champ .badge-toggle{font-size:12px}.badge-dmg,.field-badges .badge-dmg,.field-card .field-name .badge-dmg{border-color:var(--danger);color:var(--danger)}.face-chips{position:absolute;top:4px;left:4px;display:flex;flex-direction:column;gap:2px;z-index:2;pointer-events:none}.badge.chip-omen{border-color:#8a4fb0;color:#8a4fb0}.field-stats{font-size:12px;color:var(--muted);margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}.hand-zone{display:flex;flex-direction:row;gap:8px;align-items:flex-start}.card{width:92px;position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--panel-2);height:128px;text-align:left}.card-shadow{width:138px;height:192px}.card-mini{width:52px;height:72px}.card-clickable{cursor:pointer}.card-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.card-img{width:100%;height:100%;object-fit:cover}.card-fallback{padding:8px;display:flex;flex-direction:column;gap:3px}.card-cost{font-size:12px;color:var(--accent)}.card-name{font-size:12px;font-weight:700;line-height:1.2}.card-types{font-size:10px;color:var(--muted)}.card-elements{font-size:9px;color:var(--accent-2)}.card-hit-area{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:0;padding:0;width:100%;height:100%;background:transparent;cursor:pointer}.card-hover{position:fixed;z-index:1000;pointer-events:none;box-shadow:0 10px 36px #0000008c;border-radius:10px}.card-hover>.card{width:min(345px,62vw,calc((40vh - 16px)*.7159));aspect-ratio:63 / 88;height:auto}.card-hover-fallback{padding:14px 16px;border-radius:10px;font-size:14px;font-weight:600;max-width:260px}.event-log h3,.actions h3{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.6px}.stack-strip-slot{position:relative;flex:none;height:0;margin-top:-10px;margin-bottom:-10px;overflow:visible;z-index:5}.stack-strip{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);z-index:5;display:flex;flex-direction:column;align-items:stretch;gap:4px;width:min(860px,calc(100% - 16px));box-sizing:border-box}.stack-strip{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 28px #00000080;padding:6px 10px 8px;min-height:219px}.stack-strip.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;touch-action:none}.stack-strip.stack-strip-moved{position:fixed;transform:none;z-index:45}.stack-strip-film{flex:1;display:flex;gap:10px;overflow-x:auto;padding:2px;min-width:0;touch-action:pan-x}.stack-title{font-size:11px;font-weight:700;color:var(--muted);text-align:left;line-height:1.4;pointer-events:none}.art-gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#0000008c}.boot-splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px 12px}.boot-splash img{width:120px;border-radius:10px;box-shadow:0 0 24px #ffc85740}.boot-splash h1{margin:0;font-size:28px;color:#ffc857}.boot-splash .art-gate-track{width:min(320px,80vw)}.boot-splash-inline{min-height:0}.art-gate-overlay .panel{min-width:min(320px,80vw)}.art-gate-track{height:8px;border-radius:4px;background:var(--border);overflow:hidden;margin:8px 0}.art-gate-fill{height:100%;background:var(--accent);transition:width .15s linear}.art-gate-failed{margin:8px 0;padding-left:20px;font-size:12px;color:var(--muted)}.stack-layer{position:relative;flex:none;cursor:pointer}.stack-layer-selected .stack-card{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.stack-strip .stack-card{width:130px;aspect-ratio:1 / .98;height:auto}.stack-strip .card-img{object-position:top}.stack-strip .stack-label-under{width:130px;font-size:10px}.stack-strip .stack-chip{max-width:none;width:max-content;font-size:9px}.stack-card{position:relative;width:138px;height:192px;border-radius:8px;overflow:hidden;background:var(--panel-2);border:1px solid var(--border)}.stack-card>.card{width:100%;height:100%;border:0}.stack-chip{position:absolute;z-index:3;font-size:10px;line-height:1.5;border-radius:999px;border:1px solid rgba(255,255,255,.35);padding:0 7px;max-width:128px;overflow:hidden;white-space:nowrap;background:#0000008c;color:#fff;pointer-events:none}.stack-label-under{width:138px;box-sizing:border-box;margin-top:-1px;font-size:11px;line-height:1.6;text-align:center;background:var(--panel-2);border:1px solid var(--border);border-top:0;border-radius:8px;color:var(--text);font-weight:600;padding:1px 6px 3px;pointer-events:auto;cursor:default}.stack-chip-top{top:4px;right:4px;border-color:var(--accent);color:var(--accent);font-weight:700}.stack-chip-starcalled{top:4px;left:4px;border-color:#9a7fe0;color:#9a7fe0;background:#ebe8f8f2;font-weight:700}.stack-chips{position:absolute;z-index:3;left:4px;bottom:2px;display:flex;flex-direction:column;gap:4px}.stack-chips>.stack-chip{position:static}.stack-chip-names{position:absolute;z-index:3;top:4px;left:4px;right:4px;display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}.stack-chip-names>.stack-chip{position:static}.stack-chip-imbued{border-color:var(--accent-2);color:var(--accent-2);font-weight:700}.stack-chip-prepared{border-color:var(--accent);color:var(--accent);font-weight:700}.stack-chip-negated{border-color:var(--danger);color:var(--danger);font-weight:700}.canceled{text-decoration:line-through;opacity:.6}.event-log{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px;height:100%;max-height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;overflow:hidden}.event-log-section{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.event-log-section h4{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-2);border-bottom:1px solid var(--border);padding-bottom:3px}.event-log ol{margin:4px 0 0 16px;padding:0 4px 4px 0;font-size:12px;color:var(--muted);list-style:decimal inside;flex:1;min-height:0;overflow-y:auto}.event-log li.log-separator{list-style:none;display:flex;align-items:center;gap:8px;margin:8px 0 8px -16px;padding:0;color:var(--accent-2);font-size:11px;text-transform:uppercase;letter-spacing:.6px}.event-log li.log-separator:before,.event-log li.log-separator:after{content:"";flex:1;border-top:1px solid var(--border)}.event-log-empty{font-size:12px;color:var(--muted);margin-top:4px;flex:1;min-height:0;overflow-y:auto}.phase-indicator{text-align:center;padding:10px 16px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.phase-indicator.my-turn{border-color:var(--accent);background:#ffc85714;box-shadow:0 0 12px #ffc85740}.phase-indicator.over{border-color:var(--danger)}.phase{font-size:18px;font-weight:700}.phase.my-turn{color:var(--accent)}.phase.over{color:var(--danger)}.turn-line{font-size:12px;color:var(--muted);margin-top:4px}.skips{font-size:11px;color:var(--danger)}.phase-banner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;cursor:wait;background:#04050c8c;animation:phase-banner-dim 1.9s ease forwards}.phase-banner-text{font-family:Georgia,Times New Roman,serif;font-size:64px;font-weight:700;letter-spacing:.12em;color:#fff;animation:phase-banner-text 1.9s ease forwards}.phase-banner-text.mine{text-shadow:0 0 18px color-mix(in srgb,var(--banner-mine) 90%,transparent),0 0 60px color-mix(in srgb,var(--banner-mine) 50%,transparent),0 2px 6px #000}.phase-banner-text.opp{text-shadow:0 0 18px color-mix(in srgb,var(--banner-opp) 90%,transparent),0 0 60px color-mix(in srgb,var(--banner-opp) 50%,transparent),0 2px 6px #000}.phase-banner-streak{height:3px;width:min(70vw,720px);margin:6px 0 10px;animation:phase-banner-streak 1.9s ease forwards}.phase-banner-streak.mine{background:linear-gradient(90deg,transparent,var(--banner-mine),#fff,var(--banner-mine),transparent);box-shadow:0 0 16px color-mix(in srgb,var(--banner-mine) 80%,transparent)}.phase-banner-streak.opp{background:linear-gradient(90deg,transparent,var(--banner-opp),#fff,var(--banner-opp),transparent);box-shadow:0 0 16px color-mix(in srgb,var(--banner-opp) 80%,transparent)}.phase-banner-sub{font-size:20px;color:#e8dcc0;text-shadow:0 1px 4px #000;animation:phase-banner-sub 1.9s ease forwards}@keyframes phase-banner-dim{0%{opacity:0}12%{opacity:1}75%{opacity:1}to{opacity:0}}@keyframes phase-banner-text{0%{opacity:0;transform:scale(.82)}18%{opacity:1;transform:scale(1.04)}30%{opacity:1;transform:scale(1)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}@keyframes phase-banner-streak{0%{opacity:0;transform:scaleX(0)}20%{opacity:1;transform:scaleX(1)}70%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes phase-banner-sub{0%,15%{opacity:0;transform:translateY(8px)}35%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}.anim-stage{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.anim-anchor{min-width:96px;min-height:64px;display:flex;align-items:center;justify-content:center;padding:6px 10px;border:1px dashed #6b7a99;border-radius:8px;color:#aeb9cf;font-size:12px;background:#141c2c99}.traversal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:54;pointer-events:none}.traversal-ghost{position:absolute;left:0;top:0;width:132px;height:184px;perspective:600px;will-change:transform,opacity}.traversal-ghost-reveal{width:330px;height:462px}.traversal-flip{width:100%;height:100%;position:relative;transform-style:preserve-3d}.traversal-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 8px 28px #0009,0 0 18px #ffffff26;background:repeating-linear-gradient(45deg,#263049 0,#263049 6px,#1d2536 6px,#1d2536 12px)}.traversal-face img{width:100%;height:100%;object-fit:cover;display:block}.traversal-backface{transform:rotateY(180deg)}@media (prefers-reduced-motion: reduce){.phase-banner-overlay,.phase-banner-text,.phase-banner-streak,.phase-banner-sub{animation-duration:.01s}.ability-badges-portal{animation:none}}.actions{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.action-group{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.action-btn{width:100%;text-align:left;font-size:13px}.action-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.btn-mini{min-height:40px;padding:6px 12px;font-size:12px}.target-picker{position:fixed;z-index:54;bottom:64px;left:50%;transform:translate(-50%);max-width:min(480px,90vw);background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:8px;animation:portal-pulse .32s ease-out}.target-picker-title{font-size:11px;color:var(--muted)}.target-picker-badges{display:flex;flex-wrap:wrap;gap:6px}.target-pick-mine{border-color:var(--accent-2);color:var(--accent-2)}.target-pick-foe{border-color:var(--danger);color:var(--danger)}.target-pick-picked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}@keyframes portal-pulse{0%{box-shadow:0 0 #fff0}30%{box-shadow:0 0 14px 2px var(--accent)}to{box-shadow:0 0 #fff0}}.target-picker-cancel{align-self:flex-end}@keyframes damage-shake{0%,to{transform:translate(0)}20%{transform:translate(var(--jx, 8px),var(--jy, -8px))}40%{transform:translate(calc(var(--jx, 8px) * -1),calc(var(--jy, -8px) * -1))}60%{transform:translate(calc(var(--jx, 8px) * .6),calc(var(--jy, -8px) * .6))}80%{transform:translate(calc(var(--jx, 8px) * -.4),calc(var(--jy, -8px) * -.4))}}.damage-hit{position:relative;animation:damage-shake .28s linear}.damage-hit:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;pointer-events:none;background:radial-gradient(ellipse at center,#ff3c3c00 75%,color-mix(in srgb,var(--shake) 40%,transparent));box-shadow:inset 0 0 6px 2px color-mix(in srgb,var(--shake) 60%,transparent)}.ability-badges{position:absolute;bottom:100%;left:0;width:100%;margin-bottom:6px;z-index:30;padding:6px;transform:none}.ability-badges .target-picker-badges{flex-direction:column;flex-wrap:nowrap}.ability-badges .btn{width:100%;white-space:normal;text-align:center}.ability-badges-portal{animation:ability-portal-in .16s ease-out}@keyframes ability-portal-in{0%{transform:translateY(10px);opacity:0}}.ability-badges-portal>.ability-badges{position:static;width:100%;margin-bottom:0}.ability-badges-portal>.attack-confirm{position:static;left:auto;bottom:auto;transform:none;max-width:none;width:100%}.attack-confirm-rows{flex-direction:column;flex-wrap:nowrap}.attack-confirm-rows .btn,.attack-confirm-weapons .btn{width:100%;white-space:normal;text-align:center}.attack-confirm-weapons{flex-wrap:wrap}.action-hint{margin-top:8px}.group-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.builder-shell{padding:16px;display:flex;flex-direction:column;gap:12px}.builder-toolbar{display:flex;gap:8px;align-items:center}.builder-toolbar .deck-name{flex:1;max-width:320px}.builder-toolbar select{max-width:190px}.import-box{display:flex;flex-direction:column;gap:8px;margin:8px 0}.import-box .import-text{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.builder-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;align-items:start}.builder-grid>*{min-width:0}.builder-grid-even{grid-template-columns:1fr 1fr}.builder-grid .panel{width:auto}.deck-previews{display:flex;gap:12px;align-items:start}.deck-preview{width:calc(50% - 6px);flex:none;min-width:0;max-height:52vh;overflow-y:auto}.deck-preview .deck-list{max-height:none}.deck-pick-ai.fixed{height:calc(100vh - 250px);min-height:430px;overflow-y:auto}.deck-pick-ai .deck-preview{width:auto;max-height:none}.builder-filters{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.builder-filters input{flex:1;min-width:160px}.pool-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;max-height:70vh;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:8px;align-content:flex-start}.pool-pick{position:relative;min-width:0}.pool-pick .card{width:100%;height:auto;aspect-ratio:92 / 128}.pool-count{position:absolute;left:3px;top:3px;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#14100a;font-size:12px;font-weight:800;box-shadow:0 0 0 2px #00000073;pointer-events:none}.pool-remove{position:absolute;right:3px;bottom:3px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:none;background:#0a0804b8;color:#ff9b8a;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 0 0 2px #00000073;z-index:3}.builder-deck h2{margin:0 0 6px;font-size:14px}.deck-list{list-style:none;margin:0 0 12px;padding:0;max-height:30vh;overflow-y:auto;border:1px solid var(--border);border-radius:8px;text-align:left}.deck-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 10px;border-bottom:1px solid var(--border)}.deck-row>div{min-width:0}.deck-row:last-child{border-bottom:none}.deck-row-name{font-weight:600;display:inline-block;max-width:100%;vertical-align:bottom}.deck-row-meta{font-size:11px;color:var(--muted);margin-left:8px}.deck-row-count{display:flex;align-items:center;gap:6px}.deck-row-count .count{min-width:18px;text-align:center;font-weight:700}.deck-issues{margin:4px 0;padding-left:18px;color:var(--danger);font-size:12px}.ok-note{color:var(--ok);font-size:13px;margin:4px 0}.err-note{color:var(--danger);font-size:13px;margin:4px 0;overflow-wrap:anywhere}.deck-pick-row{flex:1;width:100%;min-height:40px;display:flex;align-items:center;gap:8px;min-width:0;padding:4px 6px;border:1px solid transparent;border-radius:6px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.deck-pick-row .deck-row-count{margin-left:auto}.deck-pick-row:hover{background:var(--panel-2)}.deck-pick-active{border-color:var(--accent);background:var(--panel-2)}.deck-pick-mirror{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px}.replay-shell{display:flex;flex-direction:column;gap:8px;padding:8px 12px;flex:1;min-height:0}.replay-toolbar{flex-wrap:wrap}.replay-slider{flex:1;min-width:160px}.replay-count,.replay-label,.replay-meta,.replay-result{font-size:12px;color:var(--muted);white-space:nowrap}.replay-result{color:var(--ok)}.train-actions{display:flex;gap:8px;margin:10px 0}.train-metrics{display:grid;grid-template-columns:100px 1fr;gap:4px 12px;margin:8px 0;font-size:13px}.train-metrics dt{color:var(--muted)}.train-metrics dd{margin:0}.train-pairings{margin:8px 0;padding-left:20px;font-size:13px}.coach-panel{margin-top:10px;border-top:1px solid var(--border);padding-top:8px;font-size:13px}.coach-hint ul{margin:6px 0;padding-left:20px}.decision-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#04050cd1;padding:24px}.decision-dialog{width:min(880px,94vw);max-height:86vh;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:24px 28px 20px;border:1px solid var(--accent-2);box-shadow:0 24px 80px #000000a6}.decision-question{font-size:21px;font-weight:700;line-height:1.3;color:var(--accent);white-space:nowrap;overflow:hidden;overflow-x:auto;scrollbar-width:thin;flex:none;position:sticky;top:0;z-index:2;background:var(--panel);padding:4px 0}.decision-modes,.decision-list,.decision-prepare{display:flex;flex-direction:column;gap:6px;font-size:14px;text-align:center}.decision-prepare-row{display:flex;gap:10px;align-items:center;justify-content:center}.decision-prepare-row input[type=range]{flex:none;width:300px;min-height:40px;accent-color:var(--accent)}.decision-prepare-row input[type=number]{width:64px}.decision-list{flex-direction:row;flex-wrap:wrap;gap:8px}.decision-list>.decision-modes{flex:1 1 100%}.decision-count{width:100%;font-weight:600;color:var(--accent-2);margin-bottom:2px}.decision-narrow{flex:1 1 100%;width:100%;box-sizing:border-box;padding:7px 10px;font:inherit;color:inherit;background:#0a0804b8;border:1px solid rgba(255,200,87,.35);border-radius:8px}.decision-starcall-wrap{position:relative;display:inline-block}.decision-starcall-badge{position:absolute;left:4px;bottom:4px;pointer-events:none}.decision-overlay.staged-glimpse{pointer-events:none;z-index:46}.decision-overlay.staged-glimpse .decision-dialog{pointer-events:auto}.decision-tile{position:relative;width:106px;height:147px;border-radius:8px;overflow:hidden;border:2px solid var(--border);background:var(--panel-2);padding:0;cursor:pointer;color:inherit;transition:border-color .12s ease,transform .12s ease}.decision-tile[draggable=true]{touch-action:none}.decision-tile:hover{border-color:var(--accent-2);transform:translateY(-2px)}.decision-tile.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 6px 18px #00000073}.decision-tile-img{width:100%;height:100%;object-fit:cover;display:block}.decision-tile-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:6px;text-align:center;font-size:11px;color:var(--muted)}.decision-check{position:absolute;right:3px;top:3px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#14100a;font-size:12px;font-weight:800;box-shadow:0 0 0 2px #00000073}.decision-pick-order{position:absolute;left:3px;top:3px;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:#14100a;font-size:12px;font-weight:800;box-shadow:0 0 0 2px #00000073}.decision-mode-tile{width:100%;height:auto;min-height:0;padding:6px 30px 6px 10px;text-align:left;overflow:visible}.decision-mode-tile:hover{transform:none}.decision-mode-tile.disabled{opacity:.38;cursor:not-allowed}.decision-mode-tile.disabled:hover{transform:none}.decision-mode-text{display:block;font-size:13px;line-height:1.3;white-space:normal}.decision-remove{position:absolute;right:3px;bottom:3px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:999px;border:none;background:#0a0804b8;color:#ff9b8a;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 0 0 2px #00000073}.decision-tile.dragging{opacity:.35}.decision-tile[data-slot]:active{cursor:grabbing}.decision-split-row{width:100%;display:flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);font-size:13px}.decision-split-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decision-split-step{width:40px;height:40px;border-radius:6px;border:1px solid var(--border);background:var(--panel-1);color:inherit;font-size:15px;line-height:1;cursor:pointer}.decision-split-step:hover{border-color:var(--accent-2)}.decision-split-amount{min-width:26px;text-align:center;font-weight:700;color:var(--accent-2)}.decision-plan{display:flex;flex-direction:column;gap:10px}.decision-plan-hint{font-size:12px;color:var(--muted);margin-top:-4px}.decision-deck{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-height:120px;min-width:0;padding:8px;border:1px dashed var(--border);border-radius:10px;background:#ffffff05;transition:border-color .12s ease}.decision-deck:active{border-color:var(--accent);background:#f0c8780d}.decision-zone{display:flex;flex-direction:column;gap:8px;min-height:120px;min-width:0;padding:10px;border:2px dashed var(--border);border-radius:10px;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.decision-zone.over{border-color:var(--accent-2);background:#f0c8780f;box-shadow:inset 0 0 0 1px var(--accent-2)}.decision-zone-title{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-2)}.decision-zone-empty{font-size:13px}.decision-slots{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:6px;min-width:0}.decision-slot{flex:0 0 10px;min-width:10px;align-self:stretch;border-radius:6px;border:2px dashed transparent;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.decision-deck .decision-tile{width:100%;min-width:0;height:auto;aspect-ratio:106 / 147}.decision-zone .decision-tile{flex:0 1 106px;width:auto;min-width:26px;height:auto;aspect-ratio:106 / 147}.card-nameplate{position:absolute;top:0;left:0;right:0;padding:2px 6px;background:#0000008c;color:#eee;font-size:11px;font-weight:600;pointer-events:none}.decision-slot.over{border-color:var(--accent);background:#f0c87814;box-shadow:0 0 10px var(--accent)}.ok-note{align-self:center}.decision-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:4px}.home-btn-row{display:flex;align-items:stretch;gap:8px;flex-wrap:nowrap;margin:6px 0}.home-btn-row>.btn{flex:1 1 0;min-width:0}.home-brand{display:flex;align-items:center;gap:10px}.home>.panel{background:linear-gradient(#080a12d1,#080a12d1),url(/card-back.jpg) center / cover,var(--panel)}.pool-pick .card-selected{box-shadow:0 0 0 2px var(--accent),0 6px 18px #00000073}.appear-editions h3{margin:0 0 8px}.appear-edition-grid{display:flex;flex-wrap:wrap;gap:10px}.appear-edition{width:132px;border-radius:8px;overflow:hidden;border:2px solid var(--border);background:var(--panel-2);padding:0;cursor:pointer;color:inherit}.appear-edition.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 6px 18px #00000073}.appear-edition img{width:100%;aspect-ratio:63 / 88;object-fit:cover;object-position:top;display:block}.appear-edition-fallback{display:flex;align-items:center;justify-content:center;aspect-ratio:63 / 88;padding:6px;font-size:11px;color:var(--muted);text-align:center}.appear-edition-label{display:block;font-size:11px;padding:4px 6px;text-align:center}.bug-tools{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px;width:100%;box-sizing:border-box}.bug-tools h3{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.6px}.bug-text{width:100%;min-height:56px;box-sizing:border-box;margin:6px 0;font-size:12px;resize:vertical}.bug-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.flag-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px}.flag-move{flex:1 1 100%;color:var(--muted)}.flag-ok{border-color:var(--ok);color:var(--ok)}.flag-bad{border-color:var(--danger);color:var(--danger)}.decision-imbue{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:2px solid var(--border);cursor:pointer;font-size:13px}.decision-imbue.on{border-color:var(--accent);background:#f0c87814;box-shadow:inset 0 0 0 1px var(--accent)}.decision-imbue.off{border-style:dashed;color:var(--muted)}.decision-imbue input{accent-color:var(--accent)}.decision-zone-group{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border);border-radius:10px}.decision-zone-tiles{display:flex;flex-wrap:wrap;gap:8px}.test-lab{display:flex;flex-direction:column;gap:10px}.test-lab-tabs{display:flex;gap:8px;margin-top:8px}.test-lab-tabs .btn{flex:1 1 0;min-width:0}.test-lab-cols{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.test-lab-match{gap:0}.test-lab-match .match-view{min-height:calc(100vh - 16px)}.match-view{display:flex;gap:10px;align-items:flex-start}.match-panel-wrap{position:fixed;top:50px;left:8px;bottom:8px;width:300px;z-index:40;transition:transform .18s ease-out}.match-panel-wrap-collapsed{transform:translate(calc(-100% - 8px))}.match-panel{height:100%;width:100%;padding:12px;text-align:left;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.match-panel-edge{position:absolute;right:-34px;top:12px;width:34px;padding:8px 0;border-radius:0 8px 8px 0}.match-panel-head{display:flex;align-items:center;justify-content:space-between}.match-panel textarea{width:100%;box-sizing:border-box;font-family:inherit}.match-board{flex:1 1 0;min-width:0}.anim-panel-float{position:fixed;z-index:40;width:300px;height:50vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px;box-sizing:border-box;transition:transform .18s ease-out}.anim-panel-float-collapsed{transform:translate(calc(-100% - 8px))}.anim-panel-float .match-panel{height:auto;flex:1;min-height:0;width:100%;border:0;padding:8px 0 0}.anim-panel-grip{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:none}.anim-panel-grip:active{cursor:grabbing}.anim-view{display:flex;gap:10px;align-items:flex-start}.test-lab-anim .anim-view{min-height:calc(100vh - 16px)}.match-panel .lab-scenario-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.match-panel .lab-scenario-grid .test-lab-item{aspect-ratio:auto;padding:4px 3px;font-size:11px}.match-panel .lab-scenario-grid .test-lab-item strong{font-size:11px}.lab-scenario-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.lab-scenario-grid .test-lab-item{width:auto;aspect-ratio:1 / 1;white-space:normal;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px}.lab-scenario-grid .test-lab-item strong{white-space:normal;overflow:visible;text-overflow:clip}.test-lab-cols .test-lab-list{flex:0 0 35%;min-width:min(100%,260px)}.test-lab-cols .test-lab-preview{flex:1 1 0;min-width:min(100%,320px)}.test-lab-list{display:flex;flex-direction:column;gap:6px;max-height:80vh;min-height:200px;overflow-y:auto}.test-lab-list .join-form{flex-wrap:wrap;margin-top:0}.test-lab-list .join-form input,.test-lab-list .join-form select[aria-label=keyword]{flex:1 1 100%;min-width:0}.test-lab-list .join-form select[aria-label="search scope"]{flex:1 1 auto;min-width:0}.test-lab-item{display:block;width:100%;box-sizing:border-box;text-align:left;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);cursor:pointer;color:inherit;font-size:12px}.test-lab-item strong{display:block;font-weight:600}.test-lab-item .muted{display:block;font-size:11px}.test-lab-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.card-pick-form{flex-direction:column;align-items:stretch}.card-pick-form input{flex:none;width:100%;box-sizing:border-box}.card-pick-results{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto;min-height:0}.test-lab-checks{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}.test-lab-check{display:flex;align-items:center;gap:6px;font-size:13px}.test-lab-preview{display:flex;flex-direction:column;gap:10px;min-width:0}.test-lab-preview .panel{width:100%;min-width:0;overflow-wrap:break-word}.decision-overlay-static{display:flex;align-items:center;justify-content:center;background:#04050cd1;padding:24px;border-radius:14px}.lab-readout{font-size:11px;color:var(--muted);padding:4px 8px}.test-lab-preview .decision-bare{width:min(680px,100%);max-height:86vh;overflow:auto;margin:0}.test-lab-log{max-height:220px;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;font-size:12px}.test-lab-card{display:grid;width:100%;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:12px;align-items:start}@media (max-width: 900px){.test-lab-card{grid-template-columns:minmax(0,1fr)}.test-lab-art{width:140px}}.test-lab-art{width:100%;height:auto;border-radius:8px}.pill-switch{display:inline-flex;align-items:center;gap:8px;flex:0 1 15%;min-width:max-content;min-height:43px;padding:7px 14px 7px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);font-size:13px;cursor:pointer}.pill-switch .pill-knob{width:30px;height:16px;border-radius:999px;background:var(--border);position:relative;transition:background .15s}.pill-switch .pill-knob:after{content:"";position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:var(--text);transition:left .15s}.pill-switch.on{color:var(--text);border-color:var(--ok)}.pill-switch.on .pill-knob{background:var(--ok)}.pill-switch.on .pill-knob:after{left:15px}.decision-tile-detail{position:absolute;top:4px;left:4px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;pointer-events:none}.decision-tile.tile-rested .decision-tile-img{transform:rotate(-4deg);opacity:.85}.spec-switch{display:flex;gap:6px;align-items:center}.spec-single{display:flex;justify-content:center}.spec-dual{display:grid;grid-template-columns:1fr 1fr;gap:8px}.badge-unimpl{border-color:var(--danger);color:var(--danger);font-weight:700}.card-unimpl{position:relative}.card-unimpl>.badge-unimpl,.sunk-card>.badge-unimpl,.decision-tile>.badge-unimpl{position:absolute;top:3px;left:3px;z-index:3;pointer-events:none}.gfx-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#04050c99}.gfx-dialog{max-width:640px;width:min(94vw,640px);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;padding:14px 16px}.gfx-dialog-head{display:flex;align-items:center;justify-content:space-between}.gfx-dialog-head h3{margin:0}.gfx-dialog-body{display:flex;gap:14px;margin-top:10px;min-height:0}.gfx-dialog .btn{min-height:43px;font-size:16px;font-weight:600}.gfx-nav{display:flex;flex-direction:column;gap:8px;flex:none;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.gfx-nav .btn{padding:10px 18px}.gfx-pane{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding-right:4px}.gfx-pane section+section{margin-top:14px}.gfx-dialog h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.gfx-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;font-size:13px}.gfx-zone-name{text-transform:capitalize}.gfx-colors{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:6px}.gfx-well{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--muted)}.gfx-well input[type=color]{width:28px;height:22px;padding:0;border:1px solid var(--border);border-radius:4px;background:none}.gfx-well .gfx-hex{width:64px}
