/* Two-day international forecast cards and self-drawn CSS weather icons. */.today-outlook{margin:12px 0 18px;padding:22px;background:linear-gradient(135deg,#f9fcff,#f1f8fb 55%,#f7fbfd);border:1px solid #dfebf1;border-radius:18px;box-shadow:0 10px 28px #193c550a}.today-outlook-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.today-outlook-heading h2{margin:4px 0 0;color:#14324a;font-size:22px;letter-spacing:-.03em}.outlook-kicker{color:#168395;font-size:10px;font-weight:800;letter-spacing:.17em}.outlook-units{padding-bottom:3px;color:#7d919e;font-size:12px}.outlook-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.outlook-card{position:relative;min-width:0;overflow:hidden;padding:19px 21px 15px;background:#fff;border:1px solid #e5edf2;border-radius:14px;box-shadow:0 5px 18px #23445b0a}.outlook-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#27a2c2,#87d0df);content:""}.outlook-card:nth-child(2):before{background:linear-gradient(#f2b856,#f08d61)}.outlook-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.outlook-card-top time,.outlook-day{display:block}.outlook-day{margin-bottom:3px;color:#147f91;font-size:12px;font-weight:750;letter-spacing:.04em}.outlook-card:nth-child(2) .outlook-day{color:#cf7b39}.outlook-card-top time{color:#8293a0;font-size:12px}.outlook-weather{max-width:52%;padding:6px 10px;border-radius:99px;background:#eff8fa;color:#3c6877;font-size:12px;font-weight:650;text-align:right}.outlook-card:nth-child(2) .outlook-weather{background:#fff6e9;color:#8c6842}.outlook-main{display:flex;align-items:center;gap:16px;min-height:100px;padding:6px 0 2px}.wx-icon{position:relative;display:block;flex:0 0 78px;width:78px;height:68px}.wx-icon:before,.wx-icon:after,.wx-icon i{position:absolute;display:block;content:""}.wx-icon.sunny:before{top:12px;left:17px;width:39px;height:39px;border-radius:50%;background:#ffc34f;box-shadow:0 0 0 8px #fff1cd,0 7px 20px #f3b94930}.wx-icon.partly-cloudy:before{top:1px;right:5px;width:30px;height:30px;border-radius:50%;background:#ffc34f;box-shadow:0 0 0 6px #fff3d6}.wx-icon.partly-cloudy:after,.wx-icon.cloudy:before,.wx-icon.showers:before,.wx-icon.rain:before,.wx-icon.thunderstorm:before,.wx-icon.sleet:before,.wx-icon.snow:before{z-index:1;bottom:8px;left:5px;width:68px;height:36px;border-radius:28px;background:radial-gradient(circle at 25% 55%,#fff 0 15px,transparent 15.7px),radial-gradient(circle at 51% 32%,#fff 0 20px,transparent 20.7px),radial-gradient(circle at 76% 58%,#fff 0 14px,transparent 14.7px),linear-gradient(transparent 48%,#fff 49% 100%);filter:drop-shadow(0 3px 1px #9cb9c8)}.wx-icon.showers:after,.wx-icon.rain:after,.wx-icon.sleet:after{z-index:2;bottom:0;left:17px;width:5px;height:13px;border-radius:0 0 5px 5px;background:#4da7d7;transform:rotate(22deg);box-shadow:16px 4px #4da7d7,32px -1px #4da7d7,48px 3px #4da7d7}.wx-icon.thunderstorm:after{z-index:2;bottom:-1px;left:34px;width:16px;height:24px;background:#f5ba38;clip-path:polygon(48% 0,100% 0,66% 42%,100% 42%,22% 100%,42% 55%,0 55%)}.wx-icon.snow:after,.wx-icon.sleet i{z-index:2;bottom:0;left:20px;width:7px;height:7px;border-radius:50%;background:#55a9d8;box-shadow:15px 5px #55a9d8,30px -1px #55a9d8,43px 6px #55a9d8}.wx-icon.sleet:after{background:#56a8d8;box-shadow:16px 4px #56a8d8,32px -1px #56a8d8,48px 3px #56a8d8}.wx-icon.fog:before,.wx-icon.haze:before{top:15px;left:10px;width:58px;height:38px;border-radius:50%;background:#c5d8e2}.wx-icon.fog:after,.wx-icon.haze:after{z-index:2;top:31px;left:8px;width:62px;height:5px;border-radius:5px;background:#7393a5;box-shadow:7px 12px #9cb2be,-3px 24px #c1d1d8}.wx-icon.dust:before{top:14px;left:12px;width:54px;height:38px;border-radius:50%;background:#d6b776;box-shadow:0 8px 20px #d6b77650}.wx-icon.dust:after{top:31px;left:3px;width:70px;height:4px;border-radius:4px;background:#b89760;box-shadow:5px 11px #c9ac75,-2px 22px #ddc99d}.wx-icon.cloudy:before{background:radial-gradient(circle at 25% 55%,#d5e0e6 0 15px,transparent 15.7px),radial-gradient(circle at 51% 32%,#d5e0e6 0 20px,transparent 20.7px),radial-gradient(circle at 76% 58%,#d5e0e6 0 14px,transparent 14.7px),linear-gradient(transparent 48%,#d5e0e6 49% 100%)}.wx-icon.overcast:before{background:radial-gradient(circle at 25% 55%,#aebfc9 0 15px,transparent 15.7px),radial-gradient(circle at 51% 32%,#aebfc9 0 20px,transparent 20.7px),radial-gradient(circle at 76% 58%,#aebfc9 0 14px,transparent 14.7px),linear-gradient(transparent 48%,#aebfc9 49% 100%)}.outlook-temps{display:flex;align-items:baseline;gap:2px}.outlook-temps strong{color:#17354c;font-size:52px;font-weight:350;letter-spacing:-.07em;line-height:1}.outlook-temps sup{position:relative;top:-.7em;color:#17354c;font-size:21px}.outlook-temps>span,.outlook-low span{margin-left:4px;color:#9aabb5;font-size:9px;font-weight:800;letter-spacing:.1em}.outlook-low{display:flex;align-items:baseline;margin-left:auto;color:#718795}.outlook-low b{font-size:18px;font-weight:550}.outlook-night{margin:0 0 11px 94px;color:#778b98;font-size:12px}.outlook-card-foot{display:flex;align-items:center;gap:8px;min-height:34px;padding-top:10px;border-top:1px solid #edf2f5;color:#607986;font-size:12px}.wind-mark{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#edf7f9;color:#25879a;font-size:14px}.outlook-card-foot a{margin-left:auto;color:#147f91;text-decoration:none;font-weight:700;white-space:nowrap}.outlook-card-foot a:hover{color:#095e6b}.outlook-card-foot a b{padding-left:3px}@media(max-width:700px){.today-outlook{padding:17px 14px;border-radius:14px}.outlook-cards{grid-template-columns:1fr}.outlook-card{padding:16px}.outlook-main{min-height:88px;gap:11px}.wx-icon{flex-basis:68px;transform:scale(.9);transform-origin:left center}.outlook-temps strong{font-size:46px}.outlook-night{margin-left:78px}}@media(prefers-reduced-motion:no-preference){.outlook-card{transition:transform .18s ease,box-shadow .18s ease}.outlook-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #193c5515}}.wx-icon.overcast:before{z-index:1;position:absolute;display:block;content:"";bottom:8px;left:5px;width:68px;height:36px;border-radius:28px;background:radial-gradient(circle at 25% 55%,#aebfc9 0 15px,transparent 15.7px),radial-gradient(circle at 51% 32%,#aebfc9 0 20px,transparent 20.7px),radial-gradient(circle at 76% 58%,#aebfc9 0 14px,transparent 14.7px),linear-gradient(transparent 48%,#aebfc9 49% 100%);filter:drop-shadow(0 3px 1px #9cb9c8)}.wx-icon.night-clear:before{top:8px;left:17px;width:42px;height:42px;border-radius:50%;background:#8bb9d3;box-shadow:0 0 0 7px #e2f1f5}.wx-icon.night-clear:after{top:1px;left:7px;width:42px;height:42px;border-radius:50%;background:#fff}.wx-icon.night-partly-cloudy:before{top:7px;right:7px;width:34px;height:34px;border-radius:50%;background:#8bb9d3;box-shadow:0 0 0 6px #e2f1f5}.wx-icon.night-partly-cloudy:after{z-index:1;bottom:8px;left:5px;width:68px;height:36px;border-radius:28px;background:radial-gradient(circle at 25% 55%,#fff 0 15px,transparent 15.7px),radial-gradient(circle at 51% 32%,#fff 0 20px,transparent 20.7px),radial-gradient(circle at 76% 58%,#fff 0 14px,transparent 14.7px),linear-gradient(transparent 48%,#fff 49% 100%);filter:drop-shadow(0 3px 1px #9cb9c8)}/* Storybook icon palette: stronger silhouettes and distinct conditions. */.wx-icon.rain:before,.wx-icon.showers:before{background:radial-gradient(circle at 25% 55%,#91c8dc 0 15px,transparent 15.8px),radial-gradient(circle at 51% 32%,#a9d9e8 0 20px,transparent 20.8px),radial-gradient(circle at 76% 58%,#82bad1 0 14px,transparent 14.8px),linear-gradient(transparent 48%,#8fc5da 49% 100%);filter:drop-shadow(0 4px 0 #4d839c) drop-shadow(0 7px 5px #315f7430)}.wx-icon.rain:after,.wx-icon.showers:after{width:6px;height:15px;border-radius:5px;background:#198ed0;box-shadow:17px 5px #28a5e5,34px -1px #167fbd,51px 4px #28a5e5}.wx-icon.cloudy:before{background:radial-gradient(circle at 25% 55%,#d8edf5 0 15px,transparent 15.8px),radial-gradient(circle at 51% 32%,#e8f6fa 0 20px,transparent 20.8px),radial-gradient(circle at 76% 58%,#c8e2ed 0 14px,transparent 14.8px),linear-gradient(transparent 48%,#d5ebf3 49% 100%);filter:drop-shadow(0 4px 0 #86b1c3) drop-shadow(0 7px 5px #4d7b8f24)}.wx-icon.cloudy:after{z-index:0;top:1px;right:2px;width:28px;height:28px;border-radius:50%;background:#ffc857;box-shadow:0 0 0 6px #fff0b8,0 4px 8px #dca93830}.wx-icon.overcast:before{z-index:2;background:radial-gradient(circle at 25% 55%,#91aab7 0 15px,transparent 15.8px),radial-gradient(circle at 51% 32%,#a7bdc7 0 20px,transparent 20.8px),radial-gradient(circle at 76% 58%,#839eab 0 14px,transparent 14.8px),linear-gradient(transparent 48%,#8fa8b4 49% 100%);filter:drop-shadow(0 4px 0 #607f8e) drop-shadow(0 7px 5px #35586830)}.wx-icon.overcast:after{z-index:1;top:3px;left:19px;width:51px;height:29px;border-radius:24px;background:radial-gradient(circle at 25% 58%,#c4d3da 0 11px,transparent 11.8px),radial-gradient(circle at 52% 35%,#d0dce2 0 15px,transparent 15.8px),radial-gradient(circle at 78% 60%,#b5c8d1 0 10px,transparent 10.8px),linear-gradient(transparent 48%,#becfd7 49% 100%);filter:drop-shadow(0 3px 0 #809ba8)}.wx-icon.sunny:after{border-bottom-width:2px;border-bottom-color:#98652c;background:radial-gradient(circle at 5% 65%,#f09a78 0 2.5px,transparent 2.8px),radial-gradient(circle at 95% 65%,#f09a78 0 2.5px,transparent 2.8px),radial-gradient(circle at 22% 18%,#8a682f 0 1.5px,transparent 1.9px),radial-gradient(circle at 78% 18%,#8a682f 0 1.5px,transparent 1.9px)}/* Shared mobile/tablet layout for all English international pages. */@media (max-width: 760px){.container{width:100%;padding:18px 18px 44px}.site-header{min-height:62px;padding:10px 18px;gap:12px}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}.site-header nav a{padding:7px 0;font-size:14px}.hero{padding:27px 0 20px}.hero.compact{padding:14px 0}.hero h1{font-size:clamp(28px, 6vw, 38px);overflow-wrap:anywhere}.panel{padding:19px;margin-top:16px}.panel-heading{align-items:flex-start;flex-wrap:wrap}.grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, 210px), 1fr))}.subnav{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.subnav a{flex:0 0 auto}.forecast-list{min-width:0}.forecast-row{min-width:0}.forecast-row > *{min-width:0;overflow-wrap:anywhere}}@media (max-width: 560px){.container{padding:14px 13px 36px}.site-header{align-items:flex-start;padding:12px 14px}.brand{max-width:100%;font-size:19px}.site-header nav{width:100%;justify-content:flex-start;gap:4px 18px}.site-header nav a{font-size:13px}.crumb{line-height:1.7;overflow-wrap:anywhere}.hero h1{margin:9px 0;font-size:clamp(26px, 8vw, 34px)}.hero > p:last-child{font-size:14px}.panel{padding:15px 13px;border-radius:13px}.panel h2{margin-bottom:14px;font-size:18px}.panel-heading h2{margin-bottom:8px}.grid{grid-template-columns:minmax(0, 1fr);gap:9px}.card{min-height:66px}.notice{padding:15px}.forecast-row{grid-template-columns:repeat(2, minmax(0, 1fr));gap:6px 10px;padding:12px 8px;font-size:13px}.forecast-row > strong:first-child{grid-column:1/-1;color:#28485c}.forecast-head{display:none}.data-note{font-size:12px}.site-footer{padding:20px 14px;line-height:1.65}}@media (max-width: 360px){.container{padding-right:10px;padding-left:10px}.outlook-card-top{gap:6px}.outlook-weather{max-width:48%;padding:5px 7px;font-size:11px}.outlook-main{gap:5px}.outlook-temps strong{font-size:41px}.outlook-card-foot{gap:5px;font-size:11px}.outlook-card-foot a{font-size:11px}}/* Gentle picture-book accents shared by the English weather pages. */body.etianqi-site{background-color:#f5f8f6;background-image:radial-gradient(#e4eeea 1px, transparent 1px);background-size:24px 24px}.site-header{background:#fffefa;border-bottom-color:#e2ebe5}.brand{color:#247b83}.site-header nav a{padding:8px 12px;border:1px solid #e5eee8;border-radius:999px;background:#f5faf5;transition:background .18s ease,border-color .18s ease,transform .18s ease}.site-header nav a:hover{border-color:#b9ddd1;background:#eaf6ef;transform:translateY(-1px)}.eyebrow{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid #dcece3;border-radius:999px;background:#f0f8ef}.panel,.today-outlook{border-color:#e2ebe5;border-radius:20px;background-color:#fffefa;box-shadow:0 4px 0 #edf2ec,0 10px 28px #193c550b}.panel h2{color:#203b4b}.card{border-color:#e5ece5;border-radius:14px;background:linear-gradient(145deg, #fffefa, #fff 82%);box-shadow:0 3px 0 #f0f2e9;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.card:hover{border-color:#b7d9c8;background:#f4fbf5;box-shadow:0 5px 0 #e5f0e7;transform:translateY(-2px)}.button-link{border:1px solid #0b7782;border-radius:999px;box-shadow:0 3px 0 #075e6a;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button-link:hover{box-shadow:0 4px 0 #075e6a;transform:translateY(-1px)}.subnav a{border-radius:999px}.subnav a.active{box-shadow:0 2px 0 #075e6a}.notice{border-style:dashed;border-radius:16px;background:#fff9e9}.forecast-list{gap:4px}.forecast-head{border:1px solid #e1ece3;border-radius:12px;background:#f0f7ed}.forecast-row:not(.forecast-head){margin-bottom:3px;border:0;border-radius:10px;background:#fffefa}.forecast-row:not(.forecast-head):nth-child(odd){background:#f7faf6}.outlook-card{border-radius:17px}.outlook-weather{border:1px solid #e8f0e9}.site-footer{border-top-color:#e2ebe5}@media (prefers-reduced-motion: reduce){.site-header nav a,.card,.button-link{transition:none}}@media (max-width: 560px){.panel,.today-outlook{border-radius:16px}}.weather-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.weather-tools button,.saved-city-links a{border:1px solid #cde4e7;border-radius:24px;background:#f0f9fa;color:#12516a;padding:10px 16px;cursor:pointer;font:inherit}.weather-tools button[aria-pressed=true]{background:#087e8b;color:white}.saved-city-links{display:flex;flex-wrap:wrap;gap:10px}.saved-weather{margin:20px 0}.saved-weather summary{cursor:pointer;font-weight:600;padding:12px 0}.saved-weather h3{font-size:16px}.hourly-scroll{scroll-snap-type:x proximity}.temperature-chart.hourly-trend.panel{padding:24px;margin:20px 0 24px;background:#fffdfa;overflow:hidden}.temperature-chart .overview-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:8px}.temperature-chart .overview-heading h2{margin:0;color:#173c50}.temperature-chart .overview-kicker{margin:0 0 5px;color:#087e8b;font-size:11px;font-weight:800;letter-spacing:.12em}.temperature-chart .hourly-trend-note{margin:0 0 20px;color:#617a85;font-size:14px}.temperature-chart .hourly-trend-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#97b8bd #edf4f2;padding:8px 0 12px;border-radius:10px}.temperature-chart .hourly-trend-scroll:focus-visible{outline:2px solid #087e8b;outline-offset:4px}.daily-trend-track{min-width:640px}.temperature-chart svg{display:block;width:100%;height:auto;overflow:visible}.temperature-chart text{fill:#28495a;font:500 13px system-ui,sans-serif;font-variant-numeric:tabular-nums}.daily-trend-guide{stroke:#e8eeeb;stroke-width:1;stroke-dasharray:4 7}.daily-trend-line{stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.daily-trend-line--high{stroke:#ec8740}.daily-trend-line--low{stroke:#168fb0}.daily-trend-dot{stroke:#fffdfa;stroke-width:2}.daily-trend-dot--high{fill:#ec8740}.daily-trend-dot--low{fill:#168fb0}.daily-trend-temperature{font-weight:700}.daily-trend-date{fill:#617a85!important;font-size:12px!important}.daily-trend-legend{display:flex;gap:14px;color:#526c7b;font-size:13px;white-space:nowrap}.daily-trend-key{display:flex;align-items:center;gap:7px}.daily-trend-key:before{content:"";width:20px;height:3px;border-radius:4px;background:#ec8740}.daily-trend-key--low:before{background:#168fb0}.temperature-chart .hourly-scroll-hint{display:none;margin:8px 0 0;color:#617a85;font-size:12px;text-align:center}.history-note{color:#526c7b}.history-row small{display:block;margin-top:5px;color:#6b7f89}@media(max-width:640px){.hourly-scroll{display:flex!important;gap:12px;overflow-x:auto;padding:8px 0 16px}.hourly-scroll .forecast-head{display:none!important}.hourly-scroll article.forecast-row{display:flex!important;flex-direction:column;align-items:flex-start;gap:14px;flex:0 0 168px;min-width:168px;padding:18px!important;border-radius:18px;background:#f0f8fa;scroll-snap-align:start}.hourly-scroll .weather-with-icon{min-height:46px}.hourly-scroll article strong{font-size:14px}.weather-tools{justify-content:space-between}.temperature-chart.hourly-trend.panel{padding:18px 12px}.temperature-chart .overview-heading{align-items:flex-start}.temperature-chart .overview-heading h2{font-size:20px}.temperature-chart .hourly-trend-note{font-size:12px;margin-bottom:12px}.temperature-chart .hourly-scroll-hint{display:block}.daily-trend-legend{gap:9px;font-size:12px}.daily-trend-key:before{width:14px}}