:root { color-scheme: light dark; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; padding: 32px 18px; display: grid; place-items: center; color: #f8fbff; background: radial-gradient(ellipse at 80% 10%, #163c72 0, transparent 42%), #07152f; }
main { width: min(100%, 760px); }
.page-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 4px 14px; }
.brand { display: flex; align-items: center; gap: 9px; margin: 0; color: #fff; font-weight: 800; letter-spacing: -.03em; }
.brand img { width: 32px; height: 32px; object-fit: cover; border-radius: 9px; }
.brand span span { color: #ffb000; }
.card { position: relative; overflow: hidden; isolation: isolate; padding: clamp(24px, 6vw, 48px); border: 1px solid #8bbcff55; border-radius: 30px; background: linear-gradient(145deg, #0b1a36ee, #07101ff5); box-shadow: 0 28px 80px #0005; }
.card::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .15; background: radial-gradient(ellipse at 90% 100%, #1897ff 0, transparent 42%), repeating-radial-gradient(ellipse at 10% 0%, transparent 0 28px, #8dcaff 29px 30px, transparent 31px 56px); }
.resort { margin: 0; text-align: center; font-size: clamp(30px, 7vw, 48px); line-height: 1.08; letter-spacing: -.045em; overflow-wrap: anywhere; }
.subtitle { margin: 10px 0 30px; color: #b8c4d8; font-size: clamp(17px, 4vw, 22px); font-weight: 600; text-align: center; }
.total { margin: 0 0 28px; color: #e9eff8; font-size: 18px; }
.total strong { color: white; font-size: 1.55em; font-weight: 700; letter-spacing: -.03em; }
.chart { min-height: 275px; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: end; gap: clamp(5px, 1.5vw, 12px); }
.day { min-width: 0; display: flex; height: 275px; flex-direction: column; align-items: center; justify-content: end; text-align: center; }
.amount { width: 100%; margin-bottom: 8px; padding: 7px 2px; border-radius: 99px; background: #ffffff20; color: #eef6ff; font-size: clamp(10px, 2.5vw, 14px); white-space: nowrap; }
.bar-wrap { width: 100%; height: 155px; display: flex; align-items: end; }
.bar { width: 100%; min-height: 5px; border-radius: 20px 20px 12px 12px; background: linear-gradient(180deg, #94eaff, #389fe9); box-shadow: 0 0 24px #54b9ff35; }
.weekday { margin-top: 12px; color: white; font-size: clamp(11px, 2.7vw, 15px); font-weight: 700; }
.date { margin-top: 7px; color: #b8c4d8; font-size: clamp(10px, 2.5vw, 14px); white-space: nowrap; }
.status { color: #c4cede; padding: 30px 0; }
.resort-summary { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin: 0 0 26px; }
.resort-summary[hidden] { display: none; }
.summary-chip { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 9px 16px; border-radius: 18px; color: #e9f3ff; background: #ffffff18; font-size: 16px; font-weight: 700; white-space: nowrap; }
.summary-chip img,.summary-chip svg { display: block; width: 24px; height: 24px; flex: none; }
.summary-chip img { object-fit: contain; filter: invert(1); }
.summary-chip svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.forecast-heading { margin: 0 0 18px; font-size: 23px; }
.forecast-section .total { margin-top: 0; }
.features { margin-top: 22px; }
.app-showcase { padding: clamp(18px, 4vw, 30px); overflow: hidden; border: 1px solid #8bbcff55; border-radius: 26px; background: linear-gradient(145deg, #0b1a36ee, #07101ff5); box-shadow: 0 20px 55px #0003; }
.app-showcase-heading { max-width: 650px; margin: 0 auto 22px; text-align: center; }
.showcase-eyebrow,.feature-kicker { margin: 0 0 8px; color: #70c6ff; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.app-showcase-heading h2 { margin: 0 0 8px; font-size: clamp(23px, 5vw, 34px); letter-spacing: -.035em; }
.app-showcase-heading > p:last-child { margin: 0; color: #b8c4d8; line-height: 1.55; }
.app-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.app-feature-card { min-width: 0; overflow: hidden; padding: 16px; border: 1px solid #ffffff24; border-radius: 20px; background: #ffffff0b; }
.snow-feature { background-color: #10294b; background-image: linear-gradient(180deg, #07152f55, #07152fdd), url('/snow-watch-background-dark.jpg'); background-size: cover; background-position: center; }
.feature-copy h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.2; letter-spacing: -.025em; }
.feature-copy > p:not(.feature-kicker) { margin: 0; color: #c2cde0; font-size: 13px; line-height: 1.5; }
.import-sources { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
.import-sources li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid #70c6ff40; border-radius: 9px; color: #b9e3ff; background: #078cff18; font-size: 11px; font-weight: 700; white-space: nowrap; }
.import-sources img { display: block; width: 14px; height: 14px; flex: none; }
.feature-art { margin: 16px 0 0; }
.alert-art { min-height: 100px; display: flex; align-items: center; justify-content: center; gap: 16px; }
.alert-art > div { display: grid; justify-items: center; gap: 4px; }
.alert-art img { display: block; width: 64px; height: 64px; object-fit: contain; }
.alert-art span,.feature-art figcaption { color: #b8c4d8; font-size: 11px; font-weight: 600; }
.replay-art video,.offline-art img { display: block; width: 100%; overflow: hidden; border: 1px solid #ffffff24; border-radius: 13px; background: #0b1a36; object-fit: cover; }
.replay-art video { aspect-ratio: 3.75 / 1; }
.offline-art img { aspect-ratio: 2.25 / 1; }
.feature-art figcaption { margin-top: 7px; line-height: 1.35; }
.showcase-cta { max-width: 420px; margin: 20px auto 0; }
.features h2 { margin: 0 0 8px; font-size: 19px; }
.features p { margin: 0; color: #b8c4d8; line-height: 1.55; }
.feature-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.feature-links a { display: inline-flex; flex: 1 1 240px; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 16px; border: 1px solid #50aaff55; border-radius: 14px; color: #087fe0; background: #e6f4ff; text-align: center; text-decoration: none; font-size: 14px; font-weight: 700; }
.feature-links img { width: 25px; height: 25px; object-fit: contain; }
.feature-links svg { width: 25px; height: 25px; flex: none; fill: currentColor; }
.map-cta { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; margin-top: 16px; border: 1px solid #50aaff55; border-radius: 15px; color: #fff; background: #078cff; text-decoration: none; font-size: 16px; font-weight: 700; }
.map-cta svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.header-store { display: inline-flex; flex: none; align-items: center; justify-content: center; }
.header-store img { display: block; width: 150px; height: auto; }
.seo-copy { margin: 18px 2px; color: #c4cede; font-size: 14px; line-height: 1.65; }
.seo-copy h2 { margin: 0 0 8px; color: inherit; font-size: 18px; }
.seo-copy p { margin: 0 0 8px; }
.seo-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 10px 0 0; }
.seo-links a { color: #79c7ff; font-weight: 600; }
footer { margin: 18px 6px 0; color: #9eacc3; font-size: 12px; }
@media (prefers-color-scheme: light) {
  body { color: #101b2d; background: radial-gradient(ellipse at 80% 10%, #d9efff 0, transparent 45%), #f5f9ff; }
  .card { color: #111c2e; border-color: #b9dcff; background: linear-gradient(145deg, #fff, #eef6ff); box-shadow: 0 24px 70px #294c711c; }
  .resort,.brand { color: #111c2e; }
  .subtitle,.total,.date,.status,footer,.features p,.seo-copy { color: #61718a; }
  .seo-copy h2 { color: #111c2e; }
  .total strong,.weekday { color: #101b2d; }
  .amount { background: #dfeaf6; color: #263650; }
  .summary-chip { color: #263650; background: #e5f1ff; }
  .summary-chip img { filter: none; }
  .app-showcase { border-color: #c4e1ff; background: linear-gradient(145deg, #fff, #eef6ff); box-shadow: 0 20px 55px #294c7118; }
  .showcase-eyebrow,.feature-kicker { color: #078cff; }
  .app-showcase-heading > p:last-child,.feature-copy > p:not(.feature-kicker),.alert-art span,.feature-art figcaption { color: #61718a; }
  .import-sources li { border-color: #b9dcff; color: #0877c9; background: #e5f1ff; }
  .app-feature-card { border-color: #d6e8fa; background-color: #ffffffc7; }
  .snow-feature { background-color: #eff7ff; background-image: linear-gradient(180deg, #f5faffb8, #eff7ffee), url('/snow-watch-background-light.jpg'); }
  .replay-art video,.offline-art img { border-color: #d6e4f3; background: #e8f2fc; }
}
@media (max-width: 420px) {
  body { padding: 22px 12px; }
  .card { border-radius: 23px; }
  .chart,.day { height: 245px; min-height: 245px; }
  .bar-wrap { height: 125px; }
  .header-store img { width: 128px; }
}
@media (max-width: 700px) {
  .app-feature-grid { grid-template-columns: 1fr; }
  .app-feature-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, .85fr); align-items: center; gap: 14px; }
  .feature-art { margin: 0; }
  .alert-art { min-height: 100px; }
  .alert-art img { width: 48px; height: 48px; }
}
@media (max-width: 430px) {
  .app-feature-card { display: block; }
  .feature-art { margin-top: 14px; }
}
