@charset "UTF-8";
:root{--ink:#273f35;--ink-deep:#1e332c;--paper:#eee8d7;--paper-light:#f8f4e9;--paper-line:#d3cbb7;--gold:#d5ba7b;--gold-dark:#9b7b43;--muted:#7b7d6e;--cinnabar:#b45f47;--line:rgba(217,224,203,.16);--serif:"Noto Serif TC","Songti TC","PMingLiU",serif;--sans:ui-sans-serif,system-ui,-apple-system,"Microsoft JhengHei","PingFang TC",sans-serif;--edge:14px;--hud-height:60px;--dock-bottom:max(var(--edge),env(safe-area-inset-bottom));--safe-top:max(var(--edge),env(safe-area-inset-top));--safe-left:max(var(--edge),env(safe-area-inset-left));--safe-right:max(var(--edge),env(safe-area-inset-right))}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#c7b992;color:var(--ink);font:14px var(--sans)}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;transition:background .16s,color .16s,border-color .16s}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #c6a55c;outline-offset:3px}button svg,a svg{pointer-events:none}[hidden]{display:none!important}svg.icon{width:18px;height:18px;vertical-align:middle;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}kbd{font:10px var(--sans);border:1px solid currentColor;border-radius:3px;padding:1px 4px;opacity:.55}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;color:var(--gold-dark)}
.game-shell{position:relative;width:100%;height:100vh;height:100dvh;isolation:isolate;overflow:hidden;background:#c7b992}.map-stage{position:absolute;inset:0;overflow:hidden}#battle-map{display:block;width:100%;height:100%;touch-action:none;user-select:none;cursor:grab;outline-offset:-3px}.hud-bar{position:absolute;z-index:5;left:var(--safe-left);right:var(--safe-right);top:var(--safe-top);height:var(--hud-height);display:flex;align-items:center;gap:24px;padding:0 16px;background:#f7f2e4f5;border:1px solid #fff9e6a6;box-shadow:0 3px 20px #443a2117;border-radius:8px;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);white-space:nowrap}.brand-seal{font:12px/14px var(--serif);text-align:center;width:25px;height:30px;color:#fff3db;background:var(--cinnabar);padding-top:1px;clip-path:polygon(3% 0,100% 2%,97% 97%,0 100%)}.brand strong{font:600 20px var(--serif);letter-spacing:3px}.hud-stats{display:flex;gap:24px;padding-left:24px;border-left:1px solid var(--paper-line)}.hud-stat{display:flex;align-items:baseline;gap:8px;white-space:nowrap;font-variant-numeric:tabular-nums}.hud-stat>span{font-size:10px;color:#727961}.hud-stat strong{font-weight:500;font-size:22px}.hud-stat small{font-size:10px;color:#92967a}.hud-stat.reinforcement strong{color:var(--gold-dark)}.turn-clock{margin-left:auto;width:166px;flex-shrink:0;font-variant-numeric:tabular-nums}.turn-clock>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.turn-clock #turn-label{font-size:10px;white-space:nowrap}.clock-sub{font-size:10px;color:#7a806d;white-space:nowrap}.clock-sub b{font-size:18px;font-weight:500;display:inline-block;min-width:34px;text-align:right;color:var(--ink)}.clock-sub small{font-size:10px;margin-left:2px}.turn-track{height:2px;background:#d6d4bb;margin-top:5px;overflow:hidden}.turn-track i{display:block;width:100%;height:100%;background:var(--ink);transform-origin:left}.playback,.top-actions{display:flex;align-items:center;gap:4px}.top-actions{padding-left:14px;border-left:1px solid var(--paper-line)}.hud-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 10px;min-width:38px;background:transparent;color:var(--ink);border-radius:5px;font-size:11px;white-space:nowrap}.hud-button:hover,.hud-button[aria-expanded=true]{background:#e5e3d1}.speed-button{font-size:12px;font-variant-numeric:tabular-nums}.speed-button.active{background:var(--ink);color:var(--gold)}#supplies-dot{width:5px;height:5px;background:var(--gold-dark);border-radius:50%;position:absolute;top:5px;right:5px}.map-title{position:absolute;top:calc(var(--safe-top) + var(--hud-height) + 23px);left:calc(var(--safe-left) + 13px);pointer-events:none;text-shadow:0 1px 7px #fff4cf}.map-title .eyebrow{font-size:8px;letter-spacing:1.5px;color:#7c6d49}.map-title h1{font:500 24px var(--serif);letter-spacing:6px;margin:8px 0 7px}.map-title p{font-size:10px;color:#817952;margin:0;letter-spacing:1px}
.map-controls{position:absolute;z-index:4;right:var(--safe-right);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:4px;background:#f7f2e4ed;border:1px solid #fff9e699;border-radius:7px;box-shadow:0 3px 18px #443a2120;backdrop-filter:blur(12px)}.map-controls button{width:38px;height:38px;border-radius:4px;background:transparent;color:var(--ink);font-size:21px;display:flex;align-items:center;justify-content:center}.map-controls button:hover{background:#e3e0cb}.map-controls .control-divider{height:1px;background:var(--paper-line);margin:3px 7px}.restore-ui{position:absolute;z-index:8;right:var(--safe-right);top:var(--safe-top);display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:6px;background:#f7f2e4ed;color:var(--ink);box-shadow:0 3px 18px #443a2120;font-size:12px}.ui-hidden .map-chrome{visibility:hidden;pointer-events:none}.ui-hidden .map-chrome :focus-visible{outline:none}.ui-hidden .floating-notice{top:auto;bottom:20px}
.dispatch-panel{position:absolute;z-index:6;bottom:var(--dock-bottom);left:50%;transform:translateX(-50%);width:min(790px,calc(100% - var(--safe-left) - var(--safe-right) - 100px));padding:13px 19px 9px;border:1px solid #84967c;background:linear-gradient(110deg,#294439f7,#213a32f7);color:#eeeeda;box-shadow:0 5px 28px #162c3140;border-radius:9px;backdrop-filter:blur(16px)}#selection-content{display:grid;grid-template-columns:122px minmax(0,1fr);align-items:center;gap:20px}.selected-summary{border-right:1px solid var(--line);padding-right:15px;min-width:0}.selected-meta{display:flex;align-items:center;gap:6px;color:#c5cbb0;font-size:9px;white-space:nowrap}.selected-owner{font-size:9px;color:#d1d6c0;border-left:2px solid #829d75;padding-left:4px}.selected-owner.own{display:none}.hq-badge{display:flex;gap:3px;align-items:center;color:#d8bd7f;font-size:9px}.hq-badge svg{width:11px;height:11px}.selected-heading{display:flex;align-items:center;gap:4px}.selected-heading h2{font:500 26px var(--serif);letter-spacing:4px;margin:4px 0;white-space:nowrap}.clear-selection{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;color:#a8b69a;border-radius:4px;margin-left:auto;flex-shrink:0}.clear-selection svg{width:13px;height:13px}.clear-selection:hover{background:#ffffff12;color:#fff}.garrison-row{font-size:10px;color:#b3c1a6}.garrison-row strong{font-weight:500;color:#f1edda;margin-left:5px;font-size:13px;font-variant-numeric:tabular-nums}#friendly-controls{display:grid;grid-template-columns:minmax(150px,1fr) 184px;align-items:center;gap:20px}.dispatch-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11px;color:#cdd2bb;white-space:nowrap}.dispatch-label strong{font:500 29px var(--sans);color:var(--gold);margin-left:5px;font-variant-numeric:tabular-nums}.dispatch-label small{font-size:11px;color:#a6b397;margin-left:2px}.remaining-label{font-size:10px}.remaining-label b{font-weight:500;color:#dce2ca;font-size:13px;margin-left:3px}.remaining-label.empty,.remaining-label.empty b{color:#e9ac86}.slider-row{display:flex;align-items:center;gap:8px;margin-top:4px;min-height:32px}.step-button{width:30px;height:32px;flex-shrink:0;background:#ffffff08;border:1px solid #81977466;color:#e0dfc4;border-radius:5px;font-size:18px}.step-button:hover{background:#ffffff16}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:32px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y}input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:5px;background:linear-gradient(to right,var(--gold) 0 var(--fill,50%),#78907277 var(--fill,50%) 100%)}input[type=range]::-moz-range-track{height:5px;border-radius:5px;background:#78907277}input[type=range]::-moz-range-progress{background:var(--gold);height:5px}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:21px;height:21px;border-radius:50%;background:var(--gold);border:4px solid #2c493b;box-shadow:0 0 0 2px var(--gold);margin-top:-8px}input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--gold);border:3px solid #2c493b;box-shadow:0 0 0 2px var(--gold)}input[type=range]:disabled{opacity:.4;cursor:not-allowed}.ratios{display:flex;gap:5px}.ratios button{flex:1;min-width:0;height:34px;background:#ffffff08;border:1px solid #7e967766;color:#d6dbc3;border-radius:4px;font-size:12px}.ratios button.active{background:var(--gold);border-color:var(--gold);color:var(--ink)}.ratios button:hover:not(:disabled):not(.active){background:#ffffff20}.dock-secondary{display:flex;gap:6px;margin-top:6px}.dock-button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:3px 7px;font-size:10px;color:#c9d0b8;background:transparent;border:1px solid #829b6d4d;border-radius:4px;white-space:nowrap;flex:1}.dock-button svg{width:12px;height:12px}.dock-button:hover{background:#ffffff12}.action-instruction{margin:6px 0 0;text-align:center;font-size:9px;line-height:14px;letter-spacing:.6px;color:#abb99b}.empty-selection{display:flex;align-items:center;gap:15px;padding:4px 0}.empty-selection>span{color:var(--gold)}.empty-selection>div{display:flex;flex-direction:column;gap:5px;flex:1}.empty-selection strong{font:500 20px var(--serif);letter-spacing:2px}.empty-selection>div>span{font-size:11px;color:#b5c1a6}.empty-selection .dock-button{flex:0 0 auto;padding:10px 13px}.enemy-inspect{display:flex;align-items:center;gap:12px;font-size:12px;color:#c5cdb6}.enemy-inspect p{line-height:1.8;flex:1}.enemy-inspect .dock-button{flex:0 0 auto}.enemy-inspect>svg{color:var(--gold)}
.intel-drawer{position:absolute;z-index:7;right:calc(var(--safe-right) + 58px);top:calc(var(--safe-top) + var(--hud-height) + 10px);bottom:calc(var(--dock-bottom) + 124px);width:328px;max-width:calc(100% - var(--safe-left) - var(--safe-right));max-height:590px;display:flex;flex-direction:column;background:#f5f0e1f9;color:var(--ink);border:1px solid #fff7ddbd;border-radius:8px;box-shadow:0 8px 36px #223d3240;backdrop-filter:blur(20px);overflow:hidden}.drawer-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 0 20px;min-height:34px}.drawer-heading .eyebrow{font-size:8px}.icon-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ink);border-radius:4px}.icon-button:hover{background:#e3e0cd}.drawer-tabs{display:flex;padding:0 20px;border-bottom:1px solid #d6cfb8;gap:23px}.drawer-tabs button{padding:9px 1px 10px;font-size:12px;background:transparent;color:#85876b;border-bottom:2px solid transparent}.drawer-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--ink)}.drawer-body{padding:18px 20px;overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:#c1bd9c transparent}.section-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;letter-spacing:1px;font-weight:500;margin-bottom:12px}.micro-label{font-size:8px;letter-spacing:1px;color:#899071}.detail-base{border-bottom:1px solid #d6cfb8;margin-bottom:19px;padding-bottom:12px}.base-effect{font-size:12px;line-height:1.9;color:#758065;margin:0}.overview-meta button{background:none;color:#788266;font-size:11px;padding:0;display:flex;gap:7px;align-items:center}.overview-meta svg{width:12px;height:12px}.territory-track{display:flex;height:4px;background:#d6d2ba;border-radius:2px;overflow:hidden;margin:16px 0}.territory-track i{height:100%;display:block}.legend{display:flex;flex-wrap:wrap;gap:12px 16px}.legend-item{display:flex;align-items:center;gap:5px;font-size:10px;color:#6a765d}.legend-item i{width:6px;height:6px;border-radius:1px}.legend-item b{font-size:10px;font-weight:500}.legend-item.eliminated{opacity:.4;text-decoration:line-through}.war-report{padding-top:24px}.live-indicator{font-size:7px;letter-spacing:1px;color:#7f886c;display:flex;align-items:center;gap:4px}.live-indicator i{display:block;width:4px;height:4px;border-radius:50%;background:#7a9266}#event-list{list-style:none;margin:0;padding:0}#event-list li{position:relative;border-bottom:1px solid #d9d1b972;padding:9px 0 9px 10px;display:flex;gap:8px;color:#717d60;font-size:11px;line-height:1.7}#event-list li:before{content:"";position:absolute;left:0;top:16px;width:3px;height:3px;border-radius:50%;background:var(--event-color)}#event-list li span{flex:1}#event-list time{font-size:9px;color:#9b9e82;font-variant-numeric:tabular-nums}.item-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.item-button{position:relative;display:flex;align-items:center;gap:8px;padding:11px 10px;min-height:50px;background:#e6e7d5;color:var(--ink);border:1px solid #b9c3a6;border-radius:5px;text-align:left}.item-button:hover{background:#d8e0c8}.item-button>span{font-size:11px}.item-button small{margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums;color:var(--gold-dark)}.item-hint{font-size:11px;line-height:1.9;color:#7c8568;margin:14px 0 0}.buff-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.buff-chip{font-size:9px;background:#dfe4ce;color:#617653;display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:3px}.buff-chip svg{width:11px;height:11px}.destination-hint{font-size:11px;line-height:1.9;color:#7d856b;margin:0 0 12px}.destination-list{display:flex;flex-direction:column;gap:6px}.destination{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 11px;border:1px solid #d3d2bc;border-radius:4px;background:#eae8d7;color:var(--ink);font-size:12px}.destination:hover{background:#dae0c9}.dest-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.dest-type{font-size:10px;color:#8b9178}.dest-count{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums}.destination svg{width:13px;height:13px;color:#92936f}.drawer-footnote{padding:8px 20px;font-size:9px;color:#8c9176;margin:0;border-top:1px solid #d6cfb8;background:#eeeadb}.game-menu{position:absolute;z-index:8;right:var(--safe-right);top:calc(var(--safe-top) + var(--hud-height) + 8px);padding:7px;width:175px;border:1px solid #fff7ddbd;border-radius:7px;background:#f5f0e1f9;box-shadow:0 8px 36px #223d3240;backdrop-filter:blur(20px)}.game-menu button{width:100%;display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;background:transparent;color:var(--ink);border-radius:4px;font-size:12px;text-align:left}.game-menu button:hover{background:#e5e3cf}.menu-hint{border-top:1px solid #d8d3bd;font-size:9px;color:#8b9174;line-height:2.4;padding:9px 12px 3px}.portrait-hint{display:none}
.pause-overlay{position:absolute;inset:0;z-index:3;background:#e2dcbf4d;backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;pointer-events:auto}.pause-overlay>span{color:#56745b}.pause-overlay>span svg{height:28px;width:28px}.pause-overlay strong{font:500 29px var(--serif);letter-spacing:5px}.pause-overlay small{font-size:11px;color:#6b785c}.small-button{background:var(--ink);color:#eeecd5;border:1px solid #6f815f;padding:11px 22px;border-radius:4px;font-size:12px}.floating-notice{position:absolute;left:50%;transform:translateX(-50%);top:calc(var(--safe-top) + var(--hud-height) + 12px);padding:8px 16px;background:#f7f1dded;border:1px solid #b0b18d8c;box-shadow:0 2px 12px #443a211a;color:#526a4b;border-radius:5px;font-size:11px;pointer-events:none;z-index:4;width:max-content;max-width:75%;text-align:center}
.paper-dialog{max-width:calc(100vw - 28px);max-height:calc(100dvh - 36px);background:var(--paper-light);color:var(--ink);box-shadow:0 24px 90px #09251e45;border:1px solid #d5cbb4;border-radius:5px;overflow:auto;scrollbar-width:thin}.paper-dialog:before{content:"";position:absolute;inset:8px;border:1px solid #d9cdaa;pointer-events:none;z-index:0}.paper-dialog>*{position:relative;z-index:1}.setup-dialog{width:560px;text-align:center}.setup-dialog form{padding:33px 42px 24px}.dialog-eyebrow{font-size:8px;color:#8a8b70;letter-spacing:2px;display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap}.ornament{font-size:14px;color:#aa9462}.intro-mark{display:flex;align-items:center;justify-content:center;gap:15px;margin:23px 0 15px;color:#47624b}.intro-mark span{font:500 37px var(--serif);letter-spacing:4px}.intro-mark i{width:43px;height:1px;background:#b5a77b;position:relative}.intro-mark i:before{content:"◆";font-size:7px;line-height:7px;position:absolute;top:-3px;left:19px;background:var(--paper-light);color:#aa9462}.setup-dialog h2{font:500 29px var(--serif);letter-spacing:3px;margin:14px 0 12px}.intro-copy{font-size:12px;line-height:2.1;color:#7a806c;letter-spacing:.7px;margin:0 0 24px}.setup-fields{text-align:left}.setup-fields fieldset{padding:0;margin:18px 0 0;border:0}.setup-fields legend{font-size:11px;letter-spacing:2px;margin-bottom:9px;color:#5d7057}.option-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.option-row label{position:relative;cursor:pointer}.option-row input{position:absolute;opacity:0;width:1px;height:1px}.option-row label>span{display:block;text-align:center;padding:11px 7px 10px;border:1px solid #d2d0bc;border-radius:3px;font-size:12px;color:#73816a;letter-spacing:1px;transition:all .2s}.option-row label small{display:block;font-size:9px;letter-spacing:.3px;color:#969981;margin-top:5px}.option-row input:checked+span{border-color:#3a5843;background:#e5e8d9;color:#2a4935;box-shadow:inset 0 0 0 1px #3a584310}.option-row input:checked+span small{color:#6d805f}.option-row input:focus-visible+span{outline:2px solid #bca568;outline-offset:2px}.option-row label:hover>span{background:#edeedd}.intro-steps{display:flex;align-items:center;justify-content:center;gap:8px;font-size:9px;margin:25px 0 20px;color:#7e866f;letter-spacing:.1px}.intro-steps b{font-size:8px;color:#a79663;margin-right:4px}.intro-steps i{font-style:normal;color:#b1ad92}.primary-button{width:100%;display:flex;align-items:center;justify-content:center;gap:15px;padding:14px 20px;font-size:14px;letter-spacing:3px;border-radius:3px;color:#f3ecda;background:var(--ink);border:1px solid var(--ink)}.primary-button svg{width:18px;height:18px;color:var(--gold)}.primary-button:hover{background:#3e5a44;border-color:#3e5a44}.intro-note{font-size:9px;color:#93967e;margin:17px 0 2px;letter-spacing:.5px}.resume-save-button{display:flex;align-items:center;justify-content:center;gap:7px;background:#ebe6d5;color:#4c684d;border:1px solid #bdc6ac;width:100%;border-radius:3px;margin-top:10px;padding:11px;font-size:12px}.resume-save-button svg{width:13px;height:13px}.subtle-button{background:transparent;color:#7e8972;font-size:11px;padding:12px 18px}.subtle-button:hover{color:#314f38}.help-dialog{width:610px;padding:38px 38px 30px}.dialog-close{position:absolute;right:17px;top:17px;z-index:3}.help-dialog h2{font:500 30px var(--serif);letter-spacing:5px;margin:11px 0 8px}.help-lead{font:12px var(--serif);letter-spacing:2px;color:#879073;margin:0 0 22px}.help-tabs{display:flex;gap:7px;border-bottom:1px solid #d1cbb5;margin-bottom:20px}.help-tabs button{padding:10px 12px;background:transparent;border-bottom:2px solid transparent;font-size:12px;color:#8b9078;margin-bottom:-1px}.help-tabs button[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink)}.help-page{min-height:280px;font-size:12px;line-height:1.9}.manual-steps{list-style:none;counter-reset:manual;padding:0;margin:0}.manual-steps li{counter-increment:manual;position:relative;padding:0 0 10px 30px}.manual-steps li:before{content:"0" counter(manual);font:italic 15px var(--serif);color:#ab9a69;position:absolute;left:0;top:0}.manual-steps b{font-size:12px;font-weight:600;letter-spacing:1px}.manual-steps p{margin:4px 0 9px;font-size:11px;color:#748168;line-height:1.9}.manual-callout{background:#eae8d7;border-left:2px solid #b39a5f;padding:10px 13px;font-size:11px;color:#72795c;line-height:1.9;margin:13px 0}.manual-keyboard{font-size:10px;line-height:2.2;color:#858a71}.help-dialog .primary-button{margin-top:17px;padding:12px}.manual-buildings{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.manual-buildings b{font:600 14px var(--serif);letter-spacing:2px}.manual-buildings p{margin:2px 0;color:#7c866b;font-size:11px;line-height:1.8}.rules-list{margin:0}.rules-list dt{font-size:12px;font-weight:600;letter-spacing:1px;margin-top:12px}.rules-list dd{margin:4px 0;color:#75816a;font-size:11px;line-height:1.9}.rules-list dt:first-child{margin-top:0}.result-dialog{width:490px;text-align:center;padding:40px}.result-seal{font:40px var(--serif);color:var(--paper-light);background:var(--ink);display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:26px auto;border:3px double var(--gold);border-radius:50%}.result-dialog h2{font:500 27px var(--serif);letter-spacing:2px;margin:0 0 15px}.result-dialog p{font-size:12px;color:#7a866b;line-height:1.9}.result-stats{display:flex;justify-content:space-around;padding:23px 0;margin:20px 0 10px;border-top:1px solid #d8d3bf;border-bottom:1px solid #d8d3bf}.result-stats span{font-size:10px;color:#8c9279;display:block}.result-stats b{font-size:22px;letter-spacing:1px;font-weight:400;display:block;margin-top:7px;color:var(--ink)}.toast-stack{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;display:flex;flex-direction:column;gap:8px;pointer-events:none;align-items:center;width:max-content;max-width:calc(100vw - 30px)}.toast{background:#203d33f0;color:#f0edd9;border:1px solid #9a9b6c;padding:11px 20px;box-shadow:0 6px 20px #132c2430;border-radius:3px;font-size:12px;letter-spacing:.4px;text-align:center;animation:toast-in .2s ease}.toast.error{background:#805041f2;border-color:#b68062}.fatal-error{position:fixed;inset:30px;padding:25px;background:var(--paper-light);color:#924f35;z-index:100}.save-warning{color:#c59f6c}.is-ended .live-indicator i{background:#7d8b70}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.toast-stack{bottom:calc(var(--dock-bottom) + 135px)}
@media(max-width:1200px){.hud-bar{gap:15px;padding:0 12px}.brand strong{font-size:18px;letter-spacing:2px}.hud-stats{padding-left:15px;gap:16px}.hud-stat{display:flex;flex-direction:column;gap:0}.hud-stat>span{font-size:9px}.hud-stat strong{font-size:20px;line-height:1.2}.hud-stat small{font-size:8px}.turn-clock{width:142px}.top-actions{padding-left:9px}.hud-button{padding:0 8px}.map-title .eyebrow{font-size:7px}}
@media(max-width:960px){.hud-bar{gap:12px}.brand strong{font-size:17px;letter-spacing:1px}.brand-seal{display:none}.hud-stats{gap:14px;padding-left:12px}.hud-stat>span{font-size:8px}.turn-clock{width:115px}.clock-sub{font-size:9px}.clock-sub b{font-size:16px;min-width:29px}.turn-clock #turn-label{font-size:9px}.playback{gap:1px}.top-actions{gap:1px;padding-left:5px}.top-actions .hud-button>span:nth-child(2),#pause-button>span{display:none}.hud-button{padding:0;min-width:36px;height:36px}.map-title{left:calc(var(--safe-left) + 7px)}.map-title h1{font-size:20px;letter-spacing:4px}}
@media(max-height:540px) and (orientation:landscape){:root{--edge:8px;--hud-height:46px}.hud-bar{border-radius:6px;gap:14px}.hud-stats{gap:18px}.hud-stat strong{font-size:18px}.hud-stat>span{font-size:8px}.brand-seal{display:none}.brand strong{font-size:17px;letter-spacing:1px}.turn-clock{width:115px}.top-actions .hud-button>span:nth-child(2),#pause-button>span{display:none}.hud-button{height:36px;min-width:36px;padding:0}.map-title{top:calc(var(--safe-top) + var(--hud-height) + 17px);left:calc(var(--safe-left) + 12px)}.map-title .eyebrow{display:none}.map-title h1{font-size:18px;margin-top:0}.map-title p{font-size:9px}.dispatch-panel{width:min(740px,calc(100% - var(--safe-left) - var(--safe-right)));padding:8px 13px 6px;border-radius:7px}#selection-content{grid-template-columns:105px minmax(0,1fr);gap:14px}.selected-summary{padding-right:10px}.selected-heading h2{font-size:23px;margin:2px 0;letter-spacing:2px}.selected-meta{font-size:8px;gap:4px}.hq-badge{font-size:8px}.selected-owner{font-size:8px}.garrison-row{font-size:9px}.garrison-row strong{font-size:11px}#friendly-controls{grid-template-columns:minmax(135px,1fr) 180px;gap:14px}.dispatch-label strong{font-size:25px}.dispatch-label{font-size:10px}.dispatch-label small{font-size:9px}.slider-row{margin-top:0;gap:7px;min-height:34px}.step-button{height:34px}.ratios button{height:34px}.dock-secondary{margin-top:4px}.dock-button{min-height:28px}.action-instruction{margin:3px 0 0;font-size:8px;line-height:12px}.map-controls{top:calc(var(--safe-top) + var(--hud-height) + 10px);transform:none;padding:3px;gap:0}.map-controls button{width:32px;height:32px;font-size:20px}.map-controls .control-divider{margin:2px 5px}.map-controls svg{width:16px;height:16px}.intel-drawer{top:calc(var(--safe-top) + var(--hud-height) + 7px);bottom:calc(var(--dock-bottom) + 110px);right:calc(var(--safe-right) + 47px);width:330px}.drawer-heading{position:absolute;right:5px;top:2px;padding:0;min-height:0}.drawer-heading .eyebrow{display:none}.drawer-tabs{padding:0 16px;gap:25px;flex-shrink:0}.drawer-tabs button{padding:10px 0}.drawer-body{padding:12px 16px}.drawer-footnote{padding:5px 16px;font-size:8px}.floating-notice{top:calc(var(--safe-top) + var(--hud-height) + 8px);font-size:10px;padding:6px 12px}.toast-stack{bottom:calc(var(--dock-bottom) + 113px)}.toast{font-size:10px;padding:8px 14px}.pause-overlay{padding-bottom:35px}.pause-overlay strong{font-size:24px}.pause-overlay{gap:8px}.paper-dialog{max-height:calc(100dvh - 16px)}.setup-dialog{width:690px}.setup-dialog form{padding:22px 30px 16px;display:grid;grid-template-columns:1fr 1.35fr;column-gap:30px;align-content:center}.dialog-eyebrow,.intro-mark,.intro-steps,.intro-note{display:none}.setup-dialog h2{grid-column:1;grid-row:1;font-size:25px;letter-spacing:1px;text-align:left;margin:15px 0 7px;align-self:end}.intro-copy{grid-column:1;grid-row:2;text-align:left;font-size:11px;margin:0 0 10px}.setup-fields{grid-column:2;grid-row:1/5}.setup-fields fieldset{margin-top:12px}.setup-fields legend{font-size:10px;margin-bottom:7px}.option-row label>span{padding:10px 5px;font-size:11px}.option-row label small{font-size:8px;margin-top:4px}.setup-dialog .primary-button{grid-column:1;grid-row:3;padding:11px;letter-spacing:2px}.resume-save-button{grid-column:1;padding:9px;font-size:11px;margin-top:6px}.setup-dialog .subtle-button{grid-column:1;padding:9px}.help-dialog{padding:25px 30px}.result-dialog{width:530px;padding:25px 30px}.result-seal{width:46px;height:46px;font-size:28px;margin:12px auto}.result-dialog h2{font-size:24px;margin-bottom:8px}.result-dialog p{margin:5px 0;font-size:11px}.result-stats{padding:12px 0;margin:12px 0}.result-stats b{font-size:20px;margin-top:4px}.result-dialog .primary-button{padding:10px}.result-dialog .subtle-button{padding:9px}}
@media(max-width:720px) and (orientation:landscape){.hud-bar{gap:9px;padding:0 9px}.brand strong{font-size:15px;letter-spacing:0}.hud-stats{padding-left:9px;gap:12px}.hud-stat strong{font-size:17px}.turn-clock{width:103px}.top-actions{border-left:0;padding-left:0}.hud-button{min-width:32px}.hud-stat small{display:none}.dispatch-panel{padding-left:11px;padding-right:11px}#selection-content{grid-template-columns:94px minmax(0,1fr);gap:10px}#friendly-controls{gap:10px;grid-template-columns:minmax(130px,1fr) 164px}.selected-heading h2{font-size:22px}.clear-selection{width:22px}.map-title{display:none}}
@media(max-width:600px) and (orientation:portrait){:root{--edge:10px;--hud-height:91px}.hud-bar{padding:7px 11px;display:grid;grid-template-columns:minmax(0,1fr) 102px 68px;grid-template-rows:36px 32px;gap:5px 10px}.brand{display:none}.hud-stats{border:0;padding:0;gap:14px;grid-column:1;grid-row:1}.hud-stat{gap:1px}.hud-stat>span{font-size:8px}.hud-stat strong{font-size:18px}.hud-stat small{display:none}.turn-clock{margin:0;width:auto;grid-column:2;grid-row:1}.turn-clock #turn-label{font-size:8px}.clock-sub{font-size:8px}.clock-sub b{font-size:15px;min-width:27px}.playback{grid-column:3;grid-row:1}.hud-button{height:32px;min-width:32px;font-size:10px}.top-actions{grid-column:1/4;grid-row:2;border:0;padding:0;justify-content:space-between;border-top:1px solid #d9d4bd;padding-top:3px}.top-actions .hud-button{padding:0 7px;gap:6px}.top-actions .hud-button>span:nth-child(2){display:inline}.top-actions svg{width:16px;height:16px}.map-title{display:none}.map-controls{right:var(--safe-right);padding:3px;gap:1px}.map-controls button{width:34px;height:34px}.dispatch-panel{width:calc(100% - var(--safe-left) - var(--safe-right));padding:10px 12px 8px}#selection-content{grid-template-columns:95px minmax(0,1fr);gap:8px 12px}.selected-summary{grid-column:1;grid-row:1;padding-right:9px}.selected-heading h2{font-size:24px;letter-spacing:2px}.selected-meta{font-size:8px;gap:3px}.hq-badge{font-size:8px}.selected-owner{font-size:8px}.garrison-row{font-size:9px}.garrison-row strong{font-size:12px}.clear-selection{width:22px;height:30px}#friendly-controls{display:contents}.dispatch-muster{grid-column:2;grid-row:1}.dispatch-label{font-size:10px;gap:4px}.dispatch-label strong{font-size:25px}.dispatch-label small{font-size:9px}.remaining-label{font-size:9px}.remaining-label b{font-size:11px}.slider-row{gap:7px}.step-button{width:29px;height:34px}.dispatch-actions{grid-column:1/-1;grid-row:2;display:flex;gap:9px}.ratios{flex:1;gap:5px}.ratios button{height:36px;font-size:12px}.dock-secondary{margin:0;gap:5px}.dock-button{min-height:36px;padding:4px 7px;font-size:9px}.action-instruction{margin-top:6px;font-size:8px;letter-spacing:0;line-height:12px}.enemy-inspect{grid-column:2;font-size:10px;flex-wrap:wrap;gap:0}.enemy-inspect>span{display:none}.enemy-inspect p{margin:0;min-width:100%}.enemy-inspect .dock-button{border:0;padding:2px 0;min-height:25px}.empty-selection{gap:10px}.empty-selection strong{font-size:16px}.empty-selection>div>span{font-size:10px}.empty-selection .dock-button{padding:9px}.intel-drawer{left:var(--safe-left);right:var(--safe-right);top:calc(var(--safe-top) + var(--hud-height) + 8px);bottom:calc(var(--dock-bottom) + 161px);width:auto;max-width:none}.drawer-heading{position:absolute;right:8px;top:3px;padding:0}.drawer-heading .eyebrow{display:none}.drawer-tabs{padding-right:55px;gap:26px;flex-shrink:0}.drawer-tabs button{padding:12px 0}.drawer-body{padding:16px 18px}.drawer-footnote{padding:7px 18px}.floating-notice{top:calc(var(--safe-top) + var(--hud-height) + 46px);max-width:calc(100% - 42px);font-size:10px;padding:7px 12px}.toast-stack{bottom:calc(var(--dock-bottom) + 166px)}.toast{font-size:11px;padding:10px 16px}.portrait-hint{position:absolute;top:calc(var(--safe-top) + var(--hud-height) + 10px);left:var(--safe-left);display:flex;align-items:center;gap:7px;background:#f5efdaeb;border:1px solid #d0c5a8;border-radius:5px;padding:5px 7px 5px 10px;font-size:10px;color:#7d795b;z-index:4}.portrait-hint svg{width:13px;height:13px}.portrait-hint button{display:flex;align-items:center;justify-content:center;width:27px;height:27px;background:transparent;color:#7d795b}.setup-dialog{max-width:calc(100vw - 24px)}.setup-dialog form{padding:25px 24px 21px}.dialog-eyebrow{font-size:6px;letter-spacing:1.5px;gap:7px}.intro-mark{margin-top:17px;margin-bottom:12px}.intro-mark span{font-size:32px}.setup-dialog h2{font-size:25px;letter-spacing:1px;margin-top:12px}.intro-copy{font-size:11px;margin-bottom:19px}.option-row{gap:6px}.option-row label>span{font-size:11px;padding:10px 5px;letter-spacing:.5px}.option-row label small{font-size:8px;letter-spacing:0}.setup-fields legend{font-size:10px}.intro-steps{font-size:8px;gap:5px;margin:20px 0 17px}.intro-steps b{font-size:7px;margin-right:2px}.intro-note{font-size:8px}.primary-button{padding:13px 17px;font-size:13px;letter-spacing:3px}.help-dialog{padding:33px 23px 23px}.help-dialog h2{font-size:27px}.help-tabs{gap:3px}.help-tabs button{font-size:11px;padding:10px}.manual-buildings{gap:10px 16px}.result-dialog{padding:34px 25px}.result-dialog h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:640px) and (orientation:landscape){.hud-bar .brand{display:none}.hud-bar{gap:10px}.hud-stats{padding-left:0;border-left:0}.turn-clock{width:98px}}
@media(max-height:360px) and (orientation:landscape){.map-controls{flex-direction:row;top:auto;bottom:calc(var(--dock-bottom) + 108px);gap:0}.map-controls .control-divider{width:1px;height:22px;margin:5px 4px}.map-controls button{width:32px;height:32px}.map-controls{padding:3px}}
.ratios button{padding:0 3px;white-space:nowrap}
/* Shared battlefield building art and an illustrated field manual. */
.help-dialog{width:820px}.guide-intro{font-size:12px;line-height:1.9;color:#778065;margin:0 0 18px}.building-guide{display:grid;grid-template-columns:1fr 1fr;gap:10px}.building-card{display:flex;align-items:center;gap:6px;border:1px solid #d6cdb2;border-radius:6px;background:linear-gradient(130deg,#f0ead8,#f7f2e4);padding:9px 12px 12px 2px;min-width:0;min-height:123px}.building-card canvas{width:104px;height:87px;flex:0 0 104px}.building-card>div{flex:1;min-width:0}.building-card h3{font:600 17px var(--serif);letter-spacing:2px;margin:3px 0 6px;display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px}.building-card h3>span{font:9px var(--sans);letter-spacing:0;color:var(--building-color);border:1px solid color-mix(in srgb,var(--building-color) 45%,transparent);background:#fff6df;padding:3px 5px;border-radius:3px;white-space:nowrap}.building-card p{font-size:10px;line-height:1.9;color:#7a8066;margin:0}.hq-reference{display:flex;align-items:flex-start;gap:11px}.hq-reference>span{margin-top:3px;color:#8b763c}.hq-reference b{font-size:12px}.hq-reference p{margin:5px 0 0}.detail-identity{display:flex;align-items:center;gap:9px}.detail-identity canvas{width:100px;height:83px;flex-shrink:0;margin:-5px 0 0 -10px}.detail-identity h3{font:500 24px var(--serif);letter-spacing:3px;margin:5px 0 0}.detail-identity .micro-label{font-size:11px;letter-spacing:2px;color:#8b7e4d}.base-income{font-size:11px;line-height:1.8;background:#e8e8d4;border-left:2px solid #9a9b65;padding:8px 10px;color:#5c704d;margin:4px 0 10px}.economy-summary{margin:16px 0 0;padding:0;font-size:10px}.economy-summary>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #ded7bf80}.economy-summary dt{color:#879076}.economy-summary dd{margin:0;color:#566e4c;font-variant-numeric:tabular-nums;text-align:right}.detail-base{padding-bottom:15px}.selected-type{white-space:nowrap}
@media(max-width:620px){.building-guide{grid-template-columns:1fr}.building-card{min-height:110px;padding-top:5px;padding-bottom:8px}.building-card canvas{width:98px;height:82px;flex-basis:98px}.building-card p{font-size:11px}.building-card h3{font-size:18px}.guide-intro{font-size:11px}}
@media(max-height:540px) and (orientation:landscape){.help-dialog{padding:24px 27px}.building-card canvas{width:90px;height:75px;flex-basis:90px}.building-card{min-height:116px;gap:2px;padding-right:8px}.building-card h3{font-size:16px;letter-spacing:1px}.building-card p{font-size:10px}.detail-identity canvas{width:80px;height:67px}.detail-identity h3{font-size:21px}.economy-summary{margin-top:10px}}
/* Fixed mobile game surface; scrolling stays inside information panels. */
html,body{position:fixed;inset:0;overscroll-behavior:none;width:100%;height:100%;overflow:hidden}body{touch-action:manipulation}.game-shell{height:var(--app-height,100dvh);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.paper-dialog,.drawer-body,.speed-menu,.game-menu{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.paper-dialog,.drawer-body{-webkit-user-select:text;user-select:text}.game-menu{max-height:calc(var(--app-height,100dvh) - var(--safe-top) - var(--hud-height) - 25px);overflow-y:auto}.paper-dialog{max-height:calc(var(--app-height,100dvh) - 28px)}.speed-button{min-width:46px;font-size:11px;font-variant-numeric:tabular-nums}.speed-menu{position:absolute;z-index:9;width:240px;background:#f5f0e1fa;border:1px solid #fff7ddbd;border-radius:7px;box-shadow:0 8px 36px #223d3240;padding:12px;backdrop-filter:blur(20px);max-height:calc(var(--app-height,100dvh) - var(--hud-height) - var(--safe-top) - 24px);overflow-y:auto}.speed-heading{display:flex;align-items:center;justify-content:space-between;margin:-3px -3px 8px 3px}.speed-heading>strong{font:500 16px var(--serif);letter-spacing:2px}.speed-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.speed-options button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:42px;border:1px solid #d3cbb3;border-radius:4px;background:#eae8d8;color:#667454;font-size:13px;font-variant-numeric:tabular-nums}.speed-options button small{font-size:7px;margin-top:2px}.speed-options button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--gold)}.speed-menu>p{font-size:10px;color:#8b9074;line-height:1.8;margin:10px 2px 0}.setup-experience{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 13px;margin:18px 0 0;text-align:left}.setup-speed-label{font-size:11px;letter-spacing:2px;color:#5d7057}.setup-experience select{width:100%;min-height:36px;padding:7px 10px;border:1px solid #bdc3a6;background:#f5f0e1;color:var(--ink);border-radius:4px;font:12px var(--sans);cursor:pointer}.setup-experience>small{grid-column:1/-1;font-size:9px;color:#899173;line-height:1.6}.fullscreen-start-option{display:flex;align-items:center;gap:5px;grid-column:1/-1;font-size:10px;color:#6b805b;min-height:28px}.fullscreen-start-option input,.app-auto-setting input{accent-color:var(--ink);width:15px;height:15px;margin:0}.install-guide-link{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;background:none;color:#7a835f;padding:6px 0;font-size:10px}.install-guide-link svg{width:13px;height:13px}.app-dialog{width:720px;padding:34px;text-align:left}.app-dialog>h2{font:500 28px var(--serif);letter-spacing:3px;margin:12px 0}.app-lead{font-size:12px;color:#7d896b;line-height:1.9;margin:0 0 20px}.app-mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.app-mode-card{border:1px solid #d6cdb2;border-radius:6px;background:#f0ead8;padding:18px}.app-mode-card h3{font:500 18px var(--serif);letter-spacing:2px;display:flex;align-items:center;gap:8px;margin:0 0 10px}.app-mode-card h3 svg{width:17px;height:17px}.app-mode-card p{font-size:11px;line-height:1.9;color:#798366;margin:0 0 14px}.app-mode-card .primary-button{font-size:12px;padding:11px;letter-spacing:1px}.app-auto-setting{font-size:10px;line-height:1.8;display:flex;align-items:center;gap:7px;margin-top:12px;color:#7e886c}.install-steps{margin-top:14px}.install-steps b{font-size:11px;font-weight:600;letter-spacing:.7px;color:#6d7b59}.install-steps ol{font-size:10px;color:#848b70;line-height:1.9;padding-left:17px;margin:6px 0 0}.install-steps li{padding-left:1px;margin-bottom:4px}.app-system-note{font-size:10px;line-height:1.9;color:#8b9175;margin:17px 0}.app-dialog>#app-done{font-size:12px;padding:12px}
@media(max-height:540px) and (orientation:landscape){.setup-dialog form{grid-template-columns:1fr 1.25fr;grid-template-rows:auto auto auto auto;column-gap:22px;padding:18px 26px}.setup-dialog h2{font-size:23px;margin:8px 0 5px}.intro-copy{font-size:10px;line-height:1.8;margin:0 0 4px}.setup-fields{grid-column:2;grid-row:1/3}.setup-fields fieldset{margin-top:9px}.option-row label>span{padding:8px 4px}.setup-experience{grid-column:2;grid-row:3/7;align-self:start;margin-top:12px;gap:5px 9px}.setup-experience>small{font-size:8px}.setup-experience select{min-height:32px;font-size:11px;padding:5px 8px}.setup-speed-label{font-size:10px}.fullscreen-start-option{font-size:9px;min-height:24px}.install-guide-link{font-size:9px;min-height:27px;padding:3px 0}.setup-dialog .primary-button{grid-column:1;grid-row:3;align-self:start;margin-top:10px}.resume-save-button{grid-column:1;grid-row:4}.setup-dialog #cancel-setup{grid-column:1;grid-row:5}.app-dialog{padding:23px 26px;width:700px}.app-dialog>h2{font-size:23px;margin:8px 0}.app-lead{margin-bottom:12px;font-size:11px}.app-mode-card{padding:13px}.app-mode-card h3{font-size:16px}.app-mode-card p{font-size:10px}.playback .speed-button{min-width:40px}.speed-menu{max-height:calc(var(--app-height,100dvh) - var(--hud-height) - var(--safe-top) - 16px)}}
@media(max-width:600px) and (orientation:portrait){.setup-experience{margin-top:14px}.setup-experience select{font-size:11px}.setup-experience>small{font-size:8px}.app-dialog{padding:30px 22px}.app-dialog>h2{font-size:24px;letter-spacing:1px}.app-mode-cards{grid-template-columns:1fr}.app-mode-card{padding:15px}.app-mode-card p,.install-steps ol{font-size:11px}.app-system-note{font-size:10px}.playback .speed-button{min-width:36px;font-size:10px}.hud-bar{grid-template-columns:minmax(0,1fr) 98px 72px}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(pointer:coarse){.setup-experience select{font-size:16px}}
@media(max-width:640px) and (orientation:landscape){.setup-dialog h2{font-size:18px;letter-spacing:0}}

.about-game-links{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:5px}.about-game-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.about-game-links a:hover{color:#8b6d36}.about-game-links a:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}
