:root{color-scheme:dark;font-family:Baskerville,Palatino Linotype,Book Antiqua,serif;line-height:1.45;font-weight:400;color:#f5e8cf;background:radial-gradient(circle at top,rgba(255,193,112,.18),transparent 26%),radial-gradient(circle at 20% 20%,rgba(153,80,31,.18),transparent 30%),linear-gradient(180deg,#24150f,#140b08);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-deep: #140b08;--bg-panel: rgba(37, 22, 15, .88);--bg-panel-strong: rgba(29, 17, 12, .96);--bg-card: rgba(66, 46, 31, .9);--wood-mid: #5a3925;--wood-dark: #2f1b13;--gold: #d2a96a;--gold-soft: #a67b40;--ink: #20120a;--cream: #f3e7d2;--muted: #d2b993;--muted-dim: #9a7f61;--danger: #c96f62;--success: #8fb88d;--shadow-strong: 0 24px 60px rgba(0, 0, 0, .45);--shadow-card: 0 14px 32px rgba(0, 0, 0, .35);--pixel-border: 0 0 0 2px rgba(43, 25, 18, .8), 0 0 0 4px rgba(161, 114, 61, .45);--game-log-height: clamp(620px, 70vh, 860px)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.app-shell{position:relative;min-height:100vh;padding:24px;overflow:visible}.ambient-glow{position:fixed;inset:auto;width:28vw;height:28vw;border-radius:999px;filter:blur(42px);opacity:.24;pointer-events:none}.ambient-glow-left{top:-6vw;left:-6vw;background:#e5a4506b}.ambient-glow-right{top:20vh;right:-8vw;background:#a8592b57}.top-bar{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:0 auto 20px;max-width:1440px}.brand-block h1{margin:0;font-size:clamp(2.4rem,4vw,4.8rem);letter-spacing:.08em;text-transform:uppercase;color:var(--cream);text-shadow:0 3px 0 rgba(48,24,15,.9),0 10px 28px rgba(0,0,0,.5)}.brand-block p,.brand-kicker{margin:0;color:var(--muted)}.brand-kicker{display:inline-block;margin-bottom:4px;font-family:Courier New,monospace;letter-spacing:.18em;font-size:.78rem;text-transform:uppercase}.main-nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.nav-button,.pixel-button,.ghost-button{border:0;padding:12px 18px;min-height:48px;text-transform:uppercase;letter-spacing:.08em;font-family:Courier New,monospace;background:linear-gradient(180deg,#87582df2,#563218f2);color:var(--cream);box-shadow:var(--pixel-border),0 12px 24px #00000052;transition:transform .16s ease,filter .16s ease,opacity .16s ease}.nav-button:hover,.pixel-button:hover,.ghost-button:hover{transform:translateY(-1px);filter:brightness(1.06)}.nav-button.active{background:linear-gradient(180deg,#bd8846fa,#784622fa)}.nav-button:disabled{opacity:.4;cursor:not-allowed}.ghost-button{background:#371f14b8}.controls-row.wrap{flex-wrap:wrap}.screen-frame{position:relative;z-index:1;margin:0 auto;max-width:1440px}.server-banner{position:relative;z-index:1;margin:0 auto 16px;max-width:1440px;padding:12px 16px;display:flex;justify-content:space-between;gap:16px;align-items:center;background:#571c16d1;border-color:#c96f6266}.panel{background:linear-gradient(180deg,#43281af5,#22140ff0);border:1px solid rgba(212,170,106,.24);box-shadow:var(--shadow-strong);border-radius:24px}.section-title{margin:0;color:var(--cream);font-size:clamp(1.5rem,2vw,2.3rem)}.section-kicker{margin:0 0 8px;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-family:Courier New,monospace}.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{padding:6px 10px;border-radius:999px;background:#f8d6ae1f;color:var(--cream);font-size:.82rem}.tag-chip.danger{background:#c96f6229}.rules-preview{margin:24px 0 0}.tutorial-focus{position:relative;border-radius:24px;box-shadow:0 0 0 2px #ebcb92ad,0 0 0 7px #73482347}.tutorial-target{position:relative;box-shadow:0 0 0 2px #f0d6abd1,0 0 22px #c2844057}.tutorial-overlay{position:fixed;right:28px;bottom:28px;z-index:45;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 56px);overflow-y:auto;display:grid;gap:14px;padding:18px;background:linear-gradient(180deg,#4a2d1dfa,#1d110cf7)}.tutorial-overlay-head,.tutorial-overlay-actions{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.tutorial-overlay-head h3,.tutorial-overlay-body{margin:0}.tutorial-bullet-list{margin:0;padding-left:18px;display:grid;gap:8px}.overlay-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:#0a0605c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.username-modal{width:min(100%,560px);display:grid;gap:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:960px){.app-shell{padding:16px}.top-bar{flex-direction:column;align-items:flex-start}.main-nav{justify-content:flex-start}.tutorial-overlay{right:16px;bottom:16px;width:calc(100vw - 32px);max-height:calc(100vh - 32px)}}.card-shell{position:relative;display:flex;flex-direction:column;width:100%;border:0;padding:0;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#e4d6bdfa,#b39670f7);color:#24150d;box-shadow:inset 0 0 0 2px #fff6e56b,inset 0 0 0 6px #7c552f57,0 18px 30px #00000047;isolation:isolate;transform-origin:center bottom;text-align:left;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.card-shell:before,.card-shell:after{content:"";position:absolute;inset:0;pointer-events:none}.card-shell:before{background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 28%),radial-gradient(circle at 14% 10%,rgba(122,74,43,.08),transparent 18%),radial-gradient(circle at 84% 12%,rgba(122,74,43,.08),transparent 14%);mix-blend-mode:screen}.card-shell:after{inset:6px;border-radius:16px;background:linear-gradient(100deg,rgba(255,255,255,.18),transparent 10%,transparent 88%,rgba(82,42,18,.16)),repeating-linear-gradient(135deg,rgba(67,37,18,.06) 0,rgba(67,37,18,.06) 2px,transparent 2px,transparent 24px);opacity:.72}.card-wear-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .22s ease}.card-shell.wear-worn .card-wear-overlay,.card-shell.wear-cracked .card-wear-overlay,.card-shell.wear-shattered .card-wear-overlay{opacity:1}.card-fracture-map,.wear-grain,.wear-chips{position:absolute;pointer-events:none}.card-fracture-map{inset:0;width:100%;height:100%;overflow:visible}.card-fracture-map path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke:#35180b52;stroke-width:1.05;shape-rendering:geometricPrecision;filter:drop-shadow(0 0 1px rgba(255,245,231,.06)) drop-shadow(0 0 .6px rgba(36,16,8,.24))}.wear-grain{inset:0;background:radial-gradient(circle at 22% 24%,rgba(43,23,12,.08),transparent 18%),radial-gradient(circle at 72% 58%,rgba(43,23,12,.06),transparent 16%),linear-gradient(160deg,rgba(255,251,240,.03),transparent 24%,rgba(40,18,9,.05) 82%);mix-blend-mode:multiply;opacity:0}.wear-chips{inset:10px;border-radius:16px;box-shadow:inset -2px -2px #331c0e00,inset 2px 2px #fff7e900}.card-shell.wear-worn .card-fracture-map path{opacity:.72;stroke-dasharray:12 999}.card-shell.wear-worn .wear-grain{opacity:.46}.card-shell.wear-worn .wear-chips{box-shadow:inset -2px -2px #4b2a141f,inset 2px 2px #fff7e914}.card-shell.wear-cracked .card-fracture-map path{opacity:.9;stroke:#32150a70;stroke-width:1.15;stroke-dasharray:none}.card-shell.wear-cracked .wear-grain{opacity:.64}.card-shell.wear-cracked .wear-chips{box-shadow:inset -3px -2px #46241229,inset 3px 2px #fff7e91a}.card-shell.wear-shattered .card-fracture-map path{opacity:1;stroke:#3013088f;stroke-width:1.2;stroke-dasharray:none}.card-shell.wear-shattered .wear-grain{opacity:.76}.card-shell.wear-shattered .wear-chips{box-shadow:inset -5px -3px #46220e33,inset 4px 3px #fff7e91f}.card-shell.wear-shattered .card-art-frame:after{background:linear-gradient(180deg,#0000001a,#0000003d),radial-gradient(circle at top,rgba(255,229,180,.18),transparent 24%)}.card-shell.selected{transform:translateY(-10px) scale(1.02);box-shadow:inset 0 0 0 2px #fff6e58c,inset 0 0 0 6px #b785446b,0 24px 48px #00000057}.card-shell.playable:hover{transform:translateY(-8px) rotate(-.45deg)}.card-shell.disabled{filter:saturate(.72) brightness(.82)}.card-shell.hand{max-width:220px}.card-shell.mini{max-width:128px;border-radius:18px}.card-shell.board{max-width:220px}.card-header,.card-footer,.card-text,.card-stats,.card-topline{position:relative;z-index:1}.card-topline{display:flex;justify-content:space-between;gap:12px;padding:12px 14px 8px;font-family:Courier New,monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.card-rarity{color:#7c461e}.card-cost{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(180deg,#3d2010fa,#733d1df2);color:#f9ebd6;box-shadow:inset 0 0 0 2px #ffdfbc33;font-size:1.2rem;font-weight:700}.card-header{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:0 14px 10px}.card-header>div{min-width:0}.card-name{margin:0;font-size:1.15rem;line-height:1.06;text-wrap:balance;overflow-wrap:anywhere}.card-type-label{color:#6e4728;font-size:.82rem}.card-art-frame{position:relative;margin:0 12px;border-radius:14px;overflow:hidden;aspect-ratio:.7;background:linear-gradient(180deg,#4a3224e6,#281811f5);box-shadow:inset 0 0 0 2px #fff8ec38,inset 0 0 0 6px #5734183d}.card-art-frame img{width:100%;height:100%;object-fit:cover}.card-art-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000000a,#0000002e),radial-gradient(circle at top,rgba(255,241,212,.14),transparent 22%);mix-blend-mode:multiply}.card-text{display:grid;gap:8px;padding:12px 14px 10px}.card-effect{margin:0;font-size:.94rem;font-weight:600}.card-flavor{margin:0;font-size:.84rem;color:#3c2519e0;font-style:italic}.card-stats{display:flex;justify-content:space-between;gap:8px;padding:0 14px 12px}.stat-pill{flex:1;display:grid;place-items:center;padding:8px;min-height:52px;border-radius:14px;background:#fffaf157;box-shadow:inset 0 0 0 1px #4e2e162e}.stat-pill strong{display:block;font-size:1rem}.stat-pill span{font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;color:#6b4325}.card-footer{display:grid;gap:8px;padding:0 14px 14px}.card-abilities,.card-tags{display:flex;flex-wrap:wrap;gap:6px}.card-keyword,.card-tag{padding:4px 8px;border-radius:999px;background:#4b2e1814;font-size:.72rem}.card-keyword{font-weight:700;color:#55321b}.card-shell.action{background:linear-gradient(180deg,#ded2b2fa,#998053f7)}.card-shell.institution{background:linear-gradient(180deg,#d7cfbefa,#796a52f7)}.card-shell.institution .card-art-frame{aspect-ratio:.78}.board-slot .card-shell,.collection-preview .card-shell,.selection-panel .card-shell,.setup-summary .card-shell{max-width:none}.institution-grid{display:grid;gap:8px}.institution-line{margin:0;padding:8px 10px;border-radius:12px;background:#fffbf45c;font-size:.83rem}.institution-line strong{display:inline-block;margin-right:6px}.institution-badge{display:grid;gap:6px;padding:10px 12px;border-radius:18px;background:#1a0e0ab8;box-shadow:inset 0 0 0 1px #ffe0b424}.institution-badge h4{margin:0;font-size:.96rem;color:var(--cream)}.institution-badge p{margin:0;font-size:.76rem;color:var(--muted)}.institution-badge .badge-meta{display:flex;flex-wrap:wrap;gap:6px}.hero-layout,.collection-layout,.setup-layout,.battle-layout{position:relative;overflow:hidden}.battle-layout{overflow:visible}.hero-layout:before,.collection-layout:before,.setup-layout:before,.battle-layout:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,211,142,.08),transparent 25%),radial-gradient(circle at 14% 15%,rgba(115,61,31,.16),transparent 28%),linear-gradient(180deg,rgba(255,248,240,.02),transparent 35%);pointer-events:none}.wood-panel{background:linear-gradient(180deg,#543423d1,#23140ee6),repeating-linear-gradient(90deg,#ffffff05 0 6px,#0000000a 6px 12px);box-shadow:inset 0 0 0 1px #ffd7a214,var(--shadow-strong)}.pixel-divider{height:8px;background:repeating-linear-gradient(90deg,#d0a160e0 0 12px,#5c341de0 12px 24px);border-radius:999px}.screen-card{padding:24px;border-radius:28px}.inner-panel{padding:18px;border-radius:22px;background:#20120da8}.controls-row{display:flex;gap:12px;flex-wrap:wrap}.profile-settings-stack{display:grid;gap:20px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(242,213,170,.12)}.profile-setting-group{display:grid;gap:12px}.split-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(280px,360px)}.split-layout>*{min-width:0}.info-stack{display:grid;gap:16px}.empty-state{padding:24px;border-radius:20px;border:1px dashed rgba(255,220,175,.22);color:var(--muted);text-align:center}.screen-loading-state{display:grid;gap:14px;min-height:240px;place-content:center;text-align:center}.screen-loading-state .section-title,.screen-loading-state .field-hint{margin:0}.hero-main{display:grid;gap:20px;grid-template-columns:minmax(0,1.45fr) minmax(300px,.9fr);margin-bottom:24px}.hero-copy{display:grid;gap:18px;align-content:center}.hero-text,.battle-subtitle,.selection-hint{margin:0;color:var(--muted);max-width:70ch}.hero-side{border-radius:24px;padding:20px}.hero-side-copy{display:grid;gap:10px}.feature-list{margin:0;padding-left:18px;color:var(--cream)}.feature-list li+li{margin-top:8px}.institution-preview{display:grid;gap:16px;margin-top:24px}.institution-preview-grid{display:flex;flex-wrap:wrap;gap:16px}.institution-preview-card{flex:0 0 220px;width:220px}.setup-header,.collection-header,.battle-topbar,.hand-header,.table-status-banner,.player-panel-top,.collection-filters,.setup-controls{display:flex;justify-content:space-between;gap:16px;align-items:center}.setup-controls{flex-direction:column;align-items:stretch}.field{display:grid;gap:8px}.field span,.deck-option small,.player-panel-role,.log-turn{font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--gold)}.collection-filters input,.collection-filters select,.field select,.field input{width:100%;min-height:48px;border:1px solid rgba(242,213,170,.18);border-radius:14px;background:#150c09cc;color:var(--cream);padding:0 14px}.field-hint{margin:0;font-size:.9rem;color:var(--muted)}.field-hint.success{color:var(--success)}.field-hint.danger{color:var(--danger)}.field input[type=range]{width:100%;min-height:auto;padding:0;accent-color:var(--gold);background:transparent}.checkbox-row{display:flex;align-items:center;gap:12px;color:var(--cream)}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold)}.collection-filters{margin:20px 0;align-items:stretch}.collection-filters input{flex:1.5}.collection-filters select{flex:.8}.deck-picker,.institution-select-grid,.collection-grid,.deck-list-preview{display:grid;gap:14px}.deck-picker.grid-layout{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.deck-picker.scroll-row,.institution-select-grid.scroll-row{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scroll-snap-type:x proximity}.deck-picker.scroll-row .deck-option,.institution-select-grid.scroll-row .institution-choice{flex:0 0 min(220px,72vw);scroll-snap-align:start}.deck-option{display:grid;gap:8px;min-height:132px;padding:14px;text-align:left;border-radius:18px;border:1px solid rgba(244,214,171,.14);background:#1b0f0bbd;color:var(--cream)}.deck-option.active,.institution-choice.active{outline:2px solid rgba(210,169,106,.58);outline-offset:0;box-shadow:0 0 0 4px #5a3a1b61}.institution-select-grid{grid-template-columns:repeat(auto-fit,minmax(220px,220px));justify-content:start}.institution-choice{display:flex;justify-content:center;align-items:flex-start}.institution-choice .card-shell.collection,.institution-preview-card .card-shell.collection{max-width:220px}.lobby-deck-section{display:grid;gap:12px;margin-top:20px}.lobby-create-actions{margin-top:10px}.setup-summary{display:grid;gap:16px;align-content:start}.summary-box{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:#f4ddbd14}.deck-list-preview{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.deck-chip{padding:8px 10px;border-radius:999px;background:#f4ddbd14;color:var(--muted);font-size:.76rem}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(212px,1fr));align-content:start}.collection-card{display:flex;justify-content:center}.collection-preview{display:grid;align-content:start;gap:16px}.battle-main,.battle-sidebar,.info-stack{display:grid;gap:18px;min-width:0}.battle-scroll-anchor{scroll-margin-top:148px}.battle-sidebar{grid-template-rows:auto auto var(--game-log-height)}.battle-support-zone{display:grid;gap:18px;min-width:0}.battle-hand-focus-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;align-items:start}.battle-hand-focus-row.single-column{grid-template-columns:minmax(0,1fr)}.battle-hand-focus-row>*{min-width:0}.battle-support-panels-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px;align-items:stretch}.battle-support-panels-row>*{min-width:0}.battle-support-panels-row .battle-institution-panel{width:100%;height:100%}.battle-support-panels-row .battle-row-log{height:100%;min-height:0;max-height:none}.battle-support-panels-row .game-log,.battle-support-panels-row .result-summary,.battle-support-panels-row .winner-panel{grid-column:2}.battle-layout.crowded-table .split-layout{grid-template-columns:1fr}.battle-topbar{margin-bottom:18px}.battle-area-navigator{position:sticky;top:14px;z-index:14;display:flex;align-items:stretch;gap:12px;margin-bottom:18px;opacity:1;transition:opacity .18s ease,gap .22s ease}.battle-area-navigator.scrolled{opacity:.82}.battle-area-navigator.collapsed{gap:10px}.battle-area-toggle-hint{flex:0 0 auto;display:inline-flex;align-items:center;align-self:flex-start;gap:8px;margin-top:6px;padding:6px 10px;border:1px solid rgba(244,221,189,.16);border-radius:999px;background:#160c09c7;color:var(--cream);-webkit-backdrop-filter:blur(12px) saturate(1.05);backdrop-filter:blur(12px) saturate(1.05);box-shadow:inset 0 0 0 1px #ffeed50d,0 10px 24px #0000002e;transition:background .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease}.battle-area-toggle-hint:hover,.battle-area-toggle-hint:focus-visible{background:#1f110ceb;border-color:#dfbc8252;transform:translateY(-1px)}.battle-area-toggle-hint kbd{min-width:26px;min-height:26px;display:grid;place-items:center;padding:0 7px;border-radius:999px;border:1px solid rgba(244,221,189,.18);background:#f8ebd514;color:var(--cream);font-family:Courier New,monospace}.battle-area-toggle-hint span{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.battle-area-preview{flex:1 1 0;min-width:0;display:grid;gap:10px;padding:12px;overflow:hidden;border:1px solid rgba(244,221,189,.16);border-radius:18px;background:#160c0980;color:var(--cream);-webkit-backdrop-filter:blur(14px) saturate(1.05);backdrop-filter:blur(14px) saturate(1.05);box-shadow:inset 0 0 0 1px #ffeed50f,0 10px 24px #0000002e;transform-origin:top center;transition:transform .18s ease,gap .22s ease,padding .22s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.battle-area-preview:hover,.battle-area-preview:focus-visible,.battle-area-preview.expanded{transform:translateY(-2px) scale(1.08);border-color:#dfbc8266;background:#1f110cb8;box-shadow:inset 0 0 0 1px #ffeed514,0 18px 34px #00000038}.battle-area-preview.active{border-color:#dfbc828a;box-shadow:inset 0 0 0 1px #ffeed514,0 0 0 2px #d2a96a24,0 16px 28px #0003}.battle-area-preview-icon{display:none;width:40px;height:40px;margin-inline:auto;align-items:center;justify-content:center;border-radius:12px;background:#f8ebd514;box-shadow:inset 0 0 0 1px #ffeed50f}.battle-area-preview-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.battle-area-navigator.collapsed .battle-area-preview{gap:0;padding:10px 12px}.battle-area-navigator.collapsed .battle-area-preview-label{font-size:.78rem;letter-spacing:.03em}.battle-area-preview-surface,.battle-preview-stack,.battle-preview-player,.battle-preview-support{display:grid;gap:8px}.battle-area-preview-surface{max-height:220px;opacity:1;overflow:hidden;transform:translateY(0) scaleY(1);transform-origin:top center;transition:max-height .24s ease,opacity .18s ease,transform .24s ease}.battle-area-navigator.collapsed .battle-area-preview-surface{max-height:0;opacity:0;transform:translateY(-6px) scaleY(.94)}.battle-preview-player{padding:8px;border-radius:14px;background:#f8ebd50f}.battle-preview-player-head,.battle-area-preview-copy{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.battle-area-preview-text{display:grid;gap:5px;min-width:0;transition:gap .22s ease}.battle-preview-player-head strong,.battle-area-preview-label{font-size:.82rem}.battle-area-preview-label{display:block;transition:font-size .22s ease,letter-spacing .22s ease}.battle-preview-player-head span,.battle-area-preview-copy small{color:var(--muted);font-size:.74rem}.battle-area-preview-copy small{display:block;line-height:1.35;max-height:3.3em;overflow:hidden;opacity:1;transform:translateY(0);transition:max-height .22s ease,opacity .16s ease,transform .22s ease}.battle-area-navigator.collapsed .battle-area-preview-text{gap:0}.battle-area-navigator.collapsed .battle-area-preview-copy small{max-height:0;opacity:0;transform:translateY(-4px)}.battle-preview-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.battle-preview-slot{min-height:34px;border-radius:10px;border:1px dashed rgba(244,221,189,.14);display:grid;place-items:center;background:#1008066b;color:var(--cream)}.battle-preview-slot.filled.self{background:linear-gradient(180deg,#5e3a22e6,#3a2214eb);border-style:solid;border-color:#dfbc822e}.battle-preview-slot.filled.enemy{background:linear-gradient(180deg,#5b2922eb,#361611f0);border-style:solid;border-color:#da90782e}.battle-preview-slot span{font-size:.72rem;font-weight:700;line-height:1}.battle-preview-slot small{font-size:.6rem;color:#f5e7cfc2;line-height:1}.battle-preview-support{min-height:100%;align-content:start}.battle-preview-hand-fan{position:relative;height:46px}.battle-preview-hand-card{position:absolute;top:4px;left:var(--preview-shift);width:28px;height:40px;border-radius:8px;transform:rotate(var(--preview-rotate));transform-origin:bottom center;box-shadow:0 8px 14px #00000029}.battle-preview-hand-card.leonard{background:linear-gradient(180deg,#7d5634f5,#422618f5);border:1px solid rgba(225,184,121,.2)}.battle-preview-hand-card.action{background:linear-gradient(180deg,#844530f5,#421e19f5);border:1px solid rgba(240,191,121,.2)}.battle-preview-log-lines{display:grid;gap:6px}.battle-preview-log-line{padding:7px 8px;border-radius:10px;background:#f8ebd50d}.battle-preview-log-line span{display:block;color:var(--muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-preview-log-line.danger{border-left:3px solid rgba(201,111,98,.56)}.battle-preview-log-line.success{border-left:3px solid rgba(143,184,141,.56)}.battle-preview-log-line.institution{border-left:3px solid rgba(210,169,106,.6)}.battle-area-preview-copy kbd{flex:0 0 auto;align-self:start;min-width:28px;min-height:28px;display:grid;place-items:center;padding:0 8px;border-radius:999px;border:1px solid rgba(244,221,189,.16);background:#f8ebd514;color:var(--cream);font-family:Courier New,monospace}.board-table{position:relative;display:grid;gap:18px;min-width:0;padding:24px;min-height:720px;background:radial-gradient(circle at 50% 22%,rgba(255,219,151,.12),transparent 20%),radial-gradient(circle at 50% 60%,rgba(110,63,34,.16),transparent 45%),linear-gradient(180deg,#51301feb,#22130df5)}.board-table-effect-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.table-ornament{position:absolute;inset:72px 64px 150px;border-radius:50%;background:radial-gradient(circle at center,#563824e6,#382117f0 64%,#1c0f0bfa);box-shadow:inset 0 0 0 12px #704a2a61,inset 0 0 0 24px #2718128c,0 26px 48px #00000057;filter:saturate(.9)}.table-status-banner{position:relative;z-index:1;padding:12px 16px;border-radius:18px;background:#130b08b8;align-items:flex-start}.table-status-banner p{margin:0;max-width:34ch;color:var(--muted)}.opponent-seats,.player-seat{position:relative;z-index:1}.opponent-seats{display:grid;gap:18px}.opponents-1{grid-template-columns:minmax(0,1fr)}.opponents-2{grid-template-columns:repeat(2,minmax(0,1fr))}.opponents-3{grid-template-columns:repeat(3,minmax(0,1fr))}.seat-block{display:grid;gap:12px}.enemy-seat{transform:translateY(10px)}.board-row{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.board-slot{position:relative;display:grid;place-items:center;min-height:210px;border-radius:20px;padding:8px;overflow:hidden;border:1px dashed rgba(255,225,183,.15);background:#0f080629;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .18s ease}.board-slot.selectable:hover,.hero-medallion.targetable:hover{transform:translateY(-2px);border-color:#dfbc828a;background:#623d222e}.board-slot.target,.hero-medallion.targetable{box-shadow:0 0 0 2px #dfbc8259}.board-slot.selected{box-shadow:0 0 0 3px #eed4a16b,0 10px 28px #0000003d}.board-slot.effect-active{box-shadow:inset 0 0 0 1px #ffe2b424,0 12px 26px #0000003d}.empty-slot-mark{display:grid;place-items:center;width:100%;height:100%;border-radius:16px;color:#f3e7d28a;font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:.08em}.player-seat{margin-top:auto}.player-panel{position:relative;display:grid;gap:12px;padding:14px 16px;border-radius:20px;background:#110a08c2;border:1px solid rgba(241,214,173,.1);overflow:hidden;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease,background .22s ease}.player-panel:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 12%,rgba(255,214,142,.1),transparent 30%),linear-gradient(180deg,#0c060400,#0c060442);transition:opacity .18s ease}.player-panel.active{box-shadow:0 0 0 2px #dfbc8261}.player-panel.health-worn:after{opacity:.4}.player-panel.health-danger{border-color:#cd796647;background:radial-gradient(circle at top,rgba(172,82,47,.12),transparent 35%),#170b09d1}.player-panel.health-danger:after{opacity:.78;background:radial-gradient(circle at 50% 8%,rgba(255,184,118,.12),transparent 28%),linear-gradient(180deg,#852a1e0f,#0c06045c)}.player-panel.health-critical{border-color:#d9716261;background:radial-gradient(circle at top,rgba(184,62,45,.18),transparent 36%),#1c0a09e6;animation:player-critical-pulse 1.8s ease-in-out infinite}.player-panel.health-critical:after{opacity:1;background:radial-gradient(circle at 50% 10%,rgba(255,186,112,.16),transparent 30%),linear-gradient(180deg,#952b241a,#0c060475)}.player-panel h3{margin:2px 0 0}.hero-medallion{position:relative;width:82px;height:82px;border-radius:24px;border:0;background:linear-gradient(180deg,#704324fa,#391f10fa);color:var(--cream);display:grid;place-items:center;box-shadow:inset 0 0 0 2px #ffe0b324;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.hero-medallion:before,.hero-medallion:after{content:"";position:absolute;inset:0;pointer-events:none}.hero-medallion:before{background:linear-gradient(135deg,rgba(255,249,232,.08),transparent 45%),radial-gradient(circle at top,rgba(255,230,192,.12),transparent 34%)}.hero-medallion:after{opacity:0;background:linear-gradient(140deg,transparent 34%,rgba(72,28,18,.22) 34.5%,transparent 35.5%),linear-gradient(28deg,transparent 48%,rgba(72,28,18,.18) 48.5%,transparent 49.5%);transition:opacity .18s ease}.hero-medallion span{display:block;font-size:1.4rem;font-weight:700}.hero-medallion small{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-family:Courier New,monospace}.hero-medallion.health-worn{box-shadow:inset 0 0 0 2px #ffe0b329,0 0 0 1px #55301c47}.hero-medallion.health-worn:after{opacity:.32}.hero-medallion.health-danger{filter:saturate(1.08);box-shadow:inset 0 0 0 2px #ffccb329,0 0 18px #aa48383d}.hero-medallion.health-danger:after{opacity:.58}.hero-medallion.health-critical{box-shadow:inset 0 0 0 2px #ffc6b82e,0 0 24px #ba402e52;animation:hero-medallion-pulse 1.2s ease-in-out infinite}.hero-medallion.health-critical:after{opacity:.82}.player-resources{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.resource-pill{display:grid;place-items:center;min-height:64px;border-radius:16px;background:#f4dcbb14}.resource-pill strong{font-size:1.08rem}.resource-pill span{font-size:.7rem;color:var(--muted);text-transform:uppercase;font-family:Courier New,monospace}.hand-section{padding:20px;min-width:0;overflow:hidden}.hand-row{display:flex;gap:14px;width:100%;min-width:0;max-width:100%;overflow-x:auto;padding-bottom:8px}.hand-card-wrap{flex:0 0 200px;min-width:0;padding-top:6px}.selection-panel,.winner-panel{display:grid;gap:14px}.battle-institution-panel{display:grid;grid-template-columns:136px minmax(0,1fr);gap:12px;padding:14px 16px;align-items:start}.battle-institution-panel .section-kicker{grid-column:1 / -1}.battle-institution-card{justify-self:center}.battle-institution-panel .institution-badge{padding:10px 12px}.lobby-grid,.leaderboard-grid{display:grid;gap:16px}.lobby-card,.leaderboard-card,.result-summary{display:grid;gap:14px}.lobby-card-head,.lobby-player-head,.leaderboard-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.result-dialog-backdrop{z-index:44}.result-dialog{position:relative;width:min(100%,760px);display:grid;overflow:hidden;background:radial-gradient(circle at top,rgba(255,224,170,.14),transparent 30%),linear-gradient(180deg,#2e1810fa,#120907fa);box-shadow:0 32px 80px #00000073,inset 0 0 0 1px #f4d5aa29}.result-dialog-inner{position:relative;z-index:1;display:grid;gap:16px;padding:32px 30px 30px;text-align:center}.result-dialog-title,.result-dialog-subtitle,.result-dialog-meta{margin:0}.result-dialog-title{font-size:clamp(2.7rem,7vw,4.8rem);line-height:.94;letter-spacing:-.04em;text-transform:uppercase;text-wrap:balance}.result-dialog-win .result-dialog-title{color:#ffe5a8;text-shadow:0 0 22px rgba(255,194,89,.36),0 0 48px rgba(255,132,54,.18)}.result-dialog-lose .result-dialog-title{color:#ffd2c9;text-shadow:0 0 18px rgba(197,90,78,.28),0 0 42px rgba(112,34,24,.22)}.result-dialog-draw .result-dialog-title{color:#f0dfbe;text-shadow:0 0 18px rgba(214,176,109,.16)}.result-dialog-subtitle{max-width:34rem;margin-inline:auto;color:var(--cream);font-size:1.08rem}.result-dialog-meta{color:var(--muted)}.result-dialog-actions{justify-content:center}.result-dialog-fireworks{position:absolute;inset:0 0 auto;height:220px;pointer-events:none;overflow:hidden;z-index:0}.result-dialog-firework{position:absolute;left:var(--firework-x);top:var(--firework-y);width:14px;height:14px;transform:translate(-50%,-50%)}.result-dialog-firework-core{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:999px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,251,230,.95) 0 22%,hsla(var(--firework-hue),92%,66%,.95) 38%,transparent 72%);box-shadow:0 0 18px hsla(var(--firework-hue),96%,70%,.55),0 0 36px hsla(var(--firework-hue),96%,62%,.24);animation:result-firework-core 1.8s ease-out infinite;animation-delay:var(--firework-delay)}.result-dialog-firework-spark{position:absolute;left:50%;top:50%;width:4px;height:64px;transform:translate(-50%,-100%) rotate(var(--spark-angle));transform-origin:50% 100%;opacity:0;animation:result-firework-spark 1.8s ease-out infinite;animation-delay:var(--spark-delay)}.result-dialog-firework-spark:before{content:"";position:absolute;inset:0;border-radius:999px;background:linear-gradient(180deg,rgba(255,248,232,.98),hsla(var(--firework-hue),92%,68%,.94) 35%,transparent 100%);filter:drop-shadow(0 0 8px hsla(var(--firework-hue),94%,64%,.36))}@keyframes result-firework-core{0%,to{transform:translate(-50%,-50%) scale(.2);opacity:0}14%{transform:translate(-50%,-50%) scale(1.1);opacity:1}38%{transform:translate(-50%,-50%) scale(.52);opacity:0}}@keyframes result-firework-spark{0%,to{opacity:0;transform:translate(-50%,-32%) rotate(var(--spark-angle)) scaleY(.12)}16%{opacity:1;transform:translate(-50%,-108%) rotate(var(--spark-angle)) scaleY(1)}42%{opacity:0;transform:translate(-50%,-138%) rotate(var(--spark-angle)) scaleY(1.08)}}.lobby-meta-grid,.result-grid{display:grid;gap:12px}.lobby-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-list{display:grid;gap:12px}.lobby-player-card.active,.summary-player.winner{box-shadow:0 0 0 2px #d2a96a59}.leaderboard-table{display:grid;gap:10px}.leaderboard-row{padding:12px 14px;border-radius:14px;background:#f4ddbd14}.leaderboard-row span{display:block;color:var(--muted);font-size:.82rem}.leaderboard-value{text-align:right}.result-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.summary-player{display:grid;gap:6px;padding:14px;border-radius:16px;background:#f4ddbd14}.summary-player span{color:var(--muted);font-size:.84rem}.game-log{display:grid;grid-template-rows:auto minmax(0,1fr);height:var(--game-log-height);min-height:var(--game-log-height);max-height:var(--game-log-height);padding:18px;min-width:0}.battle-row-log{height:100%;min-height:var(--game-log-height);max-height:var(--game-log-height)}.battle-layout{position:relative}.battle-layout.cinematic-clash,.battle-layout.cinematic-hero-hit,.battle-layout.cinematic-death{animation:battle-camera-jolt .42s cubic-bezier(.16,.84,.24,1)}.battle-layout.cinematic-action-slam{animation:battle-camera-slam .62s cubic-bezier(.16,.84,.24,1)}.board-slot-content{width:100%;display:grid;place-items:center}.battle-cinematic-layer{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}.cinematic-scene{position:absolute;inset:0}.cinematic-ambient{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(255,209,133,.18),transparent 24%),radial-gradient(circle at center,rgba(52,24,11,.24),transparent 54%)}.cinematic-impact-sigil,.cinematic-impact-core,.cinematic-impact-ring{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);border-radius:999px}.cinematic-impact-sigil{width:min(46vw,420px);height:min(18vw,160px);background:radial-gradient(circle,#ffe2a947,#ffe2a900),linear-gradient(90deg,#85482600,#85482661,#85482600);filter:blur(10px)}.cinematic-card-drop{position:absolute;left:50%;top:18%;width:min(24vw,260px);min-width:180px;transform:translate(-50%)}.cinematic-card-shell .card-shell.hand{max-width:none;box-shadow:inset 0 0 0 2px #fff6e594,inset 0 0 0 6px #a0693470,0 30px 64px #00000075}.cinematic-floor-shadow{position:absolute;left:50%;top:55%;width:min(30vw,360px);height:52px;border-radius:999px;transform:translate(-50%);background:radial-gradient(circle,#0000006b,#0000);filter:blur(10px)}.cinematic-dust-bed{position:absolute;inset:0}.cinematic-dust{position:absolute;border-radius:999px;filter:blur(8px)}.cinematic-dust.tone-umber{background:radial-gradient(circle,#aa7a50c7,#aa7a5000)}.cinematic-dust.tone-ash,.cinematic-dust.tone-spark{background:radial-gradient(circle,#ecd3b3b8,#ecd3b300)}.cinematic-impact-core{width:min(16vw,180px);height:min(16vw,180px);filter:blur(10px)}.cinematic-impact-ring{width:min(28vw,320px);height:min(28vw,320px);border:3px solid rgba(255,234,197,.7);box-shadow:0 0 22px #ffdcab2e,inset 0 0 18px #ffe9c11f}.cinematic-impact-core.clash{background:radial-gradient(circle,#fff1d2e0,#ffae6200)}.cinematic-impact-ring.clash{border-color:#ffe7bdbd}.cinematic-impact-core.hero-hit{background:radial-gradient(circle,#f08264d1,#f0826400)}.cinematic-impact-ring.hero-hit{border-color:#ef8e76b8}.cinematic-impact-core.death{background:radial-gradient(circle,#a07e6a9e,#a07e6a00)}.cinematic-impact-ring.death{border-color:#c6aa978f}.log-header{margin-bottom:12px}.log-list{display:grid;gap:10px;height:100%;min-height:0;max-height:none;align-content:start;overflow-y:auto;padding-right:4px}.fx-burst{position:absolute;inset:50% auto auto 50%;width:220px;height:220px;transform:translate(-50%,-50%);pointer-events:none;z-index:4;mix-blend-mode:screen}.fx-burst.compact{width:156px;height:156px}.fx-ring,.fx-flare,.fx-particle{position:absolute;border-radius:999px}.fx-ring{inset:50%;width:28px;height:28px;margin:-14px;border:2px solid rgba(255,223,170,.7)}.fx-flare{inset:50%;width:88px;height:88px;margin:-44px;filter:blur(12px)}.fx-particle{width:12px;height:12px}.fx-action .fx-ring{border-color:#ffe29ec7}.fx-action .fx-flare{background:radial-gradient(circle,#ffce76b8,#ffce7600)}.fx-action .fx-particle{background:radial-gradient(circle,#ffe7a9fa,#b2622c2e);box-shadow:0 0 20px #ffcc7685}.fx-clash .fx-ring{border-color:#ffe9c1d1}.fx-clash .fx-flare{background:radial-gradient(circle,#fff4d6b8,#ffa85c00)}.fx-clash .fx-particle{background:radial-gradient(circle,#fff4dafa,#bf61302e);box-shadow:0 0 22px #ffd27875}.fx-hit .fx-ring,.fx-hero .fx-ring{border-color:#e08067d1}.fx-hit .fx-flare,.fx-hero .fx-flare{background:radial-gradient(circle,#e27662b8,#d86f5e00)}.fx-hit .fx-particle,.fx-hero .fx-particle{background:radial-gradient(circle,#ffceb7fa,#922c1e33);box-shadow:0 0 18px #d46d5670}.fx-heal .fx-ring{border-color:#a4daa5d1}.fx-heal .fx-flare{background:radial-gradient(circle,#80c99185,#80c99100)}.fx-heal .fx-particle{background:radial-gradient(circle,#d6f7d4f0,#54a56f29);box-shadow:0 0 18px #7ec48c5c}.fx-death .fx-ring{border-color:#c6aa97ad}.fx-death .fx-flare{background:radial-gradient(circle,#c6b09c99,#c6b09c00)}.fx-death .fx-particle{background:radial-gradient(circle,#e3d6caf0,#5f4c4429);box-shadow:0 0 16px #ccc1b647}@keyframes battle-camera-jolt{0%,to{transform:translateZ(0)}18%{transform:translate3d(-4px,1px,0)}38%{transform:translate3d(4px,-1px,0)}58%{transform:translate3d(-2px,1px,0)}78%{transform:translate3d(2px,0,0)}}@keyframes battle-camera-slam{0%{transform:translate3d(0,-12px,0) scale(1.008)}42%{transform:translate3d(0,6px,0) scale(.996)}to{transform:translateZ(0) scale(1)}}@keyframes player-critical-pulse{0%,to{transform:translateY(0);box-shadow:0 0 0 1px #d971623d,0 0 #be493629}50%{transform:translateY(-1px);box-shadow:0 0 0 1px #d9716247,0 0 0 8px #be493614}}@keyframes hero-medallion-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.log-entry{display:grid;gap:6px;padding:12px 14px;border-radius:14px;background:#f6e5c50f;width:100%;min-width:0}.log-entry p{margin:0;color:var(--cream);width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.log-entry.danger{border-left:4px solid rgba(201,111,98,.62)}.log-entry.success{border-left:4px solid rgba(143,184,141,.62)}.log-entry.institution{border-left:4px solid rgba(210,169,106,.68)}.deck-builder-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr)}.deck-builder-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.deck-builder-card{display:grid;gap:14px;align-content:start}.deck-builder-card-footer{display:grid;gap:10px}.deck-draft-panel,.deck-template-panel{display:grid;gap:18px;align-content:start}.deck-card-list,.deck-rule-list{display:grid;gap:10px}.deck-preview-block{display:grid;gap:12px}.deck-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.deck-preview-head span{color:var(--muted);font-size:.82rem}.deck-preview-strip{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;overflow-y:hidden;padding:4px 4px 10px;scroll-snap-type:x proximity;border-radius:18px;background:#120a0847}.deck-preview-card{flex:0 0 168px;min-width:168px;scroll-snap-align:start}.collection-grid .card-shell.mini,.deck-builder-grid .card-shell.mini,.deck-preview-card .card-shell.mini{max-width:none}.deck-rule-list{padding:12px 14px;border-radius:14px;background:#f4ddbd14}.deck-rule-list p{margin:0}.deck-rule-list.danger{border-left:4px solid rgba(201,111,98,.62)}.deck-card-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:#f4ddbd14}.deck-card-row strong,.deck-card-row span{display:block}.deck-card-row span{color:var(--muted);font-size:.82rem}@media(max-width:1180px){.hero-main,.institution-preview-grid,.opponents-3,.opponents-2{grid-template-columns:1fr}}@media(max-width:1080px){.split-layout{grid-template-columns:1fr}}@media(max-width:780px){.screen-card,.board-table{padding:16px}.collection-filters,.battle-topbar,.setup-header,.table-status-banner,.hand-header,.leaderboard-row,.lobby-card-head,.lobby-player-head{flex-direction:column;align-items:stretch}.board-row,.player-resources{grid-template-columns:1fr}.deck-card-row,.deck-preview-head{flex-direction:column;align-items:stretch}.battle-institution-panel{grid-template-columns:1fr}.board-slot{min-height:180px}.hand-card-wrap{min-width:170px}.battle-area-navigator{top:10px;overflow:visible;padding-bottom:0}.battle-area-toggle-hint{display:none}.battle-area-preview{flex:1 1 0;min-width:0;gap:0;padding:10px;justify-items:center}.battle-hand-focus-row,.battle-support-panels-row{grid-template-columns:1fr}.battle-area-preview-icon{display:inline-flex}.battle-area-preview-surface,.battle-area-preview-copy{display:none}.battle-support-panels-row .game-log,.battle-support-panels-row .result-summary,.battle-support-panels-row .winner-panel{grid-column:auto}}
