:root{color-scheme:dark;--ink:#121918;--panel:#1b2421;--panel-light:#222e28;--gold:#dfbb70;--gold-light:#f3d9a0;--text:#eae4d4;--muted:#a7b0a3;--line:#364237;--teal:#75b7a4;--danger:#d78072;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#2b352b 0,#131b18 70%);color:var(--text);font-family:var(--sans);font-size:13px;min-width:320px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}button{border:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}button svg{pointer-events:none}[hidden]{display:none!important}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;color:var(--muted);line-height:1.5}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}kbd{font-family:var(--sans);font-size:10px;border:1px solid #485245;border-radius:3px;padding:2px 5px;color:#bfc6b6;white-space:nowrap}.masthead{max-width:1800px;margin:auto;padding:22px 28px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{text-decoration:none;color:var(--text);display:flex;gap:13px;align-items:center}.brand-mark{width:43px;height:48px;stroke:var(--gold);stroke-width:1.3}.brand>span{display:flex;flex-direction:column}.wordmark{font-family:var(--serif);font-size:31px;letter-spacing:1px;line-height:1.18}.brand .eyebrow{font-size:8px;color:var(--gold)}.header-actions{display:flex;align-items:center;gap:9px}.save-status{font-size:11px;color:var(--muted);margin-right:13px}.save-status:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--teal);margin-right:7px}.quiet-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:1px solid #465040;border-radius:5px;padding:9px 12px;min-height:38px;color:#d9decf}.quiet-button:hover,.icon-button:hover{background:#344032;border-color:#748067}.icon-button{width:38px;padding:8px}.icon-button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.resource-strip{display:flex;justify-content:center;gap:30px;padding:11px 24px;border-block:1px solid #3a4534;background:#19231b95;font-variant-numeric:tabular-nums}.resource{display:flex;align-items:center;gap:8px}.resource svg{width:17px;height:17px;color:var(--gold)}.resource[data-resource=wood] svg{color:#b7a078}.resource[data-resource=stone] svg{color:#a6afad}.resource[data-resource=ore] svg{color:#9db9ca}.resource[data-resource=essence] svg{color:#a798d0}.resource strong{font-weight:600;font-size:13px}.resource-label{color:var(--muted);font-size:11px}.game-layout{display:grid;grid-template-columns:226px minmax(0,1fr) 286px;max-width:1800px;margin:auto;gap:18px;padding:24px 26px 20px;align-items:start}.left-panel,.right-panel{border:1px solid var(--line);border-radius:9px;background:linear-gradient(135deg,#23302580,#18211ded);box-shadow:0 8px 24px #0002}.left-panel{padding:19px 16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:7px}.panel-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.depth-tag{font-size:9px;border:1px solid #566049;border-radius:3px;white-space:nowrap;padding:3px 5px;color:#bec5ae}.town-summary{display:flex;gap:10px;align-items:center;padding:16px 0 18px}.town-summary strong{font-family:var(--serif);font-size:36px;color:var(--gold-light)}.town-summary span{font-size:11px;line-height:1.6}.town-summary small{font-size:10px;color:var(--muted)}.town-summary>svg{margin-left:auto;color:var(--gold);width:27px;height:27px}.map{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.map-room{position:relative;min-height:64px;background:linear-gradient(145deg,#333c32,#263027);border:1px solid #55604b;color:#b5bdac;border-radius:4px;padding:8px 3px 5px;display:flex;flex-direction:column;align-items:center;gap:5px;transition:background .2s,transform .2s}.map-room svg{width:19px;height:19px}.map-room span{font-size:8px;max-width:58px;text-align:center;line-height:1.3}.map-room small{position:absolute;top:3px;left:4px;font-size:7px;color:#8a947d}.map-room:hover:not(:disabled){background:#465440;transform:translateY(-1px)}.map-room.settled{border-color:#618372;background:#263d32;color:#a9d9c4}.map-room.hostile{border-color:#776445;background:#3a3427;color:#d3bb83}.map-room.cleared{border-color:#667764;background:#34442d;color:#cbddab}.map-room.unexplored{color:#8b9685}.map-room.current{outline:2px solid var(--gold);outline-offset:2px}.map-room:disabled{opacity:.42}.map-room.current:disabled{opacity:1}.map-key{display:flex;gap:10px;margin-top:12px;color:#a5b09e;font-size:8px}.map-key span{display:flex;align-items:center;gap:4px}.map-key i{width:6px;height:6px;border-radius:2px}.key-town{background:#78b299}.key-frontier{background:#c2a46b}.key-unknown{background:#61715e}.objective-card{border-top:1px solid var(--line);padding-top:19px;margin-top:19px}.objective-card .eyebrow{color:var(--gold);font-size:8px}.objective-card h2{font-size:19px;margin:8px 0}.objective-card p{color:var(--muted);font-size:11px;line-height:1.65}.objective-track{display:flex;gap:5px;margin:13px 0 0}.objective-track i{height:3px;background:#3c4935;flex:1}.objective-track i.done{background:var(--gold)}.retreat-button{display:flex;align-items:center;gap:10px;width:100%;margin-top:19px;background:#2c3829;border:1px solid #556347;border-radius:5px;padding:11px 8px;text-align:left}.retreat-button:hover{background:#3c4c35}.retreat-button>svg{color:var(--gold);width:18px}.retreat-button>svg:last-child{width:13px;margin-left:auto}.retreat-button span{font-size:11px}.retreat-button small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.journal{margin-top:21px;border-top:1px solid var(--line);padding-top:17px}.journal .eyebrow{font-size:8px}.journal ol{list-style:none;padding:0;margin:12px 0 0}.journal li{border-left:1px solid #536047;margin:0 0 9px;padding-left:9px;color:#a9b3a0;font-size:10px;line-height:1.5}.journal li:first-child{color:#e2d7bd;border-left-color:var(--gold)}.adventure-panel{min-width:0}.room-heading{display:flex;justify-content:space-between;gap:12px;padding:0 3px 17px;min-height:95px}.room-heading .eyebrow{color:var(--gold);font-size:8px}.room-heading h1{font-size:29px;margin:5px 0 7px}.room-heading p{color:var(--muted);font-size:11px;line-height:1.5}.room-number{font-family:var(--serif);font-size:28px;color:#77836b;padding-top:12px;white-space:nowrap}.room-number span{font-family:var(--sans);font-size:11px;color:#5e6b55}.viewport{position:relative;background:#0c1210;border:1px solid #515644;box-shadow:0 12px 35px #0005,inset 0 0 30px #0008;overflow:hidden;border-radius:7px;aspect-ratio:960/620}.viewport:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 26px #080e0bad;border-radius:7px}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.room-hint{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);border:1px solid #5e69544d;background:#18231ce8;border-radius:30px;display:flex;gap:8px;align-items:center;padding:9px 13px;font-size:10px;color:#d1d9c6;pointer-events:none;z-index:2;line-height:1.45}.room-hint svg{width:15px;height:15px;color:var(--gold)}.hero-bar{display:flex;align-items:center;gap:13px;margin:16px 0 14px;padding:0 4px}.hero-avatar{background:linear-gradient(135deg,#a59a66,#3b5b4c);border:1px solid #8b9667;display:flex;align-items:center;justify-content:center;width:45px;height:51px;border-radius:18px 18px 5px 5px;box-shadow:inset 0 0 15px #1b271a99}.hero-avatar svg{width:28px;height:28px;stroke:#e8dfbc}.hero-details{flex:1;min-width:0}.hero-name{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:7px}.hero-name strong{font-weight:600}.hero-name>span{color:var(--gold);font-size:10px}.health-row,.xp-row{display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums}.health-row svg{width:12px;height:12px;color:#bd8472}.health-row>span,.xp-row>span{min-width:63px;text-align:right;font-size:9px;color:#bbc5b0}.meter{height:6px;background:#3c4030;border-radius:5px;overflow:hidden;flex:1}.meter>span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#97614f,#d09c75);border-radius:5px;transition:width .15s}.xp-row{margin:5px 0 0 19px}.xp-meter{height:3px;background:#333d30}.xp-meter>span{background:var(--teal);width:0}.hero-stats{display:flex;gap:12px;margin-left:14px}.hero-stats>span{display:flex;align-items:center;gap:5px;color:#ddd6c0;font-size:13px}.hero-stats svg{color:#a9b39c;width:17px;height:17px}.action-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.action-button{display:flex;align-items:center;text-align:left;gap:8px;background:linear-gradient(135deg,#303b2b,#243124);border:1px solid #4b593e;border-radius:5px;min-height:57px;padding:8px 10px;transition:background .15s,border-color .15s}.action-button:hover:not(:disabled){background:#42523a;border-color:#8a9266}.action-button>svg{color:var(--gold);width:21px;height:21px}.action-button>span{font-size:11px;line-height:1.2;flex:1}.action-button small{display:block;font-size:8px;color:#afb7a1;line-height:1.4;margin-top:4px}.action-button kbd{font-size:8px;padding:2px 4px}.control-note{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#93a087;margin:15px 3px 0;line-height:1.8}.control-note kbd{font-size:8px}.local-note{white-space:nowrap}.panel-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 9px}.panel-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;position:relative;padding:16px 3px;flex:1;background:transparent;color:#abb6a1;font-size:11px;border-bottom:2px solid transparent;margin-bottom:-1px}.panel-tabs button:hover{color:var(--gold-light)}.panel-tabs svg{width:15px;height:15px}.panel-tabs .active{color:var(--gold-light);border-bottom-color:var(--gold)}#skill-badge{font-size:8px;background:var(--gold);color:#292e1e;border-radius:50%;padding:1px 4px}.panel-content{padding:19px 15px;max-height:690px;overflow:auto;scrollbar-width:thin;scrollbar-color:#5f6b52 transparent}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.section-label .eyebrow{font-size:8px}.section-label small{color:var(--muted);font-size:9px}.equipped-card{display:flex;align-items:center;gap:11px;background:#131e1790;border:1px solid #3b4d3e;border-radius:6px;margin-bottom:8px;padding:11px 10px}.item-icon{display:flex;justify-content:center;align-items:center;width:38px;height:38px;background:radial-gradient(ellipse,#53634466,#2a362299);border:1px solid #66775366;border-radius:5px;color:#cdd6aa;flex-shrink:0}.item-icon svg{width:24px;height:24px}.rarity-rare .item-icon{color:#8acdd9;border-color:#527e8c;background:#28485366}.rarity-epic .item-icon{color:#c5a1ea;border-color:#7d5d93;background:#53365f66}.item-info{min-width:0;flex:1}.item-info small{font-size:8px;text-transform:uppercase;letter-spacing:1.2px;color:#98aa8e}.item-info strong{font-family:var(--serif);font-size:14px;font-weight:400;display:block;margin:3px 0 4px;color:#eee8d1}.rarity-rare .item-info strong{color:#9ed7df}.rarity-epic .item-info strong{color:#d2b2ef}.item-info span{font-size:10px;color:#adb9a3}.item-rank{font-size:10px;color:var(--gold);align-self:flex-start}.pack-divider{border-top:1px solid var(--line);margin:21px 0 17px}.pack-item{background:#232f2399;border:1px solid #45543c;border-radius:6px;padding:12px;margin-bottom:9px}.pack-item-header{display:flex;gap:10px;align-items:center}.pack-item .item-icon{width:34px;height:34px}.item-description{font-size:10px;color:#aeb89f;line-height:1.6;margin:8px 0 10px}.item-controls{display:flex;gap:7px;align-items:center}.small-button{border:1px solid #7b8358;background:#3b482b;color:#e6dfc4;border-radius:4px;font-size:10px;padding:7px 10px;min-height:32px}.small-button:hover:not(:disabled){background:#53633b}.small-button.secondary{border-color:#526448;background:#293929;color:#c0cdb0}.item-controls .equipped-label{color:var(--teal);font-size:10px;padding-right:8px}.forge-note,.empty-note,.tab-intro{font-size:11px;color:#a9b69e;line-height:1.75}.forge-note{background:#27362680;border-left:2px solid #657b50;padding:10px;margin:15px 0 0;font-size:10px}.skill-points{display:flex;align-items:center;gap:11px;background:#42483380;border:1px solid #73795166;padding:13px;border-radius:6px;margin:14px 0 17px}.skill-points svg{color:var(--gold);width:23px;height:23px}.skill-points strong{color:var(--gold-light);font-size:24px;font-family:var(--serif);font-weight:400}.skill-points span{font-size:10px;line-height:1.6;color:#c4cdb4}.skill-card{padding:15px 0;border-top:1px solid var(--line)}.skill-card-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.skill-card h3{font-family:var(--serif);font-size:19px;font-weight:400;margin:0}.skill-ranks{display:flex;gap:3px}.skill-ranks i{width:7px;height:7px;background:#364631;border:1px solid #617251}.skill-ranks i.filled{background:var(--gold);border-color:var(--gold)}.skill-card p{color:#acb99f;font-size:10px;line-height:1.7;margin:8px 0 11px}.build-card{padding:13px;margin-bottom:10px;background:#26332699;border:1px solid #475a40;border-radius:6px}.build-card-heading{display:flex;gap:10px;align-items:center}.build-card-heading>svg{width:26px;height:26px;color:var(--gold)}.build-card h3{font-family:var(--serif);font-size:19px;font-weight:400;margin:0 0 3px}.build-card small{font-size:9px;color:var(--teal)}.build-card p{font-size:10px;line-height:1.65;color:#aeb99f;margin:10px 0}.cost-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;color:#c4cdb2;font-size:10px}.cost{display:flex;gap:4px;align-items:center}.cost svg{width:13px;height:13px;color:#b4ba8e}.cost.insufficient{color:#e79a88}.build-card .small-button{width:100%}.settled-banner{padding:22px 12px;text-align:center;border:1px solid #5c7960;border-radius:6px;background:radial-gradient(ellipse at 50% 0,#3f593880,transparent)}.settled-banner>svg{width:42px;height:42px;color:var(--gold);margin:0 0 12px}.settled-banner h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:0 0 9px}.settled-banner p{font-size:11px;color:#b4c3a7;line-height:1.7}.town-buildings{margin-top:19px}.town-building{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.town-building>svg{color:var(--teal);width:18px;height:18px}.town-building strong{display:block;font-size:11px;font-weight:500}.town-building small{color:#98aa8e;font-size:9px}.town-building>span:last-child{font-size:9px;color:#87977b;margin-left:auto}.pause-overlay{position:absolute;inset:0;background:#0c1516de;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;backdrop-filter:blur(3px)}.pause-overlay h2{font-size:37px;margin:14px 0}.pause-overlay p{color:#b8c2ac;font-size:13px;margin-bottom:23px}.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;border:1px solid #ebd098;background:linear-gradient(135deg,#e3c181,#c5a15d);color:#26301f;border-radius:4px;font-weight:650;font-size:13px;padding:13px 23px;box-shadow:0 6px 18px #0003}.gold-button:hover{background:linear-gradient(135deg,#f2d9a2,#d5b672);transform:translateY(-1px)}.gold-button>svg{width:18px;height:18px}.toast{position:absolute;left:50%;top:16px;transform:translateX(-50%);max-width:90%;z-index:7;background:#e7d7aecf;backdrop-filter:blur(7px);border:1px solid #fff4c8;color:#253021;padding:10px 17px;border-radius:5px;text-align:center;font-size:12px;line-height:1.5;box-shadow:0 6px 25px #0006}.toast.error{background:#5a342ee8;border-color:#a97366;color:#f0d1c4}.welcome{position:fixed;inset:0;z-index:30;background:#101d1d;overflow:auto;display:flex;align-items:center;justify-content:center;min-height:100dvh}.welcome-art{position:absolute;inset:0;background:url('assets/hollowtown-cover.png') center/cover no-repeat}.welcome-shade{position:absolute;inset:0;background:linear-gradient(90deg,#081715c9,#101b1566 55%,#111b1460),linear-gradient(0deg,#0e191ef7,transparent 60%,#0b121840)}.welcome-content{position:relative;text-align:center;max-width:850px;padding:70px 25px 45px;text-shadow:0 3px 15px #06120b;animation:arrive 1s ease both}.welcome-kicker{display:flex;align-items:center;justify-content:center;gap:15px;font-size:10px;letter-spacing:4px;color:#e9d5a4}.welcome-kicker i{height:1px;width:35px;background:#bca97880}.welcome h2{font-family:var(--serif);font-size:clamp(65px,10vw,125px);letter-spacing:-5px;line-height:1.12;color:#f4e5b9;margin:20px 0 23px}.welcome-subtitle{font-family:var(--serif);font-size:clamp(22px,3vw,31px);line-height:1.45;color:#e9e7d3}.welcome-description{font-size:13px;line-height:1.9;margin:22px 0 27px;color:#d0d9c9}.welcome-actions{display:flex;flex-direction:column;align-items:center;gap:14px}.welcome .gold-button{min-width:250px;min-height:52px;font-size:14px;padding:16px 28px;box-shadow:0 7px 25px #0006;text-shadow:none}.welcome-secondary{background:transparent;color:#ded8c1;padding:6px;border-bottom:1px solid #a6ad9070;font-size:11px}.welcome-features{display:flex;justify-content:center;gap:32px;margin-top:45px;color:#cbd2b9;font-size:11px}.welcome-features span{display:flex;align-items:center;gap:8px}.welcome-features svg{color:#d5c48f;width:19px;height:19px}.welcome-footer{font-size:9px;letter-spacing:1px;color:#a4b09c;margin:32px 0 0}.paper-dialog{max-width:600px;width:calc(100% - 36px);max-height:90dvh;border:1px solid #7a8060;border-radius:9px;background:linear-gradient(135deg,#2b382b,#19251e);color:var(--text);padding:35px;box-shadow:0 22px 90px #0009}.paper-dialog::backdrop{background:#0b1412d9;backdrop-filter:blur(5px)}.paper-dialog h2{font-size:32px;margin:10px 0 15px;color:#ecd5a5;line-height:1.2}.paper-dialog p{font-size:12px;color:#bdc9b2;line-height:1.85;margin-bottom:17px}.paper-dialog b{color:#e6dfc3;font-weight:500}.paper-dialog .gold-button{margin-top:7px}.dialog-close{position:absolute;right:12px;top:10px;background:transparent;font-size:27px;line-height:1;color:#b8c5a7;width:35px;height:35px}.guide-controls{display:grid;grid-template-columns:1fr 1.3fr;gap:12px 15px;border-block:1px solid #526146;margin:20px 0;padding:18px 0;color:#b6c5a8;font-size:11px}.guide-controls strong{font-weight:500;color:#e6e1ca}.small-dialog{max-width:420px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;align-items:center}.victory-dialog{text-align:center;padding:45px 35px}.victory-dialog h2{font-size:36px}.victory-stats{display:flex;justify-content:center;gap:28px;margin:25px 0}.victory-stats strong{display:block;font-size:32px;font-family:var(--serif);color:var(--gold)}.victory-stats span{font-size:10px;color:#b4c6a7}.touch-movement{display:none}.no-script{position:fixed;inset:0;background:#13241a;z-index:100;display:grid;place-items:center;font-size:20px}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.game-layout{grid-template-columns:245px minmax(0,1fr) 310px;gap:24px;padding:27px 35px}.left-panel{padding:21px}.room-heading h1{font-size:34px}.map-room{min-height:75px}.panel-content{max-height:850px}.action-button{min-height:64px}.action-button>span{font-size:12px}.action-button small{font-size:9px}}
@media(max-width:1180px){.game-layout{grid-template-columns:185px minmax(0,1fr) 245px;gap:12px;padding:20px 16px}.left-panel{padding:15px 11px}.panel-heading .eyebrow{font-size:7px}.map{gap:5px}.map-room{min-height:59px}.map-room span{font-size:7px}.action-bar{gap:5px}.action-button{gap:5px;padding:8px 7px}.action-button>svg{width:17px}.action-button kbd{display:none}.action-button small{font-size:7px}.hero-stats{gap:8px;margin-left:2px}.control-note{display:block}.local-note{display:none}.room-heading h1{font-size:26px}.panel-content{padding:16px 12px}.resource-strip{gap:24px}.retreat-button{gap:7px}.retreat-button small{font-size:7px}.save-status{display:none}}
@media(max-width:940px){.game-layout{grid-template-columns:minmax(0,1fr) 255px;gap:16px}.left-panel{grid-column:1/-1;display:grid;grid-template-columns:150px minmax(220px,1fr) 230px;align-items:center;gap:15px;padding:14px 17px}.panel-heading,.map-key,.journal,.objective-card{display:none}.town-summary{padding:0}.map{grid-template-columns:repeat(9,1fr);gap:6px}.map-room{min-height:50px;padding:6px 2px}.map-room span{font-size:7px}.map-room small{display:none}.map-room svg{width:16px}.retreat-button{margin:0;padding:10px}.retreat-button small{font-size:8px}.room-heading{min-height:85px}.room-heading h1{font-size:28px}.masthead{padding:17px 20px}.resource-strip{gap:25px}.welcome h2{letter-spacing:-3px}}
@media(max-width:720px){.game-layout{display:flex;flex-direction:column;padding:14px 12px;gap:16px}.masthead{padding:14px 15px;gap:10px}.brand{gap:9px}.brand-mark{width:29px;height:35px}.wordmark{font-size:25px}.brand .eyebrow{font-size:6px;letter-spacing:1.4px}.header-actions{gap:6px}.header-actions .quiet-button{padding:7px 9px;min-height:34px;font-size:10px}.header-actions .quiet-button svg{width:13px;height:13px}#pause-btn span{display:none}.icon-button{width:32px;min-height:34px;padding:6px}.icon-button svg{width:16px}.resource-strip{justify-content:space-between;gap:8px;padding:10px 16px}.resource{gap:5px}.resource svg{width:14px;height:14px}.resource-label{display:none}.resource strong{font-size:11px}.left-panel{width:100%;display:block;padding:12px}.town-summary,.retreat-button{display:none}.map{grid-template-columns:repeat(9,1fr);gap:5px}.map-room{min-height:44px;padding:6px 1px;gap:3px}.map-room svg{width:16px;height:16px}.map-room span{font-size:6px;line-height:1.2}.adventure-panel,.right-panel{width:100%}.room-heading{padding:0 4px 12px;min-height:76px}.room-heading h1{font-size:27px;margin:3px 0 6px}.room-heading p{font-size:10px}.room-heading .eyebrow{font-size:7px}.room-number{font-size:24px;padding-top:13px}.room-hint{font-size:8px;bottom:8px;padding:7px 9px;border-radius:5px;max-width:90%;width:max-content}.room-hint svg{width:12px;height:12px}.hero-bar{margin:12px 0}.hero-avatar{width:33px;height:43px}.hero-avatar svg{width:21px}.hero-stats>span{font-size:12px}.hero-stats svg{width:14px}.hero-details{min-width:0}.hero-name{font-size:10px}.health-row>span,.xp-row>span{font-size:8px;min-width:53px}.action-button{min-height:52px;padding:7px 5px;gap:4px;flex-direction:column;text-align:center}.action-button>svg{width:17px;height:17px}.action-button>span{font-size:10px}.action-button small{font-size:7px}.control-note{font-size:8px;margin:10px 3px 0;text-align:center}.panel-tabs button{padding:14px 5px;font-size:12px}.panel-content{max-height:none;min-height:240px;padding:18px}.equipped-card{display:inline-flex;width:calc(50% - 5px);margin-right:5px;vertical-align:top}.equipped-card:last-of-type{margin-right:0}.item-info strong{font-size:13px}.pack-item{margin-bottom:11px}.welcome-content{padding:70px 20px 35px}.welcome h2{font-size:clamp(62px,13vw,90px);letter-spacing:-3px}.welcome-kicker{font-size:8px;letter-spacing:3px;gap:10px}.welcome-kicker i{width:20px}.welcome-subtitle{font-size:23px}.welcome-description{font-size:11px;margin:20px 0 25px}.welcome-description br{display:none}.welcome-features{gap:18px;font-size:9px;margin-top:35px}.welcome-features svg{width:16px;height:16px}.welcome-footer{font-size:8px;letter-spacing:.6px;margin-top:28px}.paper-dialog{padding:28px 22px}.paper-dialog h2{font-size:28px}.paper-dialog p{font-size:11px}.guide-controls{font-size:10px;gap:11px}.pause-overlay h2{font-size:29px}.pause-overlay p{font-size:10px;margin-bottom:15px}.pause-overlay .gold-button{font-size:11px;min-height:38px;padding:10px 16px}.toast{font-size:10px;top:10px;padding:8px 12px}}
@media(pointer:coarse){.touch-movement{display:grid;grid-template-columns:40px 40px 40px;grid-template-rows:34px 34px;justify-content:center;gap:4px;margin:14px 0 0;touch-action:none}.touch-movement button{background:#303e2b;border:1px solid #64754e;border-radius:4px;font-size:20px;touch-action:none;user-select:none}.touch-movement button:active{background:#637247}.touch-movement button[data-move=up]{grid-column:2;grid-row:1}.touch-movement button[data-move=left]{grid-column:1;grid-row:2}.touch-movement button[data-move=right]{grid-column:3;grid-row:2}.touch-movement button[data-move=down]{grid-column:2;grid-row:2}.touch-movement span{grid-column:1;grid-row:1;font-size:7px;align-self:end;justify-self:center;color:var(--muted)}.quiet-button,.small-button{min-height:44px}.map-room{min-height:44px}.panel-tabs button{min-height:48px}.touch-movement button{min-height:34px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.gold-button:hover{transform:none}}
body.in-menu{overflow:hidden}.upgrade-cost{margin:9px 0 0}.town-intro{margin-bottom:15px}
.rarity-legendary .item-icon{color:#f0c969;border-color:#ba8b45;background:#5f4a2366}.rarity-legendary .item-info strong{color:#f3d691}.gear-comparison{font-size:9px;margin:0 0 10px;line-height:1.5}.gear-comparison.better{color:#96cab0}.gear-comparison.worse{color:#c4aa91}.pack-trade-note{font-size:9px;color:#aab79f;line-height:1.65;margin:0 0 14px}.trade-controls{display:flex;gap:6px;margin-top:12px;padding-top:11px;border-top:1px solid #45543c}.trade-controls .small-button{font-size:9px;flex:1}.salvage-preview{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px;color:#b9c6ac;font-size:9px}.salvage-preview>span:first-child{color:#899c7d}.trade-yield{padding:15px;background:#223521;border:1px solid #4b633e;border-radius:5px;margin:20px 0}.trade-yield .cost{font-size:16px}.trade-yield svg{width:21px;height:21px}.facility-level{display:block;font-size:8px;letter-spacing:1.4px;color:#b7c597;margin:0 0 9px}.facility-cost{justify-content:center;margin-top:15px}.facility-note{font-size:9px!important;margin-top:10px!important;line-height:1.5!important;color:#8fa580!important}.build-reason{font-size:9px!important;margin:8px 0 0!important;color:#bfa788!important}.depth-route{display:flex;gap:5px;margin:15px 0 0;padding-top:12px;border-top:1px solid var(--line)}.depth-stop{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;flex:1;text-align:center;color:#6d7a68;font-size:7px;line-height:1.3}.depth-stop b{font-family:var(--serif);font-size:13px;font-weight:400}.depth-stop.unlocked{color:#a7baa0}.depth-stop.active{color:var(--gold)}.stair-links{margin-top:13px}.stair-link{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #5b7d6c;background:#26443788;border-radius:5px;color:#c7e5d6;text-align:left;width:100%}.stair-link span{font-size:10px}.stair-link small{display:block;font-size:8px;color:#a4c3ac;line-height:1.5;margin-top:4px}.stair-link svg{width:19px;color:var(--gold)}.crew-overview{display:flex;gap:10px;background:#263b2a;border:1px solid #496344;border-radius:6px;padding:15px 10px;margin:16px 0}.crew-overview>div{flex:1;text-align:center}.crew-overview svg{display:block;margin:0 auto 8px;width:20px;color:var(--gold)}.crew-overview strong{display:block;color:#e6d6a8;font-family:var(--serif);font-size:25px;font-weight:400;margin-bottom:4px}.crew-overview span{font-size:9px;color:#b1c6a6}.shift-status{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 9px;font-size:10px;color:#afc3a4}.shift-status strong{font-weight:500;color:var(--gold)}.shift-status .meter{flex-basis:100%;height:4px}.shift-status .meter span{background:var(--teal);transition:none}.crew-food-note{font-size:9px;line-height:1.65;color:#a7b796}.crew-section{margin-top:21px}.hire-card{padding:13px 10px;border:1px solid #47613f;border-radius:6px;background:#22362180;margin-bottom:10px}.hire-card h3{margin:0 0 5px;font-family:var(--serif);font-size:20px;font-weight:400}.hire-card small{display:block;font-size:9px;color:#aebca0;line-height:1.6}.hire-card .build-card-heading>svg{width:23px}.hire-card>.small-button{width:100%}.worker-yields{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:12px 0;color:#c3d2b4;font-size:10px}.worker-yields>span:last-child{font-size:8px;color:#8ba07f}.worker-card{border:1px solid #455d3e;background:#24332190;padding:13px 10px;border-radius:6px;margin-bottom:11px}.worker-heading{display:flex;gap:9px;align-items:center}.worker-heading .item-icon{width:33px;height:33px}.worker-heading strong{display:block;font-family:var(--serif);font-size:17px;font-weight:400;margin:0 0 3px}.worker-heading small{font-size:9px;color:#a4b799}.worker-status{margin-left:auto;align-self:flex-start;color:#c5a37b;font-size:8px;padding:4px 5px;background:#493e2680;border-radius:3px}.worker-status.working{color:#a9d5b5;background:#365a3d80}.worker-xp{margin-top:12px;height:3px}.worker-xp>span{background:var(--teal)}.worker-xp-label{font-size:8px;color:#91a583;margin-top:5px}.worker-assignment{display:flex;align-items:end;gap:8px;border-top:1px solid #405338;padding-top:10px}.worker-assignment label{flex:1;font-size:8px;color:#a2b394}.worker-assignment select{display:block;width:100%;color:#d1dec5;background:#1b2b19;border:1px solid #57734d;border-radius:4px;padding:7px;font-size:11px;margin-top:4px;min-height:34px}.worker-assignment button{font-size:9px}.production-report{padding:12px 10px;background:#304a2c80;border-left:2px solid #799758;margin-top:14px}.production-report>span{font-size:9px;color:#bdd0ae}.production-report .cost-row{margin:10px 0 0}.panel-tabs{padding:0 5px}.panel-tabs button{gap:4px;font-size:10px}.panel-tabs svg{width:13px;height:13px}.resource[data-resource=food] svg{color:#9cbd7c}
@media(max-width:940px){.depth-route{display:none}.stair-links{grid-column:1/-1;display:flex;justify-content:flex-end;margin:0}.stair-link{width:auto;min-width:210px}.stair-link small{display:none}}
@media(max-width:720px){.depth-route{display:none}.stair-links{grid-column:1/-1;margin-top:4px}.stair-link{width:100%;min-height:44px}.stair-link small{display:block}.panel-tabs button{font-size:11px;gap:6px}.panel-tabs svg{width:15px;height:15px}.crew-overview strong{font-size:28px}.worker-assignment select{min-height:44px}.crew-food-note{font-size:10px}.worker-xp-label{font-size:9px}.hire-card .small-button,.trade-controls .small-button{min-height:38px}}
@media(max-width:420px){.resource-strip{flex-wrap:wrap;row-gap:7px}}
@media(min-width:941px) and (max-height:850px){.masthead{padding-top:13px;padding-bottom:12px}.brand-mark{width:35px;height:41px}.wordmark{font-size:28px}.resource-strip{padding-top:8px;padding-bottom:8px}.game-layout{padding-top:15px;padding-bottom:12px}.room-heading{min-height:74px;padding-bottom:12px}.room-heading h1{font-size:26px;margin-top:3px;margin-bottom:5px}.viewport{max-height:calc(100dvh - 350px)}.hero-bar{margin:12px 0}.action-button{min-height:51px}.control-note{margin-top:9px}.left-panel{max-height:calc(100dvh - 145px);overflow:auto;scrollbar-width:thin;scrollbar-color:#5f6b52 transparent}.panel-content{max-height:calc(100dvh - 202px)}}
@media(max-width:720px){.left-panel{display:grid;grid-template-columns:minmax(90px,1fr) minmax(160px,1.5fr);gap:8px 15px;align-items:center}.map{grid-template-columns:repeat(3,1fr);grid-column:2;grid-row:1 / span 2;gap:6px}.map-room{min-height:45px}.map-room span{font-size:7px}.town-summary{display:flex;grid-column:1;grid-row:1;padding:2px 0;gap:7px}.town-summary strong{font-size:32px}.town-summary span{font-size:9px}.town-summary>svg{display:none}.town-summary small{font-size:8px}.retreat-button{display:flex;grid-column:1;grid-row:2;margin:0;min-height:47px;padding:8px 7px}.retreat-button>svg{width:15px}.retreat-button>svg:last-child{display:none}.retreat-button small{display:none}.retreat-button span{font-size:9px}.header-actions .quiet-button{min-height:38px}.touch-movement{grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px}.touch-movement button{min-height:44px}}
.panel-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 3px}.panel-tabs button{padding:13px 2px;min-width:0;flex-direction:column;gap:5px;font-size:9px}.panel-tabs svg{width:16px;height:16px}.civic-title{font-size:23px;margin:8px 0 10px;color:#ead7ab}.civic-plans{padding-top:23px;border-top:1px solid #4d5e45;margin-top:24px}.civic-plans:first-child{padding:0;border:0;margin:0 0 25px}.city-meter{height:5px;margin:15px 0 20px}.city-meter span{background:#d0b67d}.project-card,.contract-card,.companion-card{padding:15px 12px;border:1px solid #53634a;background:linear-gradient(145deg,#34443188,#20322699);border-radius:6px;margin:12px 0}.project-card h3,.contract-card h3,.companion-card h3{font:400 21px Georgia;margin:7px 0 9px;color:#e7d8b6}.project-card p,.contract-card p,.companion-card p{font-size:10px;line-height:1.7;color:#b0c0a6;margin-bottom:12px}.project-card .small-button,.contract-card .small-button{width:100%;margin-top:8px}.project-tag{color:#c8b98d;font-size:8px;letter-spacing:1px;line-height:1.5}.project-card.complete,.contract-card.complete{background:#2d483333;border-color:#4e6a51}.contract-card.complete{opacity:.7}.xp-reward{color:#c3b2da;font-size:10px}.caravan-card{border-color:#9c8854}.room-trait{padding:12px;border-left:2px solid #91a879;background:#47604333;margin-bottom:17px}.room-trait strong{font:400 17px Georgia;color:#d5dcb8}.room-trait p{font-size:10px;line-height:1.6;color:#aebd9f;margin-top:6px}.companion-name{display:flex;gap:10px;align-items:center}.companion-name h3{margin:0 0 3px}.companion-name small{font-size:9px;color:#a8bd9f}.companion-name b{margin-left:auto;font-size:8px;color:#cdb783;font-weight:400}.companion-card.selected{border-color:#bdac72;background:linear-gradient(145deg,#4a503366,#293c2b)}.companion-card p{margin-top:12px}.companion-portrait{display:flex;width:39px;height:43px;border-radius:18px 18px 4px 4px;align-items:center;justify-content:center;background:#263e36;border:1px solid var(--ally);color:var(--ally)}.companion-portrait svg{width:24px;height:24px}.ally-stats{font-size:10px;line-height:1.8;color:#bbcaaf}.ally-xp{height:3px;margin:9px 0 13px}.ally-xp span{background:#b8b0ce}.companion-card .cost-row{margin-top:10px}.companions{padding-bottom:15px;margin-bottom:20px;border-bottom:1px solid #4b5c41}.companion-status{font-size:10px;color:#bdcda9;margin:-4px 4px 12px;padding-left:10px;border-left:2px solid #90ab8a}.workplace-note{font-size:9px;line-height:1.65;color:#acbd9e;margin-top:12px}.workplace-note b{color:#d7c48e;font-weight:500}.worker-assignment+.worker-assignment{margin-top:10px}.trophy-case{margin-top:25px;border-top:1px solid #536448;padding-top:18px}.trophy-case>div{display:flex;gap:10px;align-items:center;padding-top:15px;color:#e0c486;font-size:11px}.trophy-case small{display:block;color:#9eb391;font-size:8px;margin-top:5px}.town-building{width:100%;text-align:left;background:none;color:inherit;border:0;border-bottom:1px solid #41513c}.town-building:hover{background:#40523b66}.city-view .room-hint,.city-view .touch-movement{display:none}.city-view .viewport{border-color:#90956c}.city-view #city-view-btn{border-color:#d3b875;color:#ead09a}.city-view canvas{cursor:pointer}
@media(max-width:720px){#city-view-btn{padding:7px 9px;font-size:10px}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.panel-tabs button{min-height:53px;font-size:11px}.project-card p,.contract-card p,.companion-card p{font-size:12px}.project-tag{font-size:9px}.small-button{min-height:40px}.companion-card .item-controls{flex-wrap:wrap}.civic-title{font-size:26px}.workplace-note{font-size:11px}.ally-stats{font-size:11px}.companion-status{font-size:11px}}

.people-switch{display:flex;gap:6px;border-bottom:1px solid #506047;padding-bottom:13px;margin-bottom:20px}.people-switch button{flex:1;border:1px solid #516349;background:#273a2a;color:#c4cdb2;padding:10px 7px;border-radius:4px;font-size:10px;min-height:39px}.people-switch button[aria-pressed=true]{border-color:#c7b279;color:#f0d8a5;background:#5b573344}.people-switch+.companions{border:0;margin:0;padding:0}@media(min-width:941px){.city-view .game-layout{grid-template-columns:minmax(0,1fr) 286px}.city-view .left-panel{display:none}.city-view .viewport{max-height:none}.city-view .right-panel{position:sticky;top:16px}}

.specialist-encounter{display:flex;align-items:center;gap:11px;border:1px solid #7f7954;background:linear-gradient(110deg,#3f4930,#233d30);padding:11px 13px;border-radius:6px;margin:12px 0}.encounter-portrait{display:flex;align-items:center;justify-content:center;border:1px solid #8f956d;border-radius:14px 14px 4px 4px;min-width:36px;height:40px;background:#253a31}.encounter-portrait svg{width:23px;height:23px}.specialist-encounter>div{flex:1;min-width:0}.specialist-encounter strong{font:400 18px Georgia;color:#e6d7af;display:block}.specialist-encounter small{font-size:10px;line-height:1.5;color:#b7c6aa;display:block;margin-top:5px}.specialist-encounter .small-button{flex-shrink:0;min-height:39px}.meal-status{font-size:10px;color:#d6c68c;margin:0 4px 13px;padding:8px 10px;background:#6b623022;border-left:2px solid #a7a067}.specialist-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}.specialist-roster button{display:flex;align-items:center;gap:9px;min-height:51px;padding:9px 7px;border:1px solid #4e654c;background:#273d2a;border-radius:5px;text-align:left;color:#e0d4b3}.specialist-roster button[aria-pressed=true]{border-color:#cbb373;background:#655d3444}.specialist-roster button>span:last-child{font:400 17px Georgia}.specialist-roster small{display:block;font:9px 'Segoe UI',sans-serif;color:#adbc9d;margin-top:4px}.artisan-card{border:1px solid #5c6b4b;border-top:2px solid var(--artisan);padding:17px 12px;background:linear-gradient(145deg,#31433177,#1d3224aa);border-radius:6px}.artisan-heading{display:flex;align-items:center;gap:13px;margin-bottom:13px}.artisan-portrait{color:var(--artisan);display:flex;align-items:center;justify-content:center;border:1px solid var(--artisan);border-radius:24px 24px 5px 5px;width:49px;height:59px;background:#1b332c}.artisan-portrait svg{width:30px;height:30px}.artisan-heading h3{font:400 30px Georgia;color:#f0deb8;margin:3px 0 0}.artisan-story,.artisan-card blockquote{font-size:11px;line-height:1.8;color:#c0cdb2;margin:0 0 17px}.artisan-card blockquote{font-family:Georgia;font-size:15px;border-left:2px solid var(--artisan);padding-left:11px;color:#d9cfb2}.artisan-card h4{font:400 21px Georgia;color:#e4d3ae;margin:15px 0 10px}.shop-location{font-size:10px;color:#b9c9ab;line-height:1.6;margin-bottom:14px}.artisan-assignment{display:block;color:#b4c3a5;font-size:9px;margin:16px 0 8px}.artisan-assignment select{display:block;width:100%;margin-top:6px;padding:9px;color:#d8e1c7;border:1px solid #69805b;background:#1d3020;border-radius:4px;min-height:38px;font-size:11px}.artisan-card>.small-button{width:100%;margin:4px 0}.visit-shop{border-color:#bca568!important}.artisan-improvement{padding:12px 0 17px;border-block:1px solid #4c5e44;margin-top:17px}.artisan-improvement p{font-size:10px;line-height:1.6;color:#b5c5a5;margin-bottom:10px}.artisan-improvement button{width:100%;margin-top:12px}.artisan-recipes{margin-top:22px}.recipe-card{border:1px solid #58694b;border-radius:5px;background:#253a2588;padding:13px 10px;margin:12px 0}.recipe-card h4{font-size:21px;margin:8px 0}.recipe-card>p{font-size:10px;line-height:1.7;color:#bac9ad;margin:8px 0 13px}.recipe-card .small-button{width:100%;margin-top:13px}.recipe-power{display:flex;align-items:center;gap:8px;color:#d6c394;font-size:11px;margin:10px 0 14px}.recipe-power svg{width:16px;height:16px}.refuge-clue{padding:12px;border-left:2px solid var(--artisan);background:#506a3d33;margin:17px 0}.refuge-clue strong{display:block;font:400 19px Georgia;color:#e6d3a8;margin:7px 0}.refuge-clue small{font-size:10px;line-height:1.7;color:#b7caa8;display:block}.recipe-preview{font-size:10px;line-height:1.8;color:#c4b78c;border-top:1px solid #506246;padding-top:14px}.specialist-welcome-quote{font:400 23px/1.6 Georgia;color:#dbcca9!important;margin:24px 0!important}.specialist-dialog .gold-button{margin-top:22px}.people-switch button{padding:9px 4px;font-size:9px;min-width:0}.city-view .specialist-encounter{display:none}
@media(max-width:720px){.artisan-card{padding:20px 16px}.artisan-story,.recipe-card>p,.artisan-improvement p,.refuge-clue small,.shop-location{font-size:12px}.artisan-heading h3{font-size:34px}.recipe-preview{font-size:11px}.recipe-card{padding:15px 12px}.artisan-assignment select{min-height:44px}.people-switch button{font-size:11px;min-height:44px}.specialist-encounter strong{font-size:16px}.specialist-encounter small{font-size:10px}.specialist-encounter{gap:9px;padding:10px}.specialist-encounter .small-button{font-size:10px;min-height:44px}.meal-status{font-size:11px}}

.refuge-mark{position:absolute;top:5px;right:5px;display:flex;align-items:center;justify-content:center;background:#c6a86a;color:#152d28;border:1px solid #f0d39a;border-radius:50%;width:13px;height:13px;font-size:9px;line-height:1}.specialist-roster button:focus-visible,.artisan-assignment select:focus-visible{outline:2px solid #e0c98e;outline-offset:3px}
.expedition-card{position:relative;padding:19px 13px;border:1px solid #6a7756;border-top:2px solid #ba9b61;border-radius:6px;background:linear-gradient(145deg,#4f442c99,#21382d);margin:18px 0}.expedition-card h3{font:400 25px/1.15 Georgia;color:#ead6ac;margin:9px 0 13px}.expedition-card p{font-size:11px;color:#b6c6aa;line-height:1.75;margin:10px 0}.expedition-card>.small-button{width:100%;margin-top:13px;min-height:41px}.biome-observatory{border-top-color:#baa3d5;background:linear-gradient(145deg,#4d3d6399,#223b34)}.biome-vault{border-top-color:#7bbab8;background:linear-gradient(145deg,#2c586099,#233b2f)}.route-glyph{display:flex;align-items:center;justify-content:center;width:45px;height:51px;border:1px solid #9c9769;border-radius:22px 22px 5px 5px;color:#dec38b;background:#152d2c;margin-bottom:15px}.route-glyph svg{width:28px;height:28px}.tier-picker{display:flex;gap:6px;margin:17px 0}.tier-picker button{flex:1;border:1px solid #7a8462;background:#1b3029;color:#b4c3a6;border-radius:4px;min-height:35px;font:15px Georgia}.tier-picker button[aria-pressed=true]{background:#8b7b4844;color:#f1d798;border-color:#dbbd77}.route-reward{font-size:10px!important;color:#c5c0a4!important}.rare-pouch{background:#192e2a;border:1px solid #556b52;border-radius:6px;padding:13px 10px;margin:19px 0}.rare-pouch>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.rare-pouch>div>span{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--rare)}.rare-pouch b{font:400 25px Georgia}.rare-pouch small{font-size:8px;color:#b7c1a7}.rare-name{font-size:8px;margin-left:2px;color:#c5b3dc}.affix-label{font-size:9px;color:#c4b1dc;font-style:normal;display:block;margin-top:5px;line-height:1.5}.haul-items{padding-left:17px;font:14px/1.7 Georgia;color:#d6c094;margin:14px 0}.risk-note{font-size:10px!important;color:#ceac83!important}.expedition-report{padding:14px 12px;border-left:2px solid #93ac82;background:#354c3180;margin:18px 0}.expedition-report h3{font:400 18px Georgia;color:#dbd1b0}.expedition-status{display:flex;align-items:center;gap:12px;padding:12px;background:#413c2899;border:1px solid #a69762;border-radius:6px;margin:12px 0}.expedition-status>div{flex:1}.expedition-status strong{display:block;font:400 17px Georgia;color:#e5d1a3}.expedition-status small{display:block;color:#b7c0a2;font-size:9px;margin-top:6px;line-height:1.5}.expedition-status button{min-height:42px}.expedition-map{grid-template-columns:repeat(2,minmax(0,1fr))}.expedition-map .map-room{min-height:62px}.exp-route-label{font-size:10px;color:#c2b38a}.steward-summary{display:grid;grid-template-columns:1fr 1fr;gap:5px;text-align:center;background:#304c2c66;border:1px solid #59704d;border-radius:6px;padding:16px 8px;margin:18px 0}.steward-summary strong{font:400 31px Georgia;color:#e7d3a1}.steward-summary span{font-size:9px;color:#b6c7a4;grid-row:2}.forecast-card{padding:14px 10px;background:#213c2e;border:1px solid #516d4c;border-radius:6px;margin:16px 0}.forecast-card>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 8px;margin:17px 0}.forecast-card>div>span{display:flex;flex-direction:column;align-items:center;color:#acd4ae;gap:5px}.forecast-card b{font:400 23px Georgia}.forecast-card small{font-size:9px;color:#b6c7a8}.forecast-card .deficit{color:#dfa48b}.forecast-card p{font-size:9px;line-height:1.7;color:#a6ba99}.policy-card{display:flex;gap:12px;align-items:center;border-block-end:1px solid #4d6545;padding:17px 0}.policy-card h3{font:400 20px Georgia;margin:0 0 8px;color:#dfcfab}.policy-card p{font-size:10px;line-height:1.7;color:#aabd9e}.policy-card button{min-width:45px;flex-shrink:0}.policy-card button[aria-pressed=true]{border-color:#acb97c;background:#66815355;color:#deebc3}.target-workers{display:flex;align-items:end;gap:9px;margin:18px 0}.target-workers label{font-size:9px;color:#b7c6aa;flex:1}.target-workers select{display:block;width:100%;margin-top:6px;min-height:37px;padding:8px;background:#213623;color:#d7dfc8;border:1px solid #667c54;border-radius:4px}.expedition-gate{border-color:#a39863;background:#47483066}.on-expedition .viewport{border-color:#ad9464}
@media(max-width:720px){.expedition-gate{grid-column:1;grid-row:3;margin:0}.expedition-map{grid-column:2;grid-row:1/span 3}.tier-picker button{min-height:44px}.expedition-card p,.policy-card p{font-size:12px}.route-reward{font-size:11px!important}.rare-pouch small,.forecast-card p{font-size:10px}.expedition-status{flex-wrap:wrap}.expedition-status strong{font-size:17px}.expedition-status button{min-height:44px}.expedition-status small{font-size:10px}.target-workers select{min-height:44px}}

@media(max-width:720px){.map{grid-row:1/span 3}.rare-name{font-size:10px}}

/* Town Heart: a civic ledger with clear needs, linked professions and living plans. */
.building-specialists{margin:22px 0 28px;padding:20px 0;border-top:1px solid #596447;border-bottom:1px solid #596447}.building-specialists>h3{font:400 25px Georgia;color:#e4cda0;margin:12px 0}.building-staff-note{font-size:11px;line-height:1.8;color:#b3c1a7}.building-artisan{padding:17px 14px;margin-top:14px;background:linear-gradient(135deg,#3d473044,#233b2c);border:1px solid #657153;border-left:3px solid var(--artisan);border-radius:6px}.building-artisan.assigned{background:linear-gradient(135deg,#50623c44,#213b2c);border-color:#8c9c65}.building-artisan-heading{display:flex;gap:12px;align-items:center}.building-artisan-portrait{display:flex;align-items:center;justify-content:center;width:43px;height:48px;flex-shrink:0;background:#142e2a;border:1px solid var(--artisan);border-radius:22px 22px 5px 5px;color:var(--artisan)}.building-artisan-heading h4{font:400 23px Georgia;color:var(--artisan);margin:0 0 4px}.building-artisan-heading small{font-size:10px;color:#bfcaaf}.building-artisan-state{display:inline-block;font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:#e0ce9e;background:#4d543555;padding:6px 8px;border-radius:3px;margin-top:14px}.building-artisan.assigned .building-artisan-state{color:#cbe0af;background:#4f6a3455}.building-artisan p{color:#bfcab0;font-size:11px;line-height:1.8;margin:12px 0}.building-artisan button{width:100%;min-height:44px;white-space:normal;line-height:1.5}.building-specialists>.small-button{min-height:44px}
@media(max-width:720px){.building-staff-note,.building-artisan p{font-size:12px}.building-artisan-heading small{font-size:11px}.building-artisan-state{font-size:10px}.building-artisan{padding:18px 14px}}
.town-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.town-switch button{font-size:10px;min-width:0;padding:10px 3px;min-height:44px}.heart-heading{padding:20px 0 4px}.heart-heading h2{font:400 29px/1.15 Georgia;color:#e8d4a3;margin:12px 0}.heart-heading p,.heart-section p{color:#b4c0a9;font-size:11px;line-height:1.8}.growth-status{display:flex;gap:9px;align-items:center;background:#3e402c;padding:12px;border:1px solid #77714b;border-radius:5px;color:#dfcf9e;font-size:10px;line-height:1.6;margin:18px 0}.growth-status svg{flex:0 0 21px}.growth-status.growing{border-color:#5d8666;background:#274c3666;color:#bad7aa}.heart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 20px}.heart-metric{display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(145deg,#2e4430,#213529);border:1px solid #476047;border-radius:6px;padding:16px 8px;gap:7px;min-width:0}.heart-metric svg{color:#adc299}.heart-metric strong{font:400 26px Georgia;color:#e0d2aa;overflow-wrap:anywhere}.heart-metric span{font-size:11px;color:#c6d2b5}.heart-metric small{font-size:9px;line-height:1.5;color:#9eaf92}.heart-metric.needs-care{border-color:#a17755;background:#4a392b66}.transition-note{font-size:10px;line-height:1.7;padding:14px;background:#41402b;color:#dfd2ad;border-left:2px solid #c8a667}.heart-section{padding:24px 0;border-bottom:1px solid #4c6044}.heart-section h3{font:400 23px/1.2 Georgia;color:#decca5;margin:11px 0 14px}.heart-section h4{font:400 16px Georgia;color:#d7ccab;margin:9px 0}.pantry-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0}.pantry-row span{display:flex;flex-direction:column;align-items:center;gap:7px;border:1px solid #486044;padding:12px 4px;border-radius:4px;color:#b8c4a5;font-size:9px}.pantry-row strong{font:400 23px Georgia;color:#e4d3aa}.pantry-row svg{color:#a8c28f}.last-supper{border-left:2px solid #a3ae76;background:#33422c;padding:11px;font-size:10px;line-height:1.8;margin:12px 0 16px}.town-needs>div{border:1px solid #947653;padding:12px;margin-top:12px;border-radius:5px;background:#47382a55}.town-needs p{color:#dfbc94}.dependency-chain{display:flex;align-items:center;gap:5px;margin:12px 0;min-width:0}.dependency-chain>span{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;text-align:center;gap:7px;border:1px solid #4d674b;padding:10px 4px;font-size:9px;line-height:1.5;border-radius:5px;background:#30442e55}.dependency-chain b{color:#c2ae78}.hero-support{background:radial-gradient(ellipse at 10% 20%,#68603a33,transparent 70%)}.support-benefits{display:flex;flex-wrap:wrap;gap:9px}.support-benefits>span{padding:8px;background:#4d563555;color:#c9d5a3;border:1px solid #737b4b;border-radius:4px;font-size:10px}.arrival-card{display:flex;gap:12px;background:#33412d88;border:1px solid #5a704d;border-radius:6px;padding:15px 12px;margin-top:16px}.arrival-card>span{color:#d3b87d}.arrival-card h3{font-size:21px;margin-top:0}.arrival-card small{color:#a6be94}.arrival-card button{min-height:44px}.construction-summary{font-size:11px;color:#b9c7a5;line-height:1.8;padding:12px;background:#30402d;border-radius:4px;margin:16px 0}.construction-summary strong{color:#e1ce9f}.construction-job{border:1px solid #6d7551;background:#41432e88;padding:14px;border-radius:5px;margin:12px 0}.construction-job small{display:block;margin:8px 0 12px;color:#b9c69e}.construction-job .meter span{background:#b9b47a}.construction-picker{display:block;color:#b7c4a2;font-size:10px;margin:18px 0 12px}.construction-picker select{width:100%;min-width:0;display:block;min-height:44px;background:#243c2b;border:1px solid #72845c;border-radius:4px;color:#dfd7be;margin-top:8px;padding:8px;font:11px var(--sans)}.town-request{border-left:2px solid #84956a;padding:16px 12px;background:#2d402d88;margin-top:15px}.town-request h3{font-size:22px}.town-request .request-reward{color:#c4d7a9}.town-request button{margin:12px 5px 0 0;min-height:44px}.biome-verdant{background:radial-gradient(ellipse at 0 0,#4a745244,transparent 65%),#1c342c}.worker-status.recovering{color:#e0ad86}
@media(max-width:720px){.town-switch button{font-size:11px;min-height:46px}.heart-heading p,.heart-section p{font-size:12px}.heart-metric small{font-size:10px}.heart-metric{padding:16px 8px}.heart-section{padding-block:24px}.construction-picker select{font-size:12px}.dependency-chain>span{font-size:10px}.transition-note{font-size:12px}}
/* Frontier chapter: painted route vignettes and town ledgers. */
.realm-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.realm-actions .action-button{min-height:58px;padding:10px}.realm-actions .action-button span{min-width:0}.realm-actions b{font-weight:500}.realm-actions small{font-size:10px}.realm-card{border:1px solid #42564b;background:linear-gradient(140deg,#253b34,#1c302c);border-radius:5px;padding:20px;margin:16px 0;color:#d4d9c7;overflow:hidden}.realm-card h3{font:22px Georgia,serif;color:#e4d4a8;margin:10px 0}.realm-card h4{font:18px Georgia,serif;color:#e4d4a8;margin:10px 0}.realm-card h3 small{font:12px sans-serif;color:#a9bcb0}.realm-card p,.awareness-card p{font-size:12px;line-height:1.75;color:#b9c6b6}.realm-card label{display:block;font-size:11px;color:#c5cfb9;margin:12px 0}.realm-card select{display:block;width:100%;max-width:100%;min-height:44px;margin-top:7px;padding:9px;background:#172d28;color:#e0dcc4;border:1px solid #64745c;border-radius:3px;font:12px sans-serif}.realm-card .small-button{margin:5px 5px 4px 0;min-height:44px;white-space:normal}.realm-card .cost-row{margin:12px 0}.awareness-card{border:1px solid #80734f;padding:20px;margin:18px 0;background:radial-gradient(ellipse at top right,#504d35,#26372f)}.awareness-card strong{display:block;font:24px Georgia,serif;color:#e1cc8e;margin:12px 0}.awareness-card progress{width:100%;height:8px;accent-color:#d2b97b}.frontier-art{height:118px;margin:-20px -20px 20px;position:relative;overflow:hidden;border-bottom:1px solid #748578;background-color:#254641}.frontier-art span{position:absolute;left:42%;top:18px;font:72px Georgia;color:#d6dfad;text-shadow:0 0 24px #bfd2a2;opacity:.8}.art-mosswild{background:radial-gradient(ellipse at 24% 90%,#b5d19b 0 4%,#658b77 5% 11%,transparent 12%),radial-gradient(ellipse at 77% 76%,#8db8af 0 7%,#486e67 8% 16%,transparent 17%),linear-gradient(160deg,#172d32,#466e60)}.art-mosswild:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(100deg,transparent 0 42px,#acc49b22 44px 46px,transparent 48px 84px)}.art-ironrail{background:repeating-linear-gradient(0deg,transparent 0 18px,#b69d6f55 19px 22px,transparent 23px 35px),linear-gradient(110deg,#202d32,#63523a,#203b38)}.art-ironrail:after{content:'';position:absolute;left:20%;top:0;width:60%;height:140%;border-left:7px solid #b2b08b66;border-right:7px solid #b2b08b66;transform:perspective(80px) rotateX(35deg)}.art-pelagic{background:repeating-linear-gradient(90deg,transparent 0 28px,#a9c5b433 30px 40px,transparent 42px 70px),linear-gradient(#172f3b,#527b7b,#20494e)}.art-pelagic:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-17deg,transparent 0 20px,#b7dfd30a 21px 26px,transparent 27px 50px)}.outpost-ledger,.guild-slot,.charter-choice{border-top:1px solid #54624d;margin-top:18px;padding-top:16px}.crew-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.shipment-ready{color:#bdd49f!important}.relic-monument{border-color:#7c7353;background:linear-gradient(145deg,#3d4331,#21372f)}.engine-card{border-color:#8b9574;background:radial-gradient(ellipse at top,#485747,#1d3330)}.party-choices{display:flex;flex-wrap:wrap;gap:8px}.party-choices label{display:flex;gap:10px;align-items:center;min-height:44px;padding:4px 8px;border:1px solid #52624e}.party-choices input{accent-color:#d2ba7a;width:18px;height:18px}.renown{font:20px Georgia;color:#d4c48b}.district-forge{border-left:4px solid #cb9970}.district-scholar{border-left:4px solid #b7acd4}.district-gardens{border-left:4px solid #a2bd7d}.district-waterfront{border-left:4px solid #88bdb7}.doorlight-button{margin:10px 0;width:100%}.people-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.people-switch button{min-height:44px}.town-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.realm-card select:focus-visible{outline:2px solid #dfc98e;outline-offset:2px}@media(max-width:600px){.realm-actions{gap:5px}.realm-actions .action-button{padding:9px 6px;min-height:70px}.realm-actions .action-button kbd{display:none}.realm-actions .action-button small{font-size:9px}.realm-card{padding:16px}.frontier-art{margin:-16px -16px 17px}.realm-card h3{font-size:21px}.town-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.crew-line{align-items:flex-start;flex-wrap:wrap}}

.people-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.town-switch{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.town-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Living Streets and shared building inspection. */
.building-inspector{padding:20px;border:1px solid #80916c;border-radius:5px;background:linear-gradient(135deg,#2d4538,#1c332e);margin-bottom:22px;color:#d3d9c7}.building-inspector h2{font:27px Georgia;color:#e6d6a6;margin:10px 0}.building-inspector h3,.living-card h3{font:22px Georgia;color:#e5d5ac;margin:12px 0}.building-inspector h4,.living-card h4{font:17px Georgia;color:#decca0;margin:10px 0}.building-inspector p,.living-card p{font-size:12px;line-height:1.8;color:#c3cfb9}.building-inspector small{font-size:10px;line-height:1.7;color:#adbea6}.inspection-state{display:inline-block;padding:6px 9px;border:1px solid #899a6f;color:#d8ddbc;border-radius:3px;font-size:11px}.inspection-note,.inspection-suitability{padding:13px;border-left:2px solid #bdad75;background:#10282055;font-size:11px;line-height:1.8;margin:16px 0;color:#cbd4bc}.inspection-flow{display:grid;grid-template-columns:1fr 20px 1fr;gap:9px;align-items:start;border-block:1px solid #6a7e5a;padding:18px 0;margin:16px 0}.flow-arrow{color:#d2c185;margin-top:27px}.building-inspector .small-button,.living-card .small-button{min-height:44px;white-space:normal;margin:5px 5px 5px 0}.building-inspector label,.living-card label{display:block;font-size:11px;color:#c5cfb7;margin:14px 0}.building-inspector select,.living-card select{display:block;width:100%;min-height:44px;max-width:100%;padding:9px;margin:7px 0;background:#172e28;color:#dedfc2;border:1px solid #728565;border-radius:3px;font:12px sans-serif}.building-inspector select:focus-visible,.living-card select:focus-visible{outline:2px solid #d8c38a;outline-offset:2px}.inspection-transport,.inspection-people,.supply-connections{border-top:1px solid #59714f;padding-top:17px;margin-top:18px}.supply-connections>.eyebrow{display:block;margin-top:16px}.living-card{border:1px solid #526b55;padding:17px;margin:14px 0;border-radius:4px;background:linear-gradient(145deg,#2b4134,#1c322d)}.living-card .cost-row,.building-inspector .cost-row{margin:12px 0}.wing-plans{margin:20px 0;border:1px solid #819269;border-radius:4px;padding:12px}.wing-plans summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:17px Georgia;color:#e0d1a0}.living-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:16px 0 23px}.living-switch button{min-height:44px;background:#253e31;border:1px solid #60765a;color:#cbd5ba;border-radius:3px;font-size:11px}.living-switch button[aria-pressed=true]{background:#625e3a;color:#ecd6a0;border-color:#bdad75}.living-goods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:20px 0}.living-goods span{padding:10px;border:1px solid #48634e;background:#20372d}.living-goods b{font:22px Georgia;color:#e1d1a3;display:block}.living-goods small{color:#b3c3a7;font-size:10px}.settlement-advice{margin:23px 0}.settlement-advice>h3{font:24px Georgia;color:#e4d4a6}.season-card{background:radial-gradient(ellipse at top right,#536544,#233b30)}.street-status{display:flex;flex-wrap:wrap;gap:7px;padding:12px 0;align-items:center;font-size:11px;color:#b8c8a8}.street-status button{min-height:44px;border:1px solid #6c805c;background:#243e30;color:#d6d9b9;padding:8px;border-radius:3px}.street-status button[aria-pressed=true]{background:#645e38;border-color:#c0b17b}.streets-button{margin:10px 0;min-height:44px}.streets-view .action-bar,.streets-view .realm-actions,.streets-view #companion-status,.streets-view #specialist-encounter,.streets-view #kingdom-encounter,.streets-view #meal-status{display:none!important}.streets-view .control-note>span:first-child{font-size:10px}.building-inspector .deficit{color:#e1ad89}.inspection-flow>div{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.building-inspector{padding:16px}.inspection-flow{grid-template-columns:1fr}.flow-arrow{margin:0;transform:rotate(90deg);width:20px}.building-inspector h2{font-size:25px}.living-card{padding:15px}.street-status{align-items:stretch}.street-status span{width:100%}.street-status button{flex:1;font-size:10px}}
.life-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}.life-tabs button{border:1px solid #455951;background:#182d2c;color:#c8d5c8;border-radius:7px;padding:9px 11px;font:inherit;font-size:12px;cursor:pointer}.life-tabs button[aria-pressed=true]{background:#c2a775;color:#182c2b;border-color:#dbc18e}.life-hero{padding:22px 18px;border:1px solid #677963;border-radius:12px;background:linear-gradient(135deg,#263e35,#203039);margin:10px 0 18px}.life-hero h2{font-family:Georgia,serif;font-size:28px;line-height:1.15}.life-card{padding:17px 15px;margin:12px 0;border:1px solid #40594e;border-radius:10px;background:linear-gradient(135deg,rgba(57,78,61,.26),rgba(20,39,39,.55));overflow-wrap:anywhere}.life-card h3{margin:6px 0 10px}.life-card h4{margin:7px 0}.life-card p,.life-inspector p{font-size:13px;line-height:1.6;color:#b8c6b9}.life-card button,.life-inspector button{margin:5px 6px 5px 0;max-width:100%;white-space:normal}.life-card label{display:grid;gap:6px;margin:13px 0 8px;color:#cbd1bf;font-size:12px}.life-card input,.life-card select,.life-inspector select{width:100%;min-width:0;background:#132b2a;color:#e7dcc5;border:1px solid #546953;border-radius:6px;padding:10px;font:inherit}.life-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.life-lots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.life-lots button{display:flex;align-items:center;flex-direction:column;gap:5px;padding:15px 8px;min-height:112px;border-radius:8px;border:1px solid #5d705b;background:linear-gradient(145deg,#324b3d,#1a3434);color:#e2d6bb;cursor:pointer;font:inherit;font-size:12px}.life-lot-icon{font-size:24px;color:#d9bd82}.life-lots small{font-size:10px;color:#abbca9}.life-muted,.life-empty{font-size:12px;color:#a6b8a7;line-height:1.65}.life-card details summary{cursor:pointer;padding:10px 0;color:#d3bd92;font-size:12px}.life-card blockquote{border-left:2px solid #9eaf7c;padding:8px 12px;margin:12px 0;font:italic 14px/1.5 Georgia,serif;color:#d9d7bb}.life-supplier{padding:5px 0;border-bottom:1px solid #344c43}.life-supplier small{display:block;color:#a7b8a7;font-size:11px}.life-ledger{border-left:2px solid #738369;padding:7px 11px;font-size:12px;line-height:1.6;color:#bec9b5}.life-region-map{padding:20px 12px;display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr));background:radial-gradient(ellipse,#415b46,#152e30);border:1px solid #5d715a;border-radius:12px;margin:15px 0;text-align:center}.life-capital{grid-column:1/-1;color:#edcf90;font:600 18px Georgia,serif}.life-capital small,.life-map-node small{display:block;font:11px/1.5 system-ui;color:#bdcbb5;margin-top:7px}.life-map-node{border:1px dashed #789176;border-radius:30% 30% 10% 10%;padding:19px 4px 12px;font:13px Georgia,serif;color:#d6d9bd;position:relative}.life-map-node:before{content:'';position:absolute;top:-22px;left:50%;height:22px;border-left:2px dotted #98a57b}.life-map-node.settled{background:#4b674d;border-style:solid}.life-inspector .inspection-flow{margin:16px 0}.life-orders{margin-top:22px}.life-card .cost{flex-wrap:wrap}.life-card .rare-name{font-size:10px}
@media(max-width:540px){.life-heading{display:block}.life-lots{grid-template-columns:repeat(2,minmax(0,1fr))}.life-region-map{gap:20px 6px}.life-map-node{font-size:11px;padding:13px 4px}.life-card{padding:14px 12px}.life-hero h2{font-size:24px}}
/* Living Kingdom: warm civic spaces and readable human-scale planning. */
.society-hero{background:radial-gradient(ellipse at 95% 0,rgba(151,184,147,.23),transparent 65%),linear-gradient(135deg,#203b39,#162a31);border:1px solid #71826b;border-radius:12px;padding:22px;color:#ece2ca;margin:12px 0}.society-hero p{color:#c4d2c2}.society-hero h2{font-family:Georgia,serif;font-size:30px;color:#f0dfbc}.society-tabs{border-top:1px solid #a2947033;padding-top:10px}.society-tabs button[aria-pressed=true]{background:#314e48;color:#eddfbc}.society-card{position:relative;overflow:hidden}.society-quote{border-left:2px solid #a38e62;padding:5px 0 5px 12px;font-style:italic}.society-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.society-plan{list-style:none;padding:0}.society-plan li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #8f96782b}.society-plan .done{color:#657b58}.society-plan li span{color:#9a854d}.society-work-icon{float:right;font-size:42px;line-height:1;color:#7d956c}.society-card progress{width:100%;height:10px;accent-color:#8e9a65;margin-top:12px}.society-card label{display:block;margin:12px 0}.society-card select{width:100%;max-width:100%;margin:6px 0}.society-card button{margin:4px 5px 4px 0}.society-card h4{font-family:Georgia,serif;font-size:19px}@media(max-width:600px){.society-hero{padding:16px}.society-hero h2{font-size:25px}.society-tabs button{min-height:42px}.society-card{padding:15px}.society-card button{max-width:100%;white-space:normal}.society-plan li{font-size:13px}}

.society-entry{display:flex;align-items:center;gap:12px;padding:12px 0;margin-bottom:12px;border-bottom:1px solid #71826b55}.society-entry span{font-size:11px;color:var(--muted);line-height:1.6}.society-entry button{flex-shrink:0}

/* Regional economies: a living trade atlas rather than another shared stock counter. */
.regional-hero{background:radial-gradient(ellipse at 95% 10%,#45685a70,transparent 65%),linear-gradient(135deg,#203b3c,#1a2933)}.regional-map{border:1px solid #758b714d;border-radius:12px;background:radial-gradient(ellipse,#31534b66,#15272f);margin:16px 0;padding:8px}.regional-map svg{display:block;width:100%;height:auto}.regional-active-route{stroke-dasharray:7 5;animation:regional-freight 3s linear infinite}@keyframes regional-freight{to{stroke-dashoffset:-48}}.regional-stock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.regional-stock>div{display:flex;flex-direction:column;padding:12px;background:#2c423b66;border:1px solid #77856c33;border-radius:7px}.regional-stock b{color:#e4c990;font-size:20px}.regional-stock span{color:#b9c8b6;font-size:11px;margin-top:4px}.regional-card label{display:block;margin:12px 0}.regional-card select,.regional-card input{display:block;width:100%;max-width:100%;margin-top:5px}.regional-card button{margin:4px 5px 4px 0;white-space:normal;max-width:100%}.regional-card progress{width:100%;height:10px;accent-color:#9eb18b}.regional-alert{color:#edb191!important}.regional-capital-note{padding:15px;border:1px solid #7d9c8655;border-radius:8px;margin:10px 0 18px;background:#2d494333}.regional-capital-note p{font-size:12px;margin:8px 0}.regional-entry{border-color:#9ba88a66}@media(prefers-reduced-motion:reduce){.regional-active-route{animation:none}}@media(max-width:600px){.regional-stock{grid-template-columns:repeat(2,minmax(0,1fr))}.regional-card{padding:14px}.regional-tabs button{min-height:44px}}

.regional-picker{display:block;margin:14px 0;color:var(--muted)}.regional-picker select{display:block;width:100%;min-height:44px;margin:7px 0;padding:10px;background:#223a35;color:var(--text);border:1px solid #627b69;border-radius:6px;font:inherit}
.commonwealth-hero{background:radial-gradient(ellipse at top right,rgba(183,150,86,.2),transparent 65%),linear-gradient(135deg,#253f3b,#172e37);border:1px solid #a58e5e!important}.commonwealth-card{border-top:2px solid #a8986b!important}.commonwealth-state{padding:10px 12px;background:#30483e;border-left:3px solid #ceb479;color:#eee1bc}.commonwealth-share{padding:12px 0;border-top:1px solid #536357}.life-tabs a{color:#dbcba0;padding:8px 10px;text-decoration:none;border:1px solid #637568;border-radius:8px;font-size:12px}.commonwealth-entry{border-color:#aa9564!important}.commonwealth-card progress{width:100%}.commonwealth-card label{display:grid;gap:6px;margin-top:12px}.commonwealth-card button{margin:5px 5px 3px 0}.commonwealth-card select{max-width:100%}
.growth-hero{background:radial-gradient(ellipse at top right,rgba(185,156,93,.24),transparent 70%),linear-gradient(135deg,#29453c,#1a3540);border:1px solid #a89568!important}.growth-card{border-top:2px solid #a4b48a!important}.growth-entry{border-color:#8fa57b!important}.growth-tabs{position:relative;display:flex;flex-wrap:wrap;gap:5px}.growth-tabs button{margin:0;font-size:11px}.growth-card label{display:grid;gap:6px;margin:12px 0 5px}.growth-card select{width:100%;max-width:100%}.growth-checklist{padding-left:20px;line-height:1.8}.growth-done{color:#b9d19b}.growth-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.growth-metrics div{display:grid;padding:12px;background:#263e36;border:1px solid #617357;border-radius:8px;gap:5px}.growth-metrics b{color:#e5d4a3;font-size:18px}.growth-metrics span{font-size:11px;color:#bbcab2}.growth-season-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.growth-season-strip article{padding:10px;border:1px solid #536b5d;border-radius:8px;display:grid;gap:5px;background:#243c35}.growth-season-strip article.current{border-color:#d0b880;background:#3a4c3d}.growth-season-strip span,.growth-season-strip small{font-size:11px;line-height:1.5;color:#c4d0ba}.growth-card button{margin:5px 4px 3px 0}.growth-card progress{width:100%}

.growth-picker{display:grid;gap:6px;margin-top:12px}.growth-picker select{width:100%;max-width:100%}

/* Chapter XIV: warmer materials, clearer civic controls, richer illustration framing. */
.agency-entry{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px;margin-bottom:14px;border:1px solid #bda36a55;border-radius:12px;background:linear-gradient(115deg,#45655344,#b3904d18);box-shadow:inset 0 1px #d0c69c14}
.agency-entry span{font-size:12px;color:#bacbb7}.agency-hero{background:radial-gradient(ellipse at top right,#b49a5b24,transparent 70%),linear-gradient(140deg,#254744,#1a3438);border-color:#b7a16a66;box-shadow:inset 0 1px #d7ca971c,0 8px 28px #071c2126}.agency-hero h2{font-size:clamp(24px,3vw,33px);letter-spacing:-.02em}.agency-card{background:linear-gradient(135deg,#26483f88,#142e3299);border-color:#91a18144;box-shadow:inset 0 1px #d5d4ae0c,0 5px 14px #071c2120}.agency-card h3{color:#e8d3a2}.agency-tabs{gap:6px}.agency-tabs button{border-color:#a6aa7a55}.agency-authority{border-left:2px solid #b9a06b;padding:3px 0 7px 13px;margin:15px 0;background:linear-gradient(90deg,#b8a3660c,transparent)}.agency-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.agency-metrics>div{border:1px solid #94aa7c33;border-radius:8px;padding:11px;background:#102e3388}.agency-metrics b{display:block;font:25px Georgia;color:#e6d5ac}.agency-metrics span{font-size:11px;color:#b8cbb5}.agency-card select{width:100%;min-width:0}.agency-card label{display:block;margin:9px 0}.agency-card progress{accent-color:#aebd86;width:100%}.game-canvas{box-shadow:inset 0 0 70px #06191c66}.life-card .small-button:focus-visible,.agency-tabs button:focus-visible{outline:2px solid #e6cd8c;outline-offset:3px}
@media(max-width:600px){.agency-metrics{grid-template-columns:1fr}.agency-entry{align-items:flex-start}.agency-tabs button{flex:1 1 140px}.agency-card .small-button{margin:4px 0;max-width:100%;white-space:normal}.agency-authority{padding-left:10px}}

/* Chapter XV: domestic lives, private workshops and visible neighborhood connections. */
.generations-entry{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:16px;border:1px solid #b9a77c77;border-radius:11px;background:linear-gradient(110deg,#667a4a44,#b7905422)}.generations-entry span{font-size:12px;color:#bacdb5}.generations-hero{background:radial-gradient(ellipse at top right,#bb9c5340,transparent 70%),linear-gradient(135deg,#344e3a,#17373e);border-color:#b8ab7955}.generations-hero h2{font-size:clamp(24px,3vw,32px)}.generations-card{background:linear-gradient(145deg,#344c3d99,#142e3699);border-color:#a6b18b44;box-shadow:inset 0 1px #cfcea21c,0 5px 17px #071a1e33}.generations-card h3{color:#ead5a6}.generations-card label{display:block;margin:10px 0}.generations-card select{display:block;width:100%;min-width:0;max-width:100%;margin-top:5px}.generations-card button{max-width:100%;white-space:normal;margin:4px 4px 4px 0}.generations-card progress{width:100%;accent-color:#b4bb8e}.citizen-entry{padding:13px 0;border-bottom:1px solid #9aac7b33}.citizen-entry>b,.citizen-entry>span,.citizen-entry>small{display:block}.citizen-entry>span,.citizen-entry>small{font-size:11px;color:#bbcfbb;margin-top:5px}.citizen-entry p{margin:7px 0}.service-access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0}.service-access span{font-size:10px;padding:9px;border-radius:5px;background:#102c3388;border:1px solid #9ab98744}.service-access b{display:block;text-transform:capitalize;margin-bottom:4px}.service-access .served{color:#c1d5aa}.service-access .missing{color:#d9bc91;border-color:#ba946c66}.generations-tabs button:focus-visible,.generations-card button:focus-visible{outline:2px solid #e3cb8d;outline-offset:3px}@media(max-width:600px){.generations-tabs button{flex:1 1 140px}.service-access{grid-template-columns:1fr}.generations-card .agency-metrics{grid-template-columns:1fr}.generations-card{padding:14px}}

/* Lasting families and institutions */
.legacy-hero{background:linear-gradient(135deg,#405143,#1c4149);border:1px solid #8d98724a}.legacy-card{border-color:#a9a37c4a}.legacy-card label{display:block;margin:14px 0 6px}.legacy-card select{display:block;max-width:100%;width:100%;min-width:0;margin:6px 0 10px}.legacy-card button{margin:5px 5px 5px 0;white-space:normal;text-align:left}.legacy-card h4{margin:18px 0 8px}.legacy-card progress{width:100%;accent-color:#c9b27a}.legacy-card .citizen-entry{border-left:2px solid #c5ac7170;padding:9px 12px;margin:12px 0}.legacy-card small{display:block;color:#c2cfbb}.legacy-card p{overflow-wrap:anywhere}
.commonwealth-heading{padding:18px 15px 16px;border:1px solid #a9b48a44;border-radius:12px;background:radial-gradient(ellipse at 20% 0%,#6d895c40,transparent 75%),linear-gradient(135deg,#304b42,#1a3339);margin-bottom:14px;box-shadow:inset 0 1px #e4dfbc15,0 9px 26px #05191c22}.commonwealth-heading h2{font-family:Georgia,serif;font-size:1.6rem;line-height:1.12;color:#efe0b4;margin:10px 0}.commonwealth-heading p{font-size:.82rem;color:#bdccba}.commonwealth-card{background:linear-gradient(145deg,#33493699,#1b3034d9);border-color:#b1b79038;box-shadow:inset 0 1px #e2d3ac10,0 5px 20px #071c2022}.commonwealth-tabs{margin:14px 0;gap:6px}.commonwealth-tabs button{font-size:.72rem;line-height:1.3;padding:10px 8px;background:#253e37;border:1px solid #a4b28b30}.commonwealth-tabs button[aria-pressed=true]{background:linear-gradient(135deg,#a29264,#647654);color:#fff3cc;border-color:#d7c89977}.pulse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pulse-grid span{font-size:.65rem;color:#b3c7b7;border-top:1px solid #b1bd9333;padding-top:9px}.pulse-grid b{display:block;font-size:1.45rem;font-family:Georgia,serif;color:#ead6a4}.pulse-town{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;text-align:left;padding:12px 13px;margin:5px 0;border-radius:8px;border:1px solid #a7bb8c33;border-left:3px solid #a4c399;background:linear-gradient(90deg,#35524488,#233b38);color:#e0ddc2}.pulse-town span{font-family:Georgia,serif;font-size:.98rem;overflow-wrap:anywhere}.pulse-town b{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;align-self:center}.pulse-town small{grid-column:1/-1;font-size:.66rem;color:#b1c9b9}.pulse-town.severity-2{border-left-color:#d9af72}.pulse-town.severity-3{border-left-color:#de9b8a}.pulse-town:focus-visible{outline:2px solid #edd09b;outline-offset:2px}.pulse-budget{padding:9px 11px;border:1px solid #a3b28b33;border-radius:6px;font-size:.72rem;color:#c9d6bb;margin:10px 0}.commonwealth-card button,.commonwealth-card select{max-width:100%;white-space:normal;overflow-wrap:anywhere}.commonwealth-card label{display:block;font-size:.74rem;margin-top:10px;color:#c5d2bc}.commonwealth-card select{display:block;width:100%;margin:5px 0 8px}.commonwealth-card h3{color:#e8d8ae}.commonwealth-card p{line-height:1.6}.commonwealth-card .small-button{margin-top:7px}@media(max-width:600px){.commonwealth-heading{padding:16px}.commonwealth-heading h2{font-size:1.45rem}.pulse-town{padding:11px}.commonwealth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pulse-grid b{font-size:1.3rem}}@media(prefers-reduced-motion:reduce){.pulse-town,.commonwealth-card{transition:none}}

/* Chapter XVIII: a warm civic ledger beside the living street. */
.prosperity-heading{background:linear-gradient(135deg,#29463b,#142e32);border:1px solid #a2a47e55;padding:20px 17px;border-radius:9px;margin-bottom:18px}.prosperity-heading h2{color:#edd7a2;font-family:Georgia,serif;font-size:26px;line-height:1.12;margin:10px 0}.prosperity-heading p{color:#c1d0b8}.prosperity-card{border-left:3px solid #a2ac83}.prosperity-progress{height:7px;border-radius:5px;background:#1c3631;overflow:hidden;margin:12px 0}.prosperity-progress span{display:block;height:100%;background:linear-gradient(90deg,#789d83,#dcc58b)}.prosperity-card select{max-width:100%;min-width:0}.prosperity-card .agency-authority{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.prosperity-card .agency-authority b{max-width:100%}.prosperity-card h3{overflow-wrap:anywhere}

/* Chapter XIX: the founder's covenant and the people's remembered lives. */
.belonging-heading{background:linear-gradient(135deg,#4a5140,#17383b);border:1px solid #c5b98777;padding:21px 18px;border-radius:9px;margin-bottom:17px}.belonging-heading h2{font:600 28px/1.15 Georgia,serif;color:#eed9a5;margin:10px 0}.belonging-heading small{color:#d1d2b5}.belonging-quote{font-family:Georgia,serif;font-size:16px!important;line-height:1.55!important;color:#e2cda1!important}.belonging-card{border-left:3px solid #c2b27d}.belonging-card input,.belonging-card select{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;background:#193235;border:1px solid #84977a77;color:#e8ddbd;border-radius:4px;padding:10px;margin:7px 0 13px}.belonging-card input:focus-visible{outline:2px solid #e6cf8f;outline-offset:2px}.belonging-card h3,.belonging-card p{overflow-wrap:anywhere}.belonging-duty{border-bottom:1px solid #9caa8544;padding-bottom:8px}.belonging-duty.future{opacity:.73}.belonging-share{padding:4px 11px 12px;border:1px solid #9aa78055;border-radius:5px;margin:12px 0}.belonging-new{display:inline-block;font-size:10px;letter-spacing:.1em;color:#f2d391;border:1px solid #c7b57577;padding:5px 8px;border-radius:3px}

.presence-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:16px 0}
.presence-tabs button{white-space:normal;min-height:44px;padding:9px 7px}
.presence-card{background:linear-gradient(145deg,rgba(57,77,60,.8),rgba(25,57,59,.95));border-color:rgba(191,176,128,.32)}
.presence-card label,.presence-community{display:grid;gap:6px;margin:12px 0;font-size:12px;color:#c9ceba}
.presence-card input,.presence-card select,.presence-community select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:9px 10px;border:1px solid #718775;border-radius:6px;background:#183332;color:#e7ddc1;font:inherit}
.presence-card input:focus-visible,.presence-card select:focus-visible,.presence-community select:focus-visible{outline:2px solid #dfc58e;outline-offset:3px}
.presence-card .small-button{white-space:normal;margin:5px 5px 5px 0;max-width:100%;min-height:38px}

/* The Hero and the Hearth: carved bronze, readable planning and touch targets. */
.heroic-heading {border:1px solid #b98a4a66;background:radial-gradient(ellipse at 95% 0,#96653733,transparent 65%),linear-gradient(140deg,#24322d,#111d20);padding:24px;border-radius:16px;box-shadow:inset 0 0 0 4px #18231e;}
.heroic-heading h2 {color:#f5dfae;letter-spacing:.02em;}
.heroic-card {background:linear-gradient(145deg,#28352d,#152326 74%);border-color:#b2905a55;box-shadow:inset 0 1px #e3c78e17,0 8px 24px #0002;}
.heroic-card h3 {color:#f0d6a3;}.heroic-card h4{color:#d5c7a7;margin:16px 0 8px;}
.heroic-card p{line-height:1.65;}.heroic-card .small-button {min-height:44px;white-space:normal;line-height:1.4;margin:5px 4px 5px 0;}
.heroic-planners{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;border-top:1px solid #be985a44;}
.heroic-planners>button{grid-column:1/-1;}.heroic-card label{display:grid;gap:8px;min-width:0;color:#dfd3b8;font-size:13px;}
.heroic-card select {width:100%;max-width:100%;min-height:44px;padding:8px;color:#eee3c9;background:#111f20;border:1px solid #8d7859;border-radius:7px;}
.heroic-proposal {margin:14px 0 0;padding:0 14px 14px;border:1px solid #b4955b44;border-radius:10px;background:#0e191933;}
.heroic-tabs {gap:6px;}.heroic-tabs button[aria-pressed=true]{background:linear-gradient(#bea06a,#8a6738);color:#17211d;box-shadow:inset 0 1px #eed7a3;}
.kingdom-device {width:100%;min-height:48px;margin-top:8px;border-color:#7ab8a477;background:linear-gradient(125deg,#27413a,#22303c);}
.kingdom-device[hidden]{display:none;}
@media(max-width:540px){.heroic-planners{grid-template-columns:1fr;}.heroic-heading{padding:17px;}.heroic-card .small-button{width:100%;margin:5px 0;}.heroic-card{min-width:0;}.heroic-proposal{padding:0 10px 12px;}}

/* Chapter XXII: warm stone, regional craft and patient growth. */
.ascendant-heading { border:1px solid #c5b28b55; background:linear-gradient(135deg,#29423f,#173039); padding:24px; border-radius:14px; box-shadow:inset 0 1px #efe0b31c; }
.ascendant-heading h2 { color:#f0d9ad; letter-spacing:.015em; }
.ascendant-card { border-color:#a8b59845; background:linear-gradient(145deg,#233e3b,#172f33); box-shadow:inset 0 1px #d8cfaa15,0 7px 22px #071c251c; }
.ascendant-card h3 { color:#ead4a6; }
.ascendant-card label { display:block; margin:12px 0; }
.ascendant-card select { max-width:100%; width:100%; }
.ascendant-card small { display:block; color:#adc0ac; line-height:1.5; margin-top:8px; }
.ascendant-card ol { padding-left:23px; line-height:1.7; color:#bcccba; }
.ascendant-stock { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.ascendant-stock span { padding:8px 10px; background:#112b2e99; border:1px solid #b2ba9c25; border-radius:6px; font-size:12px; }
.ascendant-card button:focus-visible { outline:3px solid #ebd4a1; outline-offset:3px; }
@media(max-width:500px){.ascendant-heading{padding:16px}.ascendant-stock{grid-template-columns:1fr}.ascendant-card .small-button{white-space:normal;max-width:100%;min-height:40px}.ascendant-card .pulse-grid{grid-template-columns:1fr}}

/* Title-page archive: scoped to Hollowtown saves; native dialogs retain keyboard focus. */
.save-library{max-width:790px;padding:34px;background:radial-gradient(ellipse at top right,#53644b55,transparent 65%),linear-gradient(140deg,#293b30,#15231e);scrollbar-width:thin;scrollbar-color:#788365 #17271e}.save-library>p{max-width:620px}.save-section{margin-top:24px}.save-section h3{font-family:var(--serif);font-size:20px;font-weight:400;color:#e1d3ad;margin:0 0 10px}.save-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid #77826566;border-radius:7px;background:linear-gradient(130deg,#364a3977,#12221977);box-shadow:0 5px 15px #0002;margin:9px 0}.save-card-detail{min-width:0}.save-card strong{font-size:13px;font-weight:600;color:#e7e4cb}.save-card p{font-size:11px;margin:6px 0 4px;line-height:1.55}.save-card small{font-size:10px;color:#a5b69b}.save-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:260px;flex-shrink:0}.save-card-actions button{min-height:37px}.save-danger{border-color:#9d7568;background:#503c34;color:#f2cec1}.save-danger:hover:not(:disabled){background:#775145}.save-empty{padding:15px;border:1px dashed #5c705a;border-radius:6px;background:#11201855}.save-library .save-library-message{margin:14px 0 0;color:#d4d8b4;min-height:20px;font-size:12px}.save-library .save-error{color:#ffc9b6}.save-import-label{position:relative;display:inline-flex;align-items:center;overflow:hidden;cursor:pointer;min-height:40px}.save-import-label:focus-within{outline:2px solid #e6d098;outline-offset:3px}.save-import-label input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.save-library button:focus-visible,#save-confirm button:focus-visible{outline:2px solid #ead6a0;outline-offset:3px}
@media(max-width:600px){.save-library{padding:30px 18px 22px;width:calc(100% - 24px);max-height:92dvh}.save-library h2{font-size:28px}.save-card{align-items:flex-start;flex-direction:column;gap:12px;padding:14px}.save-card-actions{justify-content:flex-start;max-width:100%;gap:7px}.save-card-actions button{min-height:41px;padding:8px 11px}.save-section{margin-top:20px}#save-confirm .dialog-actions{flex-wrap:wrap}.welcome-content{margin-block:auto}.welcome-actions{gap:11px}}

/* The Kingdom in Motion: readable accounts, real shared work, and compact neighborhood controls. */
.motion-heading{background:radial-gradient(ellipse at top right,#b7a26722,transparent 70%),linear-gradient(140deg,#36504966,#213a3366);border:1px solid #78826866;border-radius:7px;padding:18px;margin-bottom:14px}.motion-heading h2{color:#ead6aa}.motion-card{border-color:#7b886166;background:linear-gradient(135deg,#30453588,#1b322b99)}.motion-card h3{color:#e4d3aa}.motion-card label{display:block;color:#bdc9af;font-size:11px;line-height:1.6;margin:12px 0 8px}.motion-card select{display:block;width:100%;max-width:100%;margin-top:5px;min-height:38px;border:1px solid #72815c;background:#1c3027;color:#e4dfc6;border-radius:4px;padding:7px;font:inherit}.motion-card button{margin:4px 5px 4px 0;line-height:1.5;max-width:100%;white-space:normal}.motion-share{border-top:1px solid #7b896044;padding-top:10px;margin-top:12px}.motion-share h4{font-size:12px;color:#d9d2b4;margin:0 0 9px}.motion-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.motion-stats>span{font-size:9px;color:#adbea3;background:#12281e66;border:1px solid #5d755144;border-radius:5px;padding:9px 7px;line-height:1.5}.motion-stats b{display:block;font-size:19px;font-weight:500;color:#e3d2a4;font-family:var(--serif);overflow-wrap:anywhere}.motion-card .cost-row{margin:10px 0;flex-wrap:wrap}.motion-card p{overflow-wrap:anywhere}.motion-card select:focus-visible{outline:2px solid #ead6a0;outline-offset:2px}@media(max-width:720px){.motion-card button{min-height:42px}.motion-card select{min-height:42px}.motion-heading{padding:15px}.motion-stats b{font-size:18px}}
.motion-planners{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin:12px 0}.motion-planners label{min-width:0;font-size:11px;color:#b9c9ab}.motion-planners select{display:block;width:100%;max-width:100%;min-width:0;margin-top:5px;background:#1c3027;color:#e4dfc6;border:1px solid #72815c;border-radius:4px;min-height:38px;font-size:11px;padding:6px}.motion-planners button{min-width:0;white-space:normal}.motion-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible!important}.motion-tabs button{margin:0!important;width:100%;min-width:0;white-space:normal;line-height:1.5;min-height:43px;padding:8px!important;font-size:10px!important}

/* Laptop cockpit: keep play and controls visible; scroll long records inside panels. */
.adventure-updates,.combat-controls{display:contents}
@media(min-width:941px){
  body{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .masthead{width:100%;flex:none;padding:10px 22px;gap:14px}
  .brand-mark{width:31px;height:35px}.wordmark{font-size:26px}
  .resource-strip{flex:none;padding:7px 20px}
  .game-layout{width:100%;flex:1;min-height:0;margin:0 auto;align-items:stretch;padding:10px 18px;gap:14px;grid-template-columns:226px minmax(0,1fr) 286px}
  .left-panel,.right-panel,.adventure-panel{height:100%;min-height:0;min-width:0}
  .left-panel{max-height:none;padding:14px 12px;overflow:auto;scrollbar-width:thin;scrollbar-color:#5f6b52 transparent;overscroll-behavior:contain}
  .right-panel{display:flex;flex-direction:column;overflow:hidden}
  .panel-tabs{flex:none}.panel-tabs button{padding:10px 2px}
  .panel-content{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;padding:15px 12px;scroll-padding:12px}
  .adventure-panel{display:flex;flex-direction:column;gap:7px}
  .room-heading{flex:none;min-height:0;min-width:0;padding:0 3px 2px;align-items:center}
  .room-heading h1{font-size:25px;margin:2px 0 3px;line-height:1.1}
  .room-heading p{font-size:10px;line-height:1.35;max-height:2.7em;overflow:auto}
  .room-number{font-size:24px;padding-top:0}
  .viewport{flex:1;min-height:0;max-height:none;aspect-ratio:auto}
  .hero-bar{flex:none;margin:0;padding:0 3px;gap:9px}
  .hero-avatar{width:34px;height:40px}.hero-avatar svg{width:23px;height:25px}
  .hero-name{margin-bottom:4px}.hero-stats{gap:9px;margin-left:3px}
  .adventure-updates{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;flex:none;max-height:min(10dvh,76px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#5f6b52 transparent;padding:2px 3px;scroll-padding:5px}
  .adventure-updates:not(:has(> :not([hidden]))){display:none}
  .adventure-updates>*{margin:3px 0}.adventure-updates>:not(.streets-button):not(.companion-status){flex-basis:100%}.adventure-updates .companion-status{flex:1;min-width:160px}.adventure-updates .streets-button{min-height:30px;padding:5px 9px}
  .adventure-updates .companion-status{font-size:10px;margin:4px 0;padding-left:8px}
  .combat-controls{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .combat-controls .action-bar,.combat-controls .realm-actions{display:contents}
  .combat-controls .action-button{width:100%;min-width:0;min-height:42px;margin:0;padding:6px 7px;gap:5px;line-height:1.2}
  .combat-controls .action-button>svg{width:17px;height:17px}
  .combat-controls .action-button>span{min-width:0;font-size:10px}
  .combat-controls .action-button small{font-size:8px;line-height:1.2;margin-top:3px}
  .combat-controls .action-button kbd{font-size:8px;padding:1px 3px}
  .combat-controls .doorlight-button{grid-column:1/-1;margin:0;min-height:30px}
  .control-note{flex:none;margin:0 3px;font-size:8px;line-height:1.5;display:block}
  .control-note .local-note{display:none}.touch-movement{flex:none}
}
@media(min-width:941px) and (max-width:1180px){
  .game-layout{grid-template-columns:210px minmax(0,1fr) 254px;gap:10px;padding-inline:12px}
  .combat-controls .action-button{padding:5px}.combat-controls .action-button>svg{display:none}
}
@media(min-width:1600px){.game-layout{grid-template-columns:252px minmax(0,1fr) 310px;gap:18px;padding:14px 24px}}
@media(min-width:941px) and (max-height:700px){
  .masthead{padding-block:6px}.brand-mark{height:30px}.wordmark{font-size:23px}
  .resource-strip{padding-block:5px}.game-layout{padding-block:8px}
  .adventure-panel{gap:5px}.room-heading h1{font-size:22px}.room-heading p{max-height:1.35em}
  .hero-avatar{height:34px;width:30px}.hero-name{margin-bottom:3px}
  .adventure-updates{max-height:48px;padding-block:0}
  .combat-controls{gap:5px}.combat-controls .action-button{min-height:36px;padding-block:4px}
  .combat-controls .doorlight-button{min-height:28px}
  .panel-tabs button{padding-block:7px}
}

/* Room names keep their new purpose and old location together. */
.map-room:has(.map-use){min-height:84px;gap:4px;padding:11px 3px 6px}
.map-room .map-use{font-size:8px;font-weight:650;line-height:1.3;color:#dfd8b9;max-width:100%;overflow-wrap:anywhere}
.map-room .map-origin{font-size:7px;font-weight:400;line-height:1.25;color:#a6b7a6;max-width:100%;overflow-wrap:anywhere}
.room-guide{margin-top:15px;padding:13px 0 0;border-top:1px solid var(--line)}
.room-guide>p{font-size:10px;color:#b6c8af;line-height:1.6;margin:7px 0 9px}
.room-guide>.small-button{width:100%;font-size:10px;white-space:normal;line-height:1.4}
.room-guide-suggestion{border-left:2px solid #a79560;padding-left:9px;margin-top:12px}
.room-guide-suggestion strong{font-size:10px;color:#e6d4a7;font-weight:550;line-height:1.5;display:block}
.room-guide-suggestion p{font-size:10px;line-height:1.6;color:#a7baa4;margin-top:5px}
.ledger-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:16px 0}
.ledger-totals span{background:#30443266;border:1px solid #607b5355;border-radius:5px;padding:10px 6px;font-size:10px;color:#b6c6a9}
.ledger-totals b{display:block;color:#e4d1a1;font:25px Georgia;margin-bottom:4px}
.ledger-needs h3,.ledger-services h3{font:20px Georgia;color:#e5d3a6;margin:20px 0 12px}
.ledger-needs>p,.ledger-services p,.ledger-note{font-size:11px;line-height:1.65;color:#adbea5;margin:9px 0}
.ledger-suggestion,.ledger-detail{border:1px solid #82946866;border-radius:6px;background:linear-gradient(135deg,#344a3580,#1b302980);padding:13px;margin:10px 0}
.ledger-suggestion strong,.ledger-plan strong{font-size:12px;color:#e2d4af;font-weight:600}
.ledger-suggestion p,.ledger-detail p{font-size:11px;line-height:1.65;color:#bbcab1;margin:8px 0}
.ledger-suggestion button,.ledger-detail button{max-width:100%;white-space:normal;line-height:1.5}
.ledger-detail{scroll-margin-top:12px;border-color:#c0a56c99}
.ledger-detail h3{font:23px Georgia;color:#eddbb0;margin:9px 0}
.ledger-detail h4{font:17px Georgia;color:#d9c99e;margin:16px 0 10px}
.ledger-plan{padding:12px 0;border-top:1px solid #6c805b55}
.ledger-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:20px 0 12px}
.ledger-filters button{background:#233b2c;border:1px solid #62795388;border-radius:4px;min-height:38px;padding:7px;font-size:10px;line-height:1.4}
.ledger-filters button[aria-pressed=true]{border-color:#d1b87b;color:#eed8a5;background:#4d563566}
.ledger-room{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;min-width:0;padding:13px 11px;margin:8px 0;border:1px solid #5a755255;border-radius:5px;background:#20372a88;overflow-wrap:anywhere}
.ledger-room strong{font:17px/1.25 Georgia;color:#e7d6ac}.ledger-room>span:not(.eyebrow){font-size:10px;color:#a9bba4}.ledger-room small{font-size:10px;line-height:1.5;color:#a6c6b4}
.ledger-room:hover,.ledger-room.selected{border-color:#c3ae72;background:#35463199}
@media(min-width:721px) and (max-width:940px){.left-panel .map{grid-template-columns:repeat(3,minmax(0,1fr))}.room-guide{grid-column:1/-1}}
@media(max-width:720px){.map-room:has(.map-use){min-height:84px}.map-room .map-use{font-size:9px}.map-room .map-origin{font-size:8px}.room-guide{grid-column:1/-1}.ledger-filters button,.ledger-room,.room-guide>.small-button{min-height:44px}}
.map-room.settled:disabled{opacity:.88}
.map:not(.expedition-map){grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.map.expedition-map{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
@media(min-width:941px) and (max-width:1180px){.game-layout:has(.expedition-map){grid-template-columns:230px minmax(0,1fr) 254px}}
@media(max-width:720px){.left-panel:has(.expedition-map){display:block}}
.map-orientation{font-size:10px;line-height:1.5;color:#b7c5b2;margin:8px 0}
.map-direction{font-size:9px!important;line-height:1.3;color:#e8d59f!important}
.reclaim-hint{display:flex;align-items:center;gap:10px;flex:none;padding:8px 10px;border:1px solid #a28c5e77;border-radius:5px;background:linear-gradient(125deg,#3d4b31,#1c3329);line-height:1.45}
.reclaim-hint[hidden]{display:none}.reclaim-hint>div{min-width:0;flex:1}.reclaim-hint strong{font-size:11px;color:#e8d59f}.reclaim-hint p{font-size:10px;color:#cad4b9;margin:3px 0}.reclaim-hint small{display:block;font-size:10px;color:#e6ba92}.reclaim-hint button{max-width:115px;white-space:normal;font-size:10px;line-height:1.4;min-height:38px}
.left-panel>.reclaim-hint{flex-direction:column;align-items:stretch;grid-column:1/-1;margin:10px 0}.left-panel>.reclaim-hint button{max-width:none;width:100%}
@media(max-width:720px){.reclaim-hint{flex-wrap:wrap}.reclaim-hint strong{font-size:13px}.reclaim-hint p,.reclaim-hint small{font-size:12px}.reclaim-hint button{min-height:44px;max-width:none}}
@media(max-width:940px){.map-orientation{grid-column:1/-1}}
.map-room:has(.map-use){min-height:74px}.map-room .map-use{font-size:9px}

/* Quality review: leave every doorway visible, with readable controls and stable panels. */
.room-hint{position:static;transform:none;left:auto;bottom:auto;flex:none;width:100%;max-width:none;min-height:25px;margin:0;border:0;border-radius:4px;padding:4px 8px;background:#172820;color:#d8dfcb;font-size:11px;line-height:1.4;z-index:auto}
.room-hint svg{width:14px;height:14px}.room-hint span{min-width:0}
.pack-capacity{padding:10px 11px;margin-bottom:15px;border:1px solid #6e856053;border-radius:5px;background:#243c2b}
.pack-capacity strong{font-size:12px;color:#e2d2a8}.pack-capacity span{display:block;font-size:11px;color:#bbcbb1;line-height:1.5;margin-top:4px}
.pack-capacity.full{border-color:#cba467;background:#443c2b}.pack-capacity.full span{color:#e4d7b8}
.pack-tools{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.pack-tools label{display:grid;gap:5px;font-size:11px;color:#d4ddc6}.pack-tools .pack-search,.pack-tools label:last-child{grid-column:1/-1}.pack-tools input,.pack-tools select{width:100%;min-height:36px;border:1px solid #889a6f80;background:#172c24;color:#eadfc3;border-radius:5px;padding:7px;font:12px inherit}.pack-tools input::placeholder{color:#a8b99f}.pack-equipment{border-block:1px solid #82906455;margin:12px 0;padding:10px 0}.pack-equipment summary{cursor:pointer;color:#e2d1a4;font-size:12px;line-height:1.6}.pack-equipment .equipped-card{margin-top:10px}.pack-results-count{font-size:12px;color:#d8c493}.gear-comparison>span,.gear-comparison>small{display:block;line-height:1.55}.gear-comparison>small{color:#b7c7ac;font-size:10px;margin:5px 0}.gear-comparison .better{color:#a7d7a1}.gear-comparison .worse{color:#edb59f}.gear-protected{font-size:11px;color:#cfbd91;line-height:1.5;padding-left:8px;border-left:2px solid #a88b54}@media(max-width:720px){.pack-tools input,.pack-tools select{min-height:44px}}
.action-button:disabled{opacity:.72}.action-button:disabled small{color:#bdc6b4}
.left-panel:focus-visible,.panel-content:focus-visible,.adventure-updates:focus-visible{outline:2px solid #e6d198;outline-offset:-3px}
.panel-content{overflow-wrap:anywhere}.panel-content .small-button{white-space:normal;line-height:1.45}
.panel-content select,.panel-content input{max-width:100%;min-width:0}
.map-room .map-origin{font-size:9px;color:#b7c5b2}.map-room>span{font-size:10px}.map-room .map-use{font-size:10px}
.map-room.hostile:disabled,.map-room.cleared:disabled{opacity:.72}
@media(min-width:941px){
  .room-hint{font-size:10px;min-height:23px;padding:3px 7px}
  .combat-controls .action-button>span{font-size:11px}.combat-controls .action-button small{font-size:9px}
  .control-note{font-size:9px}.item-info span,.item-description,.pack-trade-note{font-size:11px}
}
@media(min-width:941px) and (max-height:700px){.room-hint{font-size:9px;min-height:21px}.combat-controls .action-button small{font-size:8px}}
@media(max-width:940px){.room-hint{margin-top:7px}.pack-capacity{margin-top:2px}}
.kingdom-desk{padding:12px;border:1px solid #87916d66;border-radius:6px;background:linear-gradient(135deg,#384a36,#1c3027);margin:12px 0 16px}
.kingdom-shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 12px}.kingdom-shortcuts button{flex:1 1 95px;min-height:36px;font-size:11px;padding:7px;line-height:1.4}
#kingdom-directory{border-top:1px solid #8a99754d;padding-top:10px}#kingdom-directory summary{cursor:pointer;color:#e5d3a7;font-size:12px;line-height:1.6;padding:3px 0}
#kingdom-directory summary span{display:block;color:#b3c1a7;font-size:10px;margin-left:14px}
.kingdom-directory-links{display:grid;gap:6px;margin-top:10px}.kingdom-directory-links button{display:block;text-align:left;min-height:48px;padding:9px;background:#172c2399;border:1px solid #657b535c;border-radius:4px;line-height:1.45}
.kingdom-directory-links strong{display:block;font-size:11px;color:#e0ddbd;font-weight:550}.kingdom-directory-links small{display:block;font-size:10px;color:#aebfa3;margin-top:3px}
.kingdom-directory-links button:hover,.kingdom-directory-links [aria-current=page]{border-color:#c7ad73;background:#435137}
#kingdom-directory summary:focus-visible{outline:2px solid #e6d198;outline-offset:2px}
@media(max-width:720px){.kingdom-shortcuts button{min-height:44px}}

/* Optional challenge board and a close, readable view of actual buildings. */
.challenge-board{padding:14px 0;border-block:1px solid var(--line);margin:14px 0}.challenge-board>summary,.building-views>summary{cursor:pointer;color:#e0c791;font-weight:600;line-height:1.5}.challenge-board p{font-size:12px;line-height:1.6}.challenge-rank{padding:14px 0;border-top:1px solid #bdc3a52b}.challenge-rank strong{font-size:13px;color:#ead7ac}.building-look{width:100%;margin-bottom:12px}.building-views{padding:12px;margin-bottom:14px;border:1px solid #bdc3a538;border-radius:9px}.building-views button{display:block;width:100%;margin-top:8px}.building-dialog{width:min(1040px,94vw);max-width:1040px;padding:28px}.building-dialog>h2{font-size:28px;margin:6px 40px 8px 0}.building-dialog>p{margin-top:0;font-size:13px}.building-dialog canvas{display:block;width:100%;aspect-ratio:960/620;max-height:65vh;border:1px solid #c3b78555;border-radius:10px;background:#102624;object-fit:contain}.building-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px}.building-facts h3,.building-dialog section h3{font:600 17px Georgia;color:#ead6ac}.building-facts p,.building-facts li,.building-dialog section p{font-size:13px;line-height:1.6}.building-facts ul{padding-left:18px}.building-dialog .gold-button{margin-top:18px}@media(max-width:600px){.building-dialog{width:96vw;padding:18px}.building-dialog>h2{font-size:22px}.building-facts{grid-template-columns:1fr;gap:0}.building-dialog canvas{min-height:200px}}
@media (max-width: 720px) {
  [data-regional="finance"], [data-regional="finance-cancel"], [data-regional="finance-welcome"] { min-height: 44px; }
}
#panel-content .regional-finance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* A quieter desk, readable study progress and the kingdom's next generation. */
.school-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0 16px}
.school-overview span{padding:11px 5px;border:1px solid #a7b48b55;background:linear-gradient(145deg,#3b5144,#203b33);border-radius:7px;text-align:center;font-size:10px;line-height:1.4;color:#cad8bd}
.school-overview b{display:block;color:#f3dba8;font:27px/1.2 Georgia;margin-bottom:3px}
.school-pupil{border-left:3px solid #cbb67a!important;background:linear-gradient(135deg,#344c3f,#1b332d)!important}
.school-pupil progress{display:block;width:100%;height:10px;accent-color:#d5bb7c;margin:12px 0;border:0;border-radius:8px;overflow:hidden}
.school-pupil progress::-webkit-progress-bar{background:#112a27}.school-pupil progress::-webkit-progress-value{background:linear-gradient(90deg,#7eac93,#e0c58a)}
.school-status{border-top:1px solid #b3c29b33;padding-top:10px;color:#d1ddc6!important;line-height:1.65!important}
.school-warning{padding:10px;border:1px solid #d0b47b66;border-radius:5px;background:#55452b66;color:#f0dcae!important}
.legacy-card details>summary{cursor:pointer;color:#ecd7aa;font-size:12px;line-height:1.6;padding:3px 0}
.legacy-card details>summary:focus-visible{outline:2px solid #ead4a0;outline-offset:4px}
.legacy-card .small-button{min-height:38px;margin-top:7px}.legacy-card label{line-height:1.5}
.legacy-card p{font-size:12px;line-height:1.65;color:#bdcdb7}.legacy-card h3{color:#f0dfb8}
.kingdom-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.kingdom-shortcuts button{min-width:0;min-height:40px}
.right-panel{box-shadow:0 12px 35px #07181166,inset 0 1px 0 #d4c69512}.world-frame{box-shadow:0 16px 42px #020d1166,inset 0 0 0 1px #c5d2aa22}
#panel-content label:has([data-life-choice^="legacy-"]){display:grid;gap:7px;margin:14px 0 8px;color:#cbd9bd;font-size:12px}
#panel-content [data-life-choice^="legacy-"]{display:block;width:100%;min-height:40px;padding:9px 10px;border:1px solid #96ac8680;border-radius:6px;background:#172e29;color:#f0e3c6;font:12px var(--sans)}
.school-interior{display:block;width:100%;min-height:40px;margin:12px 0;border-color:#c6af78!important;color:#f2daa4}
@media(max-width:720px){.legacy-card .small-button,.legacy-card select{min-height:44px}.school-overview span{font-size:11px}.school-overview b{font-size:28px}}
@media(max-width:720px){#panel-content [data-life-choice^="legacy-"]{min-height:44px}}

/* Early settlement guidance stays in the existing scrolling panel. */
.startup-advice{padding:14px;margin:0 0 16px;border:1px solid #a98a4f66;border-radius:9px;background:linear-gradient(135deg,#253d3280,#18261d);}
.startup-advice h3{font-family:var(--serif,Georgia,serif);font-size:19px;line-height:1.25;margin:7px 0;color:#f1d7a2;}
.startup-advice p,.local-hiring p{font-size:12px;line-height:1.55;color:#c1c9b5;}
.startup-advice small,.local-hire small{display:block;font-size:11px;line-height:1.5;color:#b4bba8;}
.startup-advice .small-button,.local-hire .small-button{display:block;width:100%;margin-top:9px;min-height:40px;white-space:normal;}
.startup-balance{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0;}
.startup-balance span{font-size:11px;background:#13241e;border:1px solid #67826b66;padding:5px 7px;border-radius:4px;color:#a9d2b4;}
.startup-balance .deficit{color:#f0b09a;border-color:#ae7969;}
.local-hiring{border-top:1px solid #83997733;margin-top:14px;padding-top:10px;}
.local-hire{border-left:2px solid #8ca87b;padding:8px 10px;margin:8px 0;background:#1e2e2580;}
.local-hire p{margin:5px 0;}
@media(max-width:700px){.startup-advice .small-button,.local-hire .small-button{min-height:44px;}}

@media(max-width:700px){.hire-card .small-button,.inspection-recommendations .small-button{min-height:44px;}}

/* The first Town Hall exposes standing powers without leaving its inspector. */
.town-handoff h3{font-family:var(--serif,Georgia,serif);font-size:22px;color:#edd6a5;line-height:1.25;margin:8px 0;}
.handoff-plan{border-left:2px solid #b49b61;background:#26382d88;padding:9px 10px;margin:12px 0;overflow-wrap:anywhere;}
.handoff-plan b{color:#d9c596;font-size:13px;}.handoff-plan p{margin:6px 0 0;}
.handoff-crew{font-size:11px;color:#bbcbb5;line-height:1.6;margin:8px 0;}
.handoff-policy{display:flex;align-items:center;gap:10px;border-top:1px solid #889b7533;padding:10px 0;}
.handoff-policy>div{flex:1;min-width:0;}.handoff-policy b{font-size:12px;color:#d4d9bd;}
.handoff-policy small{display:block;color:#aabda7;font-size:11px;line-height:1.5;margin-top:4px;}
.handoff-policy .small-button{min-width:54px;min-height:40px;flex-shrink:0;}
@media(max-width:700px){.handoff-policy .small-button,.town-handoff>.small-button{min-height:44px;}}

/* Actual Exchange reserves stay readable in the existing details panel. */
.exchange-ledger h3{font-family:var(--serif,Georgia,serif);font-size:21px;line-height:1.25;color:#ecd3a1;margin:8px 0;}
.exchange-reserves{width:100%;table-layout:fixed;border-collapse:collapse;margin:14px 0;font-size:11px;font-variant-numeric:tabular-nums;}
.exchange-reserves caption{text-align:left;font-size:11px;color:#b8c7ad;line-height:1.5;margin-bottom:7px;}
.exchange-reserves th,.exchange-reserves td{padding:8px 3px;text-align:right;border-bottom:1px solid #78906d44;overflow-wrap:anywhere;}
.exchange-reserves th:first-child{text-align:left;}.exchange-reserves thead{color:#d6c79e;}
.exchange-plan,.exchange-workshop{padding:10px;background:#24392e99;border-left:2px solid #a28b55;}
.exchange-workshop{margin:9px 0;}.exchange-workshop small{display:block;font-size:11px;color:#b9c9b0;margin:7px 0;}
.exchange-ledger>.small-button,.exchange-workshop .small-button{min-height:40px;white-space:normal;}
@media(max-width:700px){.exchange-ledger>.small-button,.exchange-workshop .small-button{min-height:44px;}}
/* Persistent chapter guidance stays inside the existing scrolling map panel. */
.kingdom-journey{margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}
.room-guide>.kingdom-journey:first-child{margin-top:0;padding-top:0;border-top:0;margin-bottom:18px}
.kingdom-journey h3{font-family:var(--serif);font-size:19px;line-height:1.3;color:var(--gold-light);font-weight:400;margin:8px 0}
.kingdom-journey p,.kingdom-journey small{font-size:10px;line-height:1.65;color:#b6c8af;display:block;margin:9px 0}
.kingdom-journey .small-button,.room-guide-suggestion .small-button{width:100%;min-height:44px;white-space:normal;line-height:1.4}
.kingdom-journey details{margin-top:13px;border-top:1px solid var(--line);padding-top:9px}
.kingdom-journey summary{font-size:11px;line-height:1.6;color:#e6d4a7;cursor:pointer;padding:8px 0;min-height:44px}
#room-guide-counts{font-variant-numeric:tabular-nums}
/* Make freight holds readable beside real cargo and keyboard controls. */
.freight-status{padding:9px;border-left:2px solid var(--gold);background:#30443580;overflow-wrap:anywhere}
.freight-status b{color:var(--gold-light)}
@media(max-width:720px){.life-card:has(.freight-status) .small-button{min-height:44px}}
/* First-settlement readiness stays readable in the narrow management panel. */
.regional-readiness{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0}
.regional-readiness>div{display:flex;flex-direction:column;gap:3px;border:1px solid #526d5c;border-radius:5px;padding:8px;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.regional-readiness .ready b{color:#b9d0a5}.regional-readiness .regional-alert{border-color:#a88c52}
@media(max-width:680px){.regional-card [data-regional="exchange"]{min-height:44px}}
.agency-replacements{list-style:none;padding:0;display:grid;gap:8px}.agency-replacements li{display:grid;gap:4px;padding:9px;border:1px solid #526d5c;border-radius:5px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.agency-replacements b{color:#e4d1a4;text-transform:capitalize}.agency-replacements span{display:block}
@media(max-width:680px){[data-agency="training-town"]{min-height:44px}}

/* Family learning and ownership in the settlement inspector. */
.inheritance-pipeline{margin:16px 0;padding:12px;border:1px solid #8d9b7755;border-radius:7px;background:linear-gradient(135deg,#324b3b55,#182e2a55)}
.inheritance-pipeline h4{margin-top:0;color:#ead7a6}.inheritance-pipeline progress{display:block;width:100%;height:8px;accent-color:#cbb77d;margin:8px 0 14px}.inheritance-pipeline p:last-of-type{margin-bottom:7px}

/* The active continuing-kingdom inspector has its own six-page navigation. */
.futures-inspector > .town-switch,.futures-inspector > .kingdom-desk{display:none}
.futures-card{background:linear-gradient(145deg,#27413999,#142e2bd9);border-color:#9eac7655}
.futures-inspector .commonwealth-heading{margin-top:0}.futures-inspector .commonwealth-heading h2{font-size:25px;margin:8px 0}.futures-inspector .commonwealth-heading p{font-size:12px;line-height:1.5}
.futures-inspector > .commonwealth-tabs{position:sticky;top:0;z-index:2;background:#20352df5;padding:7px 0;margin:12px 0;border-bottom:1px solid #ad9a6655}
.futures-inspector .futures-card h3{overflow-wrap:anywhere}.futures-inspector .futures-card .small-button{white-space:normal}
