/* A and B deliberately share layout geometry; the 400px ad slot stays intact. */
#canvas>.weather{min-height:300px;height:300px;padding:25px 38px;flex-shrink:0;gap:20px}.weather>div:first-child{min-width:0;flex:1}.weather .eyebrow{font-size:14px;letter-spacing:3px}.weather .bigtemp{font-size:156px;letter-spacing:-11px;line-height:1;font-weight:400;margin-top:7px;font-variant-numeric:tabular-nums}.weather .description{font-size:23px;line-height:1.35;letter-spacing:-.35px;margin-top:4px;max-width:580px}.weather-side{width:215px;flex-shrink:0}.weather #weather-detail{font-size:17px;margin-top:0;line-height:1.5}.weather #weather-source{font-size:13px;line-height:1.55;max-width:215px;margin:8px auto 0;color:#65786a}.weather-icon{height:150px;line-height:1;color:#71887b}.weather-icon svg{width:175px;height:150px;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.weather-icon .art-cloud{fill:#dfe7e152}.weather-icon .art-sun,.weather-icon .art-moon,.weather-icon .art-rays{stroke:#a68a55}.weather-icon .art-glow{animation:weather-art-breathe 14s ease-in-out infinite alternate}.weather-icon .art-rain{stroke-dasharray:12 7;animation:weather-art-rain 2.8s linear infinite}.weather-icon .art-snow{animation:weather-art-snow 8s ease-in-out infinite alternate}body[data-design=refined]{background:#cbd1ca}body[data-design=refined] #canvas{background:#f6f4ee}body[data-design=refined] #atmosphere-host{display:none}body[data-design=refined] #canvas>.top,body[data-design=refined] #canvas>.intro,body[data-design=refined] #canvas>.footer{color:#283630;text-shadow:none}body[data-design=refined] #canvas .date,body[data-design=refined] #canvas .intro p{color:#66766b}body[data-design=refined] #canvas .brandmark,body[data-design=refined] #canvas .brandmark:after{border-color:#2d574c}body[data-design=refined] #canvas .brandmark:after{background:#f6f4ee}body[data-design=refined] #canvas .top .brand>span>span{color:#789087!important}body[data-design=refined] #canvas>.demo{background:#edf1e7;color:#4e6656}body[data-design=refined] #canvas>.weather{background:#e5ebe2;border-color:#d6e0d2;box-shadow:none}body[data-design=refined] #canvas>.transit{background:transparent;border-color:transparent}body[data-design=refined] #canvas>.notes{background:#ebe9df;border-color:transparent}body[data-design=refined] #canvas>.footer .pill{background:transparent;color:#4c6559;border-color:#d0d9cf}
body[data-design=atmospheric]{background:#101c2a}body[data-design=atmospheric] #canvas{background:#142637;color:#eef4ef}body[data-design=atmospheric] .weather-scene[data-period=day]{background:linear-gradient(155deg,#14273c,#294450 60%,#535947)}body[data-design=atmospheric] .weather-scene[data-condition=cloudy][data-period=day]{background:linear-gradient(155deg,#1b2b3c,#344750 70%,#3e5656)}body[data-design=atmospheric] .weather-scene[data-condition=rainy][data-period=day]{background:linear-gradient(155deg,#102439,#294354 70%,#405663)}body[data-design=atmospheric] .weather-scene[data-condition=snowy][data-period=day]{background:linear-gradient(155deg,#183045,#344f61 70%,#566c74)}body[data-design=atmospheric] .solar-glow{opacity:.4;background:radial-gradient(circle,#ead4a760,#efddc12b 22%,transparent 65%)}body[data-design=atmospheric] .solar-disc{opacity:.5}body[data-design=atmospheric] .sky-cloud{opacity:calc(var(--opacity,.55)*.28)}body[data-design=atmospheric] #canvas>.top,body[data-design=atmospheric] #canvas>.intro,body[data-design=atmospheric] #canvas>.footer{color:#f1f5ed;text-shadow:none}body[data-design=atmospheric] #canvas .date,body[data-design=atmospheric] #canvas .intro p{color:#c7d5d9}body[data-design=atmospheric] #canvas .brandmark,body[data-design=atmospheric] #canvas .brandmark:after{border-color:#d8e7d7}body[data-design=atmospheric] #canvas .brandmark:after{background:#1f394c}body[data-design=atmospheric] #canvas .top .brand>span>span{color:#b8cba9!important}body[data-design=atmospheric] #canvas>.demo{background:#142b42dc;color:#e3eee7}body[data-design=atmospheric] #canvas>.weather{background:linear-gradient(125deg,#1b3349eb,#1e3b4ce8);border-color:#c2d7dc2e;box-shadow:0 12px 40px #08152418}body[data-design=atmospheric] #canvas .weather .eyebrow{color:#bacfbe}body[data-design=atmospheric] .weather .bigtemp{color:#f7f5e9;font-weight:350}body[data-design=atmospheric] .weather .description{color:#e0e8df}body[data-design=atmospheric] .weather #weather-detail{color:#d9e4d9}body[data-design=atmospheric] .weather #weather-source{color:#bacbd0}body[data-design=atmospheric] .weather-icon{color:#d3e0dc}body[data-design=atmospheric] .weather-icon .art-cloud{fill:#c0d1ce0a}body[data-design=atmospheric] .weather-icon .art-sun,body[data-design=atmospheric] .weather-icon .art-moon,body[data-design=atmospheric] .weather-icon .art-rays{stroke:#e1c58e}body[data-design=atmospheric] #canvas>.transit,body[data-design=atmospheric] #canvas>.notes{background:#172f41ee;border-color:#abc3ca2e;color:#edf3ec}body[data-design=atmospheric] #canvas .transit .sectionhead span,body[data-design=atmospheric] #canvas .notes .sectionhead span{color:#bfced0}body[data-design=atmospheric] #canvas .trainrow{border-color:#b7cdd020}body[data-design=atmospheric] #canvas>.footer .pill{background:#142a3acc;border-color:#bacfd32e;color:#d4e2d5}
/* Advertising keeps its pale, high-contrast frame and full existing height. */
#canvas>.campaign-placement{height:400px;min-height:400px;flex-shrink:0}body[data-design=atmospheric] #canvas>.campaign-placement{background:#f2efe4;border-color:#f2eedb88;box-shadow:0 10px 36px #06152433;color:#283b2d}
@keyframes weather-art-breathe{from{opacity:.55;transform:scale(.97);transform-origin:center}to{opacity:1;transform:scale(1.03);transform-origin:center}}@keyframes weather-art-rain{to{stroke-dashoffset:-19}}@keyframes weather-art-snow{from{transform:translateY(-2px)}to{transform:translateY(3px)}}.atmosphere-static .weather-icon *,.atmosphere-paused .weather-icon *{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.weather-icon *{animation:none!important}}body[data-design=refined] .weather-icon .art-glow{opacity:.8}
/* One focal weather illustration: keep background light, not duplicate moon/sun discs. */
body[data-design=atmospheric] .weather-scene>.moon,body[data-design=atmospheric] .weather-scene>.solar-disc{display:none}
/* Daylight remains daylight; the existing deep palette applies after dusk. */
body[data-design=atmospheric][data-period=day]{background:#d0dedf}
body[data-design=atmospheric][data-period=day] #canvas{background:#dbe8e8;color:#243d36}
body[data-design=atmospheric][data-period=day] .weather-scene[data-period=day]{background:linear-gradient(155deg,#b9ddeb,#dcebed 60%,#f5e8c7)}
body[data-design=atmospheric][data-period=day] .weather-scene[data-condition=cloudy][data-period=day]{background:linear-gradient(155deg,#c2d1db,#dce3e5 70%,#e6e7df)}
body[data-design=atmospheric][data-period=day] .weather-scene[data-condition=rainy][data-period=day]{background:linear-gradient(155deg,#a6bccb,#c2d2dc 70%,#d9e0df)}
body[data-design=atmospheric][data-period=day] .weather-scene[data-condition=snowy][data-period=day]{background:linear-gradient(155deg,#c9dce5,#e5ecef 70%,#edf0e9)}
body[data-design=atmospheric][data-period=day] .sky-vignette{opacity:.12}
body[data-design=atmospheric][data-period=day] .rain-drop{background:linear-gradient(transparent,#315b77aa);opacity:.75}
body[data-design=atmospheric][data-period=day] #canvas>.top,
body[data-design=atmospheric][data-period=day] #canvas>.intro,
body[data-design=atmospheric][data-period=day] #canvas>.footer{color:#243d36;text-shadow:none}
body[data-design=atmospheric][data-period=day] #canvas .date,
body[data-design=atmospheric][data-period=day] #canvas .intro p{color:#405c55}
body[data-design=atmospheric][data-period=day] #canvas .brandmark,
body[data-design=atmospheric][data-period=day] #canvas .brandmark:after{border-color:#315c4e}
body[data-design=atmospheric][data-period=day] #canvas .brandmark:after{background:#dbe8e8}
body[data-design=atmospheric][data-period=day] #canvas .top .brand>span>span{color:#526b45!important}
body[data-design=atmospheric][data-period=day] #canvas>.demo{background:#f1f6e9ed;color:#3d5b4d}
body[data-design=atmospheric][data-period=day] #canvas>.weather{background:#f2f7efeF;border-color:#819b8240;box-shadow:0 12px 40px #385c4812}
body[data-design=atmospheric][data-period=day] #canvas .weather .eyebrow{color:#405b48}
body[data-design=atmospheric][data-period=day] .weather .bigtemp{color:#244b3b}
body[data-design=atmospheric][data-period=day] .weather .description,
body[data-design=atmospheric][data-period=day] .weather #weather-detail,
body[data-design=atmospheric][data-period=day] .weather #weather-source{color:#3b584a}
body[data-design=atmospheric][data-period=day] .weather-icon{color:#536f61}
body[data-design=atmospheric][data-period=day] .weather-icon .art-sun,
body[data-design=atmospheric][data-period=day] .weather-icon .art-rays{stroke:#92712c}
body[data-design=atmospheric][data-period=day] #canvas>.transit,
body[data-design=atmospheric][data-period=day] #canvas>.notes{background:#f3f7f0ed;border-color:#69877330;color:#243d36}
body[data-design=atmospheric][data-period=day] #canvas .transit .sectionhead span,
body[data-design=atmospheric][data-period=day] #canvas .notes .sectionhead span{color:#405d53}
body[data-design=atmospheric][data-period=day] #canvas .trainrow{border-color:#69877330}
body[data-design=atmospheric][data-period=day] #canvas>.footer .pill{background:#f1f6e9dd;border-color:#69877350;color:#395947}
/* Keep advertisement copy readable in every sky state. */
body[data-design=atmospheric] #canvas>.campaign-placement .campaign-copy p{color:#3f5946}

/* Permanent resident invitation is separate from paid campaign delivery. */
#canvas>.footer{padding:0;flex-shrink:0}.resident-promotion{width:100%;min-height:216px;padding:26px 32px;border-radius:24px;background:linear-gradient(120deg,#101f32,#1b3044);border:1px solid #9db4c02e;display:flex;align-items:center;justify-content:space-between;gap:28px;color:#f4f5ee!important;box-shadow:0 12px 30px #06152420}.resident-promotion-copy{min-width:0}.resident-promotion .resident-overline{font-size:12px;font-weight:700;letter-spacing:2.4px;color:#c4d2d7;margin-bottom:12px}.resident-promotion h2{font-family:Inter,system-ui,sans-serif;font-size:30px;font-weight:550;letter-spacing:-.8px;line-height:1.2;margin:0 0 12px}.resident-promotion p{font-size:18px;line-height:1.55;color:#d4e0e4}.resident-promotion img{width:164px;height:164px;flex-shrink:0;background:#fff;padding:10px;border-radius:12px;image-rendering:pixelated}.weather-icon svg{display:block;max-width:100%;margin:auto}.weather-icon{display:grid;place-items:center;overflow:hidden}.demo{display:none!important}.rain-drop{opacity:.9}body[data-design=atmospheric][data-period=day] .weather-scene[data-condition=rainy][data-period=day]{background:linear-gradient(155deg,#91aabd,#bacbd5 70%,#d0d9dc)}

body[data-building-unavailable] #canvas>:not(#atmosphere-host):not(#building-unavailable){display:none!important}#building-unavailable{position:absolute;inset:70px;z-index:5!important;background:#f6f5ef;color:#243d36;padding:90px 50px;border-radius:28px;text-align:center}#building-unavailable h1{font-size:52px}#building-unavailable p{font-size:24px;margin-top:26px}
