.water-life{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.water-foam{fill:none;stroke:#edf9fa;stroke-width:1.7;stroke-linecap:round;stroke-dasharray:4 30 10 65;opacity:.2;animation:water-flow 8s linear infinite}
.water-foam.soft{stroke-width:2.3;opacity:.12;animation-duration:11s;animation-delay:-3s}
@keyframes water-flow{to{stroke-dashoffset:-218}}
.water-life .water-foam{stroke-width:1.5;opacity:.25;stroke-dasharray:3 19 6 38;animation:creek-current-v2 6s linear infinite}
.water-life .water-foam.soft{stroke-width:2;opacity:.12;animation-duration:9s;animation-delay:-4s}
.water-life .water-sheen{fill:none;stroke:#b7e8ed;stroke-width:5;opacity:.055;stroke-dasharray:10 35;animation:creek-current-v2 10s linear infinite}
@keyframes creek-current-v2{to{stroke-dashoffset:-132}}

/* stronger-water-current-v3 */
.water-life .water-foam{stroke:#efffff;stroke-width:2.8;opacity:.48;stroke-dasharray:4 11 7 22;animation:creek-current-v3 3.8s linear infinite}
.water-life .water-foam.soft{stroke-width:3.5;opacity:.22;stroke-dasharray:8 20 5 11;animation:creek-current-v3 5.6s linear infinite;animation-delay:-2.3s}
.water-life .water-sheen{stroke:#c7f0f3;stroke-width:7;opacity:.13;stroke-dasharray:12 18 7 29;animation:creek-current-v3 6.7s linear infinite}
.water-life .water-foam.fine{stroke-width:1.2;opacity:.35;stroke-dasharray:2 7 3 10;animation-duration:2.8s;animation-delay:-1.2s}
@keyframes creek-current-v3{to{stroke-dashoffset:-132}}

/* continuous-water-fire-smoke-v1 */
.settlement-life{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.fire-glow{animation:fire-light 2.4s ease-in-out infinite alternate}
.flame-motion{transform-box:fill-box;transform-origin:50% 100%;animation:fire-flame 1.2s ease-in-out infinite alternate}
.chimney-smoke{opacity:0;transform-box:view-box;animation:chimney-rise 7s linear infinite}
@keyframes fire-light{0%{opacity:.38}30%{opacity:.7}65%{opacity:.45}100%{opacity:.85}}
@keyframes fire-flame{0%{transform:scale(.88,.75) skewX(-4deg);opacity:.6}45%{transform:scale(1.06,1.08) skewX(3deg);opacity:.8}100%{transform:scale(.9,.92) skewX(-2deg);opacity:.65}}
@keyframes chimney-rise{0%{transform:translate(0,0) scale(.75);opacity:0}12%{opacity:.22}50%{transform:translate(10px,-38px) scale(1.7);opacity:.16}100%{transform:translate(25px,-82px) scale(2.8);opacity:0}}

/* soft-embers-lively-smoke-v2 */
.settlement-life .fire-glow{animation:soft-ember-light 3.7s ease-in-out infinite}
.settlement-life .ember-glow{animation:soft-ember-core 2.9s ease-in-out infinite}
.settlement-life .chimney-smoke{transform-box:view-box;transform-origin:0 0;opacity:0;animation-name:organic-chimney-rise;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes soft-ember-light{0%,100%{opacity:.5}17%{opacity:.66}41%{opacity:.44}68%{opacity:.72}83%{opacity:.55}}
@keyframes soft-ember-core{0%,100%{opacity:.58}29%{opacity:.76}56%{opacity:.49}81%{opacity:.67}}
@keyframes organic-chimney-rise{0%{transform:translate(0,0) scale(.6);opacity:0}10%{transform:translate(-2px,calc(var(--rise)*-.08)) scale(.85);opacity:var(--peak)}35%{transform:translate(calc(var(--drift)*.15),calc(var(--rise)*-.32)) scale(1.4);opacity:var(--peak)}64%{transform:translate(calc(var(--drift)*.7),calc(var(--rise)*-.64)) scale(2.1);opacity:.14}100%{transform:translate(var(--drift),calc(var(--rise)*-1)) scale(3);opacity:0}}
body{background:#000}.topbar{border:8px solid #77542f!important;border-image:url('assets/woodland-panel-leather-v1.webp') 82 fill/8px!important;border-radius:0!important;background:#21170f!important;backdrop-filter:none!important;box-shadow:none!important}.topbar .resource-bar{background:#130d0880;border-color:#97744355}.topbar .resource-bar small{color:#c2ae8a}.brand .root-emblem{width:49px;height:52px}.desktop-nav button{position:relative;isolation:isolate;border:0!important;background:none!important;box-shadow:none!important;transform:none!important;padding:8px 10px;gap:7px;color:#ecd3a8!important;min-width:0}.woodland-nav-icon{width:30px;height:30px;object-fit:contain;position:relative;z-index:1}.desktop-nav .smith-button-label{position:relative;z-index:1;display:flex;align-items:center}.desktop-nav button:hover>.smith-button-skin.hover,.desktop-nav button.active>.smith-button-skin.hover{opacity:1}.desktop-nav button:active>.smith-button-skin.pressed{opacity:1}.desktop-nav button:disabled>.smith-button-skin.disabled{opacity:1}body[data-view=fortress] .main-content{max-width:none;padding:10px 12px}.fortress-layout{grid-template-columns:minmax(0,1fr) minmax(340px,27%)}.sanctuary-v07 .fortress-art{background:none;aspect-ratio:auto;min-height:0;height:auto;display:flex;flex-direction:column;border-radius:0}.sanctuary-v07 .sanctuary-viewport{position:relative!important;inset:auto!important;flex:1;min-height:300px;height:calc(100dvh - 270px);overflow:hidden;touch-action:none;cursor:grab}.sanctuary-v07 .sanctuary-panorama{position:absolute!important;min-width:0!important;max-width:none;background:url('assets/woodland-fortress-integrated-detail-v3.webp') center/100% 100% no-repeat!important;aspect-ratio:1672/941;inset:auto;isolation:isolate}.sanctuary-panorama .water-life{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.sanctuary-panorama .settlement-life{z-index:2}.sanctuary-v07 .building-marker{background:#24180edc;border:1px solid #a68448;border-radius:3px;font:13px Georgia,serif;padding:4px 7px;min-height:26px;box-shadow:none;white-space:nowrap}.sanctuary-v07 .building-marker .icon{display:none}.sanctuary-v07 .building-marker:hover{background:#423019e8;box-shadow:none}.sanctuary-v07 .scene-heading{top:18px;left:22px;background:#241a0edb;padding:7px 12px;border-left-color:#b99b59}.sanctuary-v07 .scene-heading h1{font-size:26px}.sanctuary-v07 .scene-heading .eyebrow{font-size:11px}.sanctuary-v07 .sanctuary-bottom{position:relative!important;inset:auto!important;background:#21170f;border:7px solid #74542e;border-image:url('assets/woodland-panel-leather-v1.webp') 82 fill/7px;padding:7px 10px;min-height:85px;align-items:center;grid-template-columns:210px minmax(0,1fr) minmax(250px,.9fr)}.sanctuary-v07 .sanctuary-hero{min-height:60px}.sanctuary-v07 .sanctuary-portrait{width:50px;height:55px}.sanctuary-v07 .sanctuary-progress strong{font-size:17px}.sanctuary-v07 .sanctuary-explore{min-height:52px;font-size:19px}.fortress-drawer.smith-c-drawer{max-height:calc(100dvh - 155px)}.mobile-nav{background:#21170f;border-color:#aa8040}.mobile-nav button{position:relative;isolation:isolate}.mobile-nav .smith-button-skin{display:none}.mobile-nav button .woodland-nav-icon{width:30px;height:30px}.mobile-nav button .smith-button-label{font-size:11px;color:#dbc399}.mobile-nav button.active{background:linear-gradient(#98704488,#4d321322)!important}.topbar .top-actions button{border-color:#9b793e;background:#291c10}.test-banner{color:#bea56f}.sanctuary-panorama .building-marker{z-index:5}.sanctuary-panorama .smith-button-skin{display:none}
@media(max-width:900px){.topbar{border-width:5px!important;border-image-width:5px!important}.topbar .brand .root-emblem{width:34px;height:37px}.fortress-layout{grid-template-columns:1fr}.sanctuary-v07 .sanctuary-viewport{height:clamp(180px,35dvh,350px);min-height:150px}.sanctuary-v07 .scene-heading{left:8px;top:8px;max-width:75%}.sanctuary-v07 .scene-heading h1{font-size:19px}.sanctuary-v07 .scene-heading .eyebrow{display:none}.sanctuary-v07 .sanctuary-bottom{grid-template-columns:1fr 1fr;min-height:72px;padding:5px}.sanctuary-v07 .sanctuary-hero{min-height:45px}.sanctuary-v07 .sanctuary-explore{grid-column:1/-1;min-height:43px;font-size:18px}.sanctuary-v07 .building-marker{font-size:11px;padding:3px 5px;min-height:25px}.fortress-drawer.smith-c-drawer{max-height:none}.sanctuary-v07.mobile-building-detail .fortress-art{display:none}.mobile-nav .woodland-nav-icon{width:25px;height:25px}.mobile-nav button .smith-button-label{font-size:10px}}@media(prefers-reduced-motion:reduce){.water-life,.settlement-life{display:none!important}}

@media(min-width:901px){.sanctuary-v07 .fortress-art{height:calc(100dvh - 170px)!important;align-self:stretch}.sanctuary-v07 .sanctuary-viewport{height:auto!important;flex:1 1 0%;min-height:0!important}.sanctuary-v07 .sanctuary-bottom{flex:0 0 auto}.fortress-drawer.smith-c-drawer{max-height:calc(100dvh - 170px)}}

/* Mobile: show the entire settlement, preserving the scene aspect ratio. */
@media(max-width:900px){.sanctuary-v07 .sanctuary-viewport{height:auto!important;aspect-ratio:1672/941;min-height:0!important;flex:0 0 auto!important;width:100%}.sanctuary-v07 .building-marker{display:flex!important;font-size:9px;min-height:24px;padding:3px;transform:translate(-50%,-50%)}.sanctuary-v07 .building-marker small{display:none}.sanctuary-v07 .scene-heading{display:none!important}}

@media(max-width:900px){.sanctuary-v07 .fortress-art{height:auto!important;flex:0 0 auto!important}.sanctuary-v07 .building-tabs button{background:#17110d!important}}

/* Shared selected citadel branding, including design previews. */
.citadel-brand .citadel-full{display:none}.citadel-compact{display:flex;align-items:center;gap:8px}.citadel-compact>img{width:44px;height:44px;object-fit:contain}.citadel-compact>span{font:13px/1.1 Georgia,serif}.citadel-compact .brand-version{display:block}
