/* Compact command layout. Original city art and illustrated unit portraits remain. */
:root{--hud-dark:#192c27;--hud-panel:#243c32;--hud-gold:#b8995d;--bottom-nav:66px}
body{background:#192d28}.app-shell{max-width:none;min-height:100dvh;padding-bottom:var(--bottom-nav)}.topbar{background:linear-gradient(180deg,#2b4036,#172b25);border-bottom:1px solid #a58c59;box-shadow:0 3px 15px #0004;gap:12px;min-height:72px;padding:8px 22px}.brand .crest{height:38px;width:31px}.brand .serif{font-size:21px}.brand .eyebrow{font-size:8px}.city-switch{display:flex;align-items:center;min-width:0;gap:3px;padding:3px;border:1px solid #9d8354;border-radius:6px;background:#111e18}.city-switch .square{width:23px;min-height:29px;font:25px Georgia;padding:0;color:#d7bb7d}.city-picker{background:linear-gradient(#f4dfb8,#c7ac79);color:#382d1e;border:0;min-width:0;max-width:none;width:100%;text-align:center;font:14px Georgia;min-height:33px}.topbar>.square{width:34px;min-height:34px;color:#dac795}.topbar .resourcebar{border:0;box-shadow:none;background:#0f2119a8;padding:5px 8px}.topbar .resource-header-item{min-width:0}.topbar .resource-portrait{width:23px;height:23px}.topbar .resource-header-main{font-size:13px}.topbar .resource-header-item small{font-size:8px}
.activity-bar{display:flex;align-items:stretch;gap:5px;padding:5px 20px;background:#15281f;border-bottom:1px solid #65714c;position:relative;z-index:12;flex:none}.hud-action{display:flex;align-items:center;gap:9px;min-width:0;padding:5px 14px;border:1px solid #547053;background:linear-gradient(#2d4435,#203526);border-radius:5px;color:#e4d5b0;text-align:left;flex:1;max-width:245px}.hud-action>.icon,.threat-sigil>.icon{width:24px;height:24px;color:#ceb374;flex-shrink:0}.hud-action span{min-width:0}.hud-action b{display:block;font-size:12px;font-weight:600;white-space:nowrap}.hud-action em{font-size:11px;font-style:normal;margin-left:5px;color:#f7eac5}.hud-action small{display:block;font-size:9px;line-height:1.4;color:#a8b397;white-space:nowrap}.hud-action small span{display:inline}.threat-indicator{margin-left:auto}.threat-indicator.has-threat{border-color:#ad6549;background:linear-gradient(#823b2d,#53271e)}.threat-indicator.has-threat small{color:#e4bd9a}.threat-indicator.has-threat .icon{color:#ffdc9a}
.command-rail{display:none}.page-wrap{max-width:1500px;padding-top:20px}.nav-bottom{grid-template-columns:repeat(7,minmax(0,1fr));height:var(--bottom-nav);max-width:none;z-index:30;border-radius:0;background:linear-gradient(#283f32,#142a21);border-top:1px solid #aa8d57}.nav-bottom button{font-size:10px;gap:4px;min-width:0}.nav-bottom .icon{width:22px;height:22px}.scene-mode{overflow:hidden}.scene-mode .app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.scene-mode .topbar{position:relative;flex:none}.scene-mode .page-wrap{flex:1;min-height:0;width:100%;max-width:none;margin-top:0;margin-bottom:0;padding:0;overflow:hidden}.city-page>.incoming-banner{position:absolute;z-index:16;top:123px;right:20px;width:auto;max-width:310px;margin:0;padding:9px 13px}.city-page>.incoming-banner small{font-size:10px}.city-page>.incoming-banner .icon{width:18px;height:18px}
.city-viewport{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;padding:14px}.city-scene-wrap{min-height:0;position:relative;display:flex;flex-direction:column}.city-scene-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#f0dfba;padding:0 3px 10px;min-height:58px}.city-scene-heading h1{font:28px Georgia;margin:3px 0 0}.city-scene-heading .section-label{font-size:9px;color:#adbc98;margin:0}.city-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.city-chips .badge{background:#223a2d;color:#dec89a;border-color:#71835b;white-space:nowrap}.city-scene{flex:1;min-height:0;border:1px solid #b59b5c;box-shadow:0 10px 35px #081c1780;border-radius:10px}.city-scene canvas{height:100%!important;width:100%;display:block}.city-scene .scene-controls{top:14px;right:14px}.city-scene .scene-tag{top:16px;left:14px;max-width:75%;font-size:10px;border-color:#a99158}.city-hint{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;color:#e8e2c4;background:#182e24c4;border:1px solid #9f9b5a66;padding:5px 10px;border-radius:20px;pointer-events:none}.city-danger{position:absolute;top:60px;left:12px;right:12px;max-width:400px;background:#7d3324;color:#ffe5bf;border:1px solid #d49669;padding:8px;z-index:2}.city-command-panel{align-self:stretch;min-height:0;overflow:auto;background:linear-gradient(145deg,#f3e9d1,#decdab);border:1px solid #bca36f;padding:15px;display:flex;flex-direction:column}.city-command-panel select{width:100%;font-size:12px}.city-command-panel h2{font:24px Georgia;margin:7px 0 12px}.city-command-panel .building-thumb{width:100%;height:154px;object-fit:contain;display:block}.building-short-effect{line-height:1.5;font-size:11px;color:#655d43;background:#d5d6b780;border-radius:4px;padding:9px;margin:12px 0}.compact-building-cost>.cost{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0}.compact-building-cost .cost-item small{display:none}.compact-building-cost>small{display:flex;align-items:center;gap:5px;margin:12px 0}.city-command-panel .primary{width:100%;margin:8px 0}.city-command-panel .ghost{width:100%;text-align:center}.city-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:auto;padding-top:14px}.city-quick-links button{font-size:10px;white-space:nowrap;padding:6px}
.construction-dock{position:absolute;left:16px;right:16px;bottom:14px;display:flex;align-items:stretch;gap:9px;padding:10px;background:linear-gradient(130deg,#203b2eef,#10251ff5);border:1px solid #b39965;border-radius:8px;box-shadow:0 4px 22px #0005;color:#eedbb2;min-height:80px}.dock-title{display:flex;align-items:center;gap:9px;color:#e7cc94;background:transparent;border:0;border-right:1px solid #8b976244;padding:0 12px 0 2px;flex-shrink:0}.dock-title>.icon{width:27px;height:27px}.dock-title b,.dock-title small{display:block;text-align:left}.dock-title b{font:15px Georgia}.dock-title small{font-size:10px;color:#a9b899;margin-top:5px}.dock-jobs{display:flex;gap:10px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#9eab70 #1d392b}.dock-job{position:relative;flex:0 0 220px;text-align:left;padding:7px 10px;background:#2e4835;border:1px solid #698154;border-radius:5px;color:#ead6a7;min-width:0}.dock-job b{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-job em{font:10px system-ui;margin-left:4px;color:#b3c395}.dock-job small{font-size:10px;display:block;margin:6px 0}.dock-job.waiting{background:#263d2e;opacity:.8}.dock-add{background:#d9bf85;color:#3d3823;border:1px solid #f2dfa7;border-radius:5px;width:37px;flex-shrink:0}.dock-idle{display:flex;flex-direction:column;justify-content:center;gap:5px;padding-left:7px}.dock-idle b{font-size:12px;font-weight:500}.dock-idle small{font-size:10px;color:#aaba96}.job-progress,.march-progress{display:block;height:4px;overflow:hidden;background:#32493a55;border-radius:5px}.job-progress i,.march-progress i{display:block;background:linear-gradient(90deg,#8fa461,#ddbd77);height:100%;width:0;transition:width .6s linear}
.panel-tabs{display:flex;gap:4px;border-bottom:1px solid #bba576;padding-bottom:8px;margin-bottom:12px}.panel-tabs button{padding:8px 15px;background:#e5d7b8;color:#776648;border:1px solid #c4b085;border-radius:5px;font-size:12px;white-space:nowrap}.panel-tabs button.active{background:#304b35;color:#f2e1b8;border-color:#60764d}.panel-tabs button span{font-size:10px;margin-left:5px}.panel-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:6px 0 16px;padding:12px;background:#e5d9bc;border:1px solid #c6b487;border-radius:6px}.panel-summary b{font-size:13px}.panel-summary small{font-size:10px;color:#7a704f}.construction-row{display:flex;align-items:center;gap:10px;width:100%;padding:6px 4px;border:0;border-bottom:1px solid #cfbd97;background:none;text-align:left;color:#41392a;min-height:77px}.construction-row:hover{background:#e5d5ad}.construction-row>.building-thumb{width:75px;height:63px;flex-shrink:0}.construction-row>span:nth-child(2){min-width:0;flex:1}.construction-row b{display:block;font:17px Georgia}.construction-row small{display:block;font-size:10px;line-height:1.5;color:#807459;margin-top:2px;overflow-wrap:anywhere}.construction-row .can-build{color:#536b3e}.build-row-action{display:flex;align-items:center;flex-direction:column;gap:4px;flex-shrink:0;width:47px;color:#947a4a}.build-row-action .icon{width:23px;height:23px}.build-row-action.ready{color:#5a713f}.build-row-action small{font-size:9px}.build-queue-card{padding:12px;background:#f8efdc;border:1px solid #c8b58d;border-radius:6px;margin-bottom:10px}.queue-build-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.queue-build-title .building-thumb{width:64px;height:46px}.queue-build-title>span:nth-child(2){flex:1}.queue-build-title b{display:block;font-size:13px}.queue-build-title small{display:block;font-size:10px;color:#807153;margin-top:5px}.queue-number{background:#344d37;color:#f3d9a4;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font:14px Georgia}.build-queue-card>.flex{margin-top:10px;font-size:12px}
.building-dialog-intro{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center}.building-dialog-intro .building-thumb{width:120px;height:100px}.building-dialog-intro p{font-size:12px;line-height:1.5;margin:10px 0}.building-dialog-intro small{font-size:10px;color:#887451}.building-dialog-effect{padding:10px 12px;background:#d8dfc6;border:1px solid #a7b188;border-radius:5px;font-size:12px;line-height:1.5;margin:12px 0}.building-dialog-price>.cost{display:flex;flex-wrap:wrap;gap:8px 15px;margin:12px 0}.building-dialog-price .cost-item small{display:none}.building-dialog-price>div:last-child{display:flex;align-items:center;gap:7px;font-size:12px;flex-wrap:wrap}.building-dialog-price>div:last-child small{font-size:10px;color:#887651;margin-left:auto}.building-cta{margin:14px 0 12px;position:sticky;bottom:0;background:#f1e4c7;padding:8px 0;z-index:2}.building-cta button{width:100%;min-height:44px;font-size:13px}.building-details{font-size:11px;color:#7f7150;margin:12px 0}.building-details summary{cursor:pointer;padding:7px 0}.building-details .building-requirements{font-size:10px}.building-dialog-links{display:flex;gap:7px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #c4b18a}
.movement-toolbar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:4px}.movement-filters{flex:1;overflow-x:auto;padding-bottom:8px;min-width:0;scrollbar-width:none;margin-bottom:0}.movement-filters button{font-size:11px;padding:8px 10px}.movement-scope{display:flex;gap:7px;align-items:center;font-size:10px;color:#8b7850}.movement-scope select{font-size:11px;min-height:31px;padding:5px;max-width:175px}.movement-count{font-size:10px;color:#85724d;padding:9px 0}.movement-row{display:flex;align-items:center;gap:12px;padding:12px;width:100%;border:1px solid #c3b088;border-left:3px solid #8b9c65;background:#f7efdc;border-radius:7px;margin-bottom:8px;text-align:left;color:#4e432f}.movement-row.hostile{background:#f4dfcf;border-color:#ce9f7c;border-left:3px solid #a44831}.movement-emblem{width:39px;height:39px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:linear-gradient(#e6d8b9,#caba93);border:1px solid #ad9461;color:#837044}.movement-emblem.incoming{background:linear-gradient(#a7553d,#6d3528);border-color:#b87b4e;color:#ffe1a9}.movement-emblem.returns{color:#506f42}.movement-emblem.supports{color:#446c75}.movement-main{flex:1;min-width:0}.movement-top,.movement-bottom{display:flex;align-items:center;gap:8px;justify-content:space-between}.movement-top b{font-size:13px}.movement-top small{font-size:10px;color:#847459}.movement-route{display:block;font-size:12px;line-height:1.45;margin:5px 0 8px;overflow-wrap:anywhere}.movement-bottom{margin-top:7px}.movement-bottom small{font-size:10px;color:#8a7653}.movement-bottom strong{font-size:12px;color:#6b773b;white-space:nowrap}.movement-row.hostile .movement-bottom strong{color:#9a4630}.movement-row>.icon{width:15px;height:15px;flex-shrink:0;opacity:.7}.movement-more{width:100%;margin-top:10px}.movement-detail-route{display:flex;gap:12px;align-items:center;justify-content:center;padding:16px 0;font:19px Georgia;text-align:center}.movement-detail-route .icon{flex-shrink:0}.movement-roster{padding:12px;background:#e5dbc0;border:1px solid #c1b087;border-radius:6px;margin-bottom:14px}.command-overview{padding:15px;background:#f4ead4;border:1px solid #b9a472;border-radius:8px}.dialog-body>.command-overview{padding:0;background:none;border:0}.grouped-menu{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grouped-menu section h3{font:17px Georgia;margin:0 0 9px;color:#6f613f}.grouped-menu section>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.menu-command{display:flex;align-items:center;gap:8px;min-height:47px;padding:7px;border:1px solid #c5b084;border-radius:5px;background:#f4e9d0;text-align:left;color:#5e5137}.menu-command>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #b59d6c;border-radius:50%;background:linear-gradient(#ded1b1,#c4b28a);flex-shrink:0;color:#5b6443}.menu-command b{font-size:11px;font-weight:500}.menu-command:hover{border-color:#8c9a5e;background:#e5dec2}
@media(min-width:1000px){:root{--bottom-nav:0px}.topbar{display:grid;grid-template-columns:190px minmax(160px,260px) minmax(330px,1fr) 36px 36px}.topbar .resourcebar{grid-column:3;grid-row:1}.topbar>.square:nth-child(3){grid-column:4;grid-row:1}.topbar>.music-button{grid-column:5;grid-row:1}.activity-bar{padding-left:100px}.command-rail{display:flex;position:fixed;left:0;top:125px;bottom:0;width:84px;background:linear-gradient(90deg,#112820,#203b2b);border-right:1px solid #66794b;padding:8px 9px;gap:5px;align-items:center;flex-direction:column;z-index:14;overflow-y:auto;scrollbar-width:none}.command-rail button{width:64px;color:#afbea0;border:0;background:none;padding:4px;flex-shrink:0}.command-rail button>span{display:grid;place-items:center;margin:auto;width:37px;height:37px;border:1px solid #8e8f54;border-radius:50%;background:linear-gradient(145deg,#3f5c3c,#162e24);color:#d2b87e;box-shadow:inset 0 0 6px #0005}.command-rail button.active>span{border-color:#dcc086;color:#fae4ac;background:linear-gradient(#698155,#324a33)}.command-rail small{display:block;font-size:9px;margin-top:4px}.command-rail .icon{width:23px;height:23px}.page-wrap{margin-left:84px;margin-right:0;width:calc(100% - 84px)}.scene-mode .page-wrap{margin-left:84px;width:calc(100% - 84px)}.nav-bottom{display:none}}
@media(max-width:999px){.topbar{display:grid;grid-template-columns:minmax(90px,1fr) minmax(118px,1.2fr) 30px 30px;gap:6px;padding:7px 10px;min-height:0}.topbar .resourcebar{grid-column:1/-1;grid-row:2;margin-top:0;width:100%;padding:5px 4px}.brand .serif{font-size:16px}.brand .eyebrow{font-size:7px;letter-spacing:.5px}.brand{gap:5px}.brand .crest{width:25px;height:30px}.city-picker{font-size:12px;min-height:29px;padding:4px}.city-switch{padding:2px;gap:0}.city-switch .square{font-size:20px;width:19px}.topbar>.square{width:29px;min-height:29px;padding:4px}.topbar .resource-portrait{width:21px;height:21px}.topbar .resource-header-main{font-size:11px}.topbar .resource-header-item{padding:0 5px}.topbar .resource-header-item small{display:none}.topbar .resource-header-item .resource-storage{height:3px;margin-top:3px}.activity-bar{gap:4px;padding:5px 8px}.hud-action{padding:5px 7px;gap:5px;max-width:none}.hud-action b{font-size:10px}.hud-action em{font-size:9px;margin-left:2px}.hud-action small{font-size:8px}.hud-action>.icon,.threat-sigil>.icon{width:17px;height:17px}.threat-indicator{flex:.75}.threat-indicator small{display:none}.city-viewport{padding:8px;display:block;height:100%}.city-scene-wrap{height:100%}.city-command-panel{display:none}.city-scene-heading{min-height:49px;gap:7px;padding-bottom:7px}.city-scene-heading h1{font-size:23px}.city-scene-heading .section-label{font-size:8px}.city-chips{gap:5px;flex-wrap:nowrap}.city-chips .badge{font-size:9px;padding:5px 6px;gap:4px}.city-chips .icon{width:13px;height:13px}.city-scene{border-radius:7px}.city-scene .scene-tag{top:10px;left:9px;font-size:9px;padding:4px 7px;max-width:70%}.city-scene .scene-controls{top:10px;right:9px;gap:5px}.city-scene .scene-controls .square{width:28px;min-height:28px;padding:3px}.city-scene .scene-controls .icon{width:16px;height:16px}.construction-dock{left:9px;right:9px;bottom:9px;min-height:67px;gap:6px;padding:8px}.dock-title{gap:5px;padding-right:8px}.dock-title>.icon{width:21px;height:21px}.dock-title b{font-size:12px}.dock-title small{font-size:9px}.dock-job{flex-basis:168px;padding:6px 8px}.dock-job b{font-size:10px}.dock-job small{font-size:9px;margin:6px 0}.dock-add{width:31px}.dock-idle{padding-left:0;gap:4px}.dock-idle b{font-size:10px}.dock-idle small{font-size:9px;line-height:1.35}.city-hint{bottom:90px;font-size:9px;max-width:90%}.city-page>.incoming-banner{display:none}.page-wrap{padding:14px 10px 84px}.grouped-menu{gap:15px;grid-template-columns:1fr}.grouped-menu section>div{grid-template-columns:1fr 1fr}.grouped-menu section h3{font-size:15px;margin-bottom:7px}.menu-command{min-height:40px;padding:5px 7px}.menu-command b{font-size:11px}.menu-command>span{width:26px;height:26px}.menu-command .icon{width:17px;height:17px}.movement-toolbar{gap:7px}.movement-scope{margin-left:auto}.movement-filters{flex-basis:100%;width:100%}.movement-row{gap:9px;padding:10px}.movement-emblem{width:31px;height:31px}.movement-emblem .icon{width:19px;height:19px}.movement-top b{font-size:12px}.movement-top small{font-size:9px}.movement-route{font-size:11px}.movement-bottom small{font-size:9px}.movement-bottom strong{font-size:11px}.building-dialog-intro{grid-template-columns:90px 1fr;gap:8px}.building-dialog-intro .building-thumb{width:90px;height:80px}.building-dialog-intro p{font-size:11px}.building-dialog-price>.cost{gap:9px 13px}.building-dialog-price .cost-item{font-size:12px}.building-dialog-price .icon,.building-dialog-price .resource-portrait{width:21px;height:21px}.building-dialog-price>div:last-child small{margin-left:0}.construction-row b{font-size:16px}.construction-row>.building-thumb{width:66px}.dialog-head{padding:12px 15px}.dialog-head h2{font-size:20px}.dialog-body{padding:13px}.unit-card{grid-template-columns:64px minmax(0,1fr);gap:9px}.unit-card>.unit-portrait{width:64px;height:64px}.unit-card h3{font-size:17px}.unit-card small{font-size:10px}.unit-card .wide .cost{gap:5px}.unit-card .wide .cost-item small{display:none}}
@media(max-width:390px){.brand .crest{display:none}.brand .serif{font-size:15px}.hud-action{gap:4px;padding:5px 5px}.hud-action>.icon{width:15px;height:15px}.threat-indicator .threat-sigil{display:none}.city-scene-heading h1{font-size:21px}.city-chips .badge{font-size:8px}.dock-title>.icon{display:none}.dock-title{padding-right:6px}.dock-job{flex-basis:155px}}
@media(max-height:600px) and (max-width:999px){.brand .eyebrow{display:none}.city-scene-heading{min-height:37px}.city-scene-heading h1{font-size:18px}.city-scene-heading .section-label{display:none}.city-hint{display:none}.construction-dock{min-height:55px;padding:6px}.dock-idle small{display:none}.city-scene .scene-tag{display:none}}
.scene-mode .page-wrap{background:#183329}.city-scene-heading h1{color:#f4dfb2}.city-scene-heading .section-label{color:#aebd94}.world-viewport{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;height:100%;min-height:0;padding:14px}.world-scene-wrap{min-height:0;display:flex;flex-direction:column}.world-search{display:flex;gap:7px;margin:0 0 10px}.world-search input{flex:1;min-width:0;min-height:36px;background:#e4d7b6;font-size:12px}.world-search .button{min-height:36px;font-size:11px;padding:6px 10px}.world-search .square{width:36px;flex-shrink:0}.world-scene-wrap .map-scene{flex:1;min-height:0;border:1px solid #b99f65;border-radius:9px;overflow:hidden}.world-scene-wrap #map-canvas{height:100%!important;width:100%;display:block}.world-target-panel{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a0ab76 #264c35}.world-target-panel .paper{padding:14px;margin-bottom:12px}.world-target-panel .target-list{max-height:none}.world-target-panel h3{font-size:18px}.map-rules-button{position:absolute;bottom:12px;right:12px;background:#15392aca;color:#ddd5aa;border:1px solid #a6a05d80;border-radius:5px;padding:6px 8px;font-size:10px}.map-page>.incoming-banner{position:absolute;z-index:16;top:123px;right:20px;width:auto;max-width:310px;margin:0;padding:9px 13px}.map-page>.incoming-banner small{font-size:10px}.world-scene-wrap .scene-help{font-size:9px;max-width:60%;bottom:14px}.target-list button{min-height:39px}.target-list .icon{width:17px;height:17px;vertical-align:middle;margin-right:4px}#rally-form .form-actions{position:sticky;bottom:-14px;padding:10px 0;background:#ecdfc1;border-top:1px solid #c4b08a;z-index:3}
@media(min-width:1000px){.command-rail{gap:3px}.command-rail button{padding:3px}.command-rail button>span{width:33px;height:33px}.command-rail small{margin-top:3px}.command-rail .icon{width:21px;height:21px}}
@media(max-width:999px){.world-viewport{display:block;padding:8px}.world-scene-wrap{height:100%}.world-target-panel{display:none}.world-search{margin-bottom:8px;gap:5px}.world-search input{font-size:11px}.world-search .button{font-size:10px;padding:5px 8px}.world-search .icon{width:17px;height:17px}.map-page>.incoming-banner{display:none}.world-scene-wrap .map-scene{border-radius:6px}.world-scene-wrap .scene-help{font-size:8px;left:8px;bottom:9px;max-width:60%}.world-scene-wrap .scene-tag{font-size:9px;left:9px;top:10px;max-width:60%}.world-scene-wrap .scene-controls{top:10px;right:9px}.world-scene-wrap .scene-controls .square{width:29px;min-height:29px}.map-rules-button{right:8px;bottom:8px;font-size:9px;padding:5px 7px}}

@media(max-width:599px){.movement-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible;flex-basis:100%}.movement-filters button{padding:8px 3px;min-width:0;font-size:10px}.movement-toolbar{gap:4px}.movement-scope{margin-left:auto}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}

@media(max-width:599px){.construction-dock[data-count="2"] .dock-jobs{gap:5px}.construction-dock[data-count="2"] .dock-job{flex-basis:calc((100% - 5px)/2);padding:6px}.construction-dock[data-count="2"] .dock-job b{font-size:9px}.construction-dock[data-count="2"] .dock-job em{font-size:8px;margin-left:2px}.construction-dock[data-count="2"] .dock-job small{font-size:8px}}

#siege-target-field[hidden]{display:none!important}#siege-target-field small{font-size:11px;line-height:1.5;color:#81714f}
.building-benefits{margin:12px 0}.building-benefits h3{font-size:17px;margin-bottom:8px}.building-benefits table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.building-benefits th,.building-benefits td{padding:8px 6px;border-bottom:1px solid #c4b08a;white-space:normal;overflow-wrap:anywhere;text-align:left}.building-benefits thead th{font-size:10px;color:#74603d}.building-benefits th:first-child{width:44%;font-weight:500}.building-benefits .benefit-change{color:#36652d;font-weight:700;background:#527b2520}.building-function-notes{font-size:12px;line-height:1.6;color:#695838;margin:12px 0}.building-unlocks{margin:14px 0;border:1px solid #c4b08a;border-radius:6px;padding:10px}.building-unlocks summary{font-size:13px;font-weight:600;cursor:pointer}.building-unlocks ul{list-style:none;margin:10px 0 0;padding:0}.building-unlocks li{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid #c4b08a66;align-items:flex-start}.building-unlocks li:last-child{border:0}.building-unlocks li>div{min-width:0;flex:1}.building-unlocks b{font-size:12px}.building-unlocks small{display:block;font-size:10px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.building-unlocks .badge{white-space:nowrap;font-size:10px}.building-unlocks .muted,.building-benefits .muted{font-size:10px;line-height:1.5;margin-top:8px}.building-cta{position:sticky;bottom:-13px;padding:10px 0;background:#ecdfc1;border-top:1px solid #c4b08a;z-index:4}
@media(max-width:599px){.building-benefits table{font-size:10px}.building-benefits th,.building-benefits td{padding:7px 4px}.building-benefits thead th{font-size:9px}.building-benefits th:first-child{width:42%}.building-function-notes{font-size:11px}.building-benefits h3{font-size:16px}}
.city-scene-heading>div:first-child{min-width:0}.city-scene-heading h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.city-quests{color:#e2d2a7;background:#34482d;white-space:nowrap;border:1px solid #938354}.city-quests.quest-ready{background:#78632b;border-color:#d6b665;color:#fff0be}.city-quests span{font-size:10px}.quest-overview{margin-bottom:18px;background:linear-gradient(120deg,#f1e4c6,#ddcca3);border:1px solid #a68c58}.quest-overview-heading{display:flex;align-items:center;gap:13px}.quest-overview-heading>.icon{width:37px;height:37px;color:#846a33}.quest-overview h2{font-size:25px;margin:0}.quest-overview p{font-size:12px;line-height:1.5;margin-top:5px}.quest-progress{height:7px;background:#c3b18c;border-radius:5px;overflow:hidden;margin:9px 0 13px}.quest-progress i{display:block;height:100%;background:linear-gradient(90deg,#587942,#84a864)}.quest-next{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0 3px}.quest-next>div{min-width:0}.quest-next small{display:block;font-size:10px;color:#76623b;margin-bottom:4px}.quest-next b{font:20px Georgia,serif}.quest-next button{flex-shrink:0;font-size:12px}.quest-overview-note{color:#756445;font-size:10px!important;margin-top:12px!important}.quest-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.quest-filters .active{background:#355337;color:#fff0ca;border-color:#355337}.quests-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}.quest-card{min-width:0;padding:18px;border:1px solid #c2ac7c}.quest-card.ready{border-color:#a38a3d;box-shadow:0 0 0 2px #d7be6130}.quest-card.claimed{background:#ddd4bd}.quest-card-heading{display:flex;align-items:center;gap:11px}.quest-card-heading>div{min-width:0}.quest-card-heading h3{font-size:21px;margin:4px 0}.quest-card-heading .section-label{font-size:9px}.quest-art{width:55px!important;height:55px!important;flex:0 0 55px}.quest-status{display:flex;align-items:center;gap:5px;font-size:10px;color:#7c6b47}.quest-status .icon{width:13px;height:13px}.ready .quest-status{color:#8a631d}.claimed .quest-status{color:#4d6b37}.quest-goal{font-size:13px;line-height:1.6;margin:13px 0 11px}.quest-city{display:block;font-size:10px;color:#786747;margin-bottom:9px}.quest-progress-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;line-height:1.5}.quest-progress-label b{white-space:nowrap}.quest-parts{display:grid;grid-template-columns:1fr 1fr;gap:5px;font-size:10px;margin-bottom:12px}.quest-parts span{background:#cfbc963b;border:1px solid #c2ac7c;padding:6px;border-radius:4px}.quest-parts b{display:block;margin-top:3px}.quest-parts .complete{color:#436738;border-color:#8fa273}.quest-help{font-size:11px;color:#75613d;margin:9px 0}.quest-help summary{cursor:pointer}.quest-help p{font-size:11px;line-height:1.6;margin:8px 0}.quest-rewards{display:flex;gap:17px;flex-wrap:wrap;border-top:1px solid #c2ac7c;padding-top:11px;margin-top:12px}.quest-rewards>span{display:flex;gap:5px;align-items:center;font-size:11px}.quest-rewards .icon,.quest-rewards .resource-portrait{width:19px;height:19px}.quest-actions{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-top:14px}.quest-actions button{font-size:11px;min-width:0;flex:1;padding:8px}.quest-actions .icon{width:15px;height:15px}.quest-claimed,.quest-finished{display:flex;align-items:center;gap:6px;color:#456d36;font-size:12px}.quest-finished{margin:16px 0 7px}.quest-finished .icon{width:23px;height:23px}
@media(max-width:599px){.quests-list{grid-template-columns:1fr;gap:12px}.quest-card{padding:14px}.quest-card-heading h3{font-size:20px}.quest-overview{padding:15px}.quest-overview h2{font-size:22px}.quest-overview-heading>.icon{width:29px;height:29px}.quest-next{align-items:flex-start}.quest-next b{font-size:18px}.quest-next button{font-size:10px;padding:7px;max-width:135px}.quest-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.quest-filters button{font-size:11px;padding:8px}.quest-goal{font-size:12px}.city-quests span{font-size:8px}.city-quests{padding:4px!important;gap:3px!important}.city-quests .icon{width:12px!important;height:12px!important}}

/* Role-specific defenses and the simulator's weighted composition. */
.unit-defenses{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:9px}.unit-defenses>small{flex-basis:100%;color:#746448;font-size:10px}.unit-defenses>span{display:flex;gap:5px;align-items:center;background:#d9c79d4d;border:1px solid #c8b385;border-radius:4px;padding:4px 6px}.unit-defenses>span small{font-size:10px}.unit-defenses b{font-size:12px}.unit-role{display:block;color:#77643f;line-height:1.5;margin-top:8px}.battle-composition{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#d9c79d55;border:1px solid #c3ae7b;padding:12px;border-radius:6px;margin:12px 0}.battle-composition>small{flex-basis:100%;color:#77643f}.battle-composition>span{font-size:12px}.combat-values-table .unit-portrait{vertical-align:middle}.combat-values-table th{white-space:normal;min-width:75px}
@media(max-width:599px){.unit-defenses>span{padding:3px 4px;gap:3px}.unit-defenses>span small{font-size:9px}.unit-defenses b{font-size:11px}.battle-composition{gap:7px;padding:9px}.battle-composition>b{flex-basis:100%}}

/* Economy overview and passive budget planner. */
.economy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.economy-resource,.economy-population,.economy-planner{background:#faf3df88;border:1px solid #cbb887;border-radius:6px;padding:14px;margin-bottom:14px}.economy-resource h3{display:flex;align-items:center;gap:8px;font-size:17px}.economy-resource h3 .resource-icon{width:25px;height:25px}.economy-stockline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px}.economy-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0;font-size:12px}.economy-facts span{display:flex;flex-direction:column;gap:3px}.economy-facts b{font-size:14px}.economy-resource .progress{margin:10px 0}.economy-resource .badge{white-space:nowrap}.economy-shortages{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#8f4434}.economy-shortages>span{border:1px solid #cba08d;border-radius:4px;padding:6px}.economy-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}.economy-quote{margin-top:14px;overflow-wrap:anywhere}.economy-assumptions{font-size:12px;line-height:1.55;margin-top:18px}.economy-population small{color:#77643f}
@media(max-width:599px){.economy-grid{grid-template-columns:1fr;gap:0}.economy-resource,.economy-population,.economy-planner{padding:11px}.economy-fields{grid-template-columns:1fr}.economy-resource .flex{flex-wrap:nowrap}}

/* Whole-realm overview uses the game's parchment, heraldry and resource icons. */
.realm-entry{flex-shrink:0}.realm-intro,.realm-note,.realm-rights{font-size:11px;line-height:1.6}.realm-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:13px 0 9px}.realm-summary>span{border:1px solid #c3ae7c;border-radius:5px;padding:10px;background:#f5eacf}.realm-summary small{display:block;color:#786540;font-size:10px}.realm-summary b{display:flex;align-items:center;gap:5px;font:22px Georgia,serif;margin-top:6px}.realm-summary .icon,.realm-summary .resource-portrait{width:19px;height:19px}.realm-danger{color:#a1372d}.realm-tools{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:9px;margin:16px 0 8px}.realm-tools .field{margin:0;min-width:0;font-size:11px}.realm-tools input,.realm-tools select{width:100%;min-width:0;font-size:12px}.realm-results-label{font-size:11px;color:#77653f;margin:12px 0}.realm-cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.realm-card{min-width:0;padding:13px;background:linear-gradient(140deg,#f7efd9,#e2d0a9);border:1px solid #bea370;border-radius:7px}.realm-card.under-threat{border-color:#ac5a47;box-shadow:inset 0 3px #9c4036}.realm-city-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px}.realm-city-heading>div{flex:1;min-width:0}.realm-city-heading h3{font:22px Georgia,serif;margin:0;overflow-wrap:anywhere}.realm-city-heading small{display:block;color:#75603c;font-size:10px;line-height:1.5;margin-top:4px}.realm-city-heading button{flex-shrink:0;font-size:10px;padding:6px}.realm-crest{background:var(--realm-color);color:#f2db9c;display:grid;place-items:center;width:36px;height:43px;flex:0 0 36px;clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%)}.realm-crest .icon{width:25px;height:25px}.realm-alert{display:flex;align-items:center;gap:7px;margin:6px 0;padding:8px;background:#ae87231a;border:1px solid #c3a462;border-radius:4px;font-size:11px;line-height:1.5}.realm-alert.danger{background:#a23d2914;border-color:#b47564;color:#873628}.realm-alert>span{flex:1;min-width:0}.realm-alert small{display:block;font-size:10px}.realm-alert button{flex-shrink:0;font-size:10px;padding:5px}.realm-alert>.icon{width:21px;height:21px;flex:0 0 21px}.realm-stocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.realm-stocks>div{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-width:0}.realm-stocks .resource-portrait{width:24px;height:24px;flex-shrink:0}.realm-stocks>div>span:not(.resource-portrait){min-width:0;flex:1}.realm-stocks b{display:block;font-size:14px}.realm-stocks small{display:block;color:#75603c;font-size:9px;line-height:1.5}.realm-meter{height:4px;flex-basis:100%;background:#cbb98f;border-radius:3px;overflow:hidden;display:block}.realm-meter>i{height:100%;display:block;background:#6d823f}.realm-population{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.6}.realm-population .icon{width:18px;height:18px;flex-shrink:0}.realm-supports{font-size:10px;line-height:1.5;color:#786540;margin:7px 0 13px}.realm-jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid #c5ad7d;padding:10px 0}.realm-jobs>div{min-width:0}.realm-jobs small{display:block;color:#79633d;font-size:9px}.realm-jobs b{display:block;font-size:11px;line-height:1.5;overflow-wrap:anywhere;margin-top:3px}.realm-jobs>div>span{font-size:10px;color:#53643d}.realm-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px}.realm-actions button{padding:8px 3px;font-size:10px;min-width:0;min-height:36px}.realm-actions .icon{width:14px;height:14px}.realm-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:16px 0;font-size:12px}.realm-note{margin-top:18px}
@media(max-width:599px){.realm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.realm-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.realm-tools>.field:first-child{grid-column:1/-1}.realm-cities{grid-template-columns:1fr}.realm-card{padding:11px}.realm-city-heading h3{font-size:21px}.realm-entry{width:25px!important;min-height:26px!important;padding:3px!important}.realm-entry .icon{width:17px;height:17px}.realm-summary b{font-size:21px}}

dialog[data-live-panel="realm"]{width:min(1000px,calc(100vw - 34px));max-width:1000px}

/* Home troops stay visible on both scene screens and in expedition orders. */
.garrison-strip{display:flex;align-items:center;gap:9px;flex:0 0 auto;min-width:0;min-height:53px;margin:0 0 9px;padding:5px 8px;border:1px solid #8a8255;border-radius:6px;background:linear-gradient(120deg,#20372b,#13281f);color:#efddaf}.garrison-heading{flex:0 0 112px;min-width:0;padding:3px 6px 3px 0;background:none;border:0;text-align:left;color:#f1deb5}.garrison-heading b{display:block;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:14px Georgia,serif}.garrison-heading small{display:block;margin-top:4px;font-size:9px;color:#bdc69e;white-space:nowrap}.garrison-units{display:flex;align-items:center;gap:5px;min-width:0;flex:1;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b49a59 #243d2b;padding:1px 0 4px}.garrison-unit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 auto;min-width:38px;padding:2px 4px;color:#f7e7bd;border:1px solid #64754e;background:#2a4132;border-radius:4px;min-height:42px}.garrison-unit .unit-portrait{width:27px!important;height:27px!important;flex:0 0 auto}.garrison-unit b{font-size:10px;line-height:1.1;font-variant-numeric:tabular-nums}.garrison-unit:hover,.garrison-heading:hover{background:#40573a}.garrison-empty{font-size:11px;line-height:1.4;color:#c4c7ad;padding:4px}.garrison-extra{display:flex;align-items:center;gap:5px;flex:0 0 auto;min-height:40px;padding:5px 7px;border:1px solid #77918e;border-radius:4px;background:#29403c;color:#dce9db}.garrison-extra .icon{width:19px;height:19px}.garrison-extra span{font-size:9px}.garrison-extra b{display:block;margin-top:2px;font-size:11px}.garrison-extra.wounded{background:#513b2b;border-color:#ad885a;color:#ebd5b0}.garrison-detail-group{margin:15px 0;padding:11px;background:#efe2bf;border:1px solid #c4ab75;border-radius:5px}.garrison-detail-group h3{font-size:17px;margin-bottom:10px}.garrison-detail-group p{font-size:11px;margin-top:10px}#rally-form .garrison-strip{margin:12px 0}
@media(max-width:599px){.garrison-strip{min-height:51px;padding:4px 6px;gap:5px;margin-bottom:7px}.garrison-heading{flex-basis:85px}.garrison-heading b{font-size:12px;max-width:85px}.garrison-heading small{font-size:8px}.garrison-unit{min-width:36px;padding:2px 3px}.garrison-units{gap:4px}.garrison-empty{font-size:10px}.garrison-extra{padding:4px}.garrison-extra .icon{width:15px;height:15px}}
@media(max-height:600px) and (max-width:999px){.garrison-strip{min-height:37px;padding:2px 5px;margin-bottom:4px}.garrison-units{padding:0}.garrison-unit{flex-direction:row;min-height:29px;padding:2px 4px}.garrison-unit .unit-portrait{width:21px!important;height:21px!important}.garrison-heading b{font-size:10px}.garrison-heading small{font-size:7px;margin-top:2px}.garrison-extra{min-height:29px}.garrison-extra b{display:inline;margin:0 0 0 3px}}
@media(max-height:600px) and (min-width:600px) and (max-width:999px){:root{--bottom-nav:42px}.nav-bottom button{flex-direction:row;gap:5px;font-size:9px;min-height:0;padding:4px}.nav-bottom .icon{width:19px;height:19px}.city-scene-heading{min-height:22px;padding-bottom:4px}.city-scene-heading h1{font-size:16px;margin-top:0}}

@media(max-width:599px){.nav-bottom button{font-size:9px;padding-left:1px;padding-right:1px}.nav-bottom button>span{white-space:nowrap;max-width:100%}}

/* Account lobby and world selection. */
.auth-tabs{display:flex;gap:8px;margin-bottom:20px}.auth-tabs>*{flex:1}.account-paper{width:100%;min-width:0}.server-address{margin-top:18px}.server-address summary{cursor:pointer;color:var(--muted)}.server-address .field{margin-top:12px}.world-list{display:grid;gap:14px;margin:20px 0}.world-card{padding:16px;border:1px solid #aa875e55;border-radius:8px;background:#fff8e8aa}.world-card h3{margin:0;font-size:20px}.world-card button{width:100%}.world-facts{display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.world-facts span{padding:4px 8px;border-radius:4px;background:#ddd1b2}.account-welcome .intro{min-width:0}.account-welcome input{max-width:100%}@media(max-width:700px){.account-welcome{padding:65px 16px 24px!important;display:block!important}.account-welcome .intro{margin-bottom:25px}.account-welcome .intro h1{font-size:36px}} 

/* Compact language control on login and game screens. */
.welcome-music{display:flex;align-items:center;gap:8px}.language-button{font-family:system-ui,sans-serif;font-size:12px;font-weight:700;letter-spacing:.04em;min-width:40px}.language-settings{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #b19b6544}.language-settings .actions{display:flex;gap:8px;flex-wrap:wrap}
.welcome-music .language-button{color:#eee3c7;border:1px solid #bda56c;background:#233023dd}
@media(min-width:1000px){.topbar{grid-template-columns:190px minmax(160px,260px) minmax(330px,1fr) 36px 40px 36px}.topbar>.language-button{grid-column:5;grid-row:1}.topbar>.music-button{grid-column:6;grid-row:1}}
@media(max-width:999px){.topbar{grid-template-columns:minmax(80px,1fr) minmax(110px,1.2fr) 28px 28px 28px;gap:5px;padding-left:8px;padding-right:8px}.topbar>.language-button{grid-column:4;grid-row:1;width:28px;min-width:28px;min-height:31px;padding:3px;font-size:10px}.topbar>.music-button{grid-column:5;grid-row:1;width:28px;min-width:28px;padding:3px}.topbar .city-switch{grid-column:2;grid-row:1}.topbar>.square[data-do=menu]{grid-column:3;grid-row:1;width:28px;padding:3px}}

/* Account settings, preset portraits and a persistent sideways construction drawer. */
.settings-entry{margin-left:auto}.profile-settings{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #b39b6838}.profile-heading{display:flex;gap:16px;align-items:center}.profile-heading .unit-portrait{width:72px;height:80px;border:1px solid #bba16a;border-radius:12px}.profile-heading h3{margin:0 0 6px}.profile-heading p{margin:0;font-size:12px;color:#728574}.avatar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.avatar-choice{padding:4px;border:1px solid #8b9863;background:#1e392e;border-radius:8px;min-height:56px}.avatar-choice .unit-portrait{width:100%;height:60px}.avatar-choice.selected{border:2px solid #d8b66b;box-shadow:0 0 0 2px #d8b66b30}.avatar-choice:focus-visible{outline:3px solid #e1c484;outline-offset:2px}.profile-settings input[name=code]{text-transform:uppercase}
.construction-dock{transition:transform .25s ease;--dock-handle:40px;left:46px;overflow:visible}.dock-collapse{position:absolute;left:-40px;top:0;bottom:0;width:40px;border:1px solid #b39965;border-radius:8px 0 0 8px;background:#203b2ef5;color:#eedbb2;font-size:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}.dock-collapse span{font:11px system-ui;color:#d8bc83}.construction-dock.is-collapsed{transform:translateX(calc(100% + 12px));pointer-events:none}.construction-dock.is-collapsed .dock-collapse{pointer-events:auto}.construction-dock.is-collapsed .dock-jobs,.construction-dock.is-collapsed .dock-title,.construction-dock.is-collapsed .dock-add{visibility:hidden}.city-scene{overflow:hidden}
@media(max-width:999px){.topbar{grid-template-columns:minmax(90px,1fr) minmax(118px,1.2fr) 30px 30px}.topbar>.settings-entry{grid-column:4;grid-row:1}.topbar>.music-button,.topbar>.language-button{display:none}.construction-dock{left:46px;right:12px}.welcome-music .settings-entry{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.construction-dock{transition:none}}
/* First-session guidance, city naming and readable faction selection. */
.city-name-heading{display:flex;align-items:center;gap:7px;overflow-wrap:anywhere}.rename-city{flex-shrink:0;width:28px;min-width:28px;padding:4px}.city-name-heading .rename-city{color:#dec790}.city-switch{min-width:0}.city-picker{min-width:0}.faction-options:has(.faction-detail){display:grid;grid-template-columns:1fr;gap:12px}.faction-detail{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:14px;cursor:pointer}.faction-detail:has(input:checked){border-color:#9a7031;background:#eaddbd;box-shadow:inset 0 0 0 1px #9a7031}.faction-detail input{flex-shrink:0;margin-top:11px}.faction-detail-copy{display:flex;flex-direction:column;gap:8px;min-width:0}.faction-detail-heading{display:flex;align-items:center;gap:10px}.faction-detail-heading .crest{width:30px;height:35px;flex-shrink:0}.faction-detail-heading strong{font-size:17px}.faction-bonus{font-size:13px;font-weight:700;color:#3c6040}.faction-elite{display:flex;align-items:center;gap:10px;font-size:13px}.faction-strength,.faction-weakness{display:block;font-size:12px;line-height:1.6;white-space:normal}.faction-detail small{font-size:11px;line-height:1.5;white-space:normal}.tutorial-settings{padding:14px 0;border-bottom:1px solid #c9b78e;margin-bottom:14px}.tutorial-highlight{outline:3px solid #edbf62!important;outline-offset:-3px;box-shadow:0 0 18px #edbf6266!important}.tutorial-coach{position:fixed;z-index:80;right:16px;bottom:calc(var(--bottom-nav,0px) + 12px + env(safe-area-inset-bottom));width:min(390px,calc(100vw - 24px));max-height:48dvh;overflow:auto;padding:14px 16px;border:1px solid #d3ad68;border-radius:12px;background:linear-gradient(135deg,#f7edda,#e9d9b5);box-shadow:0 6px 28px #0007;color:#30271b;text-align:left}.tutorial-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.tutorial-heading>span{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tutorial-coach h3{font-size:19px;margin:7px 0}.tutorial-coach p{font-size:12px;line-height:1.55;margin:0 0 10px}.tutorial-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tutorial-coach button{min-height:36px}.tutorial-coach .ghost{color:#72552b}.tutorial-coach .icon{width:18px;height:18px}dialog>.tutorial-coach{position:relative;bottom:auto;right:auto;width:100%;max-height:none;margin:0 0 12px;border-radius:8px;box-shadow:0 -3px 12px #0002}.tutorial-coach button:focus-visible{outline:3px solid #a57527;outline-offset:2px}@media(max-width:599px){.tutorial-coach{right:12px;padding:11px 13px}.tutorial-coach h3{font-size:17px}.faction-detail{padding:12px}.city-switch{gap:2px}.city-switch .square{width:24px;min-width:24px;padding:3px}.city-name-heading{font-size:20px}}

/* Direct report access, including the mobile bottom navigation. */
.topbar-actions{display:flex;align-items:center;gap:6px;grid-row:1;min-width:0}
.topbar-actions>.square{width:32px;min-height:32px;padding:5px}
.report-shortcut{position:relative;display:flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid #c8ad72;border-radius:5px;background:#4c5133;color:#ffedc3;font-size:12px;font-weight:700}
.report-shortcut .icon{width:19px;height:19px}.report-shortcut.active{background:#687047}
.report-unread{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border-radius:9px;background:#b84b3a;color:#fff7df;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}
.report-unread[hidden]{display:none!important}.command-rail [data-go="reports"]{position:relative}.command-rail .report-unread{position:absolute;top:3px;right:5px}
.report.unread{border-left:4px solid #a63f30;background:#fff1d7}.report.unread strong{color:#773829}
@media(min-width:1000px){.topbar{grid-template-columns:minmax(150px,190px) minmax(150px,240px) minmax(260px,1fr) auto}.topbar-actions{grid-column:4}.topbar .brand{grid-column:1;grid-row:1}.topbar .city-switch{grid-column:2;grid-row:1}}
@media(max-width:999px){.topbar{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) 98px}.topbar .brand{grid-column:1;grid-row:1}.topbar .city-switch{grid-column:2;grid-row:1;min-width:0}.topbar .city-picker{min-width:0;max-width:none;width:100%;flex:1}.topbar-actions{grid-column:3;gap:3px}.topbar-actions>.square,.report-shortcut{width:30px;min-height:30px;padding:4px;justify-content:center}.report-shortcut>span:not(.report-unread){display:none}.report-shortcut .report-unread{position:absolute;top:-5px;right:-4px}.topbar .resourcebar{grid-column:1/-1;grid-row:2}.topbar .brand .serif{font-size:14px}}
@media(max-width:599px){.topbar{grid-template-columns:minmax(0,1fr) 98px}.topbar-actions{grid-column:2}.topbar .city-switch{grid-column:1/-1;grid-row:2}.topbar .resourcebar{grid-row:3}.topbar .brand .eyebrow{letter-spacing:0;font-size:7px}}
@media(max-width:359px){.topbar{grid-template-columns:minmax(0,1fr) 98px}.topbar-actions{grid-column:2}.topbar .city-switch{grid-column:1/-1;grid-row:2}.topbar .resourcebar{grid-row:3}}

/* Before-battle headcount with losses directly beneath each side. */
.battle-armies{margin:17px 0}.battle-army-legend{font-size:11px;color:#766142;margin-bottom:8px}
.battle-army-table{width:100%;table-layout:fixed;border-collapse:collapse}.battle-army-table th,.battle-army-table td{padding:10px 7px;border-bottom:1px solid #c8b180;white-space:normal;overflow-wrap:anywhere;vertical-align:top;text-align:center}
.battle-army-table th:first-child{width:40%;text-align:left}.battle-army-table thead th{font-size:12px}.battle-army-table tbody th{font-size:12px;font-weight:500}.battle-army-table .table-unit{display:flex;align-items:center;gap:7px}.battle-army-table .table-unit>span:last-child{min-width:0}
.battle-army-count{display:block;font-size:21px;line-height:1.2;font-variant-numeric:tabular-nums}.battle-army-dead{display:block;margin-top:5px;color:#b02e24;font-weight:750;font-size:17px;font-variant-numeric:tabular-nums}.battle-army-dead small{display:block;font-size:10px;font-weight:600}.battle-army-dead.no-loss{color:#667254;font-size:13px}
.battle-army-wounded{display:block;color:#956321;font-size:12px;margin-top:5px}.battle-army-survivors{display:block;color:#617144;font-size:10px;line-height:1.3;margin-top:5px}
@media(max-width:599px){.battle-army-table th,.battle-army-table td{padding:8px 4px}.battle-army-table .table-unit{flex-direction:column;align-items:flex-start;gap:4px}.battle-army-table th:first-child{width:38%}.battle-army-count{font-size:19px}.battle-army-dead{font-size:16px}}

/* Unpublished 0.2.32 refinements: inbox categories and direct construction. */
.construction-list .construction-row{display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:14px 0;cursor:default}
.construction-preview{padding:0;border:0;background:none;min-width:0;border-radius:5px}
.construction-preview .building-thumb{width:66px;height:66px}
.construction-copy{min-width:0}.construction-copy b{overflow-wrap:anywhere}.construction-copy small{overflow-wrap:anywhere}
.construction-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.construction-actions button{min-height:34px;padding:5px 9px;font-size:11px;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}
.construction-actions .icon{width:16px;height:16px}.construction-actions .construction-upgrade:disabled{opacity:1;background:#d3c6a6;border-color:#b7a67d;color:#776c54}
.construction-cost{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:2px 0 0}
.construction-cost>span{display:grid;grid-template-columns:20px minmax(0,1fr);gap:0 5px;align-items:center;padding:6px;background:#e8ddc3;border:1px solid #cab992;border-radius:5px;color:#3e4630;min-width:0}
.construction-cost .icon{width:20px;height:20px;grid-row:1/3}.construction-cost b{font:700 12px system-ui;font-variant-numeric:tabular-nums;white-space:nowrap}
.construction-cost small{font-size:9px;line-height:1.2;margin:1px 0 0;color:inherit;overflow-wrap:anywhere}
.construction-cost .resource-portrait{grid-row:1/3;width:20px;height:20px}.construction-cost b,.construction-cost small{grid-column:2}.construction-cost small{overflow-wrap:normal}
.construction-cost .missing{color:#b02e24;background:#f4dfd0;border-color:#d9a498}.construction-cost .missing b,.construction-cost .missing small{color:#b02e24}
.construction-blocked{grid-column:1/-1;margin:0;color:#796c50;font-size:11px;line-height:1.4}
.inbox-tabs{display:flex;gap:6px;border-bottom:1px solid #c4b085;padding-bottom:12px;margin-bottom:10px;flex-wrap:wrap}
.inbox-tabs>button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 12px;background:#e5d7b8;border:1px solid #c4b085;border-radius:5px;color:#65563c;font-size:13px}
.inbox-tabs>button.active{background:#304b35;border-color:#60764d;color:#f2e1b8}.inbox-tabs .icon{width:19px;height:19px}.inbox-tabs small{color:inherit;opacity:.75;font-size:11px}
.inbox-tabs .report-unread{margin-left:2px}.inbox-player-actions{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:12px 0;flex-wrap:wrap}.inbox-player-actions p{margin:0;flex:1;min-width:180px;font-size:12px}
.inbox .report{min-width:0;width:100%;text-align:left}.inbox .report>div{min-width:0}.inbox .report strong,.inbox .report small{overflow-wrap:anywhere}.player-message-text{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:599px){.construction-list .construction-row{grid-template-columns:54px minmax(0,1fr) auto;gap:7px 9px}.construction-preview .building-thumb{width:54px;height:60px}.construction-copy b{font-size:16px}.construction-actions button{font-size:10px;min-height:36px;padding:5px 6px}.construction-cost{gap:4px}.construction-cost>span{grid-template-columns:16px minmax(0,1fr);gap:0 3px;padding:5px 4px}.construction-cost .icon{width:16px;height:18px}.construction-cost b{font-size:11px}.construction-cost small{font-size:8px}.inbox-tabs>button{flex:1;padding:7px 8px;font-size:12px;gap:5px}.inbox-tabs>button:first-child{flex-basis:100%}.inbox .report{position:relative;padding-bottom:24px}.inbox .report time{position:absolute;right:8px;bottom:5px;font-size:10px}}
@media(max-width:359px){.construction-cost{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-cost>span{grid-template-columns:20px minmax(0,1fr);padding:5px 7px}.construction-cost .icon{width:20px;height:20px}.construction-cost b{font-size:12px}.construction-cost small{font-size:9px}}
@media(min-width:360px) and (max-width:599px){.construction-cost .resource-portrait{width:16px;height:18px}}
.changelog-settings{margin:18px 0;padding-top:16px;border-top:1px solid #c8b891}.changelog-settings p{font-size:12px}.changelog-intro{margin:0 0 15px}.changelog-intro p{margin:10px 0;font-size:12px;line-height:1.5}.release-list{display:grid;gap:10px}.release-notes{border:1px solid #c8b58d;border-radius:6px;background:#f8efdc}.release-notes summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:13px 14px;min-height:46px}.release-notes summary strong{font:20px Georgia}.release-notes summary::after{content:'+';font-size:20px}.release-notes[open] summary::after{content:'−'}.release-status{margin-left:auto;font-size:10px;padding:4px 7px;border-radius:4px;background:#e1d7bc;color:#6c6049}.release-status.planned{background:#e2e7cd;color:#3b5534}.release-notes ul{margin:0;padding:0 20px 15px 33px;line-height:1.6;font-size:13px}.release-notes li+li{margin-top:7px}.release-notes li{overflow-wrap:anywhere}
.quest-resource-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:13px 0 0}.quest-resource-rewards>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:0 7px;min-width:0;padding:7px 9px;background:#e6dabf;border:1px solid #c4ad80;border-radius:5px}.quest-resource-rewards .resource-portrait{grid-row:1/3;width:24px;height:24px}.quest-resource-rewards b{grid-column:2;font-size:13px;font-variant-numeric:tabular-nums}.quest-resource-rewards small{grid-column:2;font-size:10px}.quest-reward-blocked{color:#a13e31;font-size:11px;line-height:1.5;margin:10px 0 0}.quest-reward-city{font-size:12px;line-height:1.5;margin:10px 0}.quest-card .quest-rewards{margin-top:8px}

.release-status.current{color:#315f3b;background:#e5ecdd;border-color:#91a878}

/* More room for the city, readable quest rewards and compact stocks. */
.city-scene-heading{min-height:38px;padding:0 2px 5px;gap:6px}
.city-scene-heading .section-label{white-space:nowrap;font-size:9px}
.city-scene-heading .city-chips{align-items:center;gap:5px;flex-wrap:wrap}
button.city-quests{display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 10px!important;gap:6px!important;border-width:2px;font-weight:700}
button.city-quests span{font-size:12px}
button.city-quests .icon{width:18px!important;height:18px!important}
button.city-quests.quest-ready{background:linear-gradient(#527d43,#355d30);border-color:#aad283;color:#f8ffe9;box-shadow:0 0 0 2px #b9dc7940,0 2px 7px #091b1d66}
.quest-ready-count{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#ebf3c4;color:#264e25;font-size:12px}
.quest-card.ready{border:2px solid #608546;background:linear-gradient(135deg,#f5f0d5,#e6edd3);box-shadow:0 0 0 2px #7daa4520}
.quest-card.ready .quest-status{display:inline-flex;color:#f6ffe5;background:#466f38;border:1px solid #345c2d;border-radius:5px;padding:6px 8px;font-size:12px;font-weight:700;line-height:1.5}
.quest-card.ready .quest-status .icon{width:18px;height:18px;flex-shrink:0}
.quest-card.ready .quest-progress i{background:linear-gradient(90deg,#4b813c,#8ebd5e)}
.quest-actions .quest-claim,.quest-next .primary{background:linear-gradient(#527d43,#355d30);border-color:#426b34;color:#fff9d8;min-height:44px;padding:10px 12px;font-size:13px;font-weight:700}
.quest-actions .quest-claim .icon{width:18px;height:18px}
.quest-actions{flex-wrap:wrap}.quest-actions button{min-height:40px}
.inbox-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px;gap:8px}
.inbox-toolbar button{min-height:40px;font-size:12px;white-space:normal}
#resources{padding:2px 4px;gap:3px}
#resources .resource{height:22px;min-height:22px;flex-direction:row;gap:3px;padding:1px 2px 3px}
#resources .header-resource{width:12px;height:12px;border-radius:2px}
#resources .resource b{font-size:11px;line-height:1.2;letter-spacing:-.2px}
#resources .stock-meter{bottom:0;height:1px}
#resources .premium-wallet{height:24px;padding:0 2px;min-width:0}
#resources .premium-wallet .resource{height:20px;min-height:20px;padding:0 1px;gap:3px}
#resources .premium-add{height:20px;min-height:20px;width:20px;padding:0;font-size:16px}
.portrait.commander-portrait{display:block;width:86px;height:86px;background-color:#3c3928;background-size:300% 200%;background-repeat:no-repeat;background-position:var(--commander-x) var(--commander-y);border-radius:8px}
.commander-head>div{min-width:0}.commander-head h3{overflow-wrap:anywhere}
.commander-production{border:1px solid #bcb292;border-radius:6px;padding:10px;margin:10px 0;background:#e6dfca}
.commander-production b{display:block;font-size:13px}.commander-production small{display:block;margin-top:5px;font-size:11px;line-height:1.5}
.commander-production.active{color:#31592b;background:#e4eccf;border-color:#91ac74}
.commander-production.paused{color:#76684d}
@media(max-width:599px){
 .city-scene-heading{min-height:38px;padding-bottom:5px;flex-wrap:wrap}
 .city-scene-heading .section-label{font-size:8px}.city-scene-heading .city-chips{gap:4px;margin-left:auto}
 #resources .resource b{font-size:10px}
 .quest-next{flex-wrap:wrap}.quest-next button{font-size:12px;max-width:none;min-height:44px}
 .portrait.commander-portrait{width:74px;height:74px}.commander-head{gap:11px}
 .inbox-toolbar{justify-content:stretch}.inbox-toolbar button{width:100%}
}
@media(max-width:359px){button.city-quests{padding:6px 7px!important;gap:4px!important}.city-scene-heading .city-chips .badge{font-size:8px}.quest-actions{display:grid;grid-template-columns:1fr}.quest-actions button{width:100%}}

/* Alliance discussions, member roster and combat experience. */
.commander-experience{padding:12px;background:#e9e0c9;border:1px solid #c6b68f;border-radius:7px;margin:12px 0}
.commander-experience .flex{gap:8px;font:11px system-ui}.commander-experience .progress{margin:9px 0;height:8px}
.commander-experience p{margin:8px 0 5px;font-size:12px;line-height:1.5}.commander-experience small{font-size:11px;line-height:1.5;display:block}
.commander-hire-reason{font-size:12px;color:#805337;line-height:1.5;margin:8px 0 0}
.commander-head+.muted{line-height:1.5}
.forum-unread{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:10px;background:#c85935;color:#fff8e5;font:700 10px system-ui;box-shadow:0 0 0 2px #ead6a6}
.forum-unread[hidden],.forum-new-badge[hidden]{display:none!important}
.nav-bottom [data-alliance-unread]{position:absolute;top:4px;right:6px}
.nav-bottom button.has-forum-unread{color:#ffe9a7;background:#556546;box-shadow:inset 0 3px #e8b14f}
.nav-bottom button.has-forum-unread>.icon{filter:drop-shadow(0 0 4px #ffe07b80)}
.command-rail button.has-forum-unread{background:#485e3c;color:#ffdf93;border-radius:7px;box-shadow:inset 3px 0 #d1a04e}
.command-rail [data-alliance-unread]{position:absolute;right:10px;top:3px}
.alliance-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;position:relative}
.alliance-tabs .has-forum-unread{border-color:#bc8a3d;background:#f0ddb0;color:#4b452f}
.alliance-roster-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.alliance-roster-heading h2{margin:6px 0 0}.alliance-roster-wrap{width:100%;min-width:0;border:1px solid #c7b68d;border-radius:8px;overflow:hidden;margin-bottom:20px}
table.alliance-roster{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;margin:0}
.alliance-roster th{background:#344b39;color:#f7e8bd;text-align:left;font:600 11px system-ui;padding:12px 10px;border-bottom:2px solid #b49a61;white-space:normal}
.alliance-roster td{padding:13px 10px;border-bottom:1px solid #d2c4a5;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;font-size:12px}
.alliance-roster tr:nth-child(even){background:#eae2cd}.alliance-roster tr:last-child td{border-bottom:0}
.alliance-roster th:first-child{width:29%}.alliance-roster th:nth-child(2){width:21%}.alliance-roster th:nth-child(3){width:13%}.alliance-roster th:nth-child(4){width:9%}.alliance-roster th:last-child{width:28%}
.roster-player>.unit-portrait{display:inline-block;vertical-align:middle;width:36px;height:42px;margin-right:7px;flex-shrink:0}
.roster-player>div{display:inline-block;vertical-align:middle;max-width:calc(100% -48px)}
.roster-player button{padding:0;background:none;border:0;box-shadow:none;text-align:left;font-size:13px;font-weight:700;min-height:30px;color:#334e38}
.roster-player small,.roster-rank small{display:block;font-size:10px;margin-top:3px;color:#776b51}
.roster-rank .badge{font-size:10px;white-space:normal}.roster-points b{font:700 13px system-ui;font-variant-numeric:tabular-nums}
.roster-actions .actions{display:flex;flex-wrap:wrap;gap:5px;margin:0}.roster-actions button{font-size:10px;padding:7px;white-space:normal;min-height:34px}
.forum-board-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}.forum-board-heading>div:nth-child(2){min-width:0;flex:1}.forum-board-heading h2{margin:5px 0 0;font-size:25px}
.forum-board-emblem{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border:1px solid #a3905f;background:#344b39;border-radius:10px;color:#efdb9e}.forum-board-emblem .icon{width:26px;height:26px}
.forum-board>.muted,.forum-create-panel>.muted{font-size:12px;line-height:1.6}
.forum-filters{display:flex;gap:7px;margin:18px 0 14px;flex-wrap:wrap}.forum-filters button{font-size:12px;padding:9px 11px;min-height:39px;display:flex;align-items:center;gap:7px}
.forum-filters .active{background:#344b39;color:#fff3cd;border-color:#344b39}.forum-filters b{background:#ffffff25;padding:2px 6px;border-radius:10px;font:700 10px system-ui}
.forum-thread-list{display:grid;gap:10px}.forum-thread-row{padding:15px 12px;gap:12px;border:1px solid #c9b995;border-radius:8px;background:#f3ecd9;align-items:center;transition:background .15s}
.forum-thread-row:hover{background:#eae2ca}.forum-thread-row.unread{border-color:#ac8c42;background:#f4e7bf;box-shadow:inset 4px 0 #ba923e}
.forum-topic-icon{display:grid;place-items:center;width:37px;height:42px;flex-shrink:0;background:#e2d6b7;border-radius:7px;color:#637049}.forum-topic-icon .icon{width:22px;height:22px}
.unread .forum-topic-icon{background:#435d3c;color:#f5e3a6}.forum-topic-copy{min-width:0;flex:1}.forum-topic-copy strong{font-size:17px;line-height:1.35}.forum-topic-copy small{font-size:10px;line-height:1.5;overflow-wrap:anywhere;margin-top:7px}
.forum-topic-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.forum-topic-tags:empty{display:none}.forum-topic-tags i{font:10px system-ui;font-style:normal;color:#796540;background:#e4d8b8;padding:3px 6px;border-radius:4px}
.forum-new-badge{background:#486c3c;color:#fff3c5;padding:3px 6px;border-radius:4px;font:700 10px system-ui;white-space:nowrap}
.forum-topic-replies{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:48px;border-left:1px solid #cfbf96;padding-left:9px}.forum-topic-replies b{font:700 18px Georgia;color:#4b583b}.forum-topic-replies small{font:9px system-ui;margin-top:4px}
.forum-create-heading{display:flex;align-items:center;gap:9px}.forum-create-heading .icon{width:24px;height:24px;color:#546440}.forum-create-heading h3{margin:0;font-size:23px}
.forum-thread-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.forum-thread-toolbar>button{display:flex;align-items:center;gap:7px;min-height:38px}
.forum-moderation{border:1px solid #c5b58f;border-radius:6px;padding:9px;font-size:11px;max-width:100%}.forum-moderation summary{cursor:pointer}.forum-moderation .actions{flex-wrap:wrap;margin-top:9px;gap:6px}
.forum-thread-heading{padding:21px 0 18px;border-bottom:2px solid #b7a475;margin-bottom:17px}.forum-thread-heading h2{margin:8px 0;font-size:27px}.forum-thread-heading p{font-size:11px;line-height:1.5;color:#776b54}.forum-thread-heading .badge+.badge{margin-left:5px}
.forum-posts{display:grid;gap:12px}.forum-posts .forum-post{padding:16px;border:1px solid #cabc9e;border-radius:8px;background:#f5efdd}.forum-posts .forum-post.own-post{background:#e9ecdb;border-color:#b6c09b}
.forum-post-meta{gap:10px;align-items:center}.forum-post-meta>div{min-width:0;flex:1}.forum-post-meta .unit-portrait{width:35px;height:42px;flex-shrink:0}.forum-post-meta button{padding:0;border:0;background:none;box-shadow:none;font-weight:700;font-size:13px;min-height:25px;text-align:left;white-space:normal}.forum-post-meta small{display:block;font-size:10px;line-height:1.5}
.forum-post-number{font:11px system-ui;color:#9b8b69}.forum-post-text{font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.forum-posts .actions button{font-size:10px;min-height:30px;padding:6px 9px}.forum-reply-heading{margin-top:25px}.forum-reply-heading h3{margin-bottom:7px}.forum-reply-heading p{font-size:12px}
@media(max-width:700px){
 .alliance-roster thead{display:none}.alliance-roster,.alliance-roster tbody{display:block}.alliance-roster tr{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'player player' 'rank rank' 'points cities' 'actions actions';padding:13px;gap:9px;border-bottom:1px solid #c7b68d}
 .alliance-roster tr:last-child{border-bottom:0}.alliance-roster td{display:block;padding:0;border:0!important}.alliance-roster td::before{content:attr(data-label);display:block;font:10px system-ui;color:#807456;margin-bottom:5px}
 .alliance-roster .roster-player{grid-area:player;display:flex;align-items:center;gap:8px}.alliance-roster .roster-player::before{display:none}.roster-player>.unit-portrait{margin:0}.roster-player>div{max-width:calc(100% -44px)}
 .roster-rank{grid-area:rank}.roster-rank::before{display:none!important}.roster-points{grid-area:points;background:#e2dac3;border-radius:5px;padding:7px 10px!important}.roster-cities{grid-area:cities;background:#e2dac3;border-radius:5px;padding:7px 10px!important}
 .roster-actions{grid-area:actions}.roster-actions:has(.actions:empty){display:none}.roster-actions::before{display:none!important}.roster-actions button{min-height:36px;font-size:11px}
 .forum-thread-row{gap:8px;padding:13px 9px}.forum-topic-icon{width:30px;height:36px}.forum-topic-copy strong{font-size:16px}.forum-topic-replies{width:42px;padding-left:7px}
 .forum-board-heading{gap:9px}.forum-board-heading h2{font-size:23px}.forum-board-emblem{width:40px;height:40px}.forum-thread-heading h2{font-size:25px}
 .forum-posts .forum-post{padding:13px}.forum-post-text{font-size:13px}.forum-create-panel{margin-top:0}
}
/* Resource-first header and compact commands; the scene takes the remaining height. */
:root{--bottom-nav:calc(50px + env(safe-area-inset-bottom,0px))}
.topbar{display:grid;grid-template-columns:220px minmax(0,1fr)110px;grid-template-rows:auto auto;gap:5px 10px;padding:5px 16px 6px;min-height:0;flex-shrink:0}
.topbar #resources{grid-column:1/-1;grid-row:1;width:100%;max-width:none;margin:0}
.topbar .brand{grid-column:1;grid-row:2;min-width:0}
.topbar .city-switch{grid-column:2;grid-row:2;min-width:0;max-width:440px;width:100%;justify-self:center;margin:0}
.topbar .topbar-actions{grid-column:3;grid-row:2;justify-self:end;margin:0}
.topbar .report-shortcut{width:32px;min-height:32px;padding:4px;justify-content:center;flex-shrink:0}
.topbar .report-shortcut>span:not(.report-unread){display:none}
.topbar .report-shortcut .report-unread{position:absolute;top:-4px;right:-3px}
.activity-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:3px 8px;flex-shrink:0}
.activity-bar .hud-action{flex:0 1 auto;width:auto;height:30px;min-height:30px;max-width:none;padding:4px 9px;gap:4px;min-width:0;justify-content:center}
.activity-bar .hud-action>.icon{width:14px;height:14px;flex-shrink:0}
.activity-bar .hud-action>span{min-width:0}
.activity-bar .hud-action b{font-size:11px;line-height:16px;white-space:nowrap}
.activity-bar .hud-action em{font-size:10px;margin-left:2px}
.activity-bar .hud-action small{display:none}
.activity-bar button.city-quests{height:30px;min-height:30px;padding:3px 9px!important;gap:4px!important}
.activity-bar button.city-quests .icon{width:14px!important;height:14px!important}
.activity-bar button.city-quests .quest-ready-count{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-width:17px;height:17px;font-size:10px;font-style:normal;border-radius:50%;color:#264e25}
.activity-bar [data-do="incoming-attacks"]{background:#713729;border-color:#c38961;color:#fff0d5}
.city-scene-heading{min-height:28px;padding:0 1px 4px;gap:4px}
.city-scene-heading .city-chips{gap:4px;flex-wrap:nowrap}
.city-scene-heading .badge{padding:3px 5px;min-height:22px;font-size:9px}
.city-scene-heading .badge .icon{width:13px;height:13px}
.garrison-strip{min-height:37px;padding:3px 5px;margin-bottom:5px;gap:6px;width:max-content;max-width:100%;align-self:flex-start}
.garrison-heading{flex:0 0 92px;padding:0}
.garrison-heading b{font-size:11px;max-width:92px;line-height:14px}
.garrison-heading small{font-size:8px;margin-top:2px;line-height:11px}
.garrison-units{padding:0;gap:4px}
.garrison-unit{flex-direction:row;min-height:29px;padding:2px 3px;gap:3px;min-width:0}
.garrison-unit .unit-portrait{width:22px!important;height:22px!important}
.garrison-extra{min-height:29px;padding:3px 5px;gap:3px}
.garrison-extra .icon{width:15px;height:15px}
.garrison-extra b{display:inline;margin:0 0 0 2px;font-size:10px}
.construction-dock{min-height:49px;padding:5px;gap:6px}
.construction-dock[data-count="0"]{min-height:36px;height:36px;max-width:calc(100% - 18px);right:auto;left:9px;padding:3px;width:max-content}
.construction-dock[data-count="0"] .dock-title b{font-size:11px}
.construction-dock[data-count="0"] .dock-title small,.construction-dock[data-count="0"] .dock-idle small{display:none}
.construction-dock[data-count="0"] .dock-idle b{font-size:10px;white-space:nowrap}
.construction-dock[data-count="0"] .dock-title>.icon{width:17px;height:17px}
.construction-dock[data-count="0"] .dock-add{width:28px;padding:0}
.construction-dock[data-count="0"] .dock-collapse{position:static;flex:0 0 22px;width:22px;min-width:22px;font-size:18px;border-radius:4px}
.construction-dock[data-count="0"] .dock-collapse span{display:none}
.construction-dock.is-collapsed{transform:none;left:auto;right:9px;width:28px;height:36px;min-height:36px;padding:0;border:0;box-shadow:none;background:none;pointer-events:auto}
.construction-dock.is-collapsed .dock-collapse{position:static;flex:0 0 28px;width:28px;min-width:28px;border-radius:4px}
.construction-dock.is-collapsed .dock-jobs,.construction-dock.is-collapsed .dock-title,.construction-dock.is-collapsed .dock-add{display:none}
.city-hint{bottom:64px}
.nav-bottom{height:var(--bottom-nav);padding:3px 4px calc(3px + env(safe-area-inset-bottom,0px));gap:2px;align-items:stretch}
.nav-bottom button{min-height:0;padding:2px 0;gap:2px;font-size:9px;justify-content:center;line-height:12px;min-width:0}
.nav-bottom .icon{width:19px;height:19px;flex-shrink:0}
.nav-bottom button>span:not(.dot){max-width:100%;white-space:nowrap}
.nav-bottom .dot{left:auto;right:3px;top:1px;width:max-content;min-width:14px;height:14px;max-width:30px;padding:0 3px;font-size:8px;line-height:14px;border-radius:9px;box-shadow:none;display:inline-flex;align-items:center;justify-content:center}
.nav-bottom .dot[hidden]{display:none!important}
.command-rail .dot{left:auto;width:max-content;min-width:17px;max-width:32px}
@media(min-width:1000px){:root{--bottom-nav:0px}.activity-bar{padding-left:94px}.command-rail{top:112px}}
@media(max-width:999px){
 .topbar{grid-template-columns:160px minmax(0,1fr)96px;padding:5px 8px 6px;gap:5px 8px}
 .topbar .city-switch{max-width:none}
}
@media(max-width:599px){
 .topbar{grid-template-columns:86px minmax(0,1fr)78px;padding:5px 6px 6px;gap:5px}
 .topbar .brand .crest,.topbar .brand .eyebrow{display:none}
 .topbar .brand .serif{font-size:11.5px;line-height:16px;white-space:nowrap}
 .topbar .city-switch{display:grid;grid-template-columns:18px minmax(0,1fr)18px 22px 22px;gap:2px;padding:2px;align-items:center}
 .topbar .city-switch .square{width:100%;height:28px;min-height:28px;padding:0;font-size:19px}
 .topbar .city-switch .icon{width:14px;height:14px}
 .topbar .city-picker{width:100%;min-width:0;height:28px;min-height:28px;padding:0 1px;font-size:11px}
 .topbar .topbar-actions{display:flex;gap:3px;width:78px}
 .topbar .topbar-actions .square,.topbar .report-shortcut{width:24px;min-width:24px;height:28px;min-height:28px;padding:0}
 .topbar .topbar-actions .icon{width:17px;height:17px}
 .topbar .topbar-actions .report-unread{min-width:12px;height:12px;font-size:8px;top:-3px;right:-3px}
 .activity-bar{padding:3px 6px;gap:3px}
 .activity-bar .hud-action{padding:3px 7px;height:28px;min-height:28px;gap:3px}
 .activity-bar .hud-action b{font-size:10px}
 .activity-bar button.city-quests{height:28px;min-height:28px;padding:3px 7px!important}
 .city-scene-heading{min-height:26px;flex-wrap:nowrap;padding-bottom:4px}
 .city-scene-heading .section-label{font-size:7px;letter-spacing:.7px}
 .city-scene-heading .city-chips{margin-left:auto}
 .garrison-heading{flex-basis:82px}.garrison-heading b{max-width:82px}
 .garrison-strip{min-height:35px;padding:2px 4px;margin-bottom:5px;gap:5px}
 .garrison-unit{min-height:28px;padding:2px 3px}
 .garrison-empty{font-size:9px;padding:1px}
}
@media(max-width:359px){
 .topbar{grid-template-columns:22px minmax(0,1fr)78px}
 .topbar .brand>div{display:none}
 .topbar .brand .crest{display:grid;width:22px;height:28px;margin:0;padding:0}
 .topbar .brand .crest .icon{width:17px;height:17px}
 .activity-bar .hud-action{padding:3px 6px}
 .activity-bar .hud-action b{font-size:9px}
 .activity-bar .hud-action em{font-size:8px}
 .activity-bar .hud-action>.icon{display:none}
 .activity-bar button.city-quests{padding:3px 6px!important}
 .nav-bottom button{font-size:8px}
 .city-scene-heading .section-label{font-size:6.5px;letter-spacing:.2px}
 .city-scene-heading .badge{padding:3px 4px;font-size:8px}
}
@media(max-height:600px) and (max-width:999px){:root{--bottom-nav:calc(38px + env(safe-area-inset-bottom,0px))}.topbar{padding:4px 6px;gap:3px 6px}.topbar .brand .crest{height:26px;width:23px}.topbar .brand .serif{font-size:14px}.topbar .city-switch{padding:2px}.topbar .city-switch .square,.topbar .topbar-actions .square,.topbar .report-shortcut{height:26px;min-height:26px}.topbar .city-picker{height:26px;min-height:26px;font-size:12px;padding:0 1px}.topbar .topbar-actions .icon{width:18px;height:18px}.nav-bottom button{flex-direction:row;gap:3px;font-size:8px}.nav-bottom .icon{width:16px;height:16px}.nav-bottom .dot{right:2px;top:-1px}.garrison-strip{min-height:33px}.city-scene-heading{min-height:24px}.city-hint{display:none}}
/* City controls occupy separate columns, including the native select arrow. */
.topbar .city-switch{display:grid;grid-template-columns:22px minmax(0,1fr)22px 28px 28px;gap:4px;padding:3px}
.topbar .city-switch .square{width:100%;min-width:0;flex-shrink:0;margin:0;height:30px;min-height:30px;padding:0}
.topbar .city-picker{width:100%;min-width:0;max-width:none;padding:0 20px 0 4px;height:30px;min-height:30px;overflow:hidden;text-overflow:ellipsis}
.construction-dock.is-collapsed{left:9px;right:auto}
/* Settings are compact sections; secondary controls open when needed. */
dialog[data-panel="settings"]{width:min(540px,calc(100vw - 20px))}
.settings-sections{display:grid;gap:8px}
.settings-group{border:1px solid #c3ae83;border-radius:7px;background:#efe4cd;min-width:0}
.settings-group>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:13px;font-weight:650;color:#3b523a;list-style:none;min-height:38px}
.settings-group>summary::-webkit-details-marker{display:none}
.settings-group>summary::after{content:'›';margin-left:auto;font-size:20px;line-height:16px}
.settings-group[open]>summary{border-bottom:1px solid #cfbd96}.settings-group[open]>summary::after{transform:rotate(90deg)}
.settings-group>summary .icon{width:18px;height:18px}
.settings-group-body{padding:11px 12px}.settings-group-body>section{border:0;padding:0;margin:0}
.settings-group-body h3{font-size:18px;margin:0 0 5px}.settings-group-body h4{font-size:11px;margin:11px 0 6px}
.settings-group-body p,.settings-group-body small{font-size:11px;line-height:1.5;margin-bottom:8px}
.settings-group-body .button,.settings-group-body .primary,.settings-group-body .ghost{font-size:11px;min-height:30px;padding:5px 8px;gap:4px}
.settings-group-body .button .icon,.settings-group-body .primary .icon{width:16px;height:16px}
.settings-group-body .field{font-size:11px;margin-bottom:9px}.settings-group-body input:not([type=checkbox]):not([type=range]),.settings-group-body select{font-size:12px;min-height:32px;padding:5px 7px}
.settings-group-body .profile-heading .unit-portrait{width:40px;height:46px}.settings-group-body .profile-heading{gap:10px}
.settings-group-body .avatar-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;max-width:300px}
.settings-group-body .avatar-choice{padding:2px;min-height:43px}.settings-group-body .avatar-choice .unit-portrait{width:32px;height:37px}
.settings-group-body #promo-form{display:flex;gap:7px;align-items:end}.settings-group-body #promo-form .field{flex:1;min-width:0;margin:0}.settings-group-body #promo-form .button{flex-shrink:0}
.settings-group-body .music-medallion{width:33px;height:33px}.settings-group-body .music-medallion .icon{width:21px;height:21px}
.settings-group-body .music-track{gap:8px;margin-bottom:10px}.settings-group-body .music-track h3{font-size:16px}.settings-group-body .music-track p{font-size:10px;margin:0}
.settings-group-body .checkbox{font-size:12px}.settings-group-body .actions{gap:5px}
.settings-page-grid{align-items:start}.settings-page .page-title h1{font-size:26px}.settings-page .paper{padding:13px}.settings-page .paper h3{font-size:19px}
/* Alliance controls and thread lists fit small screens without giant labels. */
.alliance-page .page-title h1{font-size:25px}.alliance-page .page-title p{font-size:11px;line-height:1.5}
.alliance-page .paper{padding:13px}.alliance-page h2{font-size:21px}.alliance-page h3{font-size:18px}
.alliance-page .button,.alliance-page .primary,.alliance-page .ghost{font-size:11px;min-height:32px;padding:6px 9px;gap:5px}
.alliance-page p,.alliance-page .muted{font-size:11px;line-height:1.5}.alliance-page .field{font-size:11px}
.alliance-page input:not([type=checkbox]),.alliance-page select,.alliance-page textarea{font-size:12px;padding:7px 8px}
.alliance-tabs{gap:5px;margin:10px 0 13px}.alliance-tabs>button{min-height:38px;padding:7px;font-size:11px;line-height:1.25;gap:5px}
.alliance-page .forum-board-heading h2{font-size:21px}.alliance-page .forum-board-emblem{width:33px;height:33px}
.alliance-page .forum-thread-row{padding:10px 8px;gap:8px}.alliance-page .forum-topic-copy strong{font-size:14px;line-height:1.35}
.alliance-page .forum-topic-icon{width:27px;height:31px}.alliance-page .forum-topic-replies b{font-size:18px}
.alliance-page .forum-topic-copy small{font-size:9px}.alliance-page .forum-filters{gap:5px;margin:12px 0 10px}
.alliance-page .forum-filters button{min-height:32px;padding:6px 8px;font-size:10px}
.alliance-page .forum-thread-heading{padding:14px 0;margin-bottom:12px}.alliance-page .forum-thread-heading h2{font-size:22px;line-height:1.25}
.alliance-page .forum-posts .forum-post{padding:11px}.alliance-page .forum-post-text{font-size:12px}
.alliance-page .forum-create-heading h3{font-size:18px}.alliance-page .alliance-roster td{padding:9px 8px;font-size:11px}
.alliance-page .alliance-roster th{padding:9px 8px;font-size:10px}.alliance-page .roster-player button{min-height:25px;font-size:12px}
.alliance-page .roster-actions button{min-height:30px;font-size:10px;padding:5px 7px}
.private-recipient{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-size:13px}.private-recipient .icon{color:#466441}
.private-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.private-actions button{font-size:12px;min-height:35px;padding:7px 10px}
.profile-message-action{margin:12px 0}.profile-message-action .icon{width:18px;height:18px}
.private-message>header{display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid #cbbb94;padding-bottom:10px;font-size:13px;overflow-wrap:anywhere}
.private-message time{font-size:10px;white-space:nowrap;flex-shrink:0}.private-message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:13px;margin-top:15px}
dialog[data-panel="private"]{width:min(530px,calc(100vw - 20px))}
.inbox-player-actions{padding:9px 0}.inbox-player-actions p{font-size:11px;line-height:1.5}
@media(max-width:599px){
 .topbar .city-switch{grid-template-columns:18px minmax(0,1fr)18px 24px 24px;gap:3px;padding:2px}
 .topbar .city-switch .square,.topbar .city-picker{height:28px;min-height:28px}.topbar .city-picker{font-size:11px}
 .alliance-page .page-title h1{font-size:22px;line-height:1.25}.alliance-page .page-title{gap:8px;margin-bottom:10px}
 .alliance-page .paper{padding:11px}.alliance-page .alliance-tabs>button{font-size:10px;min-height:36px;padding:6px 5px}
 .settings-group>summary{padding:9px 10px;font-size:12px}.settings-group-body{padding:10px}
}
@media(max-height:600px) and (max-width:999px){.topbar .city-switch{padding:2px}.topbar .city-switch .square,.topbar .city-picker{height:26px;min-height:26px}}

/* 0.2.41: visible entry to private messages and recipient selection. */
.inbox-toolbar{flex-wrap:wrap;justify-content:space-between}.inbox-toolbar button{font-size:11px;padding:7px 10px;min-height:35px;max-width:100%}
.private-inbox-filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.private-inbox-filters .active{background:#3d5740;color:#fff;border-color:#3d5740}
.private-direction{display:block;color:#56704e;font-size:10px;margin:2px 0}.profile-message-action .primary{font-size:12px;min-height:36px;padding:7px 12px}
.private-player-list{display:grid;gap:7px;margin-top:14px}.private-player-row{display:flex;align-items:center;text-align:left;gap:10px;width:100%;padding:9px;border:1px solid #ccb78b;background:#f6edd9;color:#293d2d;border-radius:7px;cursor:pointer}
.private-player-row>span:not(.unit-portrait){flex:1;min-width:0}.private-player-row strong{display:block;font-size:13px;overflow-wrap:anywhere}.private-player-row small{display:block;font-size:10px;margin-top:3px;color:#6f775d}.private-player-row>.icon{width:19px;height:19px;flex-shrink:0}
.private-picker-pages{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:14px}.private-picker-pages button{font-size:10px;padding:6px 8px;min-height:32px}.private-picker-pages small{font-size:10px;white-space:nowrap}
dialog[data-panel="private-picker"]{width:min(530px,calc(100vw - 20px))}
