:root{--bg: #0e1114;--panel: #171b1f;--panel-2: #1e2429;--line: #2a3238;--text: #d8dee3;--muted: #7d8891;--accent: #c1743a;--danger: #b4524a;--ok: #6b9e58}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:8px;padding:8px 14px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#262e34;border-color:#3d4850}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#1a1206;font-weight:500}button.primary:hover:not(:disabled){background:#d4834a}button.ghost{background:transparent}.app.game{height:100vh;max-width:1420px;padding:10px 16px 12px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.app.game .header.compact{padding-bottom:8px;margin-bottom:0;border-bottom:1px solid var(--line);flex:0 0 auto}.app.game .title{font-size:18px}.app.game .subtitle{font-size:12px}.app.game .board-area{flex:1 1 auto;min-height:0;display:flex;gap:12px;align-items:center}.app.game .slot{min-height:66px;padding:6px;border-radius:9px}.app.game .unit-name{font-size:11px}.app.game .unit-stats{font-size:12px}.app.game .board-area .battlefield{flex:1 1 auto;min-width:0;margin-bottom:0;overflow:visible}.app.game .board-area .log{flex:0 0 190px;align-self:flex-start;max-height:100%;height:auto;overflow-y:auto;padding:10px 12px}.app.game .board-area .log .log-line{font-size:11px;line-height:1.5}.app.game .hud{margin-bottom:0;flex:0 0 auto;padding:8px 14px}.header{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:20px}.title{font-size:22px;font-weight:500;letter-spacing:.06em}.subtitle{color:var(--muted);font-size:13px}.setup{max-width:560px;margin:60px auto}.setup h2{font-size:16px;font-weight:500;margin-bottom:14px}.field{margin-bottom:22px}.field-label{color:var(--muted);font-size:12px;margin-bottom:8px}.options{display:flex;gap:8px;flex-wrap:wrap}.option{padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:13px}.option.active{border-color:var(--accent);color:var(--accent);background:#241a11}.option small{display:block;color:var(--muted);font-size:11px}.hud{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:12px 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.hud-side{display:flex;align-items:center;gap:14px}.hud-label{color:var(--muted);font-size:12px}.spire{display:flex;align-items:baseline;gap:8px;padding:6px 12px;border-radius:8px;background:var(--panel-2)}.spire b{font-size:20px;font-weight:500}.spire.me b{color:var(--accent)}.spire.ai b{color:#7fa8c9}.hp-bar{width:90px;height:5px;background:#0c1013;border-radius:3px;overflow:hidden}.hp-bar i{display:block;height:100%;background:var(--accent)}.spire.ai .hp-bar i{background:#7fa8c9}.stamina{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;background:var(--panel-2)}.stamina b{font-size:18px;font-weight:500;color:var(--ok)}.turn-info{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.turn-info b{color:var(--text);font-weight:500}.ebb-timer{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:#1b1f18;border:1px solid #3d4430}.ebb-timer.urgent{background:#2a1a12;border-color:#6b4326;animation:pulse-ebb 1.4s ease-in-out infinite}@keyframes pulse-ebb{0%,to{border-color:#6b4326}50%{border-color:#b4763c}}@media(prefers-reduced-motion:reduce){.ebb-timer.urgent{animation:none}}.ebb-label{font-size:11px;color:#8a9678}.ebb-timer.urgent .ebb-label{color:#d3a877}.ebb-timer b{font-size:16px;font-weight:500;color:#b8c79a;font-variant-numeric:tabular-nums}.ebb-timer.urgent b{color:var(--accent)}.ebb-pips{display:flex;gap:2px;margin-left:2px}.ebb-timer.urgent .ebb-pips i.on{background:var(--accent)}.battlefield{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.lane{position:relative}.lane-tag{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.12em;color:#4d565d;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-bottom:5px;padding-left:2px}.lane-tag:before{content:"";width:14px;height:2px;border-radius:1px;background:currentColor;opacity:.5}.lane.enemy .lane-tag{color:#4a5a66}.lane.own .lane-tag{color:#6b5540}.slot{min-height:78px;border-radius:10px;padding:8px;border:1px solid var(--line);background:#14181c;display:flex;flex-direction:column;gap:5px;justify-content:center;transition:border-color .15s,background .15s,transform .12s;position:relative}.lane.enemy .slot{background:#131719}.lane.own .slot{background:#191614}.slot.targetable{border-color:var(--accent);cursor:pointer;background:#2a1d11;transform:translateY(-2px)}.slot.targetable:hover{background:#3a2818}.empty-label{color:#333c43;font-size:11px;text-align:center;font-variant-numeric:tabular-nums}.unit-owner{position:absolute;top:6px;right:7px;width:6px;height:6px;border-radius:50%}.unit-owner.p0{background:var(--accent)}.unit-owner.p1{background:#7fa8c9}.hint-bar{display:flex;align-items:center;gap:12px;padding:9px 14px;border-radius:10px;background:#241a11;border:1px solid #5a3d22;font-size:12px;color:#d3a877}.hint-bar.can-strike{background:#2a1614;border-color:#7d2f26;color:#f0a79c;align-items:flex-start}.hint-bar.can-strike .ghost{color:#f0a79c;border-color:#7d2f26}.hint-bar .ghost{margin-left:auto}.hint-bar>span{display:flex;flex-direction:column;gap:2px}.strike-word{color:#ef8878;font-size:13px;font-weight:600;letter-spacing:.04em}.hint-sub{font-size:11.5px;opacity:.85}.hint-sub b{color:#f5b3a8}.hand{display:flex;gap:8px;overflow-x:auto;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:8px}.card{flex:0 0 132px;border-radius:10px;padding:10px;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;transition:transform .12s,border-color .12s}.app.game .hand>*{flex-shrink:0}.app.game .hand>:first-child{margin-left:auto}.app.game .hand>:last-child{margin-right:auto}.app.game .card{flex:0 0 112px;padding:7px 8px;border-radius:8px}.app.game .card:hover{transform:translateY(-4px)}.app.game .card-name{font-size:11.5px;margin-bottom:3px}.app.game .card-meta{font-size:10px;margin-bottom:2px}.app.game .card-text{font-size:10px;line-height:1.35}.app.game .card-cost{min-width:16px;font-size:10px}.app.game .kw{font-size:9px;padding:0 4px}.app.game .actions{margin-bottom:0;flex:0 0 auto;padding:0 2px}.app.game .action-btn{font-size:12px;padding:6px 11px}.card:hover{transform:translateY(-3px)}.card.selected{border-color:var(--accent);background:#241a11}.card.unaffordable{opacity:.4}.card-name{font-size:13px;font-weight:500;margin-bottom:5px;display:flex;align-items:baseline;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{font-size:11px;color:var(--muted);margin-bottom:4px;display:flex;gap:8px;align-items:center}.card-text{font-size:11px;color:#93a1aa;line-height:1.45}.card-cost{flex:0 0 auto;display:inline-block;min-width:18px;text-align:center;background:var(--ok);color:#0d1a08;border-radius:4px;font-size:11px;font-weight:500;padding:0 4px}.card-type{font-size:10px;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.action-btn{font-size:13px}.log{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px;max-height:200px;overflow-y:auto}.log-line{font-size:12px;color:var(--muted);padding:2px 0}.log-line.combat{color:#c9a49a}.log-line.effect{color:#9fb08a}.log-line.system{color:#b9a06a}.log-turn{color:#556069;margin-right:6px}.modal.win h3{color:var(--ok)}.modal.lose h3{color:var(--danger)}.thinking{color:var(--muted);font-size:13px;font-style:italic}.help{margin-top:20px;font-size:12px;color:var(--muted);line-height:1.7}.help b{color:var(--text);font-weight:500}@media(max-width:760px){.slot{min-height:74px;padding:6px}.unit-name{font-size:11px}.card{flex:0 0 116px}}.mana-pool{background:#14201a;border:1px solid #2c4433}.mana-label{color:#8fa87f}.mana-crystals{gap:3px}.mana-crystal{width:13px;height:17px;clip-path:polygon(50% 0%,100% 32%,78% 100%,22% 100%,0% 32%);background:#2a3a2c;border:0;transition:background .2s}.mana-crystal.filled{background:linear-gradient(180deg,#a8d47e,#6b9e58);box-shadow:0 0 6px #6b9e588c}.mana-crystal.spent{background:#2a3a2c}.mana-count{color:#b8d49c}.mana-count small{color:#6d7f68}.card.type-order{background:linear-gradient(180deg,#1c2430,#161d27);border-color:#33465c}.card.type-order .card-cost{background:#4a7fb5;color:#06121d}.card.type-order .card-type{color:#7fa8d8}.card.type-order .card-name{color:#cfe0f2}.card.type-counter{background:linear-gradient(180deg,#2a1f2c,#211823);border-color:#5a3f60}.card.type-counter .card-cost{background:#a06cc4;color:#150b1b}.card.type-counter .card-type{color:#c79ae0}.card.type-counter .card-name{color:#e6d2f2}.card.type-unit{background:linear-gradient(180deg,#1e242a,#191e23);border-color:#39424a}.mana-pool.enemy{background:#141b22;border-color:#2a3d4c}.mana-pool.enemy .mana-label{color:#7fa8c9}.mana-pool.enemy .mana-crystal.filled{background:linear-gradient(180deg,#9fc8e8,#5d87ab);box-shadow:0 0 6px #5d87ab80}.mana-pool.enemy .mana-crystal.spent{background:#263038}.mana-pool.enemy .mana-count{color:#a9c9e0}.mana-pool.enemy .mana-count small{color:#63788a}.spire-row .spire-tile{flex-direction:row;align-items:center;width:100%;max-width:none;flex:1 1 auto;padding:8px 16px;gap:14px}.spire-row .spire-glyph{width:44px;height:44px;flex:0 0 auto}.spire-row .spire-body{flex-direction:row;align-items:center;gap:10px;flex:1 1 auto;min-width:0}.spire-row .spire-name{flex:0 0 auto}.spire-row .spire-orb{width:38px;height:38px;flex:0 0 auto}.spire-row .spire-orb-text{font-size:17px}.spire-row .spire-bar-track{flex:1 1 auto;width:auto;min-width:60px;max-width:none}.spire-row .spire-meta{flex:0 0 auto;flex-wrap:nowrap}.spire-row .spire-flag{flex:0 0 auto}.spire-row .spire-crosshair{right:8px;top:50%;transform:translateY(-50%)}.app.game .battlefield .lanes{gap:4px}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);padding:9px 18px;border-radius:8px;background:#2a1614;border:1px solid #7d2f26;color:#f0a79c;font-size:12.5px;box-shadow:0 6px 24px #00000080;z-index:60;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.game-canvas .kw.spent{background:#2b3138;color:#7d8891;border:1px solid #3d474e}button.secondary{background:var(--panel-2)}.start-screen,.connecting-screen{position:relative;min-height:100vh;padding:48px 24px;overflow:hidden;background:#080b0e}.start-screen-texture{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,#060b0e4d,#060b0eed 64%),radial-gradient(circle at 78% 8%,rgba(121,157,177,.18),transparent 28%),radial-gradient(circle at 16% 78%,rgba(190,106,51,.16),transparent 30%),url(/textures/GS-TEXTURE-BOARD-001.webp) center / cover;opacity:.92}.start-shell{position:relative;z-index:1;width:min(1120px,100%);margin:0 auto}.mode-eyebrow{color:#b88a61;font-size:10px;font-weight:700;letter-spacing:.2em}.start-intro{margin:8px 0 26px;color:#bac3c7;text-align:center}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mode-card,.rules-summary{border:1px solid rgba(133,151,161,.28);border-radius:16px;background:linear-gradient(145deg,#192228ed,#0d1216f2);box-shadow:0 20px 50px #00000038}.mode-card{padding:24px}.online-mode{border-color:#5e89a66b}.local-mode{border-color:#be7b436b}.mode-card-heading{min-height:95px;margin-bottom:16px}.mode-card h2,.rules-summary h2{margin:3px 0 5px;font-size:22px;font-weight:600}.mode-card-heading p{color:#99a6ae;font-size:13px}.start-field{min-width:0;margin:0 0 16px;border:0}.start-field legend{margin-bottom:8px;color:#c7d0d4;font-size:12px;font-weight:600}.choice-grid{display:grid;gap:8px}.choice-grid.factions{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid.difficulties{grid-template-columns:repeat(3,minmax(0,1fr))}.start-choice{min-height:60px;padding:9px 10px;border-radius:10px;background:#090d1094;text-align:left}.start-choice.faction-choice{position:relative;display:flex;min-height:112px;flex-direction:column;justify-content:flex-end;gap:2px;overflow:hidden;isolation:isolate;border-color:#a7b8ba6b;background:#101a1d}.faction-choice>img,.faction-choice-shade{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.faction-choice>img{z-index:-2;-o-object-fit:cover;object-fit:cover;-o-object-position:center 42%;object-position:center 42%;transition:transform .2s ease}.faction-choice-shade{z-index:-1;background:linear-gradient(180deg,#05090b0d 12%,#05090b47 48%,#05090bf0)}.faction-choice strong,.faction-choice>span:not(.faction-choice-shade){position:relative}.faction-choice strong{font-size:14px;text-shadow:0 1px 5px #000}.faction-choice>span:not(.faction-choice-shade){margin:0;color:#d0dcdb;text-shadow:0 1px 4px #000}.faction-choice:hover>img{transform:scale(1.04)}.faction-choice.selected{border-color:#e6ad70;box-shadow:inset 0 0 0 1px #e8aa6a73,0 0 12px #d08a4d2e}.start-choice strong,.start-choice span{display:block}.start-choice strong{font-size:13px}.start-choice span{margin-top:2px;color:#8a98a1;font-size:10.5px;line-height:1.4}.start-choice.selected{border-color:#d08a4d;background:linear-gradient(135deg,#6d401fad,#211d18bf);box-shadow:inset 0 0 0 1px #e8aa6a2b}.start-button{width:100%;min-height:46px;margin-top:2px;font-size:15px}.lobby-input{border:1px solid #344049;outline:0;background:#070b0ec2;color:var(--text)}.lobby-input:focus{border-color:#ba8050;box-shadow:0 0 0 3px #c1743a2e}.invite-display{border:1px solid #486d86;background:#162a37a3}.invite-label{color:#a8bac5}.invite-code{color:#e1eef4}.invite-display small{color:#9aabb5;font-size:10.5px}.danger-action{color:#e8958b;border-color:#733f3b}.start-shell>.feedback-bar{margin-bottom:16px}.rules-summary{margin-top:18px;padding:18px 24px}.rules-summary h2{color:#d9c09e;font-size:14px;letter-spacing:.1em}.rules-summary ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 28px;padding-left:18px;color:#aeb9be;font-size:12px}.connecting-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.connecting-screen .game-brand{margin-bottom:5px}.connecting-screen>.feedback-bar{max-width:420px}.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}button:focus-visible,input:focus-visible{outline:2px solid #f0bc7e;outline-offset:2px}@media(max-width:760px){.start-screen{padding:28px 15px}.mode-grid,.rules-summary ul{grid-template-columns:1fr}.mode-card{padding:18px}}.menu-shell,.setup-shell{position:relative;z-index:1;width:min(620px,100%);margin:0 auto}.main-menu-screen,.match-mode-screen,.match-setup-screen{display:flex;align-items:center;justify-content:center}.main-menu-screen{min-height:100svh}.main-menu-intro{margin:14px auto 28px;color:#bac3c7;text-align:center}.main-menu-actions{display:grid;gap:10px;width:min(390px,100%);margin:0 auto}.menu-action{min-height:50px;font-size:15px}.menu-quit{margin-top:10px;color:#c9a39a}.menu-shell>.feedback-bar{margin-top:16px}.match-mode-screen,.match-setup-screen{min-height:100vh}.menu-heading{margin:25px 0 18px;text-align:center}.menu-heading h2{margin:4px 0 6px;font-size:24px}.menu-heading p{margin:0;color:#aeb9be;font-size:13px}.mode-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mode-select-card{display:flex;min-height:174px;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;padding:20px;border:1px solid rgba(133,151,161,.28);border-radius:14px;background:linear-gradient(145deg,#192228ed,#0d1216f2);text-align:left}.mode-select-card.local-mode{border-color:#be7b438c}.mode-select-card.online-mode{border-color:#5e89a68c}.mode-select-card:hover{border-color:#d08a4d;transform:translateY(-2px)}.mode-select-card strong{color:#e7e9e7;font-size:21px}.mode-select-card>span:last-child{color:#9eabb2;font-size:12px;line-height:1.5}.menu-back{display:block;width:min(300px,100%);min-height:42px;margin:20px auto 0}.setup-shell{width:min(680px,100%)}.setup-shell>.game-brand{margin-bottom:18px}.setup-shell .mode-card{padding:24px}.mode-card>.feedback-bar{margin:-2px 0 16px}@media(max-width:760px){.main-menu-screen,.match-mode-screen,.match-setup-screen{align-items:flex-start;padding-top:28px}.menu-shell,.setup-shell{width:100%}.mode-selection{grid-template-columns:1fr}.mode-select-card{min-height:140px}.choice-grid.difficulties{grid-template-columns:1fr}}.start-screen,.connecting-screen{background:#10191b}.start-screen-texture{background:url(/menu/GS-MENU-BACKGROUND-001.webp) center center / cover no-repeat;opacity:var(--menu-background-opacity, 1)}.start-screen:not(.main-menu-screen) .start-screen-texture{filter:brightness(.58)}.main-menu-screen{min-height:100svh;padding:28px 20px}@media(min-width:761px){.main-menu-screen:before{position:absolute;inset-block:0;left:50%;width:min(490px,42vw);transform:translate(-50%);border-inline:1px solid rgba(186,140,86,.2);background:#060b0d7a;content:"";pointer-events:none}}.main-menu-screen .menu-shell{display:flex;min-height:calc(100svh - 56px);flex-direction:column;align-items:center;justify-content:center;padding:22px 0 34px}.main-menu-screen .game-brand{flex-direction:column;gap:0;text-align:center}.main-menu-screen .game-brand img{width:clamp(150px,18vh,240px);height:clamp(130px,20vh,260px);max-height:none}.main-menu-screen .game-brand-kicker{font-size:10px;color:#c9aa76;letter-spacing:.32em}.main-menu-screen .game-brand h1{color:#f3e7c9;font-family:"Noto Serif SC",Songti SC,serif;font-size:clamp(34px,5vh,58px);font-weight:700;letter-spacing:.16em;text-shadow:0 3px 18px #050a0b}.main-menu-screen .game-brand-subtitle{color:#c59e6b;font-size:12px;letter-spacing:.48em}.main-menu-intro{margin:8px 0 clamp(18px,3vh,32px);color:#d3d4cb;text-shadow:0 2px 10px #05090a}.main-menu-actions{width:min(360px,86vw);gap:9px}.main-menu-actions .menu-action{width:100%;min-height:clamp(46px,6vh,62px);padding:8px 24px;border:0;border-radius:0;background:url(/menu/GS-UI-MENU-BUTTON-001.webp) center / 100% 100% no-repeat;color:#eadfc8;font-family:"Noto Serif SC",Songti SC,serif;font-size:17px;font-weight:600;letter-spacing:.14em;text-shadow:0 2px 3px #08090a;filter:drop-shadow(0 5px 8px #071012);transition:filter .18s,transform .18s}.main-menu-actions .menu-action.primary,.main-menu-actions .menu-action.primary:hover:not(:disabled),.main-menu-actions .menu-action.secondary:hover:not(:disabled),.main-menu-actions .menu-action.ghost:hover:not(:disabled){background:url(/menu/GS-UI-MENU-BUTTON-001.webp) center / 100% 100% no-repeat;border:0;color:#fff4d9}.main-menu-actions .menu-action:hover:not(:disabled),.main-menu-actions .menu-action:focus-visible{filter:brightness(1.28) drop-shadow(0 4px 10px #0b1c1f);transform:translateY(-2px)}.main-menu-actions .menu-action:active:not(:disabled){transform:translateY(1px)}.main-menu-actions .menu-quit{margin-top:4px;font-size:14px}.start-screen .setup-shell{width:min(740px,100%)}.setup-shell .game-brand{margin-bottom:12px}.setup-shell .game-brand img{width:76px;height:76px}.setup-shell .game-brand h1{color:#f1e2c5;font-family:"Noto Serif SC",Songti SC,serif}.setup-shell .mode-card{border-radius:5px;border-color:#836e52;background:#0c1416e6;box-shadow:0 18px 52px #05090c9c,inset 0 0 0 1px #24333a}.setup-shell .mode-card h2,.menu-heading h2{color:#f0dfba;font-family:"Noto Serif SC",Songti SC,serif}.start-choice{border-radius:4px}.start-choice.selected{border-color:#c99d5e;background:#43311cd6}.menu-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#03080ac7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.aspect-warning-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;display:flex;align-items:center;justify-content:center;padding:24px;background:#04080adb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.aspect-warning{width:min(520px,calc(100vw - 48px));padding:clamp(20px,3vw,34px) clamp(18px,4vw,38px);border:1px solid #9b7951;border-radius:5px;background:linear-gradient(145deg,#18262a,#0d1518);box-shadow:0 24px 70px #0000008c,inset 0 0 0 2px #25383d;text-align:center}.aspect-warning-kicker{color:#c29b62;font-size:10px;font-weight:700;letter-spacing:.2em}.aspect-warning h2{margin:12px 0 8px;color:#f0e4ca;font-family:"Noto Serif SC",Songti SC,serif;font-size:25px}.aspect-warning p{color:#b4c2c2;font-size:13px;line-height:1.7}.aspect-warning-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}.aspect-warning-specs span{display:grid;gap:3px;padding:10px 7px;border:1px solid #354c52;border-radius:4px;color:#8fa4a7;font-size:11px}.aspect-warning-specs b{color:#e5c38e;font-size:13px}.menu-dialog,.pause-dialog,.confirm-dialog{border:1px solid #9b7951;border-radius:5px;background:#131d20;box-shadow:0 25px 75px #000b,inset 0 0 0 2px #24363b;color:#e4e7df}.menu-dialog-header,.pause-dialog-heading{border-bottom:1px solid #365057}.menu-dialog-title svg{color:#c9a66c}.menu-dialog-title h2{color:#f0e5cf;font-family:"Noto Serif SC",Songti SC,serif}.icon-button{display:inline-flex;width:38px;height:38px;flex:0 0 auto;align-items:center;justify-content:center;padding:0;border:1px solid #587079;border-radius:4px;background:#18282d;color:#dfe6df}.dialog-tabs{border-bottom:1px solid #304249}.dialog-tabs button{background:transparent;color:#9caeb2}.dialog-tabs button.active{border-bottom-color:#d1a46b;color:#f2e4ca}.rules-content h3{margin-bottom:6px;color:#d9b17a;font-size:15px}.rules-content p,.rule-factions span,.setting-row span{color:#b4c2c2;font-size:13px}.rule-factions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rule-factions>div{display:grid;gap:3px;padding:10px 12px;border-left:3px solid;background:#1b292d}.rule-factions strong{color:#e7e2d4;font-size:13px}.rule-keywords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rule-keywords>div{display:grid;grid-template-columns:18px 44px 1fr;align-items:start;gap:7px;padding:9px;border:1px solid #3f5559;background:#1b292d}.rule-keywords svg{color:#d9b17a}.rule-keywords strong{color:#e7e2d4;font-size:12px}.rule-keywords span{color:#b4c2c2;font-size:12px}.catalog-filters{display:flex;flex-wrap:wrap;gap:6px}.catalog-filters button{border-radius:4px;font-size:12px}.catalog-filters button.active{border-color:#c9a066;background:#59432c;color:#fff0d6}.catalog-count{margin:15px 0 8px;color:#95a8ac;font-size:12px}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px}.catalog-card{min-width:0;overflow:hidden;border:1px solid #46575a;border-radius:5px;background:#121b1e;box-shadow:0 5px 14px #0005}.catalog-card-face{position:relative;display:flex;aspect-ratio:5 / 7;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:9px;isolation:isolate;background:linear-gradient(145deg,#253237,#10171a)}.catalog-card-art,.catalog-card-shade{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.catalog-card-art{z-index:-2;-o-object-fit:cover;object-fit:cover}.catalog-card-shade{z-index:-1;background:linear-gradient(180deg,rgba(4,8,10,.18),transparent 34%,rgba(4,8,10,.26) 55%,rgba(4,8,10,.94) 100%)}.catalog-card-face.type-unit{border-bottom:1px solid rgba(204,143,75,.52)}.catalog-card-face.type-order{border-bottom:1px solid rgba(74,178,200,.52)}.catalog-card-face.type-counter{border-bottom:1px solid rgba(177,135,199,.52)}.catalog-cost{position:absolute;top:7px;left:7px;display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;transform:rotate(45deg);border:1px solid #e2b06f;border-radius:3px;background:#b77d40f2;color:#11191b;font-size:13px;font-weight:700;box-shadow:0 2px 5px #0008}.catalog-cost>span{transform:rotate(-45deg)}.catalog-type-icon{position:absolute;top:7px;right:7px;display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border:1px solid rgba(225,184,124,.7);border-radius:3px;background:#060c10db;color:#e1b87c}.type-order .catalog-type-icon{color:#79c6d4;border-color:#79c6d4b3}.type-counter .catalog-type-icon{color:#c49cda;border-color:#c49cdab3}.catalog-card-name{display:block;min-width:0;overflow:hidden;padding:5px 3px;border-block:1px solid rgba(207,167,113,.58);background:#050a0db3;color:#f1e5d1;font-size:13px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.catalog-card-stats{display:flex;justify-content:space-between;margin:5px -2px -5px;color:#f0c08c;font-size:12px;font-weight:700}.catalog-card-stats span{display:inline-flex;align-items:center;gap:3px;min-width:31px;padding:3px 5px;border:1px solid currentColor;border-radius:0 0 6px 6px;background:#080f13eb}.catalog-card-stats span:last-child{color:#e5a092}.catalog-card-details{padding:8px 9px 10px}.catalog-meta{display:block;color:#a5bab9;font-size:12px;line-height:1.35}.catalog-card-details p{margin-top:5px;color:#d0d7d0;font-size:12px;line-height:1.4}.setting-row{border-bottom-color:#35484c}.setting-row:last-child{border:0}.setting-row strong{color:#eee3ce}.setting-row input{accent-color:#c08c55;cursor:pointer}.game-menu-trigger{margin-left:10px}.pause-dialog-heading{color:#c19d68;font-size:11px;letter-spacing:.2em}.pause-dialog h2{color:#f1e4c9;font-family:"Noto Serif SC",Songti SC,serif}.pause-dialog p{color:#a8b7b9}.confirm-dialog h2{color:#f1e4c9}.confirm-dialog p{color:#aebcbd}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] *:before,:root[data-reduce-motion=true] *:after{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important}:root[data-reduce-effects=true] .start-screen-texture{filter:brightness(.45) saturate(.55)}:root[data-reduce-effects=true] .menu-dialog-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-reduce-effects=true] .game-canvas{background:#0d1519}.match-setup-screen{min-height:100svh;align-items:stretch;padding:clamp(14px,2.4vw,32px);overflow-x:hidden;overflow-y:auto}.match-setup-screen:after{position:fixed;top:0;right:0;bottom:0;left:0;background:#03090b6b;content:"";pointer-events:none}.match-setup-screen .start-screen-texture{filter:brightness(.5) saturate(.75) contrast(1.08)}.start-screen .local-setup-shell{display:flex;width:min(1180px,100%);min-height:calc(100svh - clamp(28px,4.8vw,64px));flex-direction:column;justify-content:center}.local-setup-header{display:flex;min-height:66px;align-items:center;gap:15px;padding:8px 4px 14px}.local-back-button{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:1px solid rgba(185,145,91,.62);border-radius:3px;background:#081113c7;color:#dcb477}.local-back-button:hover:not(:disabled){border-color:#e5b76f;background:#191f1df0;color:#ffe0a8}.local-back-button svg{width:23px;height:23px}.local-setup-header h1{margin:1px 0 0;color:#f1dfbd;font-family:"Noto Serif SC",Songti SC,serif;font-size:clamp(24px,2.2vw,34px);font-weight:700;letter-spacing:.08em;line-height:1.12;text-shadow:0 2px 10px #030708}.local-match-layout{--setup-column-padding: clamp(18px, 2.2vw, 30px);--setup-heading-lift: clamp(6px, .7vw, 8px);display:grid;min-height:min(668px,calc(100svh - 118px));grid-template-columns:minmax(0,2.35fr) minmax(230px,.9fr);border:1px solid #816c4f;border-radius:4px;background:#070f11f0;box-shadow:0 22px 70px #00000085,inset 0 0 0 1px #374b4fb3}.local-match-layout .start-field{margin:0}.local-match-layout .start-field>legend,.match-preview h2{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:#e9d7b7;font-family:"Noto Serif SC",Songti SC,serif;font-size:18px;font-weight:700;letter-spacing:.06em}.local-match-layout .start-field>legend{padding-top:clamp(8px,1vw,12px)}.local-match-layout .start-field>legend svg,.match-preview h2:before{width:18px;height:18px;color:#bd793c}.faction-picker{min-width:0;padding:var(--setup-column-padding);border-right:1px solid rgba(150,119,77,.62)}.local-match-layout .choice-grid.factions{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1vw,13px)}.local-match-layout .faction-choice{min-height:clamp(112px,18svh,166px);padding:14px 16px;border-radius:3px;border-color:#627779b3;background:#10191b}.local-match-layout .faction-choice.selected{border-color:#e29b45;box-shadow:inset 0 0 0 1px #ffb859b3,0 0 18px #de8b3333}.local-match-layout .faction-placeholder{display:grid;place-content:center;gap:8px;isolation:auto;border-style:dashed;border-color:#66797a7a;background:#0b1517d1;color:#708083;text-align:center}.local-match-layout .faction-placeholder>svg{width:24px;height:24px;margin:0 auto}.local-match-layout .faction-placeholder>span{display:grid;gap:3px;margin:0}.local-match-layout .faction-placeholder strong{color:#879597;font-size:13px}.local-match-layout .faction-placeholder span span{margin:0;color:#627275;font-size:12px}.local-match-layout .faction-choice-shade{background:linear-gradient(180deg,#04080a05 18%,#04080a2e 48%,#04080aeb)}.local-match-layout .faction-choice-copy{position:relative;display:grid;gap:2px;width:-moz-fit-content;width:fit-content;margin:0}.local-match-layout .faction-choice-copy strong{color:#f2eee5;font-size:clamp(14px,1.15vw,18px)}.local-match-layout .faction-choice-copy>span{margin:0;color:#e6d4b4;font-size:12px}.local-match-layout .faction-choice>.faction-selected-mark{position:absolute;z-index:2;top:0;right:0;display:grid;width:46px;height:46px;margin:0;place-items:center;background:#d48a37;clip-path:polygon(0 0,100% 0,100% 100%);color:#fff2d8}.faction-selected-mark svg{width:18px;height:18px;transform:translate(8px,-8px);stroke-width:3}.match-command-rail{display:flex;min-width:0;flex-direction:column;padding:var(--setup-column-padding);background:#070e10b8}@media(min-width:721px){.local-match-layout .start-field>legend{transform:translateY(calc(-1 * var(--setup-heading-lift)))}.local-match-layout .faction-picker>legend{transform:translateY(calc(var(--setup-column-padding) - var(--setup-heading-lift)))}}.local-match-layout .choice-grid.difficulties{grid-template-columns:1fr;gap:10px}.difficulty-choice{display:grid;min-height:72px;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:10px 12px;border-radius:3px;border-color:#35494c;background:#081114e0}.difficulty-choice:hover:not(:disabled){border-color:#8d7655;background:#121b1cf0}.difficulty-choice.selected,.difficulty-choice.selected:hover:not(:disabled){border-color:#dfa054;background:#472f18e6;box-shadow:inset 0 0 0 1px #f3b05b73}.difficulty-choice>.difficulty-icon{display:grid;width:34px;height:34px;margin:0;place-items:center;color:#859497}.difficulty-choice>.difficulty-icon svg,.difficulty-check{width:20px;height:20px}.difficulty-choice.selected .difficulty-icon,.difficulty-check{color:#f0ad5b}.difficulty-copy{min-width:0;margin:0}.difficulty-copy strong{color:#e6e8e5;font-size:14px}.difficulty-copy>span{overflow:hidden;margin:3px 0 0;color:#91a1a4;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.difficulty-choice.selected .difficulty-copy strong,.difficulty-choice.selected .difficulty-copy>span{color:#f0c384}.match-preview{margin-top:clamp(20px,3.2vh,34px);padding-top:18px;border-top:1px solid rgba(148,116,75,.55)}.match-preview h2:before{display:block;border:1px solid currentColor;transform:rotate(45deg) scale(.52);content:""}.match-preview dl{margin:0;border:1px solid #304246;border-radius:3px}.match-preview dl>div{display:grid;min-height:54px;grid-template-columns:minmax(76px,.8fr) minmax(0,1.35fr);align-items:center;padding:9px 12px;border-bottom:1px solid rgba(54,72,76,.72)}.match-preview dl>div:last-child{border-bottom:0}.match-preview dt{color:#cdb78f;font-size:12px;font-weight:700}.match-preview dd{display:flex;min-width:0;align-items:center;gap:7px;margin:0;color:#c9d1cf;font-size:12px}.match-preview dd strong,.match-preview dd span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-preview dd span{margin-left:auto;color:#869699;font-size:12px}.match-preview dd svg{width:16px;height:16px;color:#9da8a7}.match-command-actions{display:grid;gap:10px;margin-top:auto;padding-top:20px}.match-command-actions .feedback-bar{margin:0}.match-command-actions .start-button{min-height:52px;margin:0;border-radius:3px;border-color:#d28b3e;background:#c97a35;color:#160f09;font-family:"Noto Serif SC",Songti SC,serif;font-size:15px;font-weight:800;letter-spacing:.08em}.match-command-actions .start-button:hover:not(:disabled){border-color:#f0b368;background:#de9148;color:#120b06}@media(max-width:720px){.match-setup-screen{align-items:flex-start;padding:14px}.start-screen .local-setup-shell{min-height:auto}.local-setup-header{min-height:58px;padding-top:0}.local-match-layout{grid-template-columns:minmax(0,1fr)}.faction-picker{border-right:0;border-bottom:1px solid rgba(150,119,77,.62)}.match-command-rail{gap:22px}.match-preview,.match-command-actions{margin-top:0;padding-top:0}.match-preview{padding-top:20px}}@media(min-width:721px)and (max-height:760px){.match-setup-screen{padding-block:10px}.start-screen .local-setup-shell{min-height:calc(100svh - 20px)}.local-setup-header{min-height:54px;padding-block:3px 9px}.local-match-layout .faction-choice{min-height:88px}.difficulty-choice{min-height:60px}.match-preview{margin-top:17px;padding-top:14px}.match-preview dl>div{min-height:45px}}@media(max-width:760px){.main-menu-screen .menu-shell{min-height:calc(100svh - 56px)}.main-menu-screen .game-brand img{width:145px;height:145px}.main-menu-screen .game-brand h1{font-size:33px}.main-menu-intro{font-size:12px}.rule-factions,.rule-keywords{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.start-screen .online-setup-shell{display:flex;width:min(1180px,100%);min-height:calc(100svh - clamp(28px,4.8vw,64px));flex-direction:column;justify-content:center}.online-setup-header{position:relative}.online-header-status{display:flex;align-items:center;gap:7px;margin-left:auto;color:#8fa6a8;font-size:12px;letter-spacing:.08em}.online-header-status svg{width:16px;height:16px;color:#b47a42}.online-setup-shell>.feedback-bar{margin:0 0 10px}.online-lobby{display:grid;min-height:min(668px,calc(100svh - 118px));grid-template-columns:minmax(230px,.72fr) minmax(0,1.48fr);border:1px solid #7e6a4d;border-radius:4px;background:#070f11f2;box-shadow:0 22px 70px #00000085,inset 0 0 0 1px #374b4fad}.online-identity-panel{display:flex;min-width:0;flex-direction:column;padding:clamp(20px,2.5vw,34px);border-right:1px solid rgba(150,119,77,.6);background:#081113d1}.online-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:clamp(24px,4vh,38px)}.online-section-icon,.online-action-emblem{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid rgba(176,126,70,.68);border-radius:3px;background:#2d22188c;color:#d28c46}.online-section-icon svg,.online-action-emblem svg{width:21px;height:21px}.online-section-heading span:not(.online-section-icon){color:#b47b47;font-size:9px;font-weight:700;letter-spacing:.16em}.online-section-heading h2,.online-action-intro h2,.private-room-option h2,.invite-display h2,.matchmaking-wait h2{margin:2px 0 0;color:#ebdcc0;font-family:"Noto Serif SC",Songti SC,serif;font-size:19px;line-height:1.25}.online-identity-panel .field-label{display:block;margin-bottom:7px;color:#b5c0bf;font-size:12px;font-weight:700}.online-name-input{position:relative}.online-name-input .lobby-input,.private-room-option .lobby-input{width:100%;min-height:48px;padding:10px 43px 10px 13px;border-radius:3px;background:#03090bc7}.online-name-input>span,.online-name-input>svg{position:absolute;top:50%;right:13px;transform:translateY(-50%);color:#657679;font-size:10px}.online-name-input>svg{width:18px;height:18px;color:#7bb099}.online-name-input.ready .lobby-input{border-color:#5b8b77a6;color:#d8e7df}.online-field-note{margin:8px 0 0;color:#6f8083;font-size:12px;line-height:1.5}.online-identity-state{display:grid;min-height:60px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;margin-top:18px;padding:10px 12px;border:1px solid #344649;border-radius:3px;color:#8f9fa0}.online-identity-state.ready{border-color:#51816db8;color:#75a991}.online-identity-state>svg{width:19px;height:19px;margin:auto}.online-identity-state strong,.online-identity-state span{display:block}.online-identity-state strong{color:#cbd3d0;font-size:12px}.online-identity-state span{margin-top:2px;color:#728184;font-size:12px}.online-network-note{display:flex;align-items:center;gap:11px;margin-top:auto;padding-top:24px;color:#718184;font-size:12px;line-height:1.55}.online-network-note>svg{width:20px;height:20px;flex:0 0 20px}.online-network-note strong{color:#a9b4b2;font-weight:600}.online-action-panel{display:flex;min-width:0;flex-direction:column;padding:clamp(20px,2.5vw,34px)}.online-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #344548}.online-mode-tabs button{display:flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#7f8f92;font-size:13px}.online-mode-tabs button:hover:not(:disabled){background:#1d292b80;color:#d2d9d6}.online-mode-tabs button.active{border-bottom-color:#cf8640;color:#edcf9f}.online-mode-tabs svg{width:17px;height:17px}.online-mode-content{display:flex;min-height:0;flex:1;flex-direction:column;padding-top:clamp(24px,4vh,40px)}.online-action-intro{display:flex;align-items:center;gap:15px}.online-action-intro p,.private-room-option p,.invite-display p,.matchmaking-wait p{margin:6px 0 0;color:#849496;font-size:12px;line-height:1.55}.matchmaking-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(24px,5vh,44px) 0 0;border-block:1px solid #304144}.matchmaking-facts>div{padding:15px 12px;border-right:1px solid #304144}.matchmaking-facts>div:last-child{border-right:0}.matchmaking-facts dt{color:#6f7f82;font-size:12px}.matchmaking-facts dd{overflow:hidden;margin:5px 0 0;color:#c7cecb;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.online-primary-action,.private-room-option>button,.invite-actions button,.matchmaking-wait>button{display:flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border-radius:3px}.online-primary-action{width:100%;margin-top:auto;border-color:#d28b3e;background:#c97a35;color:#160f09;font-family:"Noto Serif SC",Songti SC,serif;font-size:15px;font-weight:800;letter-spacing:.06em}.online-primary-action:hover:not(:disabled){border-color:#f0b368;background:#de9148;color:#120b06}.online-primary-action svg,.private-room-option button svg,.invite-actions button svg,.matchmaking-wait button svg{width:17px;height:17px}.matchmaking-wait,.invite-display{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center}.matchmaking-radar{position:relative;display:grid;width:78px;height:78px;margin-bottom:20px;place-items:center;border:1px solid rgba(202,133,64,.55);border-radius:50%;color:#d48c45}.matchmaking-radar:before,.matchmaking-radar:after{position:absolute;border:1px solid rgba(202,133,64,.22);border-radius:50%;content:""}.matchmaking-radar:before{top:8px;right:8px;bottom:8px;left:8px}.matchmaking-radar:after{top:18px;right:18px;bottom:18px;left:18px}.matchmaking-radar svg{width:24px;height:24px}.matchmaking-wait h2,.invite-display h2{margin-top:8px;font-size:24px}.matchmaking-wait>button{width:min(260px,100%);margin-top:28px}.private-room-options{display:grid;min-height:0;flex:1;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:stretch}.private-room-option{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:10px clamp(8px,1.5vw,20px) 0}.private-room-option:first-child{padding-left:0}.private-room-option:last-child{padding-right:0}.private-room-option>div{margin-top:17px}.private-room-option .lobby-input{margin-top:auto;padding-right:13px;text-transform:uppercase;letter-spacing:.08em}.private-room-option>button{width:100%;margin-top:10px}.private-room-option:not(.join-option)>button{margin-top:auto}.private-option-divider{display:flex;align-items:center;justify-content:center;color:#637477;font-size:12px}.private-option-divider:before,.private-option-divider:after{width:1px;height:32%;background:#314346;content:""}.private-option-divider{flex-direction:column;gap:10px}.invite-display .online-action-emblem{margin-bottom:16px}.invite-code-row{display:flex;max-width:100%;align-items:center;gap:8px;margin:20px 0 6px}.invite-code{display:block;color:#f0b66f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(28px,4vw,42px);letter-spacing:.14em}.copy-invite-button{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid rgba(220,158,91,.52);border-radius:3px;color:#e8b16f;background:#111b1fd1}.copy-invite-button:hover:not(:disabled){border-color:#e4a85e;background:#392719d1}.copy-invite-button svg{width:16px;height:16px}.invite-display small{color:#718184;font-size:12px}.room-roster{display:grid;width:min(520px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}.room-player{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:10px 12px;border:1px solid rgba(96,119,124,.42);border-radius:3px;text-align:left;background:#070f1294}.room-player>span{grid-column:1 / -1;color:#73878c;font-size:10px;text-transform:uppercase}.room-player>strong{min-width:0;overflow:hidden;color:#dce5e3;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.room-player>em{align-self:center;color:#8b9b9d;font-size:11px;font-style:normal}.room-player.ready{border-color:#599d7b9e;background:#122f256b}.room-player.ready>em{color:#82cba7}.invite-actions{display:grid;width:min(420px,100%);grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:28px}.invite-actions>.primary:only-child{grid-column:1 / -1}.invite-actions>.danger-action{padding-inline:16px}.online-feedback-slot{margin-top:12px}.online-feedback-slot .feedback-bar{margin:0}@media(max-width:720px){.start-screen .online-setup-shell{min-height:auto}.online-header-status{display:none}.online-lobby{min-height:0;grid-template-columns:1fr}.online-identity-panel{border-right:0;border-bottom:1px solid rgba(150,119,77,.6)}.online-network-note{margin-top:22px}.online-mode-content{min-height:390px}}@media(max-width:460px){.private-room-options{grid-template-columns:1fr;gap:18px}.private-room-option,.private-room-option:first-child,.private-room-option:last-child{padding:0}.private-option-divider{flex-direction:row}.private-option-divider:before,.private-option-divider:after{width:32%;height:1px}.private-room-option .lobby-input,.private-room-option:not(.join-option)>button{margin-top:18px}.invite-actions,.room-roster{grid-template-columns:1fr}}@media(min-width:721px)and (max-height:760px){.online-lobby{min-height:calc(100svh - 74px)}.online-section-heading{margin-bottom:20px}.online-mode-content{padding-top:20px}.matchmaking-facts{margin-top:24px}}.menu-dialog-rules,.menu-dialog-cards,.menu-dialog-settings{max-width:1180px;height:min(780px,calc(100svh - 36px));min-height:min(780px,calc(100svh - 36px));max-height:calc(100svh - 36px)}.settings-layout{display:grid;min-height:0;flex:1;grid-template-columns:238px minmax(0,1fr) 268px;background:#0c1518}.settings-nav{display:flex;min-width:0;flex-direction:column;gap:7px;padding:22px 15px;border-right:1px solid #35484c;background:#101c1f}.settings-nav-mark{display:flex;align-items:center;gap:10px;margin:0 7px 18px;color:#98724b}.settings-nav-mark>svg{width:25px;height:25px}.settings-nav-mark span,.settings-nav-mark strong{display:block}.settings-nav-mark span{font-size:12px;letter-spacing:.08em}.settings-nav-mark strong{margin-top:2px;color:#d8c29d;font-family:"Noto Serif SC",Songti SC,serif;font-size:15px;letter-spacing:.04em}.settings-nav>button{display:grid;min-height:68px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;border-color:transparent;border-radius:3px;background:transparent;color:#718285;text-align:left}.settings-nav>button:hover:not(:disabled){border-color:#3b5054;background:#152326}.settings-nav>button.active{border-color:#8d6b47;background:#2d271f;color:#d89650}.settings-nav-icon{display:grid;width:36px;height:36px;place-items:center;border:1px solid currentColor;border-radius:50%}.settings-nav-icon svg{width:18px;height:18px}.settings-nav>button strong,.settings-nav>button small{display:block}.settings-nav>button strong{color:#cbd3d0;font-size:13px}.settings-nav>button.active strong{color:#f0d3a7}.settings-nav>button small{margin-top:3px;color:#6d7e81;font-size:9px;font-weight:700;letter-spacing:.12em}.settings-nav-status{display:grid;gap:5px;margin-top:auto;padding:16px 13px;border:1px solid #35484c;border-radius:3px;background:#0c171a}.settings-nav-status span,.settings-nav-status small{color:#718184;font-size:12px}.settings-nav-status strong{color:#dfa156;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:25px}.settings-panel{display:flex;min-width:0;min-height:0;flex-direction:column;border-right:1px solid #35484c;background:#0c1518}.settings-panel-heading{display:flex;min-height:82px;align-items:center;gap:12px;padding:17px 24px;border-bottom:1px solid #35484c}.settings-panel-heading>svg{width:23px;height:23px;color:#c48649}.settings-panel-heading span{color:#9d7146;font-size:9px;font-weight:700;letter-spacing:.16em}.settings-panel-heading h2{margin:2px 0 0;color:#ead9b9;font-family:"Noto Serif SC",Songti SC,serif;font-size:22px}.settings-panel-content{display:grid;align-content:start;gap:14px;min-height:0;flex:1;overflow-y:auto;padding:22px 24px;scrollbar-color:#8d6842 #091215;scrollbar-width:thin}.settings-fieldset{display:grid;gap:12px}.settings-fieldset-heading,.settings-command-row,.settings-toggle-row,.settings-slider-row,.settings-status-row{border:1px solid #35484c;border-radius:3px;background:#111d20}.settings-fieldset-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 15px}.settings-fieldset-heading strong,.settings-fieldset-heading span,.settings-command-row strong,.settings-command-row small,.settings-toggle-row strong,.settings-toggle-row small,.settings-slider-row strong,.settings-slider-row small,.settings-status-row strong,.settings-status-row small{display:block}.settings-fieldset-heading strong,.settings-command-row strong,.settings-toggle-row strong,.settings-slider-row strong,.settings-status-row strong{color:#dbe0db;font-size:13px}.settings-fieldset-heading span,.settings-command-row small,.settings-toggle-row small,.settings-slider-row small,.settings-status-row small{margin-top:3px;color:#7e8f91;font-size:12px;line-height:1.5}.settings-fieldset-heading>svg{width:19px;height:19px;color:#c48649}.settings-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.settings-segmented button{display:grid;min-height:78px;place-content:center;padding:11px;border-color:#35484c;border-radius:3px;background:#0c171a;text-align:center}.settings-segmented button:hover:not(:disabled){border-color:#806a4e;background:#162225}.settings-segmented button.active{border-color:#c08448;background:#352a20;box-shadow:inset 0 0 0 1px #d48f4947}.settings-segmented strong,.settings-segmented span{display:block}.settings-segmented strong{color:#d6dcd8;font-size:13px}.settings-segmented span{margin-top:4px;color:#758689;font-size:12px}.settings-segmented button.active strong{color:#f0d1a4}.settings-command-row,.settings-toggle-row,.settings-slider-row{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px}.settings-command-row>span:first-child,.settings-toggle-row>span:first-child,.settings-slider-row>span:first-child{display:flex;min-width:0;align-items:center;gap:11px}.settings-command-row>span:first-child>svg,.settings-toggle-row>span:first-child>svg,.settings-slider-row>span:first-child>svg{width:19px;height:19px;flex:0 0 19px;color:#b47b43}.settings-command-row button,.settings-panel-actions button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;border-radius:3px;white-space:nowrap}.settings-command-row button svg,.settings-panel-actions button svg{width:16px;height:16px}.settings-slider-control{display:grid;width:min(230px,46%);grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:10px}.settings-slider-control input{width:100%;height:4px;accent-color:#cf8a45;cursor:pointer}.settings-slider-control output{color:#e3ac68;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;text-align:right}.settings-toggle-row{position:relative;cursor:pointer}.settings-toggle-row>input{position:absolute;width:1px;height:1px;opacity:0}.settings-switch{position:relative;width:46px;height:25px;flex:0 0 46px;border:1px solid #516568;border-radius:13px;background:#091215;transition:background-color .16s ease,border-color .16s ease}.settings-switch>span{position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#718184;transition:transform .16s ease,background-color .16s ease}.settings-toggle-row>input:checked+.settings-switch{border-color:#c48649;background:#523821}.settings-toggle-row>input:checked+.settings-switch>span{transform:translate(21px);background:#edb066}.settings-toggle-row:focus-within{outline:2px solid rgba(212,143,73,.65);outline-offset:2px}.settings-accessibility-note{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;padding:14px 15px;border-left:2px solid #568875;background:#13221f}.settings-accessibility-note svg{width:18px;height:18px;color:#74aa91}.settings-accessibility-note p,.settings-system-note p{margin:0;color:#9aabaa;font-size:12px;line-height:1.6}.settings-status-row{display:grid;min-height:76px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 15px}.settings-status-row>svg{width:20px;height:20px;color:#b47b43}.settings-status-row>b{color:#d9a15f;font-size:12px}.settings-system-note{padding:16px;border:1px solid #35484c;border-radius:3px;background:#0e191c}.settings-system-note strong{display:block;margin-bottom:6px;color:#d5c09b;font-size:13px}.settings-panel-actions{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;border-top:1px solid #35484c;background:#101c1f}.settings-panel-actions>span{display:flex;align-items:center;gap:7px;color:#718184;font-size:12px}.settings-panel-actions>span svg{width:15px;height:15px}.settings-guide{position:relative;min-width:0;overflow:hidden;padding:32px 25px;background:#10191d}.settings-guide>span{color:#8f704f;font-size:9px;font-weight:700;letter-spacing:.16em}.settings-guide h2{margin:17px 0 12px;color:#e0b779;font-family:"Noto Serif SC",Songti SC,serif;font-size:23px;line-height:1.35}.settings-guide p{margin:0;color:#91a2a3;font-size:12px;line-height:1.75}.settings-guide-emblem{position:absolute;right:-36px;bottom:-36px;display:grid;width:190px;height:190px;place-items:center;border:1px solid rgba(180,123,67,.28);border-radius:50%;color:#b47b4357}.settings-guide-emblem:before{position:absolute;top:20px;right:20px;bottom:20px;left:20px;border:1px solid currentColor;border-radius:50%;content:""}.settings-guide-emblem svg{width:58px;height:58px}:root[data-high-contrast=true] .main-menu-intro,:root[data-high-contrast=true] .online-field-note,:root[data-high-contrast=true] .online-identity-state span,:root[data-high-contrast=true] .online-network-note,:root[data-high-contrast=true] .matchmaking-facts dt,:root[data-high-contrast=true] .rules-chapter-nav small,:root[data-high-contrast=true] .rules-chapter-content>header p,:root[data-high-contrast=true] .rule-prose p,:root[data-high-contrast=true] .combat-summary p,:root[data-high-contrast=true] .rule-faction-reference p,:root[data-high-contrast=true] .turn-sequence p,:root[data-high-contrast=true] .catalog-meta,:root[data-high-contrast=true] .catalog-card-details>span:last-child,:root[data-high-contrast=true] .settings-panel small,:root[data-high-contrast=true] .settings-guide p{color:#d0d9d6}:root[data-high-contrast=true] .menu-dialog,:root[data-high-contrast=true] .local-match-layout,:root[data-high-contrast=true] .online-lobby{border-color:#c2955d}.menu-dialog-title>div{display:grid;gap:1px}.menu-dialog-title>div>span{color:#a67646;font-size:8px;font-weight:700;letter-spacing:.18em}.menu-dialog-title h2{margin:0;font-size:19px;line-height:1.2}.rules-manual{display:grid;min-height:0;flex:1;grid-template-columns:260px minmax(0,1fr);background:#0c1518}.rules-chapter-nav{display:flex;min-width:0;flex-direction:column;gap:6px;padding:22px 15px;border-right:1px solid #35484c;background:#101c1f}.rules-manual-mark{display:flex;align-items:center;gap:10px;margin:0 7px 18px;color:#94704b}.rules-manual-mark>svg{width:25px;height:25px}.rules-manual-mark span,.rules-manual-mark strong{display:block}.rules-manual-mark span{font-size:12px;letter-spacing:.08em}.rules-manual-mark strong{margin-top:2px;color:#d8c29d;font-family:"Noto Serif SC",Songti SC,serif;font-size:15px;letter-spacing:.04em}.rules-chapter-nav>button{display:grid;min-height:66px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;padding:9px 11px;border-color:transparent;border-radius:3px;background:transparent;color:#6f8184;text-align:left}.rules-chapter-nav>button:hover:not(:disabled){border-color:#3b5054;background:#152326}.rules-chapter-nav>button.active{border-color:#8d6b47;background:#2d271f;color:#d89650}.rules-chapter-nav>button>span:first-child{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.rules-chapter-nav>button strong,.rules-chapter-nav>button small{display:block}.rules-chapter-nav>button strong{color:#cbd3d0;font-size:12px}.rules-chapter-nav>button.active strong{color:#f0d3a7}.rules-chapter-nav>button small{overflow:hidden;margin-top:3px;color:#6e7f82;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.rules-chapter-content{min-width:0;overflow-y:auto;padding:clamp(24px,3vw,38px)}.rules-chapter-content>header{padding-bottom:18px;border-bottom:1px solid #35474b}.rules-chapter-content>header>span{color:#a97543;font-size:9px;font-weight:700;letter-spacing:.18em}.rules-chapter-content>header h2{margin:5px 0 3px;color:#ead9b9;font-family:"Noto Serif SC",Songti SC,serif;font-size:27px}.rules-chapter-content>header p{margin:0;color:#75878a;font-size:12px}.rule-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0;border-block:1px solid #35474b}.rule-stat-strip>div{display:grid;gap:3px;padding:16px;border-right:1px solid #35474b;text-align:center}.rule-stat-strip>div:last-child{border-right:0}.rule-stat-strip strong{color:#d89853;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:22px}.rule-stat-strip span{color:#859497;font-size:12px}.rule-prose{display:grid;gap:12px}.rule-prose>section{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:13px 0}.rule-prose svg,.rule-callout svg{width:20px;height:20px;color:#c18448}.rule-prose h3,.combat-summary h3,.rule-faction-reference h3{margin:0;color:#dbe0db;font-size:13px}.rule-prose p,.combat-summary p,.rule-faction-reference p,.turn-sequence p,.rule-callout p{margin:4px 0 0;color:#9aabaa;font-size:12px;line-height:1.65}.turn-sequence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:25px 0;padding:0;list-style:none}.turn-sequence li{display:grid;min-height:100px;grid-template-columns:32px minmax(0,1fr);gap:9px;padding:14px;border:1px solid #35484c;border-radius:3px;background:#111d20}.turn-sequence li>span{color:#b87a40;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.turn-sequence strong{color:#dce0db;font-size:13px}.rule-callout{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;padding:15px;border-left:2px solid #b8783e;background:#182326}.rule-callout p{margin:0}.rule-callout strong{color:#e5c18d}.combat-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}.combat-summary section{min-height:140px;padding:18px;border:1px solid #35484c;border-radius:3px;background:#111d20}.combat-summary svg{width:22px;height:22px;margin-bottom:16px;color:#c18448}.rule-subheading{margin:28px 0 10px;color:#d6c19d;font-size:13px}.rule-keywords.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-keywords.expanded>div{background:#111d20}.rule-faction-reference{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:25px}.rule-faction-reference article{position:relative;display:grid;min-height:116px;grid-template-columns:5px minmax(0,1fr);gap:14px;padding:15px;border:1px solid #35484c;border-radius:3px;background:#111d20}.rule-faction-reference article>span{width:3px;height:100%;opacity:.8}.rule-faction-reference article strong{display:block;margin-top:5px;color:#c99a60;font-size:12px}.card-library{display:flex;min-height:0;flex:1;flex-direction:column;background:#0c1518}.card-library-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:14px;padding:14px 18px;border-bottom:1px solid #35484c;background:#101c1f}.catalog-search{position:relative;display:block}.catalog-search svg{position:absolute;top:50%;left:12px;width:17px;height:17px;transform:translateY(-50%);color:#718184}.catalog-search input{width:100%;min-height:40px;padding:8px 12px 8px 38px;border:1px solid #35484c;border-radius:3px;outline:0;background:#091114;color:#dbe1de}.catalog-search input:focus{border-color:#b57940;box-shadow:0 0 0 2px #b5794029}.catalog-type-filter{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(62px,auto)}.catalog-type-filter button{min-height:40px;padding:7px 13px;border-radius:0;border-color:#35484c;border-right-width:0;background:#0c171a;color:#839396;font-size:12px}.catalog-type-filter button:first-child{border-radius:3px 0 0 3px}.catalog-type-filter button:last-child{border-right-width:1px;border-radius:0 3px 3px 0}.catalog-type-filter button.active{border-color:#b57940;background:#3c2d20;color:#f0d2a6}.card-library-main{display:grid;min-height:0;flex:1;grid-template-columns:minmax(0,1fr) 292px}.card-browser{min-width:0;overflow-y:auto;padding:16px 18px 24px;scrollbar-color:#9b7043 #091215;scrollbar-width:thin}.card-browser::-webkit-scrollbar{width:9px}.card-browser::-webkit-scrollbar-track{border-left:1px solid #26373a;background:#091215}.card-browser::-webkit-scrollbar-thumb{min-height:48px;border:2px solid #091215;border-radius:5px;background:#81603f}.card-browser::-webkit-scrollbar-thumb:hover{background:#bd854b}.card-browser .catalog-filters{position:sticky;z-index:3;top:-16px;padding:12px 0 10px;background:#0c1518}.card-browser .catalog-filters button{min-height:34px;padding:6px 10px;background:#111d20}.card-browser .catalog-filters button.active{background:#493522}.card-browser .catalog-count{margin:5px 0 11px}.card-browser .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card-browser .catalog-card{display:block;width:100%;min-height:0;padding:0;border-radius:3px;color:inherit;text-align:left}.card-browser .catalog-card:hover:not(:disabled){border-color:#8f714d;background:#182326;transform:translateY(-1px)}.card-browser .catalog-card.selected{border-color:#d4934d;box-shadow:inset 0 0 0 1px #e19d536b,0 6px 18px #00000059}.card-browser .catalog-card-face{width:100%}.card-browser .catalog-card-details{display:grid;gap:5px}.card-browser .catalog-card-details>span:last-child{display:-webkit-box;overflow:hidden;color:#bdc7c3;font-size:12px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.catalog-empty{display:grid;min-height:220px;place-content:center;gap:6px;color:#68797c;text-align:center}.catalog-empty svg{width:28px;height:28px;margin:0 auto 6px}.catalog-empty strong{color:#aebbb8;font-size:13px}.catalog-empty span{font-size:12px}.card-detail-panel{min-width:0;overflow-y:auto;padding:20px;border-left:1px solid #35484c;background:#101c1f}.card-detail-art{position:relative;aspect-ratio:5 / 6;overflow:hidden;isolation:isolate;border:1px solid #465a5d;border-radius:3px;background:#182427}.card-detail-art>img,.card-detail-art>.catalog-card-shade{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.card-detail-art>img{z-index:-2;-o-object-fit:cover;object-fit:cover}.card-detail-type{display:flex;align-items:center;gap:6px;margin-top:17px;color:#b78350;font-size:12px;font-weight:700;letter-spacing:.1em}.card-detail-type svg{width:14px;height:14px}.card-detail-panel h2{margin:5px 0 2px;color:#eee1ca;font-family:"Noto Serif SC",Songti SC,serif;font-size:22px}.card-detail-faction{color:#78898b;font-size:12px}.card-detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.card-detail-stats.single,.catalog-card-stats.single{grid-template-columns:1fr}.card-detail-stats>span{display:grid;grid-template-columns:17px auto;align-items:center;gap:2px 6px;padding:9px;border:1px solid #35484c;border-radius:3px;color:#829295;font-size:12px}.card-detail-stats svg{width:15px;height:15px;grid-row:1 / 3;color:#c48649}.card-detail-stats strong{color:#e2d2b7;font-size:15px}.card-detail-panel>p{margin:16px 0 0;padding-top:15px;border-top:1px solid #35484c;color:#acbab7;font-size:12px;line-height:1.65}.card-detail-keywords{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.card-detail-keywords span{padding:4px 7px;border:1px solid #6d573e;border-radius:3px;color:#d3b482;font-size:12px}@media(max-width:1080px){.settings-layout{grid-template-columns:220px minmax(0,1fr)}.settings-guide{display:none}.settings-panel{border-right:0}.card-browser .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.menu-dialog-cards,.menu-dialog-settings{max-width:calc(100vw - 24px)}.card-library-main{grid-template-columns:minmax(0,1fr) 238px}.card-browser .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.menu-dialog-rules,.menu-dialog-cards,.menu-dialog-settings{height:calc(100svh - 20px);min-height:calc(100svh - 20px);max-height:calc(100svh - 20px)}.settings-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.settings-nav{flex-direction:row;gap:5px;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid #35484c;scrollbar-color:#765b3d #0b1518;scrollbar-width:thin}.settings-nav::-webkit-scrollbar{height:6px}.settings-nav::-webkit-scrollbar-track{background:#0b1518}.settings-nav::-webkit-scrollbar-thumb{border:1px solid #0b1518;border-radius:3px;background:#765b3d}.settings-nav::-webkit-scrollbar-thumb:hover{background:#b78049}.settings-nav-mark,.settings-nav-status{display:none}.settings-nav>button{min-width:145px;min-height:56px;grid-template-columns:30px minmax(0,1fr);padding:8px 10px}.settings-nav-icon{width:29px;height:29px}.settings-nav-icon svg{width:15px;height:15px}.settings-panel-heading{min-height:68px;padding:12px 15px}.settings-panel-content{padding:14px}.settings-panel-actions{padding:9px 14px}.settings-command-row,.settings-toggle-row,.settings-slider-row{align-items:flex-start}.settings-slider-row{flex-direction:column}.settings-slider-control{width:100%}.rules-manual{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.rules-chapter-nav{flex-direction:row;gap:5px;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid #35484c}.rules-manual-mark{display:none}.rules-chapter-nav>button{min-width:142px;min-height:54px}.rules-chapter-content{padding:20px 16px}.turn-sequence,.combat-summary,.rule-faction-reference,.rule-keywords.expanded{grid-template-columns:1fr}.card-library-toolbar{grid-template-columns:1fr;gap:8px;padding:10px}.catalog-type-filter{grid-auto-columns:minmax(0,1fr)}.catalog-type-filter button{padding-inline:5px}.card-library-main{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.card-detail-panel{display:grid;max-height:144px;grid-template-columns:86px minmax(0,1fr);grid-template-rows:auto auto auto 1fr;-moz-column-gap:12px;column-gap:12px;order:-1;overflow:hidden;padding:10px;border-bottom:1px solid #35484c;border-left:0}.card-detail-art{width:86px;grid-row:1 / 6}.card-detail-type{align-self:end;margin-top:0}.card-detail-panel h2{overflow:hidden;margin-top:2px;font-size:18px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.card-detail-faction{align-self:start}.card-detail-stats{gap:5px;align-self:end;margin-top:7px}.card-detail-stats>span{padding:5px 7px}.card-detail-panel>p{display:none}.card-detail-keywords{display:none}.card-browser{padding:10px}.card-browser .catalog-filters{top:-10px;padding-top:10px}}@media(max-width:430px){.settings-segmented{grid-template-columns:1fr}.settings-command-row{flex-direction:column}.settings-command-row button{width:100%}.settings-panel-actions>span{display:none}.settings-panel-actions button{width:100%}}.canvas-viewport{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#141b21,#0a0d10 70%),#070a0c;overflow:hidden}.game-canvas{position:relative;transform-origin:center center;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 8%,rgba(80,120,150,.1) 0%,transparent 52%),linear-gradient(180deg,#0c1115b8,#090c0fdb 45%,#07090cf0),url(/textures/GS-TEXTURE-BOARD-001.webp) center / cover no-repeat;border:1px solid #1e262c;border-radius:4px;box-shadow:0 20px 70px #0009;overflow:hidden}.top-bar{flex:0 0 auto;height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 22px;background:linear-gradient(180deg,#141b21f5,#0c1014eb);border-bottom:1px solid #1e262c}.top-left,.top-right{flex:1 1 0;min-width:0}.top-right{display:flex;justify-content:flex-end}.top-center{flex:0 0 auto;display:flex;align-items:center;gap:14px}.faction-badge{display:flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;border-radius:8px;border:1px solid;min-width:210px}.faction-badge.own{border-color:#6b4326;background:#1e1610cc;color:#c98a52}.faction-badge.enemy{border-color:#2d4457;background:#121920cc;color:#7fa8c9;flex-direction:row-reverse}.faction-sigil{flex:0 0 auto;opacity:.9}.fb-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.fb-name{font-size:14px;font-weight:500;letter-spacing:.04em;color:var(--text)}.fb-trait{font-size:10.5px;color:var(--muted)}.fb-hp{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0b0e11;border:2px solid}.fb-hp b{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.turn-banner{display:flex;align-items:baseline;gap:9px;padding:7px 20px;border-radius:8px;background:#141b21;border:1px solid #232d34}.turn-label{font-size:11px;color:var(--muted);letter-spacing:.1em}.turn-num{font-size:22px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}.turn-phase{font-size:13px;color:var(--text)}.turn-banner .thinking{font-size:11px;color:var(--muted)}.ebb-badge{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;background:#141b21;border:1px solid #232d34}.ebb-badge.urgent{background:#1e1412;border-color:#6b4326;animation:ebb-pulse 1.6s ease-in-out infinite}@keyframes ebb-pulse{0%,to{border-color:#6b4326}50%{border-color:#b4763c}}@media(prefers-reduced-motion:reduce){.ebb-badge.urgent{animation:none}}.ebb-label{font-size:11px;color:#8a9678;letter-spacing:.1em}.ebb-badge.urgent .ebb-label{color:#d3a877}.ebb-badge b{font-size:18px;font-weight:600;color:#b8c79a;font-variant-numeric:tabular-nums;line-height:1}.ebb-badge.urgent b{color:var(--accent)}.ebb-unit{font-size:11px;color:#6b757c}.ebb-pips{display:flex;gap:2px}.ebb-pips i{width:4px;height:4px;border-radius:50%;background:#2b3138;display:block}.ebb-pips i.on{background:#7d8a5e}.ebb-badge.urgent .ebb-pips i.on{background:var(--accent)}.main-area{flex:0 0 auto;min-height:0;display:flex;gap:14px;padding:14px 18px}.side-panel{flex:0 0 232px;display:flex;flex-direction:column;gap:12px;min-height:0}.side-panel.right{flex-basis:210px}.panel{background:#141a1fb8;border:1px solid #1e262c;border-radius:8px;overflow:hidden;flex:0 0 auto}.panel.grow{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.panel-title{font-size:12px;font-weight:500;letter-spacing:.14em;color:#8b979f;padding:8px 12px;background:#0a0d1099;border-bottom:1px solid #1a2126}.panel-body{padding:10px 12px}.panel.grow .panel-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;padding:0}.info-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 0;font-size:12px;color:var(--muted)}.info-row b{color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}.info-row b.danger{color:var(--danger)}.info-row b.trait{font-size:11px;color:#b8c79a}.phase-list{display:flex;flex-direction:column;gap:7px}.phase-item{display:flex;align-items:center;gap:9px;font-size:12px;color:#6b757c}.phase-item i{width:9px;height:9px;border-radius:50%;background:#2b3138;border:1px solid #3a434a;flex:0 0 auto}.phase-item.done{color:#8b979f}.phase-item.done i{background:#6b9e58;border-color:#6b9e58}.phase-item.active{color:var(--accent)}.phase-item.active i{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px #c1743a99}.spire-mini{display:flex;align-items:center;gap:12px}.spire-mini-orb{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 35%,#2a3138,#14191d 70%);border:2px solid #4d7595;font-size:20px;font-weight:600;color:#b7d3e8;font-variant-numeric:tabular-nums;flex:0 0 auto}.spire-mini-info{flex:1 1 auto;min-width:0}.board-area{flex:1 1 auto;min-width:0;display:flex;align-items:stretch;justify-content:center}.game-canvas .battlefield{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:14px;margin-bottom:0;max-width:760px;margin-left:auto;margin-right:auto;width:100%}.bottom-bar{flex:0 0 auto;height:226px;display:flex;align-items:stretch;gap:14px;padding:6px 18px 14px;background:linear-gradient(180deg,#0a0d1000,#080b0de6 45%);border-top:1px solid #161d22}.hand-slot{flex:1 1 auto;min-width:0;display:flex}.action-slot{flex:0 0 210px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:clamp(8px,1vw,12px)}.game-canvas button.end-turn{padding:13px 18px!important;font-size:14px!important;font-weight:600;letter-spacing:.12em;color:#1a1206;background:linear-gradient(180deg,#d4834a,#b3672f)!important;border:1px solid #e09a62!important;border-radius:9px!important;box-shadow:0 2px #6d3d18,0 4px 16px #c1743a59}.game-canvas button.end-turn:hover:not(:disabled){background:linear-gradient(180deg,#e5945a,#c27338)!important;box-shadow:0 2px #6d3d18,0 6px 22px #c1743a80}.game-canvas button.end-turn:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 #6d3d18}.log.inline{background:none;border:none;padding:0;max-height:none;height:100%;overflow-y:auto;width:100%}.log.inline .log-line{font-size:11px;line-height:1.5;padding:2px 0}.log.inline .empty-label{font-size:11px;padding-top:8px}.game-canvas .hint-bar{margin:0 0 6px;padding:8px 14px;font-size:12px}.game-canvas .hint-bar .strike-word{font-size:12.5px}.game-canvas .toast{position:absolute;left:50%;bottom:240px;transform:translate(-50%);padding:9px 18px;border-radius:8px;background:#2a1614;border:1px solid #7d2f26;color:#f0a79c;font-size:12.5px;box-shadow:0 6px 24px #00000080;z-index:60}.game-canvas .lane .row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.game-canvas .lane{padding-left:30px;position:relative}.game-canvas .lane-tag{position:absolute;left:0;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:upright;font-size:9.5px;letter-spacing:.12em;line-height:1;color:#4d565d;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;white-space:nowrap}.game-canvas .lane.enemy .lane-tag{color:#4a5a66}.game-canvas .lane.own .lane-tag{color:#6b5540}.game-canvas .slot{min-height:88px;border-radius:10px;padding:9px;border:1px solid var(--line);background:#14181c;display:flex;flex-direction:column;gap:5px;justify-content:center;position:relative;transition:border-color .15s,background .15s,transform .12s}.game-canvas .lane.enemy .slot{background:#12171b}.game-canvas .lane.own .slot{background:#191614}.game-canvas .slot.targetable{border-color:var(--accent);cursor:pointer;background:#2a1d11;transform:translateY(-2px)}.game-canvas .slot.targetable:hover{background:#3a2818}.game-canvas .empty-label{color:#5a6770;font-size:32px;font-weight:300;text-align:center;opacity:.6}.game-canvas .unit-owner{position:absolute;top:6px;right:7px;width:6px;height:6px;border-radius:50%}.game-canvas .unit-owner.p0{background:var(--accent)}.game-canvas .unit-owner.p1{background:#7fa8c9}.game-canvas .unit-name{font-size:12px;font-weight:500}.game-canvas .unit-stats{font-size:13px}.game-canvas .spire-row{display:flex;align-items:stretch;justify-content:center;gap:12px;min-height:0;padding-left:0;max-width:760px;margin-left:auto;margin-right:auto;width:100%}.game-canvas .spire-row .spire-tile{flex-direction:row;align-items:center;width:100%;max-width:none;flex:1 1 auto;padding:7px 16px;gap:14px}.game-canvas .spire-row .spire-glyph{width:42px;height:42px;flex:0 0 auto}.game-canvas .spire-row .spire-body{flex-direction:row;align-items:center;gap:12px;flex:1 1 auto;min-width:0}.game-canvas .spire-row .spire-name{flex:0 0 auto;font-size:12px}.game-canvas .spire-row .spire-orb{width:36px;height:36px;flex:0 0 auto}.game-canvas .spire-row .spire-orb-text{font-size:16px}.game-canvas .spire-row .spire-bar-track{flex:0 0 200px;width:200px;height:7px;align-self:center}.game-canvas .spire-node{position:relative;width:86px;height:86px;flex:0 0 86px;display:flex;align-items:center;justify-content:center;margin:0 auto;border-radius:50%;color:#8fb6d2;background:radial-gradient(circle at 50% 38%,#23333ee6,#0c1115f5 70%);border:2px solid currentColor;box-shadow:inset 0 0 0 8px #070a0d47,0 10px 28px #00000047}.game-canvas .spire-row .spire-meta{flex:0 0 auto;flex-wrap:nowrap;margin-left:auto;align-self:center}.game-canvas .spire-row .spire-flag{flex:0 0 auto}.game-canvas .spire-row .spire-crosshair{right:10px;top:50%;transform:translateY(-50%)}.game-canvas .spire-tile{position:relative;width:150px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 10px 10px;border-radius:12px;border:1px solid var(--line);background:var(--panel);transition:border-color .18s,background .18s,box-shadow .18s}.game-canvas .spire-tile.enemy{border-color:#2d4457;background:#121820;color:#7fa8c9}.game-canvas .spire-tile.own{border-color:#6b4326;background:#1a1613;color:#c98a52}.game-canvas .spire-tile .spire-glyph{width:52px;height:52px;line-height:0}.game-canvas .spire-tile .spire-glyph svg{width:100%;height:100%}.game-canvas .spire-tile .spire-body{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.game-canvas .spire-tile .spire-name{font-size:11.5px;font-weight:500;letter-spacing:.06em}.game-canvas .spire-tile.enemy .spire-name{color:#9fc0d8}.game-canvas .spire-tile.own .spire-name{color:#dba06a}.game-canvas .spire-tile .spire-orb{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0d1114;border:2px solid}.game-canvas .spire-tile.enemy .spire-orb{border-color:#4d7595}.game-canvas .spire-tile.own .spire-orb{border-color:#96602f}.game-canvas .spire-tile .spire-orb-text{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.game-canvas .spire-tile.enemy .spire-orb-text{color:#b7d3e8}.game-canvas .spire-tile.own .spire-orb-text{color:#eab887}.game-canvas .spire-tile .spire-bar-track{width:100%;height:7px;border-radius:4px;background:#0b0e11;border:1px solid #22282d;overflow:hidden}.game-canvas .spire-tile .spire-bar-track i{display:block;height:100%}.game-canvas .spire-tile.enemy .spire-bar-track i{background:#5d87ab}.game-canvas .spire-tile.own .spire-bar-track i{background:#a96734}.game-canvas .spire-tile .spire-meta{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.game-canvas .spire-tile .chip{font-size:10px;padding:1px 7px}.game-canvas .spire-tile .spire-flag{font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap;letter-spacing:.04em}.game-canvas .spire-tile .spire-flag.strike{background:#c0453a;color:#fff2ef;box-shadow:0 0 12px #c0453aa6}.game-canvas .spire-tile .spire-flag.blocked{background:#262b2f;color:#6b757c}.game-canvas .spire-tile .spire-crosshair{position:absolute;right:10px;top:10px;color:#ef8878;line-height:0;filter:drop-shadow(0 0 7px rgba(239,136,120,.9));pointer-events:none}.game-canvas .spire-tile .spire-crosshair svg{width:20px;height:20px}.game-canvas .spire-tile.enemy.targetable{cursor:pointer;border-color:#d1584a;background:#1c1214;box-shadow:0 0 0 1px #d1584a80,0 0 20px #c0453a52;animation:spire-pulse 1.15s ease-in-out infinite;z-index:2}.game-canvas .spire-tile.enemy.targetable:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:16px;background:radial-gradient(ellipse at center,rgba(214,92,64,.28) 0%,rgba(214,92,64,.1) 48%,transparent 74%);pointer-events:none;animation:halo-breathe 1.6s ease-in-out infinite}@keyframes halo-breathe{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1.03)}}@keyframes spire-pulse{0%,to{box-shadow:0 0 0 1px #d1584a73,0 0 14px #c0453a38}50%{box-shadow:0 0 0 2px #f07866cc,0 0 26px #c0453a73}}@media(prefers-reduced-motion:reduce){.game-canvas .spire-tile.enemy.targetable,.game-canvas .spire-tile.enemy.targetable:before{animation:none}}.game-canvas .spire-tile.enemy.targetable .spire-glyph{color:#f08878}.game-canvas .spire-tile.enemy.targetable .spire-orb{border-color:#e05a4c;background:#2a1413;box-shadow:0 0 16px #e05a4c80}.game-canvas .spire-tile.enemy.targetable .spire-orb-text{color:#ffb3a6}.game-canvas .spire-tile.enemy.targetable .spire-bar-track i{background:#d1584a}.game-canvas .spire-tile.enemy.targetable .spire-name{color:#f5b3a8}.faction-badge{display:flex;align-items:center;gap:14px;padding:8px 16px 8px 12px;border-radius:10px;border:1px solid;min-width:0;height:52px}.faction-badge.own{border-color:#6b4326;background:#1e1610d9;color:#c98a52}.faction-badge.enemy{border-color:#2d4457;background:#121920d9;color:#7fa8c9}.fb-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.fb-name{font-size:13.5px;font-weight:500;letter-spacing:.04em;color:var(--text);display:flex;align-items:center;gap:6px;white-space:nowrap}.fb-side-tag{font-style:normal;font-size:9.5px;font-weight:500;padding:1px 6px;border-radius:999px;letter-spacing:.1em}.faction-badge.own .fb-side-tag{background:#3a2617;color:#dba06a}.faction-badge.enemy .fb-side-tag{background:#1d2c3a;color:#8fb8d4}.fb-trait{font-size:10.5px;color:var(--muted);white-space:nowrap}.fb-mana{display:flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:8px;background:#14201a;border:1px solid #2c4433;flex:0 0 auto}.fb-mana.enemy{background:#141b22;border-color:#2a3d4c}.fb-crystals{display:flex;gap:3px}.fb-crystals i{width:9px;height:12px;clip-path:polygon(50% 0%,100% 32%,78% 100%,22% 100%,0% 32%);background:#2a3a2c;display:block}.fb-crystals i.on{background:linear-gradient(180deg,#a8d47e,#6b9e58);box-shadow:0 0 5px #6b9e5899}.fb-mana.enemy .fb-crystals i{background:#263038}.fb-mana.enemy .fb-crystals i.on{background:linear-gradient(180deg,#9fc8e8,#5d87ab);box-shadow:0 0 5px #5d87ab8c}.fb-mana-num{font-size:15px;font-weight:600;color:#b8d49c;font-variant-numeric:tabular-nums;line-height:1}.fb-mana-num small{font-size:10px;color:#6d7f68;font-weight:400}.fb-mana.enemy .fb-mana-num{color:#a9c9e0}.fb-mana.enemy .fb-mana-num small{color:#63788a}.fb-hp{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0b0e11;border:2px solid}.faction-badge.own .fb-hp{border-color:#a96734}.faction-badge.enemy .fb-hp{border-color:#4d7595}.fb-hp b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.faction-badge.own .fb-hp b{color:#eab887}.faction-badge.enemy .fb-hp b{color:#b7d3e8}.top-left{flex:0 0 auto}.top-right{flex:0 0 auto;display:flex;justify-content:flex-end}.top-center{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:0}.brand{font-size:17px;font-weight:500;letter-spacing:.18em;color:var(--text)}.brand em{font-style:normal;font-size:11px;letter-spacing:.3em;color:var(--muted);margin-left:8px}.turn-group{display:flex;align-items:center;gap:12px}.turn-phase.mine{color:var(--accent)}.own-badge-slot{flex:0 0 auto;display:flex;align-items:center}.bottom-bar{align-items:center}.game-canvas .action-btn.use-btn{background:linear-gradient(180deg,#2a4a6b,#1d3550);border-color:#3d6a94;color:#cfe0f2;font-weight:500}.game-canvas .action-btn.use-btn:hover:not(:disabled){background:linear-gradient(180deg,#365d84,#24425f);border-color:#5590bd}.game-canvas .action-note{font-size:11px;color:#8b979f;padding:6px 10px;background:#1a1f24;border-radius:6px;border:1px dashed #333c43}.game-canvas .board-area{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center}.game-canvas .battlefield{max-width:1100px;width:100%;gap:12px}.game-canvas .spire-row{max-width:780px}.game-canvas .slot{min-height:84px}.game-canvas .spire-row .spire-tile .spire-body{flex-direction:row;align-items:center;gap:12px;flex:1 1 auto;min-width:0}.game-canvas .spire-row .spire-tile .spire-orb{width:38px;height:38px;flex:0 0 auto}.game-canvas .spire-row .spire-tile .spire-name{flex:0 0 auto}.game-canvas .main-area{gap:18px;padding:12px 18px}.game-canvas .board-area{align-items:center;min-width:0}.game-canvas .battlefield{width:min(100%,600px);max-width:600px;gap:8px;justify-content:center}.game-canvas .lanes{display:flex;flex-direction:column;gap:8px}.game-canvas .lane .row{gap:10px}.game-canvas .slot{min-height:128px;aspect-ratio:.75;padding:6px}.game-canvas .slot-content{min-height:0;padding:8px 7px}.game-canvas .unit{min-height:116px;height:100%}.game-canvas .unit-face{margin:5px;padding:12px 8px 8px;justify-content:flex-start}.game-canvas .unit-top{flex-direction:column;align-items:flex-start;gap:4px}.game-canvas .unit-name{white-space:normal;line-height:1.25}.game-canvas .spire-node{position:relative;width:86px;height:86px;flex:0 0 86px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0 auto;border-radius:50%;color:#8fb6d2;background:radial-gradient(circle at 50% 38%,#23333ee6,#0c1115f5 70%);border:2px solid currentColor;box-shadow:inset 0 0 0 8px #070a0d47,0 10px 28px #00000047}.game-canvas .spire-node.own{color:#d1975a;background:radial-gradient(circle at 50% 38%,#412816e6,#110c09f5 70%)}.game-canvas .spire-node.targetable{cursor:pointer;border-color:#e05a4c;color:#f08878;box-shadow:0 0 0 3px #d1584a38,0 0 28px #c0453a66}.game-canvas .spire-node-orb{position:relative;width:62px;height:62px;line-height:0}.game-canvas .spire-node-orb svg{width:100%;height:100%}.game-canvas .spire-node-orb span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#d7e8f3;font-variant-numeric:tabular-nums;line-height:1}.game-canvas .spire-node.own .spire-node-orb span{color:#f0c08d}.game-canvas .spire-node-label{font-size:11px;letter-spacing:.08em;color:currentColor}.game-canvas .spire-node-bar{width:68px;height:4px;border-radius:999px;background:#00000080;overflow:hidden}.game-canvas .spire-node-bar i{display:block;height:100%;background:currentColor}.game-canvas .spire-node-armor{font-size:9px;color:#aab5ba}.game-canvas .action-slot{flex:0 0 210px;display:flex;flex-direction:column;justify-content:center;gap:8px;align-items:stretch}.game-canvas .panel-body .action-list{min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 12px;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:#3a434a transparent}.game-canvas .panel-body .action-list::-webkit-scrollbar{width:6px}.game-canvas .panel-body .action-list::-webkit-scrollbar-track{background:transparent}.game-canvas .panel-body .action-list::-webkit-scrollbar-thumb{background:#3a434a;border-radius:3px}.game-canvas .panel-body .action-btn{flex:0 0 auto;font-size:11.5px;padding:6px 10px;text-align:left;background:linear-gradient(180deg,#253840,#1a2a31);border:1px solid #3a4d56;border-radius:6px;color:#c8dae3;cursor:pointer;transition:all .12s ease}.game-canvas .panel-body .action-btn:hover:not(:disabled){background:linear-gradient(180deg,#2d4650,#223540);border-color:#4f697a;transform:translate(2px)}.game-canvas .panel-body .action-btn:disabled{opacity:.5;cursor:not-allowed}.game-canvas .panel-body .hud-label{font-size:11px;color:#8b979f;margin-bottom:2px}.game-canvas .panel-body .action-note{font-size:11px;color:#8b979f;padding:6px 10px;background:#1a1f24;border-radius:6px;border:1px dashed #333c43}:root{--battle-top-h: clamp(56px, 8vh, 76px);--battle-bottom-h: clamp(142px, 24vh, 216px);--battle-side-gap: clamp(8px, 1.1vw, 18px)}html,body,#root{width:100%;min-height:100%}.canvas-viewport{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;display:block;overflow:hidden;background:#070a0c}.game-canvas{position:relative;width:100%;height:100%;min-width:0;min-height:0;transform:none;border:0;border-radius:0;overflow:hidden}.game-canvas>.top-bar{position:absolute;z-index:20;inset:0 0 auto;height:var(--battle-top-h);flex:none;padding-inline:clamp(8px,1.4vw,22px);gap:clamp(8px,1.2vw,20px)}.game-canvas>.main-area{position:absolute;z-index:5;inset:var(--battle-top-h) 0 var(--battle-bottom-h);display:grid;grid-template-columns:clamp(124px,16vw,232px) minmax(0,1fr) clamp(124px,15vw,210px);gap:var(--battle-side-gap);padding:clamp(8px,1.2vw,18px);min-height:0;overflow:hidden}.game-canvas>.bottom-bar{position:absolute;z-index:20;inset:auto 0 0;height:var(--battle-bottom-h);flex:none;min-height:0;padding:6px clamp(8px,1.2vw,18px) clamp(8px,1.2vw,14px);gap:clamp(8px,1vw,14px)}.game-canvas .top-left,.game-canvas .top-center,.game-canvas .top-right,.game-canvas .side-panel,.game-canvas .board-area,.game-canvas .bottom-bar>*{min-width:0}.game-canvas .side-panel{width:auto;flex:none;min-height:0;overflow:hidden;gap:clamp(6px,1vh,12px)}.game-canvas .panel-body{padding:clamp(6px,.8vw,10px) clamp(7px,.8vw,12px)}.game-canvas .panel-title{padding:7px 9px;font-size:clamp(10px,.8vw,12px)}.game-canvas .info-row{gap:5px;font-size:clamp(10px,.8vw,12px)}.game-canvas .board-area{display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}.game-canvas .battlefield{width:min(100%,780px)!important;max-width:100%;max-height:100%;min-height:0;gap:clamp(4px,1vh,12px);justify-content:center}.game-canvas .lanes{width:100%;min-height:0;gap:clamp(4px,1vh,8px)}.game-canvas .lane .row{gap:clamp(4px,.8vw,10px)}.game-canvas .lane{padding-left:clamp(20px,2vw,30px)}.game-canvas .slot{height:clamp(44px,14vh,132px);min-height:0;aspect-ratio:auto;padding:4px}.game-canvas .slot-content{min-height:0;padding:clamp(4px,1vh,8px) clamp(4px,.7vw,7px)}.game-canvas .unit{min-height:0;height:100%}.game-canvas .unit-face{margin:3px;padding:clamp(5px,1vh,12px) clamp(4px,.7vw,8px) 5px}.game-canvas .unit-name{font-size:clamp(9px,.75vw,11.5px)}.game-canvas .unit-stats{font-size:clamp(10px,.8vw,12px)}.game-canvas .spire-node{width:clamp(46px,10vh,86px);height:clamp(46px,10vh,86px);flex-basis:clamp(46px,10vh,86px)}.game-canvas .spire-node-orb{width:72%;height:72%}.game-canvas .spire-node-label{font-size:clamp(8px,.7vw,11px)}.game-canvas .spire-node-bar{width:78%}.game-canvas .own-badge-slot{flex:0 1 clamp(130px,20vw,300px);min-width:0}.game-canvas .hand-slot{flex:1 1 auto;min-width:0;overflow:hidden}.game-canvas .action-slot{flex:0 1 clamp(150px,17vw,210px);min-width:0}.game-canvas .panel-body .action-list{gap:5px}.game-canvas .action-btn{font-size:clamp(9px,.7vw,11.5px);padding:5px 7px}.game-canvas button.end-turn{padding:clamp(8px,1.3vh,13px) 10px!important;font-size:clamp(11px,.9vw,14px)!important}@media(orientation:landscape)and (max-height:520px){:root{--battle-top-h: 54px;--battle-bottom-h: 138px}.game-canvas .faction-badge{min-width:0;padding:4px 7px;gap:5px}.game-canvas .fb-trait{display:none}.game-canvas .fb-name{font-size:11px}.game-canvas .fb-hp{width:30px;height:30px}.game-canvas .fb-hp b,.game-canvas .brand{font-size:13px}.game-canvas .brand em{display:none}.game-canvas .main-area{padding:6px 8px}.game-canvas .side-panel{gap:5px}.game-canvas .panel-title,.game-canvas .panel-body{padding:4px 6px}.game-canvas .info-row{font-size:9px;padding:1px 0}.game-canvas .bottom-bar{padding-bottom:6px}}.game-canvas .battlefield-board{flex:1 1 auto;min-height:0;width:100%;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(5px,1vh,12px)}.game-canvas .battlefield-board>.lane{min-height:0;height:100%;display:flex;align-items:stretch}.game-canvas .battlefield-board>.lane .row{flex:0 0 auto;min-height:0;height:100%;display:flex;width:-moz-max-content;width:max-content;max-width:100%;margin-inline:auto;justify-content:flex-start;align-items:center;gap:18px;overflow:visible}.game-canvas .battlefield-board>.lane .slot{flex:0 0 auto;width:auto;height:clamp(90px,min(26vh,12vw),160px);max-height:none;min-height:0;aspect-ratio:104 / 148;align-self:center}.game-canvas .battlefield-board>.lane .spire-node{flex:0 0 clamp(78px,12vh,120px);width:clamp(78px,12vh,120px);height:clamp(128px,24vh,200px);align-self:center}.game-canvas{background:linear-gradient(180deg,#070b0f61,#05080bad),radial-gradient(ellipse at 50% 42%,#0814190a,#03060985 88%),var(--battle-scene-image, url(/battle/GS-BATTLE-BACKGROUND-001.webp)) center / cover no-repeat}.game-canvas>.top-bar{position:relative;background:linear-gradient(180deg,#080c0fc7,#080b0eeb);border-bottom-color:#9f7a4d57;box-shadow:0 8px 28px #00000040}.game-canvas>.top-bar:after{content:"";position:absolute;inset:auto 25% -1px;height:1px;background:linear-gradient(90deg,transparent,rgba(64,193,212,.6),rgba(226,143,72,.6),transparent);pointer-events:none}.game-canvas>.main-area{background:linear-gradient(90deg,rgba(4,9,12,.24),transparent 18%,transparent 82%,rgba(4,9,12,.24))}.game-canvas .side-panel{position:relative}.game-canvas .side-panel.left{--panel-accent: 199, 126, 67}.game-canvas .side-panel.right{--panel-accent: 65, 173, 194}.game-canvas .side-panel .panel,.game-canvas .side-panel>.mana-pool,.game-canvas .side-panel>.connection-status,.game-canvas .side-panel>.feedback-bar,.game-canvas .side-panel>.selection-hint{background:linear-gradient(145deg,rgba(var(--panel-accent),.09),#090e12d6 27%,#070c10e0);border:1px solid rgba(var(--panel-accent),.38);box-shadow:inset 0 0 0 1px #c8dce10b,0 8px 22px #00000038}.game-canvas .side-panel .panel{position:relative}.game-canvas .side-panel .panel:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(var(--panel-accent),.1);border-radius:4px;pointer-events:none}.game-canvas .panel-title{display:flex;align-items:center;gap:7px;color:#c6d1d4;background:linear-gradient(90deg,rgba(var(--panel-accent),.17),#0b101375);border-bottom:1px solid rgba(var(--panel-accent),.3)}.game-canvas .panel-title:after{content:"";height:1px;flex:1 1 auto;margin-left:2px;background:linear-gradient(90deg,rgba(var(--panel-accent),.45),transparent)}.game-canvas .panel-title-icon{display:inline-flex;color:rgb(var(--panel-accent));filter:drop-shadow(0 0 5px rgba(var(--panel-accent),.3))}.game-canvas .info-row:not(:last-child){border-bottom:1px solid rgba(156,181,187,.08)}.game-canvas>.bottom-bar{background:linear-gradient(180deg,#080b0e14,#06090cd6 48%);border-top-color:#b97d4547}@media(orientation:landscape)and (max-height:520px){.game-canvas>.top-bar{gap:4px;padding-inline:6px;overflow:visible}.game-canvas>.top-bar .top-left{flex:0 0 auto;min-width:0}.game-canvas>.top-bar .top-center{flex:1 1 auto;min-width:58px}.game-canvas>.top-bar .top-right{flex:0 0 auto}.game-canvas .turn-group{gap:4px;flex-wrap:nowrap}.game-canvas .turn-banner,.game-canvas .ebb-badge,.game-canvas .turn-label,.game-canvas .turn-phase,.game-canvas .ebb-label,.game-canvas .ebb-unit{white-space:nowrap}.game-canvas .turn-banner{padding:4px 7px;gap:5px}.game-canvas .ebb-badge{padding:4px 7px;gap:4px}.game-canvas .turn-label,.game-canvas .ebb-label{font-size:9px}.game-canvas .turn-num,.game-canvas .ebb-badge b{font-size:16px}.game-canvas .turn-phase{font-size:10px}.game-canvas .ebb-unit{font-size:9px}.game-canvas .battlefield-board .slot.filled .card-name{font-size:8px}}.game-canvas .top-left,.game-canvas .top-center,.game-canvas .top-right{flex:1 1 0;min-width:0}.game-canvas .top-left{display:flex;justify-content:flex-start}.game-canvas .top-center{justify-content:center}.game-canvas .top-right{justify-content:flex-end}.game-canvas .faction-badge.enemy{flex-direction:row-reverse}.game-canvas .battlefield{height:100%;min-height:0;justify-content:space-between}.game-canvas .lanes{flex:1 1 auto;min-height:0;justify-content:space-between}.game-canvas .lane{flex:0 0 auto}.game-canvas .hand,.game-canvas .action-list,.game-canvas .log.inline{scrollbar-width:thin;scrollbar-color:#657986 #141c22}.game-canvas .hand::-webkit-scrollbar,.game-canvas .action-list::-webkit-scrollbar,.game-canvas .log.inline::-webkit-scrollbar{width:8px;height:8px}.game-canvas .hand::-webkit-scrollbar-track,.game-canvas .action-list::-webkit-scrollbar-track,.game-canvas .log.inline::-webkit-scrollbar-track{background:#141c22;border-radius:4px}.game-canvas .hand::-webkit-scrollbar-thumb,.game-canvas .action-list::-webkit-scrollbar-thumb,.game-canvas .log.inline::-webkit-scrollbar-thumb{background:#657986;border:1px solid #141c22;border-radius:4px}.game-canvas .hand::-webkit-scrollbar-thumb:hover,.game-canvas .action-list::-webkit-scrollbar-thumb:hover,.game-canvas .log.inline::-webkit-scrollbar-thumb:hover{background:#91a6b2}.game-canvas .hand .card-face,.game-canvas .battlefield-board .slot.filled .unit-card-layout{background-color:transparent!important;background-image:none!important}.game-canvas .hand .card-face>.card-background,.game-canvas .unit-card-layout>.card-background{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:0!important;display:block!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important;background-color:transparent!important;pointer-events:none!important}.game-canvas .hand .card-art,.game-canvas .unit-card-layout>.card-art{position:relative!important;z-index:1!important;display:block!important;flex:1 1 auto!important;min-height:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;pointer-events:none!important}.game-canvas .unit-card-layout>.card-cost,.game-canvas .unit-card-layout>.card-effects,.game-canvas .unit-card-layout>.card-status,.game-canvas .unit-card-layout>.card-nameplate,.game-canvas .unit-card-layout>.card-footer,.game-canvas .hand .card-face>.card-cost,.game-canvas .hand .card-face>.card-nameplate,.game-canvas .hand .card-face>.card-order-footer{position:relative;z-index:2}.game-canvas .hand .card-face>.card-cost{position:absolute!important;top:5px!important;left:5px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:23px!important;height:23px!important;min-width:0!important;padding:0!important;border-radius:3px!important;font-size:12px!important;font-weight:700!important;line-height:normal!important;z-index:3!important;transform:rotate(45deg)!important}.game-canvas .hand .card-face>.card-cost>span{display:block!important;transform:rotate(-45deg)!important}.game-canvas .unit-card-layout>.card-cost{position:absolute!important;top:5px!important;left:5px!important;z-index:3!important}.game-canvas .unit-card-layout>.card-effects{position:absolute!important;top:4px!important;right:4px!important;z-index:3!important}.game-canvas .unit-card-layout>.card-status{position:absolute!important;left:3px!important;bottom:53px!important;z-index:3!important}.game-canvas .battlefield-board .slot.filled .unit-card-layout{padding:0!important;border:0!important;box-shadow:none!important}.game-canvas .battlefield-board .slot.filled .unit-card-layout>.card-nameplate,.game-canvas .battlefield-board .slot.filled .unit-card-layout>.card-footer,.game-canvas .hand .card-face>.card-order-footer{background-color:#04090c94!important}.game-canvas .hand .card-face>.card-order-footer{position:static!important}.game-canvas .hand .card-face>.card-order-footer>.card-type{position:absolute!important;top:4px!important;right:4px!important;z-index:3!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:22px!important;border:1px solid rgba(var(--card-accent),.62)!important;border-radius:3px!important;background:#060c10e6!important;color:rgba(var(--card-accent),.95)!important;font-size:0!important;line-height:1!important;box-shadow:inset 0 0 6px rgba(var(--card-accent),.17)!important}.game-canvas .hand .card-face>.card-order-footer>.card-type svg{width:13px!important;height:13px!important}.game-canvas .battlefield-board>.lane .spire-node{width:clamp(112px,16vh,136px)!important;height:clamp(168px,28vh,200px)!important;flex:0 0 clamp(112px,16vh,136px)!important;align-self:center!important}.game-canvas .slot{overflow:hidden;border-width:0px;background-color:transparent;padding:0}.game-canvas .slot-content{position:relative;z-index:1;display:flex;height:100%;min-height:88px;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:1rem 1rem .75rem}.game-canvas .slot.targetable:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;border-radius:10px}.game-canvas .slot.targetable:not(.selected-attacker):after{background:radial-gradient(ellipse at center,rgba(193,116,58,.16),transparent 72%);box-shadow:inset 0 0 0 2px var(--accent)}.game-canvas .unit{position:relative;min-height:74px;width:100%;overflow:visible;border-radius:.5rem;padding:0}.game-canvas .unit-face{position:relative;z-index:1;height:100%;margin:5px 5px 4px;padding:11px 10px 8px;border-radius:6px;background:#101418e6;border:1px solid rgba(120,100,80,.42);display:flex;flex-direction:column;overflow:hidden}.game-canvas .unit-frame{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:url(/ui/GS-UI-CARD-FRAME-001.webp) center / 100% 100% no-repeat;opacity:.72}.game-canvas .unit>.unit-face{z-index:1}.game-canvas .unit>.unit-owner{z-index:2}.game-canvas .unit-top{display:flex;align-items:baseline;gap:6px;justify-content:space-between}.game-canvas .unit-name{font-size:11.5px;font-weight:500;color:#e6ecef;text-shadow:0 1px 3px rgba(0,0,0,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-canvas .unit-stats{font-size:12px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.9);flex:0 0 auto}.game-canvas .unit-stats .damaged{color:#ef8878}.game-canvas .unit-kw{display:flex;gap:3px;flex-wrap:wrap}.game-canvas .ui-redesign .battle-action-feedback{min-height:28px;margin:0 0 2px;padding:6px 11px;border:1px solid rgba(111,136,148,.34);border-radius:7px;background:#090e1294;color:#adbdc6;font-size:11px;line-height:1.35;text-align:center}.game-canvas button.slot,.game-canvas button.spire-node,.game-canvas button.card{color:inherit;font:inherit;text-align:inherit}.game-canvas button.slot:disabled,.game-canvas button.spire-node:disabled{opacity:1;cursor:default}.game-canvas button.slot{-webkit-appearance:none;-moz-appearance:none;appearance:none}.game-canvas .slot.selected-attacker{z-index:3;transform:translateY(-5px) scale(1.025)}.game-canvas .slot.selected-attacker:after{display:none}.game-canvas .slot.targetable:focus-visible,.game-canvas .spire-node.targetable:focus-visible{outline:3px solid #f1bc7d;outline-offset:3px}.game-canvas .spire-node{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.game-canvas .spire-node.targetable:hover{transform:scale(1.04)}.game-canvas button.card:focus-visible{outline:3px solid #f1bc7d;outline-offset:3px;z-index:50}.game-canvas button.card:disabled{cursor:not-allowed}.game-canvas .battlefield-board>.lane .spire-node{position:relative;width:clamp(78px,12vh,120px);height:clamp(128px,24vh,200px);flex-basis:clamp(78px,12vh,120px);border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.game-canvas .spire-node-orb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-position:center bottom;background-size:cover;background-repeat:no-repeat;background-color:transparent;filter:drop-shadow(0 8px 10px rgba(0,0,0,.54))}.game-canvas .spire-node.enemy .spire-node-orb{background-image:url(/battle/GS-UI-SPIRE-ORB-ENEMY-001.webp)}.game-canvas .spire-node.own .spire-node-orb{background-image:url(/battle/GS-UI-SPIRE-ORB-OWN-001.webp)}.game-canvas .spire-node.targetable .spire-node-orb{filter:drop-shadow(0 0 8px rgba(233,91,70,.82)) drop-shadow(0 8px 10px rgba(0,0,0,.54))}.game-canvas .spire-node-vitals{position:absolute;left:50%;bottom:7%;display:flex;align-items:center;gap:3px;transform:translate(-50%)}.game-canvas .spire-node-vitals>span{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:30px;padding:3px 5px;border:1px solid currentColor;border-radius:999px;background:#04080ae6;color:#d7f5ff;font-size:clamp(10px,.95vw,14px);font-weight:700;line-height:1;text-align:center;text-shadow:0 1px 4px #000;box-shadow:0 2px 7px #0009}.game-canvas .spire-node.own .spire-node-hp{color:#ffe1ae}.game-canvas .spire-node-vitals .spire-node-armor{color:#bdd7e4}.game-canvas .spire-node-vitals .spire-node-armor.empty{color:#829096;opacity:.65}.game-canvas .spire-node-orb svg{display:none}.game-canvas .slot-content{text-shadow:0 1px 3px rgba(0,0,0,.72)}.game-canvas .battlefield-board .slot.filled{--card-accent: 203, 145, 81;padding:4px;border:1px solid rgba(var(--card-accent),.6);border-radius:8px;background:linear-gradient(160deg,rgba(var(--card-accent),.2),#090e12f5 35%);box-shadow:inset 0 0 0 2px #06090be6,0 7px 18px #00000057}.game-canvas .battlefield-board .slot.filled.selected-attacker{border:2px solid #ffe0a3;background:linear-gradient(160deg,#ffcf7d61,#1b140dfa 42%);box-shadow:inset 0 0 0 2px #190f07e6,0 0 0 2px #ffcf7d8c,0 0 20px #ffae4ab8}.game-canvas .battlefield-board .lane.enemy .slot.filled{--card-accent: 75, 168, 191}.game-canvas .battlefield-board .slot.filled .slot-content{padding:0}.game-canvas .battlefield-board .slot.filled .unit{width:100%;height:100%;min-height:0}.game-canvas .battlefield-board .slot.filled .unit-card-layout{padding:2px;border:1px solid rgba(var(--card-accent),.3);background:#080e11ed}.game-canvas .battlefield-board .slot.filled .card-nameplate{flex-basis:clamp(18px,3vh,25px)}.game-canvas .battlefield-board .slot.filled .card-footer{flex-basis:clamp(17px,2.8vh,23px)}.game-canvas .battlefield-board .slot.filled .card-stat{width:clamp(23px,3vh,28px);height:100%;gap:1px;font-size:clamp(10px,1.4vh,12px)}.game-canvas .battlefield-board .slot.filled .card-stat svg{width:clamp(8px,1.2vh,10px);height:clamp(8px,1.2vh,10px)}.game-canvas .battlefield-board .slot.filled .card-cost{top:3px;left:3px;width:clamp(17px,3vh,23px);height:clamp(17px,3vh,23px);font-size:clamp(9px,1.5vh,12px)}.game-canvas .battlefield-board .slot.filled .card-effects{top:2px;right:2px}.game-canvas .battlefield-board .slot.filled .card-effect{width:clamp(17px,3vh,22px);height:clamp(17px,3vh,22px)}.game-canvas .battlefield-board .slot.filled .card-effect svg{width:clamp(9px,1.5vh,13px);height:clamp(9px,1.5vh,13px)}.game-canvas .battlefield-board .slot.filled .card-name{font-size:clamp(9px,1.5vh,11px)}.game-canvas .battlefield-board .slot.filled .card-status{bottom:clamp(36px,5.8vh,48px);font-size:7px}.game-canvas .battlefield-board .slot.filled .card-footer-mark{display:none}.game-canvas .battlefield-board .slot.filled .unit-inactive .card-art{filter:saturate(.35) brightness(.5)}.game-canvas .battlefield-board .slot.filled .unit-inactive{opacity:.7}.game-canvas .battlefield-board .slot.filled .unit-selected .unit-card-layout{box-shadow:0 0 0 1px #f5b86af2,0 0 18px #f5973e75}@media(orientation:landscape)and (max-height:520px){.game-canvas .battlefield-board .slot.filled .card-name{font-size:8px}}.game-canvas .hand .card.type-unit{--card-accent: 204, 143, 75;--card-deep: 39, 27, 19}.game-canvas .hand .card.type-order{--card-accent: 74, 178, 200;--card-deep: 14, 33, 40}.game-canvas .hand .card.type-counter{--card-accent: 177, 135, 199;--card-deep: 34, 23, 43}.game-canvas .hand .card{background:linear-gradient(160deg,rgba(var(--card-accent),.2),rgba(var(--card-deep),.92) 28%,#090e12f5);border:1px solid rgba(var(--card-accent),.48);border-radius:8px;box-shadow:inset 0 0 0 2px #06090be6,inset 0 1px rgba(var(--card-accent),.22),0 7px 18px #00000057}.game-canvas .hand .card-frame{top:3px;right:3px;bottom:3px;left:3px;background:none;border:1px solid rgba(var(--card-accent),.28);border-radius:5px;opacity:1;filter:none!important}.game-canvas .hand .card-frame:before{content:"";position:absolute;inset:0 22% auto;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--card-accent),.85),transparent);box-shadow:0 0 6px rgba(var(--card-accent),.4)}.game-canvas .hand .card-frame:after{content:"";position:absolute;left:50%;bottom:3px;width:5px;height:5px;border:1px solid rgba(var(--card-accent),.7);background:rgba(var(--card-accent),.24);transform:translate(-50%) rotate(45deg)}.game-canvas .hand .card-face{margin:5px;padding:17px 7px 7px;border:0;border-radius:3px;background:linear-gradient(165deg,rgba(var(--card-accent),.1),#0c1216bd 46%,#080c0fe0)}.game-canvas .hand .card.type-order .card-face{background:linear-gradient(160deg,#1c525d61,#09161ddb 54%,#070e13eb)}.game-canvas .hand .card.type-counter .card-face{background:linear-gradient(160deg,#4a2f575e,#160f1edb 54%,#0c0a13eb)}.game-canvas .hand .card.selected{border-color:rgb(var(--card-accent));box-shadow:inset 0 0 0 2px #06090be6,0 0 20px rgba(var(--card-accent),.6)}.game-canvas .hand .card.selected:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid rgb(var(--card-accent));border-radius:10px;pointer-events:none;z-index:-1}.game-canvas .hand .card-cost{background:radial-gradient(circle at 50% 30%,rgba(var(--card-accent),1),rgba(var(--card-accent),.55));border-color:rgba(var(--card-accent),.9);color:#0a1114;filter:none}.game-canvas .hand .card-name{padding-right:8px;color:#f2f0e9}.game-canvas .hand .card-type,.game-canvas .hand .card-meta{display:flex;align-items:center;gap:4px;color:rgba(var(--card-accent),.9)}.game-canvas .hand .card-stat,.game-canvas .unit-stat{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.game-canvas .hand .card-stat.attack,.game-canvas .unit-stat.attack{color:#e6b27b}.game-canvas .hand .card-stat.health,.game-canvas .unit-stat.health{color:#e5a092}.game-canvas .hand .card-range{margin-left:auto;color:#a1b1b9;white-space:nowrap}.game-canvas .hand .card-text{color:#c2d2d7}.game-canvas .hand .card.type-unit .card-text{color:#d6c3aa}.game-canvas .hand .card .kw{border:1px solid rgba(var(--card-accent),.32);border-radius:3px;background:rgba(var(--card-accent),.1);color:#c9d5d8}.game-canvas .unit-stats{display:inline-flex;align-items:center;gap:5px}.game-canvas .unit-stat small{color:#a7b4b9;font-size:.8em}.game-canvas .unit .kw.ward{display:inline-flex;align-items:center;gap:2px;color:#a6d8e3}.game-canvas .hand .card-face{position:absolute;top:4px;right:4px;bottom:4px;left:4px;width:auto;height:auto;margin:0;padding:2px;display:flex;flex-direction:column;overflow:hidden}.game-canvas .hand .card-art,.game-canvas .unit-art{display:block;flex:1 1 auto;min-height:0;border:1px solid rgba(var(--card-accent),.28);border-radius:2px 2px 0 0;background:linear-gradient(180deg,#060a0c0a,#060a0c2e);background-position:center;background-size:cover;background-repeat:no-repeat;background-color:transparent;box-shadow:inset 0 0 18px #00000080}.game-canvas .hand .card-face{background-color:transparent;background-position:center center;background-size:cover;background-repeat:no-repeat}.game-canvas .hand .card-face>.card-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;background-color:#10191d}.game-canvas .hand .card-cost{top:5px;left:5px;width:23px;height:23px;min-width:0;padding:0;border-radius:3px;transform:rotate(45deg);box-shadow:inset 0 0 0 2px #070b0ea6,0 2px 5px #000}.game-canvas .hand .card-cost>span{transform:rotate(-45deg)}.game-canvas .hand .card-nameplate{display:flex;flex:0 0 27px;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:2px 2px 1px;border-block:1px solid rgba(var(--card-accent),.38);background:#050a0d94}.game-canvas .hand .card-name{display:block;max-width:100%;margin:0;padding:0;color:#e8dfd1;font-size:clamp(9px,.75vw,12px);font-weight:600;line-height:1.1;text-align:center;text-overflow:ellipsis}.game-canvas .hand .card-footer{display:flex;flex:0 0 24px;align-items:center;justify-content:space-between;gap:2px;background:#04080b9e}.game-canvas .hand .card-footer .card-stat{width:29px;height:23px;justify-content:center;gap:2px;border:1px solid currentColor;border-radius:0 0 7px 7px;background:#080f13f0;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 8px rgba(var(--card-accent),.15)}.game-canvas .hand .card-footer .card-stat svg{width:11px;height:11px}.game-canvas .hand .card-footer-mark{display:inline-flex;color:rgba(var(--card-accent),.7)}.game-canvas .hand .card-order-footer{display:flex;flex:0 0 38px;flex-direction:column;justify-content:center;gap:1px;padding:2px 4px;overflow:hidden;background:#04090d94}.game-canvas .hand .card-order-footer .card-type{font-size:9px;line-height:1}.game-canvas .hand .card-order-footer .card-text{display:-webkit-box;overflow:hidden;font-size:9px;line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:2}.game-canvas .battlefield-board .unit{--card-accent: 203, 145, 81}.game-canvas .battlefield-board .lane.enemy .unit{--card-accent: 75, 168, 191}.game-canvas .battlefield-board .unit-frame{opacity:.5}.game-canvas .battlefield-board .unit-nameplate{display:flex;flex:0 0 24px;flex-direction:column;align-items:center;justify-content:center;min-width:0;border-block:1px solid rgba(var(--card-accent),.3);background:#04090ce6}.game-canvas .battlefield-board .unit-name{display:block;max-width:100%;color:#e5e4dd;font-size:10px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-canvas .battlefield-board .unit-kw{display:flex;flex-wrap:nowrap;justify-content:center;max-width:100%;overflow:hidden;white-space:nowrap}.game-canvas .battlefield-board .unit-kw .kw{flex:0 0 auto;padding:0 2px;border:0;background:none;font-size:7px;line-height:1}.game-canvas .battlefield-board .unit-stats{display:flex;flex:0 0 20px;align-items:center;justify-content:space-between;gap:2px;font-size:10px}.game-canvas .battlefield-board .unit-stat{gap:1px}.game-canvas .battlefield-board .unit-stat svg{width:9px;height:9px}.game-canvas .battlefield-board .unit-stat small{display:none}@media(orientation:landscape)and (max-height:520px){.game-canvas .battlefield-board .unit-face{padding:4px 2px 2px}.game-canvas .battlefield-board .unit-nameplate{flex-basis:14px}.game-canvas .battlefield-board .unit-name{font-size:7px}.game-canvas .battlefield-board .unit-kw{display:none}.game-canvas .battlefield-board .unit-stats{flex-basis:16px;flex-direction:row;justify-content:space-between;font-size:8px}.game-canvas .battlefield-board .unit-stat svg{display:none}}.game-canvas .hand .card{position:relative;width:auto;height:clamp(108px,18vh,148px);aspect-ratio:104 / 148;flex:0 0 auto;margin:0;padding:0;overflow:visible;transform:none;transform-origin:center;transition:transform .16s cubic-bezier(.34,1.3,.64,1),box-shadow .16s}.game-canvas .hand .card:hover{transform:translateY(-6px);z-index:30}.game-canvas .hand .card.selected{transform:translateY(-10px);z-index:40}@media(orientation:landscape)and (max-height:520px){.game-canvas .hand{padding-bottom:6px}}.game-canvas .side-panel.right>.mana-pool{min-height:44px;width:100%;flex:none;justify-content:space-between}.game-canvas .side-panel.right .mana-crystal{height:13px;width:.5rem}.game-canvas .actions>.mana-pool{min-height:2.5rem;flex:none;justify-content:space-between}.game-canvas .card-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;background-color:#10191d}.game-canvas .unit-card-layout>:not(.card-background),.game-canvas .card-face>:not(.card-background){position:relative;z-index:1}.game-canvas .unit-card-layout .card-art{display:block;flex:1 1 auto;min-height:0;border:1px solid rgba(var(--card-accent),.28);border-radius:2px 2px 0 0;background:linear-gradient(180deg,#060a0c05,#060a0c14);box-shadow:inset 0 0 18px #00000080;background-position:center center;background-size:cover;background-repeat:no-repeat;background-color:#10191d}.game-canvas .unit-card-layout .card-cost{position:absolute;z-index:2;top:5px;left:5px;display:flex;align-items:center;justify-content:center;width:23px;height:23px;min-width:0;padding:0;border:1px solid rgba(var(--card-accent),.9);border-radius:3px;background:radial-gradient(circle at 50% 30%,rgba(var(--card-accent),1),rgba(var(--card-accent),.55));color:#0a1114;font-size:12px;font-weight:700;transform:rotate(45deg);box-shadow:inset 0 0 0 2px #070b0ea6,0 2px 5px #000}.game-canvas .unit-card-layout .card-cost>span{transform:rotate(-45deg)}.game-canvas .unit-card-layout .card-effects{position:absolute;z-index:2;top:4px;right:4px;display:flex;flex-direction:column;gap:2px}.game-canvas .unit-card-layout .card-effect{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid rgba(var(--card-accent),.62);border-radius:3px;background:#060c10e6;color:rgba(var(--card-accent),.95);box-shadow:inset 0 0 6px rgba(var(--card-accent),.17)}.game-canvas .unit-card-layout .card-nameplate{display:flex;flex:0 0 22px;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:2px 2px 1px;border-block:1px solid rgba(var(--card-accent),.38);background:#050a0d94}.game-canvas .unit-card-layout .card-name{display:block;max-width:100%;margin:0;padding:0;overflow:hidden;color:#e8dfd1;font-size:clamp(9px,.75vw,12px);font-weight:600;line-height:1.1;white-space:nowrap;text-overflow:ellipsis}.game-canvas .unit-card-layout .card-footer{display:flex;flex:0 0 24px;align-items:center;justify-content:space-between;gap:2px;background:#04080b9e}.game-canvas .unit-card-layout .card-stat{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:29px;height:23px;border:1px solid currentColor;border-radius:0 0 7px 7px;background:#080f13f0;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.game-canvas .unit-card-layout .card-stat.attack{color:#e6b27b}.game-canvas .unit-card-layout .card-stat.health{color:#e5a092}.game-canvas .unit-card-layout .card-stat.health.damaged{color:#f36c61}.game-canvas .unit-card-layout .card-stat svg{width:11px;height:11px}.game-canvas .unit-card-layout .card-footer-mark{display:inline-flex;color:rgba(var(--card-accent),.7)}.game-canvas .unit-card-layout .card-status{position:absolute;left:3px;bottom:53px;max-width:calc(100% - 6px);padding:1px 3px;overflow:hidden;border:1px solid rgba(var(--card-accent),.4);background:#050a0de0;color:#ded5c8;font-size:8px;line-height:1.1;white-space:nowrap;text-overflow:ellipsis}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.z-\[1\]{z-index:1}.z-\[210\]{z-index:210}.z-\[220\]{z-index:220}.z-\[230\]{z-index:230}.z-\[50\]{z-index:50}.m-0{margin:0}.mx-\[30px\]{margin-left:30px;margin-right:30px}.my-px{margin-top:1px;margin-bottom:1px}.mb-2\.5{margin-bottom:.625rem}.mb-5{margin-bottom:1.25rem}.mb-\[22px\]{margin-bottom:22px}.mb-\[3px\]{margin-bottom:3px}.mt-6{margin-top:1.5rem}.mt-\[17px\]{margin-top:17px}.mt-\[7px\]{margin-top:7px}.mt-auto{margin-top:auto}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-auto{height:auto}.h-full{height:100%}.max-h-\[98px\]{max-height:98px}.max-h-\[min\(820px\,calc\(100svh-36px\)\)\]{max-height:min(820px,calc(100svh - 36px))}.min-h-0{min-height:0px}.min-h-\[88px\]{min-height:88px}.w-\[98px\]{width:98px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-\[380px\]{max-width:380px}.max-w-\[390px\]{max-width:390px}.max-w-\[420px\]{max-width:420px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.grow{flex-grow:1}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-\[10px\]{gap:10px}.gap-\[11px\]{gap:11px}.gap-\[18px\]{gap:18px}.gap-\[9px\]{gap:9px}.gap-\[clamp\(6px\,0\.8vw\,12px\)\]{gap:clamp(6px,.8vw,12px)}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-0{border-width:0px}.border-\[\#3d4d57\]{--tw-border-opacity: 1;border-color:rgb(61 77 87 / var(--tw-border-opacity, 1))}.border-\[\#41684c\]{--tw-border-opacity: 1;border-color:rgb(65 104 76 / var(--tw-border-opacity, 1))}.border-\[\#6b4326\]{--tw-border-opacity: 1;border-color:rgb(107 67 38 / var(--tw-border-opacity, 1))}.border-\[\#783f3b\]{--tw-border-opacity: 1;border-color:rgb(120 63 59 / var(--tw-border-opacity, 1))}.border-\[var\(--line\)\]{border-color:var(--line)}.bg-\[\#10191d\]{--tw-bg-opacity: 1;background-color:rgb(16 25 29 / var(--tw-bg-opacity, 1))}.bg-\[rgba\(20\,52\,32\,0\.92\)\]{background-color:#143420eb}.bg-\[rgba\(22\,33\,41\,0\.92\)\]{background-color:#162129eb}.bg-\[rgba\(32\,23\,16\,0\.9\)\]{background-color:#201710e6}.bg-\[rgba\(61\,26\,25\,0\.92\)\]{background-color:#3d1a19eb}.bg-\[rgba\(8\,10\,12\,\.85\)\]{background-color:#080a0cd9}.bg-\[var\(--panel\)\]{background-color:var(--panel)}.bg-transparent{background-color:transparent}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-\[18px\]{padding:18px}.p-\[25px\]{padding:25px}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[11px\]{padding-left:11px;padding-right:11px}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[11px\]{padding-top:11px;padding-bottom:11px}.py-\[9px\]{padding-top:9px;padding-bottom:9px}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-\[22px\]{padding-bottom:22px}.pl-\[9px\]{padding-left:9px}.pt-4{padding-top:1rem}.pt-\[10px\]{padding-top:10px}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[17px\]{font-size:17px}.text-\[26px\]{font-size:26px}.text-\[clamp\(10px\,0\.75vw\,11\.5px\)\]{font-size:clamp(10px,.75vw,11.5px)}.text-\[clamp\(30px\,5vw\,46px\)\]{font-size:clamp(30px,5vw,46px)}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.15\]{line-height:1.15}.leading-\[1\.45\]{line-height:1.45}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.tracking-\[\.08em\]{letter-spacing:.08em}.tracking-\[\.2em\]{letter-spacing:.2em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.38em\]{letter-spacing:.38em}.text-\[\#7d8891\]{--tw-text-opacity: 1;color:rgb(125 136 145 / var(--tw-text-opacity, 1))}.text-\[\#9daab2\]{--tw-text-opacity: 1;color:rgb(157 170 178 / var(--tw-text-opacity, 1))}.text-\[\#b88a61\]{--tw-text-opacity: 1;color:rgb(184 138 97 / var(--tw-text-opacity, 1))}.text-\[\#b9d7a6\]{--tw-text-opacity: 1;color:rgb(185 215 166 / var(--tw-text-opacity, 1))}.text-\[\#c3d0d6\]{--tw-text-opacity: 1;color:rgb(195 208 214 / var(--tw-text-opacity, 1))}.text-\[\#d9b185\]{--tw-text-opacity: 1;color:rgb(217 177 133 / var(--tw-text-opacity, 1))}.text-\[\#efd3b2\]{--tw-text-opacity: 1;color:rgb(239 211 178 / var(--tw-text-opacity, 1))}.text-\[\#f0aaa2\]{--tw-text-opacity: 1;color:rgb(240 170 162 / var(--tw-text-opacity, 1))}.text-\[\#f2f0e9\]{--tw-text-opacity: 1;color:rgb(242 240 233 / var(--tw-text-opacity, 1))}.text-\[var\(--muted\)\]{color:var(--muted)}.drop-shadow-\[0_8px_22px_rgba\(0\,0\,0\,0\.55\)\]{--tw-drop-shadow: drop-shadow(0 8px 22px rgba(0,0,0,.55));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\[scrollbar-color\:\#47525b_transparent\]{scrollbar-color:#47525b transparent}.\[scrollbar-width\:thin\]{scrollbar-width:thin}@media(max-width:760px){.max-\[760px\]\:max-h-\[calc\(100svh-20px\)\]{max-height:calc(100svh - 20px)}.max-\[760px\]\:p-2\.5{padding:.625rem}}.\[\&\>\*\]\:flex-none>*{flex:none}
