@font-face{font-family:BattleBrush;src:url(./battle-brush-jUrFfW8f.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color:#eaf0dc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#183c34;--muted:#a3b9a7;--gold:#efcb7e;--red:#b4473e;--line:#bfd0af29;--display:"BattleBrush", "STKaiti", "Kaiti SC", "KaiTi", serif;background:#102e2a;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html{min-width:280px}body{background:radial-gradient(at 18% 30%,#376c5159,#0000 47%),radial-gradient(at 85% 10%,#71855226,#0000 42%),linear-gradient(150deg,#193e35,#0e2827 75%);min-width:280px;min-height:100svh;margin:0}body:before{content:"";z-index:-1;pointer-events:none;clip-path:polygon(0 50%,13% 30%,22% 43%,35% 15%,49% 47%,62% 39%,76% 56%,91% 23%,100% 36%,100% 100%,0 100%);background:#496a4126;position:fixed;inset:0}button,a,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,a:focus-visible,canvas:focus-visible{outline-offset:3px;outline:3px solid #efcb7e}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}::selection{color:#153a30;background:#efcb7e}svg{flex:none;width:18px;height:18px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;width:min(1240px,100% - 64px);min-height:88px;margin:auto;display:flex}.brand{font-family:var(--display);letter-spacing:1px;align-items:center;gap:13px;font-size:25px;font-weight:700;display:inline-flex}.brand-seal{color:#f7d790;background:#416f51;border:2px solid #e5bd72;border-radius:10px 10px 16px 16px;place-items:center;width:40px;height:44px;font-size:26px;display:grid;box-shadow:inset 0 0 0 3px #1c463b,0 3px #081e1b}.brand small{color:#a7bbab;letter-spacing:2px;margin-top:5px;font:10px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;display:block}.header-nav{gap:12px;display:flex}.header-nav button{color:#c4d1bc;border-radius:8px;padding:0 13px;font-size:12px}.header-nav button:hover{color:#ffdfa0;background:#ffffff0c}.game-layout{grid-template-columns:minmax(200px,1fr) minmax(360px,440px) minmax(210px,1fr);align-items:start;gap:38px;width:min(1180px,100% - 64px);margin:28px auto;display:grid}.story-column{min-width:0;padding-top:34px}.eyebrow{color:#afc3ab;letter-spacing:2px;align-items:center;gap:8px;margin:0;font-size:10px;display:flex}.eyebrow>span{background:#efcb7e;width:6px;height:6px;transform:rotate(45deg)}.story-column h1{font-family:var(--display);letter-spacing:1px;margin:24px 0 16px;font-size:clamp(36px,3.6vw,49px);font-weight:900;line-height:1.25}.story-column h1>span{color:var(--gold);display:block}.story-copy{color:#b1c5af;font-size:13px;line-height:1.9}.commander-scene{isolation:isolate;margin:10px -25px 5px;position:relative}.scene-ring{z-index:-1;background:radial-gradient(#a0ad4747,#44683a1a 65%,#0000);border:1px solid #dfcc8c42;border-radius:50%;position:absolute;inset:19% 9% 10%;box-shadow:0 0 0 10px #d4c58908,0 0 0 11px #d4c58915}.commander-art{filter:drop-shadow(0 15px 12px #031d2680);width:100%;height:auto;display:block}.commander-caption{color:#dbd3a5;width:max-content;max-width:100%;font-family:var(--display);letter-spacing:3px;background:#173c32e6;border:1px solid #c9bd8247;border-radius:30px;margin:-12px auto 0;padding:10px;font-size:13px;display:block;position:relative}.best-record{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:8px;margin-top:24px;padding:18px 0;display:flex}.best-record>span{margin-right:auto;font-size:13px}.best-record small{color:#95af9e;margin-top:7px;font-size:10px;display:block}.best-record strong{color:#efcb7e;font-variant-numeric:tabular-nums;font:40px/1 Georgia,serif}.best-record b{color:#afc0a8;align-self:flex-end;padding-bottom:3px;font-size:12px;font-weight:400}.solo-note{color:#99af9a;text-align:center;margin-top:18px;font-size:10px}.battle-paper{background:#183f34;border:1px solid #8d9f6b;border-radius:19px;min-width:0;padding:12px;box-shadow:0 0 0 4px #0a2722,0 0 0 5px #75845452,0 22px 50px #031a216b,inset 0 1px #d2cf8255}.battle-topline{color:#b3c4ab;justify-content:space-between;align-items:center;gap:6px;padding:0 4px;font-size:10px;display:flex}#phase-label{color:#f0d9a0;align-items:center;gap:7px;display:inline-flex}#phase-label:before{content:"";background:#c8dd86;border-radius:50%;width:5px;height:5px;box-shadow:0 0 7px #d8e7988c}.hud{grid-template-columns:1fr 1fr 1fr;gap:8px;padding:14px 4px 12px;display:grid}.hud>div{flex-direction:column;gap:5px;display:flex}.hud>div>span{color:#afc4aa;font-size:10px}.hud strong{font-variant-numeric:tabular-nums;font-size:25px;line-height:1.15}.hud b{font-weight:800}.hud-wave small{color:#95b098;font-size:10px;font-weight:400}.hud-food{text-align:center}.hud-food strong{color:#f9d997}.grain-dot{background:#edca80;border-radius:50%;width:12px;height:12px;margin-right:6px;display:inline-block;box-shadow:inset -2px -2px #c59145,inset 2px 2px #fff1b7}.hud-hearts{text-align:right}.hud-hearts strong{color:#ff9a7f;letter-spacing:2px;white-space:nowrap;font-size:20px}.tactics-rack{background:#102e27;border:1px solid #d8bf7438;border-radius:9px;margin:0 1px 10px;padding:8px 9px}.tactics-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.tactics-heading h2{color:#eed9a4;font:18px/1.2 var(--display);margin:0}.tactics-heading button{color:#c6bf94;min-height:30px;padding:2px 0 2px 5px;font-size:10px}.tactic-chips{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.tactic-chip{color:#92a88e;background:#244431;border:1px dashed #6b876557;border-radius:7px;min-width:0;min-height:55px;padding:5px 2px}.tactic-chip>span{font:25px/1 var(--display);display:block}.tactic-chip>small{font-variant-numeric:tabular-nums;margin-top:5px;font-size:9px;display:block}.tactic-chip.is-owned{color:#ffe5a3;background:linear-gradient(140deg,#71623a,#4c5234);border-style:solid;border-color:#d8b965;box-shadow:inset 0 0 0 2px #b6a36615}.tactics-rack>p{color:#aabc9a;margin:7px 0 0;font-size:9px;line-height:1.5}.tactic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.tactic-detail{background:#e5e5cc;border:1px solid #b8c19e;border-radius:10px;min-width:0;padding:15px}.tactic-detail.is-owned{background:#f0e4ba;border-color:#b29a54}.tactic-detail>div:first-child{align-items:center;gap:11px;display:flex}.tactic-seal{color:#765d2e;width:42px;height:47px;font:30px var(--display);background:#efe4bb;border:1px solid #a08b51;border-radius:9px 9px 14px 14px;flex-shrink:0;place-items:center;display:grid;box-shadow:inset 0 0 0 3px #fff3}.tactic-detail h3{color:#3c5136;margin:0;font-size:14px}.tactic-detail h3 small{color:#707850;margin-top:5px;font-size:10px;font-weight:400;display:block}.tactic-detail p{color:#596648;font-size:12px;line-height:1.8}.tactic-detail>small{color:#6a7046;overflow-wrap:anywhere;font-size:10px;line-height:1.7;display:block}.tactic-progress{background:#c7ceb0;border-radius:3px;height:5px;margin:13px 0 8px;overflow:hidden}.tactic-progress>i{background:#a88a40;height:100%;display:block}.merchant-item.is-tactic{background:#efe4bb;border-color:#b2a260}.merchant-tactic-level{color:#78653b;overflow-wrap:anywhere;font-size:10px;line-height:1.6;display:block}.merchant-guide{color:#62643d;background:#e6dfb9;border-left:3px solid #a38e43;margin:0 0 18px;padding:12px;font-size:12px;line-height:1.8}@media (max-width:400px){.tactic-grid{grid-template-columns:1fr}}.canvas-wrap{aspect-ratio:420/620;background:#244d3e;border:1px solid #091e1bc2;border-radius:10px;width:100%;position:relative;overflow:hidden}#battlefield{touch-action:none;cursor:pointer;width:100%;height:100%;display:block}#battlefield:focus-visible{outline-offset:-4px}.intro-curtain{-webkit-backdrop-filter:blur(4px);background:#092a22b3;justify-content:center;align-items:center;padding:18px;display:flex;position:absolute;inset:0}.intro-card{text-align:center;background:linear-gradient(160deg,#315840fa,#153e34fc);border:1px solid #d8be7773;border-radius:18px;width:100%;max-height:100%;padding:20px 16px;position:relative;overflow-y:auto;box-shadow:0 20px 40px #071d2370,inset 0 0 0 5px #fff2}.intro-stamp{color:#e1c78b;letter-spacing:4px;font-size:11px;display:inline-block}.intro-art{filter:drop-shadow(0 7px 10px #041c2590);width:min(75%,220px);height:auto;margin:10px auto 0;display:block}.intro-card h2{font-family:var(--display);margin:12px 0;font-size:clamp(25px,3vw,33px);line-height:1.25}.intro-card h2 span{color:#f6d798}.intro-card>p{color:#c8d7bd;margin:9px 0 18px;font-size:12px;line-height:1.75}.intro-card>.button{flex-direction:row;justify-content:space-between;width:85%;padding:12px 22px;font-size:17px;display:inline-flex}.intro-card>small{color:#b0c2a8;margin-top:13px;font-size:10px;display:block}.selection-bar{align-items:center;gap:12px;min-height:72px;padding:10px 2px;display:flex}.unit-info{flex:1;min-width:0}.unit-info strong{color:#eddfb5;font-size:12px;line-height:1.6;display:block}.unit-info strong small{color:#bdcfb6;font-size:10px;font-weight:400;display:block}.unit-info>span{color:#a8c0a6;overflow-wrap:anywhere;font-size:10px;line-height:1.6;display:block}.recruit-shop{background:#0d2f27;border:1px solid #94aa7842;border-radius:11px;padding:0 10px 9px;position:relative}.recruit-shop.is-dragging{border-style:dashed;border-color:#cd9573}.recruit-shop.is-drop-target{border-style:solid;border-color:#ffc999;box-shadow:0 0 0 3px #ec9e6240}.recruit-shop.is-dragging .shop-tools,.recruit-shop.is-dragging .shop-cards{pointer-events:none}.shop-drop-overlay{z-index:2;border-radius:inherit;color:#ffe9bd;text-align:center;pointer-events:none;background:#573c2df5;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:15px;display:flex;position:absolute;inset:0}.shop-drop-overlay>span:first-child{font:700 32px/1.2 var(--display)}.shop-drop-overlay>strong{font-size:16px}.shop-drop-overlay>span{font-size:18px;font-weight:700}.shop-drop-overlay>small{color:#e4bc9a;font-size:11px}.shop-status-row{background:#d7ca8320;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px 9px;margin:0 0 11px;padding:8px 9px;font-size:11px;display:flex}.shop-wallet{color:#f4d697;white-space:nowrap;align-items:center;gap:4px;display:flex}.shop-wallet .grain-dot{margin-right:2px}.shop-wallet strong{font-variant-numeric:tabular-nums;margin-left:3px;font-size:16px}#shop-wave-status{color:#cfe0bd;font-variant-numeric:tabular-nums;font-size:10px}.shop-dismiss-hint{color:#b4c5a8;margin:6px 0 0;font-size:9px;line-height:1.6}.shovel-stock{color:#c5d4b5;flex-direction:column;justify-content:center;gap:5px;padding:8px 5px;display:flex}.shovel-stock strong{font-size:12px}.shovel-stock small{font-size:9px;line-height:1.5}.unlock-popover{z-index:4;background:#203f31fa;border:1px solid #edcc83;border-radius:10px;width:min(232px,100% - 16px);padding:13px;position:absolute;box-shadow:0 7px 25px #081f2280,0 0 0 3px #d7c38e1a}.unlock-popover>strong{color:#f7e1ac;font-size:13px;display:block}.unlock-popover>p{color:#c5d2b2;margin:9px 0 12px;font-size:11px;line-height:1.6}.unlock-popover>div{gap:7px;display:flex}.unlock-popover .button{flex:1;min-height:44px;padding:9px 5px;font-size:12px}.hero-skill{background:#a7b26012;border:1px solid #cbb66b66;border-radius:8px;margin-top:8px;padding:10px 11px}.hero-skill>div:first-child{justify-content:space-between;align-items:center;gap:6px;display:flex}.hero-skill>div:first-child>strong{color:#f5d591;font-size:13px}.hero-skill .skill-trigger{color:#bccca9;text-align:right;font-size:10px}.hero-skill .skill-status{color:#cfdcb8;margin-top:6px;font-size:11px;line-height:1.6;display:block}.skill-meter{background:#0e3029;border-radius:3px;height:4px;margin-top:8px;overflow:hidden}.skill-meter>i{border-radius:inherit;background:#e5c472;width:0;height:100%;display:block}.hero-skill[data-accent=passive]{border-color:#7daa7480}.hero-skill[data-accent=passive] .skill-meter{display:none}.hero-skill[data-accent=ready] .skill-status{color:#eadea5}.hero-skill[data-accent=muted] .skill-status{color:#abc0a4}.codex-trigger{color:#557647;margin:10px 0;font-size:11px;line-height:1.7;display:block}.shop-heading{justify-content:space-between;align-items:center;gap:6px;min-height:48px;display:flex}.shop-heading>div:first-child{align-items:baseline;gap:8px;display:flex}.shop-heading h2{color:#f1dfad;margin:0;font-size:13px}.shop-heading #reserve-count{color:#9db89e;white-space:nowrap;font-size:9px}.shop-tools{gap:2px;display:flex}.shop-tools button{color:#ced9bc;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:4px 7px;font-size:11px;display:inline-flex}.shop-tools button b{color:#f1cb7a}.shop-tools button svg{width:15px;height:15px}.shop-tools button:hover:not(:disabled){background:#32503b}.shop-tools [aria-pressed=true]{color:#f9d694;background:#8b722838}.shop-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.shop-card{color:#234738;background:linear-gradient(#fcf7df,#dfe6c5);border:1px solid #a7b795;border-bottom:3px solid #849976;border-radius:7px;flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:113px;padding:8px 2px 7px;display:flex;position:relative;overflow:hidden;box-shadow:0 3px #061f1b}.shop-card[data-kind=troop],.shop-card[data-kind=fragment]{touch-action:none;-webkit-user-select:none;user-select:none}.drag-ghost{z-index:12;color:#264e3b;pointer-events:none;background:#f2efd9;border:2px solid #edcc83;border-radius:7px;place-items:center;width:57px;min-height:62px;padding:5px;display:grid;position:fixed;transform:translate(-50%,-68%);box-shadow:0 5px 18px #09292166}.drag-ghost>strong{font:700 26px/1.3 var(--display)}.drag-ghost>span{color:#856437;font-size:10px}.shop-card:hover:not(:disabled){border-color:#ffe599;transform:translateY(-3px);box-shadow:0 4px #061f1b,0 0 12px #c9d07140}.shop-card:active:not(:disabled){transform:translateY(1px)}.shop-card:disabled{opacity:.78}.shop-card[data-kind=fragment]{color:#7c562f;background:linear-gradient(#fff0d7,#ead6b3);border-color:#bfa17b #bfa17b #a88a62}.shop-card[data-kind=shovel]{color:#385d5b;background:linear-gradient(#e5f0ec,#b9cfc9);border-color:#8ba7ae}.shop-card[data-sold=true]{opacity:.7;color:#a3b89c;box-shadow:none;background:#214638;border:1px dashed #77976a7a}.shop-card[data-sold=true] .shop-glyph{opacity:.28}.shop-type{font-size:9px;line-height:1.1}.shop-glyph{font:700 30px/1.2 var(--display)}.shop-price{color:#5a4b20;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:800;display:flex}.shop-price .grain-dot{width:9px;height:9px;margin:0}.shop-state{color:#395b3e;white-space:nowrap;font-size:9px;line-height:1.15}.shop-card[data-sold=true] .shop-price,.shop-card[data-sold=true] .shop-state{color:#a7bd9e}.shop-card.is-unavailable .shop-state{color:#984c35}.shop-note{color:#a4be9e;margin:9px 0 0;font-size:9px;line-height:1.55}.action-row{grid-template-columns:1fr 1.55fr;gap:10px;margin-top:12px;display:grid}.button{border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:48px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.25;display:inline-flex}.button small{opacity:.84;font-size:10px;font-weight:400}.button-red{color:#473713;background:linear-gradient(#ffe3a6,#e8ba66);border-color:#f9d690;box-shadow:0 3px #957338,inset 0 1px #fff7cf}.button-red:hover:not(:disabled){background:linear-gradient(#ffeabd,#f2ca7d)}.button-ink{color:#f2e6bd;background:#2d5a43;border-color:#507359;box-shadow:0 3px #143526}.button-light{color:#d4dfc5;background:#34513c;border-color:#6e8b60;box-shadow:0 3px #0d2c22}.button-light:hover:not(:disabled){background:#45694b}.button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.button-light[aria-pressed=true]{color:#fff0b5;background:#6c7240;border-color:#f1d488}.button-danger{color:#fff2dc;background:#a14f40;border-color:#ba6852;box-shadow:0 3px #6f342f}.battle-bottomline{color:#a4bb9e;justify-content:space-between;align-items:center;gap:6px;padding:6px 2px 0;font-size:9px;line-height:1.6;display:flex}.battle-bottomline>span{flex:1;min-width:0}.battle-bottomline>div{flex-shrink:0;display:flex}.battle-bottomline button{color:#c3cfae;padding:0 4px;font-size:10px}.notes-column{padding-top:38px}.notes-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:16px;display:flex}.notes-heading>span{font:700 22px var(--display);color:#ecd9a6;letter-spacing:2px}.notes-heading>small{color:#8fac98;font-size:10px}.note{gap:12px;margin-top:30px;display:flex}.note-number{color:#abbe8d;font:italic 17px/1.3 Georgia,serif}.note>div{flex:1;min-width:0}.note h3{color:#dee1b8;margin:0 0 10px;font-size:13px}.note p{color:#a7bca4;margin:10px 0 0;font-size:11px;line-height:1.9}.mini-shop,.merge-example,.hero-example{align-items:center;gap:6px;margin:15px 0;display:flex}.mini-shop>span,.merge-example>span,.hero-example>span,.hero-example>strong{color:#294d37;width:38px;height:43px;font:700 24px var(--display);background:linear-gradient(#f1efd4,#cfdcb8);border:1px solid #c4cb9e;border-radius:5px;place-items:center;display:grid;position:relative;box-shadow:0 3px #70856a}.mini-shop{gap:5px}.mini-shop>span{width:29px;height:36px;font-size:21px}.merge-example small{color:#647451;font:9px Georgia,serif;position:absolute;bottom:2px;right:3px}.merge-example>b,.hero-example>b{color:#83a58a;font-size:11px;font-weight:400}.merge-example .upgraded,.hero-example>strong{color:#604c22;background:linear-gradient(#f8e4a5,#debb70);border-color:#f0d892;box-shadow:0 3px #8a723f}.hero-example>span{color:#796137;background:#e0d3b0}.hero-example>strong{width:50px;font-size:20px}.text-button{color:#e5c585;align-items:center;gap:10px;padding:0;font-size:11px;display:inline-flex}.next-milestone{background:#bbca7b08;border:1px solid #d2c08729;border-radius:10px;gap:9px;margin-top:28px;padding:16px 12px;display:flex}.milestone-dot{background:#d1b87b;flex-shrink:0;width:6px;height:6px;margin-top:6px;transform:rotate(45deg)}.next-milestone strong{color:#d5cca3;font-size:11px;font-weight:400;line-height:1.7;display:block}.next-milestone small{color:#a4b69c;margin-top:7px;font-size:10px;line-height:1.7;display:block}.site-footer{width:min(1240px,100% - 64px);padding:22px 0 calc(25px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);color:#93ac99;justify-content:space-between;gap:14px;margin:auto;font-size:10px;line-height:1.7;display:flex}.footer-divider{color:#7c9477;margin:0 9px}.toast{z-index:10;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));color:#f3ebc8;text-align:center;pointer-events:none;background:#234d3af5;border:1px solid #b4bf8e;border-radius:10px;width:max-content;max-width:calc(100vw - 32px);padding:12px 20px;font-size:12px;line-height:1.6;position:fixed;transform:translate(-50%);box-shadow:0 5px 24px #051b2680}.toast[data-tone=error]{background:#844137f5;border-color:#d19772}dialog{overscroll-behavior:contain;color:#234738;background:#f1edda;border:1px solid #c6b97e;border-radius:18px;width:min(660px,100vw - 32px);max-height:min(88svh,840px);margin:auto;padding:0;overflow:auto;box-shadow:0 25px 100px #001c2190}dialog::backdrop{-webkit-backdrop-filter:blur(5px);background:#082c28c9}#dialog-body{padding:28px}.dialog-header{border-bottom:1px solid #bbbc9b;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:19px;padding-bottom:17px;display:flex}.dialog-kicker{color:#777440;letter-spacing:2px;margin:0 0 8px;font-size:11px}.dialog-header h2{font:700 29px/1.35 var(--display);margin:0}.dialog-close{color:#587554;border-radius:8px;flex-shrink:0;place-items:center;width:44px;height:44px;margin:-6px -8px 0 0;font-size:27px;display:grid}.dialog-close:hover{background:#dce0c1}.dialog-copy{color:#526b51;margin:12px 0 20px;font-size:13px;line-height:1.9}.dialog-actions{border-top:1px solid #cbd0ad;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;display:flex}.dialog-actions .button{min-width:110px;padding:12px 20px}.dialog-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.stat-box{text-align:center;background:#e0e5c9;border:1px solid #bbc6a0;border-radius:10px;padding:16px 10px}.stat-box span,.stat-box small{color:#687453;font-size:11px;line-height:1.7;display:block}.stat-box strong{color:#29503b;margin:7px 0;font:32px/1.2 Georgia,serif;display:block}.rules-list{color:#587054;margin:14px 0;padding-left:21px;font-size:12px;line-height:1.9}.rules-list li{margin:12px 0;padding-left:4px}.rules-list p{margin:5px 0 0}.rules-list strong{color:#284c39}.codex-grid,.troop-grid,.merchant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.codex-card,.troop-card,.merchant-item{background:#e6e8cf;border:1px solid #bac49d;border-radius:11px;min-width:0;padding:17px}.codex-glyph,.troop-card>span,.merchant-symbol{color:#785b23;min-width:50px;height:50px;font:700 27px var(--display);background:#f4dfaa;border:1px solid #b89755;border-radius:8px;place-items:center;padding:5px 9px;display:inline-grid;box-shadow:0 3px #ac914e}.codex-card p,.troop-card p,.merchant-item p{color:#596c4c;overflow-wrap:anywhere;margin:10px 0;font-size:12px;line-height:1.8}.codex-meta{color:#83672e;margin:0 0 12px;font-size:11px;line-height:1.8}.codex-meta span{margin-right:10px;display:inline-block}.codex-card[data-rarity=purple]{background:#e7e1d9;border-color:#b6a4b4}.codex-card[data-rarity=purple] .codex-glyph{color:#734e7e;background:#e6d5ea;border-color:#b596ba;box-shadow:0 3px #a58aac}.codex-card[data-rarity=purple] .codex-meta{color:#7b5782}.troop-grid{margin:18px 0}.troop-card>div>strong{margin-top:12px;font-size:15px;display:block}.troop-card small,.codex-card>small{color:#6f7758;margin-top:7px;font-size:10px;line-height:1.7;display:block}.troop-card>span{color:#37543b;background:#f4efd5;border-color:#c4c79d;box-shadow:0 3px #9ea983}.merchant-item{flex-direction:column;align-items:flex-start;display:flex}.merchant-item h3{font:700 21px var(--display);margin:15px 0 0}.merchant-item p{margin-bottom:18px}.merchant-item .button{align-self:stretch;margin-top:auto}.dialog-note{color:#63724d;background:#e0e6c9;border-left:3px solid #8ca565;border-radius:0 8px 8px 0;margin:20px 0 0;padding:13px 15px;font-size:11px;line-height:1.85}.dialog-notice{color:#355636;background:#dce8cb;border:1px solid #99b183;border-radius:7px;padding:11px 13px;font-size:12px;line-height:1.7}.dialog-notice[data-tone=error]{color:#904834;background:#f0dcc7;border-color:#cca087}.confirm-preview{color:#365739;font:700 32px var(--display);text-align:center;background:#e2e8c9;border:1px solid #b6c395;border-radius:12px;justify-content:center;align-items:center;gap:24px;margin:20px 0;padding:20px;display:flex}.confirm-preview small{color:#687749;margin-top:6px;font:11px/1.6 sans-serif;display:block}.refund-preview{color:#927232}.record-badge{color:#7c5b24;background:#f8df9f;border:1px solid #c99d52;border-radius:30px;padding:7px 12px;font-size:12px;display:inline-block}.help-section{font:700 22px var(--display);margin:25px 0}@media (max-width:1100px){.game-layout{grid-template-columns:minmax(170px,1fr) minmax(350px,420px) minmax(190px,1fr);gap:24px;width:calc(100% - 48px)}.story-column h1{font-size:38px}.note{gap:9px}.merge-example,.hero-example{gap:4px}.merge-example>span,.hero-example>span{width:33px}}@media (max-width:940px){.game-layout{width:min(440px,100% - 32px);margin:24px auto;display:block}.story-column,.notes-column{display:none}.site-header{width:calc(100% - 40px);min-height:78px}.site-footer{width:calc(100% - 40px)}}@media (max-width:520px){.site-header{width:calc(100% - 28px);min-height:72px;padding-top:env(safe-area-inset-top,0px);gap:8px}.brand{letter-spacing:0;gap:8px;font-size:20px}.brand-seal{border-radius:7px 7px 12px 12px;width:31px;height:37px;font-size:23px}.brand small{letter-spacing:1px;font-size:8px}.header-nav{gap:0}.header-nav button{padding:0 6px;font-size:10px}.game-layout{width:calc(100% - 20px);margin:17px auto 22px}.battle-paper{border-radius:14px;padding:9px;box-shadow:0 0 0 3px #0a2722,0 12px 35px #041d2670}.hud{padding:12px 3px 10px}.hud strong{font-size:24px}.hud-hearts strong{font-size:19px}.intro-curtain{padding:14px}.intro-card{padding:15px 12px}.intro-art{width:64%}.intro-card h2{font-size:28px}.intro-card>p{margin-bottom:14px;font-size:11px}.intro-card>small{font-size:9px}.selection-bar{gap:8px}.recruit-shop{padding:0 7px 8px}.shop-heading{gap:3px}.shop-heading>div:first-child{gap:6px}.shop-heading h2{font-size:12px}.shop-tools button{padding:4px 5px;font-size:10px}.shop-cards{gap:5px}.shop-card{gap:5px;min-height:108px}.shop-glyph{font-size:27px}.shop-note{font-size:9px}.site-footer{text-align:center;flex-direction:column;align-items:center;gap:6px;font-size:9px}#dialog-body{padding:23px 18px}.dialog-header h2{font-size:25px}.dialog-actions .button{flex:1;min-width:90px;padding:12px}.merchant-grid{grid-template-columns:1fr}.merchant-item{min-height:140px;padding-left:82px;position:relative}.merchant-symbol{position:absolute;top:20px;left:15px}.merchant-item h3{margin-top:0}.merchant-item .button{align-self:flex-start}.codex-card,.troop-card{padding:13px}.dialog-stats{gap:7px}.stat-box{padding:13px 5px}}@media (max-width:360px){.site-header{gap:4px}.brand{font-size:17px}.brand small{font-size:7px}.header-nav button{padding:0 4px}.brand-seal{width:28px;height:34px}.game-layout{width:calc(100% - 14px)}.battle-paper{padding:7px}.shop-heading>div:first-child{display:block}.shop-heading #reserve-count{margin-top:3px;display:block}.shop-cards{gap:4px}.shop-type,.shop-state{font-size:8px}.intro-art{width:55%}.intro-card h2{font-size:24px}.intro-card>p{font-size:10px}.intro-card>.button{min-height:44px;font-size:15px}.hud-hearts strong{letter-spacing:1px;font-size:17px}}@media (max-width:310px){.site-header{flex-wrap:wrap;justify-content:center;padding-top:10px}.header-nav{justify-content:center;width:100%}.codex-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.shop-card:hover:not(:disabled),.button:active:not(:disabled){transform:none}}
