:root{color:#3f432f;font-synthesis:none;--ink:#3f432f;--muted:#83806b;--green:#416347;--green-dark:#2e4b37;--paper:#fff8e8;--line:#d9cfaf;--gold:#b38b42;--red:#ad5544;background:#eee6d0;font-family:Microsoft JhengHei,PingFang TC,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;transition:background .15s,box-shadow .15s,transform .15s}button:disabled{cursor:not-allowed;opacity:.48}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline-offset:2px;outline:3px solid #b58a3f}button{color:inherit}input,select{min-width:0;color:var(--ink);background:#fffbef;border:1px solid #cfc4a3;border-radius:6px;padding:9px 11px}input[type=checkbox]{accent-color:var(--green);width:15px;height:15px;margin:0}input[type=number]{font-variant-numeric:tabular-nums}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.3}h2{font-size:21px}h3{font-size:17px}p{line-height:1.8}svg{vertical-align:middle;flex-shrink:0}small,.tiny{font-size:13px}.muted{color:var(--muted);line-height:1.75}.tiny{color:var(--muted);margin-top:13px;line-height:1.75}.compact{font-size:14px}.section-kicker{color:#9b814c;letter-spacing:.13em;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.rule{background:var(--line);height:1px;margin:19px 0}.row,.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading{margin-bottom:18px}.row .muted{font-size:13px}.full{width:100%}.span-two{grid-column:1/-1}.primary,.secondary,.gold-button,.danger-button{border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.primary{color:#fff9df;background:linear-gradient(#587853,#3c6042);border:1px solid #31513a;box-shadow:inset 0 1px #ffffff25,0 2px 3px #433e2914}.primary:not(:disabled):hover{background:linear-gradient(#66855f,#446b4a);box-shadow:0 3px 10px #2c4f3322}.secondary{color:#635b40;background:#fcf5e3;border:1px solid #cbbd96}.secondary:not(:disabled):hover{background:#f1e7cb}.gold-button{color:#503d1b;background:linear-gradient(#d7b66a,#c39b4c);border:1px solid #b48e48}.danger-button{color:#fff1d9;background:linear-gradient(#b96852,#9c4c3d);border:1px solid #873d30}.text-button{color:#65774c;background:0 0;border:0;padding:5px 0;font-size:13px}.text-button:hover{text-decoration:underline}.icon-button{background:0 0;border:0;place-items:center;padding:6px;display:grid}.tag{color:#7f754f;background:#ede7d0;border:1px solid #dcd2ad;border-radius:4px;padding:3px 7px;font-size:11px;line-height:1.3;display:inline-flex}.field-label{flex-direction:column;gap:7px;margin:16px 0;font-size:14px;display:flex}.notice{background:#f3e5bf;border:1px solid #d7c28e;border-radius:7px;margin-top:15px;padding:13px;line-height:1.8}.sprite{aspect-ratio:1;background-repeat:no-repeat;background-size:400% 400%;flex-shrink:0;display:inline-block}.world-sprite{aspect-ratio:1;background:url(/art/world-atlas.png) 0 0/400% 300% no-repeat;display:inline-block}.hero-portrait{background-image:url(/art/heroes.png);background-repeat:no-repeat;background-size:330%;flex-shrink:0;width:48px;height:58px;display:inline-block}.unit-portrait{background-color:#f4efdf;background-repeat:no-repeat;background-size:470%;border-radius:6px;flex-shrink:0;width:56px;height:66px;display:inline-block}.app{background:#e7dfc8 radial-gradient(#6d634309 .7px,#0000 .7px) 0 0/5px 5px;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{z-index:5;background:#fcf5e4;border-bottom:4px solid #aa8454;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;height:76px;padding:0 22px;display:flex;box-shadow:0 2px #6e552b20}.brand{color:#4e4830;white-space:nowrap;letter-spacing:.04em;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:29px;font-weight:800;display:flex}.brand small{letter-spacing:.28em;text-align:center;color:#928467;margin-top:0;font-size:9px;display:block}.brand svg{color:#866438;width:44px}.topbar nav{align-items:center;gap:5px;height:100%;display:flex}.topbar nav button{background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:9px;height:56px;padding:0 20px;font-size:16px;font-weight:700;display:flex;position:relative}.topbar nav button.active{color:#fff6d9;background:linear-gradient(#69824f,#46643d);border-color:#3f6036;box-shadow:inset 0 0 0 2px #d9d39952}.topbar nav button:not(.active):hover{background:#ece4ca}.topbar nav button.active:after{content:"";border-top:8px solid #526e40;border-left:8px solid #0000;border-right:8px solid #0000;position:absolute;bottom:-9px;left:calc(50% - 8px)}.nav-dot{background:#be7a48;border-radius:100%;width:5px;height:5px;position:absolute;top:11px;right:10px}.player-menu{align-items:center;gap:8px;font-size:13px;display:flex}.player-menu>div{text-overflow:ellipsis;white-space:nowrap;max-width:115px;overflow:hidden}.player-menu small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.player-menu .hero-portrait{border:1px solid var(--line);background-color:#ece6d4;background-size:450%;border-radius:50%;width:34px;height:43px}.connection{background:#b28f56;border-radius:50%;width:7px;height:7px}.connection.online{background:#648f50;box-shadow:0 0 0 3px #668d4e15}.help-button{color:#93815b;background:#f8f0dd;border:1px solid #cfc1a1;border-radius:50%;width:27px;height:27px}.resourcebar{background:#f0e9d5;border-bottom:1px solid #d0c6a5;flex-shrink:0;align-items:center;gap:22px;height:68px;padding:0 21px;display:flex}.resource-location{color:#7d7455;flex-shrink:0;align-items:center;gap:5px;width:181px;display:flex}.resource-location select{background:0 0;border:0;max-width:150px;padding-left:4px;font-size:13px}.resource-list{grid-template-columns:repeat(4,minmax(130px,1fr));width:100%;max-width:1000px;display:grid}.resource{border-right:1px solid #d8cda8;align-items:center;gap:12px;padding:2px 18px;display:flex;position:relative}.resource:first-child{padding-left:0}.resource:last-child{border:0}.resource-glyph{color:#a57c3f;filter:drop-shadow(0 2px #fff8e2)}.resource-1 .resource-glyph{color:#b2754a}.resource-2 .resource-glyph{color:#77756c}.resource-3 .resource-glyph{color:#bb9441}.resource small{color:#8b8265;letter-spacing:.07em;font-size:11px;display:block}.resource strong{font-variant-numeric:tabular-nums;color:#514a34;font-size:19px;display:block}.resource strong span{color:#9a9279;font-size:10px;font-weight:400}.resource .rate{color:#74835d;font-size:10px;position:absolute;top:6px;right:12px}.world-season{color:#877d5d;white-space:nowrap;margin-left:auto;font-size:11px}.world-season i{background:#91a06c;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.game-body{flex:1;grid-template-columns:212px minmax(0,1fr) 284px;gap:12px;min-height:0;padding:14px 16px 10px 8px;display:grid}.tab-army .game-body,.tab-hero .game-body,.tab-alliance .game-body,.tab-reports .game-body{grid-template-columns:212px minmax(0,1fr)}.left-sidebar{scrollbar-width:thin;flex-direction:column;gap:13px;min-height:0;padding:0 4px 0 3px;display:flex;overflow:auto}.side-section{border-bottom:1px solid #d6cba9;padding:13px 10px}.side-heading{letter-spacing:.07em;color:#847451;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.side-heading>span{font-size:10px;font-weight:400}.settlement-link{text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:9px;width:100%;padding:12px 9px;font-size:13px;display:flex}.settlement-link>span{word-break:break-all;flex:1;min-width:0}.settlement-link small{color:#999071;margin-top:5px;font-size:10px;display:block}.settlement-link.selected{color:#506b43;background:#fff6e0;border-color:#d3c5a2;box-shadow:0 2px 5px #5f4f2010}.hero-summary{padding-top:2px}.hero-summary button{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:0;display:flex}.hero-summary strong{font-size:13px}.hero-summary small{color:#908266;margin-top:6px;font-size:11px;display:block}.hero-summary .hero-portrait{background-color:#f4efdf;border:1px solid #d3c9ab;border-radius:9px}.progress{background:#e1d6b9;border:1px solid #c7b98f;border-radius:10px;height:6px;margin-top:9px;overflow:hidden}.progress i{background:linear-gradient(90deg,#718b52,#9ead68);border-radius:10px;height:100%;display:block}.progress.health i{background:#8a9b5d}.side-queue{text-align:left;background:0 0;border:0;align-items:center;gap:7px;width:100%;padding:0;display:flex}.side-queue .sprite{width:55px}.side-queue strong{font-size:12px}.side-queue small{color:#938261;margin-top:6px;font-size:11px;display:block}.empty-queue{color:#8f8465;text-align:left;background:0 0;border:0;padding:4px 0;font-size:11px}.legend{grid-template-columns:1fr;gap:9px;padding-top:2px;display:grid}.legend .side-heading{margin:0}.legend>span{color:#797158;align-items:center;gap:10px;font-size:11px;display:flex}.point-symbol{background:#9c9c8e;border-radius:50%;flex-shrink:0;width:11px;height:11px;display:inline-block;box-shadow:0 0 0 1px #fff9e4,0 0 0 2px #8a877759}.point-symbol.own{background:#48bfc5;border-radius:0;width:10px;height:10px;transform:rotate(45deg)}.point-symbol.ally{background:#6597cc}.point-symbol.enemy{clip-path:polygon(50% 0,100% 100%,0 100%);background:#c26c4e;border-radius:0;width:12px;height:12px}.minimap-section{text-align:center;padding:0 10px 12px}.minimap{aspect-ratio:1;cursor:crosshair;border:6px solid #c3ac7b;border-radius:7px;width:100%;max-width:168px;margin:auto;display:block;box-shadow:0 1px 5px #77633533}.minimap-section small{color:#98896a;margin-top:9px;font-size:10px;display:block}.marker-link{color:#7e6940;background:#f5ebd2;border:0;padding:9px 5px;font-size:11px}.side-bottom{margin-top:auto;padding:10px}.side-bottom .tiny{font-size:10px}.side-bottom button{margin-top:2px;font-size:11px;display:block}.alliance-link{text-align:left;background:0 0;border:0;align-items:center;gap:9px;font-size:13px;display:flex}.alliance-link small{color:#8d856a;margin-top:6px;font-size:10px;display:block}.main-content{background:#faf3df;border:1px solid #c6b98f;border-radius:9px;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 8px #5a482319}.map-toolbar{z-index:2;background:linear-gradient(#fff9e9,#eee2c3);border-bottom:3px solid #b99b67;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;min-height:65px;padding:12px 16px;display:flex}.map-heading{color:#675939;align-items:center;gap:10px;display:flex}.map-heading h1{white-space:nowrap;font-size:22px}.map-controls{align-items:center;gap:13px;display:flex}.zoom-control{align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.zoom-control button{color:#fff;background:#758c50;border:1px solid #576e3a;border-radius:5px;place-items:center;width:28px;height:28px;display:grid;box-shadow:inset 0 0 0 2px #d1d9ab77}.zoom-control span{text-align:center;font-variant-numeric:tabular-nums;min-width:34px}.check-row{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.coordinate-form{align-items:center;gap:6px;display:flex}.coordinate-form label{align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.coordinate-form input{text-align:center;appearance:textfield;width:48px;height:30px;padding:6px 3px}.coordinate-form input::-webkit-inner-spin-button{appearance:none}.coordinate-form button{color:#fff9db;background:#637f43;border:1px solid #4a6634;border-radius:5px;height:30px;padding:0 11px;font-size:12px}.map-surface,.home-scene{background:#9aaf69;flex:1;min-height:0;position:relative;overflow:hidden}.map-surface canvas,.home-scene canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.map-surface canvas{cursor:grab}.map-surface canvas:active{cursor:grabbing}.map-caption{color:#f2efd9;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#30482ac9;border:1px solid #cad0a044;border-radius:5px;padding:7px 12px;font-size:11px;position:absolute;bottom:40px;left:45px}.map-caption i{border-left:1px solid #ffffff4d;height:9px;margin:0 7px;display:inline-block}.map-bottom{color:#8a7b59;background:#f5edd7;border-top:1px solid #ccbfa0;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;height:34px;padding:0 13px;font-size:10px;display:flex}.map-bottom .text-button{font-size:10px}.mobile-detail-toggle{display:none}.right-sidebar{scrollbar-width:thin;flex-direction:column;gap:13px;min-height:0;display:flex;overflow:auto}.detail-card{background:linear-gradient(120deg,#fff9e9,#f5ebd3);border:1px solid #cbb98e;border-radius:8px;padding:20px;box-shadow:inset 0 0 0 3px #fffdf444,0 3px 5px #6c542111}.location-title{align-items:center;gap:11px;display:flex}.location-title h2{font-size:22px}.location-title .section-kicker{margin-bottom:6px;font-size:10px}.coordinates{color:#8c7650;letter-spacing:.07em;justify-content:center;align-items:center;gap:11px;margin:12px 0 4px;font-size:14px;display:flex}.coordinates span{color:#c6b48c}.location-art{text-align:center;background:radial-gradient(at 50% 80%,#dacb9633,#0000 68%);height:123px}.location-art .world-sprite{width:145px;height:145px;margin-top:-13px}.details{margin:0;font-size:13px}.details>div{border-bottom:1px solid #ddcfac99;justify-content:space-between;gap:15px;padding:9px 0;display:flex}.details dt{color:#948364}.details dd{text-align:right;max-width:175px;margin:0}.action-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:19px;display:grid}.action-grid>button{flex-direction:column;gap:6px;padding:12px 5px;font-size:13px}.action-grid .text-button{min-height:0;padding:2px}.protection{color:#6d8154;background:#e9ecd5;border:1px solid #d1d8b3;border-radius:5px;justify-content:center;align-items:center;gap:5px;margin-top:14px;padding:9px 8px;font-size:11px;display:flex}.march-summary .section-heading{margin-bottom:10px}.march-summary h3{align-items:center;gap:8px;font-size:16px;display:flex}.march-summary .text-button{font-size:11px}.mini-march{background:0 0;border:0;border-bottom:1px solid #ddcfac66;align-items:center;gap:8px;width:100%;padding:11px 0;font-size:12px;display:flex}.mini-march strong{font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.tip-card{padding:4px 10px 15px}.tip-card>span{letter-spacing:.14em;color:#9b8b69;font-size:10px}.tip-card p{color:#9b8d6d;margin-top:7px;font-size:11px;line-height:1.9}.game-footer{color:#a09070;background:#eae0c6;border-top:1px solid #d5c9a7;flex-shrink:0;align-items:center;gap:22px;height:27px;padding:0 23px;font-size:10px;display:flex}.game-footer span:last-child{margin-left:auto}.online-dot,.offline-dot{background:#819553;border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.offline-dot{background:#bd9657}.building-labels{pointer-events:none;position:absolute;inset:0}.building-labels button{white-space:nowrap;color:#6b5f3e;pointer-events:auto;background:#f9f0d5d9;border:1px solid #d9c594;border-radius:5px;padding:5px 8px;font-size:10px;position:absolute;transform:translate(-50%);box-shadow:0 2px 5px #243b241c}.building-labels button small{background:#e4ddbd;margin-left:4px;padding:2px 3px;font-size:8px}.building-labels button.chosen{color:#fff9e2;background:#517959;border-color:#b3e4c0}.building-labels button.chosen small{background:#395e41}.building-labels button.empty-plot{visibility:visible;background:#f8f0d2db;border:1px dashed #728c50;border-radius:50%;justify-content:center;align-items:center;gap:2px;min-width:44px;min-height:44px;padding:2px 5px;font-size:22px;display:flex;transform:translate(-50%,-50%)}.building-labels button.empty-plot.chosen{color:#fff;background:#466940}.building-labels button.chosen:not(.empty-plot){z-index:1;transform:translate(-50%,-50%)}.building-labels button.empty-plot small{background:0 0;margin:0;font-size:10px}.plot-building-options{gap:8px;display:grid}.plot-building-options button{text-align:left;background:#f5ecd4;border:1px solid #d4c39a;border-radius:8px;align-items:center;gap:10px;min-height:78px;padding:8px;display:flex}.plot-building-options .sprite{flex-shrink:0;width:64px;height:64px}.plot-building-options small{color:#827454;margin-top:5px;font-size:12px;line-height:1.5;display:block}.plot-tip{color:#536640;background:#e9edd6;border-radius:6px;padding:12px;font-size:13px;line-height:1.7}.demolition-actions{border-top:1px solid #d5c6a3;margin-top:20px;padding-top:12px}.plot-plus{font-size:30px}.home-scene .map-caption{bottom:16px;left:18px}.building-strip{scrollbar-width:thin;background:#f8f0da;border-top:1px solid #cdbf98;flex-shrink:0;gap:5px;padding:10px;display:flex;overflow:auto}.building-strip button{white-space:nowrap;background:#ede2c5;border:1px solid #d1c2a0;border-radius:5px;align-items:center;gap:5px;padding:7px 9px;font-size:11px;display:flex}.building-strip button.active{color:#fff5da;background:#526c42;border-color:#4b653b}.building-strip small{opacity:.65;font-size:9px}.safe-tag{color:#7c8a58;align-items:center;gap:5px;font-size:11px;display:flex}.detail-art{text-align:center;height:175px;position:relative}.detail-art .sprite{width:205px;height:205px;margin-top:-20px}.level-badge{color:#fff9e1;background:#687b4c;border:1px solid #53693b;border-radius:4px;padding:3px 10px;font-size:11px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.building-detail>.section-kicker{margin-top:10px}.building-detail>.muted{margin-top:8px;font-size:13px}.building-detail .secondary{margin-top:10px}.cost{color:#8f774a;flex-wrap:wrap;justify-content:space-between;gap:7px;margin:16px 0;font-size:12px;display:flex}.cost>span{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.cost .not-enough{color:#ba5943}.queue-note{background:#e7e8cf;border:1px solid #cfd5ae;border-radius:5px;justify-content:space-between;gap:7px;margin-top:15px;padding:11px;font-size:12px;display:flex}.queue-note span{white-space:nowrap;font-variant-numeric:tabular-nums}.home-fallback{background:#a0b477;grid-template-columns:repeat(4,1fr);gap:8px;padding:20px;display:grid;position:absolute;inset:0;overflow:auto}.home-fallback button{background:#e9e7c844;border:0;border-radius:7px;font-size:11px}.home-fallback .sprite{width:100%;display:block}.page-scroll{scrollbar-width:thin;background:linear-gradient(135deg,#fbf6e5,#f4ecd6);flex:1;padding:28px 34px;overflow:auto}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.page-heading p{color:#908466;margin-top:9px;font-size:13px}.page-heading h1{font-size:31px}.stat-token{text-align:center;white-space:nowrap;background:#eee7ce;border:1px solid #d8caa4;border-radius:9px;padding:12px 20px}.stat-token strong{color:#6b7751;font-size:27px;display:block}.stat-token strong small{color:#948566;font-size:15px;font-weight:400}.stat-token>span{color:#9e8b62;font-size:10px}.panel{background:#fff9e9;border:1px solid #daccaa;border-radius:9px;margin-bottom:20px;padding:24px;box-shadow:0 3px 8px #56461f08}.panel>h2{margin-bottom:17px}.panel>h3{margin-bottom:10px}.two-columns{grid-template-columns:1.15fr 1fr;gap:20px;display:grid}.troop-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.troop-options>button{background:#f7f0dd;border:1px solid #e0d5b6;border-radius:7px;flex-direction:column;align-items:center;min-width:0;padding:12px 5px;display:flex}.troop-options>button.selected{background:#e8ecd5;border-color:#788e5a;box-shadow:inset 0 0 0 1px #7c935c55}.troop-options .unit-portrait{width:70px;height:85px}.troop-options strong{margin:10px 0 5px;font-size:12px}.troop-options>button>span:last-child{color:#978567;font-size:9px}.training-controls{flex-wrap:wrap;align-items:center;gap:18px;margin-top:18px;font-size:13px;display:flex}.training-controls>label:first-child{align-items:center;gap:8px;display:flex}.training-controls input[type=number]{width:75px}.garrison-table{margin-bottom:20px;font-size:13px}.garrison-table>div{border-bottom:1px solid #e3d8b9;grid-template-columns:1.7fr .7fr .7fr;padding:13px 0;display:grid}.garrison-table>div>:not(:first-child){text-align:center}.garrison-table .garrison-head{color:#948466;font-size:11px}.garrison-table strong{font-variant-numeric:tabular-nums}.empty-state{text-align:center;color:#9e9274;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px 20px;display:flex}.empty-state strong{color:#807553;font-size:15px;font-weight:400}.empty-state p{margin-bottom:8px;font-size:12px}.empty-note{color:#9d8e6d;padding:14px 0;font-size:13px;line-height:1.8}.march-row{border-top:1px solid #e7ddc3;align-items:center;gap:15px;padding:15px 0;display:flex}.march-row>div{flex:1}.march-row strong{font-size:14px}.march-row .text-button{font-size:11px;display:block}.march-icon{color:#8a8055;background:#e9e6cb;border-radius:50%;padding:13px}.countdown{font-variant-numeric:tabular-nums;color:#8f7546}.line-item{border-bottom:1px solid #e2d6b3;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;font-size:13px;display:flex}.hero-layout{grid-template-columns:1fr 1fr;gap:25px;display:grid}.hero-showcase{background:radial-gradient(at 50% 60%,#e7dbaf,#f8f0da 75%);border:1px solid #d7c9a2;border-radius:10px;min-height:500px;position:relative;overflow:hidden}.hero-showcase>.hero-portrait{mix-blend-mode:multiply;background-size:300%;width:100%;height:100%;min-height:500px;display:block}.hero-nameplate{text-align:center;background:#fff7e3eb;border:1px solid #ccb785;border-radius:5px;padding:14px;font-size:18px;font-weight:700;position:absolute;bottom:24px;left:15%;right:15%}.hero-nameplate b{color:#929252;margin-left:15px;font-size:13px}.hero-stat{justify-content:space-between;gap:15px;margin:23px 0 8px;font-size:13px;display:flex}.hero-stat span{color:#918260}.hero-layout .panel .secondary{margin-top:10px}.hero-layout .panel>p{font-size:13px}.hero-status{text-align:center;background:#f1ecd7;border:1px solid #ded2ae;border-radius:8px;padding:22px}.hero-status h3{margin:12px 0}.hero-status>strong{color:#9e8149;font-size:23px}.member-row{border-top:1px solid #e2d7ba;align-items:center;gap:13px;padding:12px 0;display:flex}.member-row>div{flex:1}.member-row .hero-portrait{border:1px solid #ded2b0;border-radius:7px}.member-row strong{font-size:14px}.member-row small{color:#a1906e;margin-top:7px;font-size:11px;display:block}.invite-code{color:#a08b64;align-items:center;gap:8px;font-size:11px;display:flex}.invite-code strong{letter-spacing:.13em;color:#716441;font-size:16px}.diplomacy-row{border-bottom:1px solid #e1d5b6;justify-content:space-between;gap:20px;padding:17px 0;display:flex}.diplomacy-row strong{font-size:14px}.diplomacy-row small{color:#9a8b68;margin-top:7px;font-size:11px;display:block}.diplomacy-row select{font-size:12px}.subdued{background:#efe7d0;border-style:dashed}.subdued p{color:#978868;margin-bottom:15px;font-size:13px}.segmented{background:#e8dfc3;border:1px solid #d6c7a1;border-radius:6px;gap:3px;width:max-content;max-width:100%;padding:3px;display:flex}.segmented button{color:#93825f;background:0 0;border:0;border-radius:4px;padding:7px 15px;font-size:12px}.segmented button.active{color:#fff9df;background:#667c48;box-shadow:0 1px 3px #3f472424}.report-list{margin-top:22px}.report{padding:20px 25px}.report-heading{align-items:center;gap:13px;display:flex}.report-symbol{color:#7b8c56;background:#e7e9d1;border-radius:50%;padding:10px}.report-heading>div{flex:1}.report h3{font-size:16px}.report time{color:#ab9873;font-size:10px}.report p{color:#8d7d5b;margin:13px 0;font-size:13px}.result{color:#8e815d;background:#f0ead6;border:1px solid #d4ccb0;border-radius:4px;padding:3px 8px;font-size:11px}.result.win{color:#728751;background:#e7ecd5}.result.loss{color:#af7255;background:#f2e0d4}.report-metrics{color:#9c8967;gap:25px;font-size:12px;display:flex}.report-metrics strong{color:#686446;margin-left:5px}.intel{background:#eee9d2;border-radius:6px;flex-direction:column;gap:8px;padding:13px;font-size:12px;display:flex}.intel small{color:#9d8b65;font-size:10px}.modal{color:var(--ink);background:#fff8e7;border:1px solid #b7a276;border-radius:12px;width:min(540px,100vw - 30px);max-height:90dvh;padding:0;overflow:auto;box-shadow:0 20px 90px #242a1b55}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1d2e239c}.modal-title{z-index:3;background:#eee3c5;border-bottom:1px solid #d3c092;justify-content:space-between;align-items:center;gap:12px;padding:20px 25px;display:flex;position:sticky;top:0}.modal-title h2{font-size:20px}.modal form,.help-content,.recovery-content{padding:23px 25px}.dispatch-route{background:#efecd6;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px;font-size:13px;display:flex}.dispatch-route>span{align-items:center;gap:7px;display:flex}.dispatch-units label{border-bottom:1px solid #e4d7b8;align-items:center;gap:12px;padding:10px 0;display:flex}.dispatch-units label>span:not(.unit-portrait){flex:1}.dispatch-units strong{font-size:14px}.dispatch-units small{color:#9b8764;margin-top:6px;font-size:11px;display:block}.dispatch-units input{width:72px}.modal .check-row{white-space:normal;margin:19px 0;font-size:12px;line-height:1.6}.dispatch-summary{background:#f1e9d1;border-radius:7px;margin-top:20px;padding:15px 17px}.dispatch-summary>div{justify-content:space-between;padding:5px 0;font-size:12px;display:flex}.dispatch-summary span{color:#9a865e}.modal .primary.full{margin-top:20px}.cargo-grid{grid-template-columns:1fr 1fr;gap:15px;margin:16px 0;display:grid}.cargo-grid label{color:#94805a;flex-direction:column;gap:6px;font-size:12px;display:flex}.cargo-grid input{width:100%}.help-content h3{margin:24px 0 12px}.help-content h3:first-child{margin-top:0}.help-content p,.help-content li{color:#8c7d5d;font-size:14px;line-height:1.95}.help-content ol{padding-left:22px}.help-content li{padding-left:3px}.help-content .secondary{margin-top:12px}.toast{z-index:100;color:#fff1d6;background:#a7523d;border:1px solid #7b382c;border-radius:8px;align-items:center;gap:18px;max-width:min(700px,90vw);padding:14px 18px;font-size:13px;display:flex;position:fixed;bottom:45px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #43341f40}.toast button{color:inherit;white-space:nowrap;background:#ffffff12;border:1px solid #f1cf9d66;border-radius:4px;padding:6px 10px}.saving-pill{z-index:100;color:#8d7750;background:#fff8e3;border:1px solid #d7c49b;border-radius:20px;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex;position:fixed;bottom:42px;right:25px}.loader{border:2px solid #cabc9a;border-top-color:#55734a;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin;display:inline-block}.loader.small{width:14px;height:14px}.loading-screen{color:#7b6844;background:#f3eddc;flex-direction:column;justify-content:center;align-items:center;gap:17px;min-height:100dvh;display:flex}.loading-screen p{font-size:14px}.scene-loading{color:#8b7c59;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:15px;font-size:14px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.onboarding{background:radial-gradient(at 50% 30%,#fbf8eb,#e9e2c9);min-height:100dvh;padding:26px 5vw 20px}.onboard-header{justify-content:space-between;align-items:center;gap:20px;max-width:1320px;margin:auto;display:flex}.onboard-header .brand{font-size:26px}.version-pill{color:#938361;border:1px solid #cfbf9b;border-radius:30px;padding:7px 13px;font-size:11px}.onboard-title{text-align:center;margin:40px auto 30px}.onboard-title h1{letter-spacing:.03em;font-size:37px;font-weight:700;line-height:1.5}.onboard-title p{color:#968865;margin-top:13px;font-size:13px}.onboard-form{max-width:1130px;margin:auto}.civilizations{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.civilization{text-align:left;background:#fff9e9;border:1px solid #d4c7a8;border-radius:14px;padding:0;position:relative;overflow:hidden;box-shadow:0 5px 20px #5b4c2520}.civilization.selected{border:2px solid #6f8952;box-shadow:0 7px 26px #526b3c2b}.civilization>.hero-portrait{mix-blend-mode:multiply;background-size:300%;width:100%;height:248px;transition:transform .3s;display:block}.civilization:hover>.hero-portrait{transform:scale(1.03)}.civ-number{z-index:1;color:#afa17f;letter-spacing:.12em;font-size:11px;position:absolute;top:13px;left:17px}.civ-copy{background:linear-gradient(#fff9e9,#f5edd9);border-top:1px solid #e8dbb8;padding:22px}.civ-copy>small{color:#9d8b5f;letter-spacing:.06em;font-size:10px}.civ-copy h2{margin:9px 0 11px;font-size:25px}.civ-copy p{color:#9a8968;min-height:67px;font-size:12px;line-height:1.85}.civ-select{color:#a08b61;background:#f0e8d0;border:1px solid #d3c4a0;border-radius:6px;justify-content:center;align-items:center;gap:7px;margin-top:15px;padding:8px;font-size:12px;display:flex}.civilization.selected .civ-select{color:#fff6db;background:#657d4b;border-color:#566d3f}.join-bar{justify-content:center;align-items:end;gap:18px;margin-top:26px;display:flex}.join-bar label{color:#8f7c55;flex-direction:column;gap:8px;font-size:12px;display:flex}.join-bar input{width:260px;height:44px}.join-bar .primary{min-width:220px;height:44px}.onboard-note{text-align:center;color:#a29474;margin:17px auto;font-size:11px;line-height:1.9}.onboarding footer{text-align:center;color:#b0a184;margin-top:25px;font-size:10px}.onboard-error{color:#a75c43;text-align:center;background:#f3ded1;border:1px solid #d5aa90;border-radius:7px;padding:12px 18px;font-size:13px}.onboard-error button{margin-left:12px}.recovery-code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#eeead5;border:1px dashed #b8ab82;border-radius:7px;width:100%;padding:17px;font:16px/1.8 ui-monospace,monospace}.recovery-content p{color:#927e5c;margin:10px 0 20px;font-size:13px}@media (min-width:1800px){.game-body{grid-template-columns:240px minmax(0,1fr) 320px;gap:17px;padding:18px 22px 14px 12px}.tab-army .game-body,.tab-hero .game-body,.tab-alliance .game-body,.tab-reports .game-body{grid-template-columns:240px minmax(0,1fr)}.topbar{height:88px}.topbar nav button{padding:0 29px;font-size:18px}.resourcebar{height:78px}.resource-location{width:208px}.side-heading,.side-queue strong,.settlement-link,.legend>span{font-size:14px}.detail-card{padding:25px}.details,.compact{font-size:15px}.map-toolbar{min-height:74px}.map-heading h1{font-size:26px}.page-scroll{padding:36px 48px}.panel{padding:30px}.panel p,.help-content p,.help-content li{font-size:16px}.tiny{font-size:14px}}@media (max-width:1250px){.topbar{gap:12px;padding:0 14px}.brand{font-size:24px}.brand svg{width:36px}.topbar nav button{gap:6px;padding:0 12px;font-size:14px}.player-menu>div{display:none}.game-body{grid-template-columns:170px minmax(0,1fr) 258px;gap:9px;padding-right:10px}.tab-army .game-body,.tab-hero .game-body,.tab-alliance .game-body,.tab-reports .game-body{grid-template-columns:170px minmax(0,1fr)}.resourcebar{gap:12px;padding:0 14px}.resource-location{width:150px}.world-season{display:none}.resource{gap:8px;padding:2px 13px}.resource .rate{font-size:9px;right:8px}.resource strong{font-size:17px}.resource strong span{display:none}.map-toolbar{justify-content:flex-start;gap:12px;padding:10px 12px}.coordinate-form{margin-left:auto}.map-heading h1{font-size:19px}.map-controls{gap:8px}.map-controls .check-row{font-size:10px}.detail-card{padding:16px}.location-title h2{font-size:19px}.left-sidebar{gap:8px}.side-section{padding:10px 6px}.side-heading{font-size:11px}.settlement-link{gap:5px;padding:10px 5px;font-size:12px}.settlement-link>svg:last-child{display:none}.hero-summary small{font-size:10px}.minimap{max-width:135px}.page-scroll{padding:22px}.two-columns{grid-template-columns:1fr 1fr;gap:14px}.panel{padding:19px}.troop-options .unit-portrait{width:55px;height:70px}.troop-options strong{font-size:10px}.training-controls{gap:10px}.hero-layout{gap:16px}.hero-showcase{min-height:450px}}@media (max-width:960px){.left-sidebar{display:none}.game-body{grid-template-columns:minmax(0,1fr) 255px;padding-left:10px}.tab-army .game-body,.tab-hero .game-body,.tab-alliance .game-body,.tab-reports .game-body{grid-template-columns:1fr}.topbar{height:68px}.topbar .brand{gap:5px;font-size:20px}.brand small{font-size:7px}.brand svg{width:29px}.topbar nav{gap:0}.topbar nav button{height:48px;padding:0 10px;font-size:13px}.topbar nav button svg{width:18px}.player-menu{gap:6px}.player-menu .hero-portrait{display:none}.resourcebar{height:62px}.resource-location{width:112px}.resource-location svg{display:none}.resource-location select{padding-left:0;font-size:11px}.resource-list{grid-template-columns:repeat(4,minmax(0,1fr))}.resource{gap:5px;padding:0 10px}.resource-glyph svg{width:22px}.resource .rate{display:none}.resource small{font-size:10px}.resource strong{font-size:16px}.map-heading h1{font-size:19px}.map-toolbar{gap:10px;padding:11px}.map-controls{margin-left:auto}.coordinate-form{justify-content:flex-end;width:100%}.map-toolbar>.segmented{margin-left:auto}.safe-tag{display:none}.onboarding{padding-inline:22px}.onboard-title h1{font-size:30px}.civilizations{gap:13px}.civilization>.hero-portrait{height:215px}.civ-copy{padding:17px}.civ-copy h2{font-size:21px}.civ-copy p{min-height:82px;font-size:11px}}@media (max-width:700px){.app{height:auto;min-height:100dvh;overflow:visible}.topbar{flex-wrap:wrap;gap:6px;height:auto;min-height:106px;padding:10px 12px 0;position:relative}.topbar .brand{order:0;font-size:22px}.topbar .brand svg{width:31px}.topbar .brand small{display:none}.player-menu{order:1;margin-left:auto}.player-menu>div{font-size:11px;display:block}.player-menu small{font-size:9px}.player-menu .help-button{width:24px;height:24px}.topbar nav{order:2;justify-content:space-around;gap:2px;width:100%;height:47px}.topbar nav button{flex:1;justify-content:center;gap:5px;height:39px;padding:0 5px;font-size:11px}.topbar nav button svg{width:17px}.nav-dot{width:4px;height:4px;top:5px;right:3px}.topbar nav button.active:after{border-top-width:6px;border-inline-width:6px;bottom:-7px;left:calc(50% - 6px)}.resourcebar{gap:0;height:74px;padding:6px 12px 21px;position:relative}.resource-location{width:auto;height:20px;position:absolute;bottom:1px;left:11px}.resource-location select{padding:1px 0;font-size:9px}.resource-list{width:100%}.resource{gap:5px;padding:0 7px}.resource-glyph svg{width:20px}.resource small{font-size:9px}.resource strong{font-size:14px}.game-body{flex-direction:column;flex:1;gap:12px;padding:9px;display:flex}.main-content{flex:none;min-height:0}.map-toolbar{gap:8px;min-height:94px;padding:10px}.map-heading{gap:7px}.map-heading h1{font-size:18px}.map-heading svg{width:19px}.map-controls{flex-wrap:wrap;gap:8px}.map-controls .check-row{font-size:9px}.map-controls .check-row:last-child{display:none}.zoom-control{gap:4px;font-size:11px}.zoom-control button{width:25px;height:25px}.coordinate-form{justify-content:flex-end;padding-top:0}.coordinate-form input{width:43px;height:27px;font-size:11px}.coordinate-form button{height:27px}.map-surface{flex:none;height:52dvh;min-height:330px}.map-caption{padding:5px 7px;font-size:9px;bottom:36px;left:36px}.map-caption i{margin:0 4px}.map-bottom{flex-wrap:wrap;gap:1px;height:39px;padding:0 9px;font-size:9px}.map-bottom .text-button{font-size:9px}.mobile-detail-toggle{color:#6b7952;background:0 0;border:0;padding:3px;font-size:9px;display:block}.right-sidebar{grid-template-columns:1fr;gap:10px;display:grid;overflow:visible}.right-sidebar.mobile-hidden{display:none}.detail-card{padding:18px}.location-detail{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.location-title{grid-column:1/-1}.location-title h2{font-size:21px}.coordinates{margin-left:23px;grid-column:1/-1;justify-content:flex-start;margin-block:8px}.location-art{grid-area:3/1/5;align-self:center;height:120px}.location-art .world-sprite{width:138px;height:138px}.details{grid-area:3/2/5;font-size:11px}.details>div{padding:7px 0}.location-detail>.protection,.location-detail>.action-grid,.location-detail>.primary,.location-detail>.tiny,.location-detail>.empty-note{grid-column:1/-1}.action-grid{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:15px}.action-grid button{padding:9px 3px;font-size:11px}.action-grid svg{width:19px;height:19px}.action-grid .span-two{grid-column:1/-1}.location-detail>.tiny{margin-top:10px;font-size:10px}.march-summary{padding:16px 18px}.tip-card{display:none}.game-footer{flex-wrap:wrap;gap:15px;height:auto;min-height:35px;padding:8px 14px;font-size:9px}.game-footer span:last-child{display:none}.home-scene{flex:none;height:54dvh;min-height:360px}.building-labels button{padding:4px 5px;font-size:8px}.building-labels button small{padding:1px 2px;font-size:7px}.tab-home .map-toolbar{min-height:62px}.tab-home .map-toolbar .segmented{margin-left:0}.segmented button{padding:7px 11px;font-size:11px}.building-strip{padding:8px}.building-strip button{font-size:10px}.building-detail .detail-art{height:160px}.building-detail{padding:20px}.building-detail>.muted{font-size:14px}.building-detail .cost{justify-content:flex-start;gap:21px}.page-scroll{flex:none;padding:20px 15px;overflow:visible}.page-heading{align-items:flex-start;gap:10px;margin-bottom:20px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px;line-height:1.7}.page-heading .section-kicker{font-size:10px}.stat-token{padding:10px}.stat-token strong{font-size:23px}.stat-token strong small{font-size:11px}.stat-token>span{font-size:8px}.two-columns{grid-template-columns:1fr;gap:0}.panel{margin-bottom:15px;padding:18px}.panel h2{font-size:19px}.troop-options strong{font-size:11px}.troop-options .unit-portrait{width:65px;height:77px}.troop-options>button>span:last-child{font-size:9px}.hero-layout{grid-template-columns:1fr}.hero-showcase{min-height:350px;max-height:400px}.hero-showcase>.hero-portrait{background-size:300%;height:400px;min-height:350px}.hero-nameplate{font-size:17px;bottom:17px}.member-row{gap:8px}.member-row .secondary{padding:8px;font-size:10px}.member-row strong{font-size:12px}.invite-code{flex-wrap:wrap;justify-content:flex-end;gap:5px;font-size:10px}.invite-code strong{font-size:13px}.section-heading h2{white-space:nowrap;font-size:18px}.report{padding:17px}.report h3{font-size:14px}.report p{font-size:12px}.report-heading{gap:9px}.report-symbol{padding:8px}.report-symbol svg{width:20px}.report time,.report .result{font-size:9px}.report-metrics{font-size:11px}.modal{border-radius:9px;width:calc(100vw - 24px);max-height:92dvh}.modal-title{padding:16px 18px}.modal-title h2{font-size:17px}.modal form,.help-content,.recovery-content{padding:18px}.dispatch-route{padding:10px;font-size:11px}.dispatch-units label{gap:9px}.dispatch-units strong{font-size:12px}.dispatch-units .unit-portrait{width:48px;height:55px}.dispatch-units input{width:62px;padding:8px}.modal .check-row{font-size:11px}.toast{gap:10px;width:calc(100vw - 25px);max-width:calc(100vw - 25px);padding:12px;font-size:12px;bottom:17px}.toast button{white-space:normal;flex-shrink:0;max-width:100px;font-size:10px}.saving-pill{bottom:15px;right:12px}.onboarding{padding:20px 16px}.onboard-header .brand{gap:5px;font-size:22px}.version-pill{padding:5px 8px;font-size:9px}.onboard-title{margin:32px auto 23px}.onboard-title h1{font-size:25px}.onboard-title p{font-size:12px}.onboard-title .section-kicker{font-size:10px}.civilizations{grid-template-columns:1fr;gap:12px}.civilization{min-height:190px;display:flex}.civilization>.hero-portrait{background-size:360%;flex-shrink:0;width:38%;height:auto;min-height:190px}.civ-copy{border-top:0;border-left:1px solid #e8dbb8;flex:1;padding:16px 16px 12px}.civ-copy h2{margin:7px 0;font-size:22px}.civ-copy>small{letter-spacing:0;font-size:9px}.civ-copy p{min-height:0;font-size:10px}.civ-select{margin-top:10px;padding:6px;font-size:10px}.civ-number{font-size:9px;top:10px;left:10px}.join-bar{flex-direction:column;align-items:stretch;gap:14px;margin-top:22px}.join-bar input,.join-bar .primary{width:100%}.onboard-note{font-size:10px}.onboarding footer{font-size:9px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.restore-entry{text-align:center;max-width:1100px;margin:18px auto}.restore-entry form{justify-content:center;align-items:end;gap:12px;margin:14px;display:flex}.restore-entry input{min-width:310px;display:block}.recovery-code{word-break:break-all;-webkit-user-select:all;user-select:all;background:#f1eddf;margin:20px 0;padding:20px;font-size:18px;display:block}.join-bar select{min-height:45px;display:block}.training-controls select{max-width:150px}.afk-strip{color:#526546;background:#e6ead7;border-bottom:1px solid #cbd3b5;flex-shrink:0;align-items:center;gap:22px;padding:7px 24px;font-size:12px;display:flex}.afk-strip button{color:#426444;background:0 0;border:0;min-height:28px;margin-left:auto}.offline-results>div{border-bottom:1px solid var(--line);margin:14px 20px;padding-bottom:12px}.offline-results small{margin-top:5px;line-height:1.7;display:block}.modal>p{margin:18px 22px}.modal>.full{width:calc(100% - 44px);margin:0 22px 22px}.recovery-code{margin:18px 22px}.building-effect{background:#e9edda;border-radius:6px;margin-top:12px;padding:11px;font-size:13px;line-height:1.8}@media (max-width:700px){body{font-size:15px}.app{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.topbar{flex-wrap:nowrap;height:58px;min-height:58px;padding:8px 14px}.topbar .brand{font-size:21px}.player-menu .help-button{width:40px;height:40px}.player-menu>div{font-size:12px}.player-menu small{font-size:11px}.topbar nav{height:calc(66px + env(safe-area-inset-bottom));padding:5px 5px calc(5px + env(safe-area-inset-bottom));z-index:30;background:#fff9e9;border-top:1px solid #cfc2a0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #302d171c}.topbar nav button{flex-direction:column;gap:3px;height:54px;padding:5px;font-size:12px}.topbar nav button svg{width:22px;height:22px}.topbar nav button.active:after{display:none}.topbar nav button.active{box-shadow:none}.nav-dot{top:5px;right:13px}.resourcebar{height:90px;padding:7px 10px 30px}.resource-list{gap:0}.resource{flex:1;gap:4px;padding:0 4px}.resource-glyph svg{width:19px}.resource small{font-size:11px}.resource strong{font-size:16px}.resource-location{height:25px;bottom:3px}.resource-location select{min-height:26px;font-size:12px}.afk-strip{flex-wrap:wrap;gap:10px;padding:6px 12px;font-size:11px}.afk-strip>span:first-child{display:none}.afk-strip button{min-height:32px;font-size:12px}.game-body{gap:8px;padding:8px}.map-toolbar{gap:7px;min-height:106px;padding:10px}.map-controls{gap:6px}.map-controls .check-row{font-size:12px}.zoom-control button{width:38px;height:38px}.zoom-control span{min-width:35px}.coordinate-form{gap:7px}.coordinate-form input{width:55px;height:38px;font-size:16px}.coordinate-form button{height:38px;padding:0 12px;font-size:13px}.map-surface{height:48dvh;min-height:300px}.map-caption{font-size:11px}.map-bottom{gap:7px;height:auto;min-height:47px;padding:6px 10px;font-size:11px}.map-bottom .text-button,.mobile-detail-toggle{min-height:32px;font-size:12px}.mobile-detail-toggle{margin-left:auto}.details{font-size:13px}.location-detail>.notice{grid-column:1/-1;font-size:13px}.action-grid{grid-template-columns:1fr 1fr}.action-grid button{flex-direction:row;min-height:55px;font-size:14px}.action-grid .span-two{min-height:44px}.location-detail>.tiny{font-size:12px}.primary,.secondary,.danger-button,.gold-button{min-height:46px;font-size:15px}.text-button{min-height:32px;font-size:13px}.tiny{font-size:12px}.page-heading p{font-size:14px}.stat-token>span{font-size:11px}.troop-options strong{font-size:12px}.troop-options>button>span:last-child{font-size:11px}.training-controls{flex-wrap:wrap;gap:12px}.training-controls label{font-size:14px}.training-controls input[type=number]{min-height:44px;font-size:16px}.training-controls input[type=checkbox]{width:20px;height:20px}.check-row{min-height:36px}.report h3{font-size:16px}.report p{font-size:14px}.report time,.report .result{font-size:11px}.report-metrics{font-size:13px}.member-row strong{font-size:14px}.member-row .secondary{min-height:40px;font-size:12px}.section-kicker{font-size:11px}.panel{padding:16px}.page-scroll{padding:17px 10px}.modal{max-height:88dvh}.modal input[type=number],.modal input[type=text],.modal select,.join-bar input,.restore-entry input{min-height:44px;font-size:16px}.modal .check-row{font-size:14px}.modal-title .icon-button{min-width:44px;min-height:44px}.dispatch-units strong{font-size:14px}.dispatch-summary{font-size:13px}.home-scene{height:50dvh;min-height:350px}.building-labels button{padding:6px 7px;font-size:10px}.building-strip button{min-height:40px;font-size:12px}.segmented button{min-height:40px;font-size:13px}.toast{bottom:calc(78px + env(safe-area-inset-bottom));font-size:14px}.toast button{min-height:40px;font-size:13px}.saving-pill{bottom:calc(78px + env(safe-area-inset-bottom))}.onboard-title p{font-size:14px}.civ-copy p{font-size:13px}.civ-copy>small{font-size:11px}.civ-select{min-height:34px;font-size:12px}.civilization{min-height:225px}.onboard-note{font-size:12px}.onboarding footer{font-size:11px}.restore-entry form{flex-direction:column;align-items:stretch;margin:14px 0}.restore-entry input{width:100%;min-width:0}.join-bar select{width:100%;font-size:16px}.game-footer{font-size:11px}}.hero-portrait,.unit-portrait{overflow:hidden;background-image:none!important}.hero-portrait>svg,.unit-portrait>svg{width:100%;height:100%;display:block}.civilization>.hero-portrait{background:#f7ecdf}.civilization>.hero-portrait>svg{min-height:230px}.hero-showcase .hero-portrait>svg{min-height:400px}@media (max-width:700px){.building-labels button:not(.chosen):not(.empty-plot){visibility:hidden}.building-labels button.chosen{min-height:34px;font-size:12px}.building-labels button.chosen:not(.empty-plot){width:44px;height:44px;box-shadow:none;background:0 0;border:0;padding:0}.building-labels button.chosen:not(.empty-plot) .building-name{display:none}.building-labels button.chosen:not(.empty-plot) small{border-radius:3px;padding:2px 4px;font-size:9px;position:absolute;bottom:0;right:0}.home-scene{height:44dvh;min-height:330px}.civilization>.hero-portrait>svg{min-height:225px}}button.resource{text-align:left;background:0 0;border:0;border-right:1px solid #d9cfaf;min-height:42px}.resource-breakdown{padding:8px 22px}.resource-breakdown>div{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:5px;padding:14px 0;display:grid}.resource-breakdown small{color:var(--muted);grid-column:1/-1}.scene-preparing{z-index:10;background:#b4cec1;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.overview-button{background:#fff8e5;border:1px solid #cbbd96;border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:8px;font-size:12px;display:flex}.overview-panel{text-align:center;padding:22px}.overview-panel .minimap{aspect-ratio:1;width:100%;max-width:320px;height:auto}.overview-panel p{margin:14px 0;font-size:13px}@media (max-width:700px){.map-controls{gap:4px}.map-controls .check-row{display:none}.overview-button{min-height:40px}.zoom-control button{min-width:40px;min-height:40px}.coordinate-form input,.coordinate-form button{height:42px}.overview-panel{padding:18px}}.app.tab-home .left-sidebar{display:none}.app.tab-home .game-body{background:#254b3d;padding:0;display:block;overflow:auto}.app.tab-home .main-content{width:100%;box-shadow:none;background:0 0;border:0;display:block;overflow:visible}.app.tab-home .afk-strip,.app.tab-home .game-footer{display:none}.village-home{background:radial-gradient(at 50% 35%,#667b42,#243f32 75%);place-items:center;min-height:100%;display:grid}.village-stage{isolation:isolate;aspect-ratio:2/3;width:min(100%,540px);position:relative;overflow:hidden;box-shadow:0 0 80px #0b261f60}.village-terrain{object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.village-world{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.village-title{z-index:100;color:#fff8df;background:#253f2de8;border:1px solid #e4d7a46b;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:absolute;top:16px;left:14px;right:14px;box-shadow:0 3px 12px #14301f30}.village-title-mark{color:#eddb9d;background:#d5bd7350;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.village-title h1{white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:17px;line-height:1.4;overflow:hidden}.village-title div>span{opacity:.76;font-size:11px}.village-safe{color:#e3ddbb;align-items:center;gap:4px;margin-left:auto;font-size:11px;display:flex}.village-site{background:0 0;border:0;border-radius:12px;width:17%;min-width:44px;height:9%;min-height:44px;padding:0;transition:filter .15s;position:absolute;transform:translate(-50%,-65%)}.village-site:not(:disabled):active{filter:brightness(1.13);transform:translate(-50%,-65%)}.village-site:focus-visible{background:#f8df9230;outline:2px solid #fff0b5}.village-site .village-building{aspect-ratio:1;filter:drop-shadow(0 4px 2px #3e421c42);pointer-events:none;width:130%;height:auto;position:absolute;bottom:10%;left:-15%}.village-foundation{filter:drop-shadow(0 2px 1px #5d4c2622);pointer-events:none;width:100%;display:block;position:absolute;bottom:14%}.site-earth{fill:#ad7d3b25}.site-line{fill:none;stroke:#d9b16e91;stroke-width:1.5px;stroke-dasharray:4 3}.village-site.vacant:hover .site-earth,.village-site.choose-site .site-earth{fill:#ffe7a45c}.village-site.choose-site .site-line{stroke:#fff3b8;stroke-width:2px}.site-level{color:#fff0bb;background:#364a2d;border:1px solid #dfcf93;border-radius:50%;place-items:center;min-width:19px;height:19px;font-size:10px;display:grid;position:absolute;bottom:7%;right:-3%;box-shadow:0 1px 3px #152a1955}.site-work{color:#fff5d7;white-space:nowrap;background:#77583ce8;border:1px solid #d9c58c;border-radius:5px;align-items:center;gap:3px;padding:4px 6px;font-size:10px;display:flex;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}.village-site.working .site-line{stroke:#7e5a2e;stroke-width:4px;stroke-dasharray:none}.site-pick{white-space:nowrap;color:#493e21;background:#fff0bdc9;border-radius:4px;padding:3px 5px;font-size:10px;position:absolute;top:24%;left:50%;transform:translate(-50%)}.site-tooltip{white-space:nowrap;color:#fff2ca;background:#263d2c;border-radius:6px;padding:5px 8px;font-size:12px;display:none;position:absolute;bottom:115%;left:50%;transform:translate(-50%)}@media (hover:hover){.village-site:hover .site-tooltip{display:block}}.village-bottom{z-index:110;gap:8px;display:grid;position:absolute;bottom:16px;left:14px;right:14px}.village-next,.village-task{color:#35422b;text-align:left;background:#fdf3dcf2;border:1px solid #e7ce9680;border-radius:12px;align-items:center;gap:10px;padding:13px;display:flex;box-shadow:0 5px 20px #1f332f4d}.village-next>span,.village-task>.village-task-copy{flex:1;min-width:0}.village-next small,.village-task small{color:#8a7147;margin-bottom:4px;font-size:10px;display:block}.village-next strong,.village-task strong{font-size:15px;display:block}.village-next em{color:#7b7459;margin-top:5px;font-size:11px;font-style:normal;line-height:1.5;display:block}.village-next>button{color:#fff4cc;background:#4d7040;border:1px solid #45613a;border-radius:9px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;width:54px;height:56px;font-size:12px;display:flex}.village-task{width:100%}.village-task>.building-portrait{flex:0 0 56px;width:56px;height:56px;display:block}.village-task b{white-space:nowrap;color:#6a783e;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:15px}.village-task .progress{height:4px;margin-top:8px}.village-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.village-actions>button{color:#fff3cd;background:#284b38ee;border:1px solid #e1d3a680;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:8px;font-size:13px;display:flex;box-shadow:0 3px 8px #19332830}.village-actions .village-build-action{color:#4d5433;background:#ead7a4f5;border-color:#d6ba77;font-weight:700}.village-actions .active{background:#c6dbacf5}.village-rest,.village-instruction{color:#fff4d3;background:#203f30e8;border-radius:9px;align-items:center;gap:7px;padding:10px 12px;font-size:12px;display:flex}.village-instruction>span{flex:1}.village-instruction>button{min-width:32px;height:32px;color:inherit;background:0 0;border:0;place-items:center;display:grid}.village-notice{color:#4b5a37;text-align:center;background:#fff4dce8;border-radius:7px;padding:8px 10px;font-size:12px}.village-sheet{background:#fff8e8;border:1px solid #cdb98c;border-radius:18px;width:min(560px,100vw - 28px);padding:0;overflow:auto}.village-sheet .modal-title{z-index:2;background:#fff8e8;border-bottom:0;padding:18px 20px 12px;position:sticky;top:0}.village-sheet .modal-title h2{font-size:20px}.village-picker,.village-details,.village-confirm{padding:0 20px 22px}.village-category{gap:6px;padding:0 0 13px;display:flex}.village-category button{color:#837354;background:#efe6cf;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:43px;font-size:13px;display:flex}.village-category button.active{color:#fff4cf;background:#425e3b;border-color:#365033}.village-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.village-catalog>button{background:#f9efd8;border:1px solid #dfd0ae;border-radius:10px;flex-direction:column;align-items:center;min-width:0;padding:9px 5px;display:flex}.village-catalog .sprite{width:76px;height:76px}.village-catalog strong{margin-top:3px;font-size:14px}.village-catalog>button>span:not(.sprite){color:#8e7b58;margin:3px 0 7px;font-size:11px}.village-catalog .cost{justify-content:center;gap:5px;margin:0;padding:0;display:flex}.village-catalog .cost>span{gap:1px;padding:0;font-size:10px;display:inline-flex}.village-catalog .cost svg{width:11px;height:11px}.village-sheet-foot{color:#9a8a68;text-align:center;padding-top:14px;font-size:11px}.village-back{color:#7a8158;background:0 0;border:0;min-height:36px;padding:6px 0 12px;font-size:12px}.village-building-intro{align-items:center;gap:16px;display:flex}.village-building-intro>.sprite{flex-shrink:0;width:112px;height:112px}.village-building-intro h3{margin:4px 0;font-size:21px}.village-building-intro p{color:#8b7958;font-size:13px}.village-level-label{color:#7c8854;background:#e8ead0;border-radius:4px;padding:3px 7px;font-size:11px}.village-upgrade-effect{background:#e9ecd8;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 19px;padding:13px;display:flex}.village-upgrade-effect>span{color:#87906c;flex:1;font-size:11px}.village-upgrade-effect strong{color:#4b633e;margin-top:4px;font-size:12px;line-height:1.65;display:block}.village-cost-heading{color:#8c7d5d;justify-content:space-between;align-items:center;font-size:12px;display:flex}.village-details>.cost{grid-template-columns:repeat(4,1fr);gap:6px;margin:13px 0 17px;display:grid}.village-details>.cost>span{background:#f3e8ce;border-radius:6px;justify-content:center;padding:10px 5px;font-size:15px}.village-confirm-build{min-height:50px}.village-details>.secondary{margin-top:10px}.village-warning{color:#9a6040;background:#f5e8d0;border-radius:6px;margin-bottom:12px;padding:9px 11px;font-size:12px}.village-more-actions{border-top:1px solid #e4d6b9;margin-top:19px;padding-top:8px}.village-more-actions summary{color:#968568;cursor:pointer;min-height:40px;padding-top:12px;font-size:12px}.village-more-actions button{color:#a55d46;min-height:44px}.village-more-actions p{color:#99866a;font-size:12px}.village-queue-detail{color:#5e7049;background:#e8edd7;border-radius:9px;margin-top:10px;padding:14px;font-size:13px}.village-queue-detail p{margin-top:8px;font-size:12px}.village-confirm{text-align:center}.village-confirm>.sprite{width:100px;height:100px;margin:0 auto 10px;display:block}.village-confirm p{color:#8c795d;margin:11px 0;font-size:13px}.village-confirm button{margin-top:10px}.topbar nav .mobile-more-nav{display:none}.game-more-grid{grid-template-columns:1fr 1fr;gap:12px;padding:18px;display:grid}.game-more-grid button{color:#5e7148;background:#f9efd8;border:1px solid #d9c9a3;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:20px 10px;display:flex}.game-more-grid strong{font-size:16px}.game-more-grid small{color:#8f7f60;font-size:11px}.army-view-tabs{display:none}.dispatch-feedback,.dispatch-blocked{color:#8a482e;background:#fff0db;border:1px solid #d6aa82;border-radius:8px;margin-top:12px;padding:12px;font-size:13px}.dispatch-feedback .secondary{min-height:44px;margin-top:10px}.dispatch-dialog button:disabled{cursor:not-allowed}@media (max-width:700px) and (max-height:740px){.village-bottom .village-next{padding:6px 10px}.village-next em{display:none}.village-next>button{flex-direction:row;width:64px;height:44px}.village-bottom .village-task{padding:7px 10px}.village-stage .village-title{padding:7px 10px;top:8px}.village-title h1{font-size:15px}}.resource-place-tabs{gap:8px;margin:14px 0;display:flex}.resource-place-tabs button,.army-view-tabs button{color:#817254;background:#f5ecd6;border:1px solid #d8c9a6;border-radius:8px;flex:1;min-height:44px;padding:8px}.resource-place-tabs button[aria-selected=true],.army-view-tabs button[aria-selected=true]{color:#fff4cf;background:#425e3b;border-color:#425e3b}@media (min-width:701px){.app.tab-home .village-stage{width:min(540px,66.6667dvh - 100px);min-width:390px}}@media (max-width:700px){.army-view-tabs{gap:6px;margin-bottom:14px;display:flex}.army-view-tabs button{font-size:12px}.army-page[data-view=train]>.two-columns>section:nth-child(2),.army-page[data-view=train]>.army-garrison-panel,.army-page[data-view=garrison]>.two-columns>section:first-child,.army-page:not([data-view=marches])>.army-marches-panel,.army-page[data-view=marches]>.two-columns,.army-page[data-view=marches]>.army-garrison-panel{display:none}.app.tab-home{height:100dvh;min-height:0;padding-bottom:calc(66px + env(safe-area-inset-bottom));overflow:hidden}.app.tab-home .game-body{flex:1;min-height:0;overflow:hidden}.app.tab-home .main-content{height:100%}.app .topbar{height:54px;min-height:54px;padding:0 12px}.app .topbar .brand span{font-size:17px}.app .topbar .brand svg{width:27px}.app .player-menu{gap:6px}.app .player-menu>div{max-width:92px;font-size:11px}.app .player-menu .hero-portrait{display:none}.app .topbar nav{height:66px;padding:4px 8px max(4px, env(safe-area-inset-bottom));justify-content:space-around}.app .topbar nav .mobile-secondary-nav{display:none}.app .topbar nav .mobile-more-nav{display:flex}.app .topbar nav button{flex:1;gap:3px;max-width:88px;height:55px;font-size:12px}.app .resourcebar{gap:0;height:60px;padding:6px 12px}.app .resourcebar .resource-location{display:none}.app .resourcebar .resource-list{width:100%;height:100%;padding:0}.app .resourcebar .resource{min-height:44px}.app .resourcebar .resource strong{font-size:15px}.app .afk-strip{display:none}.app.tab-home .game-body{margin:0;padding:0}.app.tab-home .main-content{border-radius:0;min-height:0;margin:0}.village-home{align-content:start;height:100%;min-height:0;display:block}.village-stage{aspect-ratio:auto;width:100%;max-width:none;height:100%}.village-title{top:12px;left:12px;right:12px}.village-title h1{max-width:180px}.village-bottom{bottom:12px;left:12px;right:12px}.village-next{padding:11px}.village-next strong{font-size:14px}.village-site .village-building{width:140%;left:-20%}.village-sheet,.map-place-sheet,.game-menu-sheet{width:100%;max-width:none;max-height:85dvh;padding-bottom:env(safe-area-inset-bottom);border:1px solid #cdb98c;border-radius:20px 20px 0 0;margin:0;position:fixed;inset:auto 0 0}.village-sheet .modal-title{padding:16px 18px 10px}.village-sheet .modal-title h2{font-size:18px}.village-sheet .modal-title .icon-button{min-width:40px;min-height:40px}.village-picker,.village-details,.village-confirm{padding-left:18px;padding-right:18px}.village-building-intro>.sprite{width:98px;height:98px}.app.tab-map .desktop-location{display:none}.map-place-sheet .location-detail{box-shadow:none;background:0 0;border:0;margin:0}.map-place-sheet .location-detail>.detail-art{max-height:120px}}.construction-queue{padding:0 18px 20px}.queue-explanation{color:#665b48;margin:6px 0 14px;font-size:12px;line-height:1.6}.construction-orders{gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.construction-orders>li{background:#fffaf0;border:1px solid #d7c9a9;border-radius:12px;padding:10px 12px}.construction-orders>li.is-active{background:#f3f5e5;border-color:#9fa96e}.queue-order-heading{align-items:center;gap:8px;display:flex}.queue-order-heading .building-portrait{flex:0 0 72px;width:72px;height:72px;display:block}.building-portrait svg{width:100%;height:100%;display:block}.queue-order-heading>div{min-width:0}.queue-order-heading strong,.queue-order-heading small{display:block}.queue-order-heading strong{font-size:15px}.queue-order-heading small{color:#766b50;font-size:11px}.queue-number{text-align:center;background:#e5dcc3;border-radius:50%;flex-shrink:0;width:23px;height:23px;font-size:12px;font-weight:700;line-height:23px}.is-active .queue-number{color:#fff;background:#52663d}.queue-eta{color:#605a48;margin:6px 0;font-size:12px}.queue-order-actions{gap:6px;margin-top:8px;display:flex}.queue-order-actions button{flex:1;min-height:44px;padding:6px 10px;font-size:12px}.queue-order-actions .queue-cancel{color:#813c2c}.app.tab-map .left-sidebar,.app.tab-map .right-sidebar,.app.tab-map .afk-strip,.app.tab-map .game-footer{display:none}.app.tab-map>.toast{top:228px;bottom:auto}.app.tab-map .game-body{min-height:0;padding:0;display:block;overflow:hidden}.app.tab-map .main-content{width:100%;height:100%;box-shadow:none;border:0;border-radius:0;margin:0;overflow:hidden}.central-map{background:#b6c68b;flex-direction:column;height:100%;min-height:0;display:flex}.central-header{z-index:2;background:#fff7e7;border-bottom:1px solid #d4c5a0;flex-shrink:0;align-items:center;gap:10px;min-height:72px;padding:10px 24px;display:flex}.central-header>div{min-width:0;margin-right:auto}.central-header h1{font-size:22px}.central-eyebrow{letter-spacing:.16em;color:#8b7956;margin-bottom:2px;font-size:10px;display:block}.central-header button{white-space:nowrap;background:#f2e8d0;border:1px solid #d9c9a7;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 15px;font-size:13px;display:flex}.central-header .central-home{color:#fff4d2;background:#42633e;border-color:#42633e}.central-viewport{isolation:isolate;flex:1;min-height:0;position:relative;overflow:hidden}.central-viewport .map-surface{border-radius:0;height:100%;min-height:0;position:absolute;inset:0}.central-viewport .map-surface canvas{touch-action:none;width:100%;height:100%;display:block}.central-viewport .map-caption{display:none}.central-map-tools{z-index:2;gap:10px;display:grid;position:absolute;top:16px;right:18px}.central-map-tools>button,.central-zoom{background:#fff8e8f5;border:1px solid #d3c19a;border-radius:10px;overflow:hidden;box-shadow:0 3px 12px #324a2d20}.central-map-tools button{color:#4a6240;background:#fff8e8;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:46px;min-height:44px;padding:5px;display:flex}.central-map-tools>button{border:1px solid #d3c19a;min-height:58px}.central-map-tools button>span{font-size:10px}.central-zoom output{text-align:center;color:#8d7e61;background:#f4ecd7;padding:2px 0;font-size:10px;display:block}.central-position{z-index:2;color:#53623f;pointer-events:none;background:#fcf5e7eb;border:1px solid #d9cba9;border-radius:8px;align-items:center;gap:6px;padding:9px 12px;font-size:12px;display:flex;position:absolute;top:16px;left:18px;box-shadow:0 3px 12px #324a2d15}.central-position>span{color:#8c805d;border-left:1px solid #d2c5a5;padding-left:8px;font-size:10px}.central-bottom{z-index:3;pointer-events:none;gap:8px;width:min(460px,100% - 28px);display:grid;position:absolute;bottom:38px;left:50%;transform:translate(-50%)}.central-bottom>*{pointer-events:auto}.central-explore-hint{background:#fff8e8f2;border:1px solid #d5c299;border-radius:13px;align-items:center;gap:14px;padding:14px;display:flex;box-shadow:0 4px 20px #344a2d2e}.central-explore-hint>span{flex:1;min-width:0}.central-explore-hint strong{font-size:15px;display:block}.central-explore-hint small{color:#8c7f5c;margin-top:5px;font-size:11px;line-height:1.5;display:block}.central-explore-hint button{color:#fff5d7;white-space:nowrap;background:#476b42;border:0;border-radius:8px;align-items:center;gap:4px;min-height:44px;padding:10px;font-size:12px;display:flex}.central-selection{background:#fff8e8f7;border:1px solid #cbb98e;border-radius:14px;padding:12px 14px;box-shadow:0 5px 24px #34482c38}.central-selection-head{align-items:center;gap:10px;display:flex}.central-selection-head>.world-sprite{flex-shrink:0;width:58px;height:58px}.central-selection-head>div{flex:1;min-width:0}.central-selection h2{white-space:nowrap;text-overflow:ellipsis;margin:1px 0;font-size:18px;line-height:1.4;overflow:hidden}.central-relation{color:#8e7950;letter-spacing:.05em;font-size:10px}.central-selection.own .central-relation{color:#3d817a}.central-selection.ally .central-relation{color:#487ba6}.central-selection.enemy .central-relation{color:#b45238}.central-selection-head p{color:#8b8060;font-size:11px}.central-dismiss{color:#8e8261;background:0 0;border:0;border-radius:8px;align-self:flex-start;place-items:center;min-width:44px;min-height:44px;margin:-5px -6px 0 0;display:grid}.central-selection-note{color:#8d7b59;background:#efe6cf9c;border-radius:6px;margin:9px 0;padding:7px 9px;font-size:11px;line-height:1.6}.central-selection-actions button{border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:8px;font-size:13px;display:flex}.central-mark{color:#927e50;background:#f4ead2;border:1px solid #d8c6a2}.central-mark.marked{color:#4b6c40;background:#e1e9ce;border-color:#b4c49b}.central-empty-icon{color:#8b9265;background:#ece6cb;border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.central-empty-actions p{color:#8d7e5e;margin-top:8px;font-size:12px}.central-empty-actions button{color:#526b40;background:0 0;border:0;align-items:center;gap:6px;min-height:44px;padding:0;font-size:13px;display:flex}.central-march,.central-incoming{color:#fff4cf;background:#314f3dee;border:1px solid #e0d1a790;border-radius:9px;align-items:center;gap:8px;min-height:44px;padding:9px 12px;font-size:12px;display:flex;box-shadow:0 2px 10px #29452f25}.central-march>span{text-align:left;flex:1}.central-march strong{font-variant-numeric:tabular-nums}.central-incoming{background:#8e543deb;justify-content:space-between}.central-sheet{background:#fff8e8;border:1px solid #d3bf96;border-radius:16px;width:min(520px,100vw - 24px);max-height:85dvh;padding:0;overflow:auto}.central-sheet .modal-title{z-index:2;background:#fff8e8;padding:18px 20px 14px;position:sticky;top:0}.central-sheet .modal-title h2{font-size:20px}.central-search-body{padding:0 18px 20px}.central-search-tabs{gap:6px;margin-bottom:14px;display:flex}.central-search-tabs>button{white-space:nowrap;color:#897853;background:#eee5cc;border:1px solid #0000;border-radius:8px;flex:1;min-width:0;min-height:44px;padding:8px 4px;font-size:13px}.central-search-tabs>button[aria-selected=true]{color:#fff3ce;background:#47653e}.central-search-input{color:#a18b61;background:#fffcf4;border:1px solid #daccab;border-radius:9px;align-items:center;gap:8px;padding:0 12px;display:flex}.central-search-input input{outline-offset:0;background:0 0;border:0;width:100%;min-height:44px;padding:10px 0;font-size:14px}.central-list-caption{color:#9a8967;padding:10px 2px;font-size:11px}.central-place-list{gap:7px;display:grid}.central-place-list>button{text-align:left;background:#f9efd9;border:1px solid #e2d3b3;border-radius:10px;align-items:center;gap:10px;min-height:72px;padding:9px;display:flex}.nearby-place-row{background:#f9efd9;border:1px solid #e2d3b3;border-radius:10px;align-items:stretch;gap:6px;padding:6px;display:flex}.nearby-place-row>button:first-child{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;padding:4px;display:flex}.nearby-place-row .nearby-dispatch{color:#fff8df;background:#496c3d;border:1px solid #496c3d;border-radius:8px;flex:0 0 52px}.central-tracking{z-index:3;color:#fff6d6;background:#294f38ed;border:1px solid #f5df9b;border-radius:12px;max-width:calc(100% - 24px);display:flex;position:absolute;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #24371b33}.central-tracking button{min-height:44px;color:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:flex}.central-tracking button:last-child{border-left:1px solid #ffffff35;min-width:44px;font-size:22px}.map-march-list{gap:12px;padding:16px;display:grid}.map-march-list article{background:#faf2dc;border:1px solid #d4c49c;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.map-march-list article.hostile{background:#fff0e9;border-color:#c77b68}.map-march-list article>div{gap:6px;min-width:0;display:grid}.map-march-list article small{color:#72664a;overflow-wrap:anywhere}.map-march-list article span{color:#8a642c;font-variant-numeric:tabular-nums}.map-march-list article button{flex-shrink:0;min-height:44px}@media (max-width:700px){.game-shell .central-header{gap:4px}.game-shell .central-header button{padding:8px 7px;font-size:12px}.central-header .central-marches-toggle svg{display:none}.nearby-place-row .world-sprite{width:38px;height:38px}}.central-place-list .world-sprite{flex-shrink:0;width:49px;height:49px}.central-place-list button>span:not(.world-sprite){flex:1;min-width:0}.central-place-list strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.central-place-list small{color:#9b8865;margin-top:4px;font-size:11px;display:block}.central-place-list b{text-align:right;color:#6a794d;font-size:15px}.central-place-list b small{margin-top:1px;font-size:10px;font-weight:400}.central-search-empty{text-align:center;color:#9b8a66;padding:30px 6px;font-size:13px}.central-coordinate-form{gap:14px;display:grid;padding:0!important}.central-coordinate-form p{color:#9a8562;font-size:13px}.central-coordinate-form>div{gap:12px;display:flex}.central-coordinate-form label{flex:1;gap:5px;font-size:13px;display:grid}.central-coordinate-form input{width:100%;min-height:46px}.central-coordinate-form button{min-height:46px}.central-overview{padding:4px 20px 22px}.central-overview .minimap{width:min(100%,320px);height:auto;image-rendering:pixelated;border-radius:10px;margin:0 auto;display:block}.central-overview>p{text-align:center;color:#998563;padding:12px 0;font-size:12px}.central-legend{color:#8a7f61;flex-wrap:wrap;justify-content:center;gap:12px;font-size:11px;display:flex}.central-legend>span{align-items:center;gap:5px;display:flex}.central-display-options{justify-content:center;gap:20px;margin:12px 0;display:flex}.central-display-options label{align-items:center;gap:7px;min-height:44px;font-size:13px;display:flex}.central-overview>.primary{min-height:44px}.central-detail-sheet .location-detail{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0}.central-detail-sheet .location-art{height:126px}.central-detail-sheet .location-title h2{font-size:21px}@media (min-width:1100px){.central-header{padding-left:32px;padding-right:32px}.central-bottom{width:390px;bottom:42px;left:32px;transform:none}.central-map-tools{top:22px;right:30px}.central-position{top:22px;left:32px}}@media (max-width:700px){.app.tab-map>.toast{top:184px;bottom:auto}.app.tab-map{height:100dvh;min-height:0;padding-bottom:calc(66px + env(safe-area-inset-bottom));overflow:hidden}.app.tab-map .game-body{flex:1;min-height:0;margin:0}.app.tab-map .main-content{height:100%;min-height:0}.central-header{gap:7px;height:60px;min-height:60px;padding:8px 12px}.central-header h1{font-size:18px}.central-eyebrow{font-size:9px}.central-header button{gap:5px;padding:8px 10px;font-size:12px}.central-find>span{display:none}.central-home>span{font-size:11px}.central-map-tools{gap:8px;top:12px;right:12px}.central-position{padding:8px 10px;font-size:11px;top:12px;left:12px}.central-position>span{display:none}.central-bottom{width:calc(100% - 24px);bottom:35px}.central-selection{border-radius:12px;padding:10px 12px}.central-selection h2{font-size:17px}.central-selection-head>.world-sprite{width:48px;height:48px}.central-selection-note{margin:7px 0;font-size:10px}.central-explore-hint{gap:8px;padding:11px}.central-explore-hint strong{font-size:13px}.central-explore-hint small{font-size:10px}.central-explore-hint button{font-size:11px}.central-sheet{width:100%;max-width:none;max-height:86dvh;padding-bottom:env(safe-area-inset-bottom);border-radius:19px 19px 0 0;margin:0;position:fixed;inset:auto 0 0}.central-sheet .modal-title{padding:16px 18px 12px}.central-sheet .modal-title h2{font-size:18px}.central-sheet .modal-title .icon-button{min-width:44px;min-height:44px}.central-detail-sheet .location-art{height:108px}}@media (max-width:370px){.central-header{gap:6px;padding-left:10px;padding-right:10px}.central-header h1{font-size:16px}.central-header button{padding:8px;font-size:11px}.central-header .central-home{gap:4px}.central-position{padding:7px 8px}.central-selection-note{font-size:10px}.central-selection h2{font-size:16px}}.resource-stock{color:#34482c;background:#f5edd2;border:1px solid #c7b982;border-radius:12px;margin:12px 0;padding:12px}.resource-stock>div{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.resource-stock progress{accent-color:#47734a;width:100%;height:10px;margin:9px 0;display:block}.resource-stock p{margin:8px 0 0;font-size:13px;line-height:1.5}.location-detail>.resource-stock{grid-column:1/-1}.compact-hud{display:contents}.v08-action-row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.v08-action-row button{flex:1;min-height:44px}.land-switch-fab{z-index:35;color:#493e27;background:#fff7e5;border:1px solid #cbb178;border-radius:22px;align-items:center;gap:8px;padding:12px 16px;display:flex;position:fixed;bottom:40px;right:22px;box-shadow:0 3px 12px #24331b33}.land-card{border-bottom:1px solid #ded0b4;padding:16px 0}.land-card>div:first-child{flex-direction:column;gap:5px;display:flex}.land-card strong{font-size:18px}.land-card span,.land-card p{color:#75654d;font-size:13px}.economy-notice{background:#eaf0df;border-radius:12px;flex-wrap:wrap;gap:8px 20px;margin:16px 0;padding:14px;display:flex}.economy-notice.deficit{color:#794d1b;background:#fff0d6}.economy-notice span{font-size:13px}.five-units{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.five-units button{min-width:0}.five-units small{font-size:11px;line-height:1.6;display:block}.v08-army .panel{margin:18px 0;display:block!important}.incoming-card{border-bottom:1px solid #ddd0b7;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:16px 0;display:grid}.incoming-card small{color:#7c725c}.incoming-card button{min-height:44px}.board-entry{border-bottom:1px solid #e5dac4;padding:14px 0}.board-entry small{float:right}.board-entry p{white-space:pre-wrap;overflow-wrap:anywhere}.alliance-management textarea{resize:vertical;width:100%;min-height:82px;font:inherit;border:1px solid #cfbd97;border-radius:8px;padding:12px}.alliance-management{margin:24px}.dispatch-power{background:#ecead6;border-radius:9px;padding:10px;font-weight:700}.central-selection-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.central-selection-actions button{white-space:nowrap;width:100%;min-height:44px}.unit-portrait.pending-unit{color:#776341;background:#e9dfc8;border-radius:14px;place-items:center;font-size:12px;display:grid}@media (max-width:700px){.app .compact-hud{z-index:50;background:#fcf5e7;border-bottom:1px solid #d0be99;flex:0 0 54px;align-items:center;width:100%;height:54px;display:flex;position:relative}.app .compact-hud .topbar{background:0 0;border:0;flex:0 0 78px;width:78px;height:54px;min-height:54px;padding:0 6px;display:flex;position:static}.app .compact-hud .brand{gap:3px;width:100%;min-width:0}.app .compact-hud .brand svg{flex-shrink:0;width:25px;height:30px}.app .compact-hud .brand span{white-space:normal;font-size:12px;line-height:1.3;display:block}.app .compact-hud .brand small,.app .compact-hud .player-menu{display:none}.app .compact-hud .resourcebar{background:0 0;border:0;flex:1;width:auto;min-width:0;height:54px;min-height:54px;padding:0 3px 0 0;display:flex}.app .compact-hud .resource-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;display:grid}.app .compact-hud .resource{border:0;border-left:1px solid #e2d5b9;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:44px;padding:0 2px;display:flex}.app .compact-hud .resource-glyph{flex:0 0 19px;width:19px;height:23px;margin:0}.app .compact-hud .resource-glyph svg{width:19px;height:23px}.app .compact-hud .resource strong{white-space:nowrap;letter-spacing:-.4px;font-size:12px}.app .compact-hud .resource strong span,.app .compact-hud .resource small,.app .compact-hud .resource .rate,.app .compact-hud .resource-location,.app .compact-hud .world-season{display:none}.app .topbar nav{left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:70;background:#f8efddef;border:1px solid #bfa673;border-radius:20px;grid-template-columns:repeat(4,1fr);gap:3px;width:calc(100% - 24px);height:60px;padding:4px;display:grid;position:fixed;top:auto;box-shadow:0 4px 22px #29332140}.app .topbar nav button{border-radius:14px;width:auto;min-width:44px;height:50px;min-height:44px;padding:4px;font-size:11px}.app .topbar nav button svg{width:23px;height:23px}.app .topbar nav .mobile-secondary-nav{display:none}.app .topbar nav .mobile-more-nav{display:flex}.app .topbar nav button.active{background:#e4d6ad;box-shadow:inset 0 0 0 1px #c7ae6a}.app.tab-home,.app.tab-map{flex-direction:column;height:100dvh;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.app.tab-home .game-body,.app.tab-map .game-body{flex:1;min-height:0;padding:0;display:block}.app.tab-home .main-content,.app.tab-map .main-content{height:100%;min-height:0}.app.tab-home .afk-strip,.app.tab-map .afk-strip{display:none}.central-map{height:100%;position:relative}.central-header{z-index:5;background:#fff9e8e8;border:1px solid #c8b784;border-radius:14px;height:48px;min-height:0;padding:8px 10px;position:absolute;top:10px;left:12px;right:12px;box-shadow:0 2px 8px #33432c20}.central-header h1{font-size:16px}.central-eyebrow{display:none}.central-viewport{flex:1;height:100%}.central-map-tools{top:72px;right:12px}.central-position{top:126px;bottom:auto}.central-bottom{bottom:calc(80px + env(safe-area-inset-bottom));width:auto;left:12px;right:12px;transform:none}.central-selection-note{margin:6px 0}.central-selection-head h2{font-size:18px}.central-selection{padding:12px}.central-selection-actions{gap:6px}.central-selection-actions button{flex:1;font-size:13px}.central-selection-actions .central-mark{flex:0 0 44px}.village-bottom{bottom:calc(80px + env(safe-area-inset-bottom))}.land-switch-fab{border-radius:15px;min-height:44px;padding:9px 12px;font-size:12px;inset:126px auto auto 12px}.app.tab-home .land-switch-fab{top:142px}.app:not(.tab-home):not(.tab-map){padding-bottom:84px}.app:not(.tab-home):not(.tab-map) .afk-strip{display:none}.five-units{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.five-units button{padding:8px 4px}.five-units strong{font-size:12px}.five-units .unit-portrait{width:62px;height:70px}.v08-army .page-heading{margin-bottom:12px}.alliance-management{margin:16px}.alliance-management .line-item{flex-wrap:wrap;gap:8px}.modal-backdrop{z-index:200}.toast{z-index:250}}@media (max-width:360px){.app .compact-hud .topbar{flex-basis:66px;width:66px}.app .compact-hud .brand svg{display:none}.app .compact-hud .resource strong{font-size:11px}}:root{--ui-paper:#fff9eb;--ui-ink:#354334;--ui-muted:#737761;--ui-line:#d8cfb5;--ui-green:#43684a;--ui-danger:#9d4937;--hud-height:54px;--nav-space:86px}.game-shell{height:100dvh;color:var(--ui-ink);background:#ece9dc;font-size:15px;overflow:hidden}.game-shell button,.modal button{min-height:44px}.game-shell button,.modal button,.modal input,.modal select{touch-action:manipulation}.game-shell [hidden]{display:none!important}.game-shell h1{font-size:22px}.game-shell h2{font-size:18px}.game-shell small,.modal small,.game-shell .tiny,.modal .tiny{font-size:12px;line-height:1.5}.game-hud{height:var(--hud-height);z-index:40;background:var(--ui-paper);border-bottom:1px solid var(--ui-line);display:flex;position:fixed;inset:0 0 auto;box-shadow:0 2px 10px #26352416}.village-selector{border:0;border-right:1px solid var(--ui-line);background:0 0;flex:0 0 126px;align-items:center;gap:6px;min-width:0;max-width:34%;padding:5px 10px;font-size:13px;font-weight:700;display:flex}.village-selector>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.village-selector svg{flex-shrink:0}.hud-resources{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;max-width:650px;display:grid}.hud-resources button{font-variant-numeric:tabular-nums;background:0 0;border:0;border-right:1px solid #e2d9c2;justify-content:center;align-items:center;gap:5px;min-width:0;padding:4px 3px;font-size:13px;display:flex}.hud-resources svg{color:#9f7c42;flex-shrink:0}.hud-resources strong{white-space:nowrap;font-weight:600}.connection-dot{z-index:41;background:#b67d36;border-radius:50%;width:6px;height:6px;position:fixed;top:3px;left:3px}.game-content{inset:var(--hud-height) 0 0;overscroll-behavior:contain;scroll-padding-block:60px 110px;position:absolute;overflow:auto}.game-map-pane{height:100%;overflow:hidden}.game-shell .page-scroll{padding:calc(24px + var(--overlay-depth,0px)) 20px calc(var(--nav-space) + 24px);width:100%;max-width:900px;min-height:100%;margin:auto;overflow:visible}.community-page{max-width:1000px;margin:auto;padding:20px 20px 100px}.community-page>.page-scroll{padding:0}.game-shell .page-heading{margin:0 0 16px}.game-shell .page-heading p{margin:6px 0;font-size:13px;line-height:1.5}.game-shell .page-heading .section-kicker{display:none}.game-nav{z-index:40;bottom:max(10px, env(safe-area-inset-bottom));background:#fff9ebfa;border:1px solid #c7ba91;border-radius:20px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:calc(100% - 24px);max-width:560px;padding:5px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 5px 22px #22321c30}.game-nav button{background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:54px;padding:3px;font-size:12px;display:flex;position:relative}.game-nav button[aria-current=page]{color:#36553b;background:#dde6cf;font-weight:700}.game-nav svg{width:24px;height:24px}.unread-dot{vertical-align:middle;background:#b95939;border-radius:50%;width:7px;height:7px;margin-left:5px;display:inline-block}.urgent-strip{top:calc(var(--hud-height) + 6px);z-index:20;color:#fff8e5;background:#8b4c34;border:1px solid #b77b57;border-radius:10px;align-items:center;gap:8px;max-width:650px;margin:auto;padding:6px 10px;font-size:12px;display:flex;position:fixed;left:12px;right:12px;box-shadow:0 2px 8px #25391d22;min-height:44px!important}.urgent-strip strong{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.urgent-strip span{font-variant-numeric:tabular-nums;white-space:nowrap}.has-urgent .page-scroll{padding-top:calc(24px + var(--overlay-depth,50px))}.feedback-stack{z-index:80;top:calc(var(--hud-height) + 8px);pointer-events:none;max-width:650px;margin:auto;position:fixed;left:12px;right:12px}.has-urgent .feedback-stack{top:112px}.feedback-stack>*{pointer-events:auto}.status-receipt,.command-feedback{color:#fff9e8;background:#294e37;border:1px solid #6a8654;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;line-height:1.5;display:flex;box-shadow:0 5px 18px #263b2633}.status-receipt span,.command-feedback p{flex:1;min-width:0;margin:0}.status-receipt button,.command-feedback button{color:var(--ui-ink);background:#fff9e8;border:1px solid #d2c7a5;border-radius:8px;flex-shrink:0;padding:6px 10px}.command-feedback{color:#773d2c;background:#fff0df;border-color:#d7ad80;flex-wrap:wrap}.command-feedback p{flex-basis:200px}.inline-receipt{background:#e3ecd8;border-radius:9px;padding:12px;font-size:14px}.modal-feedback:empty{display:none}.modal-feedback .command-feedback{box-shadow:none;margin:0 0 14px}.modal-feedback .inline-receipt{margin:0 0 12px}.offline-summary,.guide-chip{top:calc(var(--hud-height) + 12px);z-index:16;background:#fff9ebf7;border:1px solid #c9bc8e;border-radius:12px;max-width:480px;margin:auto;display:flex;position:fixed;left:12px;right:12px;box-shadow:0 3px 12px #20391c20}.has-urgent .offline-summary,.has-urgent .guide-chip{top:calc(var(--hud-height) + 50px)}.offline-summary button,.guide-chip button{background:0 0;border:0;padding:8px 10px;font-size:12px}.offline-summary button:first-child,.guide-chip button:first-child{text-align:left;flex:1}.offline-summary button:last-child,.guide-chip button:last-child{flex-shrink:0;width:44px}.game-shell .village-home{height:100%;min-height:100%;overflow:hidden}.game-shell .village-stage{aspect-ratio:auto;width:min(100%,650px);height:100%;max-height:none}.game-shell .village-title{background:#234a37de;border-radius:9px;max-width:calc(100% - 24px);padding:7px 10px;font-size:12px;top:12px;left:12px;right:auto}.game-shell .village-title h1,.game-shell .village-title-mark{display:none}.game-shell .village-title>div>span{font-size:12px}.has-urgent .village-title{top:58px}.game-shell .village-bottom{bottom:calc(var(--nav-space) + 2px);gap:8px;left:12px;right:12px}.game-shell .village-task{border-radius:15px;min-height:74px;padding:8px 12px}.game-shell .village-task strong{font-size:15px}.game-shell .village-task small{font-size:12px}.game-shell .village-task-copy{flex:1;min-width:0}.game-shell .village-actions{display:block;position:absolute;bottom:calc(100% + 8px);right:0}.game-shell .village-actions>button:first-child{background:#fff6dcef;border:1px solid #b9a976;width:auto;min-height:44px;padding:8px 12px;font-size:13px;box-shadow:0 3px 8px #3240242a}.game-shell .village-actions>button:nth-child(2){display:none}.game-shell .village-next{min-height:70px;padding:10px 14px}.game-shell .village-next em{display:none}.game-shell .village-next strong{font-size:15px}.game-shell .village-rest{display:none}.village-site.just-built{filter:drop-shadow(0 0 7px #fdf0a2)}.game-shell .central-map{height:100%;display:block;position:relative}.game-shell .central-viewport{position:absolute;inset:0}.game-shell .central-header{z-index:4;pointer-events:none;background:0 0;border:0;justify-content:flex-end;gap:6px;min-height:0;padding:0;display:flex;position:absolute;top:10px;left:12px;right:12px}.game-shell .central-header>div{display:none}.game-shell .central-header button{pointer-events:auto;min-height:44px;color:var(--ui-ink);background:#fff8eaf5;border:1px solid #c8ba93;padding:8px 10px;font-size:13px;box-shadow:0 2px 7px #26351a22}.game-shell .central-find>span{display:none}.has-urgent .central-header{top:58px}.game-shell .central-position{pointer-events:none;background:#fff8eadd;padding:5px 8px;font-size:12px;position:absolute;top:64px;left:12px}.has-urgent .central-position{top:108px}.game-shell .central-bottom{left:12px;right:12px;bottom:var(--nav-space);width:auto;max-width:650px;margin:0 auto;display:block;position:absolute;transform:none}.game-shell .compact-selection{background:#fff9ebfa;border-radius:14px;align-items:center;gap:8px;min-height:80px;padding:12px;display:flex;position:relative;box-shadow:0 4px 18px #2c3d2822}.compact-selection .selection-copy{flex:1;min-width:0}.game-shell .compact-selection h2{white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px;font-size:15px;overflow:hidden}.compact-selection small{font-size:12px;display:block}.compact-selection>.world-sprite{flex-shrink:0;width:36px;height:36px}.compact-selection>button{white-space:nowrap;flex-shrink:0;padding:7px 10px;font-size:13px}.compact-selection>.selection-more{min-width:44px;padding:4px}.compact-selection>.selection-dismiss{background:#fff9ebf5;border:1px solid #ccbd96;border-radius:50%;width:44px;font-size:20px;position:absolute;bottom:calc(100% + 5px);right:0}.map-zoom-setting{align-items:center;gap:16px;margin-bottom:16px;display:flex}.map-zoom-setting button{border:1px solid var(--ui-line);background:var(--ui-paper);border-radius:8px;width:48px;font-size:20px}.game-shell .army-view-tabs,.game-shell .army-task-tabs{gap:6px;margin:12px 0;display:flex}.army-task-tabs button{background:0 0;border:1px solid #dbd0b0;border-radius:10px;flex:1;padding:8px;font-size:13px}.army-task-tabs button[aria-selected=true]{background:#e1e9d6;border-color:#91a47d}.game-shell .army-view-tabs button{padding:8px 10px;font-size:13px}.army-food-summary{background:#e4ebdb;border-radius:9px;margin:12px 0;padding:10px 12px;font-size:13px}.deficit{color:#984c31!important}.unit-roster{gap:8px;display:grid}.unit-choice{border:1px solid var(--ui-line);text-align:left;background:#fff9eb;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:74px;padding:8px 12px;display:flex}.unit-choice>.unit-portrait{flex:0 0 56px;width:56px;height:56px}.unit-choice>span:nth-child(2){flex:1;min-width:0}.unit-choice strong,.unit-choice small{display:block}.unit-choice small{color:var(--ui-muted);margin-top:4px}.unit-intro{align-items:center;gap:14px;margin-bottom:16px;display:flex}.unit-intro>.unit-portrait{flex:0 0 72px;width:72px;height:72px}.unit-intro p{margin:6px 0}.quantity-row{align-items:flex-end;gap:12px;margin:16px 0;display:flex}.quantity-row label{flex-direction:column;flex:1;gap:8px;display:flex}.quantity-row input{width:100%;min-height:44px;font-size:17px}.quantity-row button{white-space:nowrap;font-size:13px}.v09-army .panel{margin:16px 0;display:block}.v09-army .queue-note{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.unit-roster+.tiny{margin-top:14px}.modal{background:var(--ui-paper);color:var(--ui-ink);max-height:calc(var(--visual-height,100dvh) - 24px);overscroll-behavior:contain;border:1px solid #d7cda9;border-radius:18px;width:min(560px,100% - 24px);max-width:calc(100% - 24px);padding:0 20px 20px;scroll-padding-block:80px 180px;font-size:15px;line-height:1.6;overflow-y:auto}.modal .modal-title{z-index:5;background:var(--ui-paper);border-bottom:1px solid #dfd4b8;align-items:center;gap:10px;margin:0 0 12px;padding:14px 0;display:flex;position:sticky;top:0}.modal-title h2{outline:0;flex:1;margin:0;font-size:20px;line-height:1.4}.modal .modal-title button{flex-shrink:0;width:44px;height:44px}.modal .action-footer{background:var(--ui-paper);z-index:3;border-top:1px solid #d7c9a4;margin-top:16px;padding:12px 0 20px;position:sticky;bottom:-20px}.action-meta{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.blocked-reason,.dispatch-blocked{color:#844c31;margin:8px 0;font-size:13px;line-height:1.45}.modal .dispatch-summary{background:0 0;margin:0 0 8px;padding:0}.modal .dispatch-summary strong{font-size:15px}.modal .dispatch-summary span{font-size:12px}.modal .dispatch-footer .tiny{margin:6px 0;font-size:12px}.modal .dispatch-units>label{min-height:80px}.modal .dispatch-units input{min-height:44px;font-size:17px}.modal .dispatch-route{margin-bottom:12px;padding:10px;font-size:13px}.source-comparison{margin:12px 0;font-size:13px}.source-comparison summary{min-height:44px;padding:10px 0}.source-comparison p{border-bottom:1px solid var(--ui-line);padding:6px 0}.modal .cargo-grid input{font-size:17px}.modal .cost{flex-wrap:wrap;gap:12px}.modal .village-building-intro>.sprite{flex-shrink:0}.modal .queue-order-heading .building-portrait{flex:0 0 64px;width:64px;height:64px}.queue-cancel-review{background:#f4e8d6;border-radius:10px;margin:12px 0;padding:14px}.modal .construction-orders>li{padding:12px}.modal .queue-order-actions{flex-wrap:wrap;gap:6px}.modal .queue-order-actions button{min-height:44px;font-size:13px}.modal .queue-explanation{font-size:12px}.modal .village-catalog>button{min-width:0}.modal .village-catalog .sprite{aspect-ratio:1;flex-shrink:0}.modal .village-warning{font-size:13px}.land-choice{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:8px 0;display:flex}.land-choice>span:nth-child(2){flex:1;min-width:0}.land-choice strong,.land-choice small{display:block}.land-choice strong{overflow-wrap:anywhere;font-size:16px}.land-choice[aria-pressed=true]{color:#426747}.land-card>p{margin:6px 0;font-size:12px}.land-card details summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px}.modal .land-card{padding:8px 0}.event-card{background:#fff9eb;border:1px solid #d7ccac;border-radius:12px;align-items:center;gap:14px;margin:12px 0;padding:16px;display:flex}.event-card>div{flex:1;min-width:0}.event-card h2{margin:0 0 6px;font-size:16px}.event-card p{overflow-wrap:anywhere;margin:0 0 6px;font-size:13px;line-height:1.5}.event-card small{color:#7d775f}.event-card.event-attention{border-left:4px solid #af7048}.event-card button{white-space:nowrap;padding:9px 12px;font-size:13px}.game-menu-sheet .game-more-grid button{min-height:100px}.game-menu-sheet .game-more-grid small{font-size:12px}@media (max-width:700px){.modal{inset:auto 0 var(--visual-bottom,0px);width:100%;max-width:100%;max-height:calc(var(--visual-height,100dvh) - 12px);border-radius:22px 22px 0 0;margin:0 auto;padding:0 18px 18px;position:fixed}.modal .action-footer{padding-bottom:max(18px, env(safe-area-inset-bottom));bottom:-18px}.modal.is-editing{inset:calc(var(--modal-visible-top,0px) + 4px) 0 auto;max-height:calc(var(--modal-visible-height,100dvh) - 8px);border-radius:14px;padding-bottom:12px;scroll-padding-block:66px 12px}.modal.is-editing .modal-title{gap:6px;margin-bottom:6px;padding-block:6px}.modal.is-editing .modal-title h2{white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.modal .modal-title .keyboard-done{color:#315335;background:#e3e9ce;border-radius:8px;width:auto;min-height:44px;padding:6px 10px;font-size:14px;font-weight:700}.modal.is-editing .action-footer{display:none}.game-shell .page-scroll{padding-inline:14px}.game-shell .page-heading h1{font-size:21px}.community-page{padding-inline:14px}.game-shell .village-title{max-width:calc(100% - 24px)}.game-shell .village-title>div>span{font-size:12px}.game-shell .central-header{left:10px;right:10px}.game-shell .central-header button{padding:8px 9px}.game-shell .central-find svg,.compact-selection>.world-sprite{display:none}.hud-resources svg{width:16px;height:16px}.game-shell .village-bottom{bottom:86px}.game-shell .village-task>.building-portrait{flex:0 0 48px;width:48px;height:48px}.game-shell .village-task-copy small{white-space:nowrap}.event-card{gap:10px;padding:12px}.event-card button{padding:8px}.game-shell .village-actions>button:first-child{font-size:12px}}@media (max-width:374px){.village-selector{flex-basis:112px;gap:4px;padding-inline:7px;font-size:12px}.village-selector>svg{display:none}.hud-resources button{gap:3px;font-size:12px}.modal{padding-inline:14px}.modal .unit-intro{gap:10px}.game-shell .compact-selection{gap:6px;padding:10px}.compact-selection>button{padding:7px;font-size:12px}.game-shell .central-header button{padding:8px;font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.game-shell .central-header{top:calc(var(--overlay-depth,0px) + 10px)}.game-shell .central-position{top:calc(var(--overlay-depth,0px) + 64px)}.agent-sheet .agent-block{border-top:1px solid #b9b99a55;margin-top:20px;padding-top:12px}.agent-sheet .agent-block h3{margin:6px 0}.agent-sheet .agent-code{overflow-wrap:anywhere;word-break:break-all;-webkit-user-select:all;user-select:all;background:#e7e7cd;border-radius:10px;margin:10px 0;padding:12px;font-size:14px;display:block}.agent-sheet form{gap:12px;display:grid}.agent-sheet label{gap:6px;display:grid}.agent-sheet input,.agent-sheet select{width:100%;min-width:0;max-width:100%}.agent-sheet button{white-space:normal;min-height:44px;margin:4px 8px 4px 0}.agent-sheet button:not(.icon-button){color:#294a38;font:inherit;cursor:pointer;background:#e7e7cd;border:1px solid #b8b69a;border-radius:12px;padding:10px 16px}.agent-sheet button.primary{color:#fff;background:#29553f;border-color:#29553f}.agent-sheet button:disabled{opacity:.55;cursor:wait}.agent-sheet a{color:#2b6147;text-underline-offset:3px}.agent-sheet summary{cursor:pointer;min-height:44px;padding:8px 0;font-weight:600;line-height:1.6}.agent-sheet a{overflow-wrap:anywhere;margin:12px 0;display:block}.agent-sheet .agent-secret{background:#f4ecc7;border-radius:12px;margin-top:12px;padding:12px}.agent-keys,.agent-actions{padding:0;list-style:none}.agent-keys li{border-bottom:1px solid #b9b99a55;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.agent-keys li div{overflow-wrap:anywhere;min-width:0}.agent-keys li button{flex-shrink:0}.agent-keys small,.agent-actions small{font-size:13px;display:block}.agent-actions li{overflow-wrap:anywhere;padding:8px 0}
