@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/instrument-sans-variable.woff2)format("woff2-variations")}:root{color:#182033;font-synthesis:none;text-rendering:optimizelegibility;--ink:#182033;--green:#20345f;--green-soft:#355285;--sand:#f5f3ef;--paper:#fff;--orange:#d56e2f;--gold:#efa65e;--muted:#687083;--line:#dfe1e6;--soft-blue:#eef2f8;--soft-amber:#fff4e8;background:#dededc;font-family:Instrument Sans,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif}html:lang(zh-CN){font-family:PingFang SC,Noto Sans CJK SC,Microsoft YaHei,Instrument Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#dededc}body{background:#dededc;min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:not(:disabled),a{cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #ec8a43}.app-shell{background:var(--sand);width:min(100%,720px);min-height:100vh;margin:0 auto;overflow-x:clip;box-shadow:0 0 45px #1820331a}.pinned-overview{z-index:50;background:var(--sand);position:sticky;top:0;box-shadow:0 8px 20px #18203314}.topbar{width:100%;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0;color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border-bottom:1px solid #18203314;justify-content:space-between;align-items:center;display:flex}.brand,.topbar-actions,.language-toggle,.header-weather,.gallery-button,.refresh-button{align-items:center;display:flex}.brand{min-width:0;min-height:44px;color:var(--ink);letter-spacing:-.018em;text-align:left;background:0 0;border:0;padding:0 8px 0 0;font-size:.8rem;font-weight:780;line-height:1.1}.brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-actions{gap:4px}.header-weather{color:#3e5b54;white-space:nowrap;gap:5px;min-height:44px;padding:0 6px}.header-weather-condition{color:#d56e2f;place-items:center;display:grid}.header-weather-temperature{font-size:.66rem;line-height:1}.gallery-button,.refresh-button{width:40px;height:44px;color:var(--green-soft);border:0;border-left:1px solid var(--line);background:0 0;justify-content:center;padding:0}.refresh-button:disabled{color:var(--green-soft);opacity:1;cursor:progress}.refresh-button.update-ready{color:var(--orange);position:relative}.refresh-button.update-ready:after{content:"";background:var(--orange);border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:6px}.refresh-button-icon{transform-origin:50%;place-items:center;display:grid}.refresh-button-icon.spinning{animation:.75s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}.language-toggle{min-width:64px;min-height:44px;color:var(--ink);border:0;border-left:1px solid var(--line);background:0 0;justify-content:center;gap:6px;padding:0 10px;font-size:.72rem;font-weight:780}main{padding-bottom:env(safe-area-inset-bottom)}.hero{color:var(--ink);border-bottom:1px solid var(--line);background:radial-gradient(circle at 100% 4%,#efa65e3b 0 88px,#0000 89px),linear-gradient(#fff 0%,#fbfaf8 72%,#f5f3ef 100%);padding:8px 22px;position:relative;overflow:hidden}.now-card{z-index:2;position:relative}.section-kicker{color:var(--orange);letter-spacing:.1em;text-transform:uppercase;margin:0 0 11px;font-size:.66rem;font-weight:800}.now-card{color:#fff;text-align:left;background:var(--green);border:0;border-radius:14px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:11px;width:100%;min-height:84px;padding:10px 54px 10px 10px;display:grid;box-shadow:0 10px 26px #20345f26}.now-card.active-now{box-shadow:inset 4px 0 var(--gold), 0 12px 32px #20345f29}.now-card-thumbnail{object-fit:cover;border-radius:9px;width:52px;height:64px;display:block}.now-card-copy{min-width:0;display:grid}.now-card-label{color:#fac895;letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;font-size:.6rem;font-weight:800;display:flex}.now-card-copy>strong{letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;align-self:end;margin-top:6px;font-size:clamp(1.35rem,5.8vw,1.75rem);font-weight:730;line-height:1.05;overflow:hidden}.now-card-arrow{width:32px;height:32px;color:var(--green);background:#fff;border-radius:9px;place-items:center;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.section{scroll-margin-top:calc(212px + env(safe-area-inset-top));padding:42px 18px}.plan-section{padding-top:18px}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin:0 2px 21px;display:flex}.section-heading h2{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:1.75rem;font-weight:740}.section-kicker{margin-bottom:6px}.day-rail-frame{background:var(--sand);padding:0 18px}.day-rail{border-bottom:1px solid #cfd3da;grid-template-columns:repeat(5,1fr);margin:0;display:grid}.day-rail button{color:#7a8190;background:0 0;border:0;flex-direction:column;align-items:center;min-width:0;min-height:44px;padding:3px 3px 6px;display:flex;position:relative}.day-rail button:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:8px;right:8px}.day-rail button>span{letter-spacing:.09em;font-size:.44rem;font-weight:780}.day-rail button strong{color:var(--ink);margin:1px 0 0;font-size:.94rem;line-height:1}.day-rail button small{letter-spacing:-.02em;white-space:nowrap;justify-content:center;align-items:center;gap:3px;max-width:100%;font-size:.64rem;font-weight:700;line-height:1.05;display:flex}.day-rail button.active{color:var(--orange)}.day-rail button.active strong{color:var(--green)}.day-rail button.active:after{background:var(--orange)}.day-card{background:var(--paper);touch-action:pan-y pinch-zoom;border:1px solid #d9dce2;border-radius:18px}.day-header{min-height:142px;color:var(--ink);border-bottom:1px solid var(--line);background:#fff;border-radius:18px 18px 0 0;padding:22px 20px;display:flex;position:relative;overflow:hidden}.day-header:before{content:"";background:var(--orange);height:4px;position:absolute;top:0;left:0;right:0}.day-header p{z-index:1;color:var(--orange);letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px;font-size:.68rem;font-weight:780;position:relative}.day-header h3{z-index:1;letter-spacing:-.035em;max-width:82%;margin:0;font-size:1.45rem;font-weight:740;line-height:1.08;position:relative}.day-header div>span{z-index:1;max-width:80%;color:var(--muted);margin-top:9px;font-size:.74rem;line-height:1.4;display:block;position:relative}.day-number{color:#e5e7eb;letter-spacing:-.06em;font-size:2.8rem;font-weight:760;line-height:1;position:absolute;top:20px;right:18px}.day-overview{border-bottom:1px solid var(--line);background:#fff;padding:9px 18px 11px}.day-overview-hours{color:#8b919d;font-variant-numeric:tabular-nums;justify-content:space-between;margin-bottom:4px;font-size:.46rem;font-weight:690;line-height:1;display:flex}.day-overview-grid{height:calc(var(--overview-rows) * 24px + (var(--overview-rows) - 1) * 3px);background:linear-gradient(90deg,#f1f2f4 0 25%,#f7f7f6 25% 50%,#f1f2f4 50% 75%,#f7f7f6 75% 100%);border-radius:4px;position:relative}.day-overview-grid>i{background:#20345f1a;width:1px;position:absolute;top:0;bottom:0}.day-overview-grid>i:first-child{left:25%}.day-overview-grid>i:nth-child(2){left:50%}.day-overview-grid>i:nth-child(3){left:75%}.day-overview-item{z-index:1;top:calc(var(--block-row) * 27px);left:var(--block-left);width:max(var(--block-width), 2px);height:24px;position:absolute}.day-overview-block{color:#3d2415;background:#df8a54;border:1px solid #6a30142e;border-radius:4px;align-items:center;width:100%;height:100%;padding:0 3px;text-decoration:none;display:flex;overflow:visible}.day-overview-label{white-space:nowrap;width:max-content;min-width:0;font-size:.47rem;font-weight:760;line-height:1;display:block;overflow:visible}.day-overview-block.flight{color:#fff;background:var(--green);border-color:#0d1d3a33}.day-overview-block.travel{color:#fff;background:#3f7774;border-color:#18454252}.day-overview-block.stay{color:#18243b;background:#aeb6c3;border-color:#313b4c2e}.day-overview-block.arrival,.day-overview-block.departure{color:#432b15;background:#ecc38d}.day-overview-block.unlabeled{padding:0}.day-overview-block.narrow{padding:0;overflow:visible}.day-overview-block.narrow .day-overview-label{height:100%;color:var(--ink);text-shadow:0 0 3px #fff;align-items:center;display:flex;position:absolute;left:calc(100% + 3px);overflow:visible}.day-overview-block.continues-after{border-right:2px dashed;border-radius:4px 0 0 4px}.day-overview-block.past{opacity:.48}.day-overview-block.active{box-shadow:0 0 0 2px #d56e2f38}.day-overview-now{z-index:3;top:-2px;bottom:-2px;left:var(--now-left);pointer-events:none;background:#c34e2e;border-radius:2px;width:2px;position:absolute;transform:translate(-1px);box-shadow:0 0 0 1px #ffffffb8}.day-overview-now:before{content:"";background:#c34e2e;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #0d1d3a3d}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.weather-card{background:var(--soft-blue);border-bottom:1px solid #d8dee9;padding:17px 18px 13px}.weather-heading{align-items:center;gap:10px;display:flex}.weather-heading>div{gap:3px;display:grid}.weather-heading>div>span{color:var(--muted);letter-spacing:.02em;font-size:.63rem;font-weight:700}.weather-heading>div>strong{color:var(--ink);font-size:1.2rem;font-weight:730;line-height:1.1}.weather-icon{color:#985626;background:#ffe1c2;border-radius:11px;flex:none;place-items:center;width:42px;height:42px;display:grid}.weather-icon.overcast{color:#415b7e;background:#dbe5f1}.weather-icon.rain{color:#35617b;background:#d6e8f0}.weather-temperatures{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.weather-temperatures>div{background:#ffffffb8;border-radius:9px;gap:3px;min-width:0;padding:9px 10px;display:grid}.weather-temperatures span{color:var(--muted);text-transform:uppercase;font-size:.58rem;font-weight:720}.weather-temperatures strong{color:var(--ink);white-space:nowrap;font-size:.83rem}.weather-interpretation{color:#334e68;background:#ffffffad;border-left:3px solid #4e7790;border-radius:7px;align-items:flex-start;gap:8px;margin:10px 0 0;padding:9px 10px;font-size:.7rem;line-height:1.4;display:flex}.weather-interpretation svg{flex:none;margin-top:1px}.weather-interpretation>span{gap:3px;display:grid}.weather-interpretation strong{color:var(--ink);font-size:.72rem}.weather-interpretation small{color:var(--muted);font-size:.56rem}.hourly-forecast{color:var(--ink);background:#ffffffad;border-radius:8px;margin-top:9px}.hourly-forecast summary{cursor:pointer;align-items:center;min-height:38px;padding:0 28px 0 10px;font-size:.67rem;font-weight:760;list-style:none;display:flex;position:relative}.hourly-forecast summary::-webkit-details-marker{display:none}.hourly-forecast summary:after{content:"⌄";color:var(--muted);font-size:.9rem;position:absolute;right:11px;transform:translateY(-2px)}.hourly-forecast[open] summary:after{transform:rotate(180deg)translateY(-2px)}.hourly-forecast-list{border-top:1px solid #5b6c842e}.hourly-forecast-row{border-bottom:1px solid #5b6c8421;grid-template-columns:42px minmax(0,1fr);gap:2px 9px;padding:7px 10px;display:grid}.hourly-forecast-row time{color:#456178;grid-row:1/5;font-size:.65rem;font-weight:780}.hourly-forecast-row strong,.hourly-forecast-row>span{grid-column:2}.hourly-forecast-row strong{font-size:.66rem;line-height:1.25}.hourly-forecast-row>span{color:var(--muted);font-size:.57rem;line-height:1.3}.hourly-forecast-row>span:first-of-type{color:var(--ink);font-weight:680}.hourly-forecast>small{color:var(--muted);padding:7px 10px 9px;font-size:.54rem;line-height:1.35;display:block}.weather-details{border-top:1px solid #d5dce7;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:12px;padding-top:12px;display:grid}.weather-details>div{min-width:0;color:var(--green-soft);text-align:center;justify-items:center;display:grid}.weather-details span{color:var(--muted);margin-top:3px;font-size:.54rem;line-height:1.25}.weather-details strong{color:var(--ink);white-space:nowrap;margin-top:2px;font-size:.69rem}.weather-details .weather-wind strong{white-space:normal;line-height:1.2}.weather-attribution{color:#737a88;margin-top:6px;font-size:.54rem;line-height:1.35}.weather-status{align-items:center;gap:12px;min-height:106px;display:flex}.weather-status>div{gap:5px;display:grid}.weather-status strong{color:var(--ink);font-size:.82rem}.weather-status>div>span{color:var(--muted);font-size:.66rem;line-height:1.45}.timeline{padding:22px 17px 3px}.stop{scroll-margin-top:calc(220px + env(safe-area-inset-top));opacity:1;grid-template-columns:24px minmax(0,1fr);display:grid}.stop.past .stop-body{opacity:.64}.stop-rail{flex-direction:column;align-items:center;display:flex;position:relative}.stop-dot{z-index:1;color:#fff;background:var(--paper);border:2px solid #aeb4bf;border-radius:50%;place-items:center;width:16px;height:16px;display:grid}.stop-dot span{background:#aeb4bf;border-radius:50%;width:5px;height:5px}.stop.active .stop-dot{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 4px #d56e2f21}.stop.past .stop-dot{background:var(--green-soft);border-color:var(--green-soft)}.stop-rail i{background:#dadee5;width:1px;height:100%}.stop-body{min-width:0;padding:0 0 27px 7px}.stop-topline{justify-content:space-between;align-items:center;gap:8px;margin:0 0 5px;display:flex}.stop time{color:var(--orange);letter-spacing:.035em;font-size:.68rem;font-weight:780}.live-tag{color:#a64e22;letter-spacing:.05em;text-transform:uppercase;padding:3px 0;font-size:.55rem;font-weight:780}.stop h4{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:1.18rem;font-weight:730;line-height:1.18}.address-row{color:var(--muted);grid-template-columns:14px minmax(0,1fr) auto;align-items:start;gap:7px;margin-top:5px;display:grid}.address-row>svg{color:var(--green-soft);margin-top:3px}.address-row address{padding-top:1px;font-size:.65rem;font-style:normal;line-height:1.42}.copy-address-button{color:#777f8e;background:0 0;border:0;border-radius:9px;place-items:center;width:44px;height:44px;margin-top:-6px;padding:0;display:inline-grid}.copy-address-button.copied{color:#3f7774}.rental-booking{background:#f4f6fa;border:1px solid #d5dce8;border-radius:11px;margin-top:8px;overflow:hidden}.rental-booking>header{color:#fff;background:var(--green);justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:0 10px;display:flex}.rental-booking>header span{letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:6px;font-size:.61rem;font-weight:760;display:flex}.rental-booking>header strong{color:#fac895;font-size:.6rem}.rental-vehicle{justify-content:space-between;align-items:center;gap:9px;padding:10px 11px 7px;display:flex}.rental-vehicle>strong{min-width:0;font-size:.78rem;line-height:1.25}.rental-vehicle>span{color:var(--green);background:#fff;border:1px solid #d7dce6;border-radius:5px;flex:none;padding:4px 6px;font-size:.58rem;font-weight:760}.rental-booking dl{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;padding:0 11px 10px;display:grid}.rental-booking dl div{gap:1px;min-width:0;display:grid}.rental-booking dl div:nth-child(2){grid-area:2/1/auto/-1}.rental-booking dl div:nth-child(3){grid-area:1/2}.rental-booking dt{color:var(--muted);font-size:.52rem;font-weight:680}.rental-booking dd{overflow-wrap:anywhere;color:var(--ink);margin:0;font-size:.63rem;font-weight:700}.rental-booking .booking-number{font-variant-numeric:tabular-nums;letter-spacing:.025em;-webkit-user-select:all;user-select:all}.rental-times{border-top:1px solid #dbe0e9;grid-template-columns:1fr 1fr;display:grid}.rental-times>div{gap:2px;min-width:0;padding:9px 10px;display:grid}.rental-times>div+div{border-left:1px solid #dbe0e9}.rental-times span{color:var(--orange);text-transform:uppercase;font-size:.52rem;font-weight:780}.rental-times strong{font-size:.64rem;line-height:1.3}.rental-times small{color:var(--muted);font-size:.54rem;line-height:1.35}.rental-features{color:var(--green-soft);background:#fff;border-top:1px solid #dbe0e9;margin:0;padding:8px 10px;font-size:.56rem;font-weight:680;line-height:1.45}.rental-instructions{border-top:1px solid #dbe0e9;gap:3px;padding:8px 10px 10px;display:grid}.rental-instructions strong{color:var(--orange);font-size:.54rem}.rental-instructions span{color:var(--muted);font-size:.56rem;line-height:1.45}.guide-booking{background:#fff8ef;border:1px solid #ead8c3;border-radius:11px;margin-top:8px;overflow:hidden}.guide-booking>header{color:#fff;background:#9a572b;align-items:center;gap:8px;min-height:38px;padding:0 10px;display:flex}.guide-booking>header span{letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:6px;font-size:.61rem;font-weight:780;display:flex}.guide-booking-body{gap:8px;padding:10px 11px;display:grid}.guide-product{color:var(--ink);font-size:.76rem;line-height:1.35}.guide-appointment{color:#9a572b;align-items:flex-start;gap:7px;display:flex}.guide-appointment>svg{flex:none;margin-top:2px}.guide-appointment>span{gap:1px;display:grid}.guide-appointment small{color:#887769;font-size:.52rem;font-weight:700}.guide-appointment strong{font-size:.67rem;line-height:1.35}.guide-booking-body>p{color:#6c625b;margin:-2px 0 0 22px;font-size:.59rem;font-weight:680}.guide-booking dl{border-top:1px solid #ead8c3;grid-template-columns:1fr 1fr;gap:7px 12px;margin:1px 0 0;padding-top:8px;display:grid}.guide-booking dl div{gap:1px;min-width:0;display:grid}.guide-booking dl div:last-child{grid-column:1/-1}.guide-booking dt{color:#887769;font-size:.51rem;font-weight:680}.guide-booking dd{overflow-wrap:anywhere;color:var(--ink);margin:0;font-size:.61rem;font-weight:700}.guide-booking .booking-number{font-variant-numeric:tabular-nums;letter-spacing:.025em;-webkit-user-select:all;user-select:all}.event-media{aspect-ratio:16/8.5;background:#e7e7e4;border-radius:11px;margin:10px 0 2px;position:relative;overflow:hidden}.event-media img{object-fit:cover;width:100%;height:100%;display:block}.media-open{background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.media-play-indicator{color:#fff;pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c1628c7;border:1px solid #ffffffad;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 18px #0000004d}.media-play-indicator svg{margin-left:3px}.event-media figcaption{position:absolute;bottom:6px;right:6px}.event-media figcaption a{color:#fffffff0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f192db8;border-radius:7px;align-items:center;gap:4px;min-height:28px;padding:0 8px;font-size:.48rem;font-weight:700;text-decoration:none;display:inline-flex}.event-media figcaption>span{color:#fffffff0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f192db8;border-radius:7px;align-items:center;min-height:28px;padding:0 8px;font-size:.48rem;font-weight:700;display:inline-flex}.event-media-gallery{scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pinch-zoom;gap:7px;margin:10px 0 2px;display:flex;overflow-x:auto}.event-media-gallery::-webkit-scrollbar{display:none}.event-media-gallery .event-media{scroll-snap-align:start;flex:0 0 88%;margin:0}.travel-row,.visit-row{color:var(--green-soft);align-items:flex-start;gap:8px;margin-top:10px;display:flex}.travel-row svg,.visit-row svg{flex:none;margin-top:1px}.travel-row div{gap:2px;display:grid}.travel-row span{color:var(--muted);font-size:.66rem;line-height:1.35}.travel-row strong,.visit-row span{font-size:.71rem;font-weight:720}.travel-row .travel-alternative{color:#777f8e;font-weight:650}.travel-row i{color:#b9bec8;margin:0 3px;font-style:normal}.stop-note{color:#5d6472;background:#f6f5f2;border-left:2px solid #e3a065;margin:10px 0 0;padding:9px 11px;font-size:.69rem;line-height:1.5}.hotel-reservation{background:#f4f6fa;border:1px solid #d5dce8;border-radius:10px;margin-top:9px;overflow:hidden}.hotel-reservation>header{min-height:34px;color:var(--green-soft);letter-spacing:.035em;text-transform:uppercase;align-items:center;gap:6px;padding:0 10px;font-size:.6rem;font-weight:780;display:flex}.hotel-reservation-times{border-top:1px solid #dce1e9;grid-template-columns:1fr 1fr;display:grid}.hotel-reservation-times>span{gap:2px;padding:7px 10px;display:grid}.hotel-reservation-times>span+span{text-align:right;border-left:1px solid #dce1e9}.hotel-reservation-times small{color:var(--muted);font-size:.51rem;font-weight:680}.hotel-reservation-times strong{color:var(--ink);font-size:.61rem;line-height:1.3}.hotel-reservation ul{border-top:1px solid #dce1e9;margin:0;padding:0;list-style:none}.hotel-reservation li{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:43px;padding:7px 10px;display:grid}.hotel-reservation li+li{border-top:1px solid #e0e4eb}.hotel-reservation li>span{gap:1px;min-width:0;display:grid}.hotel-reservation li>span:last-child{text-align:right}.hotel-reservation strong,.hotel-reservation b{color:var(--ink);font-size:.65rem;line-height:1.3}.hotel-reservation small{color:var(--muted);font-size:.52rem;font-weight:680}.hotel-reservation b{font-variant-numeric:tabular-nums;letter-spacing:.035em;-webkit-user-select:all;user-select:all}.hotel-reservation-notes,.hotel-cancellation,.hotel-reservation>footer{border-top:1px solid #dce1e9;margin:0;padding:7px 10px;font-size:.55rem;line-height:1.4}.hotel-reservation-notes{color:var(--green-soft);font-weight:680}.hotel-cancellation{color:#8d5b34;background:#fff8ef}.hotel-cancellation strong{color:#7a431d}.hotel-reservation>footer{color:var(--muted)}.hotel-reservation>footer b{color:var(--ink);margin-left:4px}.stop-checklist{background:#fff9ed;border:1px solid #efc485;border-radius:10px;margin-top:10px;overflow:hidden;box-shadow:inset 3px 0 #e6813f}.stop-checklist summary{color:#a74f1f;cursor:pointer;background:#fff3d8;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 11px 0 13px;list-style:none;display:flex}.stop-checklist summary::-webkit-details-marker{display:none}.stop-checklist summary>span{align-items:center;gap:7px;font-size:.69rem;font-weight:780;display:flex}.stop-checklist summary>span:after{content:"›";margin-left:1px;font-size:.9rem;transition:transform .15s;transform:rotate(90deg)}.stop-checklist[open] summary>span:after{transform:rotate(-90deg)}.stop-checklist summary>small{color:#8a623f;font-size:.57rem;font-weight:700}.stop-checklist ul{border-top:1px solid #efd8b6;margin:0;padding:2px 9px 7px 12px;list-style:none}.stop-checklist li+li{border-top:1px solid #35528517}.stop-checklist label{cursor:pointer;grid-template-columns:19px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:7px 2px;display:grid}.stop-checklist input{width:17px;height:17px;accent-color:var(--green-soft);margin:0}.stop-checklist label>span{gap:2px;display:grid}.stop-checklist label strong{color:var(--ink);font-size:.66rem;font-weight:690;line-height:1.3}.stop-checklist label small{color:var(--muted);font-size:.57rem;line-height:1.35}.stop-checklist li.checked label strong{color:#69727e;text-decoration:line-through;text-decoration-thickness:1px}.trip-notes{color:var(--ink);background:#fff8ef;border:1px solid #eddbc6}.day-trip-notes{border-width:0 0 1px;padding:12px 18px}.stop-trip-notes{border-radius:10px;margin-top:10px;padding:10px 11px}.trip-notes>header{color:#9a572b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:.58rem;font-weight:800}.trip-notes article{gap:3px;display:grid}.trip-notes article+article{border-top:1px solid #eddbc6;margin-top:9px;padding-top:9px}.trip-notes time{color:#887769;font-size:.55rem;font-weight:680}.trip-notes strong{font-size:.69rem;line-height:1.35}.trip-notes p{color:#5d6472;margin:0;font-size:.66rem;line-height:1.5}.trip-note-photos{margin-top:7px}.trip-note-photos .event-media{aspect-ratio:4/3}.trip-note-photos .event-media img{object-fit:contain;background:#192235}.trip-note-photos .event-media figcaption span{color:#fffffff0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f192db8;border-radius:7px;align-items:center;min-height:28px;padding:0 8px;font-size:.48rem;font-weight:700;display:inline-flex}.trip-note-location{margin-top:3px}.trip-note-location address{gap:1px;display:grid}.trip-note-location address strong{color:var(--ink)}.trip-note-map-link{margin-top:0}.schedule-note{display:none}.map-link{min-height:44px;color:var(--green-soft);align-items:center;gap:6px;margin-top:7px;padding:0 3px;font-size:.68rem;font-weight:760;text-decoration:none;display:inline-flex}.overnight{color:var(--ink);border-top:1px solid var(--line);background:#f1f2f5;grid-template-columns:auto 1fr;gap:2px 9px;padding:15px 18px;display:grid}.overnight svg{color:var(--orange);grid-row:1/3;align-self:center}.overnight span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.57rem;font-weight:760}.overnight strong{font-size:.75rem}.day-reminders{color:#70411f;background:var(--soft-amber);border-top:1px solid #efd8bf;border-radius:0 0 18px 18px;padding:13px 18px 15px}.day-reminders header{color:#9a572b;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;font-size:.61rem;font-weight:800;display:flex}.day-reminders ul{gap:6px;margin:9px 0 0;padding-left:18px;display:grid}.day-reminders li{padding-left:2px;font-size:.66rem;line-height:1.45}.flight-stop .stop-dot{color:#fff;background:var(--green-soft);border-color:var(--green-soft)}.flight-stop.active .stop-dot{background:var(--orange);border-color:var(--orange)}.flight-stop-body{padding-left:7px}.flight-inline-card{background:#f6f7fa;border:1px solid #d4d9e3;border-radius:13px;margin-top:2px;overflow:hidden}.flight-inline-card.flight-disrupted{border-color:#d98d86}.flight-inline-heading{background:var(--green);border-bottom:1px solid #ffffff1a;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:12px 12px 10px;display:grid}.flight-inline-card.flight-disrupted .flight-inline-heading{background:#7d3030}.flight-inline-heading>div{gap:3px;min-width:0;display:grid}.flight-inline-heading>div>span{color:#fac895;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.55rem;font-weight:760;overflow:hidden}.flight-airline-line{justify-items:start;gap:5px;min-width:0;display:grid}.airline-logo{object-fit:contain;background:#fffffff7;border-radius:6px;width:142px;max-width:100%;height:44px;padding:4px 7px}.airline-logo.tall{width:62px;height:62px;padding:5px}.flight-inline-heading h4{color:#fff;font-size:.94rem}.flight-inline-heading h4 strong{letter-spacing:.03em;margin-left:4px;font-size:.84em}.flight-phase{color:#ffffffc7;text-align:right;max-width:88px;font-size:.53rem;font-weight:760;line-height:1.2}.flight-phase.complete{color:#d8f3e6}.flight-phase.disrupted{color:#ffd5c3}.flight-connection-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:0 0 7px;font-size:.56rem;font-weight:780}.flight-airport-media{background:#fff;grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:grid}.flight-airport-media figure{background:#e5e8ed;height:86px;margin:0;position:relative;overflow:hidden}.flight-airport-media figure:first-child{border-radius:8px 0 0}.flight-airport-media figure:last-child{border-radius:0 8px 0 0}.flight-airport-media img{object-fit:cover;width:100%;height:100%;display:block}.flight-airport-media figcaption{background:linear-gradient(#0000 42%,#091222b8);justify-content:space-between;align-items:flex-end;padding:6px;display:flex;position:absolute;inset:0}.flight-airport-media figcaption strong{color:#fff;letter-spacing:.08em;background:#12223cc7;border-radius:4px;align-self:flex-start;padding:3px 5px;font-size:.56rem}.flight-airport-media figcaption a{color:#fffffff0;text-overflow:ellipsis;white-space:nowrap;justify-content:flex-end;align-items:center;gap:3px;max-width:76%;min-height:28px;font-size:.46rem;font-weight:700;text-decoration:none;display:inline-flex;overflow:hidden}.flight-route{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:7px;display:grid}.flight-inline-card .flight-route{background:#fff;margin:0;padding:14px 12px}.flight-route>div{gap:3px;min-width:0;display:grid}.flight-route>div:last-child{text-align:right}.flight-route time{color:var(--ink);letter-spacing:-.04em;font-size:1.45rem;font-weight:710;line-height:1}.flight-route>div>span{color:var(--muted);font-size:.62rem;line-height:1.4}.flight-route>div>.flight-airport-code{color:var(--orange);letter-spacing:.1em;font-size:.6rem;font-weight:820}.flight-route small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.49rem;font-weight:740}.flight-route em{color:#858b97;font-size:.53rem;font-style:normal}.flight-route>div>strong{color:var(--green-soft);margin-top:4px;font-size:.78rem;font-weight:790;line-height:1.25}.flight-route-arrow{width:28px;height:28px;color:var(--green-soft);place-items:center;margin-top:18px;display:grid}.flight-status-row{min-height:48px;color:var(--muted);border-top:1px solid #dfe2e8;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px 11px;font-size:.57rem;line-height:1.45;display:grid}.flight-status-row>svg{color:var(--green-soft)}.flight-status-row strong{color:var(--ink)}.flight-status-row.delayed{color:#762d2a;background:#fff0ee;border-top-color:#e6b2ad}.flight-status-row.delayed>svg{color:#b23e37}.flight-delay-value{font-size:.76rem;color:#a9312c!important}.flight-delay-value b{letter-spacing:-.03em;font-size:1rem}.flight-status-row em{font-style:normal;font-weight:720}.flight-status-row small{font-size:inherit}.flight-status-row a{min-height:32px;color:var(--green-soft);white-space:nowrap;align-items:center;gap:3px;font-weight:760;text-decoration:none;display:inline-flex}.inbound-safe{color:#275d48;background:#edf7f1;border-top:1px solid #cfe5d9;align-items:center;gap:9px;min-height:48px;padding:11px 12px;font-size:.66rem;font-weight:730;line-height:1.4;display:flex}.inbound-safe svg{flex:none}.inbound-card{color:var(--ink);background:#eef2f8;border-top:1px solid #d7deea;padding:11px 12px 12px}.inbound-heading{align-items:center;gap:7px;min-height:28px;display:flex}.inbound-heading>span{min-width:0;color:var(--green-soft);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:6px;font-size:.62rem;font-weight:780;display:flex}.inbound-heading>span svg{flex:none}.inbound-heading>strong{color:var(--ink);margin-left:auto;font-size:.68rem}.inbound-heading>em{color:var(--orange);white-space:nowrap;font-size:.55rem;font-style:normal;font-weight:760}.inbound-details{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px;margin-top:9px;display:grid}.inbound-details>div{background:#ffffffc7;border-radius:8px;gap:3px;min-width:0;padding:9px 10px;display:grid}.inbound-details>div:last-child{text-align:right}.inbound-details span{color:var(--muted);font-size:.53rem;font-weight:700}.inbound-details strong{overflow-wrap:anywhere;font-size:.67rem;line-height:1.32}.inbound-details time{color:var(--ink);letter-spacing:-.025em;font-size:1rem;font-weight:740}.inbound-details small{color:var(--orange);font-size:.54rem;font-weight:720}.inbound-message{color:var(--muted);margin:7px 0 0;font-size:.6rem;line-height:1.45}.inbound-card footer{color:#727a89;justify-content:space-between;align-items:center;gap:8px;min-height:32px;margin-top:5px;font-size:.53rem;display:flex}.inbound-card footer a{min-height:32px;color:var(--green-soft);align-items:center;gap:3px;font-weight:760;text-decoration:none;display:inline-flex}.page-footer{padding:25px 20px calc(18px + env(safe-area-inset-bottom));color:#7b8190;background:#fff;align-items:center;gap:10px;font-size:.61rem;display:flex}.page-footer .release-note{color:#9aa0ad;flex:1;margin:0;font-size:.57rem}.fullscreen-gallery{z-index:1000;color:#fff;overscroll-behavior:contain;touch-action:pan-x;background:#05070a;width:100%;height:100dvh;min-height:0;position:fixed;inset:0;overflow:hidden}.gallery-dismiss-handle{z-index:3;top:calc(7px + env(safe-area-inset-top));pointer-events:none;background:#ffffff73;border-radius:999px;width:34px;height:4px;position:absolute;left:50%;transform:translate(-50%)}.fullscreen-gallery-header{z-index:4;min-height:calc(70px + env(safe-area-inset-top));padding:calc(18px + env(safe-area-inset-top)) max(14px, calc(14px + env(safe-area-inset-right))) 10px max(18px, calc(18px + env(safe-area-inset-left)));pointer-events:none;background:linear-gradient(#000000d1,#0000);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.fullscreen-gallery-header>div{gap:2px;min-width:0;display:grid}.fullscreen-gallery-header strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:720;overflow:hidden}.fullscreen-gallery-header span{color:#ffffffad;font-variant-numeric:tabular-nums;font-size:.62rem}.fullscreen-gallery-header button{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#16191fb8;border:1px solid #ffffff38;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding:0;display:grid}.fullscreen-gallery-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x;width:100%;height:100%;display:flex;overflow:auto hidden}.fullscreen-gallery-track::-webkit-scrollbar{display:none}.fullscreen-gallery-slide{width:100%;min-width:0;height:100%;min-height:0;padding:calc(70px + env(safe-area-inset-top)) env(safe-area-inset-right) calc(82px + env(safe-area-inset-bottom)) env(safe-area-inset-left);scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%;place-items:center;margin:0;display:grid;position:relative}.fullscreen-gallery-slide img,.fullscreen-gallery-slide video{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;display:block}.fullscreen-gallery-slide video{touch-action:manipulation;background:#000}.fullscreen-gallery-slide figcaption{min-height:calc(78px + env(safe-area-inset-bottom));padding:13px max(20px, calc(20px + env(safe-area-inset-right))) calc(14px + env(safe-area-inset-bottom)) max(20px, calc(20px + env(safe-area-inset-left)));pointer-events:none;background:linear-gradient(#0000,#000000db);align-content:end;gap:3px;display:grid;position:absolute;bottom:0;left:0;right:0}.fullscreen-gallery-slide figcaption strong{font-size:.72rem;font-weight:740}.fullscreen-gallery-slide figcaption span{color:#ffffffc7;font-size:.64rem;line-height:1.35}@media (orientation:landscape){.fullscreen-gallery-header{min-height:calc(56px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:4px}.fullscreen-gallery-slide{padding-top:calc(54px + env(safe-area-inset-top));padding-bottom:calc(58px + env(safe-area-inset-bottom))}.fullscreen-gallery-slide figcaption{min-height:calc(56px + env(safe-area-inset-bottom));padding-top:7px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.fullscreen-gallery-slide figcaption strong,.fullscreen-gallery-slide figcaption span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (width>=560px){.hero{padding-left:38px;padding-right:38px}.day-rail-frame,.section{padding-left:34px;padding-right:34px}.now-card{padding-right:64px}.day-header{min-height:132px;padding-left:28px;padding-right:28px}.day-overview{padding-left:28px;padding-right:28px}.weather-card{grid-template-columns:minmax(165px,.9fr) minmax(220px,1.1fr);column-gap:22px;padding:18px 28px 14px;display:grid}.weather-temperatures{margin-top:0}.weather-interpretation,.hourly-forecast{grid-column:1/-1}.hourly-forecast-row{grid-template-columns:46px minmax(115px,1fr) repeat(3,minmax(0,1fr));align-items:baseline}.hourly-forecast-row time,.hourly-forecast-row strong,.hourly-forecast-row>span{grid-area:auto}.weather-details,.weather-attribution{grid-column:1/-1}.weather-status{display:flex}.timeline{padding-left:28px;padding-right:28px}.flight-inline-card .flight-route{padding-left:18px;padding-right:18px}}@media (width<=350px){.day-rail button{min-height:51px}.day-rail button small{flex-direction:column;gap:0;font-size:.61rem;line-height:.95}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.refresh-button-icon.spinning{animation:none}.stop-checklist summary>span:after{transition:none}.fullscreen-gallery-track{scroll-behavior:auto}}@media (width<=389px){.topbar{padding-left:10px;padding-right:8px}.brand{max-width:80px;font-size:.69rem}.header-weather{padding-left:5px;padding-right:5px}.header-weather-temperature{font-size:.58rem}.language-toggle{min-width:52px;padding-left:7px;padding-right:7px}}@media (width<=349px){.brand{max-width:64px}.topbar-actions{gap:0}.header-weather{gap:2px;padding-left:2px;padding-right:2px}.gallery-button,.refresh-button{width:36px}.language-toggle{min-width:48px;padding-left:5px;padding-right:5px}}
