/* Live shared sidebar shell. Layered last; game views and actions remain their own components. */
.citadel-brand .citadel-full{display:none}.citadel-compact{display:flex;align-items:center;gap:9px}.citadel-compact>img{width:49px;height:49px;object-fit:contain}.citadel-compact>span{font:14px/1.1 Georgia,serif;letter-spacing:.03em}.citadel-compact .brand-version{display:block;margin-top:4px}
body[data-layout=sidebar]{--layout-sidebar:240px;--layout-footer-height:116px;background:#050504;overflow:hidden!important;height:100dvh!important;min-height:0!important;padding:0;font-family:Georgia,serif}body[data-layout=sidebar] #app{display:grid!important;grid-template-columns:var(--layout-sidebar) minmax(0,1fr)!important;grid-template-rows:68px minmax(0,1fr) auto!important;height:100dvh!important;min-height:0!important;overflow:hidden;gap:0;padding:0 18px 0 0}
body[data-layout=sidebar] .layout-topbar{grid-column:2;grid-row:1;display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin:0 0 0 18px;padding:0 5px!important;min-height:0!important;height:68px!important;background:none!important;border:0!important;border-bottom:1px solid #94703a55!important;border-image:none!important;position:relative;z-index:50}
body[data-layout=sidebar] .layout-sidebar-background{position:fixed;inset:0 auto 0 0;width:var(--layout-sidebar);border:9px solid #805e37;border-image:url('assets/woodland-panel-leather-v1.webp') 82 fill/9px;background:#19120d;z-index:-1;pointer-events:none;box-shadow:5px 0 20px #0007}
body[data-layout=sidebar] .citadel-brand{position:fixed;left:17px;top:13px;width:calc(var(--layout-sidebar) - 34px);height:183px!important;display:flex;justify-content:center;align-items:center;margin:0;z-index:2}body[data-layout=sidebar] .citadel-brand .citadel-full{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 4px #0007)}body[data-layout=sidebar] .citadel-brand .citadel-compact{display:none}
body[data-layout=sidebar] .layout-navigation{position:fixed;left:17px;top:210px;bottom:92px;width:calc(var(--layout-sidebar) - 34px);display:flex!important;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;overflow:auto;scrollbar-width:thin;scrollbar-color:#79572c #18110b;z-index:1;padding:0 0 5px}
.layout-nav-heading{display:flex;justify-content:space-between;align-items:center;font:10px Georgia,serif;letter-spacing:.18em;color:#ad8c59;padding:0 9px 8px}.layout-menu-close{display:none!important}
body[data-layout=sidebar] .layout-navigation>button{flex:none;width:100%;min-height:66px;height:66px;padding:8px 12px!important;display:flex;align-items:center;justify-content:flex-start;font:19px Georgia,serif;border:0!important;box-shadow:none!important;border-radius:0;background:none!important;transform:none!important;position:relative;isolation:isolate;white-space:nowrap}
body[data-layout=sidebar] .layout-navigation>button>.smith-button-label{justify-content:flex-start;align-items:center;gap:9px;width:100%;padding-bottom:9px;min-width:0}.layout-navigation .woodland-nav-icon{width:34px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 2px #0009)}body[data-layout=sidebar] .layout-navigation>button>.icon{display:none}
.layout-nav-hint{position:absolute;left:55px;bottom:9px;font:10px/1.2 Georgia,serif;color:#b6a181;z-index:2;pointer-events:none}
body[data-layout=sidebar] .layout-navigation>button.active{color:#2c1b0a!important}body[data-layout=sidebar] .layout-navigation>button.active .layout-nav-hint{color:#503214}body[data-layout=sidebar] .layout-navigation>button.active>.smith-button-label{font-weight:bold}.layout-navigation .layout-helper>.smith-button-label{padding-bottom:0!important}.layout-navigation .layout-helper .icon{width:28px;height:28px}
.layout-nav-divider{display:flex;justify-content:center;align-items:center;gap:9px;color:#b18a4e;padding:5px;font-size:13px}.layout-nav-divider:before,.layout-nav-divider:after{content:'';height:1px;background:linear-gradient(90deg,transparent,#a77d3c);flex:1}.layout-nav-divider:after{transform:rotate(180deg)}
.layout-profile{position:fixed;left:22px;bottom:19px;width:calc(var(--layout-sidebar) - 44px);display:flex;align-items:center;gap:8px;border-top:1px solid #ac824744;padding-top:12px}.layout-profile>img{width:37px;height:43px;object-fit:contain}.layout-profile strong{display:block;font:16px Georgia;overflow:hidden;text-overflow:ellipsis;max-width:145px}.layout-profile small{display:block;font:11px/1.3 Georgia;color:#b9a07a;margin-top:5px}.layout-header-context{display:flex;align-items:center;gap:12px;min-width:0}.layout-location{font:17px Georgia;color:#d9c29b}.layout-menu-open{display:none!important}
body[data-layout=sidebar] .main-content{grid-column:2;grid-row:2;margin:0!important;padding:18px 0 12px 18px!important;width:100%;height:100%!important;min-height:0!important;max-height:none!important;max-width:none!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#7e5c30 #100d09}
body[data-layout=sidebar] .view-content{min-height:0;height:auto!important;max-height:none!important;overflow:visible!important}body[data-layout=sidebar] .mobile-nav{display:none!important}body[data-layout=sidebar] .test-banner{display:none!important}body[data-layout=sidebar] .top-actions{display:flex;align-items:center;gap:7px}body[data-layout=sidebar] .top-actions select{font:14px Georgia;background:#19130e;border-color:#94723f;min-height:36px;padding:5px}body[data-layout=sidebar] .top-actions button{min-height:36px;height:36px;font-size:14px}body[data-layout=sidebar] .top-actions .icon{width:25px;height:25px}
.layout-footer{grid-column:2;grid-row:3;display:grid;grid-template-columns:minmax(200px,.85fr) minmax(340px,1.45fr) minmax(170px,.6fr);gap:18px;align-items:center;padding:10px 13px;margin:0 0 8px 18px;border:8px solid #775532;border-image:url('assets/woodland-panel-leather-v1.webp') 82 fill/8px;background:#19120d;min-width:0}
.layout-footer-route{min-width:0;display:grid;gap:7px}.layout-footer-eyebrow{color:#b49667;font:9px/1.3 Georgia;letter-spacing:.1em;text-transform:uppercase}.layout-route-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.layout-route-title strong{font:18px/1.2 Georgia;color:#eed4a9}.layout-route-title>span{font:12px Georgia;color:#bca57f;white-space:nowrap}.layout-route-progress{height:9px;border-radius:8px;border:1px solid #b38b44;padding:1px;background:#0b0907}.layout-route-progress>i{display:block;height:100%;border-radius:5px;background:linear-gradient(#f8db8b,#bf8328 65%,#91540e);transition:width .3s}
.layout-footer button{position:relative;isolation:isolate;border:0;background:none!important;box-shadow:none!important;transform:none!important;min-height:46px;font:17px/1.15 Georgia;padding:10px 12px;white-space:normal}.layout-footer button.primary{color:#291b0c;font-weight:bold}.layout-footer button:hover>.smith-button-skin.hover{opacity:1}.layout-footer button:active>.smith-button-skin.pressed{opacity:1}.layout-footer .layout-jobs{font:12px Georgia;min-height:18px;padding:0;justify-content:flex-start;text-align:left;color:#c2a981}.layout-jobs>.smith-button-skin{display:none}.layout-jobs>.smith-button-label{justify-content:flex-start}.layout-footer-resources{min-width:0}.layout-footer .footer-resource-badges{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
body[data-layout=sidebar] .live-village-dock{display:none!important}body[data-layout=sidebar] .sanctuary-v07 .sanctuary-viewport{height:clamp(290px,calc(100dvh - 310px),1100px)!important;min-height:0!important}body[data-layout=sidebar] .live-building-drawer{max-height:calc(100dvh - 235px)!important}body[data-layout=sidebar] .page-heading{margin-top:0}body[data-layout=sidebar] .live-world-map{height:clamp(360px,calc(100dvh - 310px),1000px)!important}
.layout-menu-backdrop[hidden]{display:none!important}.layout-menu-backdrop{position:fixed;inset:0;width:100%;height:100%;border:0;background:#000b!important;backdrop-filter:blur(3px);z-index:0}
@media(min-width:1700px){body[data-layout=sidebar]{--layout-sidebar:270px}.layout-footer{grid-template-columns:minmax(280px,1fr) minmax(570px,1.4fr) auto}.layout-route-title strong{font-size:22px}.layout-footer button.layout-continue{font-size:20px;min-height:53px}.layout-nav-hint{font-size:11px;left:61px}body[data-layout=sidebar] .layout-navigation>button{font-size:21px;min-height:72px;height:72px}.layout-navigation .woodland-nav-icon{width:39px;height:41px}}
@media(max-height:800px) and (min-width:901px){body[data-layout=sidebar] .citadel-brand{height:140px!important;top:8px}body[data-layout=sidebar] .layout-navigation{top:165px;bottom:77px;gap:5px}body[data-layout=sidebar] .layout-navigation>button{min-height:56px;height:56px;font-size:17px}.layout-nav-hint{font-size:9px;bottom:7px}.layout-profile{bottom:12px;padding-top:8px}.layout-nav-divider{padding:1px}}
@media(min-width:901px) and (max-width:1200px){body[data-layout=sidebar]{--layout-sidebar:212px}.layout-navigation .woodland-nav-icon{width:29px;height:32px}body[data-layout=sidebar] .layout-navigation>button{font-size:17px;padding-inline:10px!important}.layout-nav-hint{left:48px;font-size:9px}.layout-footer{grid-template-columns:minmax(150px,.7fr) minmax(250px,1fr);gap:8px 13px}.layout-footer .layout-continue{grid-column:1/-1;min-height:36px;font-size:15px;padding:6px 12px}.layout-route-title strong{font-size:16px}.layout-footer .footer-resource-badges .footer-badge-name{font-size:9px}.layout-footer .footer-resource-badges .footer-badge-value strong{font-size:14px}.layout-footer .footer-resource-badges .footer-badge-value img{width:19px;height:19px}}
@media(max-width:900px){body[data-layout=sidebar]{--layout-sidebar:286px}body[data-layout=sidebar] #app{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:62px minmax(0,1fr) auto!important;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);height:100dvh!important}
 body[data-layout=sidebar] .layout-topbar{grid-column:1;margin:0 7px;height:62px!important;padding:0!important;z-index:70}body[data-layout=sidebar] .citadel-brand{position:static;height:45px!important;width:auto;flex:1;min-width:0;justify-content:flex-start;order:1;margin-left:5px}body[data-layout=sidebar] .citadel-brand .citadel-full{display:none}body[data-layout=sidebar] .citadel-brand .citadel-compact{display:flex;gap:6px}body[data-layout=sidebar] .citadel-compact>img{width:39px;height:42px}body[data-layout=sidebar] .citadel-compact>span{font-size:10px;line-height:1.15}.citadel-compact .brand-version{font-size:8px;margin-top:2px}
 .layout-location{display:none}.layout-header-context{order:0}.layout-menu-open{display:flex!important;align-items:center;gap:5px;min-height:37px;padding:6px 8px;border:1px solid #99723d;background:#21170e;font-size:18px}.layout-menu-open span{display:none}body[data-layout=sidebar] .top-actions{order:2;gap:3px}body[data-layout=sidebar] .top-actions button{width:30px;min-height:34px;height:34px;padding:3px}body[data-layout=sidebar] .top-actions .icon{width:22px;height:22px}body[data-layout=sidebar] .top-actions select{width:43px;min-height:33px;font-size:11px;padding:3px}.top-actions .forest-badge{display:none!important}
 body[data-layout=sidebar] .layout-sidebar-background{visibility:hidden;z-index:4;transform:translateX(-105%);transition:transform .2s ease;width:min(var(--layout-sidebar),88vw)}body[data-layout=sidebar] .layout-navigation{visibility:hidden;z-index:5;left:16px;top:40px;bottom:20px;width:min(calc(var(--layout-sidebar) - 32px),calc(88vw - 32px));transform:translateX(-120%);transition:transform .2s ease;gap:9px;padding-bottom:30px}body[data-layout=sidebar] .layout-navigation>button{height:66px;min-height:66px;font-size:20px}body[data-layout=sidebar] .layout-navigation>button>.smith-button-label{padding-bottom:9px}.layout-nav-hint{font-size:11px;left:57px}.layout-nav-heading{padding-block:0 12px;font-size:11px}.layout-menu-close{display:flex!important;width:33px;height:33px;min-height:33px;padding:0;background:#23180e;border:1px solid #a57c43;font-size:24px;line-height:1;letter-spacing:0}
 body[data-layout=sidebar] #app.sidebar-open .layout-sidebar-background,body[data-layout=sidebar] #app.sidebar-open .layout-navigation{visibility:visible;transform:translateX(0)}body[data-layout=sidebar] .layout-profile{display:none}body[data-layout=sidebar] #app.sidebar-open .citadel-brand{pointer-events:none;opacity:.25}
 body[data-layout=sidebar] .main-content,body[data-layout=sidebar][data-hero-hall=true] .main-content{grid-column:1;grid-row:2;padding:8px 7px 12px!important;min-height:0!important;height:100%!important;max-height:100%!important;overflow-y:auto!important;width:100%!important;touch-action:pan-y}
 .layout-footer{grid-column:1;grid-row:3;margin:0 6px 5px;padding:6px 7px;gap:6px 9px;grid-template-columns:minmax(0,1fr) auto;border-width:6px;border-image-width:6px}.layout-footer-route{gap:4px}.layout-footer-eyebrow,.layout-footer .layout-jobs{display:none}.layout-route-title{gap:6px;align-items:center}.layout-route-title strong{font-size:13px}.layout-route-title>span{font-size:10px}.layout-route-progress{height:7px}.layout-footer .layout-continue{font-size:13px;min-height:37px;padding:5px 9px;max-width:133px}.layout-footer-resources{grid-column:1/-1;grid-row:2}.layout-footer .footer-resource-badges{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.layout-footer .footer-resource-badge{aspect-ratio:120/84;gap:1px;max-width:90px}.layout-footer .footer-badge-value{margin-top:-5px;gap:2px}.layout-footer .footer-resource-badge .footer-badge-value img{width:clamp(15px,28cqw,24px);height:clamp(15px,28cqw,24px)}.layout-footer .footer-resource-badge .footer-badge-value strong{font-size:clamp(11px,22cqw,17px)}.layout-footer .footer-resource-badge .footer-badge-name{font-size:clamp(7px,15cqw,10px);line-height:1.05}.layout-footer .footer-badge-frame{height:100%}
 body[data-layout=sidebar] .sanctuary-v07 .sanctuary-viewport{height:auto!important;aspect-ratio:1672/941;min-height:0!important}body[data-layout=sidebar] .live-building-drawer{max-height:none!important}.layout-navigation .layout-helper{margin-top:0}body[data-layout=sidebar] .live-world-map{height:clamp(250px,45dvh,550px)!important}body[data-layout=sidebar] .hh-live .hw-stage,body[data-layout=sidebar] .hh-live .hh-portrait-scene{height:clamp(195px,35dvh,340px)!important}
}
@media(max-width:360px){body[data-layout=sidebar] .citadel-compact>span{font-size:8px}body[data-layout=sidebar] .citadel-compact>img{width:30px;height:36px}body[data-layout=sidebar] .top-actions .help-button{display:none}.layout-route-title strong{font-size:12px}.layout-footer .layout-continue{font-size:11px;max-width:115px}}
@media(prefers-reduced-motion:reduce){.layout-route-progress>i,.layout-navigation,.layout-sidebar-background{transition:none!important}}
/* Keep the complete settlement visible instead of filling a tall viewport by cropping. */
@media(min-width:901px){body[data-layout=sidebar] .live-village{height:auto!important;min-height:0!important;grid-template-columns:minmax(0,1fr) minmax(290px,29%)!important;grid-template-rows:auto auto!important;align-items:start}body[data-layout=sidebar] .live-village>.fortress-art{height:auto!important;align-self:start!important}body[data-layout=sidebar] .sanctuary-v07 .sanctuary-viewport{height:auto!important;aspect-ratio:1672/941;flex:0 0 auto!important;min-height:0!important;width:100%}body[data-layout=sidebar] .live-village>.live-building-drawer{grid-row:1/span 2;height:calc(100dvh - 240px)!important;max-height:calc(100dvh - 240px)!important}body[data-layout=sidebar] .live-village>.sanctuary-building-nav{grid-column:1;grid-row:2;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;align-self:start}body[data-layout=sidebar] .sanctuary-building-nav>button{position:relative;isolation:isolate;border:0!important;background:none!important;box-shadow:none!important;border-radius:0;min-height:45px;font:15px Georgia;padding:7px 9px;color:#e5c99e}body[data-layout=sidebar] .sanctuary-building-nav>button:hover>.smith-button-skin.hover,body[data-layout=sidebar] .sanctuary-building-nav>button.active>.smith-button-skin.hover{opacity:1}}
@media(min-width:901px){body[data-layout=sidebar] .live-village{grid-template-rows:min-content min-content minmax(0,1fr)!important;align-content:start}body[data-layout=sidebar] .live-village>.live-building-drawer{grid-row:1/span 3}body[data-layout=sidebar] .live-village>.village-mobile-summary{display:block!important;grid-column:1;grid-row:3;align-self:start}body[data-layout=sidebar] .village-mobile-summary>.building-inset{margin-bottom:0;padding:13px 17px}body[data-layout=sidebar] .village-mobile-summary .building-facts{display:flex;justify-content:space-between;gap:15px}body[data-layout=sidebar] .village-mobile-summary p{font-size:14px;margin:5px 0 10px}}

/* Footer stays informational; departure and continuation belong to the expedition screen. */
body[data-layout=sidebar] .layout-footer{grid-template-columns:minmax(200px,.85fr) minmax(340px,1.45fr)}
@media(max-width:1200px) and (min-width:901px){body[data-layout=sidebar] .layout-footer{grid-template-columns:minmax(150px,.7fr) minmax(250px,1fr)}}
@media(max-width:900px){body[data-layout=sidebar] .layout-footer{grid-template-columns:minmax(0,1fr)}body[data-layout=sidebar] .layout-footer-resources{grid-column:1;grid-row:2}}

@media(max-width:900px){body[data-layout=sidebar] .layout-navigation{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}body[data-layout=sidebar] .layout-menu-open,body[data-layout=sidebar] .layout-menu-close{min-width:44px!important;min-height:44px!important;touch-action:manipulation}body[data-layout=sidebar] .layout-menu-backdrop{background:#000a!important;backdrop-filter:none}body[data-layout=sidebar] .layout-menu-backdrop>.smith-button-skin{display:none!important}}

/* All primary routes share the same painted icon, label and hint stacking. */
body[data-layout=sidebar] .layout-navigation>button>.smith-button-label{position:relative;z-index:2;color:inherit}
body[data-layout=sidebar] .layout-navigation>button .woodland-nav-icon{flex-shrink:0;min-width:34px}
body[data-layout=sidebar] .layout-navigation>button.active>.smith-button-label{color:#2c1b0a!important}

body[data-layout=sidebar] .layout-navigation>button .woodland-nav-icon{display:inline-block!important}
