:root{--ink:#070808;--ink-deep:#030404;--panel:#101212;--panel-light:#191c1b;--gold:#d3b078;--charge-fill:linear-gradient(90deg,#bd8c40,#ffe5a1);--charge-track:#ffe1a024;--charge-divider:#352816cc;--gold-light:#f2d5a1;--paper:#e8d5ad;--muted:#9c9f98;--white:#f5efe2;--red:#a3392d;--red-light:#ee9e7d;--line:rgba(218,189,138,0.18);--card-paper:#f0e2c5;--card-paper-shade:#e2cca0;--card-ink:#30291e;--card-muted:#665b48;--card-label:#715025;--card-line:#b89c6a;--serif:"Noto Serif TC","Songti TC","PMingLiU",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Microsoft JhengHei,sans-serif;font-size:14px;line-height:1.6;background-image:radial-gradient(ellipse at 75% 15%,rgba(136,126,99,.025),transparent 50%),linear-gradient(130deg,rgba(255,255,255,.012),transparent 40%);min-height:100vh;min-height:100dvh}.site-footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:1440px;margin:16px auto 28px;padding:0 5%;color:var(--muted);font-size:10px;line-height:16px}.site-footer button{padding:4px;margin:-4px;border:0;background:none;color:var(--gold);font-size:inherit;line-height:inherit}.site-footer a{color:var(--muted);text-decoration:none;white-space:nowrap}.site-footer a:hover,.site-footer button:hover{color:var(--gold-light)}body:has(.online-lobby){display:flex;flex-direction:column}body:has(.online-lobby) .site-footer{max-width:920px;margin:8px auto 24px;padding-inline:24px}body:has(.draft-page){padding-bottom:132px}body:has(.battle-page)>.site-footer{display:none}.game-settings-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;line-height:1.6}.game-settings-footer button{border:0;padding:0;background:none;color:var(--gold);font-size:inherit}.game-settings-footer a{color:var(--muted);text-decoration:none}.game-settings-footer a:hover{color:var(--gold-light)}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.38}a:focus-visible,button:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}button{touch-action:manipulation}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:600}h1{font-size:32px;letter-spacing:.07em}h2{font-size:24px;line-height:1.5}h3{font-size:17px}.red{color:var(--red-light)}.black{color:var(--white)}.muted{color:var(--muted)!important}.full{width:100%}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;color:var(--gold);line-height:1.6}.mini-label{font-size:11px;letter-spacing:.08em;color:var(--muted)}.topbar{height:85px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:relative;z-index:5;background:rgba(5,6,6,.65)}.topbar.home-header{position:fixed;inset:0 0 auto;z-index:60;background:var(--ink);transition:opacity .18s ease,transform .18s ease}.home-header.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-100%)}.brand-button{border:0;padding:0;text-align:left}.brand,.brand-button{background:transparent}.brand{width:190px;aspect-ratio:3.8;overflow:hidden}.brand-image{display:block;width:100%;height:100%;object-fit:cover}.hero-logo{width:min(100%,520px);aspect-ratio:4.1;margin-bottom:30px;overflow:hidden;background:transparent}.hero-logo img{display:block;width:100%;height:100%;object-fit:cover}.brand-seal{font-size:18px;font-weight:900;width:38px;height:42px;color:var(--gold);border:1px solid var(--gold);display:grid;place-items:center;letter-spacing:0;line-height:1;writing-mode:vertical-rl}.brand-name,.brand-seal{font-family:var(--serif)}.brand-name{font-weight:700;font-size:23px;letter-spacing:.16em;display:block;line-height:1.35}.brand-en{font-size:7px;letter-spacing:.23em;color:var(--gold);display:block;margin-top:5px}.header-right{gap:34px}.header-right,.local-label{display:flex;align-items:center}.local-label{font-size:11px;letter-spacing:.08em;color:var(--muted);gap:8px}.autosave i,.local-label i{width:5px;height:5px;border-radius:50%;background:#96ad85;display:inline-block}.text-button{border:0;background:transparent;padding:7px 0;font-size:12px;color:var(--gold);white-space:nowrap}.text-button:hover{color:var(--gold-light)}.text-button span{margin-left:12px}.btn{border:1px solid var(--gold);padding:15px 23px;min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font-weight:600;letter-spacing:.07em;font-size:14px;transition:background .15s,transform .15s}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn.primary{background:var(--gold);color:#18231d;box-shadow:inset 0 0 0 3px rgba(24,35,29,.08)}.btn.primary:not(:disabled):hover{background:var(--gold-light)}.btn.secondary{background:transparent;color:var(--gold)}.btn.secondary:not(:disabled):hover{background:rgba(211,176,120,.08)}.btn.active-skill{background:rgba(211,176,120,.15);color:var(--gold-light)}.home{max-width:1530px;margin:auto;padding:62px 7% 0;display:grid;grid-template-columns:1fr 1fr;min-height:100svh;align-items:center;gap:40px}.hero-copy,.home{position:relative}.hero-copy{z-index:2;padding:12px 0 36px}.hero-copy>.eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:28px}.hero-copy>.eyebrow>span{width:25px;height:1px;background:var(--gold)}.hero-wordmark{font-family:var(--serif);font-weight:900;font-size:clamp(72px,8vw,122px);letter-spacing:.12em;line-height:1.13;color:var(--paper);text-shadow:0 4px 40px rgba(0,0,0,.2)}.hero-wordmark>span{display:block;position:relative}.title-seal{display:inline-grid;place-items:center;font-size:20px;font-weight:600;width:31px;height:53px;border:1px solid #9e4d3b;color:#d78f6b;writing-mode:vertical-rl;letter-spacing:.05em;vertical-align:middle;transform:rotate(5deg);margin-left:17px;text-shadow:none}.hero-en{color:var(--gold);letter-spacing:.36em;font-size:11px;margin:22px 0 29px}.hero-copy h1{font-size:21px;font-weight:500;letter-spacing:.08em;margin-bottom:10px}.hero-description{color:var(--muted);font-size:14px;letter-spacing:.04em}.hero-actions{display:flex;gap:13px;margin:30px 0 38px}.account-panel{margin-top:20px;padding:18px 20px;border:1px solid var(--line);background:var(--panel)}.account-panel p{font-size:12px;line-height:1.8;color:var(--muted)}.account-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}.account-return{position:fixed;z-index:120;left:50%;top:24px;transform:translateX(-50%);width:min(520px,calc(100% - 32px));padding:18px 24px;background:var(--panel);border:1px solid var(--gold);box-shadow:0 12px 40px #0008}.account-return p{line-height:1.8}.hero-actions .btn{min-width:161px}.hero-details{display:flex;gap:29px;color:var(--muted);font-size:10px}.hero-details>span{padding-right:26px;border-right:1px solid var(--line)}.hero-details>span:last-child{padding-right:0;border:0}.hero-details strong{display:block;font-family:var(--serif);font-size:25px;font-weight:400;color:var(--gold);line-height:1.3;margin-bottom:5px}.hero-art{position:relative;align-self:center;padding:28px 0 50px;max-width:540px;width:100%;perspective:1400px;filter:drop-shadow(15px 27px 30px rgba(0,0,0,.3))}.hero-art-label{font-family:var(--serif);font-size:13px;letter-spacing:.5em;position:absolute;right:-21px;top:50px;writing-mode:vertical-rl;color:var(--gold);opacity:.7}.hero-art .piece-hp{display:none}.hero-art .piece{width:78%;height:78%}.hero-art .piece-label{font-size:clamp(19px,3vw,35px)}.art-caption{position:absolute;bottom:9px;width:100%;letter-spacing:.15em;text-align:center}.art-caption,.home-footer{font-size:10px;color:var(--muted)}.home-footer{grid-column:1/-1;align-self:end;border-top:1px solid var(--line);display:flex;justify-content:space-between;letter-spacing:.12em;padding:20px 0;margin-top:16px}@media (min-width:761px){main.home{--home-top:clamp(20px,4svh,48px);padding-top:var(--home-top);row-gap:clamp(16px,2.5svh,28px);grid-template-rows:minmax(0,1fr) auto}.home .hero-art{width:min(100%,540px,max(280px,calc((100svh - 210px) * .9)));padding:20px 0 80px;justify-self:center}.home .hero-art .piece-label{font-size:clamp(16px,2.4vw,32px)}.home .home-footer{margin-top:0;padding-block:12px}}body:has(.battle-page[data-turn=red]),body:has(.draft-page[data-side=red]){--army-background:radial-gradient(ellipse at 50% 12%,#481426,#220c16 58%,#130b11);--army-panel:#21121b;background:var(--army-background)}body:has(.battle-page[data-turn=black]),body:has(.draft-page[data-side=black]){--army-background:radial-gradient(ellipse at 50% 12%,#0d3965,#071d38 58%,#040c1b);--army-panel:#091c33;background:var(--army-background)}.draft-page{max-width:1440px;padding:24px 5%;margin:auto}.draft-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}.draft-heading-actions,.draft-title{display:flex;align-items:center;gap:12px}.draft-round{color:var(--muted);font-size:11px;white-space:nowrap}.draft-heading-actions{margin-left:auto}.draft-hint{margin:0 0 12px;color:var(--muted);font-size:11px}.draft-heading h1{margin:0;display:flex;align-items:center;font-size:25px;white-space:nowrap}.draft-heading .side-dot{margin-right:8px}.side-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:14px;border:1px solid var(--gold)}.side-dot.red{background:var(--red);border-color:#d17c5f}.side-dot.black{background:#211f1c;border-color:#a59a87}.draft-counter{display:flex;align-items:baseline;gap:8px}.draft-counter strong{font-family:var(--serif);color:var(--gold);font-weight:400;font-size:25px}.draft-counter span{color:var(--muted);font-size:12px}.draft-rosters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.draft-rosters.has-random{grid-template-columns:repeat(3,minmax(0,1fr))}.draft-random-option{display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:left;cursor:pointer;color:var(--gold-light);font:inherit}.draft-random-option strong{display:flex;justify-content:space-between;gap:6px;font-size:12px}.draft-random-option small{color:var(--muted);font-size:10px}.draft-random-option:focus-visible,.draft-random-option:hover{border-color:var(--gold);background:#d3b0780e}.draft-rosters.has-random .roster-heading{flex-wrap:wrap;gap:4px}.draft-rosters.has-random .roster-heading small{display:none}.roster-progress{display:flex;gap:4px;margin-top:8px}.roster-progress span{flex:1 1;height:3px;background:#ffffff12}.roster-progress .is-filled{background:var(--gold)}.filter-count{margin-left:6px;font-size:10px;opacity:.7;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.draft-roster{min-width:0;padding:10px 12px;border:1px solid var(--line);background:#ffffff03}.draft-roster.is-active{border-color:#b8935c;background:#d3b07809}.roster-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px}.roster-heading strong{display:flex;align-items:center;gap:8px}.roster-heading .side-dot{margin-right:0}.roster-heading small,.roster-heading>span{font-size:10px;color:var(--muted);font-weight:400}.draft-roster.is-active small{color:var(--gold)}.draft-roster p{margin:9px 0 0;min-height:0;font-size:11px;line-height:1.8;color:var(--muted)}.draft-roster-details{margin-top:7px;font-size:10px;color:var(--muted)}.draft-roster-details summary{cursor:pointer;width:fit-content}.draft-roster-details summary:hover{color:var(--gold-light)}.draft-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;margin-bottom:16px}.filter-tabs{display:flex;gap:8px}.filter-tabs button{background:transparent;border:1px solid transparent;color:var(--muted);padding:7px 16px;font-size:12px}.filter-tabs button.active{background:rgba(211,176,120,.1);border-color:var(--line);color:var(--gold)}.draft-tools{display:flex;gap:25px}.draft-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.general-card{--card-start:var(--card-paper);--card-end:var(--card-paper-shade);position:relative;display:block;text-align:left;background:linear-gradient(135deg,var(--card-start),var(--card-end));border:1px solid var(--card-line);padding:17px;min-width:0;color:var(--card-ink);transition:border-color .2s,background .2s;overflow:hidden}.general-card:before{content:"";width:43px;height:43px;position:absolute;top:-22px;right:-22px;transform:rotate(45deg);border:1px solid var(--line);pointer-events:none}.general-card:not(:disabled):not(.chosen):hover{--card-start:#f8edd7;--card-end:#ead7b0;border-color:#715025}.general-card.chosen{--card-start:#e5d0a8;--card-end:#d8bb83;border-color:#8b3c2b;box-shadow:inset 0 0 0 2px #8b3c2b}.general-card.claimed:disabled{opacity:.65;filter:saturate(.5)}.general-card.claimed-red{border-top:3px solid #9d3325}.general-card.claimed-black{border-top:3px solid #35443e}.general-card.claimed .card-check{font-weight:600}.general-figure{--figure-main:#7c8977;--figure-deep:#344239;--figure-light:#c1c9b3;position:relative;display:block;pointer-events:none;isolation:isolate}.figure-蜀漢{--figure-main:#9e6e54;--figure-deep:#593e32;--figure-light:#ddbea1}.figure-曹魏{--figure-main:#677f89;--figure-deep:#344952;--figure-light:#b4c6ca}.figure-東吳{--figure-main:#a18a55;--figure-deep:#5e5033;--figure-light:#d8c791}.general-figure>svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(2px 4px 3px #30291e25)}.figure-shadow{fill:#30291e18}.figure-plinth{stroke:var(--figure-light)}.figure-cape,.figure-dark,.figure-plinth{fill:var(--figure-deep)}.figure-dark{stroke:var(--figure-light);stroke-width:1.2}.figure-armor{fill:var(--figure-main)}.figure-armor,.figure-face{stroke:var(--figure-deep);stroke-width:1.5}.figure-face{fill:var(--figure-light)}.figure-trim{stroke:var(--figure-light);stroke-width:2;stroke-linecap:round}.figure-detail{stroke:var(--figure-deep);stroke-width:3;stroke-linecap:round}.general-card>.figure-card{height:170px;margin:-4px 0 15px;border-bottom:1px solid var(--card-line);background:radial-gradient(ellipse at 50% 90%,#b89c6a35,transparent 60%),radial-gradient(circle at 50% 45%,#fff9e750,transparent 60%)}.general-card>.figure-card>svg{width:auto;max-width:100%;margin:auto}.general-card.compact>.figure-card{position:absolute;right:7px;top:30px;width:60px;height:66px;margin:0;border:0}.general-card.compact .general-title{padding-right:54px;min-height:44px;align-content:start;align-items:start}.general-card.compact .general-title>span{flex-basis:100%}.general-card:focus-visible{outline-color:#8b3c2b}.general-card .faction{color:#4a5940;border-color:#4a594066}.general-card .faction-蜀漢{color:#8b3c2b;border-color:#8b3c2b66}.general-card .faction-曹魏{color:#355666;border-color:#35566666}.general-card .faction-東吳{color:#6b5122;border-color:#6b512266}.general-card .ability>span,.general-card .card-check,.general-card .card-highlights p>span{color:var(--card-label)}.general-card.chosen .card-check{color:#8b3c2b}.general-card .ability b,.general-card .card-foot,.general-card .general-title>span{color:var(--card-muted)}.general-card .ability p,.general-card .card-highlights strong{color:var(--card-ink)}.general-card .card-foot{border-color:var(--card-line)}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.faction{font-size:10px;padding:1px 6px;letter-spacing:.12em;border:1px solid rgba(255,255,255,.18);color:#bfd0c1}.faction-蜀漢{color:#d9a18c;border-color:rgba(217,161,140,.25)}.faction-曹魏{color:#b8c7d5;border-color:rgba(184,199,213,.25)}.faction-東吳{color:#cec197;border-color:rgba(206,193,151,.25)}.card-check{font-size:11px;color:var(--gold)}.general-title{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}.general-title strong{font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:.08em;white-space:nowrap}.general-title>span{font-size:10px;color:var(--muted);letter-spacing:.06em}.ability{margin-bottom:12px}.ability>span{color:var(--gold);font-size:11px;font-weight:500;display:block;line-height:1.8}.ability b{font-size:9px;font-weight:400;float:right;color:var(--muted)}.ability p{font-size:11px;color:#afbeb3;line-height:1.8;margin:3px 0 0}.card-foot{font-size:9px;letter-spacing:.05em;color:#7c9387;padding-top:9px;border-top:1px solid rgba(218,189,138,.1)}.draft-bottom{position:fixed;z-index:10;bottom:0;left:0;right:0;padding:18px 5%;background:rgba(7,8,8,.97);border-top:1px solid var(--gold);box-shadow:0 -10px 30px rgba(0,0,0,.15);display:flex;justify-content:space-between;align-items:center;gap:30px}.draft-bottom>div{max-width:70%}.draft-bottom p{font-size:12px;margin:5px 0 0;color:var(--muted);max-width:860px;line-height:1.8}.draft-bottom .btn{flex-shrink:0}.draft-page .draft-bottom{background:var(--army-panel)}.draft-selection-chip{padding:4px 10px;border:1px solid var(--line);background:#d3b07812;color:var(--gold-light);border-radius:3px;min-height:36px}.draft-selection-chip:after{content:" ×";color:var(--muted);margin-left:6px}.draft-selection-chip:hover{border-color:var(--gold)}.draft-selection-separator{display:inline-block;width:6px;font-size:0}.modal.random-draft-modal{max-width:720px}.random-draft-rosters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.random-draft-rosters .red{background:#6a211c33;border-color:#a3392d88}.random-draft-rosters .black{background:#080b0a}.random-draft-rosters ul{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.random-draft-rosters li{display:flex;align-items:center;gap:6px;font-size:13px}.random-draft-rosters .faction{font-size:9px;padding:1px 4px}.random-draft-back{display:block;margin:18px auto 0}@media (max-width:700px){.random-draft-rosters{gap:8px}.random-draft-rosters ul{grid-template-columns:1fr;gap:6px}.draft-page .draft-bottom p{max-height:none}}.battle-page{max-width:1360px;margin:auto;padding:25px 4% 55px}.battle-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.battle-heading h1{font-size:27px;margin:6px 0 0;display:flex;align-items:center}.battle-heading .eyebrow{font-size:9px}.turn-number{font:11px -apple-system,BlinkMacSystemFont,sans-serif;color:var(--muted);letter-spacing:.05em;margin-left:18px;border-left:1px solid var(--line);padding-left:18px}.battle-menu{gap:24px}.autosave,.battle-menu{display:flex;align-items:center}.autosave{font-size:10px;color:var(--muted);gap:7px}.battle-layout{grid-template-columns:minmax(0,1.22fr) minmax(320px,1fr);gap:32px}.battle-board-section{max-width:620px;margin:auto}.army-ribbon{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.08em;padding:10px 6px}.army-ribbon.red{color:#d9a18c}.army-ribbon.black{color:#b6c4b9}.army-ribbon strong{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:.05em}.army-ribbon small{font-family:inherit;font-size:10px;opacity:.6;font-weight:400;margin-left:3px}.board-frame{padding:17px 17px 5px;background:#b89762;border:1px solid #d5b681;box-shadow:0 12px 35px rgba(0,0,0,.24),inset 0 0 0 5px rgba(61,40,21,.16);position:relative}.board{width:100%;aspect-ratio:9/10;position:relative;background-color:#e2cca0;background-image:radial-gradient(ellipse at 15% 15%,rgba(255,255,255,.3),transparent 50%),repeating-linear-gradient(0deg,rgba(102,69,28,.025),rgba(102,69,28,.025) 1px,transparent 0,transparent 4px);color:#745435;box-shadow:inset 0 0 45px rgba(100,59,16,.12)}.board-lines{position:absolute;inset:0;width:100%;height:100%;stroke:#825b35;stroke-width:1.8;fill:none;pointer-events:none}.board-lines text{fill:#8b6840;stroke:none;font-family:var(--serif);font-size:39px;font-weight:500;letter-spacing:12px}.board-coordinates{display:grid;grid-template-columns:repeat(9,1fr);color:#644a2e;font-family:var(--serif);font-size:10px;padding-top:5px;text-align:center;line-height:1.4}.cell{position:absolute;width:11.111111%;height:10%;display:flex;justify-content:center;align-items:center;background:transparent;border:0;padding:0;isolation:isolate}.cell:disabled{opacity:1;cursor:default}.cell:focus-visible{outline:2px solid #5e6c33;outline-offset:-2px;z-index:3}.cell.legal-cell{cursor:pointer}.piece{display:flex;justify-content:center;align-items:center;position:relative;width:84%;height:84%;border-radius:50%;background:radial-gradient(circle at 30% 20%,#f7e7c9 0,#e8d2a7 65%,#c2a36c 100%);box-shadow:0 3px 2px rgba(74,43,16,.4),inset 0 0 0 2px rgba(255,239,205,.7),inset 0 0 0 5px rgba(98,65,27,.11);border:1px solid #977543;z-index:1;transition:transform .12s,box-shadow .12s}.piece:after{content:"";position:absolute;inset:9%;border:1px solid;border-radius:50%;opacity:.65;pointer-events:none}.piece.red{color:#9d3325}.piece.black{color:#141716}.piece-label{font-family:var(--serif);font-weight:700;font-size:clamp(23px,3vw,40px);line-height:1}.piece-hp{position:absolute;bottom:-5px;right:-3px;background:#202422;color:#fff1d6;border:1px solid #d4bc87;font-size:10px;font-weight:600;border-radius:50%;height:18px;min-width:18px;display:grid;place-items:center;line-height:1;z-index:3}.piece.red .piece-hp{background:#943828}.commander-mark{position:absolute;top:-9px;right:-9px;padding:1px 4px;background:#3e5035;color:#f1d69f;font-size:8px;border:1px solid #c2a574;white-space:nowrap;z-index:4;line-height:1.6;letter-spacing:0}.piece.selected{transform:translateY(-3px);box-shadow:0 0 0 3px #f2cb73,0 5px 5px rgba(56,36,13,.4)}.piece.attack-target{box-shadow:0 0 0 3px #b34b37,0 3px 3px rgba(56,36,13,.4)}.piece.special-target{box-shadow:0 0 0 3px #d6a934,0 0 12px rgba(245,211,112,.4)}.piece-with-figure>.figure-piece{position:absolute;inset:-14% 2% 8%;z-index:1}.piece.piece-with-figure:after{inset:56% 8% 3%;background:#f2dfbbeb;opacity:1;z-index:1}.piece.piece-with-figure>.piece-label{position:absolute;bottom:8%;z-index:2;font-size:clamp(12px,2.3vh,23px)}.piece.piece-with-figure>.piece-hp{bottom:-3px;right:-5px}.piece.piece-with-figure>.commander-mark{top:-9px;right:50%;transform:translateX(50%);background:#24372e;font-size:clamp(7px,1vh,10px);line-height:1.35}.piece.piece-with-figure.has-commander>.general-figure{inset:-18% 0 8%}.move-dot{height:19%;width:19%;border-radius:50%;background:#566e43;box-shadow:0 0 0 6px rgba(91,118,65,.12);z-index:2}.last-mark{position:absolute;inset:10%;border:1px solid rgba(96,104,50,.65);z-index:0}.board-legend{display:flex;justify-content:center;gap:22px;font-size:9px;color:var(--muted);padding:12px 0}.board-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{display:block;width:5px;height:5px;border-radius:50%;background:#9cac78}.legend-attack,.legend-command{width:9px;height:9px;display:block;border:1px solid #b8694d;border-radius:50%}.legend-command{border-color:var(--gold)}.battle-sidebar{display:flex;flex-direction:column;gap:17px;margin-top:4px}.battle-log,.command-panel,.hand-panel{background:rgba(16,18,18,.9);border:1px solid var(--line);padding:21px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:17px}.panel-heading .eyebrow{font-size:9px}.panel-heading h2{font-family:inherit;font-size:12px;font-weight:400;letter-spacing:.05em;margin:0}.panel-heading>div h2{font-family:var(--serif);font-size:19px;margin-top:7px}.panel-heading small{font-family:inherit;font-size:11px;color:var(--muted);margin-left:5px}.empty-intel{text-align:center;padding:10px 0 20px}.empty-intel>span{font-family:var(--serif);font-size:38px;color:var(--gold);display:block;opacity:.45;margin-bottom:15px}.empty-intel h2{font-size:18px;margin-bottom:10px}.empty-intel p{font-size:11px;color:var(--muted);line-height:2;margin-bottom:0}.legion-heading{display:flex;gap:14px;align-items:center;margin-bottom:20px}.legion-heading h2{font-size:20px;letter-spacing:.05em;margin-bottom:3px}.legion-heading>div>span{font-size:10px;color:var(--muted)}.info-piece{font-family:var(--serif);font-size:27px;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:rgba(211,176,120,.07)}.legion-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.legion-stats>div{border-right:1px solid var(--line);text-align:center}.legion-stats>div:last-child{border:0}.legion-stats>div>span{font-size:10px;color:var(--muted);display:block}.legion-stats strong{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--gold)}.legion-stats small{font-family:inherit;font-weight:400;font-size:11px;color:var(--muted);margin-left:2px}.commander-info{border-top:1px solid var(--line);padding-top:17px}.charge-row{margin:12px 0}.commander-info .btn{font-size:12px;padding:11px;min-height:40px}.hand-hint,.skill-note{font-size:11px;color:var(--muted);line-height:1.9;margin:10px 0 0}.status-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.status-list span{font-size:10px;border:1px solid var(--line);padding:2px 5px;color:var(--gold)}.hand-summary{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;gap:10px}.hand-cards{display:flex;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#5a6a4f transparent;padding:15px 0 5px}.general-card.compact{min-width:180px;flex:0 0 180px;padding:12px}.compact .general-title{margin-bottom:12px;gap:6px}.compact .general-title strong{font-size:21px}.compact .general-title>span{font-size:9px}.compact .ability,.compact .card-heading{margin-bottom:9px}.compact .ability p{font-size:10px;line-height:1.7}.compact .ability>span{font-size:10px}.compact .ability b{float:none;display:inline;font-size:8px}.compact .card-foot{font-size:8px}.recruit-notice{border-left:2px solid var(--gold);padding-left:12px;margin-top:15px;font-size:12px}.recruit-notice strong{font-family:var(--serif);font-weight:500}.recruit-notice p{font-size:11px;color:var(--muted);margin:3px 0 0}.recruit-notice .text-button{font-size:10px}.battle-log{padding-bottom:13px}.battle-log ol{padding:0;margin:0;list-style:none;max-height:190px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5a6a4f transparent}.battle-log li{font-size:10px;line-height:1.9;color:#a6b7a9;border-bottom:1px solid rgba(218,189,138,.07);padding:8px 0}.battle-log li:first-child{padding-top:0;color:var(--paper)}.log-footer{margin-top:13px;color:#718b7a;font-size:9px}.modal-shade{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:auto}.modal{background:linear-gradient(135deg,var(--panel-light),var(--ink-deep));border:1px solid rgba(211,176,120,.55);max-width:600px;width:100%;padding:38px;position:relative;max-height:calc(100dvh - 50px);overflow-y:auto;box-shadow:0 25px 90px rgba(0,0,0,.4)}.modal:before{content:"";position:absolute;inset:6px;border:1px solid rgba(211,176,120,.1);pointer-events:none}.modal>.eyebrow{margin-bottom:16px}.modal h2{font-size:26px;letter-spacing:.05em;margin-bottom:18px}.modal>p{color:var(--muted);font-size:13px;line-height:2}.close-modal{position:absolute;top:12px;right:17px;font-size:26px;background:transparent;color:var(--gold);border:0;line-height:1.2;padding:4px 7px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:27px}.modal-actions .btn{min-width:116px;font-size:13px;padding:12px 20px}.rules-content{font-size:12px;color:var(--muted);margin-bottom:26px;line-height:1.9}.rules-content ol{padding-left:20px}.rules-content li{padding-left:5px;margin-bottom:15px}.rules-content strong{color:var(--paper);font-size:13px;font-weight:500}.rules-content p{margin:3px 0 0}.rule-note{border-top:1px solid var(--line);padding-top:16px;font-size:11px}.handoff-modal,.result-modal{text-align:center;max-width:500px;padding:38px 40px}.handoff-seal{font-family:var(--serif);font-size:53px;border:1px solid var(--gold);width:96px;height:96px;display:grid;place-items:center;border-radius:50%;margin:25px auto 26px;box-shadow:0 0 0 7px rgba(211,176,120,.04),inset 0 0 0 5px rgba(211,176,120,.04)}.handoff-seal.red{border-color:#a86548}.handoff-modal h2{font-size:25px;margin-bottom:12px}.handoff-modal>p{margin-bottom:25px}.handoff-modal>p span{margin:0 5px}.handoff-note{display:block;margin-top:17px;font-size:10px;color:#6f8a78}.last-battle-summary{text-align:left;font-size:11px;color:var(--gold);border:1px solid var(--line);padding:13px;margin-bottom:25px}.last-battle-summary p{font-size:10px;color:var(--muted);line-height:1.8;margin:6px 0 0}.result-seal{font-size:64px;font-family:var(--serif);color:var(--gold);margin:23px auto 12px;line-height:1.5}.result-stats{display:flex;justify-content:center;margin:30px 0;gap:24px;color:var(--muted);font-size:10px}.result-stats strong{display:block;font-family:var(--serif);font-size:28px;color:var(--gold);font-weight:400}.result-modal>.text-button{margin-top:16px}.battle-preview{display:grid;grid-template-columns:1fr 26px 1fr;gap:15px;align-items:center;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin-top:25px}.battle-preview h3{font-size:16px;margin:6px 0 12px}.battle-preview strong{font-family:var(--serif);font-size:31px;font-weight:500;color:var(--paper)}.battle-preview strong>span{color:var(--red-light);font-size:24px}.battle-preview p{font-size:10px;color:var(--muted);margin:8px 0 0}.versus{font-family:var(--serif);font-size:12px;color:var(--gold)}.forecast-damage{display:flex;justify-content:space-around;margin:23px 0;font-size:12px;color:var(--muted)}.forecast-damage strong{font-family:var(--serif);font-size:24px;color:var(--gold);margin-left:9px}.forecast-result{font-size:12px!important;color:var(--paper)!important;background:rgba(211,176,120,.05);padding:13px}.forecast-effects{font-size:10px;color:var(--muted);line-height:1.9}.forecast-effects p{margin:5px 0}.confirm-ability{border:1px solid var(--line);padding:16px;background:rgba(211,176,120,.035);margin-top:23px}.confirm-ability strong{font-family:var(--serif);color:var(--gold);font-weight:500}.confirm-ability p{font-size:12px;color:var(--muted);line-height:1.9;margin:5px 0 0}.notice{position:fixed;z-index:150;bottom:25px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);background:#293d2c;border:1px solid var(--gold);padding:13px 17px;color:var(--paper);font-size:12px;box-shadow:0 5px 20px rgba(0,0,0,.3);display:flex;gap:20px;align-items:center}.notice button{background:transparent;border:0;color:var(--gold);font-size:20px;padding:0 2px;line-height:1}.notice span{line-height:1.8}@media (min-width:1500px){.home{padding-top:7vh;padding-bottom:0}.hero-art{max-width:590px}.hero-wordmark{font-size:136px}.hero-copy h1{font-size:24px}.hero-art .piece-label{font-size:40px}}@media (max-width:1100px){.topbar{padding:0 4%;height:74px}.home{padding:45px 5% 0;gap:20px;min-height:100svh}.hero-wordmark{font-size:95px}.hero-en{font-size:9px}.hero-copy h1{font-size:18px}.hero-description{font-size:12px}.hero-details{gap:15px}.hero-details>span{padding-right:15px}.hero-art-label{right:-11px}.draft-grid{grid-template-columns:repeat(3,1fr)}.battle-page{padding:23px 3% 45px}.battle-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,1fr);gap:21px}.board-frame{padding:12px 12px 4px}.battle-log,.command-panel,.hand-panel{padding:17px}.piece-label{font-size:clamp(23px,3.1vw,35px)}.commander-mark{font-size:7px;top:-7px;right:-8px}.piece-hp{font-size:9px;height:16px;min-width:16px}.battle-heading h1{font-size:24px}.turn-number{font-size:10px}.general-card{padding:15px}.general-title>span{font-size:9px}}@media (max-width:760px){.header-right{gap:20px}.local-label{font-size:9px}.topbar{height:70px}.brand-name{font-size:20px}.brand{width:128px}.brand-seal{width:31px;height:35px;font-size:15px}.brand-en{font-size:6px}.topbar .text-button{font-size:11px}.home{grid-template-columns:1fr;padding:38px 7% 0;gap:0;min-height:100svh;overflow:hidden}.hero-copy{padding:0;max-width:540px}.hero-copy>.eyebrow{font-size:9px;margin-bottom:20px}.hero-wordmark{font-size:91px;line-height:1.1}.hero-wordmark>span{display:inline}.title-seal{font-size:15px;height:42px;width:24px;margin-left:12px}.hero-en{font-size:8px;margin:18px 0 24px}.hero-copy h1{font-size:19px;letter-spacing:.02em}.hero-description{font-size:12px}.hero-actions{margin:24px 0 29px}.hero-actions .btn{min-width:146px;font-size:12px;padding:12px 18px;gap:20px}.hero-details{gap:22px}.hero-details>span{padding-right:22px}.hero-details strong{font-size:24px}.hero-art{width:70%;max-width:350px;margin:12px auto 0;padding-top:20px;padding-bottom:20px}.hero-art-label{right:-30px;top:44px;font-size:10px}.hero-art .piece-label{font-size:23px}.art-caption{font-size:8px;bottom:0}.home-footer{font-size:8px;padding:17px 0;letter-spacing:.05em;margin-top:22px}.draft-page{padding:18px 4% 24px}.draft-heading{margin-bottom:6px;gap:8px}.draft-heading h1{font-size:20px}.draft-heading-actions,.draft-title{gap:8px}.draft-round{font-size:9px}.draft-counter strong{font-size:22px}.draft-counter span{font-size:9px}.draft-grid{grid-template-columns:repeat(2,1fr);gap:10px}.draft-rosters{gap:8px;margin-bottom:12px}.draft-roster{padding:8px}.roster-heading{gap:4px;flex-wrap:wrap}.roster-heading strong{gap:5px}.draft-roster p{font-size:10px}.general-card>.figure-card{height:140px}.general-card.compact>.figure-card{right:3px;width:43px;height:61px}.general-card.compact .general-title{padding-right:32px}.draft-toolbar{flex-wrap:wrap;padding:9px 0;gap:7px}.draft-tools{gap:22px;padding-left:8px}.draft-tools .text-button{font-size:10px}.filter-tabs{gap:4px}.filter-tabs button{padding:6px 12px;font-size:11px}.general-card{padding:12px}.general-title{gap:6px;flex-wrap:wrap;margin-bottom:12px}.general-title strong{font-size:21px}.general-title>span{font-size:9px}.ability p,.ability>span{font-size:10px}.ability p{line-height:1.85}.ability b{float:none;display:block;font-size:9px}.card-foot{font-size:8px}.draft-bottom{padding:12px 4%;gap:12px;align-items:flex-start;flex-direction:column}.draft-bottom>div{max-width:100%;width:100%}.draft-bottom .eyebrow{font-size:9px}.draft-bottom p{font-size:10px;line-height:1.8;max-height:36px;overflow:auto}.draft-bottom .btn{width:100%;padding:11px;font-size:12px;min-height:43px}.battle-page{padding:22px 4% 45px}.battle-layout{display:flex;flex-direction:column;gap:20px}.battle-board-section{max-width:550px}.battle-sidebar{width:100%;margin-top:0}.battle-heading{gap:12px;margin-bottom:12px}.battle-heading h1{font-size:22px}.battle-heading .eyebrow{font-size:7px;letter-spacing:.1em}.turn-number{font-size:9px;margin-left:10px;padding-left:10px}.battle-menu{gap:14px;align-items:flex-end;flex-direction:column}.battle-menu .text-button{font-size:10px;padding:0}.autosave{font-size:9px}.side-dot{width:8px;height:8px;margin-right:9px}.army-ribbon{font-size:9px;padding:8px 3px}.army-ribbon strong{font-size:16px}.board-frame{padding:12px 12px 4px}.piece-label{font-size:clamp(22px,7vw,35px)}.piece-hp{font-size:8px;min-width:15px;height:15px;right:-4px;bottom:-5px}.commander-mark{font-size:6px;top:-7px;right:-9px;padding:0 3px}.piece.selected{box-shadow:0 0 0 2px #f2cb73,0 4px 4px rgba(56,36,13,.4)}.piece.attack-target{box-shadow:0 0 0 2px #b34b37,0 3px 3px rgba(56,36,13,.4)}.piece.special-target{box-shadow:0 0 0 2px #d6a934,0 0 8px rgba(245,211,112,.4)}.board-coordinates{font-size:8px}.board-legend{font-size:8px;padding:10px 0;gap:17px}.modal-shade{padding:15px}.modal{padding:30px 23px;max-height:calc(100dvh - 30px)}.modal h2{font-size:22px}.modal .eyebrow{font-size:9px;letter-spacing:.13em}.modal>p{font-size:12px}.handoff-modal,.result-modal{padding:30px 26px}.handoff-seal{font-size:46px;width:80px;height:80px;margin:20px auto 24px}.handoff-note{font-size:9px}.modal-actions .btn{font-size:12px;min-width:104px;padding:11px 17px}.battle-preview{gap:6px;grid-template-columns:1fr 20px 1fr}.battle-preview h3{font-size:13px;min-height:39px}.battle-preview strong{font-size:26px}.battle-preview strong>span{font-size:21px}.battle-preview .mini-label{font-size:10px}.forecast-damage{font-size:11px}.forecast-damage strong{font-size:23px;margin-left:5px}.forecast-result{font-size:11px!important}.result-stats{gap:18px;font-size:9px}.rules-content{font-size:11px}.rules-content strong{font-size:12px}.rule-note{font-size:10px}}@media (max-width:410px){.local-label{display:none}.hero-wordmark{font-size:75px}.title-seal{margin-left:8px}.hero-details{gap:16px;font-size:9px}.hero-details>span{padding-right:16px}.hero-actions{gap:9px}.hero-actions .btn{min-width:135px}.hero-art{width:76%}.general-title strong{font-size:20px}.general-title>span{font-size:8px}.general-card{padding:10px}.draft-counter{gap:4px}.draft-counter span{font-size:8px}.board-frame{padding:10px 10px 4px}.board-legend{gap:13px}.battle-menu{gap:7px}.battle-heading h1{font-size:21px}.turn-number{font-size:8px}.piece-hp{height:13px;min-width:13px;font-size:7px;bottom:-4px;right:-3px}.commander-mark{font-size:6px;top:-6px;right:-8px}.piece-label{font-size:23px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media (min-width:761px){.topbar.in-game{height:64px}.battle-page{padding-top:16px}.battle-heading{margin-bottom:10px}.battle-heading h1{font-size:24px}.battle-board-section{max-width:min(620px,calc((100dvh - 250px) * .9));margin:0 auto;position:sticky;top:12px}.army-ribbon{padding:6px}.board-legend{padding:8px 0}.battle-board-section .piece-label{font-size:clamp(22px,3.6vh,38px)}.battle-sidebar{max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#5a6a4f transparent;padding-right:4px;padding-bottom:4px}}.battle-page{max-width:1640px;padding:16px 3% 36px}.battle-heading{display:none}.turn-banner{display:flex;align-items:center;gap:14px;padding:12px 20px;margin-bottom:16px;border:1px solid;border-left:5px solid;animation:turn-arrive .4s ease-out}.turn-red .turn-banner{border-color:#cb785d;background:linear-gradient(100deg,#632f28,#251e1b);color:#ffcfb5}.turn-black .turn-banner{border-color:#afc8c8;background:linear-gradient(100deg,#304544,#142423);color:#e9f9f4}.turn-banner-seal{font:30px var(--serif);border:1px solid;border-radius:50%;width:46px;height:46px;display:grid;place-items:center}.turn-banner strong{font:600 23px var(--serif);display:block;letter-spacing:.12em}.turn-banner div>span{display:block;font-size:11px;opacity:.8}.turn-banner-number{margin-left:auto;font-size:12px;letter-spacing:.1em}.battle-layout{display:grid;grid-template-areas:"intel board guide";gap:24px;align-items:start}.battle-board-section{grid-area:board;max-width:min(680px,calc((100dvh - 155px) * .9));margin:0 auto}.battle-sidebar{grid-area:intel;max-height:none;padding:0;margin:0;overflow:visible;min-width:0}.turn-sidebar{grid-area:guide;min-width:0}.battle-log,.command-panel,.turn-guide{padding:17px}.legion-heading{flex-direction:column;align-items:flex-start}.legion-heading h2{font-size:19px}.legion-stats strong{font-size:21px}.command-panel .panel-heading{flex-wrap:wrap;gap:5px}.active-side-seal{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;font:43px var(--serif);margin:22px auto 15px;border:2px solid}.turn-red .active-side-seal{color:#ecab86;border-color:#a95b43;box-shadow:0 0 25px #a3412222}.turn-black .active-side-seal{color:#e1eee2;border-color:#adccba;box-shadow:0 0 25px #b2decb22}.turn-guide{background:var(--panel);border:1px solid var(--line);text-align:center;margin-bottom:16px}.turn-guide h2{font-size:23px;margin-bottom:8px}.turn-guide ol,.turn-guide p{font-size:11px;color:var(--muted);line-height:2}.turn-guide ol{text-align:left;padding-left:24px}.action-reminder{border-top:1px solid var(--line);padding-top:14px;color:var(--gold);font-size:11px;line-height:2}.turn-red .board-frame{border-color:#d18968;box-shadow:0 0 0 3px #953c2926,0 12px 35px #0004}.turn-black .board-frame{border-color:#d2e5d3;box-shadow:0 0 0 3px #c1e7d726,0 12px 35px #0004}.turn-black .cell .piece.black,.turn-red .cell .piece.red{filter:brightness(1.08)}.turn-black .cell .piece.red,.turn-red .cell .piece.black{filter:saturate(.65) brightness(.9)}.battle-board-section .hand-panel{width:100%;margin-top:8px;padding:16px;border-top:2px solid var(--gold)}.hand-panel .panel-heading{margin-bottom:10px;padding-bottom:10px}.hand-panel .panel-heading h2{font-size:18px}.hand-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:visible;padding:12px 0 0}.drawn-card{min-width:0;animation:draw-card .5s cubic-bezier(.2,.8,.2,1) both}.drawn-card .general-card.compact{width:100%;min-width:0;height:100%;padding:12px}.drawn-card .general-title{flex-wrap:wrap;gap:3px}.drawn-card .general-title strong{font-size:21px}.drawn-card .general-title>span{font-size:9px}.drawn-card .ability b{display:block}.empty-card-slot{border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:10px;min-height:180px;background:#07080880}.empty-card-slot span{font:40px var(--serif);color:#d3b07833;margin-bottom:10px}.battle-log summary{cursor:pointer;list-style:none;margin-bottom:0;padding-bottom:0;border-bottom:0;flex-wrap:wrap;gap:6px}.battle-log summary::-webkit-details-marker{display:none}.battle-log summary .eyebrow{display:none}.battle-log summary h2{font:17px var(--serif)}.log-toggle{font-size:10px;color:var(--gold)}.log-toggle:after{content:" ＋"}.battle-log[open] .log-toggle{font-size:0}.battle-log[open] .log-toggle:after{content:"收合紀事 −";font-size:10px}.battle-log[open] summary{margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid var(--line)}.inline-forecast{margin-top:20px;padding-top:15px;border-top:1px solid var(--gold);font-size:11px;color:var(--muted)}.inline-forecast h3{margin:10px 0;color:var(--paper)}.inline-forecast>strong{color:var(--gold)}.inline-forecast .forecast-damage{flex-wrap:wrap;gap:12px;justify-content:flex-start;margin:10px 0}@keyframes draw-card{0%{opacity:0;transform:translateY(32px) rotateY(50deg) scale(.94)}to{opacity:1;transform:translateY(0) rotateY(0) scale(1)}}@keyframes turn-arrive{0%{opacity:.55;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1100px) and (min-width:761px){.battle-layout{grid-template-columns:minmax(155px,1fr) minmax(0,540px) minmax(155px,1fr);gap:14px}.battle-page{padding-left:2%;padding-right:2%}.battle-log,.command-panel,.turn-guide{padding:12px}.legion-stats{grid-template-columns:repeat(2,1fr);gap:10px}}@media (max-width:760px){.battle-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"board" "intel" "guide";gap:16px}.battle-board-section{max-width:580px}.turn-banner{padding:10px 12px;gap:10px}.turn-banner strong{font-size:21px}.turn-banner div>span,.turn-banner-number{font-size:9px}.turn-banner-seal{font-size:24px;width:37px;height:37px;flex-shrink:0}.hand-cards{gap:6px}.battle-board-section .hand-panel{padding:10px}.drawn-card .general-card.compact{padding:8px}.drawn-card .general-title strong{font-size:17px}.drawn-card .general-title>span{display:none}.drawn-card .ability{margin-bottom:7px}.drawn-card .ability p,.drawn-card .ability>span{font-size:9px}.drawn-card .card-check{font-size:8px}.drawn-card .card-foot{display:none}.drawn-card .faction{font-size:8px;padding:0 3px}.hand-summary{font-size:9px}.legion-heading{flex-direction:row;align-items:center}.battle-page{padding:14px 4% 30px}}@media (prefers-reduced-motion:reduce){.drawn-card,.turn-banner{animation:none}}.turn-banner-tools{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:7px 18px}.turn-banner-tools .turn-banner-number{margin-left:0}.turn-banner-tools .autosave{font-size:9px;flex-basis:100%;justify-content:flex-end;opacity:.7}.battle-log summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}@media (max-width:760px){.turn-banner-tools{gap:0 12px}.turn-banner-tools .text-button{font-size:10px}}.guide-toggle{display:inline-flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}.guide-toggle[aria-checked=true]{color:var(--gold-light);border-color:#d3b07866;background:#d3b0780d}.guide-toggle-track{display:inline-flex;align-items:center;width:30px;height:17px;border-radius:12px;background:#45544b;padding:3px}.guide-toggle-track i{width:11px;height:11px;border-radius:50%;background:#b5c5bb;transition:transform .15s}.guide-toggle[aria-checked=true] .guide-toggle-track{background:#8c7048}.guide-toggle[aria-checked=true] .guide-toggle-track i{transform:translateX(13px);background:var(--gold-light)}.guide-toggle-state{margin-left:7px;font-size:10px;opacity:.75}.guide-route{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 0;border-block:1px solid var(--line);color:var(--paper)}.guide-route>span{font-size:11px;color:var(--muted)}.guide-route b{color:var(--gold);margin:0 8px}.guide-rule{padding:15px;background:#d3b0780a;margin:18px 0;border-left:2px solid var(--gold)}.guide-rule strong{font-size:12px;color:var(--gold)}.guide-rule p{margin:6px 0 0;font-size:12px;line-height:1.9;color:var(--muted)}.guide-stats{margin:22px 0}.guide-footnote{font-size:11px!important;margin:18px 0 0}.guide-disable{display:block;margin:18px auto 0;font-size:11px}@media (max-width:760px){.topbar.in-game .header-right{gap:12px}.topbar.in-game .local-label{display:none}.guide-toggle{font-size:10px;padding:6px;gap:6px}.guide-toggle-state{margin-left:4px}.guide-toggle-track{width:26px;height:15px}.guide-toggle-track i{width:9px;height:9px}.guide-toggle[aria-checked=true] .guide-toggle-track i{transform:translateX(11px)}.guide-route{align-items:flex-start;flex-direction:column}}body:has(.battle-page),html:has(.battle-page){height:100dvh;overflow:hidden;overscroll-behavior:none}.topbar.in-game{height:56px;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;gap:16px}.in-game .brand-button{justify-self:start}.in-game .local-label{display:none}.in-game .header-right{justify-self:end;gap:14px}.header-turn{display:flex;align-items:center;justify-content:center;gap:10px;padding:3px 18px;min-width:154px;border-inline:1px solid var(--line)}.header-turn-seal{font:25px var(--serif);display:grid;place-items:center;width:36px;height:36px;border:1px solid;border-radius:50%}.header-turn strong{font:600 18px var(--serif);display:block;letter-spacing:.08em;line-height:1.4}.header-turn div>span{font-size:9px;letter-spacing:.08em;opacity:.7}.in-game.turn-red{background:linear-gradient(90deg,#070808,#3d2420,#070808);border-bottom:2px solid #a65f47}.in-game.turn-red .header-turn{color:#f2b392}.in-game.turn-black{background:linear-gradient(90deg,#070808,#293e39,#070808);border-bottom:2px solid #a6c9bb}.in-game.turn-black .header-turn{color:#deece3}.header-save{color:var(--muted);font-size:9px;white-space:nowrap}.battle-panel-controls,.game-menu,.panel-close{display:none}.battle-page{--dock-space:132px;--panel-tools-space:0px;width:100%;max-width:1600px;height:calc(100dvh - 56px);margin:0 auto;padding:8px 22px calc(var(--dock-space) + var(--panel-tools-space));position:relative;overflow:hidden}.battle-layout{width:100%;height:100%;min-height:0;grid-template-columns:minmax(190px,1fr) minmax(0,680px) minmax(190px,1fr);gap:18px;align-items:stretch}.battle-board-section{width:100%;max-width:none;min-height:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:static}.battle-board-section .army-ribbon{display:none}.battle-board-section .board-frame{flex:none;width:min(100%,calc((100dvh - 56px - var(--dock-space) - var(--panel-tools-space) - 44px) * .9));padding:8px 8px 3px}.battle-board-section .board-coordinates{font-size:8px;padding-top:3px}.battle-board-section .piece-label{font-size:clamp(20px,3.5vh,38px)}.battle-board-section .board-legend{height:20px;padding:4px 0 0;flex-shrink:0}.battle-sidebar,.turn-sidebar{min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#5a6a4f transparent;padding:0 3px 4px 0}.battle-sidebar .command-panel{min-height:100%}.turn-guide{padding:15px}.active-side-seal{width:52px;height:52px;font-size:32px;margin:14px auto}.turn-guide h2{font-size:19px}.action-reminder,.turn-guide ol,.turn-guide p{font-size:10px}.battle-board-section .hand-dock{--card-height:260px;position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(620px,calc(100vw - 40px));height:100px;padding:0;margin:0;z-index:30;background:transparent;border:0;pointer-events:none;perspective:1200px}.hand-dock:before{content:"";position:absolute;left:-50px;right:-50px;top:-25px;bottom:0;z-index:-1;background:radial-gradient(ellipse at bottom,#030404f5,transparent 75%);pointer-events:none}.dock-heading{position:absolute;bottom:104px;width:100%;gap:12px;padding:5px 12px;background:#070808e8;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.dock-heading,.dock-heading>div{display:flex;justify-content:space-between;align-items:center}.dock-heading>div{min-width:0;flex:1 1;gap:10px}.dock-heading strong{font:500 12px var(--serif);color:var(--paper);white-space:nowrap}.dock-heading span{font-size:9px;color:var(--muted);text-align:right}.dock-heading .text-button{padding:0;font-size:10px}.hand-dock .hand-cards{position:absolute;left:0;right:0;bottom:calc(100px - var(--card-height));height:var(--card-height);gap:14px;padding:0;overflow:visible;pointer-events:none}.hand-dock .drawn-card{--fan-angle:0deg;height:var(--card-height);pointer-events:auto;transform:rotate(var(--fan-angle));transform-origin:50% 100%;transition:transform .18s ease,filter .18s;animation-name:dock-draw}.hand-dock .drawn-card:first-child{--fan-angle:-2deg}.hand-dock .drawn-card:nth-child(3){--fan-angle:2deg}.hand-dock .drawn-card .general-card.compact{height:100%;border-color:#a48959;box-shadow:0 -8px 25px #0005;background:linear-gradient(135deg,var(--card-start),var(--card-end));padding:13px}.hand-dock .drawn-card .general-title{margin-bottom:8px}.hand-dock .drawn-card .card-heading{margin-bottom:11px}.hand-dock:not(.is-recruiting) .drawn-card:focus-within{z-index:4;transform:translateY(calc(100px - var(--card-height) - 8px)) rotate(0)}.hand-dock .drawn-card .general-card.chosen{box-shadow:inset 0 0 0 2px #8b3c2b,0 -4px 18px #0006;border-color:#8b3c2b}.hand-dock .empty-card-slot{min-height:0;height:100px;margin-top:0;padding:9px;pointer-events:none}.hand-dock .empty-card-slot span{font-size:26px;margin-bottom:4px}body:has(.battle-page) .notice{bottom:142px;z-index:150}@media (hover:hover){.hand-dock:not(.is-recruiting) .drawn-card:hover{z-index:4;transform:translateY(calc(100px - var(--card-height) - 8px)) rotate(0);filter:brightness(1.08)}}@keyframes dock-draw{0%{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}@media (max-width:1100px) and (min-width:901px){.battle-layout{grid-template-columns:minmax(158px,1fr) minmax(0,580px) minmax(158px,1fr);gap:12px}.battle-page{padding-inline:14px}}@media (max-width:900px){.topbar.in-game{padding:0 12px;gap:6px;grid-template-columns:minmax(76px,1fr) auto minmax(112px,1fr)}.in-game .brand-en,.in-game .brand-seal{display:none}.in-game .brand-name{font-size:18px;letter-spacing:.06em}.in-game .header-turn{gap:6px;min-width:0;padding:0 7px}.in-game .header-turn-seal{width:26px;height:26px;font-size:19px}.in-game .header-turn strong{font-size:15px;letter-spacing:0}.in-game .header-turn div>span{font-size:8px}.topbar.in-game .header-right{gap:6px}.in-game .header-restart,.in-game .header-rules,.in-game .header-save{display:none}.in-game .guide-toggle{font-size:10px;padding:5px;gap:5px}.in-game .guide-toggle-state{display:none}.game-menu{display:block;position:relative}.game-menu summary{list-style:none;font-size:20px;color:var(--gold);cursor:pointer;padding:1px 3px}.game-menu summary::-webkit-details-marker{display:none}.game-menu>div{position:absolute;z-index:80;top:36px;right:0;width:145px;display:flex;flex-direction:column;padding:8px;gap:5px;background:#101212;border:1px solid var(--gold);box-shadow:0 12px 25px #0006}.game-menu button{padding:9px 10px;background:transparent;border:0;text-align:left;font-size:12px}.game-menu div>span{padding:4px 10px;font-size:9px;color:var(--muted)}.battle-page{--dock-space:130px;--panel-tools-space:36px;padding:8px 16px calc(var(--dock-space) + var(--panel-tools-space))}.battle-layout{display:block}.battle-board-section{max-width:none}.battle-sidebar,.turn-sidebar{display:none}.battle-sidebar.panel-open,.turn-sidebar.panel-open{display:block;position:absolute;z-index:45;top:8px;bottom:calc(var(--dock-space) + var(--panel-tools-space));left:16px;right:16px;max-height:none;padding:30px 8px 8px;background:#0c0e0dfa;border:1px solid var(--gold);box-shadow:0 12px 30px #0007}.panel-close{display:block;position:absolute;right:9px;top:3px;padding:0 6px;line-height:1;border:0;background:transparent;font-size:25px;color:var(--gold)}.battle-panel-controls{position:absolute;bottom:var(--dock-space);left:16px;right:16px;height:32px;display:flex;justify-content:center;align-items:center;gap:10px}.battle-panel-controls button{min-width:118px;padding:5px 12px;font-size:10px;color:var(--gold);background:#141716;border:1px solid var(--line)}.battle-panel-controls button>span{margin-left:10px}.battle-board-section .hand-dock{--card-height:280px;width:calc(100vw - 32px)}.hand-dock .hand-cards{gap:7px}.hand-dock .drawn-card .general-card.compact{padding:9px}.hand-dock .general-title>span{display:none}.dock-heading{padding:5px 7px}.dock-heading strong{font-size:10px}.dock-heading span{font-size:8px}.battle-board-section .piece-label{font-size:clamp(20px,5vw,28px)}body:has(.battle-page) .notice{bottom:172px;font-size:10px}}@media (prefers-reduced-motion:reduce){.hand-dock .drawn-card{animation:none;transition:none}}body:has(.battle-page) .notice{top:64px;bottom:auto;left:auto;right:18px;transform:none;width:auto;max-width:min(360px,calc(100% - 28px));font-size:11px;pointer-events:none}body:has(.battle-page) .notice button{pointer-events:auto}.hand-dock .drawn-card .general-card.compact{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.hand-dock .drawn-card .card-foot{margin-top:auto}.topbar.in-game{position:fixed;inset:0 0 auto;height:0;padding:12px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;pointer-events:none;z-index:60}.topbar.in-game,.topbar.in-game.turn-black,.topbar.in-game.turn-red{background:none;border:0}.in-game .brand-button,.in-game .header-right{pointer-events:auto;background:#070808e8;border:1px solid var(--line);box-shadow:0 5px 22px #0002;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.in-game .brand-button{padding:0;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.in-game .brand{width:174px}.in-game .brand-seal{height:33px;width:30px;font-size:16px}.in-game .brand-name{font-size:20px}.in-game .brand-en{margin-top:3px;font-size:6px}.in-game .header-right{gap:12px;padding:6px 10px}.in-game .header-right .guide-toggle{padding:5px 8px}.battle-page{height:100dvh;max-width:none;padding-top:8px}.battle-layout{grid-template-columns:180px minmax(0,1fr) 180px;gap:20px}.battle-board-section .board-frame{width:min(100%,760px,calc((100dvh - var(--dock-space) - var(--panel-tools-space) - 24px) * .9))}.battle-board-section .board-legend{display:none}.battle-sidebar,.turn-sidebar{align-self:start;margin-top:60px;max-height:calc(100% - 60px);padding-right:2px}.battle-sidebar .command-panel{min-height:0}.battle-log,.command-panel,.turn-guide{padding:12px}.empty-intel{padding:8px 0 12px}.empty-intel>span{font-size:30px;margin-bottom:10px}.empty-intel h2{font-size:16px}.legion-heading{gap:8px;margin-bottom:14px}.legion-heading h2{font-size:17px}.legion-stats{grid-template-columns:repeat(2,1fr);gap:8px 0;margin-bottom:14px}.legion-stats>div:nth-child(2){border-right:0}.commander-info{padding-top:12px}.ability{margin-bottom:10px}.turn-indicator{display:flex;gap:9px;align-items:center;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line);text-align:left}.turn-indicator-seal{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid;border-radius:50%;font:23px var(--serif)}.turn-indicator.red{color:#efad8e}.turn-indicator.black{color:#dbeee2}.turn-indicator strong{display:block;font:600 18px var(--serif);letter-spacing:.05em}.turn-indicator div>span{display:block;font-size:10px;opacity:.7;margin-top:3px}.turn-guide ol{padding-left:18px;margin-bottom:12px}.turn-guide p{margin-bottom:10px}.turn-guide .action-reminder{padding-top:10px}.board-turn-mobile{display:none}@media (min-width:901px) and (max-width:1150px){.in-game .header-restart,.in-game .header-rules,.in-game .header-save{display:none}.in-game .game-menu{display:block;position:relative}.game-menu summary{list-style:none;font-size:20px;color:var(--gold);cursor:pointer;padding:1px 3px}.game-menu summary::-webkit-details-marker{display:none}.game-menu>div{position:absolute;z-index:80;top:36px;right:0;width:145px;display:flex;flex-direction:column;padding:8px;gap:5px;background:#101212;border:1px solid var(--gold)}.game-menu button{padding:9px 10px;background:transparent;border:0;text-align:left;font-size:12px}.game-menu div>span{padding:4px 10px;font-size:9px;color:var(--muted)}.battle-layout{grid-template-columns:164px minmax(0,1fr) 164px;gap:12px}}@media (max-width:900px){.topbar.in-game{padding:8px 12px}.in-game .brand-button{padding:0}.in-game .brand{width:128px}.in-game .brand-name{font-size:18px}.in-game .header-right{padding:5px 7px;gap:7px}.in-game .header-right .guide-toggle{padding:5px}.battle-page{padding-top:64px}.battle-board-section .board-frame{width:min(100%,calc((100dvh - 56px - var(--dock-space) - var(--panel-tools-space) - 44px) * .9))}.battle-board-section .board-legend{display:flex}.board-turn-mobile{display:block;position:absolute;top:51px;left:50%;transform:translateX(-50%);z-index:10;pointer-events:none}.board-turn-mobile .turn-indicator{border:0;padding:0 7px;margin:0;gap:0;background:#070808eb}.board-turn-mobile .turn-indicator-seal{display:none}.board-turn-mobile .turn-indicator>div{display:flex;gap:8px;align-items:baseline}.board-turn-mobile .turn-indicator strong{font-size:11px;letter-spacing:0}.board-turn-mobile .turn-indicator div>span{font-size:9px;margin:0}.battle-sidebar,.turn-sidebar{margin-top:0}.battle-sidebar.panel-open,.turn-sidebar.panel-open{top:64px}}.battle-page{--hand-peek:150px;--dock-space:196px}.battle-layout{grid-template-columns:212px minmax(0,1fr) 212px}.battle-board-section .hand-dock{height:var(--hand-peek)}.hand-dock .hand-cards{bottom:calc(var(--hand-peek) - var(--card-height))}.hand-dock .dock-heading{bottom:calc(var(--hand-peek) + 4px);min-height:32px}.hand-dock .empty-card-slot{height:var(--hand-peek)}.hand-dock .card-full-ability{display:none}.card-highlights{display:flex;flex-direction:column;gap:5px;text-align:left}.card-highlights p{margin:0;display:flex;align-items:baseline;gap:6px;min-width:0}.card-highlights p>span{font-size:9px;color:var(--gold);white-space:nowrap}.card-highlights strong{min-width:0;font-size:10px;font-weight:400;color:#d1dfd0;line-height:1.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hand-dock:not(.is-recruiting) .drawn-card:focus-within{transform:translateY(calc(var(--hand-peek) - var(--card-height) - 8px)) rotate(0)}.hand-dock:not(.is-recruiting) .drawn-card:focus-within .card-highlights{display:none}.hand-dock:not(.is-recruiting) .drawn-card:focus-within .card-full-ability{display:block}.board-action-controls{display:flex;align-items:center;gap:7px;pointer-events:auto;flex-shrink:0}.board-action-controls:empty{display:none}.board-action-controls button{font-size:11px;white-space:nowrap;padding:5px 9px;border:1px solid #d3b078aa;background:#453d28;color:var(--gold-light)}.board-action-controls .cancel-selection{background:#633a2c;border-color:#c68b65;color:#ffdec1}.board-action-controls button:hover{filter:brightness(1.15)}.board-action-controls kbd{font:8px inherit;opacity:.6;margin-left:5px}.dock-heading>div.board-action-controls{flex:0 0 auto}.dock-heading.has-selection>div:first-child{overflow:hidden}.dock-heading.has-selection strong{overflow:hidden;text-overflow:ellipsis}.dock-heading.has-selection>div:first-child>span{display:none}@media (hover:hover){.hand-dock:not(.is-recruiting) .drawn-card:hover{transform:translateY(calc(var(--hand-peek) - var(--card-height) - 8px)) rotate(0)}.hand-dock:not(.is-recruiting) .drawn-card:hover .card-highlights{display:none}.hand-dock:not(.is-recruiting) .drawn-card:hover .card-full-ability{display:block}}@media (min-width:901px) and (max-width:1150px){.battle-layout{grid-template-columns:184px minmax(0,1fr) 184px}}@media (max-width:900px){.battle-page{--hand-peek:140px;--dock-space:182px}.board-action-controls{gap:5px}.board-action-controls button{font-size:10px;padding:4px 6px}.board-action-controls kbd{display:none}.card-highlights,.card-highlights p{gap:4px}.card-highlights strong{font-size:9px}.card-highlights p>span{font-size:8px}.dock-heading.has-selection>div:first-child{flex:1 1}}.turn-sidebar{height:calc(100% - 60px);display:flex;flex-direction:column;overflow:hidden;background:#101212;border:1px solid var(--line);padding:0}.right-panel-heading{padding:13px 13px 0;flex-shrink:0}.right-panel-heading .turn-indicator{margin-bottom:10px}.right-tabs{display:grid;grid-template-columns:1fr 1fr;padding:0 10px;border-bottom:1px solid var(--line);flex-shrink:0}.right-tabs button{padding:10px 5px;color:var(--muted);font-size:12px;background:transparent;border:0;border-bottom:2px solid transparent}.right-tabs button[aria-selected=true]{color:var(--gold-light);border-bottom-color:var(--gold);background:#d3b07808}.right-tab-content{flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5a6a4f transparent;overscroll-behavior:contain}.right-tab-content[hidden]{display:none!important}.turn-sidebar .turn-guide{border:0;margin:0;text-align:left;padding:16px 13px;background:transparent}.turn-sidebar .turn-guide h2{font-size:18px;margin-bottom:10px}.turn-sidebar .turn-guide p{font-size:11px;line-height:1.9}.turn-sidebar .turn-guide ol{padding-left:18px;margin-top:18px}.turn-sidebar .turn-guide li{margin-bottom:17px;padding-left:3px}.turn-sidebar .turn-guide li strong{display:block;font-size:12px;color:var(--paper);font-weight:500;margin-bottom:4px}.turn-sidebar .turn-guide li span{display:block;font-size:11px;color:var(--muted);line-height:1.9}.turn-sidebar .battle-log{border:0;padding:13px}.turn-sidebar .battle-log ol{max-height:none;overflow:visible}.turn-sidebar .battle-log li{font-size:11px;padding:11px 0}.chronicle-summary{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px;font-size:10px;color:var(--gold)}.empty-intel{text-align:left}.empty-intel>span{font-size:28px;margin-bottom:12px}.empty-intel h2{font-size:19px;line-height:1.6}.empty-intel>p{font-size:12px;line-height:1.9}.friendly-steps{margin:18px 0;padding:12px 0;border-block:1px solid var(--line)}.friendly-steps p{display:flex;gap:8px;align-items:center;margin:6px 0;font-size:11px;color:var(--paper)}.empty-intel .friendly-card-tip{font-size:11px;color:var(--gold)}@media (max-width:900px){.turn-sidebar{display:none}.turn-sidebar.panel-open{display:flex;flex-direction:column;height:auto;padding:30px 0 0}.right-panel-heading{padding-top:5px}}.turn-sidebar .turn-guide{padding:12px 13px}.turn-sidebar .turn-guide h2{font-size:17px;line-height:1.4;margin-bottom:8px}.turn-sidebar .turn-guide p{line-height:1.7;margin-bottom:6px}.turn-sidebar .turn-guide ol{margin-top:10px;margin-bottom:8px}.turn-sidebar .turn-guide li{margin-bottom:10px}.turn-sidebar .turn-guide li strong{line-height:1.4;margin-bottom:2px}.turn-sidebar .turn-guide li span{line-height:1.6}.turn-sidebar .turn-guide .action-reminder{line-height:1.7}.board-feedback-layer{inset:0;z-index:40}.board-effect,.board-feedback-layer{position:absolute;pointer-events:none}.board-effect{width:0;height:0;animation:board-feedback 2.3s both}.effect-label{display:block;position:absolute;left:0;top:0;transform:translate(-50%,-50%);white-space:nowrap;font-size:clamp(12px,1.3vw,17px);font-weight:700;line-height:1.5;padding:2px 7px;border:1px solid;border-radius:3px;box-shadow:0 3px 9px #0006}.effect-attack .effect-label{color:#fff1dc;border-color:#ef9d72;background:#942d22f5}.effect-counter .effect-label{color:#effaff;border-color:#a0d9dc;background:#244f5af5}.skill-effect .effect-label{font-family:var(--serif);font-size:clamp(11px,1.2vw,16px);color:#fff0bd;border-color:#e7c47e;background:#4b3a17f5;margin-top:-25px}.effect-support .effect-label{color:#e4ffd6;border-color:#afce8a;background:#2d4c2bf5}.board-effect.align-start .effect-label{transform:translate(-15%,-50%)}.board-effect.align-end .effect-label{transform:translate(-85%,-50%)}.skill-ring{position:absolute;width:clamp(27px,4vw,53px);aspect-ratio:1;border:2px solid #e5c774;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 16px #e5c77499;animation:skill-pulse .8s 2}@keyframes board-feedback{0%{opacity:0;translate:0 6px}12%,76%{opacity:1}to{opacity:0;translate:0 -25px}}@keyframes skill-pulse{0%{scale:.8;opacity:1}to{scale:1.4;opacity:0}}@media (prefers-reduced-motion:reduce){.board-effect,.skill-ring{animation:none}}.hero-actions{flex-wrap:wrap}.online-lobby{max-width:920px;width:100%;flex:1 1;margin:0 auto;padding:20px 24px 0}.online-lobby-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.online-lobby-heading>button{flex-shrink:0;font-size:11px}.online-lobby h1{margin:8px 0 0;font-size:clamp(23px,4vw,32px)}.online-intro{margin:12px 0 20px;color:var(--muted);font-size:12px;line-height:1.7}.online-room-card{margin-top:0;padding:22px;border:1px solid var(--line);background:var(--panel)}.online-profile{max-width:360px}.online-profile label small{color:var(--muted);margin-left:8px;font-size:10px}.online-room-card .online-profile input{margin-bottom:0}.online-paths{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.online-paths>form,.online-paths>section{min-width:0;display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);background:#ffffff03}.online-paths h2{margin:8px 0 16px;font-size:21px}.online-create p{flex:1 1;margin:0 0 20px;color:var(--muted);font-size:12px;line-height:1.8}.online-paths .btn{min-height:44px;padding:10px 14px;font-size:13px}.online-account,.online-resume{margin-top:20px;font-size:12px}.online-account{color:var(--muted)}.online-account>summary{cursor:pointer;width:fit-content}.online-account .account-panel{margin-top:12px}.online-room-card label{display:block;color:var(--paper);margin-bottom:8px;font-size:13px}.online-room-card input{display:block;width:100%;margin:0 0 16px;padding:12px;border:1px solid var(--card-line);border-radius:2px;background:var(--card-paper);color:var(--card-ink);font:inherit}.online-room-card input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.online-room-card input::placeholder{color:var(--card-muted)}.online-hint{margin:18px 0 6px;font-size:12px;color:var(--muted);line-height:1.9}.room-code{display:block;color:var(--gold-light);letter-spacing:.16em;font-size:clamp(30px,5vw,45px);margin:6px 0 0;font-family:ui-monospace,monospace}.online-room-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.online-connection{color:var(--muted);font-size:11px}.online-connection[data-connected=true]{color:#b5cca8}.online-invite-row{display:flex;gap:10px}.online-invite-row input{min-width:0;flex:1 1;margin:0;font-size:12px}.online-invite-row .btn{flex-shrink:0;padding:10px 16px;font-size:12px}.online-invite .online-hint{margin-top:10px}.online-seats{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-block:1px solid var(--line);margin:20px 0;padding:16px 0}.online-seats>div{display:flex;flex-direction:column;gap:7px;padding:14px;border:1px solid var(--line)}.online-seats>.red{background:#76212e22}.online-seats>.black{background:#0d396522}.online-seats strong{display:flex;align-items:center;gap:6px;font-size:13px}.online-seats .side-dot{margin:0}.online-seats small{margin-left:auto;font-size:10px;color:var(--muted);font-weight:400}.online-seats span{color:var(--white);overflow-wrap:anywhere}@media (max-width:600px){.online-paths{grid-template-columns:1fr;gap:12px;margin-top:16px}.online-room-card{padding:16px}.online-paths>form,.online-paths>section{padding:14px}.online-paths h2{margin-bottom:12px;font-size:19px}.online-invite-row{flex-direction:column}.draft-rosters.has-random{gap:6px}.draft-random-option strong,.draft-rosters.has-random .roster-heading strong{font-size:11px;gap:4px}.draft-random-option{gap:5px}.draft-random-option small{font-size:9px}}.online-lobby-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.online-error{background:#6d2a2280;border:1px solid #b86a50;padding:12px 16px;line-height:1.8;color:#ffe0cc}.online-draft-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--panel);padding:12px 16px;margin-bottom:20px;font-size:12px}.online-draft-status strong{color:var(--gold-light)}.online-seat-info{display:flex;flex-direction:column;gap:3px;padding:0 0 12px;font-size:10px;color:var(--muted)}.online-seat-info strong{color:var(--gold-light);font-weight:500}.online-mobile-seat{font-size:9px;color:var(--gold-light);white-space:nowrap}.online-mode .hand-dock .general-card:disabled{opacity:1;cursor:default}@media (min-width:761px) and (max-width:1100px){.hero-actions .btn{min-width:135px;padding-inline:16px;gap:16px}}@media (max-width:900px){.online-mode .board-turn-mobile{display:flex;align-items:center;gap:3px}}@media (max-width:500px){.online-lobby{padding:12px 18px 0}.online-lobby h1{font-size:23px}.online-room-card{padding:14px}.online-draft-status{gap:7px;font-size:11px}.online-intro{margin:6px 0 8px}body:has(.online-lobby) .site-footer{padding-inline:18px}.online-room-card input{padding:10px;margin-bottom:10px}.online-profile input{margin-bottom:0}.online-room-card label{font-size:12px;margin-bottom:5px}.online-paths{margin-top:12px;gap:10px}.online-paths>form,.online-paths>section{padding:12px}.online-paths .eyebrow{display:none}.online-paths h2{margin:0 0 8px;font-size:17px}.online-paths>.online-create{display:grid;grid-template-columns:1fr auto;column-gap:10px;align-items:center}.online-create h2{margin:0}.online-create p{margin:3px 0 0;grid-column:1;font-size:11px}.online-create .btn{grid-column:2;grid-row:1/3;width:auto;padding:9px;font-size:11px}.online-hint{margin:12px 0 0;font-size:11px}.online-account{margin-top:12px}}.figure-fit,.figure-hover,.figure-motion,.general-model-stage{display:block;width:100%;height:100%}.figure-fit,.figure-hover,.figure-motion{position:relative}.figure-fit{transform:scale(var(--model-scale,1));transform-origin:50% 100%;transition:transform .2s}.adult-maquette{width:auto;filter:drop-shadow(2px 4px 3px #30291e25)}.adult-maquette,.figure-silhouette{display:block;height:100%;max-width:100%;margin:auto}.figure-silhouette{position:relative;width:max-content;aspect-ratio:1/2}.figure-head-anchor{position:absolute;left:39.1667%;top:5.4167%;width:23.3333%;height:22.5%;pointer-events:none}.general-model-stage{position:relative}.model-fallback{position:absolute;inset:0;display:block}.general-model-asset{display:block;width:100%;height:100%;background:transparent;pointer-events:none;transition:opacity .2s}.general-model-poster{display:block;width:100%;height:100%;object-fit:contain}.figure-inspect{height:340px;width:100%;pointer-events:auto}.figure-inspect .general-model-asset{pointer-events:auto;touch-action:pan-y}.general-card>.figure-card .figure-hover{height:100%}.figure-empty{visibility:hidden}.board-view-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 10px;font-size:10px}.board-view-controls>div{display:flex;align-items:center;gap:4px}.board-camera-pitch{white-space:nowrap;color:#929b89;padding:0 3px}.board-view-controls{flex-shrink:0}.board-angle-control{display:flex;align-items:center;gap:8px;flex:1 1;min-width:100px;max-width:260px;color:#b8b59f}.board-angle-control>span{white-space:nowrap}.board-angle-control output{display:inline-block;min-width:25px;color:#e8c580}.board-angle-control input{width:100%;min-width:40px;margin:0;accent-color:#bca36c;cursor:pointer}.board-view-controls button{color:#b8b59f;background:#151d18;border:1px solid #bca36c33;padding:5px 10px;border-radius:3px;font-size:10px}.board-view-controls button[aria-checked=true],.board-view-controls button[aria-pressed=true]{color:#e8c580;background:#bca36c12;border-color:#bca36c66}.board-view-controls .board-voice-controls{gap:8px}.board-voice-controls a{color:#b8aa81;font-size:9px;text-decoration:none;white-space:nowrap}.board-view-controls button:disabled{opacity:.45;cursor:default}.speech-leader{position:absolute;inset:0;width:100%;height:100%;z-index:74;pointer-events:none;overflow:visible}.speech-leader path{fill:none;stroke:#c8aa6a;stroke-width:1.25;stroke-linecap:round;opacity:.85}.general-speech-bubble{position:fixed;z-index:75;width:max-content;max-width:min(160px,calc(100% - 14px));box-sizing:border-box;padding:5px;border:1px solid #c8aa6a;border-radius:9px;background:linear-gradient(135deg,#f7edcf,#e7d5ab);box-shadow:0 5px 16px #0005;color:#302b20;pointer-events:auto;cursor:pointer;text-align:left}.general-speech-bubble:after{content:"";position:absolute;width:8px;height:8px;background:#eadab6;border-right:1px solid #c8aa6a;border-bottom:1px solid #c8aa6a}.general-speech-bubble.tail-bottom:after{left:var(--speech-tail);bottom:-5px;transform:translateX(-50%) rotate(45deg)}.general-speech-bubble.tail-top:after{left:var(--speech-tail);top:-5px;background:#f3e7c8;transform:translateX(-50%) rotate(225deg)}.general-speech-bubble.tail-left:after{top:var(--speech-tail);left:-5px;transform:translateY(-50%) rotate(135deg)}.general-speech-bubble.tail-right:after{top:var(--speech-tail);right:-5px;transform:translateY(-50%) rotate(-45deg)}.speech-quote{display:block;color:inherit;font:600 13px/1.4 var(--serif);letter-spacing:.025em}.general-speech-bubble:hover{border-color:#a88141;background:linear-gradient(135deg,#fff6de,#e7d5ab)}.general-speech-bubble:focus-visible{outline:2px solid #987640;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.general-lore{color:#c8cdbb;outline:none;overflow-wrap:anywhere;padding:16px;border:0;background:transparent}.journal-general{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:0 0 14px}.journal-general>button{border:0;padding:0 2px;color:#9ba68e;background:none;font-size:19px;cursor:pointer}.journal-general h2{font:500 27px/1.2 var(--serif);letter-spacing:.15em;color:#ece1c3;margin:0 0 6px}.journal-general p{margin:0;font-size:10px;color:#9ba68e}.journal-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;border:1px solid #bda77533;background:#080e0b66;border-radius:5px}.journal-actions button{padding:7px 3px;border:0;border-radius:3px;background:none;color:#8e9d84;font-size:10px;cursor:pointer}.journal-actions button[aria-selected=true]{color:#e7cf98;background:#bda77520;box-shadow:inset 0 0 0 1px #bda77544}.journal-quote{display:flex;align-items:center;gap:12px;padding:17px 0 11px}.journal-quote .general-lore-quote{display:block;flex:1 1;min-width:0;margin:0;padding:0;border:0;text-align:left;background:none;color:#eed9a7;font:500 20px/1.6 var(--serif);cursor:pointer}.journal-quote .general-lore-quote:hover{color:#fff0c8}.journal-section{margin-top:20px;padding-top:15px;border-top:1px solid #bda77530}.journal-section h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#d7c08c;font:500 12px/1.5 sans-serif;letter-spacing:.12em}.journal-section h3>span{font-size:9px;color:#6c7c60;letter-spacing:0}.journal-source a{display:block;padding:10px 12px;border:1px solid #bda77533;border-radius:4px;background:#bda77508;color:#d2c6a8;font-size:12px;line-height:1.8;text-decoration:none}.journal-source a small{display:block;font-size:9px;color:#ad976d;margin-top:4px}.journal-source a:hover{border-color:#bda77588;background:#bda77512}.journal-evidence blockquote{margin:0;border-left:2px solid #b79c6266;padding:2px 0 2px 12px;color:#d2ccb7;font:400 14px/1.95 var(--serif)}.journal-story h4{margin:0 0 10px;color:#e0d2ae;font:500 16px/1.7 var(--serif)}.journal-story p{margin:0 0 13px;color:#bfc7b2;font-size:12px;line-height:2;text-align:justify}.general-lore a:focus-visible,.general-lore button:focus-visible{outline:2px solid #d0b173;outline-offset:3px}.general-lines{padding:0;margin:0;border:0}.standalone-general-lore{position:absolute;z-index:85;left:6px;top:8px;width:min(320px,calc(100% - 12px));max-height:calc(100% - 16px);overflow:auto;background:#111c15fa;box-shadow:0 12px 30px #0007}.general-lines-play{align-self:center;display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #bca87555;border-radius:50%;color:#dcc18b;background:#bca8750b;font-size:11px;cursor:pointer;flex-shrink:0}.general-lines-play:hover{background:#bca87525}.general-lines-play:focus-visible{outline:2px solid #d2b57a;outline-offset:3px}.general-playback-error{color:#d5a481;font-size:10px;line-height:1.7}.general-lines .general-playback-error{margin:7px 0 0}.general-lines button:focus-visible{outline:2px solid #d2b57a;outline-offset:3px}.standalone-general-lines{position:absolute;z-index:65;left:6px;top:8px;width:min(300px,calc(100% - 12px));max-height:calc(100% - 16px);overflow:auto;padding:0;box-sizing:border-box;background:#111c15f5;border:1px solid #bca87540;box-shadow:0 8px 20px #0005}.standalone-general-lines .general-lines{margin:0;border:0;padding:0}@media(max-width:600px){.board-view-controls{flex-wrap:wrap;gap:8px}}.board-frame{transition:transform .22s,margin .22s}.board-frame.board-perspective{transform:perspective(var(--board-perspective)) rotateX(var(--board-tilt)) rotate(var(--board-rotation));transform-origin:center;transform-style:preserve-3d}.board-frame.board-perspective:before{content:"";position:absolute;inset:-1px;background:#71502f;transform:translateZ(-10px);box-shadow:0 18px 32px #0006;pointer-events:none}.board-frame.board-perspective:after{content:"";position:absolute;left:-1px;right:-1px;bottom:-1px;height:10px;transform-origin:center bottom;transform:rotateX(90deg);background:linear-gradient(#a47c47,#624325);border:1px solid #846039;pointer-events:none}.board-edge{display:none}.board-perspective .board-edge{display:block;position:absolute;top:-1px;bottom:-1px;width:10px;background:linear-gradient(90deg,#684727,#a47c47);border:1px solid #846039;pointer-events:none}.board-edge-left{left:-1px;transform-origin:left center;transform:rotateY(90deg)}.board-edge-right{right:-1px;transform-origin:right center;transform:rotateY(-90deg)}.board-perspective .board,.board-perspective .cell,.board-perspective .piece{transform-style:preserve-3d}.board-perspective .cell{isolation:auto}.board-perspective .cell .piece.piece-with-figure{filter:none;outline-width:1px;outline-color:#bbaa6f88}.board-perspective .board-feedback-layer{transform:translateZ(12px);transform-style:preserve-3d}.board-perspective .board-effect{transform:rotate(calc(-1 * var(--board-rotation))) rotateX(calc(-1 * var(--board-tilt)))}.board-presentation{width:100%;height:min(78dvh,900px);min-height:340px;display:flex;flex-direction:column}.board-viewport{flex:1 1;min-height:0;position:relative}.board-presentation:not(.decorative-presentation) .board-viewport{overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.board-zoom-controls{display:flex;border:1px solid #d3b07855;border-radius:5px;background:#090e18ee;overflow:hidden}.board-zoom-controls button{min-width:44px;min-height:44px;padding:6px 8px;border:0;background:transparent;color:var(--gold-light);font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board-zoom-controls button+button{border-left:1px solid var(--line)}.board-zoom-controls button[aria-label="還原棋盤視角"]{font-size:11px}.board-zoom-controls button:not(:disabled):hover{background:#d3b07822}@media (max-width:900px){.battle-page{padding-inline:6px}}.board-viewport:before{content:"";inset:2% -6%;background:radial-gradient(ellipse at 50% 55%,#b2995b0e,#2840340b 42%,transparent 72%)}.board-camera,.board-viewport:before{position:absolute;pointer-events:none}.board-camera{left:50%;top:50%}.board-camera .cell{pointer-events:auto}.board-camera>.board-frame{width:100%;margin:0;transition:none;background:linear-gradient(135deg,#755132,#a07949 23%,#573a27 74%,#8c643c);border-color:#c19c60;box-shadow:inset 0 0 0 2px #d0b17d55,inset 0 0 0 5px #34221633}.board-camera .board{background-color:#e1cca4;background-image:radial-gradient(ellipse at 26% 12%,#fff9e36b,transparent 65%),repeating-linear-gradient(90deg,#6d4a1e09,#6d4a1e09 1px,transparent 0,transparent 4px),repeating-linear-gradient(3deg,transparent,transparent 21px,#fff9e712 22px,transparent 24px);box-shadow:inset 0 0 35px #7d542424,inset 0 0 0 1px #fff3d47a}.board-camera .board-lines{stroke:#82643d;stroke-width:1.4}.board-camera .board-lines text{fill:#84673f;opacity:.8}.board-camera .board-coordinates{color:#dfc18c}.battle-board-section>.board-presentation{flex:1 1;height:auto;min-height:0}.decorative-presentation{height:auto;min-height:0;aspect-ratio:1.45;pointer-events:none}@media (min-width:901px){.battle-page{--hand-peek:96px;--dock-space:132px;padding-inline:18px;background:radial-gradient(ellipse at 50% 42%,#1c282154,transparent 72%)}.battle-layout{grid-template-columns:176px minmax(0,1fr) 176px;gap:16px}.battle-sidebar,.turn-sidebar{margin-top:58px}.turn-sidebar .turn-guide h2{font-size:15px;line-height:1.6;text-wrap:balance}.battle-board-section .board-view-controls{width:min(100%,470px,max(200px,calc(100vw - 700px)));align-self:center;flex-wrap:wrap}.battle-board-section .hand-dock{width:min(720px,calc(100vw - 400px))}.battle-board-section .hand-dock .drawn-card{--fan-angle:0deg;transform:rotate(0deg)}.hand-dock .hand-cards{gap:10px}.hand-dock .drawn-card .general-card.compact{padding:8px 10px;border-color:#b79c6c}.hand-dock .drawn-card .card-heading{margin-bottom:3px;font-size:8px}.hand-dock .drawn-card .general-title{min-height:24px;margin-bottom:3px;padding-right:44px}.hand-dock .drawn-card .general-title strong{font-size:18px}.hand-dock .drawn-card .general-title>span{display:none}.hand-dock .general-card.compact>.figure-card{top:22px;right:8px;width:42px;height:58px}.hand-dock .card-highlights{gap:2px}.hand-dock .card-highlights p{font-size:9px;line-height:1.3}.hand-dock .card-highlights strong{font-size:9px;line-height:1.35}.hand-dock .card-highlights p>span{font-size:8px}.hand-dock .dock-heading{min-height:28px;padding-block:4px;border-color:#b39b6644;background:#101a15ed}.hand-dock:not(.is-recruiting) .drawn-card:focus-within .general-title{min-height:66px}.hand-dock:not(.is-recruiting) .drawn-card:focus-within .general-title>span{display:block}.hand-dock .empty-card-slot{border-color:#b39b6638;background:#17211a55}}@media (min-width:901px) and (hover:hover){.hand-dock:not(.is-recruiting) .drawn-card:hover .general-title{min-height:66px}.hand-dock:not(.is-recruiting) .drawn-card:hover .general-title>span{display:block}}.battle-board-section .piece.piece-with-figure>.piece-label{font-size:clamp(11px,calc(var(--piece-label-size, 24px) * .85),30.6px)}.board .cell{transition:left .42s cubic-bezier(.2,.7,.3,1),top .42s cubic-bezier(.2,.7,.3,1)}.piece.piece-with-figure:after{inset:9%;background:transparent;opacity:.65;z-index:2}.board-camera .piece{width:72%;height:72%;background:radial-gradient(circle at 28% 18%,#fff9e7,#e9d6ad 60%,#b69860);border-color:#98733f}.board-camera .piece[data-side]{color:var(--army-accent)}.piece-base{position:absolute;inset:-1px;transform-style:preserve-3d;pointer-events:none}.piece-base-layer{position:absolute;inset:0;border-radius:50%;background:linear-gradient(145deg,#b89159,#75532f);border:1px solid #8f693a;transform:translateZ(calc(-1px * var(--base-depth)))}.piece-base-layer:nth-child(-n+2){border-color:#d0af72;background:#b18b50}.piece-base-layer:last-child{background:#5c4127;border-color:#594025;box-shadow:0 4px 8px #271b1848}.board-perspective .piece{transform:translateZ(7px)}.board-perspective .piece.selected{transform:translateZ(10px) translateY(-2px)}.piece.piece-with-figure>.piece-label{position:relative;bottom:auto;z-index:3;font-size:clamp(11px,calc(var(--piece-label-size, 24px) * .85),30.6px);text-shadow:0 1px #fff5}.board-perspective .piece>.piece-label{transform:translateZ(1px) rotate(calc(-1 * var(--board-rotation)))}.piece-hud{position:absolute;inset:0;pointer-events:none;transform-style:preserve-3d}.board-perspective .piece-hud{transform:rotate(calc(-1 * var(--board-rotation))) rotateX(calc(-1 * var(--board-tilt))) translateZ(calc(var(--piece-label-size) * 1.2))}.piece-caption{position:absolute;left:50%;top:88%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:5px;min-width:16px;padding:2px 5px;border:1px solid #b9a47488;border-radius:3px;background:#142019ed;color:#f4e4bd;box-shadow:0 2px 5px #0003;opacity:0;transition:opacity .15s;white-space:nowrap}.cell:focus-visible .piece-caption,.cell:hover .piece-caption,.piece.selected .piece-caption{opacity:1}.piece .piece-hud .piece-hp{height:auto;min-width:0;color:#f4e4bd;font-size:9px}.piece .piece-hud .piece-hp,.piece-hud .commander-mark{position:static;padding:0;border:0;background:none;line-height:1.2}.piece-hud .commander-mark{transform:none;color:#dfc17d}.piece.has-commander .piece-hp{padding-left:5px;border-left:1px solid #b9a47455}.piece.is-wounded .piece-caption{border-color:#b7765488;background:#422a22ed}.piece.piece-with-figure.has-commander>.general-figure,.piece.piece-with-figure>.figure-piece{inset:auto;left:50%;bottom:50%;width:118%;height:150%;z-index:4;pointer-events:none}.board-frame:has(.piece.selected) .piece.piece-with-figure>.figure-piece{pointer-events:none}.figure-piece .figure-hover{animation:general-hover 3.4s ease-in-out infinite}.figure-piece:not(.figure-empty):after{content:"";position:absolute;left:22%;bottom:-2%;width:56%;height:7%;border:1px solid #d7bb74aa;border-radius:50%;box-shadow:0 0 9px #e0bd5e44,inset 0 0 7px #d6b76422;pointer-events:none}.board-perspective .figure-piece{transform:translateX(-50%) rotate(calc(-1 * var(--board-rotation))) rotateX(calc(-1 * var(--board-tilt))) translateY(-15%);transform-origin:center bottom}.piece.selected .figure-fit{transform:scale(calc(var(--model-scale, 1) * 1.06))}.board-hide-figures .figure-piece{display:none}.piece-ghost{pointer-events:none;animation:piece-depart .68s ease .18s both}.general-figure[data-motion=attack] .figure-motion{animation:general-attack .48s ease both}.general-figure[data-motion=hit] .figure-motion{animation:general-hit .4s ease both}.general-figure[data-motion=move] .figure-motion{animation:general-step .42s ease both}.general-figure[data-motion=skill] .figure-motion,.general-figure[data-motion=summon] .figure-motion{animation:general-skill .65s ease both}.general-figure[data-motion=defeat] .figure-motion{animation:general-defeat .65s ease both}@keyframes general-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes general-attack{0%,to{transform:translate(0)}38%{transform:translate(calc(var(--attack-x,0) * 9px),calc(var(--attack-y,-1) * 9px))}}@keyframes general-hit{0%,to{transform:translateX(0);filter:none}25%,65%{transform:translateX(-3px);filter:brightness(1.8)}45%,80%{transform:translateX(2px)}}@keyframes general-step{0%,to{transform:translateY(0)}40%{transform:translateY(-5px) rotate(-3deg)}}@keyframes general-skill{0%,to{filter:none;transform:scale(1)}45%{filter:drop-shadow(0 0 8px #e7cb79);transform:scale(1.08)}}@keyframes general-defeat{to{opacity:0;transform:translateY(8px) scale(.8)}}@keyframes piece-depart{to{opacity:0;transform:translateY(7px) scale(.8)}}@media (max-width:600px){.figure-inspect{height:290px}}@media (prefers-reduced-motion:reduce){.board .cell,.board-frame,.figure-fit,.general-model-asset{transition:none}.figure-piece .figure-hover,.general-figure .figure-motion{animation:none!important}.piece-ghost{animation:none;opacity:0}}.left-tabs{padding-inline:7px}.left-tabs button{font-size:11px;padding:11px 2px}.left-tab-content{flex:1 1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#5a6a4f transparent;overscroll-behavior:contain}.left-tab-content[hidden]{display:none!important}.battle-sidebar:has(.left-tabs) .command-panel{border:0;margin:0;background:transparent}.battle-sidebar:has(.left-tabs) .general-lines{margin:0;border:0;padding:3px 0}@media(min-width:901px){.battle-sidebar:has(.left-tabs){display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--line);background:#101914dc}}@media(max-width:900px){.battle-sidebar.panel-open:has(.left-tabs){display:flex;flex-direction:column;overflow:hidden;background:#101914fa;border:1px solid var(--line)}.battle-sidebar .left-tabs{padding-right:35px}}.handoff-modal{max-width:330px;padding:25px}.handoff-turn{display:inline-grid;place-items:center;width:37px;height:37px;border:1px solid #bca87566;border-radius:50%;color:#d3b078;font:24px var(--serif)}.handoff-modal h2{font-size:24px;margin:13px 0 20px}.handoff-modal .last-battle-summary{padding:10px;margin-bottom:18px;font-size:11px}.handoff-modal .handoff-note{margin-top:11px}.action-guide-modal{max-width:440px;padding:25px}.action-guide-modal h2{font-size:23px;margin-bottom:18px}.action-guide-modal .guide-route{margin-block:12px;padding:12px;gap:8px}.action-guide-modal .forecast-result{margin:15px 0 8px}.guide-next{color:var(--muted);font-size:11px;margin:8px 0 17px}.guide-warning{color:#e7bc79;font-size:12px}.guide-details{border-top:1px solid var(--line);padding-top:11px;margin-top:15px;font-size:11px;line-height:1.8;color:var(--muted)}.guide-details summary{cursor:pointer;color:#bca875}.guide-details p{margin:9px 0}.action-guide-modal .modal-actions{margin-top:20px}@media(min-width:901px){.battle-page{--rail-width:clamp(220px,calc((100vw - clamp(560px,105dvh,920px) - 72px)/2),340px)}.battle-layout{grid-template-columns:var(--rail-width) minmax(0,1fr) var(--rail-width);gap:16px}.battle-sidebar:has(.left-tabs){height:calc(100% - 58px)}.battle-sidebar .general-lore{padding:17px}.battle-sidebar .journal-entry-container{padding:0}.battle-sidebar .journal-entry-container>.empty-intel{padding:17px}.battle-board-section .board-view-controls{width:min(100%,470px)}.battle-board-section .hand-dock{width:min(720px,calc(100vw - 2 * var(--rail-width) - 72px))}}@media(min-width:901px) and (max-width:1100px){.battle-page{--rail-width:clamp(190px,20vw,220px)}}.board-presentation{position:relative}.game-settings-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid #bca36c66;border-radius:5px;background:#101914ed;color:#e8cf98;font-size:12px;cursor:pointer}.game-settings-trigger>span{font-size:19px;line-height:1}.game-settings-trigger:hover,.game-settings-trigger[aria-expanded=true]{border-color:#c7a96c;background:#253025}.game-settings-trigger:focus-visible{outline:2px solid #d0b67b;outline-offset:3px}.in-game .header-right{padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.board-settings-trigger{position:absolute;top:0;right:0;z-index:60}.game-settings{max-width:440px;padding:28px}.game-settings>h2{margin:0 0 22px;font:500 29px var(--serif);color:var(--paper);letter-spacing:.12em}.game-settings-section{margin:0 0 20px}.game-settings-section h3{margin:0 0 10px;color:#bda875;font-size:11px;letter-spacing:.12em;font-weight:500}.game-settings .board-view-controls{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:12px;margin:0;font-size:12px}.game-settings .board-view-controls>div{gap:8px}.game-settings .board-view-controls button{padding:9px 12px;font-size:12px}.game-settings .board-angle-control{width:100%;max-width:none;gap:10px}.game-settings .board-angle-control input{min-height:24px}.game-settings .board-camera-pitch{margin-left:auto}.game-settings .board-voice-controls{justify-content:space-between}.game-settings .board-voice-controls a{font-size:12px}.game-settings .guide-toggle{width:100%;font-size:12px;padding:10px 12px}.game-setting-value{margin-left:auto;font-size:11px;color:var(--muted)}.game-settings-links{display:grid;grid-template-columns:1fr;gap:10px;padding-top:16px;border-top:1px solid var(--line)}.game-settings-links button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;color:#d6c8a2;background:#bca36c08;border:1px solid #bca36c44;border-radius:3px;font-size:12px;cursor:pointer}.game-settings-links button:hover{border-color:#c7a96c}.game-settings-status{margin:16px 0 0;color:var(--muted);font-size:10px;text-align:right}@media(max-width:600px){.game-settings{padding:24px 20px}.game-settings-trigger{min-height:38px;padding:7px 11px}}[data-side=red]{--army-accent:#c91b28;--army-rim:#ef3d38;--army-light:#fff1db;--army-surface:#a90f1c}[data-side=black]{--army-accent:#1b1916;--army-rim:#a59a87;--army-light:#fff3dc;--army-surface:#11100f}.board-camera .piece[data-side]:after{border-color:var(--army-accent)}.board-camera .piece[data-side] .piece-caption{border-left:3px solid var(--army-rim)}.board-camera .piece[data-side].is-wounded .piece-hp{color:#ffd18a}.board-camera .piece[data-side].is-wounded .piece-caption{border-style:dashed}.board-camera .piece[data-side]:not(.selected){outline:none}.board-camera .piece[data-side].selected{outline:2px solid #f2cb73;outline-offset:3px;box-shadow:0 3px 4px #0005,inset 0 0 0 1px #f2cb7322}.card-origin{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px}.general-card .card-side{padding:1px 5px;border-radius:2px;background:var(--army-accent);color:#fff0d4;font-size:9px;line-height:1.5;white-space:nowrap}.general-card[data-side]{box-shadow:inset 0 2px var(--army-accent)}.general-card[data-side].chosen{border-color:#99763d;box-shadow:inset 0 0 0 2px #99763d,inset 0 3px var(--army-accent)}.general-card[data-side].chosen .card-check{color:var(--army-accent)}.general-card[data-side]:focus-visible{outline-color:var(--army-accent)}.hand-dock[data-side] .drawn-card .general-card.compact{box-shadow:inset 0 2px var(--army-accent),0 -8px 25px #0005}.hand-dock[data-side] .drawn-card .general-card.chosen{border-color:#99763d;box-shadow:inset 0 0 0 2px #99763d,inset 0 3px var(--army-accent),0 -4px 18px #0006}.hand-dock[data-side] .dock-heading{border:0;border-radius:6px;box-shadow:0 5px 22px #0004}.hand-dock[data-side] .dock-heading.has-selection{border-color:var(--army-rim);background:var(--army-surface)}.hand-dock[data-side] .dock-heading.has-selection strong{color:var(--army-light)}.battle-sidebar[data-side] .info-piece{color:var(--army-light);border-color:var(--army-rim);background:var(--army-surface)}.turn-indicator[data-side] .turn-indicator-seal{color:#fff0d4;background:var(--army-accent);border-color:var(--army-rim);box-shadow:inset 0 0 0 3px var(--army-surface)}body:has(.battle-page){background:var(--army-background)}.battle-page{--battle-background:var(--army-background);--battle-panel:var(--army-panel);background:var(--battle-background)}.battle-page .battle-sidebar,.battle-page .turn-sidebar{background:var(--battle-panel)}.piece-vitals{position:absolute;inset:-12%;pointer-events:none;transform:translateZ(2px);transform-style:preserve-3d;z-index:3}.piece-vital-rings{display:block;width:100%;height:100%;overflow:visible;fill:none}.health-ring-track{stroke:#171b2088;stroke-width:5;stroke-linecap:round}.health-ring{stroke:#8fb8a4;stroke-width:5;stroke-linecap:round;transition:stroke-dasharray .35s}.piece.is-wounded .health-ring{stroke:#e4b973}.charge-ring{fill:#43464c;stroke:#b5a98a88;stroke-width:1}.charge-ring.is-charged{fill:#f4cf79;stroke:#fff0ba}.piece-vital-hp{position:absolute;left:50%;top:88%;display:grid;place-items:center;min-width:15px;height:14px;padding:0 3px;border:1px solid #b5a98a66;border-radius:3px;background:var(--piece-badge,#18232e);color:var(--piece-ink,#fff4dc);font-size:10px;font-weight:700;line-height:1;transform:translate(-50%,-50%) rotate(calc(-1 * var(--board-rotation))) rotateX(calc(-1 * var(--board-tilt)))}.board-perspective .piece-hud{transform:rotate(calc(-1 * var(--board-rotation))) rotateX(calc(-1 * var(--board-tilt))) translateZ(calc(var(--piece-label-size) * 1.6))}.board-camera .piece[data-side] .piece-caption{top:100%;min-width:0;padding:1px 4px;border:1px solid #c4b49155;background:#10151edb;text-shadow:0 1px 2px #000}.board-camera .piece.has-commander .piece-caption{opacity:1}.piece-hud{z-index:6}.piece-hud .commander-mark{font-size:9px;color:#f0e3c8}.board-camera .piece[data-side]{--piece-badge:#eee1c6;color:var(--piece-ink);background:radial-gradient(circle at 30% 20%,#fff3d9,#e4cd9f 75%,#ad8c58);border-color:#b68968}.board-camera .piece[data-side=red]{--piece-ink:#a52a35;--base-ring-color:#a7363e;--base-ring-track:#d3b8a0}.board-camera .piece[data-side=black]{--piece-ink:#252723;--base-ring-color:#292c29;--base-ring-track:#c3b9a4}.board-camera .figure-piece:after,.board-camera .piece[data-side]:after{display:none}@media(prefers-reduced-motion:reduce){.health-ring{transition:none}}.home .hero-art{width:100%;max-width:740px;padding:0;margin:0;perspective:none}body:has(main.home){display:flex;flex-direction:column}main.home{flex:1 1;min-height:0;width:100%;padding:clamp(16px,3dvh,32px) 6%;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto;align-content:center;gap:clamp(16px,3vw,40px);overflow:visible}.home .hero-copy{padding:0;width:100%;max-width:540px;justify-self:center}.home .hero-logo{width:min(100%,420px);margin:0 0 clamp(14px,3dvh,28px)}.home .hero-description{margin-bottom:0}.home .hero-actions{margin:20px 0 0;gap:10px}.home .hero-actions .btn{flex:1 1;min-width:0;min-height:44px;padding:12px 10px;justify-content:center;font-size:13px}.computer-label{max-width:45vw;color:var(--gold-light);font-size:11px;line-height:1.5}.computer-setup{max-width:480px}.computer-levels{display:grid;gap:10px;margin:20px 0;padding:0;border:0}.computer-levels legend{margin-bottom:10px;color:var(--gold-light);font-size:13px}.computer-levels label{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:4px;cursor:pointer}.computer-levels label.is-selected{border-color:var(--gold);background:#bca36c12}.computer-levels input{accent-color:var(--gold)}.computer-levels small,.computer-levels strong{display:block}.computer-levels small{margin-top:5px;color:var(--muted);line-height:1.6}.computer-sides{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.computer-sides label{gap:8px;padding:10px}.computer-draft-status{color:var(--gold-light);font-size:13px}.home .account-summary{margin-top:14px;padding-top:8px}.home .account-summary button{padding:8px 12px}@media (max-width:760px){main.home{grid-template-columns:1fr;gap:12px;padding:12px 7%}.home .hero-logo{width:min(100%,340px);margin-bottom:14px}.home .hero-copy h1{margin-bottom:8px;font-size:clamp(16px,4.7vw,19px)}.home .hero-actions{margin-top:16px}.home .hero-actions .btn{flex-basis:calc(50% - 10px);padding:10px;font-size:12px}.home .hero-art{max-width:min(100%,440px);justify-self:center}}@media (max-width:760px) and (max-height:620px){.home .hero-art{max-width:min(100%,max(140px,calc((100dvh - 400px) * 1.3)))}}@media (min-width:761px) and (max-height:480px){.home .hero-logo{max-width:250px;margin-bottom:12px}.home .hero-actions{margin-top:12px}}@media (max-width:900px){.computer-label{position:fixed;top:80px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:5px 10px;background:#14110ee6;border:1px solid var(--line);border-radius:3px;white-space:nowrap}}.draft-grid .general-card>.figure-card{height:170px}.hand-dock .general-card.compact>.figure-card[data-asset=model]{top:10px;right:-2px;width:90px;height:112px}.piece.piece-with-figure>.figure-piece[data-asset=model]{width:270%;height:330%;pointer-events:none}.figure-piece[data-framing=series-v2] .figure-fit{transform:translate(-11.25%,31.33%) scale(var(--model-scale,1));transform-origin:61.25% 83.67%}.piece.selected>.figure-piece[data-framing=series-v2] .figure-fit{transform:translate(-11.25%,31.33%) scale(calc(var(--model-scale,1) * 1.06))}.figure-piece[data-framing=series-v2]:after{display:none}.figure-piece[data-framing=series-v2] .figure-model-head{left:56%;top:30%;width:14%;height:12%}.piece.piece-with-figure>.figure-piece[data-asset=model] .general-model-stage:after{content:"";position:absolute;left:40%;top:20%;width:35%;height:72%;pointer-events:none}.board-frame.board-targeting .piece.piece-with-figure>.figure-piece,.board-frame.board-targeting .piece.piece-with-figure>.figure-piece[data-asset=model] .general-model-stage:after{pointer-events:none}.account-panel-compact{margin:12px 0 0;padding:10px 12px}.account-panel-compact>.online-hint,.account-panel-compact>div>p{display:none}.account-panel-compact .account-actions{gap:8px 12px;margin-top:8px}.account-panel-compact .btn{min-height:32px;padding:6px 10px;font-size:11px}.account-panel-compact .text-button,.account-panel-compact strong{font-size:11px}.appointment-guide-choice{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:12px}.account-trigger{white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.draft-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:10px}.draft-grid>.general-card{display:flex;flex-direction:column;padding:10px}.draft-grid .general-card>.figure-card{flex:0 0 clamp(130px,32vw,144px);height:clamp(130px,32vw,144px);margin:0 0 10px}.draft-grid .card-heading{margin-bottom:8px;min-height:18px}.draft-grid .general-title{min-height:32px;margin-bottom:8px}.draft-grid .card-full-ability{margin-bottom:8px}.draft-grid .card-full-ability:last-child{margin-bottom:0}.hand-dock .general-card.compact>.figure-card[data-asset=model]{width:80px;height:100px}.account-trigger{padding:7px 8px;font-size:11px;max-width:112px}}.account-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:460px;margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}.account-summary strong{min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis}.account-panel button,.account-summary button{min-height:44px;font-size:13px}.account-panel{border:0;padding:0;margin:0}.online-lobby>.account-panel{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.account-panel>strong{font-size:17px}.account-trigger{min-height:44px}@media(min-width:901px){.battle-page{--hand-peek:120px;--dock-space:156px}.hand-dock .general-card.compact:has(>.figure-card[data-asset=model]) .general-title{padding-right:66px}.hand-dock .general-card.compact:has(>.figure-card[data-asset=model]) .card-highlights{padding-right:62px}}@media(max-width:900px){.battle-sidebar.panel-open:has(.left-tabs){height:calc(100dvh - 64px - var(--dock-space) - var(--panel-tools-space));bottom:auto;max-height:none}.battle-sidebar .left-tabs{flex-shrink:0}}.battle-page .board-presentation{position:fixed;inset:56px 0 0;z-index:1;width:100%;height:auto;min-height:0;pointer-events:none}.battle-page .board-viewport{pointer-events:auto;overflow:visible}.board-pan-surface{position:absolute;inset:0}.board-presentation:not(.decorative-presentation) .board-pan-surface{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent),linear-gradient(transparent,#000 20px,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent),linear-gradient(transparent,#000 20px,#000 calc(100% - 64px),transparent);-webkit-mask-composite:source-in,xor;mask-composite:intersect}.battle-page .battle-sidebar,.battle-page .turn-sidebar{background:color-mix(in srgb,var(--battle-panel) 78%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.battle-page .battle-log,.battle-page .command-panel,.battle-page .turn-guide{background:transparent}.hand-dock{--hand-card-start:#f0e2c5f5;--hand-card-end:#e2cca0f5;--hand-card-radius:5px;--hand-card-shadow:0 -8px 25px #0005}.hand-dock .general-card{--card-start:var(--hand-card-start);--card-end:var(--hand-card-end);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.hand-dock[data-side] .dock-heading.has-selection{background:color-mix(in srgb,var(--army-surface) 28%,var(--panel))}.hand-dock:before{background:radial-gradient(ellipse at bottom,#03040488,transparent 75%)}@media (min-width:901px){.battle-sidebar,.turn-sidebar{position:relative;z-index:20}}.battle-panel-controls{z-index:35}.battle-board-section .board-legend{position:fixed;bottom:calc(var(--dock-space) + var(--panel-tools-space) + 2px);left:0;right:0;z-index:15;pointer-events:none}.board-status-layer{position:absolute;inset:0;z-index:4;pointer-events:none}.board-piece-status{position:absolute;width:0;height:0;pointer-events:none}.base-vitals{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:translateZ(.6px)}.vital-health-track{fill:none;stroke:var(--base-ring-track);stroke-width:9}.vital-health{fill:none;stroke:var(--base-ring-color);stroke-width:7;stroke-linecap:butt;transition:stroke-dasharray .3s}.board-piece-status[data-side=red]{--status-army:#a7363e;--status-edge:#d38e86}.board-piece-status[data-side=black]{--status-army:#292c29;--status-edge:#a69d83}.piece-vital-badge{position:absolute;left:var(--strength-x);top:var(--strength-y);transform:translate(-50%,-50%);display:grid;place-items:center;min-width:calc(var(--status-size) * 1.15 + 5px);padding:1px 2px;background:var(--status-army);border:1px solid var(--status-edge);border-radius:2px 2px 4px 4px;box-shadow:inset 0 1px 2px #0009,inset 0 -1px #ffebbd22}.board-piece-status .piece-vital-hp{position:static;transform:none;min-width:.9em;height:auto;padding:0;font-size:clamp(8px,var(--status-size),11px);font-weight:750;color:#fff3d8;text-shadow:0 1px 1px #120e09;background:none;border:0;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board-piece-status .piece-caption{top:6px;left:0;transform:translateX(-50%);opacity:1;min-width:0;padding:2px 3px;gap:3px;font-size:var(--status-size);background:var(--status-army);border:1px solid var(--status-edge);line-height:1.2}.board-piece-status .commander-mark{position:static;transform:none;padding:0;background:none;border:0;color:#f3e6c9;font-size:inherit;line-height:inherit}.piece-charge-meter{position:relative;display:block;flex-shrink:0;width:4px;height:calc(var(--status-size) * 1.4);overflow:hidden;background:var(--charge-track)}.piece-charge-fill{position:absolute;inset:auto 0 0;height:var(--charge-height);background:var(--charge-fill);transition:height .2s}.piece-charge-meter:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to top,transparent 0,transparent calc(20% - 1px),var(--charge-divider) calc(20% - 1px),var(--charge-divider) 20%)}.dock-notice{position:absolute;bottom:calc(100% + 8px + var(--panel-tools-space, 0px));left:0;right:0;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--battle-panel) 94%,black);box-shadow:0 5px 24px #0005;pointer-events:auto}.dock-notice>span{flex:1 1;color:#ffe0a2;font-size:12px;line-height:1.6;text-align:left}.dock-notice>button{flex-shrink:0;min-width:32px;min-height:32px;padding:0;border:0;color:#e4cfab;background:transparent;font-size:20px}.board-skill-effect{color:var(--white);font-size:12px;line-height:1.6;margin:5px 0}.battle-sidebar .ability .passive-ability-label{color:#a7c6b2}.card-highlights p:first-child>span,.general-card .ability .passive-ability-label{color:#486346}@media (max-width:600px){.board-skill-effect{font-size:11px}.dock-notice{padding:8px 10px}}@media (prefers-reduced-motion:reduce){.vital-health{transition:none}}.dock-heading.has-skill{flex-wrap:wrap;row-gap:2px;padding-block:3px}.dock-heading>.dock-skill-action{flex:1 0 100%;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:2px;padding-top:2px;border-top:1px solid var(--line)}.dock-skill-copy{min-width:0}.dock-skill-summary{margin:0;font-size:12px;line-height:1.5}.dock-heading .dock-skill-copy strong{display:inline;margin-right:7px;font-size:12px;line-height:inherit;color:var(--gold-light)}.dock-heading .dock-skill-copy .board-skill-effect{font-size:12px;line-height:inherit;color:var(--white)}.dock-skill-copy>small{display:block;margin-top:2px;font-size:10px;line-height:1.4;color:#f1d19a}.dock-skill-action>.btn{--skill-button-face:var(--gold);--skill-button-edge:var(--gold);position:relative;isolation:isolate;display:flex;justify-content:center;line-height:1.35;letter-spacing:0;min-height:44px;padding:7px 8px;align-self:center;background:transparent;border:0;box-shadow:none}.dock-skill-action>.btn:before{content:"";position:absolute;inset:7px 0;z-index:-1;border:1px solid var(--skill-button-edge);background:var(--skill-button-face);border-radius:2px;pointer-events:none}.dock-skill-action>.btn.active-skill{--skill-button-face:#d3b07826}.dock-skill-action>.btn.primary:not(:disabled):hover{--skill-button-face:var(--gold-light);background:transparent}.dock-heading .dock-skill-action>.btn>span{color:inherit;font-size:11px}@media (max-width:600px){.dock-heading>.dock-skill-action{column-gap:8px;row-gap:2px}.dock-heading .dock-skill-copy .board-skill-effect,.dock-heading .dock-skill-copy strong,.dock-skill-summary{font-size:11px}.dock-skill-action>.btn{max-width:84px}.dock-heading .dock-skill-action>.btn>span{font-size:10px}}.dock-heading>.battle-panel-controls{display:none;pointer-events:none}.dock-heading>.battle-panel-controls button{pointer-events:auto}@media (max-width:900px){.dock-heading>.battle-panel-controls{display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0;height:32px}}.dock-skill-action>.btn:disabled{--skill-button-face:#191712b3;--skill-button-edge:#a68b5e66;opacity:1;background:transparent;color:#c3b291}.dock-heading>.dock-selection-summary{flex-direction:column;align-items:flex-start;gap:2px}.dock-title{display:flex;align-items:center;gap:6px;min-width:0}.dock-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.dock-heading .turn-skill-status{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;color:#ffe1a0;font-size:11px;line-height:1.5;white-space:nowrap;text-align:left}.turn-skill-status i{width:5px;height:5px;border:1px solid;border-radius:50%;background:currentColor}.turn-skill-state{display:inline-flex;flex-shrink:0}.dock-heading .turn-skill-status.is-used,.dock-heading .turn-skill-status[data-used=true]{color:#c7b6a6}.turn-skill-status.is-used i,.turn-skill-status[data-used=true] i{background:transparent}.turn-skill-status.is-used{min-height:28px;margin-block:-6px;padding:0;border:0;background:none;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.turn-skill-status:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.stat-tooltip:has(.turn-skill-detail){width:230px;max-width:calc(100vw - 24px)}.turn-skill-detail .turn-skill-target{color:#ddc9a8;font-size:11px}.dock-heading.has-selection>.dock-selection-summary:first-child{overflow:visible}.dock-unit-stats{display:flex;flex-wrap:wrap;gap:3px 7px;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dock-unit-stats b{color:var(--white);font-size:10px;font-weight:650}.dock-unit-stats small{margin-left:-2px;font-size:8px}.unit-stat{padding:0;border:0;background:transparent;color:#dfc7a7;font:inherit;cursor:pointer}.dock-unit-stats .unit-stat{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:24px;margin-block:-7px;font-size:9px;white-space:nowrap}.dock-unit-stats .unit-stat>span{color:inherit}.dock-unit-stats .morale-modifier{margin-left:-3px}.unit-stat[data-stat=morale] b,.unit-stat[data-stat=morale] strong{color:inherit}.unit-stat[data-level=high]{color:#ffdc84}.unit-stat[data-level=low]{color:#ffacb5}.unit-stat:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.legion-stats>.unit-stat{min-height:56px;border-right:1px solid var(--line);text-align:center}.legion-stats>.unit-stat:nth-child(2n){border:0}.legion-stats>.unit-stat>span{display:block;font-size:10px;color:var(--muted)}.stat-tooltip{position:fixed;z-index:120;width:min(280px,calc(100vw - 24px));max-height:min(340px,calc(100dvh - 24px));overflow-y:auto;padding:10px 12px;border:1px solid #b49963;border-radius:4px;background:#211c18;color:#f5e6ce;box-shadow:0 4px 20px #0008;font-size:12px;line-height:1.6}.stat-tooltip strong{color:#ffe3a2;font-size:12px}.stat-tooltip p{margin:3px 0 0}.stat-breakdown{margin:6px 0}.stat-breakdown>div{display:flex;justify-content:space-between;gap:12px}.stat-breakdown dt{overflow-wrap:anywhere}.stat-breakdown dd{margin:0;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-context-note{padding-top:5px;border-top:1px solid #b4996333;color:#ddc9a8}.stat-tooltip{--effect-positive:#98dfb0;--effect-negative:#ffacb5}.stat-breakdown [data-effect=positive] dd,.stat-context-note[data-effect=positive]{color:var(--effect-positive)}.stat-breakdown [data-effect=negative] dd,.stat-context-note[data-effect=negative]{color:var(--effect-negative)}.effect-duration{display:block;width:fit-content;margin-top:2px;padding:0 4px;border:1px solid #b4996355;border-radius:3px;color:#e4cda5;background:#b4996310;font-size:10px;font-weight:400;line-height:1.5}.stat-breakdown>div+div{margin-top:3px}.piece-label-stack{position:absolute;top:6px;left:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px}.board-piece-status .piece-label-stack .piece-caption{position:relative;top:auto;left:auto;transform:none}.piece-effect-markers{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.piece-effect-markers:empty{display:none}.board-piece-status .piece-effect-markers{transform:translate(var(--marker-x,0),var(--marker-y,0))}.board-effect-trigger>.piece-effect-marker,.piece-effect-markers>.piece-effect-marker{display:inline-flex;align-items:center;justify-content:center;gap:1px;min-width:15px;height:15px;padding:0 2px;border:1px solid #498064;border-radius:3px;background:#10291f;color:#b2f2c7;font-size:10px;font-weight:650;line-height:1;box-shadow:0 1px 3px #0009}.piece-effect-marker[data-kind=debuff],.piece-effect-marker[data-kind=silence]{background:#371c28;color:#ffc0cc;border-color:#b46b80}.piece-effect-marker[data-urgent=true]{border-color:#ffe0a2;box-shadow:0 0 0 1px #ffe0a255,0 1px 3px #0009}.piece-effect-marker b{color:#fff1cd;font:inherit;font-weight:800}.dock-unit-stats .unit-effects{display:flex;align-items:center;min-height:28px;margin-block:-7px;padding:0;border:0;background:none;cursor:pointer}.unit-effects:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.unit-effect-detail{margin-top:6px;padding-top:5px;border-top:1px solid #b4996333}.unit-effect-values{display:flex;flex-wrap:wrap;gap:3px 8px}.unit-effect-values [data-effect=positive]{color:var(--effect-positive)}.unit-effect-values [data-effect=negative]{color:var(--effect-negative)}.unit-effect-detail[data-urgent=true] .effect-duration{border-color:#ffe0a2}.board-effect-trigger{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:24px;min-height:24px;padding:0;border:0;background:transparent;font:inherit;pointer-events:auto;touch-action:manipulation;cursor:pointer}.board-effect-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:1px;border-radius:3px}.board-stat-dismiss{position:fixed;inset:0;z-index:119;background:transparent}.unit-active-effects{--effect-positive:#98dfb0;--effect-negative:#ffacb5;font-size:11px;line-height:1.5}@media (min-width:901px){.dock-heading>.dock-selection-summary{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}}.online-quick-match{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;margin-top:14px;padding:10px 12px;border:1px solid #b4996366;background:#b499630b}.online-quick-match h2{margin:0;font-size:16px}.online-quick-match p{margin:4px 0 0;color:var(--muted);font-size:11px}.online-quick-match strong{color:var(--gold-light);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.online-quick-match .btn{min-height:44px;padding:8px 12px;font-size:12px}.online-quick-match .online-match-error{grid-column:1/-1;color:#ffacb5}.online-entry-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:16px}.online-entry-top.has-invite{grid-template-columns:1fr}.online-entry-top .online-profile{max-width:none}.online-entry-top .online-quick-match{margin-top:0}@media (max-width:600px){.online-entry-top{grid-template-columns:1fr;gap:8px}.online-paths>.online-join{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.online-join h2{grid-column:1;grid-row:1;margin:0}.online-room-card .online-join label{grid-column:2;grid-row:1;margin:0;font-size:10px;text-align:right}.online-room-card .online-join input{grid-column:1;grid-row:2;min-width:0;margin:0}.online-join .btn{grid-column:2;grid-row:2;padding:9px;font-size:11px}}.movement-lore .journal-section p{line-height:1.9}.movement-lore button:disabled{cursor:default;opacity:.55}.movement-setting-hint,.movement-voice-note{color:var(--muted);font-size:12px;line-height:1.7}.movement-setting-hint{margin:0 0 12px}.movement-entry-link{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;margin:0 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#bda7750a;color:var(--gold);text-align:left;line-height:1.7}.movement-entry-link span{color:var(--muted);font-size:11px}.left-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.left-tabs button,.stat-formula{white-space:nowrap}.stat-formula{display:inline-flex;align-items:baseline;justify-content:center;gap:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.unit-stat.is-panel>.stat-formula{display:flex;font-size:14px;font-weight:650}.stat-formula [data-effect=positive]{color:#98dfb0}.stat-formula [data-effect=negative]{color:#ffacb5}.stat-formula .stat-equals,.stat-formula [data-effect=neutral]{color:#bba98f}.stat-formula .stat-total{color:#ffe3a2}.dock-unit-stats .stat-formula{gap:1px}.legion-stats>.unit-stat>.morale-bonus{margin-top:2px;font-size:10px;color:#c7c0b4}.legion-stats>.unit-stat>.morale-bonus[data-effect=positive]{color:#98dfb0}.stat-formula-legend{margin:5px 0 0;color:#bba98f;font-size:10px;line-height:1.5;text-align:center}.board-camera .figure-piece,.board-camera .figure-piece *,.board-camera .figure-piece .general-model-stage:after,.board-camera .figure-piece:after{pointer-events:none}.board-camera .figure-piece{transition:opacity .14s ease}.board-frame.board-targeting .figure-piece{opacity:.24}.board-frame.board-targeting .figure-piece[data-selected=true]{opacity:.4}.board-camera .cell[aria-pressed=true]:after,.board-camera .cell[data-target-kind]:before{content:"";position:absolute;inset:5%;border:2px solid;border-radius:10%;pointer-events:none}.board-camera .cell[data-target-kind=move]:before{border-color:#126b50;background:#16845d35;box-shadow:inset 0 0 0 1px #fff3ceaa}.board-camera .move-dot{position:relative;width:48%;height:48%;box-sizing:border-box;border:2px solid #124f3b;background:#24ad78;box-shadow:0 0 0 2px #fff4d9,0 2px 5px #12372888;pointer-events:none}.board-camera .move-dot:after{content:"";position:absolute;inset:30%;border-radius:50%;background:#fff5d5}.board-camera .cell[data-target-kind=attack]:before{border-color:#ad1c31;background:#ba233b28;box-shadow:inset 0 0 0 1px #fff2d5}.board-camera .piece[data-side].attack-target{outline:3px solid #bd263b;outline-offset:2px}.board-camera .cell[data-target-kind=appoint]:before,.board-camera .cell[data-target-kind=support]:before{border-color:#9a6710;background:#eec15144;box-shadow:inset 0 0 0 1px #fff2b8}.board-camera .cell[aria-pressed=true]:after{inset:3%;border-color:#fff3be;box-shadow:0 0 0 2px #97620b;background:#f4c84718}@media (hover:hover){.board-camera .board:hover .figure-piece{opacity:.24}.board-camera .board:hover .figure-piece[data-selected=true]{opacity:.4}.board-camera .cell[data-piece-id]:not([aria-pressed=true]):hover:after{content:"";position:absolute;inset:4%;border:2px solid #fff3be;border-radius:10%;box-shadow:0 0 0 1px #68502a;pointer-events:none}}@media (prefers-reduced-motion:reduce){.board-camera .figure-piece{transition:none}}.board-legend .legend-dot{width:9px;height:9px;background:#24ad78;border:1px solid #fff4d9;box-shadow:0 0 0 1px #124f3b}.board-legend .legend-attack{border:2px solid #d84353;border-radius:2px;background:#ba233b28}.resource-meter{--resource-colour:#96d7b7;--resource-track:#0c1715;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 7px;gap:6px;width:100%;min-width:0;color:#efe5d4;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:left}.resource-meter[data-resource=morale]{--resource-colour:#e6bd73;--resource-track:#30261a}.resource-meter[data-resource-level=low]{--resource-colour:#edc179}.resource-meter[data-resource-level=critical]{--resource-colour:#ed8f9b}.resource-meter-head{display:flex;align-items:baseline;justify-content:space-between;gap:5px;min-width:0}.resource-meter-caption{display:inline-flex;align-items:baseline;gap:4px;min-width:0}.numeric-stat .stat-label,.resource-meter .stat-label{color:#c8bda9;font-size:10px;font-weight:400;white-space:nowrap}.resource-meter-value{display:inline-flex;align-items:baseline;gap:1px;margin-left:auto;white-space:nowrap}.resource-meter .resource-meter-value b{color:var(--resource-colour);font-family:inherit;font-size:17px;font-weight:650}.resource-meter .resource-meter-value small{margin:0;color:#b9ac94;font-size:10px;line-height:1}.resource-meter .resource-meter-hint{color:#bfb29c;font-size:9px;white-space:nowrap}.resource-meter .resource-meter-hint[data-effect=positive]{color:#98dfb0}.resource-meter-track{position:relative;display:block;height:7px;border:1px solid #e5d2aa35;border-radius:2px;background:var(--resource-track);overflow:visible}.resource-meter-fill{position:absolute;inset:0 auto 0 0;width:var(--resource-fill);border-radius:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--resource-colour) 65%,#70502b),var(--resource-colour));transition:width .2s}.resource-meter-ticks{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(var(--resource-step) - 1px),#0f171aaa calc(var(--resource-step) - 1px),#0f171aaa var(--resource-step))}.resource-meter.is-compact{grid-template-rows:auto 5px;gap:4px}.resource-meter.is-compact .resource-meter-track{height:5px}.resource-meter.is-compact .resource-meter-value b{font-size:12px}.resource-meter.is-compact .resource-meter-value small,.resource-meter.is-compact .stat-label{font-size:9px}.resource-meter.is-compact .resource-meter-hint{font-size:8px}.numeric-stat{display:grid;gap:5px;min-width:0;width:100%;line-height:1;text-align:left}.numeric-stat-head{display:flex;justify-content:space-between;gap:3px}.numeric-stat-context{color:#edcd8c;font-size:9px}.numeric-stat .stat-formula{justify-content:flex-start;gap:2px;font-size:15px;font-weight:600;line-height:1}.numeric-stat .stat-formula>b{font-size:inherit}.numeric-stat .stat-total{color:#ffe3a2}.legion-stats{gap:6px;margin-bottom:6px}.legion-stats>.unit-stat{min-width:0;min-height:62px;padding:8px;border:1px solid #c4aa7838;border-radius:4px;background:#b89d6510;text-align:left}.legion-stats>.unit-stat:nth-child(2n){border:1px solid #c4aa7838}.legion-stats>.unit-stat>.numeric-stat,.legion-stats>.unit-stat>.resource-meter{display:grid}.legion-stats>.unit-stat[data-stat=attack],.legion-stats>.unit-stat[data-stat=defense]{min-height:57px}.dock-heading>.dock-selection-summary{flex:1 1;align-items:stretch}.dock-unit-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%}.dock-unit-stats .unit-stat{display:block;min-width:0;min-height:34px;margin:0;padding:3px 5px;border:1px solid #e8c88c40;border-radius:3px;background:#130f0a36;text-align:left}.dock-unit-stats .unit-stat>span{font-size:inherit}.dock-unit-stats .numeric-stat .stat-formula{gap:1px;font-size:11px}.dock-unit-stats .numeric-stat .stat-formula>b{font-size:inherit}.dock-unit-stats .numeric-stat .stat-label{font-size:9px}.dock-unit-stats .morale-modifier{margin-left:0}.dock-unit-stats .unit-effects{min-height:20px;margin:0;grid-column:1/-1;justify-self:start}@media (min-width:901px){.dock-heading>.dock-selection-summary{flex-direction:row;align-items:center;gap:10px}.dock-heading .dock-title{min-width:0;flex:0 1 180px;flex-wrap:wrap}.dock-unit-stats{flex:1 1 340px;min-width:280px}}@media (max-width:900px){.dock-heading>.dock-selection-summary{flex-basis:100%}.dock-heading.has-selection>.board-action-controls{position:absolute;top:3px;right:7px}.dock-heading.has-selection .dock-title{padding-right:80px;min-height:24px}}@media (max-width:360px){.dock-unit-stats .unit-stat{padding-inline:3px}.dock-unit-stats .numeric-stat .stat-formula{font-size:10px}.dock-unit-stats .resource-meter-hint{display:none}}@media (prefers-reduced-motion:reduce){.resource-meter-fill{transition:none}}.resource-meter[data-resource=morale] .resource-meter-fill{background:var(--charge-fill)}.dock-heading>.dock-skill-action>.dock-skill-copy{grid-column:1;grid-row:1}.dock-heading>.dock-skill-action>.btn{grid-column:2}@media (max-width:900px){.dock-heading.has-selection .dock-title{min-height:18px;flex-wrap:wrap}.dock-heading.has-selection:has(.undo-action) .dock-title{padding-right:140px}}.resource-meter-threshold{position:absolute;left:clamp(1px,var(--resource-cost),calc(100% - 3px));top:-3px;bottom:-3px;width:2px;background:#fff1d3;box-shadow:0 0 0 1px #3f3023}.resource-meter-threshold:before{content:"";position:absolute;left:-2px;top:-1px;width:6px;height:2px;background:#fff1d3}.resource-meter[data-turn-used=true] .resource-meter-threshold{opacity:.45}.legion-stats{padding:9px;gap:8px 14px;border:1px solid #c4aa7840;border-radius:5px;background:#b89d6509}.legion-stats>.unit-stat,.legion-stats>.unit-stat:nth-child(2n){min-height:42px;padding:0;border:0;border-radius:0;background:none}.legion-stats>.unit-stat[data-stat=health],.legion-stats>.unit-stat[data-stat=morale]{padding-bottom:10px;border-bottom:1px solid #c4aa7833}.legion-stats>.unit-stat[data-stat=attack],.legion-stats>.unit-stat[data-stat=defense]{min-height:38px}.numeric-stat-head{align-items:baseline}.numeric-stat-head>.stat-label{display:inline-flex;align-items:baseline;gap:4px}.numeric-stat .numeric-stat-head>.stat-total{margin-left:auto;color:#ffe3a2;font-size:17px;font-weight:650}.numeric-stat .stat-formula{gap:1px;color:#d5c8b4;font-size:12px;font-weight:400}.numeric-stat .stat-formula b{color:inherit;font-weight:400}.numeric-stat .stat-formula [data-effect=negative],.numeric-stat .stat-formula [data-effect=positive]{font-weight:700}.numeric-stat .stat-label>.numeric-stat-context{margin-left:0;padding:1px 2px;border-radius:2px;background:#eed095;color:#342510;font-size:8px;line-height:1.2;white-space:nowrap}.numeric-stat[data-prepared=true] .stat-total{text-decoration:underline;text-decoration-color:#eed09566;text-underline-offset:3px}.unit-stats-layout .unit-stat[aria-expanded=true]{outline:1px solid #eed095;outline-offset:3px;border-radius:2px}.dock-unit-stats{gap:0;padding:5px 0;border:1px solid #edce9240;border-radius:4px;background:#1d100e30}.dock-unit-stats .unit-stat{min-height:28px;padding:0 6px;border:0;border-right:1px solid #e8c88c33;border-radius:0;background:none}.dock-unit-stats .unit-stat[data-stat=defense]{border-right:0}.dock-unit-stats .numeric-stat{gap:4px}.dock-unit-stats .numeric-stat .numeric-stat-head>.stat-total{font-size:12px}.dock-unit-stats .numeric-stat .stat-formula{font-size:9px}.dock-unit-stats .unit-effects{padding:4px 6px 0;border-top:1px solid #e8c88c22;margin-top:5px;justify-self:stretch}.skill-cost-summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:10px;line-height:1.5;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#cab99c}.skill-cost-amount{display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap}.skill-cost-amount b{color:#e7c689;font-size:12px}.skill-cost-outcome{color:#c8bba8}.skill-cost-summary[data-ready=true][data-turn-used=false] .skill-cost-outcome{color:#98dfb0}.skill-cost-summary[data-ready=false][data-turn-used=false] .skill-cost-outcome{color:#ffacb5}.skill-cost-row{margin:9px 0}.dock-heading>.dock-skill-action>.skill-cost-summary{grid-column:1;grid-row:2}.dock-heading>.dock-skill-action>.btn{grid-row:1/span 2}@media (max-width:360px){.dock-unit-stats .unit-stat{padding-inline:4px}.dock-unit-stats .numeric-stat .stat-formula{font-size:8px}.dock-unit-stats .numeric-stat-context{font-size:7px}}.battle-sidebar .legion-heading{flex-direction:row;align-items:center;margin-bottom:12px}.battle-sidebar .legion-heading>div{min-width:0}.battle-sidebar .legion-heading h2{font-size:16px}.battle-sidebar .info-piece{flex:0 0 34px;width:34px;height:34px;font-size:23px}.battle-sidebar .commander-info{border:0;padding-top:0}.unit-skill-copy{min-width:0}.unit-skill-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 6px}.unit-skill-summary>strong{color:var(--gold-light);font-size:12px;line-height:1.5}.unit-skill-effect{margin:3px 0 0;color:#e8daca;font-size:11px;line-height:1.5;text-align:left;text-wrap:pretty}.unit-skill-note{display:block;margin-top:5px;color:#d7c39f;font-size:10px;line-height:1.5}.panel-unit-skill{display:grid;gap:8px;padding:9px;border:0;border-radius:6px;background:#ffffff06}.panel-unit-skill .skill-cost-summary{font-size:10px;gap:4px 6px}.panel-unit-skill>.btn{margin:0;min-height:44px}.commander-info>.ability{margin:10px 0 0;padding:0 2px}.battle-sidebar .movement-entry-link{margin:10px 0 0;padding:8px 2px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;font-size:11px;line-height:1.5;gap:3px}.battle-page{--dock-space:max(calc(var(--hand-peek) + 44px),188px)}.hand-dock .hand-cards[hidden]{display:none}.hand-dock.is-unit-view .dock-heading{bottom:10px;padding:6px 10px;border-radius:6px}.dock-heading .dock-unit-readonly{grid-column:2;align-self:center;color:#d4c5ae;font-size:10px;line-height:1.5}.unit-stats-layout>.unit-combat-pair,.unit-stats-layout>.unit-resource-pair{min-width:0;border:0;border-radius:6px;background:#ffffff06;text-align:left}.unit-resource-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.unit-combat-pair>.unit-stat,.unit-resource-pair>.unit-stat{display:block;min-width:0;padding:0;border:0;background:none}.unit-resource-pair>.unit-stat{width:100%}.unit-combat-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.unit-stats-layout.legion-stats{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:0;border:0;background:none}.unit-stats-layout.legion-stats>.unit-combat-pair,.unit-stats-layout.legion-stats>.unit-resource-pair{padding:9px;border:0}.unit-stats-layout.legion-stats .unit-resource-pair>.unit-stat{min-height:31px}.unit-stats-layout.legion-stats .unit-combat-pair>.unit-stat{min-height:35px;text-align:left}.unit-stats-layout.dock-unit-stats{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:6px;padding:0;border:0;background:none}.unit-stats-layout.dock-unit-stats>.unit-combat-pair,.unit-stats-layout.dock-unit-stats>.unit-resource-pair{padding:5px 7px;background:#ffffff06}.unit-stats-layout.dock-unit-stats>.unit-resource-pair{gap:6px}.unit-stats-layout.dock-unit-stats>.unit-combat-pair{gap:8px;align-content:center}.unit-stats-layout.dock-unit-stats .unit-stat{min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none}.unit-stats-layout.dock-unit-stats .resource-meter{grid-template-rows:auto 5px;gap:2px}.unit-stats-layout.dock-unit-stats .resource-meter-track{height:5px}.unit-stats-layout.dock-unit-stats .resource-meter-value b{font-size:14px}.unit-stats-layout.dock-unit-stats .resource-meter-hint{display:inline;font-size:8px}.unit-stats-layout.dock-unit-stats .numeric-stat .numeric-stat-head>.stat-total{margin-left:0;font-size:17px}.unit-stats-layout.dock-unit-stats .numeric-stat .numeric-stat-head{flex-direction:column;align-items:flex-start;gap:5px}.unit-stats-layout.dock-unit-stats .numeric-stat .stat-formula{font-size:11px}.dock-heading>.dock-skill-action{align-items:center}.dock-heading>.dock-skill-action>.btn{grid-row:1}.dock-heading .dock-skill-summary{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.dock-heading .dock-skill-copy strong{flex-shrink:1;min-width:0;margin:0;white-space:normal}.dock-skill-summary>.skill-cost-summary{flex-wrap:nowrap;gap:6px;white-space:nowrap}.dock-heading .dock-skill-copy .board-skill-effect{display:block;margin:3px 0 0;color:#e8daca;line-height:1.5;text-align:left;text-wrap:pretty}@media (min-width:901px){.unit-stats-layout.dock-unit-stats{min-width:300px}}@media (max-width:900px){.battle-sidebar .unit-stats-layout.legion-stats{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:6px}.battle-sidebar .unit-stats-layout.legion-stats>.unit-combat-pair,.battle-sidebar .unit-stats-layout.legion-stats>.unit-resource-pair{padding:7px;gap:6px}.battle-sidebar .unit-stats-layout.legion-stats>.unit-combat-pair{align-content:center}.battle-sidebar .unit-stats-layout.legion-stats .unit-resource-pair>.unit-stat{min-height:24px}.battle-sidebar .unit-stats-layout.legion-stats .resource-meter{grid-template-rows:auto 5px;gap:3px}.battle-sidebar .unit-stats-layout.legion-stats .resource-meter-track{height:5px}.battle-sidebar .unit-stats-layout.legion-stats .resource-meter-value b{font-size:15px}.battle-sidebar .unit-stats-layout.legion-stats .numeric-stat-head{flex-direction:column;align-items:flex-start;gap:4px}.battle-sidebar .unit-stats-layout.legion-stats .numeric-stat-head>.stat-total{margin-left:0}.battle-sidebar .unit-stats-layout.legion-stats .numeric-stat .stat-formula{font-size:11px}}@media (max-width:360px){.unit-stats-layout.dock-unit-stats{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:5px}.unit-stats-layout.dock-unit-stats>.unit-combat-pair,.unit-stats-layout.dock-unit-stats>.unit-resource-pair{padding:4px 6px}.unit-stats-layout.dock-unit-stats>.unit-resource-pair{gap:5px}.unit-stats-layout.dock-unit-stats .resource-meter{grid-template-rows:auto 4px}.unit-stats-layout.dock-unit-stats .resource-meter-track{height:4px}.unit-stats-layout.dock-unit-stats>.unit-combat-pair{gap:7px}}@media (max-width:900px) and (max-height:600px){.battle-page{--hand-peek:64px}}.hand-dock .drawn-card .general-card.compact{border:1px solid var(--card-line);border-radius:var(--hand-card-radius);box-shadow:inset 0 2px var(--army-accent),var(--hand-card-shadow)}.hand-dock .drawn-card .general-card.compact.chosen{border-color:#8f6833;box-shadow:inset 0 0 0 2px #8f6833,inset 0 3px var(--army-accent),var(--hand-card-shadow)}.hand-dock .card-highlights{padding-top:5px;border-top:1px solid #947c5938}.army-order-summary{min-width:0;margin:8px 0;padding:8px 0;border:0;background:none}.army-order-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.army-order-head strong{color:#f0d5a0;font:600 12px var(--serif)}.army-order-head>span{color:#b5ad9b;font-size:10px;white-space:nowrap}.army-order-summary[data-order-state=available] .army-order-head strong{color:#a8d6b6}.army-order-summary p{margin:5px 0 0;color:#b9b0a0;font-size:10px;line-height:1.5;text-align:left}.army-order-summary .army-order-next{color:#e5d6ba}.order-deployment-info{margin-top:4px}.order-deployment-info p{margin-top:3px}.order-deployment-info .order-deployment-target{color:#e5d6ba}.order-deployment-info b{color:#dfc99f;font-weight:500}.order-deployment-info .order-deployment-skill{color:#a99e8d}.army-order-summary:has(.order-deployment-figure):after{content:"";display:block;clear:both}.order-deployment-figure{float:right;width:86px;height:110px;margin:0 0 3px 12px;pointer-events:none}.order-deployment-figure>.general-figure{display:block;width:100%;height:100%;position:relative}.order-figure-reserved{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#b8aa8e}.order-figure-reserved svg{width:38px;height:64px;fill:#c9ac740d;stroke:#c9ac7466;stroke-width:1}.order-figure-reserved>span{font-size:9px;letter-spacing:1px}@media (max-width:900px){.order-deployment-figure{width:56px;height:76px;margin-left:8px}.order-figure-reserved svg{width:28px;height:46px}.order-figure-reserved>span{font-size:8px;letter-spacing:0}.battle-page:has(.hand-dock.is-order-view .order-deployment-figure){--dock-space:max(calc(var(--hand-peek) + 44px),224px)}}.hand-dock.is-order-view .dock-heading{bottom:10px;flex-wrap:wrap;row-gap:4px;padding:8px 10px;border-radius:6px;background:color-mix(in srgb,var(--army-surface) 28%,var(--panel))}.hand-dock.is-order-view .dock-heading>div:first-child{flex-direction:column;align-items:flex-start;gap:3px}.hand-dock.is-order-view .dock-title{flex:0 1 auto}.dock-heading .turn-skill-status.is-deployment{font-size:16px;line-height:1.5;color:var(--gold-light);white-space:nowrap;text-decoration:none}.board-turn-hint{display:flex;flex:1 0 100%;align-items:center;gap:8px;padding:4px 7px;border-radius:4px;background:#9bafc10b}.dock-heading .board-turn-hint>span{color:#a9bdca;font-size:10px}.dock-heading .board-turn-hint>strong{color:#e3edf0;font:500 11px var(--serif)}.confirmation-modal{max-width:460px;max-height:calc(100dvh - 32px);padding:20px;border:0;border-radius:8px}.confirmation-modal:before{display:none}.confirmation-controls,.confirmation-layout,.confirmation-main{min-width:0}.confirmation-modal h2{margin:0 30px 10px 0;font-size:20px;line-height:1.25;letter-spacing:.03em}.confirmation-modal .guide-route{margin:8px 0;padding:8px;gap:6px;border:0;border-radius:6px;background:#ffffff06;font-size:12px}.confirmation-modal .guide-route>span{font-size:11px}.confirmation-modal .guide-route b{margin-inline:3px}.confirmation-passive{margin:8px 0;padding:8px;border-radius:6px;background:#ffffff06}.confirmation-passive>strong{color:var(--gold-light);font-size:12px}.confirmation-modal .confirmation-note,.confirmation-passive>p{margin:4px 0 0;font-size:11px;line-height:1.45;color:var(--muted)}.confirmation-modal .battle-preview{margin:8px 0;padding:8px;border:0;border-radius:6px;background:#ffffff06;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:6px}.confirmation-modal .battle-preview>div{min-width:0;padding:0}.confirmation-modal .battle-preview .mini-label{font-size:9px}.confirmation-modal .battle-preview h3{min-height:0;margin:3px 0;font-size:11px;line-height:1.4}.confirmation-modal .battle-preview strong{font-size:22px;line-height:1.2}.confirmation-modal .battle-preview p{margin:3px 0 0;font-size:11px;line-height:1.4}.confirmation-modal .battle-preview .versus{font-size:11px}.confirmation-modal .forecast-damage{margin:6px 0;padding:6px 0;gap:12px;font-size:11px}.confirmation-modal .forecast-damage strong{font-size:14px}.confirmation-modal .forecast-result{margin:6px 0;font-size:12px;line-height:1.45}.confirmation-modal .guide-next,.confirmation-modal .guide-warning{margin:4px 0;font-size:11px;line-height:1.4}.confirmation-modal .guide-details{margin-top:8px;padding-top:6px;font-size:11px;line-height:1.5}.confirmation-modal .guide-details[open]{max-height:120px;overflow-y:auto}.confirmation-controls{position:sticky;bottom:0;margin-top:10px;padding-top:10px;background:linear-gradient(135deg,var(--panel-light),var(--ink-deep))}.confirmation-preference{display:flex;align-items:center;gap:8px;padding:8px;min-height:44px;border:1px solid transparent;border-radius:6px;background:#ffffff06;cursor:pointer}.confirmation-preference input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#c7a96c}.confirmation-preference>span{font-size:11px;line-height:1.4}.confirmation-preference small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.confirmation-preference:focus-within{outline:2px solid var(--gold);outline-offset:2px}.confirmation-modal .modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.confirmation-modal .modal-actions .btn{width:100%;min-width:0;min-height:42px;padding:9px 12px;font-size:12px}.confirmation-settings{display:grid;gap:6px}.confirmation-settings h3{margin-bottom:2px}.confirmation-settings-note{margin:0;color:var(--muted);font-size:10px;line-height:1.4}@media (min-width:520px) and (max-height:600px){.confirmation-modal{max-width:740px;padding:16px 18px}.confirmation-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(170px,.8fr);gap:18px;align-items:start}.confirmation-controls{position:static;margin-top:32px}}@media (min-width:520px) and (max-height:420px){.confirmation-modal{padding-block:12px}.confirmation-modal h2{margin-bottom:6px}.confirmation-modal .guide-route{flex-direction:row;align-items:center;justify-content:space-between;margin-block:4px;padding-block:3px}.confirmation-modal .battle-preview{margin-block:4px;padding-block:2px}.confirmation-modal .battle-preview h3{margin-block:2px}.confirmation-modal .forecast-damage,.confirmation-modal .forecast-result{margin-block:4px;padding-block:3px}.confirmation-modal .guide-next,.confirmation-modal .guide-warning{margin-block:2px}.confirmation-modal .guide-details{margin-top:4px;padding-top:4px}}.dock-heading:has(>.board-turn-hint){flex-wrap:wrap;row-gap:4px}@media (min-width:901px){.battle-page:has(.hand-dock.is-order-view .order-deployment-figure){--dock-space:max(calc(var(--hand-peek) + 44px),212px)}}@media (max-width:900px){.hand-dock.is-order-view .dock-heading>div:first-child{flex-basis:100%}.dock-heading .turn-skill-status.is-deployment{font-size:14px}}.dock-heading>.army-order-summary{display:block;flex:1 0 100%;margin:3px 0 0;padding:6px 0}.dock-heading:has(>.army-order-summary){flex-wrap:wrap;row-gap:4px}.dock-heading .army-order-head{display:flex}.dock-heading .army-order-head strong{white-space:normal;font-size:12px;color:#f0d5a0}.dock-heading .army-order-head>span{color:#b5ad9b;font-size:10px}.dock-heading .army-order-summary p{text-align:left;font-size:10px;line-height:1.5}.dock-heading .army-order-summary.is-compact{margin:0;padding:2px 0;border:0;background:none}.dock-heading .army-order-summary.is-compact .army-order-next{margin-top:2px}.inspect-spent-hand{padding:5px 7px;border:1px solid #c9ac7455;border-radius:3px;background:#12161bd9;color:#e5d6ba;font-size:10px;white-space:nowrap}.board-action-controls .inspect-spent-hand,.board-action-controls .undo-action{border:1px solid var(--gold);border-radius:4px;background:transparent;color:var(--paper)}@media (hover:hover){.board-action-controls .inspect-spent-hand:hover,.board-action-controls .undo-action:hover{background:rgba(211,176,120,.06)}}@media (max-width:900px){.hand-dock.is-order-view .dock-heading{row-gap:5px;padding:7px 8px}.hand-dock.is-order-view .dock-title{flex-wrap:wrap}.hand-dock.is-order-view .dock-title>strong{display:none}.hand-dock.is-order-view .board-action-controls{flex-wrap:wrap;gap:5px}}@media (max-width:900px) and (max-height:600px){.dock-heading>.army-order-summary.is-compact{display:flex;align-items:center;justify-content:space-between;gap:8px}.dock-heading .army-order-summary.is-compact .army-order-next{margin:0;font-size:9px}.dock-heading .army-order-summary.is-compact .army-order-head>span{display:none}}.order-deployment-passive>span{font-size:inherit;color:inherit;text-align:inherit}.confirmation-modal .battle-preview h3 .mini-label{margin-right:5px;color:var(--muted);font-weight:400}.battle-strength{display:flex;align-items:baseline;justify-content:center;gap:5px}.battle-strength>span{color:var(--muted);font-size:10px}.confirmation-modal .forecast-result .guide-next{display:block;margin:3px 0 0}.confirmation-controls .guide-details{margin:0;padding:0;border:0}.confirmation-controls .guide-details+.confirmation-preference{margin-top:8px}@media (max-width:900px){.modal-shade:has(.confirmation-modal){padding:12px}.confirmation-modal{max-height:calc(100dvh - 24px);padding:16px}.confirmation-modal .close-modal{top:6px;right:6px;width:44px;height:44px;padding:0}.confirmation-modal h2{margin-right:38px}.confirmation-modal .guide-route{font-size:14px;gap:4px;margin-block:6px;padding-block:6px}.confirmation-modal .guide-route>span{font-size:12px}.confirmation-passive>strong{font-size:14px}.confirmation-modal .confirmation-note,.confirmation-passive>p{font-size:13px;line-height:1.5;color:#ddd0bd}.confirmation-modal .battle-preview{margin-block:6px;padding-block:6px}.confirmation-modal .battle-preview h3{font-size:12px}.confirmation-modal .battle-preview strong,.confirmation-modal .battle-preview strong>span{font-size:21px}.confirmation-modal .battle-preview p{font-size:12px;color:#d0c2ae}.confirmation-modal .forecast-damage{margin-block:4px;padding-block:4px;font-size:13px}.confirmation-modal .forecast-damage strong{font-size:18px;margin-left:5px}.confirmation-modal .forecast-result{padding:8px;font-size:13px!important}.confirmation-modal .forecast-result .guide-next,.confirmation-modal .guide-warning{font-size:12px}.confirmation-modal .guide-details{font-size:13px}.confirmation-modal .guide-details summary{display:flex;align-items:center;gap:8px;min-height:44px;color:#ecd39f;cursor:pointer}.confirmation-modal .guide-details summary:before{content:"▸"}.confirmation-modal .guide-details[open] summary:before{content:"▾"}.confirmation-controls{margin-top:8px;padding-top:8px}.confirmation-preference{min-height:52px;padding:8px 10px;gap:10px}.confirmation-preference input{flex-basis:22px;width:22px;height:22px}.confirmation-preference>span{font-size:13px}.confirmation-preference small{font-size:11px}.confirmation-preference:has(input:checked){border-color:#d7b977;background:#c7a96c1a}.confirmation-modal .modal-actions{gap:10px;margin-top:8px}.confirmation-modal .modal-actions .btn{min-height:48px;padding:10px;font-size:15px}.confirmation-settings .guide-toggle{min-height:48px;font-size:14px}.confirmation-settings-note{font-size:12px}.hand-dock.is-order-view .turn-skill-status{min-height:44px}.dock-heading:not(.has-selection) .board-action-controls:has(.inspect-spent-hand){display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));flex:1 0 100%;gap:8px;width:100%}.dock-heading:not(.has-selection) .board-action-controls:has(.inspect-spent-hand) button{min-height:44px;padding:8px 10px;font-size:12px}.confirmation-modal summary:focus-visible,.dock-heading .board-action-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.dock-heading .board-turn-hint{padding:6px 8px}.dock-heading .board-turn-hint>strong{font-size:12px}.dock-heading .army-order-summary p{font-size:12px;line-height:1.5;color:#e2d5c0}.dock-heading .order-deployment-passive b{display:block;color:#ffe1a0}.dock-heading .order-deployment-passive>span{display:block;text-wrap:balance}.dock-heading .order-deployment-info p+p{margin-top:6px}.order-deployment-figure{height:90px}}@media (max-width:900px) and (orientation:portrait){.battle-page:has(.hand-dock.is-order-view){--dock-space:max(calc(var(--hand-peek) + 44px),288px)}}@media (max-width:900px) and (orientation:landscape){.battle-page:has(.hand-dock.is-order-view){--dock-space:max(calc(var(--hand-peek) + 44px),212px)}.hand-dock.is-order-view .dock-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.hand-dock.is-order-view .dock-heading>div:first-child{grid-column:1}.hand-dock.is-order-view .board-action-controls:has(.inspect-spent-hand){grid-column:2;grid-row:1;display:flex;width:auto}.hand-dock.is-order-view .board-action-controls button{min-width:112px}.hand-dock.is-order-view .dock-heading>.army-order-summary{grid-column:1;grid-row:2;margin:0}.hand-dock.is-order-view .board-turn-hint{grid-column:2;grid-row:2;align-self:start;flex-direction:column;align-items:flex-start;gap:4px}}@media (min-width:520px) and (max-width:900px) and (max-height:420px){.confirmation-modal{padding:12px 16px}.confirmation-modal .battle-preview,.confirmation-modal .guide-route{margin-block:4px;padding-block:4px}.confirmation-modal .forecast-result{padding:5px 8px;margin-block:4px}.confirmation-modal .confirmation-controls{margin-top:38px}}.board-action-controls .resign-trigger{min-height:44px;padding:8px 12px;border:1px solid #b69b776b;border-radius:4px;background:#191a17;color:#d4c4aa;font-size:12px;white-space:nowrap;cursor:pointer}.board-action-controls .resign-trigger:hover{border-color:var(--gold);color:var(--paper)}.online-idle-notice{position:fixed;z-index:80;top:max(64px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:min(520px,calc(100% - 24px));padding:12px;border:1px solid #b69b77;border-radius:6px;background:#20211cf5;box-shadow:0 6px 24px #0008;color:var(--paper)}.online-idle-notice>div{flex:1 1;min-width:0;display:grid;gap:4px}.online-idle-notice strong{font-size:15px;color:var(--gold)}.online-idle-notice span{font-size:12px;line-height:1.5}.online-idle-notice .btn{flex-shrink:0;min-height:44px;padding:8px 12px;font-size:13px}@media (max-width:900px){.board-action-controls .desktop-resign-trigger{display:none}.battle-panel-controls,.dock-heading>.battle-panel-controls{height:44px;gap:8px}.dock-heading>.battle-panel-controls{bottom:calc(100% + 8px)}.battle-panel-controls button{flex:1 1;min-width:0;min-height:44px;padding:6px 8px;font-size:12px}.battle-panel-controls button>span{margin-left:4px}}