.page-weather { isolation: isolate; background: #171c23; }
.page-weather::before { content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; background: radial-gradient(ellipse at 25% 5%, #8d99aa30, transparent 65%), radial-gradient(ellipse at 85% 30%, #a5aebc24, transparent 60%), linear-gradient(#30394588, #171b2280 75%, #101113); }
.home-rain { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; }
.page-home .home-card { background: #19181ce8; }
/* A transform animation on main confines fixed descendants to its column. */
.page-home main { animation: none; }
.home-typing { display: inline-block; position: relative; }
.home-typing[data-typing-text]::before { content: attr(data-typing-text); visibility: hidden; white-space: pre; }
.home-typing .home-typing-text { position: absolute; top: 0; left: 0; color: inherit; margin: 0; white-space: pre; }
.eyebrow .home-typing { color: inherit; margin-right: 0; }
.home-links.is-pending { visibility: hidden; }
.home-links.is-revealed .home-card { animation: home-links-reveal 1.2s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes home-links-reveal { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
.home-typing-text.is-typing::after { content: ""; display: inline-block; height: .85em; width: 0; border-right: 1px solid #eebbc9; margin-left: -.04em; vertical-align: -.05em; animation: home-caret 1.1s ease-in-out infinite; }
@keyframes home-caret { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .home-typing-text.is-typing::after { animation: none; } }
.page-weather .site-header, .page-weather .site-footer { position: relative; z-index: 2; max-width: none; width: 100%; padding-left: max(36px, calc((100% - 1048px) / 2)); padding-right: max(36px, calc((100% - 1048px) / 2)); background: #101113; }
.page-world { background: #101113; }
.page-world::before { content: none; }
.page-world main { animation: none; }
@media (max-width: 760px) {
  .page-weather .site-header, .page-weather .site-footer { padding-left: 24px; padding-right: 24px; }
}
