:root{--vellum:#e8d6ae;--vellum-ink:#372a1b;--brass:#b49659;--wine:#743528}
#village-heading,#village-actions{display:none!important}
#top{background:linear-gradient(90deg,rgba(39,29,18,.97),rgba(62,46,27,.96),rgba(34,27,18,.97));border:1px solid #aa8c53;box-shadow:inset 0 0 0 3px #241d15,0 5px 16px #0005;color:#f0dfb8}
#top .ctl button{border-color:#ad915a55;background:#352b1e;color:#e4ce9c}#top .ctl button[aria-pressed=true]{background:#b7985f;color:#221e16}
#province-stores{position:fixed;z-index:4;top:86px;left:16px;display:flex;max-width:calc(100vw - 32px);background:linear-gradient(100deg,#34291c,#4a3824);border:1px solid #ac8d52;box-shadow:inset 0 0 0 3px #211c14,0 6px 16px #0004;padding:5px;gap:2px}
#province-stores button{font-family:Georgia,serif;cursor:pointer;color:#f1e2bd;border:0;border-right:1px solid #ba9d6333;background:transparent;display:flex;align-items:center;padding:4px 12px;gap:7px;min-height:42px}
#province-stores button:hover{background:#e4ca8120}#province-stores small{display:block;color:#c9b992;font-size:10px;letter-spacing:.06em;text-transform:uppercase}#province-stores strong{display:block;font-size:19px;font-variant-numeric:tabular-nums}#province-stores .stores-title{display:block;text-align:left;padding-right:16px}#province-stores .stores-title strong{font-size:14px}#province-stores .stores-title>span{font:10px system-ui;color:#c9b992}
.stock-art{display:inline-block;background-size:contain;background-repeat:no-repeat;background-position:center;width:30px;height:32px;flex:none}#province-stores .stock-art{width:29px;height:35px}
#domain-dock{position:fixed;z-index:5;bottom:16px;left:50%;transform:translateX(-50%);display:flex;padding:5px;gap:3px;background:linear-gradient(#4c3923,#282116);border:1px solid #b59759;box-shadow:inset 0 0 0 3px #211c14,0 5px 18px #0006;max-width:calc(100vw - 32px)}
#domain-dock button{font:15px Georgia,serif;white-space:nowrap;min-height:42px;padding:8px 20px;color:#ecddba;border:1px solid #b7985a55;background:linear-gradient(#5c452c,#392c1e);cursor:pointer}#domain-dock button:hover{background:#76532e}#domain-dock button[data-build-name=Road]{color:#f5e4b4;border-color:#bda164}
.enter-interior{width:100%;display:flex;justify-content:space-between;gap:12px;margin:16px 0;padding:15px 16px;font:17px Georgia,serif;color:#352819;background:linear-gradient(#ead8ad,#cfb781);border:1px solid #ab8d54;cursor:pointer;box-shadow:inset 0 0 0 3px #f3e3c25c}.enter-interior:hover{filter:brightness(1.08)}
.domain-window{padding:0;width:min(1180px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 24px);border:2px solid #ae9258;border-radius:2px;background:#251e15;color:var(--vellum-ink);box-shadow:0 25px 90px #000c,inset 0 0 0 4px #171b12;font-family:Georgia,serif;overflow:hidden}
.domain-window::backdrop{background:#07100de3;backdrop-filter:blur(3px)}
.domain-window-header{display:flex;align-items:center;gap:15px;padding:18px 24px;background:linear-gradient(100deg,#4d3520,#302518);border-bottom:1px solid #bc9e63;color:#ebd9ad}
.domain-window-header p{font:10px system-ui;letter-spacing:.16em;text-transform:uppercase;color:#c3ae83;margin:0 0 5px}.domain-window-header h1{font:30px Georgia,serif;margin:0}.domain-window-header>button{margin-left:auto;background:transparent;border:1px solid #b7985a77;color:#e9d5a6;font:19px Georgia;cursor:pointer;width:36px;height:36px}
.domain-crest{width:40px;height:48px;display:grid;place-items:center;color:#cfb15b;font-size:26px;background:#71392c;clip-path:polygon(0 0,100% 0,94% 74%,50% 100%,6% 74%)}
.domain-window-tabs{display:flex;background:#211e16;padding:5px 16px 0;gap:2px;border-bottom:1px solid #a68b55;overflow:auto}.domain-window-tabs button{font:14px Georgia;white-space:nowrap;border:1px solid transparent;border-bottom:0;color:#bdae8c;background:transparent;cursor:pointer;padding:10px 16px}.domain-window-tabs button[aria-pressed=true]{background:#dfcca1;color:#32261b;border-color:#a58b54}.domain-window-tabs button:disabled{opacity:.35;cursor:default}
.domain-window-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.85fr);height:min(590px,calc(100dvh - 230px));min-height:320px;background:#172016}
.interior-scene{position:relative;background-repeat:no-repeat;background-position:center;background-size:cover;min-width:0;isolation:isolate}.interior-scene.locked{filter:saturate(.35)}
.warehouse-scene{aspect-ratio:3/2;align-self:center;background-size:100% 100%;background-color:#142016}
.scene-caption{position:absolute;bottom:0;left:0;right:0;padding:13px 18px;text-align:center;color:#e7d5aa;font:13px Georgia;background:linear-gradient(transparent,#0d160feb);z-index:3;pointer-events:none}
.heritage-ledger{overflow:auto;padding:25px 26px;background-color:#e7d4a8;background-image:url('./assets/illustrations/ui-scroll.png');background-size:160% 170%;background-position:50% 46%;border-left:2px solid #9c7b43;color:#392d20;scrollbar-color:#ae8e54 #dac597}
.heritage-ledger h2,.heritage-ledger h3{color:#51341e;font-family:Georgia,serif;letter-spacing:0;text-transform:none}.heritage-ledger h2{font-size:27px;margin:5px 0 12px}.heritage-ledger h3{font-size:20px;margin:5px 0 12px}.heritage-ledger p{font:15px/1.5 Georgia,serif;color:#57432b}.heritage-ledger .sec{padding:15px 0;border-color:#9f81434f}.heritage-ledger .row{border-color:#9f814333;color:#443522;font:14px/1.45 Georgia}.heritage-ledger .hint{font:13px/1.5 Georgia;color:#6c5536}.heritage-ledger .quote{font:italic 18px/1.5 Georgia;color:#6b3f28;padding:10px 0;border:0;background:none}.heritage-ledger .acts{display:flex;flex-wrap:wrap;gap:8px}
.heritage-ledger .action-result{margin:12px 0 0;padding:9px 11px;border-left:3px solid #6c8a5c;background:#d4dfb544;color:#36533a;font:13px/1.4 Georgia,serif}
.heritage-ledger .btn,.domain-window-footer button{font:14px Georgia;padding:10px 14px;color:#443018;border:1px solid #9e7a3e;background:linear-gradient(#efdeb6,#d2b986);box-shadow:inset 0 0 0 2px #f2e4c24d;cursor:pointer;min-height:36px}.heritage-ledger .btn.primary{background:#795235;color:#f0ddae}.heritage-ledger .btn:disabled{opacity:.4;cursor:default}
.domain-window-footer .destroy-building{margin-right:auto;background:#5c3127;color:#f4d2c0;border-color:#9b634f}
.domain-window button:focus-visible,#province-stores button:focus-visible,#domain-dock button:focus-visible{outline:2px solid #d6b869;outline-offset:2px}.domain-window-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 22px;border-top:1px solid #ab8a4c;background:#35291b;color:#c6b38d;font:12px Georgia}.domain-window-footer button{padding:8px 16px;background:#594128;color:#e8d4a6}
.ledger-heading>small{font:10px system-ui;letter-spacing:.15em;text-transform:uppercase;color:#856b44}.ledger-note{font-size:13px!important;border-top:1px solid #a98a5060;border-bottom:1px solid #a98a5060;padding:12px 0}.ledger-warning{padding:12px;background:#7a302317;border-left:3px solid #8c412d}
.store-capacity{padding:14px 0;border-top:1px solid #a98a5060;border-bottom:1px solid #a98a5060;margin-bottom:16px}.store-capacity strong{font-size:24px}.store-capacity meter{display:block;width:100%;height:15px;margin:6px 0;accent-color:#8b7742}.store-capacity small{font-size:12px;color:#77603c}
.stock-ledger{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}.stock-ledger th,.stock-ledger td{border-bottom:1px solid #a98a5033;padding:8px 0}.stock-ledger thead th{font:10px system-ui;letter-spacing:.05em;text-transform:uppercase;text-align:right;color:#826b46}.stock-ledger thead th:first-child{text-align:left}.stock-ledger tbody th{text-align:left;font-weight:normal}.stock-ledger td{text-align:right}.stock-ledger th button{font:15px Georgia;display:flex;align-items:center;gap:8px;background:transparent;border:0;color:inherit;cursor:pointer;padding:0}.stock-ledger .chosen{background:#8b622a14}.stock-ledger .stock-art{width:24px;height:25px}.stock-ledger .gain{color:#3d613a}.stock-ledger .loss{color:#933f2e}.stock-description{margin:18px 0 20px}.stock-description h3{font-size:18px;margin-bottom:4px}.stock-description p{font-size:13px;margin:0}
.warehouse-piles{position:absolute;inset:0}.warehouse-pile{position:absolute;width:21%;height:26%;transform:translate(-50%,-75%);border:0;background:transparent;padding:0;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;color:#f1e2bc}.warehouse-pile .stock-art{width:100%;height:85%;transform:scale(var(--pile-size));transform-origin:center bottom;filter:drop-shadow(1px 3px 2px #0007)}.warehouse-pile>span:last-child{font:11px Georgia;background:#273120db;white-space:nowrap;padding:3px 6px;border:1px solid #b49b5966}.warehouse-pile.focused>span:last-child{background:#72502a;border-color:#d2b16a}.warehouse-pile:hover .stock-art{filter:brightness(1.15) drop-shadow(1px 3px 2px #0007)}.warehouse-pile.empty .stock-art{opacity:.15;filter:grayscale(1)}
.resident-row{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid #a98a5055}.resident-portrait{grid-row:span 2;width:48px;height:59px;background-size:400% 400%;background-position:100% 66.666%;background-repeat:no-repeat}.resident-row strong{text-transform:capitalize;font-size:17px}.resident-row small{display:block;font:12px Georgia;color:#7b6342;margin-top:3px}.resident-row p{font:13px/1.4 Georgia;margin:5px 0}.resident-row select{grid-column:2;border:1px solid #ac8d54;background:#eee0bd;color:#47331d;font:14px Georgia;padding:7px}.find-home{font:11px Georgia;color:#805a2c;border:0;background:none;padding:0;cursor:pointer;text-decoration:underline}
.jewel-display{position:absolute;left:24%;right:15%;top:41%;display:flex;justify-content:center;gap:14px;padding:18px;background:#241b14aa;border:1px solid #aa915955}.jewel{display:block;width:20px;height:27px;clip-path:polygon(50% 0,95% 30%,80% 78%,50% 100%,20% 78%,5% 30%);background:#554d3c}.jewel.kept{background:linear-gradient(130deg,#d2f2df,#79b5a5 45%,#377d72);filter:drop-shadow(0 0 4px #bbf6d9)}
#modal{margin:0;border:0;width:100%;height:100%;max-width:none;max-height:none;padding:0}#modal::backdrop{background:transparent}
#modal[data-kind=alliance] .sheet{padding:0;width:min(600px,calc(94dvh * 2 / 3),calc(100vw - 24px));max-width:none;border:0;background:none;box-shadow:none}
.diplomatic-scroll{aspect-ratio:2/3;position:relative;background:url('./assets/illustrations/ui-scroll-isolated.png') center/100% 100% no-repeat;color:#49321d}.scroll-writing{position:absolute;inset:15% 13% 17%;display:flex;flex-direction:column;justify-content:center}.scroll-writing .scroll-kicker{font:10px Georgia!important;letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px!important;text-align:center}.scroll-writing h1{font:clamp(29px,4.2vh,40px) Georgia!important;text-align:center;margin:0 0 18px!important;color:#633b1c!important}.scroll-writing p{font:clamp(14px,1.95vh,18px)/1.4 Georgia!important;color:#503821!important;margin:0 0 12px!important}.scroll-writing .scroll-salutation{font-style:italic!important}.scroll-signature{text-align:right;margin-top:8px!important}.scroll-answers{display:flex;gap:12px;justify-content:center;margin-top:13px}.scroll-answers .btn{font:15px Georgia;border:1px solid #98713b;background:#e8d3a4;color:#624223;padding:10px 17px}.scroll-answers .btn.primary{background:linear-gradient(#8b4431,#612b22);color:#f1dcac;border-color:#9b6841}
.build-thumb{display:block;width:48px;height:44px;background-size:400% 400%;background-repeat:no-repeat;margin:auto}
@media(max-width:850px){#province-stores button{padding:3px 7px}#province-stores strong{font-size:16px}#province-stores .stock-art{width:23px}#domain-dock button{padding:8px 12px;font-size:14px}.domain-window-body{grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}.heritage-ledger{padding:20px 19px}.domain-window-tabs button{padding:9px 11px}.warehouse-pile>span:last-child{font-size:9px;padding:2px 3px}}
@media(max-width:620px){#province-stores{top:90px;right:16px;justify-content:space-between}#province-stores .stores-title{display:none}#province-stores button{padding:2px 5px}#domain-dock{overflow:auto;left:16px;right:16px;transform:none}#domain-dock button{padding:8px 11px;font-size:12px}.domain-window-header{padding:12px 16px}.domain-window-header h1{font-size:23px}.domain-window-body{display:block;overflow:auto;height:calc(100dvh - 178px)}.interior-scene{height:220px;min-height:220px}.warehouse-scene{height:auto;min-height:0;aspect-ratio:3/2}.heritage-ledger{overflow:visible;border-left:0;border-top:1px solid #a68b55}.domain-window-footer span{display:none}.domain-window-footer{justify-content:flex-end}.domain-window-tabs{padding:3px 6px 0}.domain-window-tabs button{font-size:12px;padding:9px}.scroll-writing p{font-size:14px!important}}

#goals{top:160px}#side{top:160px;max-height:calc(100dvh - 240px)}

/* One family of contextual parchment panels; no competing folded tabs. */
#goals.folded,#side.folded,#build.folded,#log.folded{display:none!important}
#goals,#side,#log,#card{top:158px;bottom:auto;left:auto;right:18px;transform:none;width:min(370px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 250px);box-sizing:border-box;overflow:auto;padding:25px;background:#e5d6b6 url('./assets/illustrations/ui-scroll.png') 50% 46%/160% 170%;border:1px solid #a68b59;border-radius:2px;color:#483923;box-shadow:0 10px 35px #20190d40;font-family:Georgia,serif}
#goals h2,#side h2,#log h2,#card h2{font:24px Georgia;color:#49331f;text-shadow:none}
#goals p,#side p,#side .hint,#side .where,#side .row span,#side .sec h3,#log .body,#card .sub,#card .adv,#card .ev,#card h4{color:#695337}
#side .row,#goals .row,.heritage-ledger .row span{color:#503d26}
#goals .btn,#side .btn,#side .mini,#side select,#build .btn{background:#deca9e;color:#48351f;border-color:#aa8d58}
#goals .fold,#side .fold,#build .fold,#log .fold,#card .x{display:block;color:#6c5030}
#build:not(.folded){bottom:89px;left:50%;right:auto;transform:translateX(-50%);max-width:calc(100vw - 40px);width:max-content;padding:19px 24px;background:#e2d2ad;border:1px solid #a58c59;color:#4a3723;box-shadow:0 12px 35px #20190d55}
#build .bar button{border-color:#ad916055;color:#483821;background:#eadaba}#build .bar button:hover{background:#cdb78a!important}#build .ledger,#build .c,#build .n{color:#604b2d}
#domain-dock{max-width:calc(100vw - 32px);overflow-x:auto;scrollbar-width:thin}#domain-dock button{white-space:nowrap;padding:11px 15px}#domain-dock button.unread::after{content:' •';color:#e8c276}#domain-dock button[aria-pressed=true]{background:#8b6b3d;color:#ffedc5}
#object-hint{bottom:85px}#placing{bottom:150px;background:#4a3829ed;color:#f1dfb6;border-color:#ac925d}
body:has(dialog[open]) :is(#top,#province-stores,#domain-dock,#goals,#side,#build,#log,#card,#marks,#bubbles,#floats,#object-hint,#placing){visibility:hidden!important}
#modal{background:#241d164d;backdrop-filter:blur(2px)}.domain-window::backdrop{background:#241d1673;backdrop-filter:blur(2px)}
.diplomatic-scroll{filter:drop-shadow(0 15px 18px #18130c66)}
@media(max-width:850px){#domain-dock button{padding:9px 11px;font-size:13px}#goals,#side,#log,#card{top:154px}}

/* The generated parchment is framed by a code-native silhouette, so its
   rectangular matte is never part of the interface. */
/* Inset silhouette keeps the native illustration's matte outside the UI. */
.diplomatic-scroll{clip-path:polygon(5.2% 1.9%,94.8% 1.9%,95.2% 3.5%,96.5% 3.5%,96.5% 6.5%,94.5% 7%,93% 8%,93% 83%,95% 84%,95% 85.5%,96.5% 85.5%,96.5% 88.3%,95% 89%,94.7% 90.4%,83% 90.4%,81.5% 91.7%,78% 92.3%,74% 92%,71.5% 91.2%,70.5% 90.4%,4.8% 90.4%,4.5% 89%,3% 88.3%,3% 85.5%,4.5% 85.5%,5% 84%,6.7% 83%,6.7% 8%,5% 7%,3.2% 6.5%,3.2% 3.5%,4.8% 3.5%)}

#build .ledger b,#build .ledger span,#side b,.heritage-ledger .row b{color:#503d26}.heritage-ledger .row{display:flex;flex-wrap:wrap;gap:9px}.heritage-ledger .row>span:first-child{flex:1 1 125px}.heritage-ledger .row>span:last-child{display:flex;gap:4px;flex-wrap:wrap}.build-thumb{width:56px;height:56px}#build .bar button{width:72px}#goals,#side,#card,#log{scrollbar-color:#ad9060 #dacaab;scrollbar-width:thin}
#build:not(.folded){box-sizing:border-box}#build .bar{scrollbar-color:#a68b59 #dfcda8;scrollbar-width:thin}

.domain-setup{width:min(480px,calc(100vw - 40px));padding:32px;background:#e5d5b1;color:#4b3820;border:2px solid #a88b52;font:17px/1.5 Georgia}.domain-setup::backdrop{background:#223127}.domain-setup h1{font:34px Georgia}.domain-setup label{display:block;margin:18px 0}.domain-setup select{display:block;width:100%;padding:10px;background:#eee0c3;color:#3d2d1a;border:1px solid #a58b57}.domain-setup button{padding:12px 20px;background:#68462c;color:#f0dfb5;border:1px solid #957748;font:18px Georgia}

.domain-window[data-room=people] .domain-window-body{grid-template-columns:minmax(120px,.3fr) minmax(0,1fr)}
.domain-window[data-room=people] .resident-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:0 22px}.workforce-summary{display:flex;flex-wrap:wrap;gap:8px 14px;border-bottom:1px solid #a68b59;padding:12px 0}.workforce-summary span{font-size:13px}.workforce-summary p{font-size:13px}.resident-row{min-width:0}.resident-row strong{font-size:16px}.find-home{font-size:12px}
#domain-dock button[data-build-name=Road]{color:inherit;border-color:#b7985a55}#domain-dock button[data-build-name=Road][aria-pressed=true]{background:#b39763;color:#2d2416}
.atelier-header{background:#3e2e1d!important;color:#ead7ad!important}.atelier-caption h2{display:none}.atelier-body{grid-template-columns:minmax(100px,18%) minmax(0,1fr)!important}.atelier-scene{min-width:0}.atelier-caption{padding:16px!important}.atelier-caption p{font-size:13px!important}.atelier-staff{flex-wrap:wrap}.vehicle-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important}.production-limit{color:#624b2e!important}
@media(max-width:760px){.domain-window[data-room=people] .interior-scene{display:none}.domain-window[data-room=people] .domain-window-body{display:block}.atelier-scene{display:none}.atelier-body{display:block!important}}

#decision-notice{position:fixed;z-index:10;top:158px;left:18px;max-width:440px;padding:14px 18px;background:#e7d7b5;border:1px solid #a78b56;color:#4a351f;font:14px Georgia}body:has(dialog[open]) #decision-notice{visibility:hidden}.float{font-size:11px}#domain-dock{scrollbar-color:#a58b59 #302417}

/* Icon controls own their alignment; the global button reset removes it. */
.domain-window-header>button,#card .x,:is(#goals,#side,#build,#log) .fold{
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  padding:0;line-height:1;text-align:center;flex-shrink:0;
}
.domain-window-header>button{width:36px;height:36px;min-width:36px}
#card .x,:is(#goals,#side,#build,#log) .fold{width:32px;height:32px}
.close-icon{display:block;flex:0 0 16px;width:16px;height:16px;pointer-events:none}
.leave-workshop{flex-shrink:0;justify-content:center;line-height:1}
#card h2,#goals h2,#side h2{padding-right:30px}

.domain-setup{max-height:90vh;overflow:auto}.domain-setup section{border-bottom:1px solid #a88b52;padding-bottom:18px;margin-bottom:20px}.domain-setup section h2{font:22px Georgia}.domain-setup section button{display:block;width:100%;box-sizing:border-box;text-align:left;margin:8px 0;font-size:14px}

/* Full-bleed native-painted menu; controls sit in the shaded foreground. */
.booting> :not(.main-menu){visibility:hidden}.main-menu{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;box-sizing:border-box;overflow:auto;color:#f0e7cf;background:linear-gradient(90deg,rgba(13,22,18,.92),rgba(13,22,18,.63) 31%,rgba(13,22,18,.08) 67%),url('./assets/illustrations/menu-manor.png') center/cover no-repeat;box-shadow:none}
.main-menu[open]{display:block}.main-menu::backdrop{background:#142019}.main-menu .home-content{width:min(620px,calc(100vw - 64px));margin:clamp(145px,19.5vh,210px) 0 40px clamp(72px,10vw,180px)}
.home-brand p{font:11px/1.5 Georgia;letter-spacing:.24em;text-transform:uppercase;color:#c6b98f;margin:0 0 18px}.home-brand h1{font:clamp(82px,7vw,112px)/.88 Georgia;margin:0 0 72px;letter-spacing:-.04em;font-weight:400;text-shadow:0 3px 24px #0006;white-space:nowrap}.home-brand h1 span{display:inline;color:#dcc594}
.main-menu .home-actions{max-width:490px;padding:0;margin:0;border:0;min-width:0}.main-menu .home-actions h2{font:26px Georgia;margin:0 0 24px;color:#f0e7cf}.main-menu .home-actions button{display:block;width:100%;box-sizing:border-box;margin:0;padding:14px 8px;text-align:left;font:22px/1.15 Georgia;color:#f0e7cf;background:transparent;border:0;border-bottom:1px solid #c5b88738;cursor:pointer;transition:color .15s,background .15s,padding .15s}.main-menu .home-actions button:hover{color:#ffe0a4;background:#c9b88512;padding-left:16px}.main-menu .home-actions button:focus-visible{outline:2px solid #d5b77b;outline-offset:3px}.main-menu .home-actions button:disabled{color:#aaa58f;cursor:default;opacity:.65}.main-menu .home-actions button small{display:block;font:12px/1.5 Georgia;color:#bebca8;margin-top:6px}.main-menu .home-actions a{display:inline-block;color:#d1c6a8;margin:26px 0 0;font:14px Georgia;text-decoration:none;border-bottom:1px solid #aaa17e66;padding-bottom:3px}.main-menu .home-actions p{font:13px/1.6 Georgia;color:#b8bcaa;margin:18px 0}.main-menu .home-actions label{display:block;margin:18px 0;color:#dedbc7;font:16px Georgia}.main-menu .home-actions select{margin-top:9px;padding:12px;width:100%;background:#26352d;color:#f2ead6;border:1px solid #a99b725e;font:16px Georgia}.main-menu input[type=range]{display:block;width:100%;margin:14px 0;accent-color:#d5b77b}.main-menu .saved-domains{max-height:43vh;overflow:auto;padding:4px}.main-menu .home-actions form button{margin-top:20px;color:#f7dda1}.main-menu #menu-status{color:#e2d29e}
@media(max-width:600px){.main-menu{background-position:65% center}.main-menu .home-content{margin:150px 32px 32px;max-width:calc(100vw - 64px)}.home-brand h1{font-size:56px}.main-menu .home-actions{max-width:none}.main-menu .home-actions button{font-size:20px}.main-menu{background-image:linear-gradient(90deg,rgba(13,22,18,.9),rgba(13,22,18,.66)),url('./assets/illustrations/menu-manor.png')}}
@media(prefers-reduced-motion:reduce){.main-menu .home-actions button{transition:none}}

.workshop-needed{display:flex;align-items:center;gap:20px;background:#ddc9a2;color:#422f1c;border-bottom:1px solid #ae9160;padding:16px 22px}.workshop-needed p{margin:5px 0;font:14px/1.45 Georgia}.workshop-needed>div{flex:1;min-width:0}.workshop-needed .study-button{width:auto;min-width:0;max-width:180px;flex:0 0 auto;font-size:14px;padding:12px 18px}.workshop-needed strong{font:20px Georgia}@media(max-width:640px){.workshop-needed{align-items:stretch;flex-direction:column;gap:10px}}

@media(max-width:980px){#workshop-dialog .atelier-scene{display:none}#workshop-dialog .atelier-body{display:grid!important;grid-template-columns:minmax(0,1fr)!important}#workshop-dialog .invention-volume{min-height:0;border-left:0}}

/* Bars fit their viewport instead of retaining desktop-sized controls. */
#top{left:12px;right:12px;transform:none;width:auto;max-width:none;padding:7px;box-sizing:border-box}
#top .body{display:flex;gap:0;min-width:0}#top .stat{flex:1 1 0;min-width:0;padding:2px clamp(3px,.6vw,9px);gap:clamp(3px,.5vw,8px)}#top .stat>div{min-width:0}#top .stat b{font-size:clamp(12px,1.15vw,16px)}#top .stat span{font-size:clamp(8px,.7vw,9.5px);letter-spacing:.07em}#top .stat svg{width:clamp(12px,1.5vw,20px);height:clamp(12px,1.5vw,20px)}#top .stat.season b{font-size:clamp(11px,1.1vw,15px)}#top .ctl{min-width:0;gap:2px;padding:0 3px}#top .ctl button{box-sizing:border-box;padding:6px clamp(3px,.55vw,7px);font-size:clamp(10px,.9vw,12px);white-space:nowrap;min-width:0;min-height:32px;flex:1 1 auto}
#domain-dock{left:12px;right:12px;bottom:12px;transform:none;width:auto;max-width:none;box-sizing:border-box;overflow:visible;gap:2px;display:grid;grid-template-columns:repeat(11,minmax(0,1fr))}#domain-dock button{box-sizing:border-box;min-width:0;min-height:36px;padding:7px 3px;font-size:clamp(10px,1.2vw,15px);text-align:center;white-space:normal;overflow-wrap:normal}
@media(max-width:1000px){#top .stat{justify-content:center}#top .stat svg:not(.clock){display:none}#top .stat.season .clock{width:17px;height:17px}#top .ctl button{padding:5px 4px;font-size:10px}#top .stat span{letter-spacing:0}#top .stat.season{flex:1.3 1 0}#domain-dock button{font-size:clamp(10px,1.45vw,13px)}}
@media(max-width:700px){#top .body{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}#top .stat{padding:2px;gap:4px}#top .stat:last-of-type{border:0}#top #speed{grid-column:1/3;padding:0}#top .ctl:last-child{grid-column:3/6;padding:0;flex-wrap:wrap}#top .ctl:last-child button{flex:1 1 auto;padding:4px 5px;min-height:26px;font-size:10px}#top #speed button{padding:5px 2px;min-height:30px}#domain-dock{grid-template-columns:repeat(6,minmax(0,1fr));left:8px;right:8px;bottom:8px}#domain-dock button{font-size:11px;min-height:30px;padding:6px 2px}#province-stores{top:126px;left:12px;right:12px;box-sizing:border-box;max-width:none}#province-stores button{min-width:0;flex:1;padding:3px}#province-stores .stores-title{display:none}#province-stores strong{font-size:16px}#goals,#side,#log,#card{top:188px}}
@media(max-width:430px){#top{left:8px;right:8px}#top .stat span{font-size:7px}#top .stat.season .clock{display:none}#top .ctl:last-child button{font-size:9px;padding:4px 3px}#domain-dock{grid-template-columns:repeat(4,minmax(0,1fr))}#domain-dock button{font-size:11px}#province-stores{top:126px}}
/* Subtle brass scrollbars, only in content that actually needs scrolling. */
.main-menu,.main-menu *{scrollbar-width:thin;scrollbar-color:#ad9a6b transparent}.main-menu{overflow-x:hidden}.main-menu .home-content{box-sizing:border-box}.main-menu .home-actions select{box-sizing:border-box}.main-menu::-webkit-scrollbar,.main-menu *::-webkit-scrollbar{width:5px;height:5px}.main-menu::-webkit-scrollbar-track,.main-menu *::-webkit-scrollbar-track{background:transparent}.main-menu::-webkit-scrollbar-thumb,.main-menu *::-webkit-scrollbar-thumb{background:#ad9a6b88;border-radius:4px}.main-menu::-webkit-scrollbar-thumb:hover,.main-menu *::-webkit-scrollbar-thumb:hover{background:#cbb47e}.main-menu .saved-domains{scrollbar-gutter:stable;padding-right:10px}
@media(max-height:700px){.main-menu .home-content{margin-top:100px;margin-bottom:24px}.main-menu .home-actions h2{margin-bottom:14px}.main-menu .home-actions label{margin:12px 0}.main-menu .saved-domains{max-height:38vh}.main-menu .home-actions button{padding-top:11px;padding-bottom:11px}}

#top #speed button{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1}#speed .speed-icon{display:block;flex:none;pointer-events:none}
#resources-drawer{display:contents}#resource-toggle{display:none}body:has(dialog[open]) #resources-drawer{visibility:hidden!important}
@media(max-width:700px){#resources-drawer{display:block;position:fixed;left:12px;right:12px;top:var(--hud-bottom,96px);z-index:5}#resource-toggle{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:28px;padding:5px 12px;background:#3d3020;color:#dfcfab;border:1px solid #9d8351;border-top:0;font:11px Georgia;cursor:pointer}#resource-toggle[aria-expanded=true]>span:last-child{transform:rotate(180deg)}#resources-drawer #province-stores{position:static;box-sizing:border-box;width:100%;max-width:none;border-top:0;box-shadow:inset 0 0 0 2px #211c14,0 6px 12px #0003}#resources-drawer:not(.expanded) #province-stores{display:none}#resources-drawer #province-stores button{justify-content:center;min-height:40px}#resources-drawer #province-stores .stores-title{display:none}}
@media(max-width:430px){#resources-drawer{left:8px;right:8px}}

#top #homeBtn{display:inline-flex;align-items:center;justify-content:center}

/* Resource artwork remains legible when the mobile drawer opens. */
@media(max-width:700px){#resources-drawer #province-stores .stock-art{width:24px;height:30px}#resources-drawer #province-stores button{gap:5px}}
@media(max-width:430px){#resources-drawer #province-stores button{flex-direction:column;gap:2px;padding:5px 2px}#resources-drawer #province-stores .stock-art{width:28px;height:30px}}

.village-label{display:block;flex:0 0 auto;white-space:nowrap;padding:4px 7px;background:#2b261de8;color:#eadfc6;border-left:3px solid #d9ac66;font:11px Georgia,serif;text-shadow:0 1px #000;pointer-events:none}.village-label.faction-2{border-color:#bd91d4}.village-label.faction-3{border-color:#78bad0}

.badges{pointer-events:none}.badges .badge{pointer-events:auto}body.placing .badges .badge{pointer-events:none}

.unit-map-label{position:fixed;transform:translateX(-50%);z-index:3;white-space:nowrap;padding:3px 6px;border:1px solid #c09d60;border-left:3px solid #d9ac66;background:#29251def;color:#f0e1bf;font:11px Georgia,serif;cursor:pointer}.unit-map-label.faction-2{border-left-color:#bd91d4}.unit-map-label.faction-3{border-left-color:#78bad0}.unit-map-label:hover{background:#59442d}.unit-map-label:focus-visible{outline:2px solid #ead28e;outline-offset:2px}body.placing .unit-map-label{pointer-events:none;opacity:.35}

.build-thumb-vector{display:grid;place-items:end center;padding-bottom:4px;box-sizing:border-box}
