:root{--bg: #0f1a20;--felt: #16332f;--felt-2: #1b3d38;--panel: #18242c;--panel-2: #212f39;--line: #2e4150;--text: #e7ecef;--muted: #8ea2b0;--accent: #d9a441;--accent-2: #f1c46b;--danger: #e2574c;--ok: #4cbb7f;--ar: 1;color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:5px 10px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#1a1408;font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-2)}button.ghost{background:transparent}button.tiny{padding:0 6px;font-size:12px}input,select,textarea{background:#0d161b;border:1px solid var(--line);border-radius:6px;padding:6px 8px}textarea{width:100%;resize:vertical;font-family:ui-monospace,Menlo,monospace;font-size:12px}a{color:var(--accent-2)}.muted{color:var(--muted)}.small{font-size:12px}.warn{color:var(--accent-2)}.pad{padding:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.stack label{display:flex;flex-direction:column;gap:4px}.stack label.check{flex-direction:row;align-items:center}.tag{font-size:11px;padding:1px 6px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);margin-left:6px}.tag.ok{color:var(--ok);border-color:var(--ok)}.tag.danger{color:var(--danger);border-color:var(--danger)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.dot.on{background:var(--ok)}.dot.off{background:#555}.center-screen{min-height:100%;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 600px at 50% -10%,#1f4a43 0%,var(--bg) 60%)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}.panel.narrow{width:min(380px,100%);text-align:center}.panel.narrow form{display:flex;gap:8px;margin-top:12px}.panel.narrow input{flex:1}.panel.wide{width:min(960px,100%)}.brand{font-family:Georgia,Times New Roman,serif;letter-spacing:.5px;color:var(--accent-2);margin:0}.lobby-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.lobby-head h2{margin:0}.lobby-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:760px){.lobby-cols{grid-template-columns:1fr}}.room-list,.player-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.room-list li{display:flex;justify-content:space-between;align-items:center;background:var(--panel-2);border-radius:8px;padding:10px 12px;gap:8px}.player-list li{display:flex;align-items:center;gap:6px;background:var(--panel-2);border-radius:8px;padding:8px 10px;flex-wrap:wrap}.player-list .muted{margin-left:auto;font-size:12px}.pregame{min-height:100%;padding:16px;display:grid;place-items:start center}.pregame .panel{width:min(1100px,100%)}.pregame section{display:flex;flex-direction:column;gap:10px}.pregame h3{margin:0}.saved-decks{display:flex;flex-wrap:wrap;gap:6px}.saved{display:inline-flex}.saved button:first-child{border-radius:6px 0 0 6px}.saved .x{border-radius:0 6px 6px 0;border-left:none;padding:5px 7px}.deck-preview{background:var(--panel-2);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.cmdrs{display:flex;gap:6px}.cmdrs img{width:110px;border-radius:6px}.log.mini{max-height:160px;overflow:auto;font-size:12px;background:#0d161b;border-radius:8px;padding:8px}.table-layout{display:grid;grid-template-columns:1fr clamp(260px,19vw,400px);height:100vh;height:100dvh;overflow:hidden}@media(max-width:1000px){.table-layout{grid-template-columns:1fr;grid-template-rows:100dvh auto;height:auto;min-height:100vh;overflow:visible}}.table-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--felt);background-image:radial-gradient(circle at 50% 50%,var(--felt-2),var(--felt) 70%)}.topbar{display:flex;align-items:center;gap:12px;padding:6px 10px;background:#00000059;border-bottom:1px solid var(--line);flex-wrap:wrap}.turn-info{display:flex;flex-direction:column;line-height:1.1;min-width:110px}.turn-no{font-size:11px;color:var(--muted)}.turn-who{font-weight:600;color:var(--accent-2)}.phases{display:flex;gap:2px;flex-wrap:wrap;flex:1}.phase{font-size:11px;padding:3px 6px;background:transparent;border-color:transparent;color:var(--muted)}.phase.on{background:var(--accent);color:#1a1408;font-weight:600}.phase:disabled{opacity:1;cursor:default}.turn-actions{display:flex;gap:6px}.opponents{display:grid;gap:4px;padding:4px;flex:1 1 0;min-height:0}.opponents.n1{grid-template-columns:1fr}.opponents.n2{grid-template-columns:1fr 1fr}.opponents.n3{grid-template-columns:1fr 1fr 1fr}.opponents.n4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.empty-opps{display:grid;place-items:center;color:var(--muted)}.player{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#0000001f;min-height:0;position:relative}.player.me{flex:1.25 1 0;margin:0 4px}.player.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.player.conceded{opacity:.45}.player-header{display:flex;align-items:center;gap:10px;padding:4px 8px;background:#00000047;border-radius:10px 10px 0 0;flex-wrap:wrap}.ph-name{display:flex;align-items:center;min-width:0}.ph-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.life{display:flex;align-items:center;gap:4px}.life button{padding:0 8px}.life-total{font-size:22px;font-weight:700;min-width:42px;text-align:center;cursor:default;color:#fff}.life-total.editable{cursor:pointer}.pcounter.ro{cursor:default}.ph-counters{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px}.pcounter{background:#ffffff0f;border-radius:10px;padding:1px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.pcounter.warn{background:var(--danger);color:#fff}.hand-count{color:var(--muted)}.player-body{display:flex;flex:1;min-height:0}.battlefield{position:relative;flex:1;min-height:120px;overflow:hidden;--ar: 1;container-type:size}.battlefield .card.on-bf{position:absolute;width:calc(var(--f) * 100cqw);transition:left .12s,top .12s,transform .15s}.player.me .battlefield{min-height:200px}.side-zones{display:flex;flex-direction:column;gap:6px;padding:6px;width:76px;flex-shrink:0;overflow:auto}.player.compact .side-zones{width:60px}.pile{position:relative;cursor:pointer}.pile .card{width:100%}.pile-empty{aspect-ratio:63/88;border:1px dashed rgba(255,255,255,.18);border-radius:5px}.pile-label{position:absolute;left:1px;right:1px;bottom:2px;font-size:9.5px;line-height:1.3;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#000000b3;border-radius:3px;padding:1px;pointer-events:none}.pile-label .pl-short,.player.compact .pile-label .pl-full{display:none}.player.compact .pile-label .pl-short{display:inline}.pile-command .card,.pile-command .pile-empty{outline:1px solid var(--accent);border-radius:5px}.card{aspect-ratio:63/88;border-radius:5px;position:relative;-webkit-user-select:none;user-select:none;cursor:grab;background:#222;box-shadow:0 1px 3px #0009}.card img{width:100%;height:100%;object-fit:cover;border-radius:5px;display:block}.card.tapped{transform:rotate(90deg)}.card.attacking{box-shadow:0 0 0 3px #e0503c,0 0 14px #e0503c99}.card.blocking{box-shadow:0 0 0 3px #3c8ce0,0 0 14px #3c8ce099}.card.combat-picked{box-shadow:0 0 0 3px #e0a030}.card.combat-selected{box-shadow:0 0 0 3px #e0a030,0 0 16px #e0a030;transform:translateY(-6px)}.card.sick img{filter:saturate(.75)}.card:hover{box-shadow:0 0 0 2px var(--accent-2),0 2px 8px #0009;z-index:50!important}.card.picked{box-shadow:0 0 0 3px var(--danger);transform:translateY(-10px)}.card-back{width:100%;height:100%;border-radius:5px;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#23324a 0 6px,#1b2738 6px 12px);border:3px solid #0e1622}.card-back:after{content:"";width:40%;aspect-ratio:1;border-radius:50%;border:2px solid var(--accent);opacity:.7}.card-back span{position:absolute;font-size:9px;color:var(--muted);bottom:4px}.facedown-peek{position:absolute;right:2px;top:2px;width:35%;opacity:.9;pointer-events:none}.facedown-peek img{border-radius:3px}.card-text{width:100%;height:100%;background:#e9e3d3;color:#1b1b1b;border-radius:5px;padding:4px;font-size:9px;overflow:hidden;border:3px solid #111}.ct-name{font-weight:700;font-size:10px}.ct-type{font-style:italic;border-bottom:1px solid #999;margin-bottom:2px}.badge{position:absolute;font-size:10px;font-weight:700;padding:0 4px;border-radius:4px;pointer-events:none;line-height:15px}.badge.pt{right:2px;bottom:2px;background:#f3efe6;color:#111;border:1px solid #000}.badge.plus{left:2px;bottom:2px;background:var(--ok);color:#fff}.badge.loyalty{right:2px;bottom:2px;background:#222;color:#fff;border:1px solid var(--accent)}.badge.token{left:2px;top:2px;background:#000000b3;color:var(--accent-2);font-weight:500}.badge.cmdr{right:2px;top:2px;background:var(--accent);color:#1a1408}.badge.note{left:0;right:0;top:40%;text-align:center;background:#000c;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge.revealed{left:2px;top:2px;background:var(--accent);color:#1a1408}.badge.tax{right:-4px;top:-4px;background:var(--danger);color:#fff}.counter-list{position:absolute;left:2px;top:18px;display:flex;flex-direction:column;gap:1px;pointer-events:none}.counter-chip{font-size:9px;background:#000c;color:#fff;border-radius:3px;padding:0 3px}.hand{display:flex;align-items:center;gap:8px;padding:4px 10px 8px;background:#0006;border-top:1px solid var(--line);flex-shrink:0;--hand-w: clamp(62px, 10.5vh, 132px);min-height:calc(var(--hand-w) * 1.4 + 24px)}.hand-label{writing-mode:vertical-rl;transform:rotate(180deg);color:var(--muted);font-size:11px}.hand-cards{display:flex;gap:0;overflow-x:auto;overflow-y:visible;padding-top:12px;flex:1 1 auto;min-width:0}.hand-cards .card{width:var(--hand-w);flex-shrink:0;margin-right:calc(var(--hand-w) * -.16);transition:transform .1s}.hand-cards .card:hover{transform:translateY(-10px);z-index:5}.stack-strip{display:flex;align-items:center;gap:8px;padding:6px 12px;margin:0 4px;background:#d9a4411f;border:1px dashed var(--accent);border-radius:8px}.stack-strip .card{width:64px}.stack-label{font-weight:700;color:var(--accent-2)}.stack-hint{font-size:11px;color:var(--muted)}.mulligan-bar{position:fixed;left:50%;bottom:150px;transform:translate(-50%);background:var(--panel);border:1px solid var(--accent);border-radius:10px;padding:10px 14px;display:flex;gap:10px;align-items:center;z-index:60;box-shadow:0 6px 30px #0009;max-width:calc(100vw - 32px);flex-wrap:wrap}.mode-banner{position:fixed;top:6px;left:50%;transform:translate(-50%);background:var(--accent);color:#1a1408;padding:6px 12px;border-radius:8px;display:flex;gap:10px;align-items:center;z-index:70;font-weight:600}.mode-attach .battlefield,.mode-arrow .battlefield,.mode-imprint .card,.mode-arrow .player-header{cursor:crosshair}.arrows{position:fixed;inset:0;pointer-events:none;width:100vw;height:100vh;z-index:55}.sidebar{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--panel);border-left:1px solid var(--line);min-height:0}.preview{aspect-ratio:63/88;width:100%;max-height:42vh;display:grid;place-items:center}.preview img{width:100%;height:100%;object-fit:contain;border-radius:12px}.preview.empty{border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px}.preview-text{background:var(--panel-2);border-radius:12px;padding:12px;height:100%;width:100%;overflow:auto}.tools{display:flex;flex-wrap:wrap;gap:4px}.die-custom{display:inline-flex;align-items:center;gap:2px}.die-custom input{width:54px;padding:4px}.log{display:flex;flex-direction:column;flex:1;min-height:160px;background:#0d161b;border-radius:8px}.log-tabs{display:flex}.log-tabs button{flex:1;border-radius:0;background:transparent;border:none;border-bottom:2px solid transparent;font-size:12px}.log-tabs button.on{border-bottom-color:var(--accent)}.log-entries{flex:1;overflow-y:auto;padding:6px 8px;font-size:12px;display:flex;flex-direction:column;gap:2px}.log-line time{color:#5f7381;font-size:10px}.log-line.chat{color:#fff}.log-line.chat.mine{color:var(--accent-2)}.log-line.system{color:var(--muted);font-style:italic}.log-line.rules{color:#ffb4a8}.log-line.action{color:#c6d3dc}.log form{padding:6px}.log form input{width:100%}.zone-viewer{position:fixed;right:336px;bottom:170px;width:min(620px,calc(100vw - 32px));max-height:70vh;background:var(--panel);border:1px solid var(--accent);border-radius:10px;z-index:65;display:flex;flex-direction:column;box-shadow:0 10px 40px #0009}@media(max-width:1000px){.zone-viewer{right:16px}}.zone-viewer header{cursor:move;display:flex;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}.zone-viewer header .muted{flex:1;font-size:12px}.zv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;padding:10px;overflow:auto}.zv-item{display:flex;flex-direction:column;gap:4px}.zv-actions{display:flex;gap:2px}.zv-actions button{flex:1;padding:1px 2px;font-size:11px}.ctx-backdrop{position:fixed;inset:0;z-index:100}.ctx-menu{position:absolute;list-style:none;margin:0;padding:4px 0;min-width:210px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 30px #0009}.ctx-menu li{position:relative;padding:5px 12px;display:flex;justify-content:space-between;gap:12px;cursor:pointer;white-space:nowrap}.ctx-menu li:hover{background:var(--panel-2)}.ctx-menu li.disabled{color:var(--muted);cursor:default}.ctx-menu .ctx-title{font-weight:700;color:var(--accent-2);cursor:default;border-bottom:1px solid var(--line);margin-bottom:4px}.ctx-menu .ctx-title:hover{background:transparent}.ctx-menu .ctx-div{height:1px;padding:0;margin:4px 0;background:var(--line)}.ctx-menu .hint{color:var(--muted);font-size:11px}.ctx-menu li.disabled.why{flex-direction:column;gap:2px;white-space:normal;max-width:300px}.ctx-menu li.disabled.why .hint{color:#e5a04d}.pile.cast-blocked>.card{filter:grayscale(1);opacity:.55}.ctx-menu .ctx-menu{top:-4px}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:90;padding:16px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;width:min(640px,100%);max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:10px}.modal.small{width:min(360px,100%)}.modal h3{margin:0}.modal label{display:flex;flex-direction:column;gap:6px}.modal label.row{flex-direction:row}.modal form.row input:first-child{flex:1}.quick-tokens{display:flex;flex-wrap:wrap;gap:4px}.token-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.token-search{max-height:50vh;overflow:auto}.token-search .cdb-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}.builder-overlay{position:fixed;inset:0;z-index:800;background:var(--bg)}.token-pick{padding:0;border:none;background:none}.token-pick img{width:100%;border-radius:5px;display:block}.toasts{pointer-events:none;position:fixed;top:52px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:200;width:min(520px,calc(100vw - 32px))}.toast{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:8px;padding:8px 12px;box-shadow:0 6px 20px #00000080}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--accent)}.conn-banner{position:fixed;top:0;left:0;right:0;background:var(--danger);color:#fff;text-align:center;padding:4px;z-index:300;font-size:12px}.cmdr-candidates{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.cmdr-cand{position:relative;padding:0;width:96px;flex-shrink:0;border:2px solid transparent;background:none;border-radius:7px}.cmdr-cand img{width:100%;border-radius:5px;display:block}.cmdr-cand span:not(.cmdr-check){display:block;padding:8px 4px;font-size:11px}.cmdr-cand.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.cmdr-cand:not(.on) img{opacity:.7}.cmdr-check{position:absolute;left:0;right:0;bottom:0;background:var(--accent);color:#1a1408;font-size:10px;font-weight:700;text-align:center;border-radius:0 0 5px 5px}.stack-panel{margin:0 4px;padding:6px 10px;background:#d9a4411f;border:1px dashed var(--accent);border-radius:8px}.stack-panel.my-priority{border-style:solid;box-shadow:0 0 0 2px #d9a44159}.stack-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.stack-prio{font-size:12px;color:var(--muted);flex:1}.stack-items{display:flex;gap:8px;align-items:flex-end;overflow-x:auto}.stack-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.stack-item .card{width:64px}.stack-item.top .card,.stack-item.top .stack-ability{outline:2px solid var(--accent)}.stack-ability{width:120px;min-height:64px;padding:4px 6px;border-radius:6px;background:#00000080;font-size:11px;display:flex;flex-direction:column;gap:2px}.stack-item.kind-trigger .stack-ability{background:#5028788c}.sa-kind{font-weight:700;color:var(--accent-2)}.stack-owner{font-size:10px;color:var(--muted)}.mana-bar{display:flex;align-items:center;gap:4px;padding:3px 10px;background:#0006;border-top:1px solid var(--line);flex-shrink:0}.mana-label{font-size:11px;color:var(--muted);margin-right:4px}.mana-btn{padding:0;background:transparent;border:none;opacity:.45}.mana-btn.has{opacity:1}.mana-sym{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;color:#111;border:1px solid rgba(0,0,0,.5)}.mana-W{background:#f8f3d6}.mana-U{background:#9ccbea}.mana-B{background:#b9aeab}.mana-R{background:#f0a184}.mana-G{background:#9bd3ae}.mana-C{background:#cdc6c1}.autopass{margin-left:auto;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px}.phase.stop{box-shadow:inset 0 -2px 0 var(--danger)}.battlefield .card.linked{filter:brightness(.8) saturate(.7);outline:1px dashed rgba(255,255,255,.45);cursor:pointer}.battlefield .card.linked:hover{filter:none}.mode-banner .muted-dark{font-weight:400;opacity:.75;font-size:12px}.zv-linked{font-size:11px;color:var(--accent);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hand-cards .card.playable{box-shadow:0 0 0 2px #4fb3ff,0 0 12px 2px #4fb3ffa6}.hand-cards .card.playable:hover{transform:translateY(-18px)}.stack-panel{box-shadow:0 6px 24px #00000073}.stack-item.top .card{width:112px}.stack-item.top .stack-ability{min-width:160px;font-size:13px}.action-button{position:relative;z-index:58;display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;margin-left:auto}.action-button>button:first-child{min-width:170px;padding:10px 18px;border-radius:28px;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--accent);border:none;color:#1a1408;box-shadow:0 6px 20px #0000008c}.action-button>button:first-child:hover:not(:disabled){background:var(--accent-2)}.action-button.waiting>button:first-child{background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.ab-label{font-size:16px;font-weight:700}.ab-sub{font-size:11px;opacity:.8;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ab-end{border-radius:16px;font-size:12px;background:#0000008c}.reveal-backdrop{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at center,#d9a4412e,#000000b8 70%);animation:reveal-fade .18s ease-out}.reveal-panel{position:relative;max-width:min(1100px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--panel);border:2px solid var(--accent);border-radius:14px;padding:18px 20px 14px;box-shadow:0 0 0 4px #d9a4412e,0 20px 60px #0009;display:flex;flex-direction:column;gap:14px;animation:reveal-pop .22s cubic-bezier(.2,1.3,.4,1)}.reveal-head{text-align:center}.reveal-head h2{margin:6px 0 2px;font-size:22px;font-weight:600}.reveal-head h2 b{color:var(--accent-2)}.reveal-tag{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--accent);color:#1a1205;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.reveal-sub{color:var(--muted)}.reveal-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.reveal-card{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;animation:reveal-flip .35s ease-out both}.reveal-card img,.reveal-card-text{border-radius:4.75%/3.5%;box-shadow:0 8px 24px #0000008c;aspect-ratio:63 / 88}.reveal-cards.one .reveal-card img,.reveal-cards.one .reveal-card-text{width:min(320px,70vw)}.reveal-cards.few .reveal-card img,.reveal-cards.few .reveal-card-text{width:min(240px,40vw)}.reveal-cards.some .reveal-card img,.reveal-cards.some .reveal-card-text{width:min(170px,28vw)}.reveal-cards.many .reveal-card img,.reveal-cards.many .reveal-card-text{width:min(130px,26vw)}.reveal-card-text{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;background:var(--panel-2);border:1px solid var(--line);font-weight:600;text-align:center}.reveal-card-text small{color:var(--muted);font-weight:400}.reveal-card figcaption{font-size:13px;color:var(--text);max-width:100%;text-align:center}.reveal-foot{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.reveal-hint{color:var(--muted);font-size:12px}.reveal-timer{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff0f}.reveal-timer div{height:100%;background:var(--accent);transform-origin:left;transition:transform .1s linear}.log-line.reveal{color:var(--accent-2);font-weight:600;border-left:3px solid var(--accent);padding-left:6px;background:#d9a44114}@keyframes reveal-fade{0%{opacity:0}}@keyframes reveal-pop{0%{transform:scale(.92);opacity:0}}@keyframes reveal-flip{0%{transform:rotateY(90deg) translateY(10px);opacity:0}}@media(prefers-reduced-motion:reduce){.reveal-backdrop,.reveal-panel,.reveal-card{animation:none}}.target-banner button{background:#1a1408;color:var(--accent-2);border-color:#1a1408}.search-picker-backdrop{position:fixed;inset:0;background:#0000008c;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px}.search-picker{width:min(980px,100%);max-height:90vh;display:flex;flex-direction:column;gap:10px;background:var(--panel, #1b2a26);border:1px solid var(--accent);border-radius:10px;padding:14px}.search-picker header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.search-picker .warn{color:var(--danger);font-size:12px;margin-top:4px}.sp-count{font-weight:700;color:var(--accent-2)}.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;overflow-y:auto;padding:4px}.sp-tile{position:relative;cursor:pointer;border-radius:8px}.sp-tile .card{width:100%;position:relative}.sp-tile.chosen{outline:3px solid #4ade80;outline-offset:2px}.sp-tile.dim{opacity:.5}.sp-tile.illegal{opacity:.3;cursor:not-allowed;filter:grayscale(1)}.sp-qty{position:absolute;right:4px;top:4px;background:#000000bf;color:#fff;font-size:11px;padding:0 5px;border-radius:4px}.sp-chosen{position:absolute;left:4px;bottom:4px;background:#4ade80;color:#062;font-weight:700;font-size:11px;padding:0 5px;border-radius:4px}.sp-dests{margin:0;padding-left:20px;font-size:13px}.search-picker footer{display:flex;gap:8px;align-items:center}.search-picker footer .grow{flex:1}.mode-list{display:flex;flex-direction:column;gap:6px}.mode-option{text-align:left;display:flex;gap:8px;align-items:baseline;padding:8px 10px;white-space:normal}.mode-option.on{outline:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.mode-cost,.mode-count{font-weight:700;color:var(--accent);white-space:nowrap}.ward-banner{top:auto;bottom:210px;flex-wrap:wrap;max-width:calc(100vw - 32px)}.ward-banner button{background:#1a1408;color:var(--accent-2);border-color:#1a1408}.choice-dialog{position:fixed;left:50%;bottom:150px;transform:translate(-50%);background:var(--panel);border:1px solid var(--accent);border-radius:10px;padding:10px 14px;display:flex;gap:12px;align-items:center;z-index:65;box-shadow:0 6px 30px #0009;max-width:calc(100vw - 32px)}.choice-dialog .choice-subject{width:72px;flex:none;position:relative}.choice-body{display:flex;flex-direction:column;gap:8px;min-width:0}.choice-prompt{font-weight:600}.choice-more{opacity:.7;font-weight:400}.choice-options{display:flex;gap:8px;flex-wrap:wrap}.trigger-prompt{align-items:flex-start;max-height:60vh}.trigger-prompt .choice-body{overflow-y:auto;max-height:calc(60vh - 20px);max-width:560px}.trigger-text{font-size:13px;opacity:.9;white-space:pre-line}.trigger-section{display:flex;flex-direction:column;gap:4px}.trigger-label{font-size:12px;font-weight:600;text-transform:none;opacity:.85}.trigger-mode{display:flex;gap:6px;align-items:flex-start;font-size:13px;cursor:pointer}.trigger-mode.unavailable{opacity:.45;cursor:not-allowed}.trigger-targets{display:flex;gap:6px;flex-wrap:wrap}.target-chip{font-size:12px;padding:3px 8px;border-radius:12px}.target-chip.on{background:var(--accent);color:#111;border-color:var(--accent)}.choice-wait{position:fixed;left:50%;bottom:150px;transform:translate(-50%);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 12px;z-index:64;opacity:.9;max-width:calc(100vw - 32px)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.modal.cast-warn{width:min(520px,100%)}.modal.cast-warn p{margin:0}.cast-warn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cast-warn-item{display:flex;gap:10px;align-items:baseline;padding:8px 10px;border-radius:8px;background:#ffffff0a;border-left:3px solid var(--line);line-height:1.35}.cast-warn-item.counter,.cast-warn-item.prohibited{border-left-color:var(--danger)}.cast-warn-item.tax,.cast-warn-item.trigger{border-left-color:var(--accent)}.cast-warn-tag{flex:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:var(--line)}.cast-warn-tag.counter,.cast-warn-tag.prohibited{background:var(--danger);color:#fff}.cast-warn-tag.tax,.cast-warn-tag.trigger{background:var(--accent);color:#1a1408}.modal label.cast-warn-mute{flex-direction:row;font-size:13px;color:var(--muted)}.turn-actions .undo:disabled{opacity:.45;cursor:default}.effects-bar{display:flex;flex-wrap:wrap;gap:6px;padding:4px 8px;font-size:12px}.effect-chip{background:#f5a52426;border:1px solid rgba(245,165,36,.5);border-radius:10px;padding:2px 8px}.badge.manual{position:absolute;top:2px;right:2px;background:#6b4e16;color:#ffd98a;border-radius:4px;padding:0 3px;font-size:11px;cursor:help}.badge.dmg{position:absolute;bottom:20px;right:2px;background:#8f1d1d;color:#fff;border-radius:4px;padding:0 4px;font-size:11px}.badge.temp{position:absolute;bottom:38px;left:2px;right:2px;background:#1e4078e6;color:#dbeafe;border-radius:4px;padding:0 3px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-options .choice-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;width:84px}.choice-options .choice-card .card{width:72px;position:relative}.choice-options .choice-card span{font-size:11px;line-height:1.2;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-typed{display:flex;flex-direction:column;gap:6px}.choice-typed input{min-width:240px;padding:4px 8px}.badge.chosen{position:absolute;top:18px;left:2px;right:2px;background:#3c1e5ae6;color:#f0e6ff;border-radius:4px;padding:0 3px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-more{position:relative}.undo-more-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:80;width:300px;max-width:calc(100vw - 32px);background:var(--panel, #1e1e24);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px 24px #0006}.undo-more-pop label{display:flex;flex-direction:column;gap:4px;font-size:13px}.undo-more-pop select{max-width:100%}.undo-more-pop .muted{font-size:12px;opacity:.75}.undo-more-pop .row{display:flex;gap:6px;justify-content:flex-end}.undo-vote{flex-direction:row}.undo-vote-list{margin:0;padding-left:18px;font-weight:400;font-size:13px;max-height:96px;overflow-y:auto;flex-basis:100%}.badge.stack-count{left:50%;top:50%;transform:translate(-50%,-50%);background:#000000d1;color:#fff;font-size:13px;line-height:20px;padding:0 7px;border-radius:10px;border:1px solid rgba(255,255,255,.5)}.card.tapped .badge.stack-count{transform:translate(-50%,-50%) rotate(-90deg)}.layout-toggle.on{color:var(--accent-2)}@media(max-width:760px){.opponents.n2,.opponents.n3,.opponents.n4{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:minmax(230px,1fr);overflow-y:auto}.opponents>.player{min-height:230px}.player.me{flex:1.6 1 0}.hand{--hand-w: clamp(56px, 8.5vh, 80px)}.side-zones,.player.compact .side-zones{width:48px;padding:4px;gap:4px}.pile-label .pl-full{display:none}.pile-label .pl-short{display:inline}.action-button>button:first-child{min-width:120px;padding:8px 12px}.topbar{gap:6px;padding:4px 6px}}@media(min-width:2200px){.opponents.n4{grid-template-columns:repeat(4,1fr);grid-template-rows:none}}@media(max-height:760px){.player-header{padding:2px 8px}.life-total{font-size:18px}}.zv-linked.gone{opacity:.7;font-style:italic}.cdb-root{--cdb-bg: var(--bg, #0f1a20);--cdb-panel: var(--panel, #18242c);--cdb-panel-2: var(--panel-2, #212f39);--cdb-line: var(--line, #2e4150);--cdb-text: var(--text, #e7ecef);--cdb-muted: var(--muted, #8ea2b0);--cdb-accent: var(--accent, #d9a441);--cdb-danger: var(--danger, #e2574c);--cdb-ok: var(--ok, #4cbb7f);display:flex;flex-direction:column;height:100%;min-height:0;background:var(--cdb-bg);color:var(--cdb-text)}.cdb-root .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cdb-root .row.between{justify-content:space-between}.cdb-root .row.end{justify-content:flex-end}.cdb-root .muted,.cdb-modal .muted{color:var(--cdb-muted, #8ea2b0)}.cdb-root .small,.cdb-modal .small{font-size:12px}.cdb-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--cdb-line);background:var(--cdb-panel)}.cdb-deckname{flex:1 1 200px;font-size:16px;font-weight:600;min-width:0}.cdb-flash{padding:6px 12px;background:var(--cdb-panel-2);border-bottom:1px solid var(--cdb-line);font-size:13px}.cdb-tabs{display:none}.cdb-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr)}.cdb-pane{min-height:0;overflow:auto;padding:12px}.cdb-deck-pane{border-left:1px solid var(--cdb-line);background:var(--cdb-panel)}.cdb-hint{margin-top:8px}.cdb-search{display:flex;flex-direction:column;gap:8px}.cdb-search-bar{flex-wrap:nowrap!important}.cdb-search-input{flex:1;min-width:0;font-size:15px;padding:8px 10px}.cdb-color-row{gap:4px!important}.cdb-pip{padding:3px;border-radius:50%;line-height:0;opacity:.45;background:transparent}.cdb-pip.on{opacity:1;border-color:var(--cdb-accent);box-shadow:0 0 0 1px var(--cdb-accent)}.cdb-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px;padding:10px;background:var(--cdb-panel);border:1px solid var(--cdb-line);border-radius:8px}.cdb-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--cdb-muted)}.cdb-filters label.check{flex-direction:row;align-items:center;color:var(--cdb-text)}.cdb-filters input[type=number]{width:64px}.cdb-search-status{min-height:16px}.cdb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.cdb-grid.small-cards{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.cdb-result{position:relative;cursor:pointer;border-radius:4.75%/3.5%;transition:transform .08s}.cdb-result:hover{transform:translateY(-2px)}.cdb-result.in-deck .cdb-card img{outline:2px solid var(--cdb-ok)}.cdb-result.bad .cdb-card img{outline:2px solid var(--cdb-danger)}.cdb-result-actions{position:absolute;left:6px;right:6px;bottom:6px;display:none;gap:4px;justify-content:center}.cdb-result:hover .cdb-result-actions{display:flex}.cdb-result-actions button{background:#0a1014e0}.cdb-card{position:relative;aspect-ratio:488 / 680;border-radius:4.75%/3.5%;overflow:hidden;background:#000}.cdb-card img{width:100%;height:100%;display:block;object-fit:cover;border-radius:4.75%/3.5%}.cdb-card-text{padding:10px;font-size:12px;color:#ddd}.cdb-flip{position:absolute;top:30%;right:6px;border-radius:50%;width:28px;height:28px;padding:0;background:#0a1014cc}.cdb-badge{position:absolute;top:6px;right:6px;background:var(--cdb-ok);color:#071a10;font-weight:700;font-size:12px;border-radius:10px;padding:1px 7px}.cdb-preview{position:fixed;z-index:1000;pointer-events:none;border-radius:14px;box-shadow:0 10px 40px #0009}.cdb-mana{display:inline-flex;gap:1px;align-items:center;vertical-align:middle}.cdb-mana>span{display:inline-flex;gap:1px;align-items:center}.cdb-mana img{display:block}.cdb-mana-sep{margin:0 3px;color:var(--cdb-muted);font-size:11px}.cdb-command{display:flex;gap:10px;align-items:flex-start}.cdb-commander{width:150px;flex:none}.cdb-commander.empty{display:flex;flex-direction:column;gap:6px;justify-content:center;aspect-ratio:488 / 680;padding:12px;border:2px dashed var(--cdb-line);border-radius:10px;text-align:center}.cdb-stats{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.cdb-count strong{font-size:30px}.cdb-count strong.ok{color:var(--cdb-ok)}.cdb-curve{display:flex;gap:3px;align-items:flex-end;height:70px}.cdb-bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.cdb-bar span{width:100%;background:var(--cdb-accent);border-radius:2px 2px 0 0;min-height:1px}.cdb-bar small{font-size:10px;color:var(--cdb-muted)}.cdb-validation{margin:12px 0;padding:8px 10px;border-radius:8px;border:1px solid var(--cdb-line);font-size:13px}.cdb-validation.ok{border-color:var(--cdb-ok);color:var(--cdb-ok)}.cdb-validation.bad{border-color:var(--cdb-danger)}.cdb-validation.bad>strong{color:var(--cdb-danger)}.cdb-validation ul{margin:4px 0 0;padding-left:18px;color:var(--cdb-text)}.cdb-notes{margin-bottom:8px}.cdb-list-head{margin:12px 0 4px}.cdb-group h4{margin:12px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--cdb-muted)}.cdb-row{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:4px;font-size:13px}.cdb-row:hover{background:var(--cdb-panel-2)}.cdb-row.bad .cdb-name{color:var(--cdb-danger)}.cdb-qty{display:inline-flex;align-items:center;gap:2px;min-width:54px}.cdb-qty span{min-width:16px;text-align:center}.cdb-thumb{width:36px;height:26px;object-fit:cover;border-radius:3px;flex:none}.cdb-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdb-row-actions{display:none;gap:2px}.cdb-row:hover .cdb-row-actions{display:inline-flex}.cdb-pick-commander{margin:12px 0;padding:10px;border:2px solid var(--cdb-accent);border-radius:8px;display:flex;flex-direction:column;gap:8px}.cdb-pick-commander.subtle{border-width:1px;border-color:var(--cdb-line)}.cdb-modal-backdrop{position:fixed;inset:0;z-index:900;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}.cdb-modal{background:var(--panel, #18242c);color:var(--text, #e7ecef);border:1px solid var(--line, #2e4150);border-radius:10px;width:min(640px,100%);max-height:92vh;display:flex;flex-direction:column}.cdb-modal.wide{width:min(1100px,100%)}.cdb-modal-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line, #2e4150)}.cdb-modal-body{padding:14px;overflow:auto}.cdb-modal .stack{display:flex;flex-direction:column;gap:10px}.cdb-modal .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cdb-modal .row.between{justify-content:space-between}.cdb-modal .row.end{justify-content:flex-end}.cdb-picker-bar{margin-bottom:10px}.cdb-picker-bar input:not([type]){flex:1;min-width:160px}.cdb-picker-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.cdb-printing{display:flex;flex-direction:column;gap:4px;padding:4px;text-align:left;background:transparent;border:2px solid transparent;border-radius:10px}.cdb-printing img{width:100%;aspect-ratio:488 / 680;object-fit:cover;border-radius:4.75%/3.5%}.cdb-printing.current{border-color:var(--accent, #d9a441)}.cdb-printing-meta{display:flex;flex-direction:column;font-size:11px;line-height:1.3}.cdb-unresolved{border:1px solid var(--danger, #e2574c);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.cdb-error{color:var(--danger, #e2574c)}@media(max-width:820px){.cdb-tabs{display:flex;border-bottom:1px solid var(--cdb-line)}.cdb-tabs button{flex:1;border:0;border-radius:0;background:transparent;padding:10px}.cdb-tabs button.on{border-bottom:2px solid var(--cdb-accent)}.cdb-body{grid-template-columns:1fr}.cdb-pane{display:none;padding:12px 16px}.cdb-pane.show{display:block}.cdb-deck-pane{border-left:0}.cdb-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.cdb-row-actions{display:inline-flex}.cdb-commander{width:110px}.cdb-preview{display:none}}
