.apple-demo-page{--demo-ink: #101820;--demo-muted: #64716a;--demo-soft: #f5f8f5;--demo-line: rgba(30, 48, 38, .1);--demo-green: #2f9461;--demo-green-strong: #177347;--demo-blue: #5f8fbe;--demo-sky: #e9f4fa;--demo-shadow: 0 24px 64px rgba(25, 52, 36, .1);min-height:100vh;padding:12px 18px 40px;color:var(--demo-ink);background:linear-gradient(180deg,#fffffff2,#f6faf7f0 54%,#f0f7f3f5),url(/assets/hangzhou-spring-bg.jpg);background-size:cover;background-position:center top;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.apple-demo-page button{font:inherit}.apple-demo-topbar{position:sticky;top:12px;z-index:20;width:min(100%,1480px);min-height:72px;margin:0 auto;display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;gap:16px;padding:10px 14px 10px 18px;border:1px solid rgba(255,255,255,.62);border-radius:26px;background:#ffffffb8;box-shadow:0 18px 52px #192c231a;backdrop-filter:blur(22px) saturate(1.18);-webkit-backdrop-filter:blur(22px) saturate(1.18)}.apple-demo-brand{min-width:0;display:inline-flex;align-items:center;gap:12px;color:var(--demo-ink);text-decoration:none;font-size:24px;font-weight:800;letter-spacing:0}.apple-demo-brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:var(--demo-green-strong);background:linear-gradient(180deg,#e8f7ecf5,#f8fcf8db);box-shadow:inset 0 0 0 1px #2f94611f}.apple-demo-brand-mark svg{width:22px;height:22px;stroke-width:2.3}.apple-demo-tabs{display:inline-flex;align-items:center;justify-self:center;gap:6px;padding:5px;border:1px solid rgba(28,47,37,.08);border-radius:999px;background:#f7f9f8c7;box-shadow:inset 0 1px #ffffffbf}.apple-demo-tab,.apple-demo-origin,.apple-demo-icon-button,.apple-demo-mode,.apple-demo-section-head button,.apple-demo-comparison button,.apple-demo-window-city,.apple-demo-window-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer}.apple-demo-tab{height:48px;min-width:126px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border-radius:999px;color:#56645d;background:transparent;font-size:16px;font-weight:690;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.apple-demo-tab:hover{background:#ffffffb3}.apple-demo-tab.active{color:#173822;background:#ffffffeb;box-shadow:0 10px 24px #14271e14}.apple-demo-tab.active:after{content:"";position:absolute;width:46px;height:3px;transform:translateY(19px);border-radius:999px;background:var(--demo-green)}.apple-demo-tab svg,.apple-demo-origin svg,.apple-demo-icon-button svg{width:19px;height:19px;stroke-width:2.25}.apple-demo-tab span{white-space:nowrap}.apple-demo-actions{justify-self:end;display:inline-flex;align-items:center;gap:10px}.apple-demo-origin,.apple-demo-icon-button{height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(28,47,37,.1);border-radius:999px;background:#ffffffb8;color:#24342c;box-shadow:inset 0 1px #ffffffd1}.apple-demo-origin{gap:10px;padding:0 18px;font-weight:700}.apple-demo-icon-button{width:48px}.apple-demo-hero{width:min(100%,1450px);margin:26px auto 0;display:grid;grid-template-columns:minmax(360px,.86fr) minmax(0,1.6fr);align-items:center;gap:44px}.apple-demo-hero-copy{display:grid;gap:24px;min-width:0;padding:28px 6px 18px 32px}.apple-demo-hero-copy h1{max-width:10.6em;margin:0;color:#0e1824;font-size:clamp(42px,3.95vw,52px);line-height:1.08;font-weight:820;letter-spacing:0;word-break:keep-all}.apple-demo-hero-copy h1 span{display:block}.apple-demo-hero-copy p{max-width:23rem;margin:0;color:var(--demo-muted);font-size:20px;line-height:1.65}.apple-demo-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:540px;padding:8px;border:1px solid rgba(28,47,37,.1);border-radius:24px;background:#ffffffa8;box-shadow:inset 0 1px #ffffffd1}.apple-demo-mode{min-width:0;min-height:76px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon label" "icon summary";column-gap:10px;align-items:center;padding:13px 15px;border-radius:18px;color:#25362d;background:transparent;text-align:left;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.apple-demo-mode:hover,.apple-demo-section-head button:hover,.apple-demo-comparison button:hover{transform:translateY(-1px)}.apple-demo-mode.active{color:#fff;background:linear-gradient(180deg,#41a76a,#21804f);box-shadow:0 14px 30px #20804f3d}.apple-demo-mode svg{grid-area:icon;width:22px;height:22px;stroke-width:2.35}.apple-demo-mode span{grid-area:label;font-size:18px;font-weight:780}.apple-demo-mode small{grid-area:summary;min-width:0;color:currentColor;opacity:.72;font-size:12px;line-height:1.25}.apple-demo-tab-note{max-width:540px;display:inline-flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid rgba(28,47,37,.09);border-radius:18px;background:#ffffff94;color:#405148;font-size:14px;line-height:1.45}.apple-demo-tab-note svg{flex:0 0 auto;width:18px;height:18px;color:var(--demo-green-strong)}.apple-demo-media{position:relative;min-height:410px;overflow:hidden;display:grid;align-items:end;padding:42px;border-radius:32px;background-image:linear-gradient(90deg,#0e241c8a,#0e241c1a 44%,#ffffff05),url(/assets/hangzhou-spring-bg.jpg);background-size:cover;background-position:center;color:#fff;box-shadow:var(--demo-shadow);isolation:isolate}.apple-demo-media:after{content:"";position:absolute;inset:auto 0 0;height:44%;z-index:-1;background:linear-gradient(0deg,rgba(10,28,21,.2),transparent)}.apple-demo-media-copy{display:grid;gap:8px;text-shadow:0 2px 16px rgba(0,0,0,.28)}.apple-demo-media-copy>span{display:inline-flex;align-items:center;gap:7px;color:#ffffffe0;font-size:15px;font-weight:690}.apple-demo-media-copy>span svg{width:18px;height:18px}.apple-demo-media-copy>strong{font-size:clamp(40px,5.8vw,68px);line-height:1;font-weight:820}.apple-demo-media-copy div{display:flex;align-items:center;gap:12px}.apple-demo-media-copy b{font-size:clamp(62px,7.8vw,96px);line-height:.94}.apple-demo-media-copy em{padding:8px 13px;border-radius:999px;background:#268a53db;font-size:19px;font-style:normal;font-weight:780}.apple-demo-media-copy small{color:#ffffffdb;font-size:17px;font-weight:650}.apple-demo-route-card{position:absolute;right:28px;top:72px;width:min(32vw,320px);aspect-ratio:1.38;padding:22px;border:1px solid rgba(255,255,255,.48);border-radius:28px;background:#e6f2e761;backdrop-filter:blur(8px) saturate(1.08);-webkit-backdrop-filter:blur(8px) saturate(1.08);box-shadow:inset 0 1px #ffffff73}.apple-demo-route-card svg{position:absolute;top:18px;right:18px;bottom:18px;left:18px;width:calc(100% - 36px);height:calc(100% - 36px)}.apple-demo-route-card path{fill:none;stroke:#ffffffeb;stroke-width:5;stroke-linecap:round;stroke-dasharray:1 10}.apple-demo-route-dot{position:absolute;z-index:2;width:42px;height:42px;display:grid;place-items:center;border:3px solid rgba(255,255,255,.92);border-radius:50%;background:#4e8bd6;color:#fff;font-size:15px;font-weight:820;box-shadow:0 10px 24px #0e2d1f33}.apple-demo-route-dot.origin{left:36px;bottom:28px}.apple-demo-route-dot.target{right:26px;top:26px;background:var(--demo-green)}.apple-demo-route-card small{position:absolute;right:28px;bottom:28px;padding:6px 10px;border-radius:999px;background:#ffffffdb;color:#355042;font-size:12px;font-weight:780}.apple-demo-cockpit{width:min(100%,1450px);margin:18px auto 0;display:grid;grid-template-columns:minmax(270px,.9fr) minmax(260px,.72fr) minmax(310px,1.08fr);gap:14px;min-width:0}.apple-demo-weather-card,.apple-demo-comparison,.apple-demo-calendar,.apple-demo-insights{min-width:0;border:1px solid var(--demo-line);border-radius:24px;background:#ffffffb8;box-shadow:0 18px 48px #19342414;backdrop-filter:blur(20px) saturate(1.08);-webkit-backdrop-filter:blur(20px) saturate(1.08)}.apple-demo-weather-card{min-height:238px;display:grid;align-content:start;gap:16px;padding:24px}.apple-demo-weather-card.subdued{background:#fafcffad}.apple-demo-weather-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.apple-demo-weather-head h2,.apple-demo-section-head h2{margin:0;font-size:22px;line-height:1.15}.apple-demo-weather-head span{display:block;margin-top:5px;color:var(--demo-muted);font-size:13px}.apple-demo-weather-head>svg{width:52px;height:52px;color:#83a1ca;stroke-width:1.8}.apple-demo-temperature{display:flex;align-items:end;gap:16px}.apple-demo-temperature strong{font-size:58px;line-height:.95;letter-spacing:0}.apple-demo-temperature span{margin-bottom:6px;color:#43534a;font-weight:650}.apple-demo-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:16px;border-top:1px solid var(--demo-line)}.apple-demo-metrics span{min-width:0;display:grid;gap:5px;color:#56645d;font-size:13px;line-height:1.3;white-space:nowrap}.apple-demo-metrics svg{width:18px;height:18px;color:var(--demo-green)}.apple-demo-weather-card p{margin:0;color:var(--demo-muted);font-size:14px;line-height:1.55}.apple-demo-comparison{display:grid;align-content:center;gap:14px;padding:22px}.apple-demo-vs,.apple-demo-compare-row{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:12px}.apple-demo-vs{color:#34453c;font-size:15px;font-weight:800;text-align:center}.apple-demo-vs b{color:var(--demo-muted);font-size:12px;text-transform:uppercase}.apple-demo-compare-row>span{color:#34453c;font-size:15px;font-weight:760;text-align:center;white-space:nowrap}.apple-demo-compare-row>div{display:grid;gap:4px}.apple-demo-compare-row small{justify-self:center;color:var(--demo-muted);font-size:12px;font-weight:700}.apple-demo-compare-row i{height:5px;border-radius:999px;background:linear-gradient(90deg,#dce5e0 var(--value),rgba(220,229,224,.48) var(--value))}.apple-demo-compare-row i.left{background:linear-gradient(90deg,#7aa0d4 var(--value),rgba(220,229,224,.48) var(--value))}.apple-demo-compare-row i.right{background:linear-gradient(90deg,var(--demo-green) var(--value),rgba(220,229,224,.48) var(--value))}.apple-demo-comparison button,.apple-demo-section-head button{width:fit-content;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:var(--demo-green-strong);background:transparent;font-size:14px;font-weight:800;transition:transform .16s ease}.apple-demo-comparison button{justify-self:center;margin-top:2px}.apple-demo-comparison button svg,.apple-demo-section-head button svg,.apple-demo-insight>svg:last-child{width:16px;height:16px}.apple-demo-bottom-grid{width:min(100%,1450px);margin:14px auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.5fr);gap:14px;min-width:0}.apple-demo-section{width:min(100%,1450px);margin:14px auto 0;scroll-margin-top:104px}.apple-demo-section-title{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:14px;margin:0 0 14px;padding:6px 4px}.apple-demo-section-title>svg{width:46px;height:46px;padding:12px;border-radius:16px;color:var(--demo-green-strong);background:#edf9f0d1;box-shadow:inset 0 0 0 1px #2f94611a}.apple-demo-section-title h2{margin:0;font-size:26px;line-height:1.12;letter-spacing:0}.apple-demo-section-title p{max-width:56rem;margin:6px 0 0;color:var(--demo-muted);font-size:15px;line-height:1.5}.apple-demo-calendar,.apple-demo-insights{padding:22px 24px}.apple-demo-calendar{overflow:hidden}.apple-demo-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.apple-demo-section-head.compact{margin-bottom:14px}.apple-demo-section-head p{margin:6px 0 0;color:var(--demo-muted);font-size:14px;line-height:1.45}.apple-demo-window-tools{display:grid;justify-items:end;gap:8px}.apple-demo-window-tools strong{color:var(--demo-green-strong);font-size:14px;line-height:1.25;white-space:nowrap}.apple-demo-score-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;color:#526058;font-size:12px;font-weight:760}.apple-demo-score-legend span{display:inline-flex;align-items:center;gap:5px}.apple-demo-score-legend i{width:22px;height:8px;border-radius:999px;border:1px solid rgba(45,65,54,.08)}.apple-demo-score-legend i.peak,.apple-demo-window-cell.peak:before{background:linear-gradient(135deg,#399b6df2,#9bdaabe0)}.apple-demo-score-legend i.strong,.apple-demo-window-cell.strong:before{background:linear-gradient(135deg,#73b277eb,#cde4a2db)}.apple-demo-score-legend i.good,.apple-demo-window-cell.good:before{background:linear-gradient(135deg,#ddcd7ae6,#e3dfa8d1)}.apple-demo-score-legend i.soft,.apple-demo-window-cell.soft:before{background:linear-gradient(135deg,#decaaad1,#e4e0d2c7)}.apple-demo-score-legend i.low,.apple-demo-window-cell.low:before{background:linear-gradient(135deg,#c4c2c1d6,#e0deddc7)}.apple-demo-window-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(30,48,38,.11);border-radius:20px;background:linear-gradient(90deg,#ffffffdb,#fff0 54px) left / 88px 100% no-repeat,#f7fbf89e;scrollbar-width:thin;scrollbar-color:rgba(42,96,70,.28) transparent}.apple-demo-window-grid{--demo-calendar-city: 176px;--demo-calendar-day: minmax(88px, 1fr);min-width:850px;display:grid;grid-template-columns:var(--demo-calendar-city) repeat(var(--demo-days),var(--demo-calendar-day));align-items:stretch}.apple-demo-window-corner,.apple-demo-window-date,.apple-demo-window-city,.apple-demo-window-cell{min-width:0;min-height:66px;border-right:1px solid rgba(30,48,38,.09);border-bottom:1px solid rgba(30,48,38,.09)}.apple-demo-window-corner,.apple-demo-window-date{display:grid;place-items:center;color:#314439;background:#ffffffa3;font-weight:820}.apple-demo-window-corner{position:sticky;left:0;z-index:3;padding:0 14px;justify-items:start;box-shadow:10px 0 20px #1f3a2b0a}.apple-demo-window-date{gap:2px;padding:10px 6px;text-align:center}.apple-demo-window-date span{font-size:14px}.apple-demo-window-date small{color:var(--demo-muted);font-size:12px;font-weight:720}.apple-demo-window-city{position:sticky;left:0;z-index:2;display:grid;align-content:center;gap:5px;padding:10px 14px;color:#24372d;background:#ffffffd1;text-align:left;box-shadow:10px 0 20px #1f3a2b0a;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.apple-demo-window-city:hover,.apple-demo-window-city.active{color:#143c27;background:#eff9f1eb;box-shadow:10px 0 22px #1f3a2b12,inset 4px 0 #2f946175}.apple-demo-window-city:focus,.apple-demo-window-cell:focus{outline:none}.apple-demo-window-city:focus-visible,.apple-demo-window-cell:focus-visible{outline:2px solid rgba(47,148,97,.5);outline-offset:-3px}.apple-demo-window-city span{overflow:hidden;font-size:14px;font-weight:840;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.apple-demo-window-city small{overflow:hidden;color:var(--demo-muted);font-size:12px;font-weight:720;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.apple-demo-window-cell{position:relative;display:grid;place-items:center;padding:0;color:#172d20d1;background:#eef7f16b;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.apple-demo-window-cell.empty{cursor:default;background:linear-gradient(135deg,#eff4f18f,#f7f9f747)}.apple-demo-window-cell:not(.empty):before{content:"";position:absolute;top:13px;right:-1px;bottom:13px;left:-1px;opacity:.92}.apple-demo-window-cell.window-start:before{left:12px;border-radius:999px 0 0 999px}.apple-demo-window-cell.window-end:before{right:12px;border-radius:0 999px 999px 0}.apple-demo-window-cell.window-start.window-end:before{border-radius:999px}.apple-demo-window-cell>span{position:relative;z-index:1;width:10px;height:10px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:#43524870;box-shadow:0 0 0 1px #1f392914,0 2px 6px #1f39292e}.apple-demo-window-cell strong{position:absolute;z-index:1;right:9px;bottom:8px;color:#1d3025ad;font-size:12px;line-height:1}.apple-demo-window-cell:not(.empty):hover,.apple-demo-window-cell.active{z-index:1;filter:saturate(1.05);box-shadow:inset 0 0 0 2px #2f946157,0 12px 24px #19342414}.apple-demo-window-cell:not(.empty):active{transform:translateY(1px)}.apple-demo-window-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid var(--demo-line)}.apple-demo-window-detail>div{min-width:0}.apple-demo-window-detail span{display:block;color:var(--demo-green-strong);font-size:12px;font-weight:840}.apple-demo-window-detail strong{display:block;margin-top:5px;color:#1c3126;font-size:20px;line-height:1.22}.apple-demo-window-detail p{margin:8px 0 0;color:var(--demo-muted);font-size:14px;line-height:1.55}.apple-demo-window-detail dl{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.apple-demo-window-detail dl div{min-width:0;padding:10px 12px;border:1px solid rgba(30,48,38,.08);border-radius:14px;background:#ffffff94}.apple-demo-window-detail dt{margin:0 0 4px;color:var(--demo-muted);font-size:12px;font-weight:760}.apple-demo-window-detail dd{overflow:hidden;margin:0;color:#24372d;font-size:13px;font-weight:760;line-height:1.32;text-overflow:ellipsis;white-space:nowrap}.apple-demo-insights{display:grid;align-content:start;gap:10px}.apple-demo-insight{min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid rgba(28,47,37,.08)}.apple-demo-insight>svg:first-child{width:34px;height:34px;padding:8px;border-radius:12px;color:var(--demo-green-strong);background:#e9f7ecdb}.apple-demo-insight span{color:#405148;font-size:14px;line-height:1.5}.apple-demo-insight>svg:last-child{color:#9aa8a0}.apple-demo-route-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;min-width:0}.apple-demo-map-panel,.apple-demo-route-brief,.apple-demo-city-list,.apple-demo-place-detail,.apple-demo-note-card{min-width:0;border:1px solid var(--demo-line);border-radius:24px;background:#ffffffb8;box-shadow:0 18px 48px #19342414;backdrop-filter:blur(20px) saturate(1.08);-webkit-backdrop-filter:blur(20px) saturate(1.08)}.apple-demo-map-panel{position:relative;min-height:410px;overflow:hidden;background:linear-gradient(135deg,#eef7f1f0,#eaf4fae6),url(/assets/hangzhou-spring-bg.jpg);background-size:cover;background-position:center}.apple-demo-map-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.48;background-image:linear-gradient(rgba(41,80,58,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(41,80,58,.09) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0 55%,transparent 78%);mask-image:radial-gradient(circle at 50% 50%,#000 0 55%,transparent 78%)}.apple-demo-map-route{position:absolute;top:28px;right:28px;bottom:28px;left:28px;width:calc(100% - 56px);height:calc(100% - 56px)}.apple-demo-map-route path{fill:none;stroke:#257e4ec7;stroke-width:9;stroke-linecap:round;filter:drop-shadow(0 8px 16px rgba(29,82,50,.16))}.apple-demo-map-route circle{fill:#fff;stroke:var(--demo-green);stroke-width:7}.apple-demo-map-pin{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-radius:999px;background:#ffffffd6;color:#22342a;font-size:13px;font-weight:820;box-shadow:0 12px 30px #1934241f}.apple-demo-map-pin span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--demo-blue)}.apple-demo-map-pin.target span{background:var(--demo-green)}.apple-demo-map-pin.origin{left:10%;bottom:18%}.apple-demo-map-pin.target{right:10%;top:14%}.apple-demo-route-float{position:absolute;right:22px;bottom:22px;display:grid;grid-template-columns:38px auto;grid-template-areas:"icon value" "icon label";column-gap:12px;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.58);border-radius:20px;background:#ffffffb8;color:#22342a;backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08)}.apple-demo-route-float svg{grid-area:icon;width:38px;height:38px;padding:9px;border-radius:14px;color:#fff;background:var(--demo-green)}.apple-demo-route-float strong{grid-area:value;font-size:20px}.apple-demo-route-float span{grid-area:label;color:var(--demo-muted);font-size:13px}.apple-demo-route-brief{display:grid;gap:10px;align-content:start;padding:20px}.apple-demo-metric-pill{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-areas:"icon label" "icon value";column-gap:11px;align-items:center;min-height:64px;padding:12px;border-radius:18px;background:#f8fbf9c7}.apple-demo-metric-pill svg{grid-area:icon;width:36px;height:36px;padding:9px;border-radius:12px;color:var(--demo-green-strong);background:#e9f7ece6}.apple-demo-metric-pill span{grid-area:label;color:var(--demo-muted);font-size:12px;font-weight:720}.apple-demo-metric-pill strong{grid-area:value;min-width:0;color:#22342a;font-size:15px;line-height:1.25}.apple-demo-route-note{margin-top:4px;padding:16px;border-radius:20px;background:linear-gradient(180deg,#ebf8efeb,#ffffffb8)}.apple-demo-route-note strong{display:block;margin-bottom:8px;font-size:16px}.apple-demo-route-note p{margin:0;color:#405148;font-size:14px;line-height:1.55}.apple-demo-city-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);gap:14px}.apple-demo-city-list{display:grid;gap:8px;padding:12px}.apple-demo-city-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) 54px;align-items:center;gap:12px;min-height:76px;padding:12px;border:0;border-radius:18px;background:transparent;color:#22342a;text-align:left;cursor:pointer;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.apple-demo-city-row:hover,.apple-demo-city-row.active{background:#f9fdf9eb;box-shadow:0 12px 28px #19342414}.apple-demo-city-rank{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--demo-green-strong);background:#e9f7ece6;font-weight:840}.apple-demo-city-main{min-width:0;display:grid;gap:4px}.apple-demo-city-main strong{font-size:18px}.apple-demo-city-main small{min-width:0;color:var(--demo-muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apple-demo-city-score{justify-self:end;color:var(--demo-green-strong);font-size:28px;font-weight:850}.apple-demo-place-detail{display:grid;align-content:start;gap:18px;padding:24px}.apple-demo-place-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.apple-demo-place-detail-head span{color:var(--demo-muted);font-size:13px;font-weight:760}.apple-demo-place-detail-head h3{margin:4px 0 0;font-size:34px;line-height:1.05}.apple-demo-place-detail-head b{color:var(--demo-green-strong);font-size:52px;line-height:.92}.apple-demo-place-detail p{margin:0;color:#405148;font-size:15px;line-height:1.65}.apple-demo-tag-row{display:flex;flex-wrap:wrap;gap:8px}.apple-demo-tag-row span{padding:7px 10px;border-radius:999px;color:#305542;background:#e9f7ecd1;font-size:13px;font-weight:760}.apple-demo-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.apple-demo-detail-grid div{min-width:0;padding:12px;border-radius:16px;background:#f8fbf9c7}.apple-demo-detail-grid dt{margin:0 0 6px;color:var(--demo-muted);font-size:12px;font-weight:720}.apple-demo-detail-grid dd{margin:0;color:#22342a;font-size:15px;font-weight:780;line-height:1.25}.apple-demo-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.apple-demo-note-card{min-height:190px;display:grid;align-content:start;gap:12px;padding:22px}.apple-demo-note-card>svg{width:42px;height:42px;padding:10px;border-radius:15px;color:var(--demo-green-strong);background:#e9f7ecdb}.apple-demo-note-card strong{font-size:19px}.apple-demo-note-card p{margin:0;color:#405148;font-size:14px;line-height:1.6}@media(max-width:1180px){.apple-demo-topbar{grid-template-columns:1fr;justify-items:stretch}.apple-demo-brand,.apple-demo-actions{justify-self:center}.apple-demo-tabs{max-width:100%;overflow-x:auto;justify-self:stretch}.apple-demo-hero{grid-template-columns:1fr;gap:22px}.apple-demo-hero-copy{padding:20px 6px 0}.apple-demo-hero-copy h1{max-width:10.6em}.apple-demo-cockpit,.apple-demo-bottom-grid,.apple-demo-route-layout,.apple-demo-city-layout,.apple-demo-note-grid{grid-template-columns:1fr}.apple-demo-route-card{width:330px}.apple-demo-window-detail{grid-template-columns:1fr}}@media(max-width:760px){.apple-demo-page{padding:8px 10px 28px}.apple-demo-topbar{top:8px;min-height:0;padding:10px;border-radius:22px}.apple-demo-brand{justify-self:start;font-size:20px}.apple-demo-brand-mark{width:36px;height:36px;border-radius:12px}.apple-demo-tabs{justify-self:start;width:100%;padding:4px;scrollbar-width:none}.apple-demo-tabs::-webkit-scrollbar{display:none}.apple-demo-tab{min-width:82px;height:42px;gap:6px;padding:0 8px;font-size:13px}.apple-demo-tab svg{width:17px;height:17px}.apple-demo-actions{justify-self:stretch;justify-content:space-between}.apple-demo-origin{flex:1}.apple-demo-hero{margin-top:16px}.apple-demo-hero-copy{gap:18px}.apple-demo-hero-copy h1{max-width:10.6em;font-size:clamp(36px,10.4vw,44px)}.apple-demo-hero-copy p{font-size:16px;line-height:1.58}.apple-demo-mode-switch{grid-template-columns:1fr;max-width:none}.apple-demo-mode{min-height:58px;padding:10px 12px}.apple-demo-media{min-height:430px;padding:26px;border-radius:26px}.apple-demo-route-card{top:18px;right:18px;width:min(72vw,260px)}.apple-demo-cockpit{margin-top:12px}.apple-demo-weather-card,.apple-demo-comparison,.apple-demo-calendar,.apple-demo-insights{border-radius:20px}.apple-demo-weather-card,.apple-demo-calendar,.apple-demo-insights{padding:18px}.apple-demo-temperature strong{font-size:50px}.apple-demo-metrics{grid-template-columns:1fr}.apple-demo-vs,.apple-demo-compare-row{grid-template-columns:56px minmax(0,1fr) 56px;gap:8px}.apple-demo-window-tools{justify-items:start}.apple-demo-window-tools strong{white-space:normal}.apple-demo-score-legend{justify-content:flex-start}.apple-demo-window-scroll{margin-right:-4px;border-radius:18px}.apple-demo-window-grid{--demo-calendar-city: 152px;--demo-calendar-day: minmax(78px, 1fr);min-width:700px}.apple-demo-window-corner,.apple-demo-window-date,.apple-demo-window-city,.apple-demo-window-cell{min-height:58px}.apple-demo-window-city{padding:9px 11px}.apple-demo-window-cell:not(.empty):before{top:11px;right:-1px;bottom:11px;left:-1px}.apple-demo-window-detail dl{grid-template-columns:1fr}.apple-demo-window-detail dd{white-space:normal}.apple-demo-section-head{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){.apple-demo-page *,.apple-demo-page *:before,.apple-demo-page *:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.spring-v2-page{--v2-ink: #101820;--v2-muted: #647168;--v2-green: #2f9461;--v2-green-dark: #177347;--v2-blue: #5e8caf;--v2-yellow: #d7c66f;--v2-line: rgba(29, 48, 38, .1);--v2-surface: rgba(255, 255, 255, .74);--v2-surface-strong: rgba(255, 255, 255, .9);--v2-shadow: 0 22px 60px rgba(25, 52, 36, .1);--v2-shell-max: clamp(1020px, 74vw, 1080px);--v2-page-x: clamp(64px, 7vw, 104px);--v2-side-width: 252px;--v2-workspace-gap: 12px;min-height:100vh;padding:12px var(--v2-page-x) 42px;color:var(--v2-ink);background:linear-gradient(180deg,#ffffffeb,#f4faf6eb 54%,#eef7f3f5),url(/assets/hangzhou-spring-bg.jpg);background-attachment:fixed;background-position:center top;background-size:cover;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.spring-v2-page *{box-sizing:border-box}.spring-v2-page button,.spring-v2-page input{font:inherit}.spring-v2-page button{cursor:pointer}.spring-v2-page.loading{display:grid;place-items:center}.spring-v2-loading-card{width:min(420px,100%);display:grid;justify-items:center;gap:14px;padding:34px;border:1px solid var(--v2-line);border-radius:26px;background:var(--v2-surface);box-shadow:var(--v2-shadow);text-align:center}.spring-v2-loading-card svg{width:42px;height:42px;color:var(--v2-green)}.spring-v2-loading-card h1,.spring-v2-loading-card p{margin:0}.spring-v2-topbar{position:sticky;top:12px;z-index:30;width:min(100%,var(--v2-shell-max));min-height:68px;margin:0 auto;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(210px,1fr);grid-template-areas:"brand modes status";align-items:center;gap:14px;padding:10px 14px 10px 18px;border:1px solid rgba(255,255,255,.64);border-radius:26px;background:#ffffffc2;box-shadow:0 18px 52px #192c231a;backdrop-filter:blur(22px) saturate(1.14);-webkit-backdrop-filter:blur(22px) saturate(1.14)}.spring-v2-brand-group{grid-area:brand;min-width:0;display:inline-flex;align-items:center;gap:9px;justify-self:start}.spring-v2-brand{min-width:0;display:inline-flex;align-items:center;gap:12px;color:var(--v2-ink);text-decoration:none}.spring-v2-brand span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:var(--v2-green-dark);background:linear-gradient(180deg,#e8f7ecf5,#f8fcf8db);box-shadow:inset 0 0 0 1px #2f94611f}.spring-v2-brand svg{width:22px;height:22px;stroke-width:2.4}.spring-v2-brand strong{overflow:hidden;font-size:23px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.spring-v2-refresh-cluster{position:relative;flex:0 0 auto;display:inline-grid;place-items:center}.spring-v2-title-refresh{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid rgba(47,148,97,.14);border-radius:50%;background:#ffffff8a;color:var(--v2-green-dark);box-shadow:0 7px 16px #1934240d,inset 0 1px #ffffffd1;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.spring-v2-title-refresh:hover:not(:disabled),.spring-v2-title-refresh:focus-visible{border-color:#2f946142;background:#ffffffc2;box-shadow:0 9px 18px #19342414,inset 0 1px #ffffffe6;transform:translateY(-.5px)}.spring-v2-title-refresh:disabled{cursor:wait;opacity:.64}.spring-v2-title-refresh svg{width:14px;height:14px;stroke-width:2.35}.spring-v2-title-refresh.refreshing svg{animation:spring-v2-refresh-spin .85s linear infinite}@keyframes spring-v2-refresh-spin{to{transform:rotate(360deg)}}.spring-v2-refresh-note{position:absolute;left:calc(100% + 8px);top:50%;z-index:4;width:max-content;max-width:190px;padding:7px 10px;border:1px solid rgba(47,148,97,.16);border-radius:999px;background:#ffffffe0;color:#315343;box-shadow:0 12px 28px #19342417;font-size:12px;font-weight:760;line-height:1.25;pointer-events:none;transform:translateY(-50%)}.spring-v2-refresh-note.error{border-color:#9a5d2938;background:#fff8eceb;color:#7a4f25}.spring-v2-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:540px;padding:8px;border:1px solid rgba(28,47,37,.1);border-radius:24px;background:#ffffffa8;box-shadow:inset 0 1px #ffffffd1}.spring-v2-mode-switch button,.spring-v2-view-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#56645d;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.spring-v2-mode-switch button{min-width:0;min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon label" "icon summary" "icon count";column-gap:10px;align-items:center;justify-content:stretch;padding:13px 15px;border-radius:18px;font-weight:760;text-align:left}.spring-v2-mode-switch button svg{grid-area:icon;width:22px;height:22px;stroke-width:2.35}.spring-v2-mode-switch button span{grid-area:label;font-size:18px;font-weight:780}.spring-v2-mode-switch button small{grid-area:summary;min-width:0;padding:0;border-radius:0;background:transparent;font-size:12px;line-height:1.25;opacity:.72;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spring-v2-mode-switch button em{grid-area:count;min-width:0;color:inherit;font-size:11px;font-style:normal;line-height:1.2;opacity:.58;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spring-v2-mode-switch button.active{color:#fff;background:linear-gradient(180deg,#41a76a,#21804f);box-shadow:0 14px 30px #20804f3d}.spring-v2-mode-switch button.active small{background:transparent}.spring-v2-status{grid-area:status;justify-self:end;min-width:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:9px;max-width:320px}.spring-v2-origin-selector{position:relative;min-width:0;width:min(100%,196px)}.spring-v2-origin-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:38px;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;border:1px solid var(--v2-line);border-radius:999px;background:#ffffffa8;color:#263d31;box-shadow:inset 0 1px #ffffffb8;font-weight:780;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.spring-v2-origin-trigger:hover:not(:disabled),.spring-v2-origin-trigger:focus-visible,.spring-v2-origin-trigger[aria-expanded=true]{border-color:#2f946142;background:#ffffffe0;box-shadow:0 12px 26px #19342414,inset 0 1px #ffffffdb;transform:translateY(-1px)}.spring-v2-origin-trigger:disabled{cursor:wait;opacity:.68}.spring-v2-origin-trigger>svg{flex:0 0 auto;width:15px;height:15px;color:var(--v2-green-dark);stroke-width:2.45}.spring-v2-origin-trigger>svg:last-child{width:14px;height:14px;color:#718078}.spring-v2-origin-trigger span{min-width:0;display:grid;gap:1px;overflow:hidden;text-align:left}.spring-v2-origin-trigger small{color:#6b7d73;font-size:10px;line-height:1}.spring-v2-origin-trigger b{font-size:14px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spring-v2-origin-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:50;width:min(320px,calc(100vw - 32px));max-height:min(520px,72vh);display:grid;gap:10px;padding:12px;border:1px solid rgba(29,48,38,.12);border-radius:20px;background:#fffffff0;box-shadow:0 24px 60px #1934242e;backdrop-filter:blur(20px) saturate(1.12);-webkit-backdrop-filter:blur(20px) saturate(1.12)}.spring-v2-origin-search{height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid rgba(29,48,38,.1);border-radius:14px;background:#f6faf7e6}.spring-v2-origin-search svg{flex:0 0 auto;width:16px;height:16px;color:var(--v2-green-dark)}.spring-v2-origin-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--v2-ink);font-size:14px}.spring-v2-origin-options{max-height:min(420px,58vh);overflow:auto;display:grid;gap:6px;padding-right:2px}.spring-v2-origin-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid transparent;border-radius:14px;background:transparent;color:#263d31;text-align:left;transition:background .14s ease,border-color .14s ease,transform .14s ease}.spring-v2-origin-option:hover,.spring-v2-origin-option:focus-visible{border-color:#2f946124;background:#ecf8f0c7}.spring-v2-origin-option.active{border-color:#2f946133;background:#e8f7eceb}.spring-v2-origin-option span{min-width:0;display:grid;gap:3px}.spring-v2-origin-option strong{font-size:14px;line-height:1.15}.spring-v2-origin-option small{overflow:hidden;color:#6b7d73;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.spring-v2-origin-option svg{flex:0 0 auto;width:17px;height:17px;color:var(--v2-green-dark)}.spring-v2-origin-empty{margin:0;padding:18px 10px;color:var(--v2-muted);font-size:13px;text-align:center}.spring-v2-mode-copy{grid-area:copy;margin:0;color:var(--v2-muted);font-size:13px;font-weight:700;text-align:center}.spring-v2-hero,.spring-v2-cockpit,.spring-v2-workspace{width:min(100%,var(--v2-shell-max));margin:18px auto 0}.spring-v2-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(500px,520px);justify-content:stretch;align-items:center;gap:clamp(20px,1.8vw,26px)}.spring-v2-decision-card,.spring-v2-side-panel,.spring-v2-main-panel,.spring-v2-loading-card{border:1px solid var(--v2-line);background:var(--v2-surface);box-shadow:var(--v2-shadow);backdrop-filter:blur(20px) saturate(1.08);-webkit-backdrop-filter:blur(20px) saturate(1.08)}.spring-v2-hero-copy{display:grid;gap:22px;min-width:0;padding:18px 0 14px}.spring-v2-hero-copy h1{max-width:100%;margin:0;color:#0e1824;font-size:clamp(34px,3vw,44px);line-height:1.08;font-weight:820;letter-spacing:0;overflow-wrap:anywhere;word-break:normal}.spring-v2-hero-copy h1 span{display:block}.spring-v2-hero-copy p{max-width:23rem;margin:0;color:var(--v2-muted);font-size:16px;line-height:1.65}.spring-v2-hero-pulse{width:fit-content;max-width:100%;padding:8px 12px;border:1px solid rgba(47,148,97,.12);border-radius:999px;background:#ffffff8a;color:#2f6f4c!important;font-size:13px!important;font-weight:760;line-height:1.35!important;box-shadow:inset 0 1px #ffffffb3}.spring-v2-hero-copy .spring-v2-mode-switch{justify-self:start;width:fit-content;max-width:100%}.spring-v2-hero-copy .spring-v2-mode-switch{grid-template-columns:repeat(3,minmax(108px,126px));gap:6px;padding:6px;border-radius:21px}.spring-v2-hero-copy .spring-v2-mode-switch button{column-gap:7px;min-height:64px;padding:10px 11px;border-radius:15px}.spring-v2-hero-copy .spring-v2-mode-switch button span{font-size:15px}.spring-v2-hero-copy .spring-v2-mode-switch button small{font-size:11px}.spring-v2-hero-copy .spring-v2-mode-switch button em{font-size:10px}.spring-v2-hero-copy .spring-v2-mode-switch button svg{width:19px;height:19px}.spring-v2-mode-advice{width:min(100%,var(--v2-shell-max));margin:18px auto 14px;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) 24px;align-items:center;gap:8px 12px;padding:11px 14px;border:1px solid rgba(177,142,62,.2);border-radius:18px;background:#fffcf1c7;color:#4c422d;box-shadow:0 12px 32px #5c4a260f}.spring-v2-mode-advice.warning{border-color:#a8534138;background:#fff7f3d1;color:#56372f}.spring-v2-mode-advice strong,.spring-v2-mode-advice p{margin:0}.spring-v2-mode-advice strong{font-size:13px;font-weight:840}.spring-v2-mode-advice p{min-width:0;color:#3f4237d6;font-size:13px;line-height:1.45}.spring-v2-mode-advice-dismiss{-webkit-appearance:none;-moz-appearance:none;appearance:none;justify-self:end;width:24px;height:24px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;color:#4c422d7a;cursor:pointer;transition:background .12s ease,color .12s ease}.spring-v2-mode-advice-dismiss:hover,.spring-v2-mode-advice-dismiss:focus-visible{background:#ffffff85;color:#4c422dc2;outline:none}.spring-v2-mode-advice-dismiss svg{width:13px;height:13px;stroke-width:2.2}.spring-v2-topbar>.spring-v2-view-tabs{grid-area:modes;justify-self:center;margin:0}.spring-v2-strategy-deck{position:relative;overflow:hidden;display:grid;grid-template-rows:auto auto;gap:10px;justify-self:stretch;width:100%;padding:16px;border-radius:32px;background-image:linear-gradient(135deg,#0f3825bd,#2377496b 46%,#f0f9f329),url(/assets/hangzhou-spring-bg.jpg);background-size:cover;background-position:center;color:#fff;box-shadow:var(--v2-shadow);isolation:isolate}.spring-v2-strategy-deck:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#081d151a,#081d1557),radial-gradient(circle at 86% 18%,rgba(255,255,255,.22),transparent 28%)}.spring-v2-deck-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;min-width:0;overflow:hidden;display:grid;align-items:stretch;width:100%;height:auto;aspect-ratio:16 / 10;border:1px solid rgba(255,255,255,.48);border-radius:28px;background:#11402b42;color:#fff;text-align:left;box-shadow:inset 0 1px #ffffff57;backdrop-filter:blur(10px) saturate(1.08);-webkit-backdrop-filter:blur(10px) saturate(1.08);transform-style:preserve-3d;pointer-events:auto;transition:transform .36s cubic-bezier(.18,.82,.22,1),opacity .22s ease}.spring-v2-deck-card.is-out{opacity:.12;transform:rotateY(84deg) scale(.96);pointer-events:none}.spring-v2-deck-card.is-in{pointer-events:none;animation:spring-v2-card-flip-in .42s cubic-bezier(.18,.82,.22,1)}.spring-v2-deck-card:focus-visible,.spring-v2-deck-blind-strip button:focus-visible{outline:3px solid rgba(255,255,255,.72);outline-offset:3px}.spring-v2-deck-content{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,.34fr);grid-template-areas:"place score" "deltas deltas" "facts facts";gap:6px;padding:14px 16px 12px;animation:spring-v2-deck-rise .3s cubic-bezier(.2,.84,.2,1)}.spring-v2-deck-place{grid-area:place;min-width:0;display:grid;align-content:start;gap:4px}.spring-v2-deck-place span{width:fit-content;padding:4px 8px;border-radius:999px;background:#ffffff2e;color:#ffffffe0;font-size:10px;font-weight:820}.spring-v2-deck-place strong{overflow:hidden;display:-webkit-box;font-size:clamp(28px,3vw,38px);line-height:1;font-weight:870;text-overflow:ellipsis;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-shadow:0 2px 20px rgba(0,0,0,.24)}.spring-v2-deck-place small{overflow:hidden;color:#ffffffdb;font-size:12px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.spring-v2-deck-score{grid-area:score;align-self:start;justify-self:end;min-width:0;display:grid;justify-items:end;gap:5px}.spring-v2-deck-score b{font-size:clamp(48px,4.2vw,62px);line-height:.86;font-weight:880;letter-spacing:0;text-shadow:0 2px 20px rgba(0,0,0,.24)}.spring-v2-deck-score em{max-width:100%;overflow:hidden;padding:5px 9px;border-radius:999px;background:#2b8f54db;color:#fff;font-size:12px;font-style:normal;font-weight:820;text-overflow:ellipsis;white-space:nowrap;box-shadow:inset 0 0 0 1px #ffffff3d}.spring-v2-deck-facts,.spring-v2-deck-metrics{min-width:0;display:grid;gap:5px}.spring-v2-deck-facts{grid-area:facts;grid-template-columns:minmax(0,1.2fr) minmax(112px,.45fr)}.spring-v2-deck-metrics{grid-area:metrics;grid-template-columns:repeat(3,minmax(0,1fr))}.spring-v2-deck-deltas{grid-area:deltas;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.spring-v2-deck-delta-caption{grid-column:1 / -1;width:fit-content;padding:2px 7px;border-radius:999px;background:#08281b33;color:#ffffffc7;font-size:10px;font-weight:820;line-height:1.2}.spring-v2-deck-delta-chip{min-width:0;display:grid;gap:2px;padding:5px 8px;border:1px solid rgba(255,255,255,.18);border-radius:14px;opacity:0;transform:translateY(8px) scale(.94);animation:spring-v2-delta-pop .38s cubic-bezier(.18,.9,.2,1) forwards}.spring-v2-deck-delta-chip.gain{background:#e5ffec38;box-shadow:inset 0 0 0 1px #ceffdd29}.spring-v2-deck-delta-chip.cost{background:#ffebc933;box-shadow:inset 0 0 0 1px #ffe9bf21}.spring-v2-deck-delta-chip.neutral{background:#ffffff24}.spring-v2-deck-delta-chip small{color:#ffffffad;font-size:10px;font-weight:790;line-height:1}.spring-v2-deck-delta-chip b{overflow:hidden;display:flex;align-items:center;gap:4px;color:#fff;font-size:12px;font-weight:860;line-height:1.05;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 14px rgba(0,0,0,.18)}.spring-v2-deck-delta-chip b span{min-width:0;overflow:hidden;text-overflow:ellipsis}.spring-v2-deck-delta-chip b i{flex:0 0 auto;color:#ffffff85;font-size:10px;font-style:normal;font-weight:820}.spring-v2-deck-delta-chip b em{flex:0 0 auto;margin-left:auto;padding:2px 5px;border-radius:999px;background:#ffffff24;color:#fff;font-size:11px;font-style:normal;font-weight:880;line-height:1.05}.spring-v2-deck-delta-chip.gain b em{background:#ddffe633;color:#f4fff7fa}.spring-v2-deck-delta-chip.cost b em{background:#ffecc633;color:#fff7e8fa}.spring-v2-deck-delta-chip.neutral b em{color:#ffffffb8}.spring-v2-deck-facts span,.spring-v2-deck-metrics span{min-width:0;display:grid;gap:3px;padding:6px 8px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#ffffff2e}.spring-v2-deck-facts small,.spring-v2-deck-metrics small{color:#ffffffb8;font-size:10px;font-weight:780}.spring-v2-deck-facts b,.spring-v2-deck-metrics b{overflow:hidden;color:#fff;font-size:12px;font-weight:820;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.spring-v2-deck-blind-strip{position:relative;z-index:3;display:inline-flex;justify-self:center;gap:8px;padding:7px 9px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:#0c2b1d38;backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05)}.spring-v2-deck-blind-strip button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:#ffffff6b;color:transparent;cursor:pointer;transition:width .18s ease,background .18s ease}.spring-v2-deck-blind-strip button.active{width:32px;background:#ffffffeb}.spring-v2-deck-blind-strip button:disabled{cursor:default}.spring-v2-deck-blind-strip i{overflow:hidden;width:1px;height:1px;opacity:0}@keyframes spring-v2-deck-rise{0%{opacity:.46;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spring-v2-card-flip-in{0%{opacity:.12;transform:rotateY(-84deg) scale(.96)}to{opacity:1;transform:rotateY(0) scale(1)}}@keyframes spring-v2-delta-pop{0%{opacity:0;transform:translateY(8px) scale(.94)}54%{opacity:1;transform:translateY(-2px) scale(1.025)}to{opacity:1;transform:translateY(0) scale(1)}}.spring-v2-cockpit{display:grid;grid-template-columns:minmax(340px,.62fr) minmax(0,1fr);gap:14px;align-items:stretch;min-width:0}.spring-v2-flip-card{position:relative;min-height:286px;border-radius:30px;cursor:pointer;outline:none;perspective:1200px}.spring-v2-flip-card[aria-disabled=true]{cursor:default;opacity:.68}.spring-v2-flip-card:focus-visible .spring-v2-flip-inner{box-shadow:0 0 0 4px #2f946133,var(--v2-shadow)}.spring-v2-flip-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.18,.82,.22,1)}.spring-v2-flip-card.show-target .spring-v2-flip-inner{transform:rotateY(180deg)}.spring-v2-flip-face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;display:grid;grid-template-rows:auto auto 1fr auto auto;gap:10px;padding:22px;border:1px solid rgba(255,255,255,.64);border-radius:inherit;background:radial-gradient(circle at 88% 16%,rgba(112,173,114,.22),transparent 36%),linear-gradient(135deg,#ffffffeb,#f5fbf7d1);box-shadow:0 18px 48px #19342414;backface-visibility:hidden;-webkit-backface-visibility:hidden;backdrop-filter:blur(20px) saturate(1.08);-webkit-backdrop-filter:blur(20px) saturate(1.08)}.spring-v2-flip-back{color:#fff;background:linear-gradient(135deg,#0f492fe6,#2a9156c7),url(/assets/hangzhou-spring-bg.jpg);background-position:center;background-size:cover;transform:rotateY(180deg)}.spring-v2-flip-back:after{content:"";position:absolute;inset:auto 0 0;height:44%;z-index:-1;background:linear-gradient(0deg,rgba(8,34,22,.28),transparent)}.spring-v2-flip-kicker,.spring-v2-flip-title,.spring-v2-flip-prompt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spring-v2-flip-kicker{color:var(--v2-muted);font-size:13px;font-weight:780}.spring-v2-flip-back .spring-v2-flip-kicker{color:#ffffffd1}.spring-v2-flip-title{color:#1a2b22;font-size:clamp(24px,2.6vw,34px);line-height:1.05;font-weight:860}.spring-v2-flip-back .spring-v2-flip-title{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.22)}.spring-v2-flip-score{align-self:end;display:inline-flex;align-items:end;gap:12px}.spring-v2-flip-score strong{color:#101d17;font-size:clamp(58px,5.8vw,78px);line-height:.9;font-weight:870;letter-spacing:0}.spring-v2-flip-back .spring-v2-flip-score strong{color:#fff}.spring-v2-flip-score em{margin-bottom:6px;padding:8px 12px;border-radius:999px;background:#e8f6eceb;color:#23543a;font-size:15px;font-style:normal;font-weight:820;white-space:nowrap}.spring-v2-flip-back .spring-v2-flip-score em{background:#fff3;color:#fff;box-shadow:inset 0 0 0 1px #ffffff47}.spring-v2-flip-metrics,.spring-v2-flip-hints{min-width:0;display:grid;gap:8px}.spring-v2-flip-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.spring-v2-flip-hints{grid-template-columns:repeat(4,minmax(0,1fr))}.spring-v2-flip-metrics>span,.spring-v2-flip-hints>span{min-width:0;display:grid;gap:4px;padding:9px 10px;border:1px solid rgba(30,48,38,.08);border-radius:14px;background:#ffffff94}.spring-v2-flip-hints>span{background:#ffffff2e;border-color:#ffffff2e;transform:translateY(10px) scale(.96);opacity:0;animation:spring-v2-hint-pop .72s cubic-bezier(.2,.9,.2,1) forwards}.spring-v2-flip-hints>span.good{box-shadow:inset 0 0 0 1px #c8f7d81f}.spring-v2-flip-hints>span.warn{background:#ffffff1f}.spring-v2-flip-metrics small,.spring-v2-flip-hints small{color:var(--v2-muted);font-size:11px;font-weight:780}.spring-v2-flip-hints small{color:#ffffffc2}.spring-v2-flip-metrics b,.spring-v2-flip-hints b{min-width:0;overflow:hidden;color:#24372d;font-size:14px;font-weight:820;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.spring-v2-flip-hints b{color:#fff;font-size:16px}.spring-v2-flip-prompt{color:#4d6156;font-size:13px;font-weight:760}.spring-v2-flip-back .spring-v2-flip-prompt{color:#ffffffd1}.spring-v2-flip-context{min-width:0;display:grid;align-content:center;gap:12px;padding:28px;border:1px solid var(--v2-line);border-radius:30px;background:#ffffffbd;box-shadow:var(--v2-shadow);backdrop-filter:blur(20px) saturate(1.08);-webkit-backdrop-filter:blur(20px) saturate(1.08)}.spring-v2-flip-context>span{width:fit-content;padding:7px 10px;border-radius:999px;background:#ebf8eee6;color:var(--v2-green-dark);font-size:12px;font-weight:820}.spring-v2-flip-context h2{max-width:13em;margin:0;color:#17251e;font-size:clamp(28px,3.1vw,42px);line-height:1.08;font-weight:860}.spring-v2-flip-context p{max-width:34rem;margin:0;color:var(--v2-muted);font-size:16px;line-height:1.6}.spring-v2-flip-context dl,.spring-v2-facts{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.spring-v2-flip-context dl div,.spring-v2-facts div{min-width:0;padding:10px 11px;border:1px solid rgba(30,48,38,.08);border-radius:14px;background:#ffffff94}.spring-v2-flip-context dt,.spring-v2-facts dt{margin:0 0 4px;color:var(--v2-muted);font-size:12px;font-weight:760}.spring-v2-flip-context dd,.spring-v2-facts dd{overflow:hidden;margin:0;color:#24372d;font-size:14px;font-weight:820;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}@keyframes spring-v2-hint-pop{0%{opacity:0;transform:translateY(12px) scale(.94)}54%{opacity:1;transform:translateY(-3px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}.spring-v2-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(232px,var(--v2-side-width));gap:var(--v2-workspace-gap);align-items:start}.spring-v2-side-panel,.spring-v2-main-panel{min-width:0;border-radius:28px}.spring-v2-side-panel{position:sticky;top:110px;display:grid;gap:10px;padding:12px}.spring-v2-main-panel{min-height:720px;overflow:hidden;padding:16px}.spring-v2-panel-title,.spring-v2-section-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.spring-v2-panel-title{align-items:center;justify-content:flex-start;gap:10px}.spring-v2-panel-title>svg{flex:0 0 auto;width:36px;height:36px;padding:9px;border-radius:12px;color:var(--v2-green-dark);background:#eaf9eddb}.spring-v2-panel-title h2,.spring-v2-section-head h2{margin:0;color:#1d2d24;font-size:22px;line-height:1.1}.spring-v2-panel-title p,.spring-v2-section-head p{margin:5px 0 0;color:var(--v2-muted);font-size:12px;line-height:1.45}.spring-v2-perspectives,.spring-v2-selected{display:grid;gap:12px}.spring-v2-perspectives-compact{display:none}.spring-v2-perspective-list{display:grid;gap:8px}.spring-v2-perspective-list button{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;min-height:56px;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-areas:"icon label" "icon desc";align-items:center;gap:2px 8px;padding:9px;border:1px solid transparent;border-radius:16px;background:transparent;color:#293d33;text-align:left}.spring-v2-perspective-list button svg{grid-area:icon;width:30px;height:30px;padding:7px;border-radius:10px;color:var(--v2-green-dark);background:#edf8efe6}.spring-v2-perspective-list span{grid-area:label;font-size:14px;font-weight:840}.spring-v2-perspective-list small{grid-area:desc;overflow:hidden;color:var(--v2-muted);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.spring-v2-perspective-list button:hover,.spring-v2-perspective-list button.active{border-color:#2f946129;background:#f9fdf9e6}.spring-v2-selected{padding-top:16px;border-top:1px solid var(--v2-line)}.spring-v2-selected-score{display:flex;align-items:end;gap:10px}.spring-v2-selected-score strong{color:var(--v2-green-dark);font-size:58px;line-height:.95}.spring-v2-selected-score span{margin-bottom:5px;color:#365044;font-size:15px;font-weight:820}.spring-v2-selected>p{margin:0;color:#405148;font-size:14px;line-height:1.62}.spring-v2-window-note,.spring-v2-destination-card .window-note{margin:0;padding:8px 10px;border-radius:12px;background:#fff8e2c7;color:#6a5527;font-size:12px;font-style:normal;font-weight:720;line-height:1.45}.spring-v2-tag-row,.chips{display:flex;flex-wrap:wrap;gap:7px}.spring-v2-tag-row span,.chips i{padding:6px 9px;border-radius:999px;background:#ebf8eed1;color:#305542;font-size:12px;font-style:normal;font-weight:760}.spring-v2-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.spring-v2-view-tabs{display:inline-flex;gap:6px;margin-bottom:18px;padding:5px;border:1px solid rgba(28,47,37,.08);border-radius:999px;background:#f7f9f8cc}.spring-v2-view-tabs button{height:42px;min-width:104px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border-radius:999px;font-weight:780}.spring-v2-view-tabs svg{width:18px;height:18px}.spring-v2-view-tabs button.active{color:var(--v2-green-dark);background:#ffffffeb;box-shadow:0 10px 24px #19342414}.spring-v2-calendar,.spring-v2-destinations,.spring-v2-map-view,.spring-v2-watch{min-width:0}.spring-v2-calendar-head{align-items:flex-start}.spring-v2-calendar-pager{min-width:0;min-height:34px;display:grid;grid-template-columns:32px minmax(76px,auto) 32px;align-items:center;gap:4px;padding:1px 2px;border:0;border-radius:999px;background:transparent;box-shadow:none}.spring-v2-calendar-pager button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#2a49379e;transition:background .12s ease,color .12s ease,opacity .12s ease}.spring-v2-calendar-pager button:not(:disabled):hover{background:#2f946114;color:var(--v2-green-dark)}.spring-v2-calendar-pager button:disabled{cursor:not-allowed;opacity:.28;background:transparent;color:#8a9690}.spring-v2-calendar-pager button:focus-visible{outline:2px solid rgba(47,148,97,.2);outline-offset:2px}.spring-v2-calendar-pager svg{width:16px;height:16px}.spring-v2-calendar-page-state{min-width:0;display:inline-block;padding:0 3px;color:#294237b8;text-align:center}.spring-v2-calendar-page-state strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spring-v2-calendar-page-state strong{font-size:12px;font-weight:800}.spring-v2-score-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;color:#526058;font-size:12px;font-weight:760}.spring-v2-score-legend span{display:inline-flex;align-items:center;gap:5px}.spring-v2-score-legend i{width:22px;height:8px;border-radius:999px;border:1px solid rgba(45,65,54,.08)}.spring-v2-score-legend .excellent,.spring-v2-day-cell.excellent:before{background:linear-gradient(135deg,#399b6df2,#9bdaabe0)}.spring-v2-score-legend .strong,.spring-v2-day-cell.strong:before{background:linear-gradient(135deg,#73b277eb,#cde4a2db)}.spring-v2-score-legend .good,.spring-v2-day-cell.good:before{background:linear-gradient(135deg,#ddcd7ae6,#e3dfa8d1)}.spring-v2-score-legend .soft,.spring-v2-day-cell.soft:before{background:linear-gradient(135deg,#decaaad1,#e4e0d2c7)}.spring-v2-score-legend .low,.spring-v2-day-cell.low:before{background:linear-gradient(135deg,#c4c2c1d6,#e0deddc7)}.spring-v2-calendar-scroll{max-width:100%;margin-top:16px;overflow-x:auto;overflow-y:hidden;border:1px solid rgba(30,48,38,.11);border-radius:22px;background:#f7fbf89e;scrollbar-width:thin;scrollbar-color:rgba(42,96,70,.28) transparent}.spring-v2-calendar-footer{min-width:0;display:flex;justify-content:center;padding-top:9px}.spring-v2-calendar-footer .spring-v2-calendar-pager{width:auto}.spring-v2-calendar-grid{--city-col: 146px;--day-col: minmax(74px, 1fr);min-width:668px;display:grid;grid-template-columns:var(--city-col) repeat(var(--days),var(--day-col))}.spring-v2-calendar-corner,.spring-v2-calendar-date,.spring-v2-city-head,.spring-v2-day-cell{min-width:0;min-height:66px;border-right:1px solid rgba(30,48,38,.09);border-bottom:1px solid rgba(30,48,38,.09)}.spring-v2-calendar-corner,.spring-v2-calendar-date{display:grid;place-items:center;color:#314439;background:#ffffffa3;font-weight:820}.spring-v2-calendar-corner,.spring-v2-city-head{position:sticky;left:0;z-index:2;box-shadow:10px 0 20px #1f3a2b0a}.spring-v2-calendar-corner{z-index:3;justify-items:start;padding:0 14px}.spring-v2-calendar-date{gap:2px;padding:9px 6px;text-align:center}.spring-v2-calendar-date span{font-size:14px}.spring-v2-calendar-date small{color:var(--v2-muted);font-size:12px;font-weight:720}.spring-v2-city-head{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;align-content:center;gap:5px;padding:10px 14px;border-top:0;border-left:0;background:#ffffffd6;color:#24372d;text-align:left}.spring-v2-city-head.active{color:#143c27;background:#eff9f1f0;box-shadow:10px 0 22px #1f3a2b12,inset 4px 0 #2f946175}.spring-v2-city-head strong,.spring-v2-city-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spring-v2-city-head strong{font-size:14px}.spring-v2-city-head small{color:var(--v2-muted);font-size:12px;font-weight:720}.spring-v2-day-cell{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;place-items:center;padding:0;border-top:0;border-left:0;color:#172d20d1;background:#eef7f14d}.spring-v2-day-cell.empty{cursor:default;background:linear-gradient(135deg,#eff4f18f,#f7f9f747)}.spring-v2-day-cell:not(.empty):before{content:"";position:absolute;top:13px;right:-1px;bottom:13px;left:-1px;opacity:.92}.spring-v2-day-cell.rest-day:before{opacity:.72;background:repeating-linear-gradient(135deg,#d8b26061 0,#d8b26061 6px,#fff9e5bd 6px,#fff9e5bd 12px)}.spring-v2-day-cell.start:before{left:12px;border-radius:999px 0 0 999px}.spring-v2-day-cell.end:before{right:12px;border-radius:0 999px 999px 0}.spring-v2-day-cell.start.end:before{border-radius:999px}.spring-v2-day-cell>span{position:relative;z-index:1;width:10px;height:10px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:#43524870;box-shadow:0 0 0 1px #1f392914,0 2px 6px #1f39292e}.spring-v2-day-cell strong{position:absolute;z-index:1;right:9px;bottom:8px;color:#1d3025ad;font-size:12px}.spring-v2-day-cell em{position:absolute;z-index:1;left:8px;bottom:7px;color:#7b5d1e;font-size:11px;font-style:normal;font-weight:840}.spring-v2-calendar-grid.has-detail .spring-v2-day-cell.active{z-index:1;box-shadow:inset 0 0 0 2px #2f94617a,0 12px 24px #19342414}.spring-v2-calendar-detail-row{grid-column:1 / -1;position:sticky;left:0;z-index:4;min-width:0;overflow:hidden;display:grid;grid-template-rows:0fr;padding:0 12px;border-right:1px solid rgba(30,48,38,.09);border-bottom:1px solid transparent;background:linear-gradient(180deg,#f0f9f4eb,#fafdfab8),#ffffff8f;opacity:0;scroll-margin-block:96px 20px;transform:translateY(-6px);transition:grid-template-rows .26s cubic-bezier(.2,.84,.2,1),padding .26s cubic-bezier(.2,.84,.2,1),opacity .18s ease,transform .26s cubic-bezier(.2,.84,.2,1),border-color .18s ease}.spring-v2-calendar-detail-row.open{grid-template-rows:1fr;padding:10px 12px 14px;border-bottom-color:#1e302617;opacity:1;transform:translateY(0)}.spring-v2-calendar-detail-row.entering,.spring-v2-calendar-detail-row.closing{pointer-events:none}.spring-v2-calendar-detail{display:grid;grid-template-columns:minmax(156px,.72fr) minmax(0,1fr) minmax(0,1.24fr);grid-template-areas:"summary summary summary" "verdict data data";gap:16px 18px;min-width:0;min-height:0;overflow:hidden;margin:0;padding:17px;border:1px solid rgba(255,255,255,.56);border-radius:20px;background:linear-gradient(135deg,#ffffffe0,#f4fbf7c2),#ffffffb8;box-shadow:0 12px 34px #19342411;color:var(--v2-ink);backdrop-filter:blur(14px) saturate(1.06);-webkit-backdrop-filter:blur(14px) saturate(1.06);animation:spring-v2-detail-in .16s ease-out both}.spring-v2-calendar-detail-summary{grid-area:summary;min-width:0;display:grid;grid-template-columns:minmax(176px,.76fr) minmax(0,1.5fr);align-items:stretch;border:1px solid rgba(47,148,97,.1);border-radius:18px;background:linear-gradient(135deg,#e2f7e8d1,#ffffffb8),#ffffffb3;overflow:hidden}.spring-v2-calendar-detail-head{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 19px 17px}.spring-v2-calendar-detail-head div{min-width:0;display:grid;align-content:start;gap:6px;min-height:100%}.spring-v2-calendar-detail-head span{width:fit-content;padding:3px 8px;border-radius:999px;background:#2f94611a;color:var(--v2-green-dark);font-size:11px;font-weight:820}.spring-v2-calendar-detail-head strong,.spring-v2-calendar-detail-head small{min-width:0;overflow-wrap:normal;word-break:keep-all}.spring-v2-calendar-detail-head strong{color:#14241b;font-size:20px;font-weight:860;line-height:1.12}.spring-v2-calendar-detail-head small{color:var(--v2-muted);font-size:12px;font-weight:720}.spring-v2-calendar-detail-conclusion{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding:18px 19px 17px;border-left:1px solid rgba(47,148,97,.1)}.spring-v2-calendar-detail-weather{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:9px;background:#ffffff6b;font-size:14px;opacity:.72}.spring-v2-calendar-detail-verdict{min-width:0;display:grid;gap:7px}.spring-v2-calendar-detail-verdict span,.spring-v2-calendar-detail-verdict strong,.spring-v2-calendar-detail-stay{min-width:0;overflow-wrap:normal;word-break:keep-all}.spring-v2-calendar-detail-verdict span{display:inline-flex;align-items:center;gap:7px;color:#14362485;font-size:12px;font-weight:680}.spring-v2-calendar-detail-verdict strong{color:#143624;font-size:31px;font-weight:880;line-height:.98;font-variant-numeric:tabular-nums}.spring-v2-calendar-detail-stay{align-self:start;justify-self:end;padding:4px 8px;border-radius:999px;background:#ffffff61;color:#263f3185;font-size:11px;font-weight:680;white-space:nowrap}.spring-v2-calendar-detail-verdicts{grid-area:verdict;align-self:start;min-width:0;display:grid;gap:8px;padding:2px 0}.spring-v2-calendar-detail .spring-v2-window-note{grid-column:1 / -1}.spring-v2-calendar-detail-verdicts span{min-height:22px;display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;padding:3px 8px 3px 5px;border-radius:999px;font-size:12px;font-weight:760;line-height:1.2;white-space:nowrap}.spring-v2-calendar-detail-verdicts em{flex:0 0 auto;min-width:28px;padding:1px 5px;border-radius:999px;background:#ffffff57;color:#5260589e;font-size:10px;font-style:normal;font-weight:760;text-align:center}.spring-v2-calendar-detail-verdicts .positive{border:1px solid rgba(47,148,97,.1);background:#e5f7ea52;color:#236442e0}.spring-v2-calendar-detail-verdicts .warning{border:1px solid rgba(166,126,54,.12);background:#fff8e56b;color:#826126e6}.spring-v2-calendar-detail-data{grid-area:data;min-width:0;display:grid;grid-template-columns:1fr;gap:12px;padding:15px 17px 16px;border:1px solid rgba(29,48,38,.065);border-radius:18px;background:#ffffff75}.spring-v2-calendar-detail-data>h3{grid-column:1 / -1;margin:0 0 12px;color:#263f319e;font-size:12px;font-weight:760;letter-spacing:0;word-break:keep-all}.spring-v2-calendar-detail-section{min-width:0;display:grid;grid-template-columns:minmax(72px,.34fr) minmax(0,1fr);gap:12px;align-items:start;padding:0;border:0;border-radius:0;background:transparent}.spring-v2-calendar-detail-section+.spring-v2-calendar-detail-section{padding-top:12px;border-top:1px solid rgba(29,48,38,.065)}.spring-v2-calendar-detail-section h3{margin:0;color:#263f31a8;font-size:12px;font-weight:740;line-height:1.2;white-space:nowrap;word-break:keep-all}.spring-v2-calendar-detail-section dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:10px 12px;margin:0}.spring-v2-calendar-detail-section dl div{display:grid;gap:4px;align-items:start;min-width:0}.spring-v2-calendar-detail-section dt{min-width:0;display:inline-flex;align-items:center;gap:4px;color:#5260589e;font-size:10.5px;font-weight:650;line-height:1.2;white-space:nowrap;word-break:keep-all}.spring-v2-calendar-detail-section dt span{min-width:0;overflow-wrap:normal;word-break:keep-all}.spring-v2-calendar-detail-info{flex:0 0 auto;width:17px;height:17px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#526058bd;font:inherit;font-size:11px;line-height:1;cursor:help}.spring-v2-calendar-detail-info:hover,.spring-v2-calendar-detail-info:focus-visible{background:#1d302614;color:#263f31;outline:none}.spring-v2-calendar-detail-section dd{justify-self:start;margin:0;color:#172b20;font-size:15.5px;font-weight:880;text-align:left;line-height:1.12;white-space:nowrap;font-variant-numeric:tabular-nums}.spring-v2-calendar-detail-section small{color:#526058c2;font-size:10px;font-weight:680;line-height:1.28;white-space:nowrap;word-break:keep-all}.spring-v2-calendar-detail-empty{margin:0;color:var(--v2-muted);font-size:13px;line-height:1.55}@keyframes spring-v2-detail-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.spring-v2-search{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--v2-line);border-radius:18px;background:#ffffffb8}.spring-v2-search svg{width:20px;height:20px;color:var(--v2-green-dark)}.spring-v2-search input{min-width:0;border:0;outline:none;background:transparent;color:var(--v2-ink);font-size:15px}.spring-v2-search span{color:var(--v2-muted);font-size:13px;font-weight:760}.spring-v2-destination-list{display:grid;gap:9px}.spring-v2-destination-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) 72px;align-items:center;gap:12px;min-height:104px;padding:12px;border:1px solid transparent;border-radius:20px;background:#ffffff7a;color:#22342a;text-align:left}.spring-v2-destination-card:hover,.spring-v2-destination-card.active{border-color:#2f946129;background:#f9fdf9eb;box-shadow:0 12px 28px #19342414}.spring-v2-destination-card .rank{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--v2-green-dark);background:#e9f7ece6;font-weight:840}.spring-v2-destination-card .body{min-width:0;display:grid;gap:6px}.spring-v2-destination-card strong{min-width:0;display:flex;align-items:baseline;gap:8px;font-size:18px}.spring-v2-destination-card small{overflow:hidden;color:var(--v2-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.spring-v2-destination-card em{overflow:hidden;color:#405148;font-size:13px;font-style:normal;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.spring-v2-destination-card.rest-day{border-color:#b18e3e2e;background:#fffcf2a8}.spring-v2-destination-card .window-note{display:block;overflow:visible;color:#6a5527;-webkit-line-clamp:unset}.spring-v2-destination-card .score{justify-self:end;display:grid;justify-items:end;gap:3px}.spring-v2-destination-card .score b{color:var(--v2-green-dark);font-size:30px;line-height:1}.spring-v2-destination-card .score.low b{color:#8a7770}.spring-v2-map-view{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;min-height:640px}.spring-v2-map-canvas{min-height:640px;overflow:hidden;border:1px solid var(--v2-line);border-radius:24px;background:#ffffff9e}.spring-v2-map-detail{min-width:0;display:grid;align-content:start;gap:14px;padding:18px;border:1px solid var(--v2-line);border-radius:24px;background:#ffffff9e}.spring-v2-map-detail strong{color:var(--v2-green-dark);font-size:30px;line-height:1.1}.spring-v2-map-detail p{margin:0;color:#405148;font-size:14px;line-height:1.58}.spring-v2-watch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.spring-v2-watch-bucket{min-width:0;display:grid;align-content:start;gap:8px;padding:14px;border:1px solid var(--v2-line);border-radius:22px;background:#ffffff8f}.spring-v2-watch-bucket>div{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px}.spring-v2-watch-bucket svg{width:34px;height:34px;padding:8px;border-radius:12px;color:var(--v2-green-dark);background:#edf8efe6}.spring-v2-watch-bucket h3{margin:0;font-size:17px}.spring-v2-watch-bucket b{color:var(--v2-green-dark)}.spring-v2-watch-bucket button{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;display:grid;gap:5px;padding:12px;border:1px solid transparent;border-radius:16px;background:#ffffff8f;color:#22342a;text-align:left}.spring-v2-watch-bucket button:hover{border-color:#2f946129;background:#f9fdf9f0}.spring-v2-watch-bucket button strong{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:15px}.spring-v2-watch-bucket button small,.spring-v2-watch-bucket button span{color:var(--v2-muted);font-size:12px;font-weight:760}.spring-v2-watch-bucket button em,.spring-v2-watch-bucket>p{overflow:hidden;margin:0;color:#405148;font-size:12px;font-style:normal;line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media(max-width:1180px){.spring-v2-topbar{grid-template-columns:minmax(0,1fr) minmax(180px,auto);grid-template-areas:"brand status" "modes modes";gap:10px 14px;padding:12px 14px;border-radius:24px}.spring-v2-brand-group,.spring-v2-topbar>.spring-v2-view-tabs{justify-self:stretch}.spring-v2-topbar>.spring-v2-view-tabs{width:100%;margin-bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.spring-v2-topbar>.spring-v2-view-tabs button{min-width:0}.spring-v2-status{justify-self:end;justify-content:flex-end;max-width:220px}.spring-v2-origin-selector{width:min(100%,220px)}.spring-v2-origin-menu{left:auto;right:0}.spring-v2-hero,.spring-v2-cockpit,.spring-v2-workspace,.spring-v2-map-view{grid-template-columns:1fr}.spring-v2-hero{align-items:stretch;gap:18px}.spring-v2-side-panel{position:static}.spring-v2-side-panel .spring-v2-perspectives-panel{display:none}.spring-v2-perspectives-compact{display:grid;gap:8px;margin-top:12px;margin-bottom:0}.spring-v2-perspectives-compact .spring-v2-panel-title{display:grid;gap:2px}.spring-v2-perspectives-compact .spring-v2-panel-title h2{color:#243a2c;font-size:15px;line-height:1.18}.spring-v2-perspectives-compact .spring-v2-panel-title p{margin:0;color:#526058b8;font-size:11.5px;font-weight:680;line-height:1.35}.spring-v2-perspectives-compact .spring-v2-perspective-list{display:flex;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:2px;margin:0 -2px;scrollbar-width:none}.spring-v2-perspectives-compact+.spring-v2-calendar-scroll{margin-top:10px}.spring-v2-perspectives-compact .spring-v2-perspective-list::-webkit-scrollbar{display:none}.spring-v2-perspectives-compact .spring-v2-perspective-list button{flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border-color:#1d302614;border-radius:999px;background:#ffffff94;color:#263d31c7;white-space:nowrap;box-shadow:none}.spring-v2-perspectives-compact .spring-v2-perspective-list button.active{border-color:#2f946147;background:#ebf9efeb;color:var(--v2-green-dark);box-shadow:inset 0 0 0 1px #2f946114}.spring-v2-perspectives-compact .spring-v2-perspective-list span{font-size:13px;font-weight:820}.spring-v2-perspective-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.spring-v2-page{padding:8px 10px 28px;background-attachment:scroll}.spring-v2-topbar{top:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand status" "modes modes";padding:10px;border-radius:22px;gap:8px 10px}.spring-v2-brand strong{font-size:20px}.spring-v2-brand-group{min-width:0;gap:7px}.spring-v2-brand{gap:9px}.spring-v2-brand span{width:36px;height:36px;border-radius:12px}.spring-v2-title-refresh{width:26px;height:26px}.spring-v2-title-refresh svg{width:13px;height:13px}.spring-v2-refresh-note{left:calc(100% + 7px);right:auto;top:50%;max-width:86px;overflow:hidden;border-radius:999px;text-overflow:ellipsis;transform:translateY(-50%);white-space:nowrap}.spring-v2-view-tabs{scrollbar-width:none}.spring-v2-mode-switch{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.spring-v2-view-tabs::-webkit-scrollbar{display:none}.spring-v2-mode-switch button{min-width:0;min-height:58px;gap:3px 6px;padding:9px 8px}.spring-v2-mode-switch button small{font-size:11px;white-space:normal}.spring-v2-mode-switch button em{font-size:10px;white-space:normal}.spring-v2-mode-switch button span{font-size:14px}.spring-v2-mode-switch button svg{width:18px;height:18px}.spring-v2-status{justify-self:end;justify-content:flex-end;max-width:min(160px,42vw)}.spring-v2-origin-selector{width:100%}.spring-v2-origin-trigger{width:100%;height:36px;gap:5px;padding:0 8px}.spring-v2-origin-trigger>svg{width:14px;height:14px}.spring-v2-origin-trigger small{display:none}.spring-v2-origin-trigger b{font-size:13px}.spring-v2-origin-menu{position:fixed;top:72px;right:12px;left:12px;width:auto;max-height:min(560px,72vh)}.spring-v2-mode-copy{overflow:hidden;font-size:12px;line-height:1.35;text-align:left;text-overflow:ellipsis;white-space:nowrap}.spring-v2-hero{margin-top:10px;gap:12px}.spring-v2-mode-advice{grid-template-columns:minmax(0,1fr) 24px;align-items:start;margin:12px auto 10px}.spring-v2-mode-advice p{grid-column:1 / -1}.spring-v2-mode-advice-dismiss{grid-column:2;grid-row:1}.spring-v2-hero-copy{gap:14px;padding:16px 6px 2px;border-radius:24px}.spring-v2-hero-copy h1{max-width:none;font-size:34px;line-height:1.08}.spring-v2-hero-copy p{overflow:hidden;font-size:14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.spring-v2-strategy-deck{min-height:0;width:100%;padding:10px;border-radius:28px}.spring-v2-deck-card{aspect-ratio:1;border-radius:24px}.spring-v2-deck-content{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px}.spring-v2-deck-place span{padding:6px 9px;font-size:12px}.spring-v2-deck-place strong{font-size:30px;line-height:1.02}.spring-v2-deck-place small{font-size:12px}.spring-v2-deck-score b{font-size:44px}.spring-v2-deck-score em{padding:6px 9px;font-size:12px}.spring-v2-deck-deltas{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.spring-v2-deck-delta-caption{padding:3px 7px;font-size:10px}.spring-v2-deck-delta-chip{padding:6px 7px;border-radius:12px}.spring-v2-deck-delta-chip small{font-size:10px}.spring-v2-deck-delta-chip b{gap:3px;font-size:11px}.spring-v2-deck-delta-chip b i,.spring-v2-deck-delta-chip b em{font-size:9px}.spring-v2-deck-delta-chip b em{padding:2px 4px}.spring-v2-deck-facts{grid-template-columns:minmax(0,1fr) minmax(82px,.42fr)}.spring-v2-deck-facts span,.spring-v2-deck-metrics span{padding:7px;border-radius:12px}.spring-v2-deck-facts small,.spring-v2-deck-metrics small{font-size:10px}.spring-v2-deck-facts b,.spring-v2-deck-metrics b{font-size:12px}.spring-v2-deck-blind-strip{gap:7px;padding:6px 8px}.spring-v2-side-panel,.spring-v2-main-panel{border-radius:22px}.spring-v2-main-panel,.spring-v2-side-panel{padding:14px}.spring-v2-main-panel{order:1;min-height:0}.spring-v2-side-panel{order:2}.spring-v2-perspective-list,.spring-v2-watch-grid{grid-template-columns:1fr}.spring-v2-view-tabs{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:100%;overflow:visible}.spring-v2-view-tabs button{min-width:0;height:40px;gap:4px;padding:0 4px;font-size:13px}.spring-v2-view-tabs svg{width:16px;height:16px}.spring-v2-view-tabs span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spring-v2-section-head{display:grid;justify-content:stretch}.spring-v2-calendar-pager{width:auto;grid-template-columns:40px minmax(84px,auto) 40px}.spring-v2-calendar-pager button{width:40px;height:40px}.spring-v2-calendar-page-state{text-align:center}.spring-v2-score-legend{justify-content:flex-start}.spring-v2-calendar-grid{--city-col: 138px;--day-col: minmax(70px, 1fr);min-width:628px}.spring-v2-calendar-corner,.spring-v2-calendar-date,.spring-v2-city-head,.spring-v2-day-cell{min-height:58px}.spring-v2-city-head{padding:9px 11px}.spring-v2-day-cell:not(.empty):before{top:11px;right:-1px;bottom:11px;left:-1px}.spring-v2-calendar-detail-row{width:calc(100vw - 52px);padding:0 9px;scroll-margin-block:84px 16px}.spring-v2-calendar-detail-row.open{padding:9px}.spring-v2-calendar-detail{padding:13px;gap:13px;grid-template-columns:1fr;grid-template-areas:"summary" "verdict" "data";border-radius:20px}.spring-v2-calendar-detail-summary{grid-template-columns:1fr}.spring-v2-calendar-detail-head{padding:13px 12px 0}.spring-v2-calendar-detail-head strong{font-size:18px}.spring-v2-calendar-detail-conclusion{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 12px;border-left:0}.spring-v2-calendar-detail-weather{width:20px;height:20px;border-radius:8px;font-size:13px}.spring-v2-calendar-detail-verdict strong{font-size:28px}.spring-v2-calendar-detail-stay{padding:4px 7px;font-size:11px}.spring-v2-calendar-detail-verdicts span{width:fit-content}.spring-v2-calendar-detail-data{grid-template-columns:1fr;gap:15px;padding:15px 14px}.spring-v2-calendar-detail-data>h3{margin-bottom:0}.spring-v2-calendar-detail-section{grid-template-columns:1fr;gap:10px}.spring-v2-calendar-detail-section+.spring-v2-calendar-detail-section{padding-top:15px;padding-left:0;border-top:1px solid rgba(29,48,38,.065);border-left:0}.spring-v2-destination-card{grid-template-columns:34px minmax(0,1fr)}.spring-v2-destination-card .score{grid-column:2;justify-self:start;grid-auto-flow:column;align-items:baseline;gap:7px}.spring-v2-map-canvas{min-height:420px}}@media(prefers-reduced-motion:reduce){.spring-v2-page *,.spring-v2-page *:before,.spring-v2-page *:after{transition-duration:1ms!important;animation-duration:1ms!important;scroll-behavior:auto!important}}:root{--bg: #eef5ec;--paper: rgba(255, 255, 255, .86);--paper-strong: rgba(255, 255, 255, .94);--ink: #1f2a24;--muted: #657469;--line: rgba(184, 205, 189, .58);--green: #2f7d5b;--blue: #3f728d;--amber: #a46f2a;--soft-blue: rgba(231, 242, 247, .86);--shadow: 0 18px 48px rgba(28, 54, 39, .13);--hero-y: 0px;--hero-scale: 1;--hero-opacity: 1;--condition-y: 0px;--condition-scale: 1;--tabs-width: 100%;--tabs-y: 0px;--tabs-pad-y: 4px;--tabs-pad-x: 0px;--tabs-radius: 8px;--tabs-bg-alpha: 0;--tabs-border-alpha: 0;--tabs-shadow-alpha: 0;--tab-radius: 8px;--tab-scale: 1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);background:linear-gradient(180deg,#eef6eaf5,#f5f8f1f0 42%,#ecf4ebf5);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.55;position:relative;isolation:isolate}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:linear-gradient(90deg,#091c122e,#ffffff2e 42%,#0a1f131f),url(/assets/hangzhou-spring-bg.jpg);background-size:cover;background-position:center;opacity:.24;filter:saturate(1.12) brightness(1.12)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,#f6faf3d1,#f6faf3a3 36%,#eef7ebd1)}button{font:inherit}.page{max-width:1180px;margin:0 auto;padding:30px 20px 56px}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(306px,360px);gap:16px;align-items:end;padding:34px 0 0}.loading-hero{min-height:420px}.hero-content{display:grid;grid-template-rows:auto auto;align-content:start;gap:14px;min-width:0}.motion-ready .hero-content{opacity:var(--hero-opacity);transform:translate3d(0,var(--hero-y),0) scale(var(--hero-scale));transform-origin:top left;will-change:transform,opacity}.hero-heading-frame{position:relative;display:inline-block;justify-self:start;width:fit-content;max-width:100%;padding-right:0}.hero-heading{max-width:100%;text-align:left}.title-lockup{position:relative;display:inline-flex;align-items:flex-start;width:fit-content;max-width:100%;padding-right:25px}h1{margin:0;font-size:clamp(36px,6vw,68px);line-height:1.05;letter-spacing:0;font-weight:780;text-shadow:0 2px 18px rgba(255,255,255,.78)}.subtitle{margin:10px 0 0;color:#41554a;font-size:18px;text-shadow:0 1px 12px rgba(255,255,255,.82)}.refresh-badge-wrap{position:absolute;top:6px;right:0;display:inline-grid;place-items:center;z-index:5}.refresh-badge{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;display:grid;place-items:center;border:1px solid rgba(47,125,91,.24);border-radius:50%;background:#f9fdf761;color:#2d6d50;line-height:0;padding:0;box-shadow:none;cursor:pointer}.refresh-popover{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);display:inline-flex;align-items:flex-start;gap:8px;width:max-content;max-width:320px;padding:8px 8px 8px 10px;border:1px solid rgba(47,125,91,.18);border-radius:8px;background:#f9fdf7f0;color:#315142;font-size:13px;line-height:1.4;box-shadow:0 10px 24px #36574124}.refresh-popover.warning{border-color:#9a5d293d;background:#fff8ecf5;color:#7a4f25}.refresh-popover-text{min-width:0;white-space:normal}.refresh-popover-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:currentColor;padding:0;cursor:pointer}.refresh-popover-close:hover{background:#2f483914}.refresh-popover-close svg{width:12px;height:12px;stroke-width:2.4}.refresh-badge:hover:not(:disabled){border-color:#2f7d5b70;background:#f9fdf7ad}.refresh-badge:disabled{cursor:wait;opacity:.72}.refresh-badge.error{color:#9a5d29;border-color:#9a5d2957}.refresh-badge-icon{display:block;width:10px;height:10px;stroke-width:2.5;margin:0}.refresh-badge.refreshing .refresh-badge-icon{animation:refresh-spin .85s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.mode{display:flex;flex-direction:column;align-items:stretch;aspect-ratio:1.618 / 1;min-height:0;border:1px solid var(--line);border-radius:8px;padding:clamp(10px,1.18vw,14px);background:var(--paper);color:inherit;cursor:pointer;text-align:left;box-shadow:0 8px 26px #2a463214}.mode.active{border-color:#2f7d5b75;background:linear-gradient(180deg,#e8f6e3f5,#f4faefe0)}.mode b{display:flex;align-items:center;gap:8px;min-height:26px;line-height:1}.mode-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:16px}.mode-label{color:#24382b;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:clamp(18px,1.7vw,22px);font-weight:700;line-height:1.15}.mode>span{color:var(--muted);font-size:clamp(11px,1.05vw,12px);line-height:1.48;margin-top:8px}.mode em{color:var(--green);font-size:clamp(12px,1.05vw,13px);line-height:1.45;font-style:normal;margin-top:auto;padding-top:8px}.criteria-rail{position:relative;display:grid;grid-template-rows:auto auto;align-content:start;gap:12px;align-self:end;min-width:0;min-height:0;height:auto;padding:15px 16px 14px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#ffffff85;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 8px 26px #2a46320f}.motion-ready .criteria-rail{transform:translate3d(0,var(--condition-y),0) scale(var(--condition-scale));transform-origin:top right;will-change:transform}.criteria-rail:before{content:none}.criteria-rail:after{content:none}.criteria-head,.criteria-body{position:relative;z-index:1}.criteria-head{display:grid;gap:4px}.criteria-kicker{display:block;color:#657469a3;font-size:12px;font-weight:720;line-height:1.3}.criteria-head strong{color:#213428c7;font-size:15px;line-height:1.28}dt{color:var(--muted);font-size:12px}dd{margin:2px 0 0;font-weight:650}.criteria-body{display:grid;gap:9px}.criteria-copy{color:#374c3fc7;font-size:12.5px;font-weight:610;line-height:1.56}.criteria-note{min-width:0;margin:0;color:#485c4fb8;font-size:11.5px;font-weight:600;line-height:1.55}.criteria-details{border-top:1px dashed rgba(47,125,91,.18);padding-top:7px}.criteria-details summary{width:fit-content;color:#2f6c51;cursor:pointer;font-size:11.5px;font-weight:760;line-height:1.4}.criteria-details p{margin:7px 0 0;color:#485c4fb8;font-size:11.5px;line-height:1.5}.section{margin-top:18px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;-webkit-backdrop-filter:blur(16px) saturate(1.06);backdrop-filter:blur(16px) saturate(1.06)}.contrast-section{margin-top:14px;overflow:hidden}.pk-board{display:grid;grid-template-columns:minmax(260px,1fr) minmax(118px,.28fr) minmax(260px,1fr);gap:0;align-items:stretch;padding:12px}.pk-card,.pk-compare-panel{min-width:0;border:1px solid rgba(162,191,166,.76);background:#fbfdf9b8}.pk-card{position:relative;min-height:258px;display:grid;align-content:space-between;gap:10px;isolation:isolate;overflow:hidden;padding:16px}.pk-local-card{border-radius:8px 0 0 8px;background:radial-gradient(circle at 0% 0%,rgba(255,255,255,.88),transparent 34%),#fafcf8c2}.pk-target-card{border-radius:0 8px 8px 0;background:radial-gradient(circle at 100% 0%,rgba(243,250,239,.96),transparent 36%),#f5fcf2e6;text-align:right}.pk-switch-card{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.pk-switch-card>*{position:relative;z-index:1}.pk-switch-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #4a845629,0 14px 30px #1f412b1a}.pk-switch-card:focus-visible{outline:3px solid rgba(65,129,96,.34);outline-offset:-7px}.pk-switch-card.is-cutting{pointer-events:none;animation:pk-card-cut-left .64s cubic-bezier(.2,.8,.22,1)}.pk-target-card.is-cutting{animation-name:pk-card-cut-right}.pk-switch-card.is-cutting .pk-card-stamp,.pk-switch-card.is-cutting .pk-place-stack,.pk-switch-card.is-cutting .pk-score-line,.pk-switch-card.is-cutting .pk-mini-metrics,.pk-switch-card.is-cutting .pk-next-stamp{animation:pk-card-ink-swap .64s ease both}.pk-ticket-top{display:flex;justify-content:space-between;gap:10px;color:#607166;font-size:11px;font-weight:820;letter-spacing:.02em}.pk-card-stamp{width:fit-content;display:inline-grid;grid-auto-flow:column;gap:7px;align-items:center;border:1px solid rgba(88,132,98,.28);border-radius:999px;padding:6px 10px;background:#ffffff94;color:#3c5d46;font-size:12px;font-weight:820;box-shadow:0 8px 18px #264c300f}.pk-card-stamp small{color:#829084;font-size:10px;font-weight:820}.pk-target-card .pk-card-stamp,.pk-target-card .pk-next-stamp{justify-self:end}.pk-card-stamp.role-highest{border-color:#be97545c;background:#f6efe0c7;color:#73592a}.pk-card-stamp.role-complete{border-color:#6297685c;background:#e7f5e5d1;color:#32633d}.pk-card-stamp.role-mode{border-color:#7e97755c;background:#edf2e9d1;color:#455f3e}.pk-place-stack strong{display:block;margin-top:1px;color:var(--ink);font-size:clamp(28px,3vw,40px);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pk-place-stack small{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:680;line-height:1.25}.pk-score-line{display:flex;align-items:baseline;gap:8px;color:#254532}.pk-score-line b{color:var(--ink);font-size:clamp(34px,4vw,52px);line-height:1}.pk-score-line span{color:#4b6b56;font-size:16px;font-weight:760}.pk-target-score b{color:#27583e}.pk-mini-metrics{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.pk-mini-metrics div{min-width:0;padding:8px;border:1px solid rgba(184,205,189,.58);border-radius:7px;background:#ffffff80}.pk-mini-metrics dt{color:#637367;font-size:10px;font-weight:720;line-height:1.1}.pk-mini-metrics dd{margin:3px 0 0;color:var(--ink);font-size:13px;font-weight:780;line-height:1.1;white-space:nowrap}.pk-next-stamp{width:fit-content;display:inline-flex;gap:7px;align-items:baseline;border-top:1px solid rgba(113,147,119,.34);padding-top:8px;color:#829084;font-size:11px;font-weight:760}.pk-next-stamp b{color:#3e6549;font-size:12px;font-weight:860}.pk-compare-panel{position:relative;display:grid;align-content:center;gap:12px;border-left:0;border-right:0;padding:14px 10px;background:linear-gradient(180deg,#f6fbf3eb,#e8f4e2d6);text-align:center}.pk-versus{display:grid;justify-items:center;gap:6px}.pk-versus span{color:#2e6743;font-size:34px;font-weight:860;letter-spacing:0;line-height:.95}.pk-versus small{color:#617266;font-size:10px;font-weight:840;letter-spacing:.08em;line-height:1.2;text-align:center}.pk-versus em{color:#516457c7;font-size:10px;font-style:normal;font-weight:680;line-height:1.25}.pk-stat-list{display:grid;gap:6px}.pk-stat-row{min-height:36px;display:grid;align-content:center;gap:2px;border-radius:999px;border:1px solid rgba(184,205,189,.62);padding:5px 8px;background:#ffffff9e;color:#2f5f43}.pk-stat-row span{color:#637367;font-size:10px;font-weight:720;line-height:1}.pk-stat-row b{color:#254532;font-size:13px;line-height:1.15;white-space:nowrap}@keyframes pk-card-cut-left{0%{transform:translateY(0) rotate(0) scale(1)}34%{transform:translate(-20px,-13px) rotate(-4deg) scale(.985)}62%{transform:translate(11px,6px) rotate(1.2deg) scale(1.012)}to{transform:translateY(0) rotate(0) scale(1)}}@keyframes pk-card-cut-right{0%{transform:translateY(0) rotate(0) scale(1)}34%{transform:translate(20px,-13px) rotate(4deg) scale(.985)}62%{transform:translate(-11px,6px) rotate(-1.2deg) scale(1.012)}to{transform:translateY(0) rotate(0) scale(1)}}@keyframes pk-card-ink-swap{0%,30%{opacity:1;filter:blur(0)}45%{opacity:0;filter:blur(5px)}62%{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.pk-switch-card,.pk-switch-card.is-cutting,.pk-switch-card.is-cutting .pk-card-stamp,.pk-switch-card.is-cutting .pk-place-stack,.pk-switch-card.is-cutting .pk-score-line,.pk-switch-card.is-cutting .pk-mini-metrics,.pk-switch-card.is-cutting .pk-next-stamp{animation:none;transition:none}}.tabs{display:flex;gap:8px;width:min(100%,var(--tabs-width));max-width:100%;margin:14px auto 0;overflow-x:auto;padding:var(--tabs-pad-y) var(--tabs-pad-x);position:sticky;top:10px;z-index:10;border:1px solid rgba(184,205,189,var(--tabs-border-alpha));border-radius:var(--tabs-radius);background:rgba(247,251,246,var(--tabs-bg-alpha));box-shadow:0 16px 38px rgba(28,54,39,var(--tabs-shadow-alpha));backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);transform:translate3d(0,var(--tabs-y),0);scrollbar-width:none;will-change:width,border-radius,padding,transform,background,box-shadow}.tabs-anchor{display:block;height:0}.tab-panel>.section{margin-top:14px}.tabs::-webkit-scrollbar{display:none}.tab-button{flex:0 0 auto;border:1px solid var(--line);border-radius:var(--tab-radius);padding:9px 14px;background:#ffffffb8;color:var(--muted);cursor:pointer;font-size:14px;font-weight:680;transform:scale(var(--tab-scale));transform-origin:center;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;will-change:transform,border-radius}.tab-button.active{color:var(--ink);background:linear-gradient(180deg,#e8f6e3fa,#fafdf8eb);border-color:#2f7d5b80;box-shadow:0 5px 16px #2a463214}.section-header{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:18px 20px;border-bottom:1px solid var(--line)}.section-header h2{margin:0;font-size:20px}.section-header p{margin:4px 0 0;color:var(--muted);font-size:14px}.overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:12px;padding:16px;align-items:start}.calendar-card,.top-picks{border:1px solid var(--line);border-radius:8px;background:#fbfdf9b8}.calendar-card{position:relative}.top-picks{overflow:hidden}.calendar-card-header,.top-picks-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:14px 16px;border-bottom:1px solid var(--line)}.calendar-card h3,.top-picks h3{margin:0;font-size:17px}.calendar-card p,.top-picks p{margin:4px 0 0;color:var(--muted);font-size:13px}.window-insight{color:var(--green);font-size:13px;font-weight:720;white-space:nowrap}.calendar-card-tools{display:grid;justify-items:end;gap:8px}.calendar-range-bar{display:flex;align-items:center;padding:9px 14px 0;background:#f8fbf770}.calendar-pagination-footer{display:flex;justify-content:flex-end;padding:0 14px 14px;border-bottom:1px solid rgba(184,205,189,.5);background:#fbfdf98a}.calendar-page-range{color:#506257;font-size:12px;font-weight:720;line-height:1.25}.calendar-pager{display:inline-flex;align-items:center;gap:7px;padding:4px;border:1px solid rgba(184,205,189,.62);border-radius:999px;background:#ffffff94;box-shadow:inset 0 1px #ffffffa3}.calendar-page-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid transparent;border-radius:999px;background:#f2f8efe6;color:#315142;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.calendar-page-button:hover:not(:disabled),.calendar-page-button:focus-visible{border-color:#2f7d5b42;background:#e1f0daeb;color:#204233;outline:none}.calendar-page-button:active:not(:disabled){transform:translateY(1px)}.calendar-page-button:disabled{color:#50625761;cursor:not-allowed;background:#f5f8f3b8}.calendar-page-button svg{width:15px;height:15px;stroke-width:2.5}.calendar-page-status{min-width:88px;color:#466053;font-size:12px;font-weight:760;line-height:1;text-align:center;white-space:nowrap}.calendar-table-area{padding:12px 14px 14px}.calendar-table-area .calendar-scroll{padding:0}.calendar-score-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 10px}.calendar-score-item{display:inline-flex;align-items:center;gap:5px;color:#506257;font-size:11px;font-weight:720;line-height:1}.calendar-score-swatch{width:18px;height:9px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--score-border, rgba(89, 145, 105, .24));background:var(--score-fill, linear-gradient(90deg, rgba(226, 240, 219, .94), rgba(198, 223, 176, .84)))}.calendar-score-swatch.score-95,.calendar-cell.score-95{--score-fill: linear-gradient(90deg, rgba(47, 150, 95, .22), rgba(47, 150, 95, .7));--score-border: rgba(35, 112, 70, .24);--score-dot: #2f965f;--score-outline: rgba(35, 112, 70, .42)}.calendar-score-swatch.score-85,.calendar-cell.score-85{--score-fill: linear-gradient(90deg, rgba(183, 211, 155, .26), rgba(183, 211, 155, .7));--score-border: rgba(142, 170, 117, .28);--score-dot: #7a9f5e;--score-outline: rgba(142, 170, 117, .42)}.calendar-score-swatch.score-70,.calendar-cell.score-70{--score-fill: linear-gradient(90deg, rgba(215, 200, 117, .24), rgba(215, 200, 117, .66));--score-border: rgba(166, 154, 86, .28);--score-dot: #988c4e;--score-outline: rgba(166, 154, 86, .4)}.calendar-score-swatch.score-55,.calendar-cell.score-55{--score-fill: linear-gradient(90deg, rgba(209, 177, 140, .24), rgba(209, 177, 140, .64));--score-border: rgba(160, 131, 104, .28);--score-dot: #9d7f60;--score-outline: rgba(160, 131, 104, .4)}.calendar-score-swatch.score-low,.calendar-cell.score-low{--score-fill: linear-gradient(90deg, rgba(175, 160, 170, .24), rgba(175, 160, 170, .64));--score-border: rgba(132, 119, 128, .28);--score-dot: #82757e;--score-outline: rgba(132, 119, 128, .4)}.strategy-refresh{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 9px;border:1px solid rgba(47,125,91,.2);border-radius:999px;background:#f9fdf7c7;color:#315142;font:inherit;font-size:12px;font-weight:760;cursor:pointer}.strategy-refresh:hover{border-color:#2f7d5b5c;background:#ebf6e5db}.strategy-refresh:active{transform:translateY(1px)}.strategy-refresh svg{width:13px;height:13px;stroke-width:2.5}.calendar-scroll{overflow-x:auto;padding:12px 14px 14px}.calendar-grid{display:grid;grid-template-columns:minmax(132px,1.12fr) repeat(var(--calendar-days),minmax(56px,1fr));grid-template-rows:54px;grid-auto-rows:70px;gap:1px;width:100%;min-width:548px;border:1px solid rgba(170,199,179,.72);border-radius:12px;background:#bed3c3b8;overflow:hidden}.calendar-corner,.calendar-day,.calendar-city,.calendar-cell{background:#ffffffc2;min-height:0}.calendar-corner,.calendar-day{display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:720;text-align:center;background:#f8fbf7}.calendar-corner,.calendar-city{position:sticky;left:0;z-index:2;box-shadow:1px 0 #aac7b3b8}.calendar-corner{z-index:3}.calendar-day{line-height:1.12;padding:5px 4px}.date-md{color:#4e5f55;font-size:13px;font-weight:760}.date-weekday{color:var(--green);font-size:11px;font-weight:720}.calendar-city{padding:8px 10px;display:grid;align-content:center;gap:2px;background:#fdfffc;overflow:hidden}.calendar-city strong,.calendar-city span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-city strong{font-size:13px;line-height:1.2}.calendar-city span{color:var(--muted);font-size:11px}.calendar-cell{display:grid;place-items:center;position:relative;background:#ffffff9e;border:0;border-radius:0;color:inherit;cursor:default;font:inherit;padding:0;touch-action:manipulation}.calendar-cell.active{cursor:pointer}.calendar-cell.active:hover,.calendar-cell.active:focus-visible{z-index:4;background:#fbfff9e0;outline:2px solid var(--score-outline, rgba(47, 125, 91, .42));outline-offset:-2px}.calendar-cell.active:before{content:"";position:absolute;left:-1px;right:-1px;top:12px;bottom:12px;background:var(--score-fill, linear-gradient(90deg, rgba(226, 240, 219, .92), rgba(198, 223, 176, .82)));box-shadow:inset 0 0 0 1px var(--score-border, rgba(89, 145, 105, .18))}.calendar-cell.window-start:before{left:9px;border-top-left-radius:999px;border-bottom-left-radius:999px}.calendar-cell.window-end:before{right:9px;border-top-right-radius:999px;border-bottom-right-radius:999px}.window-mark{width:6px;height:6px;border-radius:999px;background:var(--score-dot, rgba(47, 125, 91, .82));box-shadow:0 0 0 3px #ffffffad;position:relative;z-index:1}.calendar-detail-backdrop{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:38;border:0;background:#18241d38;padding:0}.calendar-detail{position:fixed;z-index:39;display:grid;gap:10px;padding:12px;border:1px solid rgba(170,199,179,.72);border-radius:8px;background:linear-gradient(180deg,#fcfffafa,#f5fbf2f7);color:var(--ink);box-shadow:0 18px 42px #263e2e2b;overflow:auto}.calendar-detail.sheet{left:12px;right:12px;bottom:12px;width:auto;gap:8px;padding:10px;max-height:min(80vh,580px)}.calendar-detail.sheet .calendar-detail-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-detail.sheet .calendar-detail-section{padding:7px}.calendar-detail.sheet .calendar-detail-hero{padding:9px}.calendar-detail.sheet .calendar-detail-chips div{padding:7px 8px}.calendar-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.calendar-detail-head div{min-width:0;display:grid;gap:3px}.calendar-detail-head strong{font-size:16px;line-height:1.25}.calendar-detail-place{color:#5a6c61;font-size:12px;font-weight:680;line-height:1.35}.calendar-detail-kicker{color:var(--muted);font-size:11px;font-weight:720;letter-spacing:.04em}.calendar-detail-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(47,125,91,.18);border-radius:999px;background:#ffffffbd;color:#3d604c;padding:0;cursor:pointer}.calendar-detail-close svg{width:14px;height:14px;stroke-width:2.4}.calendar-detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;padding:10px;border:1px solid rgba(184,205,189,.64);border-radius:8px;background:#ffffffa3}.calendar-detail-weather-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:#e2f0dbeb;font-size:18px}.calendar-detail-hero div{min-width:0;display:grid;gap:3px}.calendar-detail-hero b{font-size:16px}.calendar-detail-hero span{color:var(--muted);font-size:12px;line-height:1.4}.calendar-detail-verdicts{display:flex;flex-wrap:wrap;gap:6px}.calendar-detail-verdicts span{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:720;line-height:1.25}.calendar-detail-verdicts .positive{border:1px solid rgba(47,125,91,.22);background:#e2f0dbdb;color:#275d44}.calendar-detail-verdicts .warning{border:1px solid rgba(164,111,42,.24);background:#fff6e4eb;color:#805424}.calendar-detail-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.calendar-detail-chips div{display:grid;gap:2px;min-width:0;padding:8px 9px;border:1px solid rgba(184,205,189,.58);border-radius:8px;background:#ffffff8a}.calendar-detail-chips div.positive,.calendar-detail-section.positive{border-color:#2f7d5b4d;background:#eef8eac2}.calendar-detail-chips div.warning,.calendar-detail-section.warning{border-color:#a46f2a52;background:#fff8ecd1}.calendar-detail-chips div.neutral,.calendar-detail-section.neutral{border-color:#b8cdbd94;background:#ffffff8a}.calendar-detail-chips span{color:var(--muted);font-size:11px}.calendar-detail-chips strong{color:#22352a;font-size:13px;line-height:1.2}.calendar-detail-sections{display:grid;grid-template-columns:1fr;gap:7px}.calendar-detail-section{padding:8px 10px;border:1px solid rgba(184,205,189,.52);border-radius:8px;background:#ffffff7a}.calendar-detail-section h4{margin:0 0 7px;color:#315142;font-size:13px;line-height:1.25;display:flex;justify-content:space-between;gap:8px;align-items:center}.calendar-detail-section h4 span{flex:0 0 auto;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:760}.calendar-detail-section.positive h4 span{background:#2f7d5b1f;color:#2d6d50}.calendar-detail-section.warning h4 span{background:#a46f2a24;color:#865821}.calendar-detail-section.neutral h4 span{background:#6574691a;color:#56665b}.calendar-detail-section dl{display:grid;grid-template-columns:1fr;gap:6px;margin:0}.calendar-detail-section dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:baseline}.calendar-detail-section dt{min-width:0;display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;line-height:1.25}.calendar-detail-section dt span{min-width:0;overflow-wrap:anywhere}.calendar-detail-info{flex:0 0 auto;width:17px;height:17px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#56665bbd;font:inherit;font-size:11px;line-height:1;cursor:help}.calendar-detail-info:hover,.calendar-detail-info:focus-visible{background:#21322914;color:#213229;outline:none}.calendar-detail-section dd{margin:0;color:#213229;font-size:13px;font-weight:720;text-align:right}.calendar-detail-section small{display:none}.calendar-detail-note,.calendar-detail-empty{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.calendar-detail.popover{gap:9px;padding:12px;grid-template-columns:minmax(0,.95fr) minmax(280px,1.05fr);grid-template-areas:"head head" "hero chips" "verdict verdict" "sections sections"}.calendar-detail.popover .calendar-detail-head{grid-area:head}.calendar-detail.popover .calendar-detail-hero{grid-area:hero;align-self:stretch}.calendar-detail.popover .calendar-detail-chips{grid-area:chips;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch}.calendar-detail.popover .calendar-detail-verdicts{grid-area:verdict}.calendar-detail.popover .calendar-detail-sections{grid-area:sections}.calendar-detail.popover .calendar-detail-note{grid-column:1 / -1}.calendar-detail.popover .calendar-detail-chips div{padding:7px 8px}.calendar-detail.popover .calendar-detail-sections{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-detail.popover .calendar-detail-section dl{gap:5px}.calendar-detail.popover .calendar-detail-section{padding:8px}.calendar-detail .calendar-detail-note{display:none}@media(max-width:360px){.calendar-detail.sheet .calendar-detail-sections{grid-template-columns:1fr}}.strategy-picks-list,.overview-picks-list{display:grid}.strategy-pick{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:13px 14px;border-top:1px solid rgba(184,205,189,.48);background:linear-gradient(90deg,#f7fcf4c2,#ffffff29)}.strategy-pick:first-child{border-top:0}.strategy-emoji{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(184,205,189,.56);border-radius:8px;background:#ffffff9e;font-size:18px}.strategy-pick-body{min-width:0;display:grid;gap:6px}.strategy-pick-title{display:flex;gap:7px;align-items:baseline;min-width:0}.strategy-pick-title span{flex:0 0 auto;color:#2d6d50;font-size:12px;font-weight:780}.strategy-pick-title strong{min-width:0;color:#22352a;font-size:15px;overflow-wrap:anywhere}.strategy-pick p{margin:0;color:var(--muted);font-size:13px;line-height:1.42}.strategy-pick-facts{display:flex;flex-wrap:wrap;gap:5px}.strategy-pick-facts span{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border:1px solid rgba(184,205,189,.56);border-radius:999px;background:#fbfdf9b8;color:#3e5a48;font-size:11px;font-weight:680;line-height:1.2}.strategy-pick-facts span:first-child{border-color:#2f7d5b3d;background:#e2f0dbc7;color:#275d44}.strategy-empty{padding:18px 16px;color:var(--muted);font-size:13px}.overview-pick{display:grid;gap:7px;padding:14px 16px;border-top:1px solid var(--line)}.overview-pick:first-child{border-top:0}.overview-pick strong{font-size:15px}.overview-pick span{color:var(--muted);font-size:13px}.overview-pick em{color:var(--green);font-style:normal;font-size:12px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;min-height:560px}.map-canvas{min-height:560px;position:relative;overflow:hidden;background:linear-gradient(180deg,#eaf3e9d1,#e1ede3b8),#e7efe7}.leaflet-map{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.leaflet-container{font:inherit;background:#e7efe7}.leaflet-control-attribution{color:#6b7a70;font-size:10px}.leaflet-tooltip{border:1px solid rgba(184,205,189,.78);border-radius:999px;background:#fdfffceb;color:#24382b;box-shadow:0 6px 16px #2442301f;font-weight:720}.map-detail-card{position:absolute;left:18px;right:18px;bottom:18px;z-index:3;max-width:460px;display:grid;gap:5px;padding:13px 14px;border:1px solid rgba(184,205,189,.82);border-radius:8px;background:#fdfffceb;box-shadow:0 18px 36px #223b2b29}.map-detail-card strong{font-size:15px}.map-detail-card span{color:var(--muted);font-size:13px}.map-side{border-left:1px solid var(--line);padding:18px;background:#fbfdf9bd}.map-side h3{margin:0 0 10px;font-size:16px}.map-side p{margin:0 0 14px;color:var(--muted);font-size:13px}.map-note{margin-top:16px!important;padding-top:14px;border-top:1px solid rgba(184,205,189,.42);font-size:12px!important}.legend{display:grid;gap:10px;color:var(--muted);font-size:13px}.legend span{display:inline-flex;align-items:center;gap:8px}.dot{width:12px;height:12px;border-radius:999px;display:inline-block}.dot.origin{background:#1f2a24}.dot.candidate{background:var(--green)}.dot.route{background:var(--amber)}.city-tools{display:grid;gap:10px;padding:12px 16px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fafdf8b8,#f4faf18a)}.city-header-actions{flex:0 0 auto;align-self:start}.city-tools-entry{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:5px;min-height:28px;border:1px solid rgba(166,195,174,.34);border-radius:999px;padding:4px 8px;background:#ffffff47;color:#315142ad;cursor:pointer;font-size:12px;font-weight:720;opacity:.68;transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.city-tools-entry:hover,.city-tools-entry.active{border-color:#2f7d5b4d;background:#ebf6e59e;color:#315142;opacity:1}.city-tools-entry.has-controls{border-color:#2f7d5b61;background:#ebf6e5b3;color:var(--green);opacity:.95}.city-tools-entry svg{flex:0 0 auto;width:13px;height:13px;stroke-width:2.5}.city-tools-entry span{max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.city-controls-panel{display:grid;gap:10px;padding:10px;border:1px solid rgba(184,205,189,.52);border-radius:8px;background:#ffffff85}.city-control-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(156px,.28fr) auto auto auto;gap:10px;align-items:end}.city-search-field,.city-sort{display:grid;gap:5px;min-width:0}.city-search-field{position:relative}.city-search-field span,.city-sort span{color:var(--muted);font-size:12px;font-weight:760}.city-search-field input,.city-sort select{width:100%;min-height:38px;border:1px solid rgba(166,195,174,.72);border-radius:8px;background:#ffffffd1;color:var(--ink);font:inherit;font-size:14px;outline:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.city-search-field input{padding:7px 38px 7px 11px}.city-sort select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:7px 30px 7px 11px;background-image:linear-gradient(45deg,transparent 50%,#557063 50%),linear-gradient(135deg,#557063 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 11px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.city-search-field input:focus,.city-sort select:focus{border-color:#2f7d5b80;background:#fffffff5;box-shadow:0 0 0 3px #2f7d5b1c}.city-search-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;right:7px;bottom:6px;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:999px;background:transparent;color:#587166;cursor:pointer}.city-search-clear:hover{background:#2f7d5b1a;color:var(--green)}.city-search-clear svg{width:16px;height:16px;stroke-width:2.5}.city-controls-collapse{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:end;min-height:38px;border:1px solid rgba(47,125,91,.2);border-radius:8px;padding:7px 11px;background:#ffffffb3;color:#315142;font-size:13px;font-weight:760;cursor:pointer}.city-controls-collapse:hover{border-color:#2f7d5b5c;background:#ebf6e5d1}.city-result-count{align-self:end;display:inline-flex;align-items:center;min-height:38px;color:var(--green);font-size:13px;font-weight:800;white-space:nowrap}.city-clear-filters{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:end;min-height:38px;border:1px solid rgba(47,125,91,.2);border-radius:8px;padding:7px 11px;background:#ffffffb8;color:#315142;font-size:13px;font-weight:760;cursor:pointer}.city-clear-filters:hover{border-color:#2f7d5b61;background:#ebf6e5d1}.city-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.city-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:baseline;gap:6px;min-height:34px;border:1px solid rgba(166,195,174,.68);border-radius:999px;padding:6px 11px;background:#ffffffad;color:#2f443a;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.city-filter-chip:hover{border-color:#2f7d5b57;background:#f9fdf7f5}.city-filter-chip.active{border-color:#2f7d5b85;background:linear-gradient(180deg,#def0d6f2,#f1f9ede6);box-shadow:0 6px 16px #2f7d5b14}.city-filter-chip:active{transform:translateY(1px)}.city-filter-chip span{font-size:13px;font-weight:780}.city-filter-chip small{color:var(--muted);font-size:11px;font-weight:680}.city-empty{margin:16px}.list{display:grid}.city-row{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(280px,.75fr);gap:14px;padding:18px 20px;border-top:1px solid var(--line)}.city-row:first-child{border-top:0}.rank{width:34px;height:34px;border-radius:50%;background:var(--soft-blue);color:var(--blue);display:grid;place-items:center;font-weight:760}.city-main h3{margin:0;font-size:18px}.city-main small{color:var(--muted);font-size:13px;font-weight:520}.city-main p{margin:6px 0 10px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{border:1px solid var(--line);background:#fbfdf9c7;border-radius:999px;padding:4px 9px;font-size:12px;color:var(--green)}dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.watchlist-table-wrap{overflow-x:auto}.watchlist-table{width:100%;min-width:1040px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:14px}.watch-city-col{width:124px}.watch-distance-col{width:74px}.watch-window-col{width:174px}.watch-judgement-col{width:154px}.watch-weather-col{width:196px}.watch-reason-col{width:auto}.watchlist-table th{padding:12px 14px;text-align:left;color:var(--muted);font-size:12px;font-weight:760;background:#f8fbf7e6;border-bottom:1px solid var(--line);white-space:nowrap}.watchlist-table td{padding:14px;border-bottom:1px solid rgba(184,205,189,.42);vertical-align:top}.watchlist-table strong{display:block;font-size:15px}.watchlist-table td:first-child strong,.watchlist-table td:first-child span{white-space:nowrap}.watchlist-table span{display:block;margin-top:2px;color:var(--muted);font-size:12px}.reason-chips{display:flex;flex-wrap:wrap;gap:6px}.reason-chip{display:inline-flex!important;width:max-content;max-width:100%;margin:0!important;padding:4px 8px;border-radius:999px;border:1px solid rgba(184,205,189,.68);background:#f8fbf7eb;color:#2f6c51!important;font-weight:720;white-space:nowrap}.exclusion-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.78fr);gap:14px;padding:16px;align-items:start}.exclusion-main,.exclusion-side{min-width:0;display:grid;gap:14px}.exclusion-panel{min-width:0;border:1px solid rgba(184,205,189,.64);border-radius:8px;background:#fcfefbc7;overflow:hidden}.exclusion-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid rgba(184,205,189,.48)}.exclusion-panel-head h3{margin:0;font-size:17px;line-height:1.35}.exclusion-panel-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.origin-note{flex:0 0 auto;max-width:230px;border:1px solid rgba(184,205,189,.58);border-radius:999px;padding:5px 9px;color:#365d49;background:#e8f6e3b8;font-size:12px;font-weight:720;line-height:1.35}.exclusion-reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.exclusion-reason-card{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-height:82px;border:1px solid rgba(184,205,189,.56);border-radius:8px;padding:12px;background:#ffffffbd}.exclusion-reason-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8f6e3d1;border:1px solid rgba(137,171,132,.32);font-size:18px}.exclusion-reason-card strong,.exclusion-reason-card small{display:block;min-width:0}.exclusion-reason-card strong{color:var(--ink);font-size:15px}.exclusion-reason-card small{color:var(--muted);font-size:12px;line-height:1.4}.exclusion-reason-card b{min-width:30px;text-align:right;color:var(--green);font-size:24px;line-height:1}.exclusion-empty{margin:14px;box-shadow:none}.exclusion-place-list,.exclusion-compact-list,.watch-detail-list{display:grid;gap:10px;padding:14px}.exclusion-place{min-width:0;border:1px solid rgba(184,205,189,.62);border-radius:8px;padding:13px;background:linear-gradient(180deg,#ffffffdb,#f7fcf6c7)}.exclusion-place.compact{padding:12px}.exclusion-place-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;min-width:0}.exclusion-place-head h4{margin:0;color:var(--ink);font-size:17px;line-height:1.35}.exclusion-place-head h4 small{margin-left:6px;color:var(--muted);font-size:12px;font-weight:620}.exclusion-place-head p{margin:4px 0 0;color:#486354;font-size:13px;line-height:1.45}.exclusion-place-head strong{flex:0 0 auto;border-radius:999px;padding:5px 9px;color:#2f6c51;background:#e8f6e3c7;border:1px solid rgba(137,171,132,.36);font-size:13px;white-space:nowrap}.exclusion-place-meta{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 8px;color:var(--muted);font-size:12px}.exclusion-place-meta span{min-width:0}.exclusion-place-reason{margin:10px 0 0;padding-top:10px;border-top:1px dashed rgba(184,205,189,.68);color:var(--muted);font-size:13px;line-height:1.5}.watch-detail-toggle{width:calc(100% - 28px);margin:0 14px 14px;border:1px dashed rgba(47,125,91,.46);border-radius:8px;background:#f8fbf7b8;color:#2f6c51;cursor:pointer;padding:10px 12px;font-weight:760;transition:background-color .18s ease,border-color .18s ease}.watch-detail-toggle:hover{background:#e8f6e3cc;border-color:#2f7d5ba8}.watch-detail-section{margin:0 16px 16px;border:1px solid rgba(184,205,189,.62);border-radius:8px;background:#fcfefbb8;overflow:hidden}.watch-detail-head{padding:14px 16px;border-bottom:1px solid rgba(184,205,189,.46)}.watch-detail-head h3{margin:0;font-size:17px}.watch-detail-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.watch-detail-card{min-width:0;display:grid;gap:10px;border:1px solid rgba(184,205,189,.58);border-radius:8px;padding:13px;background:#ffffffbd}.watch-detail-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;min-width:0}.watch-detail-title strong{min-width:0;font-size:16px}.watch-detail-title span{flex:0 0 auto;color:var(--muted);font-size:12px;white-space:nowrap}.watch-detail-facts{grid-template-columns:1fr;gap:7px}.watch-detail-facts div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:baseline}.watch-detail-facts dt{color:var(--muted);font-size:12px;font-weight:720}.watch-detail-facts dd{margin:0;color:var(--ink);font-size:13px;line-height:1.5}.watchlist-shell{display:grid;gap:14px;padding:16px}.watchlist-overview{border:1px solid rgba(184,205,189,.64);border-radius:8px;background:#fcfefbc7;overflow:hidden}.watchlist-overview-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid rgba(184,205,189,.48)}.watchlist-overview-head h3,.watchlist-group-head h3{margin:0;font-size:17px;line-height:1.35}.watchlist-overview-head p,.watchlist-group-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.watchlist-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}.watchlist-status-card{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;min-height:78px;border:1px solid rgba(184,205,189,.58);border-radius:8px;padding:11px;background:#ffffffbd}.watchlist-status-card>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e8f6e3d1;border:1px solid rgba(137,171,132,.32);font-size:17px}.watchlist-status-card strong,.watchlist-status-card small{display:block;min-width:0}.watchlist-status-card strong{color:var(--ink);font-size:15px}.watchlist-status-card small{color:var(--muted);font-size:12px;line-height:1.35}.watchlist-status-card b{color:var(--green);font-size:24px;line-height:1}.watchlist-status-card.pause b{color:var(--amber)}.watchlist-status-card.data b{color:var(--blue)}.watchlist-cache-note{margin:0 14px 14px;color:var(--muted);font-size:13px}.watchlist-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:14px;align-items:start}.watchlist-column{min-width:0;display:grid;gap:14px}.watchlist-group{min-width:0;border:1px solid rgba(184,205,189,.64);border-radius:8px;background:#fcfefbc7;overflow:hidden}.watchlist-group-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid rgba(184,205,189,.48)}.watchlist-group-head b{min-width:32px;color:var(--green);font-size:22px;line-height:1.1;text-align:right}.watchlist-card-list{display:grid;gap:10px;padding:14px}.watchlist-group-empty{margin:14px;box-shadow:none}.watchlist-empty{box-shadow:none}.watchlist-place-card{min-width:0;border:1px solid rgba(184,205,189,.62);border-left:4px solid rgba(47,125,91,.62);border-radius:8px;padding:13px;background:linear-gradient(180deg,#ffffffdb,#f7fcf6c7)}.watchlist-place-card.watch{border-left-color:#3f728dad}.watchlist-place-card.pause{border-left-color:#a46f2ab8}.watchlist-place-card.data{border-left-color:#6574699e}.watchlist-place-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;min-width:0}.watchlist-place-head h4{margin:0;color:var(--ink);font-size:17px;line-height:1.35}.watchlist-place-head h4 small{margin-left:6px;color:var(--muted);font-size:12px;font-weight:620}.watchlist-place-head p{margin:4px 0 0;color:#486354;font-size:13px;line-height:1.45}.watchlist-place-head strong{flex:0 0 auto;border-radius:999px;padding:5px 9px;color:#2f6c51;background:#e8f6e3c7;border:1px solid rgba(137,171,132,.36);font-size:13px;white-space:nowrap}.watchlist-place-meta{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 8px;color:var(--muted);font-size:12px}.watchlist-status-pill{border:1px solid rgba(184,205,189,.68);border-radius:999px;padding:2px 7px;color:#2f6c51;background:#e8f6e3bd;font-weight:760}.watchlist-status-pill.watch{color:#315f76;background:#e7f2f7d1}.watchlist-status-pill.pause{color:#7e5420;background:#fcf1dcc7}.watchlist-status-pill.data{color:#58665c;background:#f4f7f3c7}.watchlist-place-reason{margin:10px 0 0;padding-top:10px;border-top:1px dashed rgba(184,205,189,.68);color:var(--muted);font-size:13px;line-height:1.5}.watchlist-detail-button{margin-top:10px;border:1px dashed rgba(47,125,91,.46);border-radius:8px;background:#f8fbf7b8;color:#2f6c51;cursor:pointer;padding:8px 10px;font-size:13px;font-weight:760}.watchlist-detail-button:hover{background:#e8f6e3cc;border-color:#2f7d5ba8}.watchlist-card-detail{margin-top:10px;padding-top:10px;border-top:1px solid rgba(184,205,189,.46)}.watchlist-card-detail dl{grid-template-columns:repeat(2,minmax(0,1fr))}.rules-disclosure{box-shadow:none}.rules-disclosure summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 18px;cursor:pointer;color:var(--ink);font-weight:780;list-style:none}.rules-disclosure summary::-webkit-details-marker{display:none}.rules-disclosure summary:after{content:"展开";flex:0 0 auto;color:#2f6c51;font-size:12px;font-weight:760}.rules-disclosure[open] summary{border-bottom:1px solid var(--line)}.rules-disclosure[open] summary:after{content:"收起"}.rules-disclosure summary span,.rules-disclosure summary small{min-width:0}.rules-disclosure summary small{color:var(--muted);font-size:12px;font-weight:560}.note-grid.rules-note-grid{padding:16px}.note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}.note{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfdf9b8}.note h3{margin:0 0 8px;font-size:16px}.note p,.note li{color:var(--muted);font-size:14px}.note ul{margin:0;padding-left:18px}.empty-state{padding:24px 20px;display:grid;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.empty-state span{color:var(--muted)}.footer{margin-top:24px;color:var(--muted);font-size:13px}@media(max-width:1100px){.pk-board{grid-template-columns:minmax(230px,1fr) minmax(112px,.28fr) minmax(230px,1fr)}}@media(max-width:900px){.page{padding:22px 16px 42px}.hero,.overview-layout,.map-layout,.city-row,.note-grid,.pk-board{grid-template-columns:1fr}.pk-target-card{order:3;text-align:left}.pk-compare-panel{order:2;border:1px solid rgba(162,191,166,.76)}.pk-local-card,.pk-target-card{border-radius:8px}.pk-target-card .pk-card-stamp,.pk-target-card .pk-next-stamp{justify-self:start}.hero{align-items:start;gap:12px;padding:26px 0 0}.hero-content{gap:12px}.hero-heading-frame{display:inline-block;padding-right:0}.title-lockup{padding-right:24px}.refresh-popover{left:auto;right:0;top:28px;transform:none;max-width:min(300px,calc(100vw - 32px))}.hero-heading{text-align:left}.modes{grid-template-columns:1fr;gap:8px}.mode{aspect-ratio:auto;min-height:112px;padding:14px}.criteria-rail{align-self:start;grid-template-columns:1fr;min-height:auto}.summary-mark{width:42px;height:42px}.summary{gap:12px;padding:16px}.summary strong{font-size:18px}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:calc(100vw - 32px);margin-top:12px}.tab-button{min-width:0;width:100%;padding:8px 4px;text-align:center;font-size:13px;line-height:1.25}.tab-panel>.section{margin-top:12px}.overview-layout,.calendar-card,.top-picks{min-width:0;width:100%}.calendar-card-header,.top-picks-header{display:block}.strategy-refresh{margin-top:10px}.strategy-pick{grid-template-columns:32px minmax(0,1fr);padding:12px}.strategy-emoji{width:32px;height:32px}.strategy-pick-title{flex-wrap:wrap;gap:3px 7px}.window-insight{display:block;margin-top:8px;white-space:normal}.calendar-card-tools{justify-items:start;margin-top:8px}.calendar-range-bar{padding:10px 12px 0}.calendar-table-area{display:block;padding:12px}.calendar-pagination-footer{justify-content:flex-start;padding:0 12px 12px}.calendar-score-legend{justify-content:flex-start}.city-tools{padding:12px}.city-header-actions{align-self:start}.city-control-row{grid-template-columns:1fr;align-items:stretch}.city-controls-panel{padding:10px}.city-result-count{align-self:start;justify-self:start;min-height:auto;white-space:normal}.city-clear-filters,.city-controls-collapse{justify-self:start;align-self:start;min-height:34px}.city-filter-chips{gap:7px}.city-filter-chip{min-height:32px;padding:5px 9px}.map-side{border-left:0;border-top:1px solid var(--line)}dl{grid-template-columns:1fr}.exclusion-layout{grid-template-columns:1fr;gap:12px;padding:12px}.exclusion-main,.exclusion-side{gap:12px}.exclusion-panel-head{display:block;padding:13px 14px}.origin-note{display:inline-block;max-width:100%;margin-top:10px}.exclusion-reason-grid{grid-template-columns:1fr;padding:12px}.exclusion-reason-card{min-height:0}.exclusion-place-list,.exclusion-compact-list,.watch-detail-list{padding:12px}.exclusion-place-head{display:block}.exclusion-place-head strong{display:inline-flex;margin-top:8px}.exclusion-place-head h4 small{display:block;margin:2px 0 0}.watch-detail-toggle{width:calc(100% - 24px);margin:0 12px 12px}.watch-detail-section{margin:0 12px 12px}.watch-detail-title{display:block}.watch-detail-title span{display:block;margin-top:2px;white-space:normal}.watch-detail-facts div{grid-template-columns:1fr;gap:2px}.watchlist-shell{padding:12px}.watchlist-overview-head,.watchlist-group-head{display:block;padding:13px 14px}.watchlist-group-head b{display:inline-block;margin-top:8px;text-align:left}.watchlist-status-grid,.watchlist-layout{grid-template-columns:1fr}.watchlist-status-grid,.watchlist-card-list{padding:12px}.watchlist-place-head{display:block}.watchlist-place-head strong{display:inline-flex;margin-top:8px}.watchlist-place-head h4 small{display:block;margin:2px 0 0}.watchlist-card-detail dl{grid-template-columns:1fr}.rules-disclosure summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:13px 14px}.rules-disclosure summary small{grid-column:1 / -1}.watchlist-table-wrap{overflow-x:visible}.watchlist-table,.watchlist-table thead,.watchlist-table tbody,.watchlist-table tr,.watchlist-table td{display:block}.watchlist-table{min-width:0}.watchlist-table thead{display:none}.watchlist-table tr{padding:12px 16px;border-top:1px solid var(--line)}.watchlist-table td{border-bottom:0;padding:6px 0;display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px}.watchlist-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:720}.map-canvas{min-height:430px}.map-detail-card{left:12px;right:12px;bottom:12px;max-width:none}}@media(max-width:520px){.pk-board{gap:8px;padding:10px}.pk-card,.pk-compare-panel{padding:10px}.pk-mini-metrics,.pk-window-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pk-stat-row{gap:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .hero-content,.motion-ready .criteria-rail,.tabs,.tab-button{transform:none;transition:none}}
