@charset "UTF-8";
main,.battleLayout,.battleLayout>div,.battleAside,.boardWrap{min-width:0;max-width:100%}.boardWrap{width:100%}
.portrait img{width:100%;height:100%;object-fit:contain;display:block}.unitcard .portrait{height:270px;margin:-8px -8px 16px;background:#080f14;overflow:hidden}.unitcard .rank{z-index:1;padding:6px 9px;background:#07121bda;border:1px solid #dec18a55}.portrait{border-bottom:1px solid #dec18a30}@media(max-width:560px){.unitcard .portrait{height:205px;margin:-5px -5px 15px}}
:root{color-scheme:dark;--gold:#dec18a;--muted:#9eafb3;--line:#d5bc8130;--ink:#0c1921;--green:#78d8bb}*{box-sizing:border-box}body{margin:0;color:#ecede5;background:#08131a;font-family:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;font-size:15px}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,select{font:inherit}button,a.primary{cursor:pointer}button:disabled{cursor:default;opacity:.45}button{color:inherit;background:#172a33;border:1px solid var(--line);padding:11px 17px;border-radius:3px}button:hover:not(:disabled){border-color:var(--gold);background:#263d45}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--gold);text-decoration:none}.ambience{position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,#06121bbd,#07131b35),linear-gradient(0deg,#08131a 0%,transparent 85%),url(assets/citadel.webp) center/cover no-repeat}header{height:88px;display:flex;align-items:center;gap:14px;padding:0 4vw;border-bottom:1px solid var(--line);background:#07131ac9;backdrop-filter:blur(15px)}.brand{display:flex;gap:14px;align-items:center;font-size:27px;letter-spacing:3px;color:#f6e6c5}.brand small{display:block;font:9px/2 sans-serif;letter-spacing:3px;color:#a19e8d}#resources{margin-left:auto;display:flex;gap:24px;color:var(--gold);font:14px sans-serif}header button{font:12px sans-serif;padding:9px}main{max-width:1440px;margin:auto;padding:34px 4vw 120px}.landing{padding:9vh 0;max-width:640px}.eyebrow{font:11px sans-serif;letter-spacing:5px;color:var(--gold);text-transform:uppercase}h1{font-weight:500;font-size:clamp(38px,5.2vw,76px);line-height:1.35;letter-spacing:.06em;margin:24px 0}h2{font-size:30px;font-weight:500;letter-spacing:3px;margin:8px 0 20px}h3{margin:8px 0;font-weight:500}.landing>p:not(.eyebrow){line-height:2.2;color:#c2cccd}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:linear-gradient(115deg,#d1b57b,#f0ddaf)!important;color:#16232b!important;border:1px solid #f8dfaa;padding:17px 28px;font-weight:bold;box-shadow:0 5px 24px #0005}.landing .primary{margin-top:20px;min-width:280px}.landingTags{display:flex;gap:26px;margin-top:55px;color:#a9b9bc;font:9px sans-serif;letter-spacing:2px}.subtle{color:var(--muted);font:13px/1.8 sans-serif}.sectionHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:20px}.sectionHead p{margin:0}.panel{border:1px solid var(--line);background:linear-gradient(140deg,#13262feF,#0b171eee);box-shadow:0 20px 40px #0003;padding:25px;border-radius:4px}.campaignGrid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.realm{min-height:580px;position:relative;overflow:hidden;padding:30px;background:radial-gradient(ellipse at 60% 40%,#365a5350,transparent 60%),linear-gradient(140deg,#152c32,#0c171e);border:1px solid var(--line)}.realm:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(35deg,transparent 0 65px,#dec18a09 66px 67px),repeating-linear-gradient(-35deg,transparent 0 65px,#dec18a09 66px 67px);pointer-events:none}.realmLabel{position:absolute;top:26px;left:30px;color:#baa477;font:10px sans-serif;letter-spacing:4px}.route{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:25px 18%;padding-top:45px}.stageNode{background:#12262b;border:1px solid #9b96774d;text-align:left;position:relative;padding:17px 15px;min-height:85px;box-shadow:0 10px 20px #0003}.stageNode:nth-child(even){transform:translateY(30px)}.stageNode.active{background:linear-gradient(120deg,#30554f,#142d32);border-color:var(--gold);box-shadow:0 0 25px #d4b26b21}.stageNode.done{border-left:3px solid var(--green)}.stageNode b{color:var(--gold);font:11px sans-serif;letter-spacing:2px;display:block;margin-bottom:8px}.stageNode span{font-size:16px}.stageNode:disabled{opacity:.3}.stageDetail{display:flex;flex-direction:column;gap:18px}.stageDetail .story{font-size:17px;line-height:2.2;color:#d0d4cd;margin:5px 0 20px}.stageDetail .primary{margin-top:auto;width:100%}.stageSeal{height:140px;display:grid;place-items:center;background:radial-gradient(circle,#ddbd7230,transparent 65%);color:var(--gold);font-size:84px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{padding:7px 11px;border:1px solid var(--line);font:12px sans-serif;color:#c5d2cc}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.unitcard{position:relative;padding:22px}.portrait{height:135px;display:grid;place-items:center;background:radial-gradient(ellipse,#508f7b28,transparent 70%);margin-bottom:16px}.portrait svg{width:110px;height:130px;filter:drop-shadow(0 7px 10px #0009)}.unitcard .rank{position:absolute;top:20px;right:20px;font:12px sans-serif;color:var(--gold)}.unitcard p{color:var(--muted);font:12px/1.8 sans-serif}.stats{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0;font:12px sans-serif;color:#c2d4cf}.cardActions{display:flex;flex-wrap:wrap;gap:8px}.cardActions button{padding:10px;font:12px sans-serif}.armySlots{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.armySlots select,select{background:#13252e;border:1px solid var(--line);padding:12px;color:#f1e3c9;max-width:100%}.item{border-top:2px solid #657c84}.item.r1{border-color:#66b4a0}.item.r2{border-color:#ab89e3}.item.r3{border-color:#e7ba5e;background:linear-gradient(130deg,#423222,#111d26)}.itemIcon{font-size:46px;color:var(--gold);margin:18px 0}.battleLayout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px}.boardWrap{overflow:auto;border:1px solid var(--line);background:radial-gradient(ellipse,#24493f,#08151d);border-radius:5px;box-shadow:inset 0 0 70px #0009;min-height:420px}.boardWrap svg{display:block;width:100%;min-width:650px;user-select:none;-webkit-user-select:none;touch-action:manipulation}.tile{cursor:pointer;transition:filter .2s}.tile:hover{filter:brightness(1.3)}.unitToken{cursor:pointer}.unitToken:hover{filter:brightness(1.2)}.battleAside .panel{padding:16px}.battleAside{display:flex;flex-direction:column;gap:12px}.battleAside button{width:100%;margin-top:8px}.battleAside .active{border-color:var(--gold);color:var(--gold);background:#4c462a}.battleLog{font:12px/1.9 sans-serif;color:#a6bbbb;max-height:210px;overflow:auto}.battleLog p{margin:5px 0}.battleTop{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.round{font:12px sans-serif;color:var(--gold);letter-spacing:2px}.legend{font:12px/1.8 sans-serif;color:var(--muted);margin:12px 0}#nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:7px;border:1px solid #c6b07950;background:#0b1924f5;backdrop-filter:blur(20px);box-shadow:0 10px 40px #0008;z-index:10;border-radius:8px}#nav[hidden]{display:none}#nav button{min-width:110px;background:transparent;border:0;color:#7f999d;font-size:20px}#nav button span{font:12px sans-serif;margin-left:8px}#nav button.active{background:linear-gradient(130deg,#b8a27433,#b8a27409);color:#e6ce9c}.notice{padding:22px;border:1px dashed var(--line);color:#aebfbc;line-height:2}.arenaRow{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0}.arenaRow strong{font-size:19px;font-weight:500}.arenaRow small{display:block;color:var(--muted);margin-top:10px}dialog{color:#e7eadf;background:#10232d;border:1px solid var(--gold);max-width:620px;width:calc(100% - 30px);padding:35px;line-height:1.9;max-height:85vh;overflow:auto}dialog::backdrop{background:#030a10ba;backdrop-filter:blur(5px)}.close{position:absolute;right:10px;top:10px;padding:2px 10px;font-size:24px;border:0;background:transparent}.reportTitle{font-size:42px;color:var(--gold);text-align:center}.reportLoot{text-align:center;padding:20px;border:1px solid var(--line);margin:20px 0}#toast{position:fixed;top:100px;left:50%;transform:translateX(-50%);z-index:100;background:#102d34;border:1px solid var(--gold);box-shadow:0 10px 40px #0008;padding:16px 25px;max-width:90vw;display:none;font:14px/1.7 sans-serif}#toast.show{display:block}body.busy button{pointer-events:none}footer{color:var(--muted)}@media(max-width:900px){.campaignGrid{grid-template-columns:1fr}.realm{min-height:500px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.battleLayout{grid-template-columns:1fr}.battleAside{display:grid;grid-template-columns:1fr 1fr}.battleAside .battleLog{max-height:160px}header{padding:0 18px}.brand{font-size:20px;gap:7px;letter-spacing:1px}#resources{gap:12px;font-size:12px}}@media(max-width:560px){header{height:72px;gap:7px;flex-wrap:wrap}.brand small{font-size:7px;letter-spacing:1px}.brand{font-size:17px}header button{padding:7px;font-size:10px}#resources{font-size:11px;gap:8px}main{padding:25px 16px 110px}h2{font-size:24px}.landing{padding:8vh 8px}.landingTags{gap:16px;font-size:8px}.landing h1{font-size:43px}.sectionHead{align-items:flex-start}.sectionHead p{font-size:11px}.panel{padding:18px}.route{gap:19px 10%;padding-top:40px}.realm{padding:20px;min-height:520px}.stageNode{padding:12px 9px;min-height:83px}.stageNode span{font-size:14px}.realmLabel{left:20px}.stageSeal{height:90px;font-size:60px}.stageDetail .story{font-size:15px}.grid{gap:12px}.unitcard{padding:15px}.portrait{height:100px}.portrait svg{width:85px;height:100px}.unitcard h3{font-size:17px}.unitcard .rank{font-size:10px;top:14px;right:14px}.stats{gap:7px;font-size:11px}.armySlots{gap:8px}.armySlots select{width:calc(50% - 4px);font-size:12px;padding:10px}#nav{bottom:10px;width:calc(100% - 24px);justify-content:space-around}#nav button{min-width:0;width:25%;padding:10px 5px}#nav button span{display:block;margin:5px 0 0;font-size:10px}.battleTop h2{font-size:20px}.battleAside{grid-template-columns:1fr}.boardWrap{min-height:0}.arenaRow{align-items:flex-start;gap:10px}.arenaRow strong{font-size:16px}.arenaRow button{font-size:12px;padding:12px}.item h3{font-size:16px}.item .cardActions{flex-direction:column}.item select{width:100%;font-size:12px}.battleLog{display:none}.sectionHead .subtle{max-width:170px}}
