@font-face{font-family:Oswald;src:url(/fonts/oswald.woff2) format("woff2");font-weight:400 700;font-display:swap}:root{--bg: #08060a;--bg-2: #0d0a10;--panel: #141017;--panel-2: #1d1722;--panel-3: #271f2e;--line: #34293f;--line-strong: #4a3a59;--text: #efe9f2;--muted: #9a8fa8;--accent: #e23b2e;--accent-2: #ff8a3d;--gold: #f5c451;--good: #46d369;--bad: #ff4d4d;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow: 0 10px 30px rgba(0,0,0,.55);--shadow-modal: 0 16px 48px rgba(0,0,0,.7);--glow: 0 0 24px rgba(226,59,46,.35);--scrim: rgba(0,0,0,.65);--scrim-blur: blur(3px);--display: "Oswald", "Arial Narrow", system-ui, sans-serif;--body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark;--card-unit: clamp(26px, calc((100dvh - 250px - var(--sat) * 1.3) / 14.6), 54px);--hand-w: calc(var(--card-unit) * 1.55);--pile-w: var(--card-unit);--sat: max(env(safe-area-inset-top, 0px), var(--sat-test, 0px));--surface-0: var(--bg);--surface-1: var(--panel);--surface-2: var(--panel-2);--surface-3: var(--panel-3);--surface-overlay: #2f2536;--civ-light: #f2d65a;--civ-water: #2f8fe0;--civ-darkness: #8b6fc4;--civ-fire: #e23b2e;--civ-nature: #46a04a;--civ-light-soft: color-mix(in srgb, var(--civ-light) 22%, transparent);--civ-water-soft: color-mix(in srgb, var(--civ-water) 22%, transparent);--civ-darkness-soft: color-mix(in srgb, var(--civ-darkness) 22%, transparent);--civ-fire-soft: color-mix(in srgb, var(--civ-fire) 22%, transparent);--civ-nature-soft: color-mix(in srgb, var(--civ-nature) 22%, transparent);--buff: var(--good);--buff-ink: color-mix(in srgb, var(--good) 72%, #fff);--buff-glow: 0 0 0 1px var(--good), 0 0 9px rgba(70,211,105,.55);--nerf: var(--bad);--nerf-ink: color-mix(in srgb, var(--bad) 68%, #fff);--nerf-glow: 0 0 0 1px var(--bad), 0 0 9px rgba(255,77,77,.5);--base-ink: #e7e2ee;--breaker: var(--gold);--target: #f1b53c;--target-glow: 0 0 0 2px var(--target), 0 0 12px rgba(241,181,60,.55);--ready: var(--good);--sick-veil: saturate(.4) brightness(.82);--danger-shields: var(--bad);--badge-ink: rgba(8,11,20,.85);--sp-1: 2px;--sp-2: 4px;--sp-3: 8px;--sp-4: 12px;--sp-5: 16px;--sp-6: 24px;--radius-card: 6px;--radius-badge: 5px;--dur-fast: .12s;--dur-base: .2s;--dur-enter: 225ms;--dur-exit: .18s;--dur-sheet: .22s;--dur-flash: .16s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-accelerate: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.18, .9, .24, 1);--el-card: 0 2px 6px rgba(0,0,0,.35);--el-float: 0 8px 24px rgba(0,0,0,.5);--el-sheet: 0 -6px 28px rgba(0,0,0,.55);--el-rail: 0 0 40px rgba(0,0,0,.6)}*{box-sizing:border-box}::selection{background:#e23b2e66}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:radial-gradient(1100px 600px at 50% -250px,rgba(226,59,46,.16),transparent 70%),radial-gradient(900px 500px at 100% 110%,rgba(120,40,200,.1),transparent 70%),var(--bg);color:var(--text);font:14px/1.45 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:var(--display);font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin:0}button{cursor:pointer;font:inherit;color:var(--text);background:linear-gradient(180deg,var(--panel-3),var(--panel-2));border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:7px 12px;transition:transform .1s ease,border-color .12s,box-shadow .12s,background .12s,filter .12s}@media(hover:hover)and (pointer:fine){button:hover:not(:disabled){border-color:var(--accent);filter:brightness(1.12)}}button:focus-visible:not(:disabled){border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #e23b2e59}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,#ff5446,var(--accent));border-color:#ff7a6e;color:#fff;font-family:var(--display);letter-spacing:.6px;text-transform:uppercase;font-weight:700;box-shadow:0 6px 18px #e23b2e59}@media(hover:hover)and (pointer:fine){.btn-primary:hover:not(:disabled){box-shadow:0 8px 26px #e23b2e80;filter:brightness(1.06)}}.btn-primary:focus-visible:not(:disabled){box-shadow:0 0 0 2px #ff7a6e,0 8px 26px #e23b2e80}input,select{font:inherit;color:var(--text);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #e23b2e33}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--panel-3);border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--line-strong);background-clip:padding-box}code{background:var(--panel-2);padding:1px 5px;border-radius:4px}.app{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:linear-gradient(180deg,#2a0f0b,#160a08);border-bottom:2px solid var(--accent);box-shadow:0 2px 14px #d6332b40}.brand{font-size:20px;margin:0;font-weight:800;font-style:italic;letter-spacing:.5px;text-transform:uppercase;background:linear-gradient(180deg,#fff 0%,#ffb38a 60%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 0 rgba(0,0,0,.4)}.who{display:flex;align-items:center;gap:10px;color:var(--muted)}.layout{flex:1;min-height:0;display:grid;grid-template-columns:1fr 340px}.browser{display:flex;flex-direction:column;min-height:0}.filters{padding:12px 16px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line);background:var(--panel)}.search{width:100%}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 10px;border-radius:999px;font-size:13px;--accent: var(--muted)}.chip.on{background:color-mix(in srgb,var(--accent) 28%,var(--panel-2));border-color:var(--accent)}.chip.clear{margin-left:auto}.filters-foot{display:flex;align-items:center;justify-content:space-between}.eng-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer}.eng-toggle input{accent-color:var(--accent);width:15px;height:15px}.result-count{color:var(--muted);font-size:12px}.card-grid{flex:1;min-height:0;overflow-y:auto;padding:14px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;align-content:start}.grid-card{position:relative;aspect-ratio:5 / 7;border-radius:10px;overflow:hidden;background:var(--panel-2);border:1px solid var(--line);box-shadow:0 2px 6px #00000059;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .1s,border-color .1s,box-shadow .1s}.grid-card *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media(hover:hover)and (pointer:fine){.grid-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 6px 16px #d6332b59;z-index:1}}.grid-card.in-deck{border-color:var(--good)}.grid-card.in-interest{border-color:#f1c40f}.interest-badge{position:absolute;bottom:6px;right:6px;z-index:2;font-size:13px;color:#f1c40f;text-shadow:0 1px 3px #000;pointer-events:none}.gc-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--scrim);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur);display:flex;align-items:center;justify-content:center;padding:16px}.gc-menu{width:min(86vw,320px);background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:14px;display:flex;flex-direction:column;gap:8px}.gc-menu-title{font-weight:800;font-size:16px}.gc-menu-sub{color:var(--muted);font-size:12px;margin-bottom:4px}.gc-menu-btn{width:100%;text-align:center;padding:12px;font-size:15px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}.gc-menu-btn:disabled{opacity:.45}.gc-menu-btn.ghost{background:transparent;color:var(--muted)}.gc-qty{display:flex;align-items:center;gap:8px}.gc-qty-btn{width:40px;height:40px;flex:0 0 auto;border-radius:10px;font-size:20px;line-height:1;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}.gc-qty-btn:disabled{opacity:.4}.gc-qty-n{min-width:22px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.gc-qty-add{flex:1}.gc-tap-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:var(--scrim);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur);display:flex;align-items:center;justify-content:center;padding:20px}.gc-tap-preview-card{width:min(86vw,340px);max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:12px;display:flex;flex-direction:column;gap:10px}.card-held-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#0000008c}.card-held-preview .card-img,.card-held-preview .card-fallback{width:min(74vw,360px);height:auto;aspect-ratio:5 / 7;border-radius:14px;box-shadow:0 20px 60px #000000b3}.interest-section{margin-top:8px;border-top:1px dashed var(--line);padding-top:6px}.interest-head{font-size:12px;color:#f1c40f;font-weight:700;margin-bottom:4px}.interest-list{display:flex;flex-direction:column;gap:3px}.interest-row .deck-qty button{font-size:12px;padding:2px 6px}.card-img,.card-fallback{width:100%;height:100%;display:block;object-fit:cover}.card-fallback{display:flex;flex-direction:column;justify-content:center;padding:8px;color:#120a08;text-align:center}.card-fallback-name{font-weight:700;font-size:13px;text-shadow:0 1px 2px rgba(255,255,255,.3)}.card-fallback-meta{font-size:11px;opacity:.85}.gc-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;gap:5px;padding:14px 6px 5px;background:linear-gradient(transparent,#000000d1 55%)}.gc-name{flex:1;min-width:0;font-size:11px;font-weight:700;line-height:1.15;color:#fff;text-shadow:0 1px 3px #000;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gc-civs{display:flex;gap:2px;flex:0 0 auto;padding-bottom:1px}.gc-civ-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 1px #00000080}.cost-badge,.count-badge{position:absolute;top:6px;min-width:24px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;border-radius:7px;font-variant-numeric:tabular-nums}.cost-badge{left:6px;padding-left:9px;overflow:hidden;color:#fff;background:var(--badge-ink);border:1px solid rgba(255,255,255,.18)}.cost-badge:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--civ-edge, transparent);border-radius:7px 0 0 7px}.count-badge{right:6px;background:var(--good);color:#06210e}.card-preview{position:fixed;left:18px;bottom:18px;z-index:50;width:260px;pointer-events:none;background:var(--panel);border:1px solid var(--accent);border-radius:12px;box-shadow:0 12px 36px #0009;overflow:hidden}.card-preview .card-img,.card-preview .card-fallback{width:100%;height:auto;aspect-ratio:5 / 7;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}.preview-meta{padding:10px 12px}.preview-meta .pm-name{font-weight:800;font-size:15px}.preview-meta .pm-sub{color:var(--muted);font-size:12px;margin:2px 0 8px}.preview-meta .pm-text{font-size:12px;line-height:1.35;white-space:pre-wrap;max-height:160px;overflow:hidden}.pm-breakdown{margin-top:8px;display:flex;flex-direction:column;gap:4px;font-size:12px}.pm-power{font-weight:800;font-variant-numeric:tabular-nums;color:var(--base-ink)}.pm-power.buff{color:var(--buff-ink)}.pm-power.nerf{color:var(--nerf-ink)}.pm-power-detail{font-weight:600;opacity:.92}.pm-breaker{color:var(--gold);font-weight:700}.pm-line{line-height:1.3}.pm-granted{color:var(--buff-ink);font-weight:700}.pm-printed{color:var(--text)}.pm-restrict{color:var(--muted)}.pm-evo{color:var(--gold)}.preview-close-hint{display:none}.deck-panel{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;padding:14px;gap:12px}.deck-slots{display:flex;flex-direction:column;gap:6px}.slots-label{font-size:12px;color:var(--muted)}.slots{display:flex;flex-wrap:wrap;gap:6px;max-height:30vh;overflow-y:auto}.slot{display:flex;align-items:stretch}.slot-load{border-radius:6px 0 0 6px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-dup{border-left:none;border-right:none;padding:6px 7px;color:var(--muted);font-size:13px}.slot-dup:disabled{opacity:.4;cursor:default}.slot-del{border-radius:0 6px 6px 0;border-left:none;padding:6px 8px;color:var(--muted)}.slot.active .slot-load{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 25%,var(--panel-2))}.slot.new{border-style:dashed}.auto-build-btn{width:100%;justify-content:center;font-family:var(--display);text-transform:uppercase;letter-spacing:.55px;border-color:color-mix(in srgb,var(--gold) 60%,var(--line-strong));background:linear-gradient(180deg,#f5c4512e,#e23b2e1f)}.deck-name{font-size:15px;font-weight:600}.deck-total{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--bad)}.deck-total.valid{color:var(--good)}.ok-pill{font-size:11px;background:var(--good);color:#fff;padding:2px 7px;border-radius:999px}.deck-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.deck-row{display:grid;grid-template-columns:10px 20px 1fr auto;align-items:center;gap:8px;padding:4px 6px;border-radius:6px}@media(hover:hover)and (pointer:fine){.deck-row:hover{background:var(--panel-2)}}.civ-dot{width:10px;height:10px;border-radius:50%}.deck-cost{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}.deck-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-qty{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.deck-qty button{padding:1px 8px}.deck-errors{margin:0;padding-left:16px;color:var(--bad);font-size:12px}.save-btn{padding:10px;font-weight:600;background:var(--accent);border-color:var(--accent);color:#06121c}.hint{color:var(--muted);font-size:13px}.signin,.boot-error{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.signin form{display:flex;gap:8px}.existing{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted)}.boot-error h1{color:var(--bad)}.auth-loading{height:100%;background:var(--bg)}.auth-title{margin:0 0 4px;font-family:var(--display);letter-spacing:.5px}.auth-note{color:var(--muted);font-size:13px;margin:0 0 4px;max-width:280px}.auth-form{display:flex;flex-direction:column;gap:10px;width:min(88vw,300px);text-align:left}.auth-form input{width:100%}.auth-error{color:var(--bad);font-size:13px;text-align:center}.auth-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.auth-actions .btn-primary{flex:1}.btn-ghost{background:transparent;border:1px solid var(--line-strong);color:var(--text);border-radius:var(--radius-sm);padding:9px 14px;cursor:pointer}@media(hover:hover)and (pointer:fine){.btn-ghost:hover:not(:disabled){border-color:var(--accent)}}.btn-ghost:focus-visible:not(:disabled){border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #e23b2e4d}.btn-ghost:disabled{opacity:.4;cursor:default}.who-link{background:transparent;border-color:transparent;color:var(--muted);padding:6px 10px}@media(hover:hover)and (pointer:fine){.who-link:hover:not(:disabled){color:var(--text)}}.who-admin{margin-left:6px;font-family:var(--body);font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);border:1px solid color-mix(in srgb,var(--gold) 50%,transparent);border-radius:999px;padding:1px 6px;vertical-align:middle}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;background:var(--scrim);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur);padding:16px}.modal-card{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:22px;display:flex;flex-direction:column;gap:12px;align-items:center;max-width:92vw}.card-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.leaderboard{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:14px;padding:8px 4px 32px}.leaderboard h1{margin:0;font-family:var(--display)}.lb-sub{color:var(--muted);margin:-6px 0 0;font-size:13px}.lb-empty{color:var(--muted);text-align:center}.lb-table{width:100%;border-collapse:collapse}.lb-table th{text-align:left;color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:6px 8px;border-bottom:1px solid var(--line)}.lb-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.lb-table tr:last-child td{border-bottom:none}.lb-rank{width:40px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}.lb-medal{font-size:18px}.lb-num{text-align:right;width:56px;font-variant-numeric:tabular-nums}.lb-name{font-weight:600}.lb-win{color:var(--good)}.lb-loss{color:var(--muted)}.lb-me{background:color-mix(in srgb,var(--accent) 12%,transparent)}.lb-me .lb-name{color:var(--accent-2)}.lb-you{margin-left:6px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.manage-users{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px;padding:8px 4px 32px}.manage-users h1{margin:0;font-family:var(--display)}.manage-users h2{margin:0 0 12px;font-size:16px}.mu-sub{color:var(--muted);margin:-6px 0 0;font-size:13px}.mu-err{text-align:left}.mu-add-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.mu-add-row input[type=text],.mu-add-row input:not([type]){flex:1;min-width:140px}.mu-admin-check{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;white-space:nowrap}.mu-admin-check input{accent-color:var(--accent);width:16px;height:16px}.mu-table{width:100%;border-collapse:collapse}.mu-table th{text-align:left;color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:6px 8px;border-bottom:1px solid var(--line)}.mu-table td{padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.mu-name{font-weight:600}.mu-you{margin-left:6px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.mu-badge{font-size:12px;color:var(--good)}.mu-badge-warn{color:var(--accent-2)}.mu-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.mu-actions .btn-ghost{padding:6px 10px;font-size:13px}@media(hover:hover)and (pointer:fine){.mu-danger:hover:not(:disabled){border-color:var(--bad);color:var(--bad)}}@media(max-width:560px){.mu-table thead{display:none}.mu-table,.mu-table tbody,.mu-table tr,.mu-table td{display:block;width:100%}.mu-table tr{border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:10px;padding:6px}.mu-table td{border:none;padding:4px 8px}.mu-actions{justify-content:flex-start}}.tabs{display:flex;gap:6px}.tabs button{background:transparent;border-color:transparent;color:var(--muted)}.tabs button.on{color:var(--text);background:var(--panel-2);border-color:var(--line)}.play-lobby{padding:32px;display:flex;flex-direction:column;gap:12px}.play-lobby h2{margin:0}.lobby-decks{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.lobby-deck{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding:16px 20px;min-width:160px}.lobby-deck strong{font-size:15px}.lobby-deck span{color:var(--muted);font-size:12px}.deck-select{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.deck-chip{border-radius:999px}.deck-chip.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 25%,var(--panel-2))}.deck-chip span{color:var(--muted)}.play-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.action-card{display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;min-width:240px}.action-card h3{margin:0}.code-input{width:120px;font-size:22px;letter-spacing:6px;text-align:center;text-transform:uppercase}.game-code{font-size:56px;font-weight:800;letter-spacing:10px;background:var(--panel);border:2px solid var(--accent);border-radius:12px;padding:16px 28px;color:var(--accent)}.lobby-error{color:var(--bad)}.board{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}@media(max-width:640px){.board{--card-unit-base: clamp(34px, calc((100dvh - 230px - var(--sat) * 1.3) / 10.2), 56px)}}@media(min-width:641px)and (max-width:900px){.board{--card-unit-base: 48px}}@media(min-width:901px)and (max-width:1280px){.board{--card-unit-base: clamp(34px, calc((100dvh - 250px) / 12.8), 78px)}}@media(min-width:1281px){.board{--card-unit-base: clamp(38px, calc((100dvh - 400px) / 9.9), 84px)}}@media(min-width:1600px){.board{--card-unit-base: clamp(38px, calc((100dvh - 400px) / 9.7), 96px)}}.board{--dens: 1;--zoom: 1;--card-unit: calc(var(--card-unit-base, clamp(34px, calc((100dvh - 230px - var(--sat) * 1.3) / 10.2), 56px)) * var(--dens) * var(--zoom));--hand-w: calc(var(--card-unit) * 1.55);--pile-w: calc(var(--card-unit) * .92);--ghost-w: calc(var(--card-unit) * 1.3)}.board.dens-compact{--dens: .88}.board.dens-comfortable{--dens: 1}.board-controls{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.turn-pill{font-weight:700;color:var(--accent);margin-right:8px}.board-controls .exit{margin-left:auto}.end-turn-btn{font-weight:700}.end-turn-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 4px 14px -4px var(--accent);animation:endturn-pulse 2.4s ease-in-out infinite}@media(hover:hover)and (pointer:fine){.end-turn-btn.primary:hover{filter:brightness(1.08)}}@keyframes endturn-pulse{0%,to{box-shadow:0 0 0 1px var(--accent),0 4px 14px -4px var(--accent)}50%{box-shadow:0 0 0 1px var(--accent),0 4px 20px -2px var(--accent)}}@media(prefers-reduced-motion:reduce){.end-turn-btn.primary{animation:none}}.turn-pill.mine{color:var(--good)}.opp-left{padding:8px 16px;background:var(--bad);color:#fff;text-align:center}.board-dock{display:none}.dock-end-turn{font-family:var(--display);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.dock-end-turn.go{background:linear-gradient(180deg,#5fe089,var(--good));border-color:color-mix(in srgb,var(--good) 70%,#fff);color:#06210f;box-shadow:0 0 0 1px var(--good),0 4px 16px -4px var(--good)}.dock-end-turn.must{background:linear-gradient(180deg,#ffcf6a,var(--target));border-color:color-mix(in srgb,var(--target) 70%,#fff);color:#2a1d05;box-shadow:0 0 0 1px var(--target),0 4px 16px -4px var(--target)}.board-areas{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding:5px 12px}.midline{height:2px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:1px 0}.shield-break-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 60px 8px #ff3c3c8c;animation:shield-break .48s ease-out forwards}@keyframes shield-break{0%{opacity:0}18%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.shield-break-flash{animation-duration:.01s;opacity:0}}.attack-strike{position:fixed;left:50%;top:46%;z-index:110;pointer-events:none;width:min(76vw,360px);display:flex;flex-direction:column;align-items:center;gap:10px;will-change:transform,opacity;transform-origin:center center;animation:attack-strike-mine 1.3s cubic-bezier(.18,.9,.24,1) forwards}.attack-strike.opp{animation-name:attack-strike-opp}.attack-strike-art{position:relative;width:100%;aspect-ratio:1.7 / 1;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-modal),0 0 0 2px var(--accent),0 0 30px 6px color-mix(in srgb,var(--accent) 55%,transparent);background:#0a0a0d}.attack-strike-img{position:absolute;left:0;top:0;width:100%;height:auto;transform:translateY(-15.5%);object-fit:cover}.attack-strike-img.card-fallback,.attack-strike-img.mini-back{width:100%;height:100%;transform:none;left:0}.attack-strike-scrim{position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 16%,rgba(0,0,0,.55)));pointer-events:none}.attack-strike-caption{font-family:var(--display);font-size:clamp(17px,4.6vw,24px);font-weight:600;letter-spacing:.01em;text-align:center;line-height:1.15;text-shadow:0 2px 14px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.9);padding:0 6px}.asc-attacker{color:#fff;font-weight:700}.asc-verb{color:var(--muted);font-weight:400;text-transform:lowercase}.asc-defender{color:color-mix(in srgb,var(--accent-2) 70%,#fff);font-weight:600}@keyframes attack-strike-mine{0%{opacity:0;transform:translate(-50%,30%) scale(.82)}16%{opacity:1;transform:translate(-50%,4%) scale(1)}46%{opacity:1;transform:translate(-50%) scale(1.02)}60%{opacity:1;transform:translate(-50%,-8%) scale(1.05)}72%{opacity:1;transform:translate(-50%,-2%) scale(1.02)}88%{opacity:1;transform:translate(-50%,-2%) scale(1)}to{opacity:0;transform:translate(-50%,-10%) scale(.98)}}@keyframes attack-strike-opp{0%{opacity:0;transform:translate(-50%,-30%) scale(.82)}16%{opacity:1;transform:translate(-50%,-4%) scale(1)}46%{opacity:1;transform:translate(-50%) scale(1.02)}60%{opacity:1;transform:translate(-50%,8%) scale(1.05)}72%{opacity:1;transform:translate(-50%,2%) scale(1.02)}88%{opacity:1;transform:translate(-50%,2%) scale(1)}to{opacity:0;transform:translate(-50%,10%) scale(.98)}}.attack-strike.at-creature .attack-strike-art{box-shadow:var(--shadow-modal),0 0 0 2px var(--accent-2),0 0 34px 8px color-mix(in srgb,var(--accent-2) 55%,transparent)}@media(prefers-reduced-motion:reduce){.attack-strike,.attack-strike.mine,.attack-strike.opp,.attack-strike.at-creature.mine,.attack-strike.at-creature.opp{animation:attack-strike-rm 1.1s linear forwards}}@keyframes attack-strike-rm{0%{opacity:0;transform:translate(-50%)}14%{opacity:1;transform:translate(-50%)}82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.turn-banner{position:absolute;top:38%;left:0;right:0;z-index:95;pointer-events:none;text-align:center;font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:.02em;color:var(--text);text-shadow:0 2px 18px rgba(0,0,0,.85);animation:turn-banner 1.3s ease-out forwards}.turn-banner.mine{color:var(--good)}@keyframes turn-banner{0%{opacity:0;transform:translateY(10px) scale(.96)}14%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-8px) scale(1.02)}}@media(prefers-reduced-motion:reduce){.turn-banner{animation:none;opacity:0}}.cast-banner{position:fixed;top:calc(58px + var(--sat));left:50%;transform:translate(-50%);z-index:15;display:flex;align-items:center;gap:10px;max-width:min(86vw,360px);padding:8px 14px 8px 8px;text-align:left;cursor:pointer;background:var(--panel);border:1px solid var(--accent);border-radius:999px;box-shadow:var(--shadow-modal);animation:cast-banner 2.5s ease-out forwards}.cast-banner.mine{border-color:color-mix(in srgb,var(--good) 60%,var(--line-strong))}.cast-banner-art{width:38px;height:53.2px;border-radius:6px;overflow:hidden;flex:0 0 auto;box-shadow:0 2px 6px #0006}.cast-banner-art .card-img,.cast-banner-art .card-fallback{width:100%;height:100%}.cast-banner-text{display:flex;flex-direction:column;gap:1px;min-width:0}.cast-banner-who{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cast-banner-name{font-family:var(--display);font-weight:700;font-size:16px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes cast-banner{0%{opacity:0;transform:translate(-50%,-14px) scale(.94)}8%{opacity:1;transform:translate(-50%) scale(1)}85%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-8px) scale(.98)}}@media(prefers-reduced-motion:reduce){.cast-banner{animation:cast-banner-rm 2.5s linear forwards}}@keyframes cast-banner-rm{0%,95%{opacity:1}to{opacity:0}}.opp-cast-scrim{z-index:130}.opp-cast-card{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:18px;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(86vw,340px);max-height:90vh;overflow-y:auto;animation:opp-cast-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes opp-cast-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.opp-cast-card{animation:none}}.opp-cast-who{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:var(--accent-2);font-weight:700}.opp-cast-art{width:min(70vw,250px);aspect-ratio:5 / 7;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.opp-cast-art .card-img,.opp-cast-art .card-fallback{width:100%;height:100%}.opp-cast-name{font-family:var(--display);font-weight:700;font-size:19px;color:var(--text);text-align:center}.opp-cast-text{margin:0;font-size:13px;line-height:1.4;color:var(--muted);text-align:center}.opp-cast-close{width:100%;min-height:46px;margin-top:2px}.attack-picker-scrim{z-index:125}.attack-picker{width:min(92vw,420px);align-items:stretch;text-align:center;animation:opp-cast-in .2s cubic-bezier(.2,.8,.2,1)}.attack-picker-head{display:flex;flex-direction:column;gap:2px}.ap-title{font-family:var(--display);font-weight:700;font-size:17px;color:var(--text)}.ap-sub{font-size:12px;color:var(--muted)}.attack-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;max-height:56vh;overflow-y:auto;padding:2px}.ap-target{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;color:var(--text);min-height:56px;cursor:pointer}.ap-target:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.ap-target:hover{border-color:var(--accent)}}.ap-shields{justify-content:center;background:color-mix(in srgb,var(--gold) 12%,var(--panel-2))}.ap-shield-icon{font-size:30px;line-height:1}.ap-target-art{width:100%;aspect-ratio:5 / 7;border-radius:6px;overflow:hidden}.ap-target-art .card-img,.ap-target-art .card-fallback{width:100%;height:100%}.ap-target-name{font-size:12px;font-weight:700;line-height:1.15;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-target-sub{font-family:var(--display);font-weight:700;font-size:14px;color:var(--gold);font-variant-numeric:tabular-nums}.ap-target-note{font-family:var(--body);font-weight:400;font-size:11px;color:var(--muted)}.undo-btn{font-weight:600}.board-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:140;max-width:min(86vw,360px);text-align:center;background:var(--panel);color:var(--text);border:1px solid var(--bad);border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600;box-shadow:var(--shadow-modal);animation:board-toast 2.2s ease-out forwards;pointer-events:none}@keyframes board-toast{0%{opacity:0;transform:translate(-50%,8px)}10%{opacity:1;transform:translate(-50%)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}@media(prefers-reduced-motion:reduce){.board-toast{animation:none}}.player-area{transition:box-shadow var(--dur-base) var(--ease-standard)}.player-area.is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--good) 35%,transparent);border-radius:10px}@media(prefers-reduced-motion:reduce){.player-area{transition:none}}.waiting-opp{text-align:center;color:var(--muted);padding:24px}.player-area{display:flex;flex-direction:column;gap:3px}.player-area.opp{opacity:.9}.pa-row{min-width:0}.shields-row{display:flex;gap:8px;align-items:stretch}.shields-row .zone-shields{flex:1;min-width:0}.shields-row .piles{display:flex;gap:8px;width:150px;flex:0 0 auto}.pile-zone{flex:1;min-width:0}.pa-name{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:2px 4px;border-radius:6px}.pa-name.active{background:color-mix(in srgb,var(--good) 16%,transparent)}.pa-who{display:flex;align-items:center;gap:6px;font-weight:700}.pa-name.active .pa-who{color:var(--good)}.turn-dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 6px var(--good)}.pa-stats{color:var(--muted);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px}.pa-hand-count{color:var(--muted);font-weight:700;font-size:.92em;font-variant-numeric:tabular-nums;white-space:nowrap}.mana-pips{display:inline-flex;align-items:center;gap:2px;flex-wrap:wrap}.mana-pip{width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--civ) 24%,transparent);box-shadow:inset 0 0 0 1px var(--civ)}.mana-pip.ready{background:var(--civ);box-shadow:0 0 0 1px var(--civ),0 0 5px color-mix(in srgb,var(--civ) 70%,transparent)}.mana-pip.tapped{opacity:.34;background:transparent;box-shadow:inset 0 0 0 1px var(--civ)}.mana-pips-empty{color:var(--muted);font-size:.85em}.mana-readout{display:none;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9em;margin-left:2px}.mana-readout strong{color:var(--good);font-weight:800}@media(min-width:901px){.mana-readout{display:inline}}.shield-pips{display:inline-flex;align-items:center;gap:1px;font-variant-numeric:tabular-nums}.shield-pip{font-size:11px;line-height:1;filter:drop-shadow(0 0 1px rgba(0,0,0,.6))}.shield-pip-count{margin-left:3px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}.shield-pips.danger .shield-pip{filter:drop-shadow(0 0 3px var(--danger-shields))}.shield-pips.danger .shield-pip-count{color:var(--danger-shields);animation:shield-danger-pulse 1.1s ease-in-out infinite}@keyframes shield-danger-pulse{0%,to{opacity:1}50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.shield-pips.danger .shield-pip-count{animation:none}}.resource-bar{display:none}.rb-chip{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:2px 8px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-family:var(--display);font-variant-numeric:tabular-nums;line-height:1}button.rb-chip{cursor:pointer}button.rb-chip:disabled{opacity:.55;cursor:default}.rb-glyph{font-size:13px;opacity:.92}.rb-count{font-weight:700;font-size:14px}.rb-dots{display:inline-flex;align-items:center;gap:2px;margin-left:1px}.rb-dot{width:7px;height:7px;border-radius:50%;background:var(--civ);box-shadow:inset 0 0 0 1px var(--civ)}.rb-dot.spent{background:transparent;opacity:.7}.rb-up{margin-left:2px;font-weight:800;font-size:11px;color:var(--good);font-variant-numeric:tabular-nums}.rb-shields .rb-glyph{filter:drop-shadow(0 0 1px rgba(0,0,0,.6))}.rb-shields.danger{border-color:color-mix(in srgb,var(--danger-shields) 55%,var(--line))}.rb-shields.danger .rb-count{color:var(--danger-shields);animation:shield-danger-pulse 1.1s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.rb-shields.danger .rb-count{animation:none}}.rb-piles{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.rb-deck .rb-count,.rb-grave .rb-count{color:var(--muted)}.rb-zoom{display:inline-flex;align-items:center;gap:4px;margin-left:6px}.rb-zoom-btn{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;line-height:1;background:var(--surface-3);color:var(--text);border:1px solid var(--line-strong);border-radius:8px;cursor:pointer}.rb-zoom-btn:disabled{opacity:.4;cursor:default}.resource-bar .rb-mana.legal-drop,.resource-bar .rb-mana[data-drop].drop-hover{border-color:var(--good);box-shadow:0 0 0 1px var(--good)}.resource-bar .rb-shields.attack-shields-drop{border-color:var(--target);box-shadow:0 0 0 1px var(--target)}.resource-bar .rb-shields.attack-drop-over{border-color:var(--target);background:color-mix(in srgb,var(--target) 28%,var(--surface-2));box-shadow:0 0 0 2px var(--target),0 0 12px -2px var(--target)}.mana-sheet-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.mana-sheet-card{position:relative;width:76px;padding:0;border:none;background:none;cursor:pointer}.mana-sheet-card.tapped{filter:saturate(.4) brightness(.78)}.mana-sheet-up{position:absolute;left:3px;bottom:3px;font-size:11px;color:var(--good);text-shadow:0 0 3px rgba(0,0,0,.8);pointer-events:none}.opp-action-banner{position:absolute;left:50%;top:8px;transform:translate(-50%);z-index:95;display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:6px 14px;border-radius:999px;background:var(--surface-overlay);border:1px solid var(--line-strong);box-shadow:var(--shadow-modal);font-size:13px;color:var(--text);white-space:nowrap}.oab-text{overflow:hidden;text-overflow:ellipsis}.oab-dots{display:inline-flex;gap:3px}.oab-dots i{width:4px;height:4px;border-radius:50%;background:var(--accent-2);animation:oab-bounce 1.2s ease-in-out infinite}.oab-dots i:nth-child(2){animation-delay:.18s}.oab-dots i:nth-child(3){animation-delay:.36s}@keyframes oab-bounce{0%,80%,to{opacity:.3}40%{opacity:1}}@media(prefers-reduced-motion:reduce){.oab-dots i{animation:none;opacity:.8}}.dock-turn-status{display:inline-flex;align-items:center;min-height:48px;padding:0 14px;font-family:var(--display);font-size:13.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56vw}.zone{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:3px 7px 5px;min-height:54px}.zone.targetable{cursor:pointer}@media(hover:hover)and (pointer:fine){.zone.targetable:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}}.zone.legal-drop{cursor:pointer;border-color:var(--good);background:color-mix(in srgb,var(--good) 12%,var(--panel));box-shadow:0 0 0 1px var(--good),0 0 14px -4px var(--good)}.zone.illegal-drop{opacity:.5;filter:grayscale(.35)}.pile-zone{flex:1;min-height:54px}.zone-head{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);opacity:.72;margin-bottom:2px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.zone-count{background:var(--panel-2);border-radius:999px;padding:0 5px;min-width:16px;text-align:center;font-variant-numeric:tabular-nums}.zone-cards{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:5px;align-items:flex-start;scrollbar-width:thin}.zone-cards::-webkit-scrollbar{height:4px}.zone-hand .zone-cards{padding-bottom:2px;padding-top:18px;align-items:flex-end}.zone-hand .mini{width:var(--hand-w);height:calc(var(--hand-w) * 7 / 5);border-radius:6px;transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur-fast),box-shadow var(--dur-fast);transform-origin:bottom center}.zone-hand .mini+.mini{margin-left:calc(var(--hand-w) * -.52)}.zone-hand .mini.selected{transform:translateY(-24px) scale(1.25);z-index:6}@media(hover:hover)and (pointer:fine){.zone-hand .mini:hover{transform:translateY(-24px) scale(1.25);z-index:6}}@media(prefers-reduced-motion:reduce){.zone-hand .mini{transition:border-color var(--dur-fast)}.zone-hand .mini.selected,.zone-hand .mini:hover{transform:none}}.mini{position:relative;padding:0;border:2px solid transparent;border-radius:5px;overflow:hidden;width:var(--card-unit);height:calc(var(--card-unit) * 7 / 5);background:var(--panel-2);flex:0 0 auto;transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur-fast),box-shadow var(--dur-fast);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@media(prefers-reduced-motion:reduce){.mini{transition:border-color var(--dur-fast)}}.mini-evo{position:absolute;top:1px;right:1px;z-index:2;font-size:9px;font-weight:700;line-height:1;padding:2px 3px;border-radius:4px;background:#f1c40feb;color:#1a1206;pointer-events:none}@media(hover:hover)and (pointer:fine){.mini:hover{border-color:var(--accent)}}.mini.ready{border-color:var(--ready);box-shadow:0 0 0 1px var(--ready)}.mini.selected{border-color:var(--good);box-shadow:0 0 0 2px var(--good)}.mini.ready.selected,.mini.selected.attacker-selected,.mini.attack-target{border-color:var(--target);box-shadow:var(--target-glow)}.mini.attack-drop-over{border-color:var(--target);box-shadow:var(--target-glow),0 0 0 3px color-mix(in srgb,var(--target) 45%,transparent);background:color-mix(in srgb,var(--target) 22%,var(--panel-2))}.zone.attack-shields-drop{box-shadow:0 0 0 1px color-mix(in srgb,var(--target) 55%,transparent) inset;border-radius:8px}.zone.attack-shields-drop.attack-drop-over{box-shadow:var(--target-glow) inset;background:color-mix(in srgb,var(--target) 16%,transparent)}@media(prefers-reduced-motion:reduce){.mini.attack-drop-over{transition:none}}.mini.tapped{transform:rotate(90deg);margin-left:calc(var(--card-unit) * .2);margin-right:calc(var(--card-unit) * .2)}.mini{animation:mini-pop var(--dur-enter) var(--ease-spring)}.mini.tapped{animation:none}@keyframes mini-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.mini{animation:none}}.mini-img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}.mini-back{width:100%;height:100%;background:repeating-linear-gradient(45deg,#1b2740 0,#1b2740 6px,#243355 6px,#243355 12px);border:1px solid #33425f}.mini-back.pile{width:var(--pile-w);height:calc(var(--pile-w) * 7 / 5);border-radius:5px}.mini.sick{filter:saturate(.45) brightness(.84)}.mini-sick{position:absolute;top:1px;left:1px;z-index:3;font-size:9px;line-height:1;padding:1px 2px;border-radius:4px;background:#080b14b8;color:#cdd6ea;pointer-events:none}.mini-power{position:absolute;left:1px;right:1px;bottom:1px;z-index:4;display:inline-flex;align-items:center;justify-content:center;gap:1px;font-size:clamp(8px,calc(var(--card-unit) * .26),16px);font-weight:800;line-height:1;padding:1px;border-radius:var(--radius-badge);background:var(--badge-ink);color:var(--base-ink);box-shadow:0 0 0 1px #00000073;pointer-events:none;font-variant-numeric:tabular-nums;white-space:nowrap}.mini-power.buff{color:var(--buff-ink);box-shadow:var(--buff-glow)}.mini-power.nerf{color:var(--nerf-ink);box-shadow:var(--nerf-glow)}.mini-delta{font-size:.62em;font-weight:800;line-height:0;margin-left:1px;font-variant-numeric:tabular-nums;vertical-align:super}.mini-cost{position:absolute;top:1px;left:1px;z-index:4;display:inline-flex;align-items:center;justify-content:center;min-width:clamp(11px,calc(var(--card-unit) * .3),17px);height:clamp(11px,calc(var(--card-unit) * .3),17px);padding:0 2px 0 0;border-radius:4px;font-size:clamp(7px,calc(var(--card-unit) * .22),12px);font-weight:800;line-height:1;color:#fff;background:var(--badge-ink);box-shadow:0 0 0 1px #00000073;font-variant-numeric:tabular-nums;pointer-events:none;overflow:hidden}.mini-cost:before{content:"";position:absolute;left:0;top:0;bottom:0;width:clamp(2px,calc(var(--card-unit) * .07),4px);background:var(--civ-edge, transparent);border-radius:4px 0 0 4px}.mini-cost~.mini-sick{left:calc(clamp(11px,calc(var(--card-unit) * .3),17px) + 3px)}.mini-power.breaker{outline:1.5px solid var(--gold);outline-offset:-1px}.mini-breaker{position:absolute;right:1px;z-index:5;top:1px;font-size:clamp(7px,calc(var(--card-unit) * .18),11px);font-weight:800;line-height:1;padding:1px 2px;border-radius:4px;color:#1a1206;background:var(--gold);pointer-events:none}.mini-evo~.mini-breaker{top:calc(clamp(7px,calc(var(--card-unit) * .18),11px) + 5px)}.mini-power.flash-up{animation:power-flash-up calc(var(--dur-flash) * 2.5) var(--ease-standard)}.mini-power.flash-down{animation:power-flash-down calc(var(--dur-flash) * 2.5) var(--ease-standard)}@keyframes power-flash-up{0%{transform:scale(1)}35%{transform:scale(1.35);box-shadow:0 0 0 2px var(--good),0 0 10px var(--good)}to{transform:scale(1)}}@keyframes power-flash-down{0%{transform:scale(1)}35%{transform:scale(1.2);box-shadow:0 0 0 2px var(--bad),0 0 10px var(--bad)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.mini-power.flash-up,.mini-power.flash-down{animation:none}}.mini-pips{position:absolute;left:1px;right:1px;z-index:5;bottom:calc(clamp(7px,calc(var(--card-unit) * .2),12px) + 5px);display:flex;flex-wrap:wrap;gap:1px;max-width:100%;pointer-events:none}.pip{font-size:8px;font-weight:800;line-height:1;min-width:8px;text-align:center;padding:1px 2px;border-radius:3px;background:#080b14d9}.pip-good{color:#7ee0b0;box-shadow:inset 0 0 0 1px #2ecc718c}.pip-bad{color:#ff9a9a;box-shadow:inset 0 0 0 1px #e74c3c8c}.pip-neutral{color:#ffd479;box-shadow:inset 0 0 0 1px #f1c40f8c}.pip-more{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-strong)}.pip-granted{box-shadow:inset 0 0 0 1px #2ecc718c,0 0 0 1px var(--buff)}.pip-lost{color:var(--muted);box-shadow:inset 0 0 0 1px var(--line-strong);text-decoration:line-through;opacity:.7}.board-empty{padding:40px;color:var(--muted)}.attack-btn{background:linear-gradient(180deg,#ff5446,var(--accent));border-color:#ff7a6e;color:#fff;font-family:var(--display);letter-spacing:.5px;text-transform:uppercase;font-weight:700;box-shadow:0 6px 18px #e23b2e59}@media(hover:hover)and (pointer:fine){.attack-btn:hover:not(:disabled){box-shadow:0 8px 26px #e23b2e80;filter:brightness(1.06)}}.attack-btn.ghost{background:transparent;border:1px solid var(--line-strong);color:var(--text);box-shadow:none}@media(hover:hover)and (pointer:fine){.attack-btn.ghost:hover:not(:disabled){border-color:var(--accent);filter:none;box-shadow:none}}.confirm-modal{width:min(86vw,360px);align-items:stretch;text-align:center}.confirm-title{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.3px}.confirm-body{color:var(--muted);font-size:14px;margin:0}.confirm-actions{display:flex;gap:10px;justify-content:center;margin-top:4px}.confirm-actions button{flex:1;min-height:44px}.evo-modal{width:min(92vw,460px);align-items:stretch;text-align:center}.evo-modal-head{display:flex;flex-direction:column;gap:2px}.evo-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;max-height:56vh;overflow-y:auto;padding:2px}.evo-candidate{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;cursor:pointer}@media(hover:hover)and (pointer:fine){.evo-candidate:hover{border-color:var(--accent)}}.evo-candidate-art{width:100%;aspect-ratio:5 / 7;border-radius:6px;overflow:hidden}.evo-candidate-art .card-img,.evo-candidate-art .card-fallback{width:100%;height:100%}.evo-candidate-name{font-size:12px;font-weight:700;line-height:1.15;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.evo-candidate-power{font-family:var(--display);font-weight:700;font-size:14px;color:var(--gold);font-variant-numeric:tabular-nums}.preview-action{width:100%;margin-top:8px;min-height:40px}.preview-action.chip-cast,.preview-action.chip-summon{background:linear-gradient(180deg,#5fe089,var(--good));border-color:color-mix(in srgb,var(--good) 70%,#fff);color:#06210f;box-shadow:0 6px 18px #46d36959}@media(hover:hover)and (pointer:fine){.preview-action.chip-cast:hover:not(:disabled),.preview-action.chip-summon:hover:not(:disabled){box-shadow:0 8px 26px #46d36980;filter:brightness(1.06)}}.card-action-chip{position:fixed;z-index:11;transform:translateY(-50%);min-height:32px;min-width:56px;padding:6px 12px;border:none;border-radius:8px;cursor:pointer;font:700 13px/1 var(--display);letter-spacing:.3px;white-space:nowrap;color:#fff;background:linear-gradient(180deg,var(--accent-2),var(--accent));box-shadow:0 4px 14px #00000080,0 0 0 1px #0006,0 0 12px #e23b2e73;animation:chip-pop .16s cubic-bezier(.22,1,.36,1)}.card-action-chip.chip-left{transform:translate(-100%,-50%)}.card-action-chip.chip-cast,.card-action-chip.chip-summon{background:linear-gradient(180deg,#5fe089,var(--good));box-shadow:0 4px 14px #00000080,0 0 0 1px #0006,0 0 12px #46d36980;color:#06210f}.card-action-chip.chip-charge{background:linear-gradient(180deg,#ffd86b,var(--gold));box-shadow:0 4px 14px #00000080,0 0 0 1px #0006,0 0 12px #f5c4518c;color:#2a1d05}@media(hover:hover)and (pointer:fine){.card-action-chip:hover{filter:brightness(1.08)}}@media(any-pointer:coarse){.card-action-chip{min-height:38px;min-width:64px;font-size:14px;padding:8px 14px}}@keyframes chip-pop{0%{transform:translateY(-50%) scale(.7);opacity:0}to{transform:translateY(-50%) scale(1);opacity:1}}.card-action-chip.chip-left{animation-name:chip-pop-left}@keyframes chip-pop-left{0%{transform:translate(-100%,-50%) scale(.7);opacity:0}to{transform:translate(-100%,-50%) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.card-action-chip{animation:none}}.attack-btn.charge-btn{background:linear-gradient(180deg,#ffd86b,var(--gold));border-color:var(--gold);color:#2a1d05}.charge-cta{font:700 13px/1 var(--display);letter-spacing:.3px;white-space:nowrap;background:linear-gradient(180deg,#ffd86b,var(--gold));color:#2a1d05;border:1px solid var(--gold);border-radius:var(--radius-sm);padding:7px 12px;cursor:pointer;animation:charge-cta-pulse 1.8s ease-in-out infinite}@media(hover:hover)and (pointer:fine){.charge-cta:hover{filter:brightness(1.06)}}@keyframes charge-cta-pulse{0%,to{box-shadow:0 0 0 1px #f5c45180,0 0 8px #f5c4514d}50%{box-shadow:0 0 0 1px var(--gold),0 0 16px #f5c45199}}@media(prefers-reduced-motion:reduce){.charge-cta{animation:none}}.card-toolbar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--accent);border-radius:10px;padding:8px 12px;box-shadow:0 8px 24px #00000080;z-index:10}.tool-name{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-hint{color:var(--muted);font-size:12px}.tool-hint.warn{color:#f1c40f}.tool-detail,.tool-info,.tool-actions{display:contents}.tool-art,.tool-meta,.tool-text{display:none}.pending-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px auto;max-width:880px;background:var(--panel);border:1px solid var(--accent);border-radius:10px;padding:8px 12px;box-shadow:0 6px 18px #00000073}.pending-title{font-weight:600;text-transform:capitalize}.pending-choices{display:flex;gap:6px;flex-wrap:wrap}.pending-chip{border:1px solid var(--line-strong);background:transparent;color:var(--text);border-radius:8px;padding:5px 10px;font-size:13px}.pending-chip.on{background:#e23b2e40;border-color:var(--accent);color:#fff}.player-area.me .mini{cursor:grab;touch-action:none}.zone.drop-hover{border-color:var(--good);background:color-mix(in srgb,var(--good) 16%,var(--panel));box-shadow:0 0 0 2px var(--good) inset}.drag-ghost{position:fixed;z-index:100;pointer-events:none;width:var(--ghost-w, 58px);height:calc(var(--ghost-w, 58px) * 7 / 5);border-radius:6px;overflow:hidden;opacity:.96;border:2px solid var(--good);box-shadow:0 10px 26px #0009;transform:rotate(-4deg);transform-origin:center center}.drag-ghost .mini-img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}.drag-ghost .mini-back{width:100%;height:100%}.game-over{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;background:var(--scrim);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur)}.game-over-card{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-lg);padding:28px 32px;text-align:center;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;gap:14px;align-items:center;max-width:92vw;animation:game-over-in .52s var(--ease-spring) both}@keyframes game-over-in{0%{opacity:0;transform:scale(.82) translateY(10px)}60%{opacity:1;transform:scale(1.03) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}.game-over-card:has(.go-title.win){border-color:var(--gold);box-shadow:var(--shadow-modal),0 0 0 1px var(--gold),0 0 36px -4px var(--gold);animation:game-over-in .52s var(--ease-spring) both,win-glow 2.4s ease-in-out .5s infinite}@keyframes win-glow{0%,to{box-shadow:var(--shadow-modal),0 0 0 1px var(--gold),0 0 28px -6px var(--gold)}50%{box-shadow:var(--shadow-modal),0 0 0 1px var(--gold),0 0 44px 0 var(--gold)}}@media(prefers-reduced-motion:reduce){.game-over-card,.game-over-card:has(.go-title.win){animation:none}}.go-title{font-family:var(--display);font-size:32px;font-weight:800;letter-spacing:.5px}.go-title.win{color:var(--good)}.go-title.lose{color:var(--bad)}.go-reason{color:var(--muted);font-size:14px}.reveal-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;background:var(--scrim);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur)}.grave-pile{display:flex;flex-direction:column;cursor:pointer;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:0}.grave-pile:disabled{opacity:.5;cursor:default}@media(hover:hover)and (pointer:fine){.grave-pile:not(:disabled):hover{border-color:var(--accent)}}.grave-pile:focus-visible:not(:disabled){border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #e23b2e59}.grave-pile-art{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.grave-pile-art img{width:100%;height:100%;object-fit:cover;opacity:.9}.grave-empty{color:var(--muted);font-size:12px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;background:var(--scrim);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur);padding:16px}.grave-modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-width:min(680px,94vw);max-height:84vh;width:100%}.grave-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-weight:700}.grave-modal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px;padding:14px 16px;overflow-y:auto}.grave-modal-card{width:100%;border-radius:6px;aspect-ratio:5 / 7;object-fit:cover}.log-btn{font-weight:600}.log-drawer{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;width:100%;max-width:min(520px,94vw);max-height:80vh}.log-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-weight:700}.log-list{margin:0;padding:8px 0;overflow-y:auto;list-style:none}.log-list li{padding:7px 16px;font-size:13px;line-height:1.35;color:var(--text);border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.log-list li.log-latest{background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600}.log-empty{color:var(--muted)}.reveal-card{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-lg);padding:18px 22px;text-align:center;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;gap:12px;align-items:center;max-width:92vw;max-height:84vh;overflow-y:auto}.reveal-title{font-family:var(--display);font-size:15px;font-weight:700;color:var(--accent)}.reveal-cards{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:80vw}.reveal-item{width:92px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.reveal-item img{width:100%;border-radius:6px}.reveal-name{font-size:10px;color:var(--muted);line-height:1.2}.inspect-preview{pointer-events:none;cursor:default}.inspect-preview:after{content:none}.inspect-rail-empty{display:none}@media(min-width:901px){.board{--rail-w: 320px;--log-rail-w: 0px}.board-controls{justify-content:center}.board-controls .exit{margin-left:12px}.board-areas{display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);overflow-y:auto;overflow-x:hidden;max-width:min(1100px,calc(100vw - var(--log-rail-w) - var(--rail-w) - 32px));margin:0 auto;padding:6px 16px;gap:2px}.board-areas .player-area{min-height:0;gap:2px}.board-areas .player-area.opp{justify-content:flex-end}.board-areas .player-area.me{justify-content:flex-start}.board-areas .player-area.me .pa-row:last-child{margin-top:auto}.board-areas .zone{min-height:0;padding:2px 7px 3px}.board-areas .pile-zone{min-height:0}.board-areas .zone-battle{min-height:calc(var(--card-unit) * 7 / 5 + 8px)}.board .card-preview,.board .inspect-rail-empty{position:fixed;top:64px;right:0;bottom:0;left:auto;width:var(--rail-w);transform:none;margin:0;border:none;border-left:1px solid var(--line-strong);border-radius:0;background:linear-gradient(180deg,var(--surface-1),var(--surface-0));box-shadow:var(--el-rail);z-index:40;display:flex;flex-direction:column;overflow-y:auto;pointer-events:auto;animation:rail-in var(--dur-sheet) var(--ease-decelerate)}@keyframes rail-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.board .card-preview,.board .inspect-rail-empty{animation:none}}.board .card-preview .card-img,.board .card-preview .card-fallback{width:100%;height:auto;aspect-ratio:5 / 7;flex:0 0 auto}.board .card-preview .preview-meta{padding:12px 16px}.board .card-preview .pm-text{max-height:none}.inspect-rail-empty{align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--muted)}.ire-icon{font-size:34px;opacity:.5}.ire-text{font-size:13px;max-width:200px;line-height:1.4}.inspect-preview:not(.press-preview):after{content:none}}.game-log-rail{display:none}@media(min-width:1400px){.game-log-rail{display:flex}.board{--log-rail-w: var(--rail-w);padding-left:var(--rail-w);padding-right:var(--rail-w)}.game-log-rail{position:fixed;top:64px;bottom:0;left:0;right:auto;width:var(--rail-w);z-index:40;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--line-strong);background:linear-gradient(180deg,var(--surface-1),var(--surface-0));box-shadow:var(--el-rail);animation:log-rail-in var(--dur-sheet) var(--ease-decelerate)}@keyframes log-rail-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.game-log-rail{animation:none}}.glr-head{flex:0 0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:16px 16px 12px;border-bottom:1px solid var(--line);font-family:var(--display);text-transform:uppercase;letter-spacing:.6px;font-weight:700;font-size:14px;color:var(--text)}.glr-count{font-family:var(--body);letter-spacing:0;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.glr-list{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0;padding:4px 0;list-style:none}.glr-list li{padding:7px 16px;font-size:13px;line-height:1.4;color:var(--text);font-variant-numeric:tabular-nums;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.glr-list li.glr-latest{background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600}.glr-empty{color:var(--muted);font-style:italic}.board-controls .log-btn{display:none}.board-areas{max-width:min(1240px,calc(100vw - 2 * var(--rail-w) - 48px))}}.topbar{display:flex;align-items:center;gap:16px;padding:8px 16px;background:linear-gradient(180deg,#160d18,#0c0810);border-bottom:1px solid var(--line-strong);box-shadow:0 6px 22px #00000080,inset 0 -1px #e23b2e40;position:relative;z-index:20}.brand-btn{background:none;border:none;padding:0;display:flex;align-items:center}@media(hover:hover)and (pointer:fine){.brand-btn:hover{filter:drop-shadow(0 0 8px rgba(226,59,46,.6))}}.brand-logo{height:38px;width:auto;display:block}.tabs{display:flex;gap:4px;margin-left:8px}.tabs button{background:transparent;border:1px solid transparent;color:var(--muted);font-family:var(--display);text-transform:uppercase;letter-spacing:.6px;font-size:14px;padding:7px 14px}@media(hover:hover)and (pointer:fine){.tabs button:hover{color:var(--text);filter:none}}.tabs button.on{color:#fff;background:linear-gradient(180deg,#e23b2e40,#e23b2e14);border-color:var(--accent);box-shadow:0 0 14px #e23b2e4d}.tabs .tab-short{display:none}.who{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--muted)}.who-name{font-family:var(--display);letter-spacing:.5px;color:var(--text)}.screen{flex:1;min-height:0;position:relative}.screen-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0}.home{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.home-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(800px 380px at 50% 38%,rgba(226,59,46,.22),transparent 70%),radial-gradient(500px 300px at 80% 90%,rgba(120,40,200,.12),transparent 70%)}.home-hero{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px}.home-logo{width:min(480px,80vw);height:auto;filter:drop-shadow(0 14px 40px rgba(0,0,0,.7))}.home-tag{color:var(--muted);font-size:15px;margin:0}.home-cta{display:flex;gap:14px;margin-top:6px}.home-btn{font-size:17px;padding:13px 30px;min-width:170px}.home-btn.ghost{background:#ffffff08;border-color:var(--line-strong);color:var(--text);font-family:var(--display);text-transform:uppercase;letter-spacing:.6px}.home-btn-auto{border-color:color-mix(in srgb,var(--gold) 55%,var(--line-strong))}.home-foot{position:relative;margin-bottom:26px;color:var(--muted);font-size:13px}.home-foot strong{color:var(--text)}.signin-logo{width:min(420px,78vw);height:auto;filter:drop-shadow(0 12px 36px rgba(0,0,0,.7))}.deckbuilder{flex:1;min-height:0;display:grid;grid-template-columns:256px minmax(0,1fr) 340px}.db-gallery{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);border-right:1px solid var(--line)}.hint.pad{padding:24px}.filter-sidebar{min-height:0;overflow-y:auto;background:linear-gradient(180deg,var(--panel),var(--bg-2));padding:12px;display:flex;flex-direction:column;gap:14px}.fs-head{display:flex;align-items:center;justify-content:space-between}.fs-count{font-family:var(--display);font-size:15px;letter-spacing:.5px}.fs-reset{padding:3px 10px;font-size:12px}.fs-search{width:100%}.fs-section{display:flex;flex-direction:column;gap:7px}.fs-title{font-family:var(--display);text-transform:uppercase;letter-spacing:.6px;font-size:12px;color:var(--accent-2)}.fs-chips{display:flex;flex-wrap:wrap;gap:6px}.fs-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12.5px;background:var(--panel-2);border:1px solid var(--line)}.fs-chip .civ-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px #00000080}.fs-chip.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--panel-2));color:#fff}.fs-chip.civ.on{border-color:var(--c);box-shadow:0 0 10px color-mix(in srgb,var(--c) 50%,transparent)}.fs-range{display:flex;align-items:center;gap:8px}.fs-range select,.fs-range input{flex:1;min-width:0}.fs-dash{color:var(--muted);font-size:12px}.fs-checklist{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 8px}.fs-checklist.tall{max-height:190px}.fs-check{display:flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer;color:var(--text)}.fs-check input{accent-color:var(--accent);width:14px;height:14px}.fs-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-racesearch{width:100%}.fs-empty{color:var(--muted);font-size:12px}.ad-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--scrim);-webkit-backdrop-filter:var(--scrim-blur);backdrop-filter:var(--scrim-blur)}.ad-modal{width:min(560px,94vw);max-height:min(720px,92vh);overflow-y:auto;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 18px 60px #000000ad,0 0 28px #e23b2e38;padding:18px;display:flex;flex-direction:column;gap:16px}.ad-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ad-head h2{color:#fff}.ad-x{padding:3px 10px;font-size:20px;line-height:1;color:var(--muted)}.ad-sub{margin:0;color:var(--muted)}.ad-group{display:flex;flex-direction:column;gap:8px}.ad-label{font-family:var(--display);text-transform:uppercase;letter-spacing:.6px;font-size:12px;color:var(--accent-2)}.ad-styles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ad-style{min-height:78px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;text-align:left}.ad-style.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--panel-2))}.ad-style-name{font-family:var(--display);text-transform:uppercase;letter-spacing:.55px}.ad-style-blurb{color:var(--muted);font-size:12px}.ad-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-2);padding:11px 12px}.ad-preview-name{font-family:var(--display);text-transform:uppercase;letter-spacing:.55px;color:#fff}.ad-preview-stats{color:var(--muted);font-size:12px;text-align:right}.ad-actions{display:flex;justify-content:flex-end;gap:8px}.deck-stats{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;display:flex;flex-direction:column;gap:8px}.ds-curve{display:flex;align-items:flex-end;gap:5px;height:70px}.ds-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;height:100%;justify-content:flex-end}.ds-track{flex:1;width:100%;display:flex;align-items:flex-end}.ds-bar{width:100%;min-height:2px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--accent-2),var(--accent))}.ds-val{font-size:10px;color:var(--muted);height:12px}.ds-label{font-size:10px;color:var(--muted)}.ds-civbar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--panel-3)}.ds-civseg{height:100%}.ds-civempty{flex:1}.ds-legend{font-size:11px;color:var(--muted);text-align:center}.card-grid{align-items:start}.grid-card{position:relative;aspect-ratio:auto;height:0;padding-bottom:140%;touch-action:manipulation;-webkit-user-select:none;user-select:none}.grid-card .card-img,.grid-card .card-fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.db-mobilebar,.db-backdrop{display:none}@media(max-width:760px){.topbar{padding:calc(8px + var(--sat)) 12px 8px;gap:10px}.brand-logo{height:30px}.who{gap:0}.who-name{display:none}.who button{min-height:40px;padding:8px 16px;font-family:var(--display);text-transform:uppercase;letter-spacing:.55px}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:60;margin:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));gap:4px;justify-content:space-around;background:linear-gradient(180deg,#160d18,#0c0810);border-top:1px solid var(--line-strong);box-shadow:0 -4px 18px #0000008c}.tabs button{flex:1;padding:9px 3px;font-size:12.5px;letter-spacing:.3px;text-align:center;white-space:nowrap;min-width:0}.tabs .tab-full{display:none}.tabs .tab-short{display:inline}.card-grid,.board-areas,.play-lobby,.home,.deck-list{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}.home-cta{flex-direction:column;width:min(320px,84vw)}.home-btn{width:100%}.home-tag{font-size:13px;padding:0 18px}.signin form{flex-direction:column;width:min(320px,86vw)}.signin input,.signin form button{width:100%}.deckbuilder{display:flex;flex-direction:column}.db-mobilebar{display:flex;gap:8px;padding:8px 10px;flex:0 0 auto;background:var(--panel);border-bottom:1px solid var(--line)}.db-mobilebar button{flex:1;font-family:var(--display);text-transform:uppercase;letter-spacing:.5px}.db-gallery{flex:1;min-height:0;border:none}.card-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px;padding:12px}.filter-sidebar,.deck-panel{position:fixed;top:0;bottom:0;z-index:70;width:min(86vw,320px);transition:transform .25s ease;box-shadow:0 0 40px #000000a6}.filter-sidebar{left:0;transform:translate(-100%)}.deck-panel{right:0;transform:translate(100%)}.deckbuilder[data-drawer=filters] .filter-sidebar,.deckbuilder[data-drawer=deck] .deck-panel{transform:translate(0)}.deckbuilder:not([data-drawer=none]) .db-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:65}.board .card-preview.press-preview{width:min(64vw,240px);left:50%;bottom:calc(138px + env(safe-area-inset-bottom,0px));transform:translate(-50%);pointer-events:none;z-index:80}.board .card-preview.press-preview .preview-meta{display:none}.board .card-preview.press-preview .card-img,.board .card-preview.press-preview .card-fallback{display:block}.card-preview:not(.press-preview){width:min(80vw,320px);left:50%;bottom:calc(70px + env(safe-area-inset-bottom,0px));transform:translate(-50%);pointer-events:auto;cursor:pointer;max-height:76vh;overflow-y:auto}.inspect-preview:not(.press-preview){pointer-events:auto;cursor:pointer}.inspect-preview:not(.press-preview):after{content:"tap to close";display:block;padding:0 12px 8px;font-size:11px;color:var(--muted)}.preview-close-hint{display:block;text-align:center;padding:2px 0 8px;font-size:11px;color:var(--muted)}.ad-styles{grid-template-columns:1fr}.ad-preview{align-items:flex-start;flex-direction:column}.ad-preview-stats{text-align:left}.resource-bar{display:flex;align-items:center;gap:4px;min-width:0;padding:1px 2px}.player-area .pa-row-mana,.player-area .pa-row-shields{display:none}.shields-row{gap:6px}.shields-row .piles{width:96px;gap:6px}.player-area{gap:2px}.zone{min-height:38px;padding:2px 6px 3px}.pile-zone{min-height:38px}.zone-head{font-size:8px;margin-bottom:1px;line-height:1.1}.zone-cards{gap:4px}.pa-name{padding:0 4px;line-height:1.15}.board-controls{flex-wrap:wrap;gap:6px;padding:8px 10px}.turn-pill{flex:1 1 100%;margin:0 0 2px}.board-controls button{flex:1 1 auto;min-height:40px}.board-controls .exit{flex:0 0 auto;margin-left:0}.pa-stats{display:flex;font-size:11px;gap:6px}.shield-pip{font-size:10px}.mana-pip{width:8px;height:8px}.board-areas{display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);gap:1px;overflow:hidden;padding:4px 8px calc(120px + env(safe-area-inset-bottom,0px))}.board-areas .player-area{min-height:0}.board-areas .player-area.opp{justify-content:flex-end}.board-areas .player-area.me{justify-content:flex-start}.board-areas .player-area.me .pa-row:last-child{margin-top:auto}.zone-battle{min-height:calc(var(--card-unit) * 7 / 5 + 14px)}.player-area.opp .zone-hand .zone-cards{padding-top:4px}.player-area.opp .zone-hand .mini{width:var(--pile-w);height:calc(var(--pile-w) * 7 / 5)}.player-area.opp .zone-hand .mini+.mini{margin-left:calc(var(--pile-w) * -.5)}.dock-hide{display:none!important}.board-controls{padding:6px 10px;gap:6px}.board-controls .turn-pill{flex:1 1 100%;margin:0}.board-dock{display:flex;align-items:center;gap:8px;position:fixed;left:0;right:0;z-index:61;bottom:calc(52px + env(safe-area-inset-bottom,0px));padding:7px 12px;background:linear-gradient(180deg,#141017f5,#0c0810fa);border-top:1px solid var(--line-strong);box-shadow:0 -6px 20px #00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dock-mana{flex:0 1 auto;min-width:0;max-width:50%;overflow:hidden}.dock-mana .mana-pip{width:10px;height:10px}.dock-right{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;gap:8px}.dock-overflow{position:relative}.dock-more{min-height:48px;min-width:44px;padding:8px 10px;font-size:20px;line-height:1;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:10px}.dock-overflow-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:transparent}.dock-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:2;display:flex;flex-direction:column;gap:4px;min-width:160px;padding:6px;background:var(--surface-overlay);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-modal)}.dock-menu button{width:100%;min-height:46px;text-align:left}.dock-menu-exit{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 50%,var(--line-strong))}.dock-end-turn{min-height:48px;min-width:116px;padding:10px 16px;font-size:15px;border-radius:12px}.pending-bar{margin:8px;gap:8px}.pending-chip{min-height:40px}.pending-bar .attack-btn,.pending-bar>button{min-height:40px}.card-toolbar{left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom,0px));transform:none;max-width:none;flex-direction:column;align-items:stretch;gap:8px;border-radius:14px 14px 0 0;border-bottom:none;padding:10px 12px;max-height:34vh;overflow-y:auto}.card-toolbar .tool-detail{display:block}.card-toolbar .tool-info{display:flex;flex-direction:column;gap:2px;min-width:0}.card-toolbar .tool-art,.card-toolbar .tool-art-back,.card-toolbar .tool-text{display:none}.card-toolbar .tool-name{font-size:15px;font-weight:700;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.card-toolbar .tool-meta{display:block;color:var(--muted);font-size:12px}.card-toolbar .tool-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.card-toolbar .tool-actions button{min-height:46px;width:100%}.card-toolbar .tool-hint{grid-column:1 / -1;order:-1;text-align:center;font-size:12px}.play-actions{flex-direction:column}.action-card{min-width:0;width:100%}}
