html:has(body.landing-page){color-scheme:light;--ink:#17231f;--soft-ink:#44544f;--muted:#71817b;--paper:#f4f1e8;--porcelain:#fbfaf4;--mist:#dcebea;--sage:#587b67;--rain:#6d9bb3;--sun:#d8ad57;--rose:#c97968;--line:#17231f26;--shadow:0 28px 80px #303a3329;--focus:#587b6773;--theme-glow-a:#dcebead9;--theme-glow-b:#d8ad5742;--theme-base-top:#fbfaf4;--theme-base-bottom:#f4f1e8;--theme-veil:251, 250, 244;--theme-floor:244, 241, 232;--theme-shift-duration:1.1s}html:has(body.landing-page)[data-weather-theme=sunny]{--theme-glow-a:#dcebead9;--theme-glow-b:#d8ad5747;--theme-base-top:#fbfaf4;--theme-base-bottom:#f4f1e8;--theme-veil:251, 250, 244;--theme-floor:244, 241, 232}html:has(body.landing-page)[data-weather-theme=rain]{--theme-glow-a:#b0cdd8e0;--theme-glow-b:#6d9bb34d;--theme-base-top:#eef4f6;--theme-base-bottom:#e0e8e6;--theme-veil:238, 244, 246;--theme-floor:224, 232, 230}html:has(body.landing-page)[data-weather-theme=snow]{--theme-glow-a:#dce6f2f2;--theme-glow-b:#a8c2dc52;--theme-base-top:#f5f8fb;--theme-base-bottom:#e6eef5;--theme-veil:245, 248, 251;--theme-floor:230, 238, 245}body.landing-page{background:radial-gradient(circle at 18% 18%, var(--theme-glow-a), transparent 32%), radial-gradient(circle at 88% 10%, var(--theme-glow-b), transparent 30%), linear-gradient(180deg, var(--theme-base-top) 0%, var(--theme-base-bottom) 100%);background-color:var(--theme-base-bottom);color:var(--ink);min-height:100svh;transition:background-color var(--theme-shift-duration) ease, background var(--theme-shift-duration) ease;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative}body.landing-page .primary-link:focus-visible,body.landing-page .secondary-link:focus-visible{outline:3px solid var(--focus);outline-offset:3px}body.landing-page .page{max-width:var(--app-shell-max-width);min-height:100svh;padding:var(--page-pad);grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:100%;margin:0 auto;display:grid;position:relative}body.landing-page .hero{--hero-art-max-height:min(740px, max(180px, calc(100svh - 168px)));--hero-text-width:40rem;box-shadow:var(--shadow);border:1px solid #17231f1f;border-radius:8px;grid-template-columns:minmax(30rem,.82fr) minmax(0,1.18fr);align-items:center;gap:20px clamp(64px,9vw,112px);min-height:0;padding:clamp(28px,5vh,56px) min(4.5vw,64px) clamp(24px,4vh,48px);display:grid;position:relative;overflow:hidden}body.landing-page .climate-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}body.landing-page .hero:before{background:linear-gradient(90deg, rgba(var(--theme-veil), .94), rgba(var(--theme-veil), .72) 44%, rgba(var(--theme-veil), .12)), linear-gradient(0deg, rgba(var(--theme-floor), .88), transparent 34%);content:"";pointer-events:none;transition:background var(--theme-shift-duration) ease;z-index:1;position:absolute;inset:0}body.landing-page .city-samples{flex-wrap:wrap;gap:10px 12px;max-width:100%;margin:2px 0 0;padding:2px 0 4px;list-style:none;display:flex}body.landing-page .city-card{backdrop-filter:blur(10px);color:var(--soft-ink);white-space:nowrap;background:#fffdf59e;border:1px solid #17231f1a;border-radius:8px;flex:none;gap:7px;min-width:0;padding:9px 12px 8px;font-weight:400;display:grid;position:relative;box-shadow:0 8px 18px #303a330f}body.landing-page .city-head{align-items:center;gap:7px;line-height:1;display:flex}body.landing-page .city-head strong{color:var(--soft-ink);align-items:baseline;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:400;line-height:1;display:inline-flex}body.landing-page .city-head .temp-num{font-size:22px;line-height:1}body.landing-page .city-head .temp-unit{margin-left:1px;font-size:13px;line-height:1}body.landing-page .city-head b{color:var(--soft-ink);font-size:15px;font-weight:400;line-height:1.1}body.landing-page .city-meta{color:var(--muted);align-items:center;gap:10px;line-height:1;display:flex}body.landing-page .city-meta .meta{align-items:center;gap:4px;display:inline-flex}body.landing-page .city-meta .meta-icon{stroke-width:1.75px;flex:none;width:17px;height:17px;display:block}body.landing-page .city-meta .meta:first-child .meta-icon{width:18px;height:18px}body.landing-page .city-meta em{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;font-style:normal;font-weight:400;line-height:1}body.landing-page .icon-sprite{width:0;height:0;position:absolute;overflow:hidden}body.landing-page .city-card[data-temp-band=freeze] .city-head strong{color:#5a7fa8}body.landing-page .city-card[data-temp-band=cold] .city-head strong{color:#5f8f9e}body.landing-page .city-card[data-temp-band=mild] .city-head strong{color:#6d8a58}body.landing-page .city-card[data-temp-band=warm] .city-head strong{color:#b8841f}body.landing-page .city-card[data-temp-band=hot] .city-head strong{color:#c47a2e}body.landing-page .city-shanghai{transform:rotate(-2deg)translateY(1px)}body.landing-page .city-nyc{transform:rotate(1.8deg)translateY(-2px)}body.landing-page .city-hokkaido{transform:rotate(-1.2deg)translateY(2px)}body.landing-page .city-paris{transform:rotate(2.2deg)translateY(-1px)}body.landing-page .city-rio{transform:rotate(-1.6deg)translateY(2px)}body.landing-page .city-sydney{transform:rotate(1.4deg)translateY(-2px)}body.landing-page .city-lhasa{transform:rotate(-2.4deg)translateY(1px)}body.landing-page .city-cairo{transform:rotate(2deg)translateY(-1px)}body.landing-page .hero-copy{max-width:var(--hero-text-width);min-width:0;width:min(100%, var(--hero-text-width));z-index:3;grid-area:1/1;align-content:center;gap:16px;display:grid;position:relative;container-type:inline-size}body.landing-page .kicker{color:var(--sage);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:850}body.landing-page h1{color:var(--ink);letter-spacing:0;text-wrap:normal;flex-wrap:wrap;align-content:center;column-gap:0;width:100%;max-width:none;min-height:2.12em;margin:0;font-family:Songti SC,STSong,Noto Serif SC,Noto Serif CJK SC,Georgia,Times New Roman,serif;font-size:min(clamp(40px,4.8vw,68px),14.7059cqw);font-weight:500;line-height:1.06;display:flex}body.landing-page .hero-title span{white-space:nowrap;display:inline-block}body.landing-page .hero-title-en{column-gap:.18em}body.landing-page .lede{color:var(--soft-ink);max-width:var(--hero-text-width);width:100%;margin:0;font-size:17px;line-height:1.75}body.landing-page .actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.primary-link,body.landing-page .secondary-link{cursor:pointer;flex:0 0 fit-content;border-radius:999px;align-items:center;gap:10px;min-height:46px;padding:0 18px;font-size:14px;font-weight:780;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}body.landing-page .primary-link{background:var(--ink);color:#fffdf5}body.landing-page .secondary-link{backdrop-filter:blur(10px);border:1px solid var(--line);color:var(--ink);background:#fffdf5b8}.primary-link .action-label,body.landing-page .secondary-link .action-label{line-height:1.15;display:inline-block}.primary-link:after,body.landing-page .secondary-link:after{content:"→";flex:none}.primary-link:hover,body.landing-page .secondary-link:hover{transform:translateY(-1px)}.primary-link:active,body.landing-page .secondary-link:active{transform:translateY(0)}body.landing-page .coverage{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}body.landing-page .coverage li{backdrop-filter:blur(10px);color:var(--soft-ink);background:#fffdf5b3;border:1px solid #17231f1f;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:720}body.landing-page .coverage li:first-child{border-color:#587b6747}body.landing-page .coverage li:nth-child(2){border-color:#6d9bb352}body.landing-page .coverage li:nth-child(3){border-color:#d8ad575c}body.landing-page .hero-art{--rain-alpha:0;--snow-alpha:0;--weather-transition-duration:2s;aspect-ratio:3/2;cursor:url(/landing/cursors/sunny.webp) 16 16,pointer;max-height:var(--hero-art-max-height);max-width:100%;width:min(100%, calc(var(--hero-art-max-height) * 1.5));z-index:1;background:#fbfaf485;border:1px solid #fffdf5b8;border-radius:8px;grid-area:1/2;place-self:center;margin:0;position:relative;overflow:hidden;box-shadow:0 18px 48px #303a331a,-12px 10px 36px #6d9bb30d,12px -8px 32px #d8ad570f,inset 0 1px #fffdf5a8}body.landing-page .hero-art:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#fffdf500 50%,#17231f61),radial-gradient(circle at 18% 10%,#fffdf56b,#0000 34%);position:absolute;inset:0}body.landing-page .weather-stack{width:100%;height:100%;position:relative}body.landing-page .weather-layer{width:100%;height:100%;display:block;position:absolute;inset:0}body.landing-page .weather-layer img{object-fit:cover;width:100%;height:100%;display:block}body.landing-page .weather-layer-base{position:relative}.weather-layer-rain,body.landing-page .weather-layer-snow{opacity:var(--rain-alpha);transition:opacity var(--weather-transition-duration) cubic-bezier(.22, .61, .36, 1)}body.landing-page .weather-layer-snow{opacity:var(--snow-alpha)}body.landing-page .hero-art figcaption{color:#fffdf5;text-shadow:0 2px 16px #17231f70;z-index:2;justify-content:space-between;align-items:end;gap:10px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.hero-art figcaption span,body.landing-page .hero-art figcaption strong{white-space:nowrap;font-size:13px;font-weight:760}body.landing-page .landing-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;min-height:22px;display:flex}body.landing-page .landing-footer a{color:#44544f94;font-size:12px;font-weight:700;line-height:1;text-decoration:none}body.landing-page .landing-footer a:hover{color:#17231fd1}body.landing-page .landing-footer a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (width>=1101px){html:has(body.landing-page),body.landing-page{height:100%;overflow:hidden}body.landing-page .page{height:100svh;max-height:100svh}body.landing-page .hero{height:100%}}@media (width>=1101px) and (height<=760px){body.landing-page .page{gap:10px;padding:10px}body.landing-page .hero{--hero-art-max-height:min(620px, max(170px, calc(100svh - 164px)));column-gap:clamp(32px,6vw,72px);padding:clamp(16px,3vh,28px) min(3vw,48px)}body.landing-page .hero-copy{gap:clamp(12px,2.1vh,15px);max-height:100%}body.landing-page h1{font-size:clamp(42px,10.2svh,68px);line-height:1.05}body.landing-page .lede{font-size:clamp(16px,2.5svh,17px);line-height:1.68}body.landing-page .actions{gap:8px}.primary-link,body.landing-page .secondary-link{min-height:46px;padding:0 18px;font-size:14px}body.landing-page .coverage{gap:6px}body.landing-page .coverage li{padding:8px 11px;font-size:13px}body.landing-page .city-samples{scrollbar-width:none;flex-wrap:nowrap;gap:8px;margin-top:0;padding:1px 0 6px;overflow-x:auto}body.landing-page .city-samples::-webkit-scrollbar{display:none}body.landing-page .city-card{gap:6px;padding:8px 11px 7px;transform:none}body.landing-page .city-head{gap:6px}body.landing-page .city-head .temp-num{font-size:21px}body.landing-page .city-head .temp-unit,body.landing-page .city-meta em{font-size:13px}body.landing-page .city-head b{font-size:14px}body.landing-page .city-meta{gap:8px}body.landing-page .city-meta .meta-icon,body.landing-page .city-meta .meta:first-child .meta-icon{width:16px;height:16px}}@media (width>=1101px) and (height<=520px){body.landing-page .hero{--hero-art-max-height:min(500px, max(150px, calc(100svh - 146px)));grid-template-columns:minmax(0, var(--hero-text-width)) minmax(0, 1fr);padding-block:12px}body.landing-page .hero-copy{gap:7px}body.landing-page .kicker{font-size:11px}body.landing-page h1{font-size:min(clamp(32px,8.2svh,46px),14.7059cqw)}body.landing-page .lede{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.primary-link,body.landing-page .secondary-link{min-height:36px;padding:0 12px}body.landing-page .coverage li,body.landing-page .city-card{padding:6px 9px}body.landing-page .city-meta{display:none}}@media (prefers-reduced-motion:reduce){body.landing-page *,body.landing-page :before,body.landing-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important}html:has(body.landing-page){--theme-shift-duration:.01ms}body.landing-page .primary-link:hover,body.landing-page .secondary-link:hover{transform:none}}@media (width<=1100px){html:has(body.landing-page),body.landing-page{height:auto;min-height:100%;overflow:auto}body.landing-page .page{grid-template-rows:auto auto auto;gap:12px;height:auto;min-height:100svh;max-height:none}body.landing-page .hero{grid-template-columns:minmax(0,1fr);align-items:start;height:auto;padding:20px 20px 24px;overflow:hidden}body.landing-page .hero:before{background:linear-gradient(180deg, rgba(var(--theme-veil), .18) 0%, rgba(var(--theme-veil), .55) 42%, rgba(var(--theme-veil), .92) 100%), linear-gradient(0deg, rgba(var(--theme-floor), .55), transparent 40%)}body.landing-page .hero-art{grid-area:1/1;justify-self:stretch;width:100%;max-height:none}body.landing-page .hero-copy{text-align:center;grid-area:2/1;justify-items:center;width:100%;max-width:none}body.landing-page h1{justify-content:center;width:100%;max-width:none}body.landing-page .lede{width:100%;max-width:none}body.landing-page .actions,body.landing-page .coverage,body.landing-page .city-samples{justify-content:center;width:100%}body.landing-page .city-samples{max-width:none}}@media (width<=620px){body.landing-page .page{padding:var(--page-pad)}body.landing-page .hero{padding:20px 14px 16px}body.landing-page h1{width:100%;font-size:38px}body.landing-page .lede{font-size:16px;line-height:1.7}body.landing-page .actions{flex-wrap:wrap}.primary-link,body.landing-page .secondary-link{flex:none;justify-content:center;min-width:0;padding:0 12px}.primary-link .action-label,body.landing-page .secondary-link .action-label{max-width:10em}body.landing-page .coverage{flex-wrap:wrap;display:flex}body.landing-page .city-samples{justify-content:center;gap:12px}body.landing-page .hero-art figcaption{flex-direction:column;align-items:start;gap:6px}body.landing-page .hero-art figcaption strong{white-space:normal}}html:has(body.landing-page),body.landing-page{height:auto;min-height:100%;overflow:auto}body.landing-page{margin:0}
