/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}}.dining-options{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.dining-options h4{color:var(--green);margin:0 0 8px;font-size:14px}.dining-options b,.dining-options p{font-size:14px}.dining-options p{color:var(--muted);margin:5px 0}.dining-options a{color:var(--green);margin-right:20px;padding:8px 0;font-size:14px;display:inline-block}.dining-options>small{color:var(--muted);font-size:12px;display:block}.forecast-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.forecast-actions>span{color:var(--muted);font-size:14px}.forecast-actions small{font-size:12px;display:block}.forecast-actions button{background:var(--card);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:8px;padding:9px 13px;font-size:14px}.forecast-actions button:disabled{opacity:.5;cursor:wait}@media (max-width:600px){.forecast-actions{align-items:start}.forecast-actions>span{flex:1;min-width:150px}}.map-layout{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);display:grid}.map-visual{background:var(--soft);min-width:0}.map-directions{border-left:1px solid var(--line);min-width:0;max-height:480px;padding:16px 0;overflow-y:auto}.map-directions h3{margin:0 16px;font-size:16px}.map-navigation-hint{color:var(--muted);margin:4px 16px 12px;font-size:12px}.map-layout .trip-map-canvas{height:420px}.map-layout .map-day-note{font-size:13px}.map-layout .map-feedback{margin:10px 0}.map-footnote{border-top:1px solid var(--line);margin:0;padding-top:12px;padding-bottom:12px}@media (max-width:639px){.map-layout{grid-template-columns:1fr}.map-directions{border-left:0;border-top:1px solid var(--line);max-height:none}.map-layout .trip-map-canvas{height:300px}}.map-tabs{scrollbar-width:thin;gap:7px;padding:0 0 12px;display:flex;overflow-x:auto}.map-tabs button{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:9px;flex:none;gap:2px;min-width:72px;padding:8px 14px;display:grid}.map-tabs button[aria-pressed=true]{background:var(--green);color:var(--card);border-color:var(--green)}.map-tabs small{font-size:12px}.trip-map-panel{border:1px solid var(--line);background:var(--card);border-radius:12px;overflow:hidden}.map-caption{align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.map-caption>span{color:var(--muted)}.map-caption button{background:var(--soft);border:1px solid var(--line);cursor:pointer;border-radius:7px;margin-left:auto;padding:7px 10px}.trip-map-canvas{isolation:isolate;z-index:0;background:#e6ebe7;width:100%;height:380px}.trip-pin{background:0 0;border:none}.trip-pin span{color:#fff;background:#276558;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid;box-shadow:0 1px 5px #0005}.map-feedback,.map-day-note,.map-footnote{color:var(--muted);padding:0 16px;font-size:13px}.map-day-note{color:var(--ink);font-size:14px}.map-stops{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:12px 16px;padding:0;list-style:none;display:grid}.map-stops li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:48px;font-size:14px;display:flex}.map-stops li>span{color:var(--green);flex:none;width:20px}.map-stops b{overflow-wrap:anywhere;font-weight:500}.map-stops a{white-space:nowrap;color:var(--green);flex:none;margin-left:auto;padding:12px 0 12px 10px;text-decoration:none}:is(.trip-map-section button:focus-visible,.map-stops a:focus-visible){outline:2px solid var(--green);outline-offset:2px}.trip-map-canvas .leaflet-popup-content{font-size:14px;line-height:1.7}.trip-map-canvas .leaflet-popup-content a{padding:8px 0;display:inline-block}.trip-map-canvas .leaflet-control-attribution{font-size:11px}@media (max-width:600px){.trip-map-canvas{height:300px}.map-stops{grid-template-columns:1fr}.map-caption{gap:8px;padding:10px 12px}.map-caption button{font-size:12px}.map-feedback,.map-day-note,.map-footnote{padding:0 12px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f4;--card:#fff;--ink:#18342e;--muted:#6c7a76;--green:#32786b;--mint:#ddf4ed;--line:#dfe5e2;--amber:#c8882d;--amber-bg:#fff5dd;--shadow:0 2px 8px #19342e12;--nav-bg:#fffffff0;--soft:#fbfcfb;--hover:#fafcfb}:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f211e;--card:#172c28;--ink:#e9f3f0;--muted:#9bada8;--green:#70c1ae;--mint:#203c36;--line:#29433d;--amber:#e9b966;--amber-bg:#392f1f;--shadow:0 3px 14px #0000003d;--nav-bg:#0f211ef2;--soft:#132723;--hover:#1c342f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:radial-gradient(circle at 8% 18%,#32786b0b,transparent 20%),radial-gradient(circle at 94% 52%,#c8882d09,transparent 18%),var(--bg);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Noto Sans SC,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.55}button,a{font:inherit;color:inherit}.wrap{width:min(1180px,100% - 40px);margin:auto}.hero{color:#fff;background:linear-gradient(135deg,#214e45 0%,#2f7668 62%,#559487 100%);padding:30px 0 26px;position:relative;overflow:hidden}.hero:before{content:"";background:#ffebb821;border-radius:50%;width:150px;height:150px;position:absolute;top:-92px;right:11%;box-shadow:0 0 0 24px #ffffff06}.hero:after{content:"";clip-path:polygon(0 100%,18% 62%,31% 76%,49% 28%,62% 57%,74% 43%,100% 100%);background:linear-gradient(135deg,#ffffff05,#0a342d33);width:44%;height:72%;position:absolute;bottom:-1px;right:-3%}.hero-inner{z-index:1;grid-template-columns:1fr 430px;align-items:end;gap:48px;display:grid;position:relative}.hero-topline{align-items:center;gap:18px;margin-bottom:9px;display:flex}.kicker{letter-spacing:.16em;opacity:.72;margin:0;font-size:11px;font-weight:800}.hero h1{letter-spacing:-.035em;white-space:nowrap;margin:0;font-size:38px;font-weight:800;line-height:1.08}.subtitle{opacity:.82;margin:11px 0 0;font-size:14px}.lang-switch{color:#ffffff9e;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:20px;align-items:center;gap:6px;padding:4px 9px;font-size:10px;font-weight:750;display:flex}.lang-switch span.active{color:#fff}.lang-switch i{opacity:.4;font-style:normal}.hero-meta{grid-template-columns:1fr 1fr;gap:7px;display:grid}.hero-meta>div{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:9px;gap:1px;padding:9px 12px;display:grid}.hero-meta small{opacity:.65;letter-spacing:.03em;font-size:9px}.hero-meta b{font-size:12px}.hero-meta .green{color:#d9ffef}.quick-nav{z-index:20;background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.quick-nav .wrap{scrollbar-width:none;align-items:center;gap:8px;height:58px;display:flex;overflow-x:auto}.quick-nav a{white-space:nowrap;border-radius:8px;padding:8px 15px;font-size:13px;font-weight:700;text-decoration:none}.quick-nav a:hover{background:var(--mint);color:var(--green)}.page{padding:26px 0 80px}.section{padding:34px 0 12px}.section-title{align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-title:after{content:"";background:linear-gradient(90deg,var(--line),transparent);flex:1;height:1px;margin-left:8px}.section-title>span{width:34px;height:34px;color:var(--green);background:linear-gradient(145deg,#e7f7f2,#d5eee7);border:1px solid #32786b14;border-radius:9px;place-items:center;font-weight:900;display:grid;box-shadow:0 4px 12px #32786b14}.section-title h2{letter-spacing:-.02em;margin:0;font-size:24px;line-height:1.15}.section-title p{color:var(--muted);margin:3px 0 0;font-size:12px}.route-strip{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.route-stop{border-right:1px solid var(--line);flex-direction:column;min-height:122px;padding:18px 14px;display:flex;position:relative}.route-stop:last-child{border-right:0}.route-stop>span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;font-weight:800;display:grid;position:absolute;top:12px;right:12px}.route-stop small{color:var(--green);font-size:11px;font-weight:800}.route-stop em{color:var(--muted);margin-top:3px;font-size:11px;font-style:normal}.notice{background:var(--mint);border-radius:10px;gap:12px;margin-top:12px;padding:13px 16px;font-size:13px;display:flex}.notice b{color:var(--green);white-space:nowrap}.notice.amber{background:var(--amber-bg)}.notice.amber b{color:var(--amber)}.day-list{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.day{border-bottom:1px solid var(--line)}.day:last-child{border:0}.day-head{text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:56px 92px 1fr minmax(180px,auto) 24px;align-items:center;gap:12px;width:100%;padding:15px 18px;display:grid}.day-head:hover{background:#fafcfb}.day-no{color:var(--green);white-space:nowrap;font-size:12px;font-weight:900}.day-date{color:var(--muted);font-size:12px}.day-main{align-items:baseline;gap:10px;min-width:0;display:flex}.day-main b{font-size:16px}.day-main small{color:var(--muted);font-size:11px}.day-tags{text-align:right}.day-tags i,.all-tags i,.chips span{background:var(--mint);color:#356b61;border-radius:5px;margin:2px;padding:5px 8px;font-size:10px;font-style:normal;line-height:1.3;display:inline-block}.arrow{transition:all .2s}.day.open .arrow{transform:rotate(180deg)}.day-body{background:#fbfcfb;padding:4px 18px 16px 178px}.day-forecast{background:#f0f8f5;border:1px solid #d9e9e4;border-radius:8px;align-items:center;gap:8px;margin:0 0 13px;padding:9px 11px;display:flex}.day-forecast>span{color:var(--green)}.day-forecast b{font-size:11px}.day-forecast small{color:var(--green);font-size:11px;font-weight:750}.day-forecast em{color:var(--muted);margin-left:auto;font-size:9px;font-style:normal}.all-tags{margin-bottom:12px;display:none}.day-note{background:var(--amber-bg);color:var(--muted);border-radius:8px;gap:8px;margin:0 0 14px;padding:9px 11px;font-size:10px;display:flex}.day-note b{color:var(--amber);white-space:nowrap}.timeline-item{grid-template-columns:66px 12px 1fr;gap:12px;min-height:63px;display:grid}.timeline-item time{color:var(--muted);white-space:nowrap;padding-top:3px;font-size:11px}.timeline-item>span{border:2px solid var(--green);border-radius:50%;width:8px;height:8px;margin-top:4px;position:relative}.timeline-item>span:after{content:"";background:var(--line);width:1px;height:54px;position:absolute;top:8px;left:2px}.timeline-item:last-child>span:after{display:none}.timeline-item p{color:var(--muted);margin:3px 0;font-size:11px}.compact .day-head{cursor:default;grid-template-columns:56px 92px 1fr auto;padding-top:11px;padding-bottom:11px}.compact .day-head:hover{background:#fff}.compact-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:750;overflow:hidden}.compact-code{color:var(--green);white-space:nowrap;font-size:11px;font-weight:700}.timeline-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.plan-status{white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;min-height:20px;padding:3px 7px 3px 5px;font-size:8px;font-style:normal;font-weight:800;line-height:1.2;display:inline-flex}.status-icon{color:#fff;border-radius:50%;place-items:center;width:12px;height:12px;font-size:8px;font-style:normal;font-weight:900;line-height:1;display:inline-grid}.plan-status.confirmed{color:var(--green);background:var(--mint);border-color:#1c70601f}.plan-status.confirmed .status-icon{background:var(--green)}.plan-status.booking{color:var(--amber);background:var(--amber-bg);border-color:#b5751a24}.plan-status.booking .status-icon{background:var(--amber)}.plan-status.provisional{color:var(--muted);background:var(--line);border-color:#5f746e1a}.plan-status.provisional .status-icon{background:var(--muted)}.day-sub{align-items:center;gap:7px;display:inline-flex}.day-sub small{color:var(--muted);font-size:11px}.day-weather-mini{color:var(--green);white-space:nowrap;background:#eff8f5;border-radius:5px;padding:3px 6px;font-size:9px;font-style:normal;font-weight:750}.hotel-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.hotel,.panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}.hotel{padding:15px}.hotel-top{justify-content:space-between;align-items:center;display:flex}.hotel-top>span{background:var(--green);color:#fff;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:800}.hotel-top em{color:var(--amber);background:var(--amber-bg);border-radius:20px;padding:4px 8px;font-size:9px;font-style:normal}.hotel-top em.ok{color:var(--green);background:var(--mint)}.hotel h3{margin:11px 0 4px;font-size:16px;line-height:1.35}.muted{color:var(--muted);margin:0;font-size:11px}.hotel>strong{color:var(--green);margin:11px 0 4px;font-size:17px;display:block}.hotel-saving{color:var(--amber);background:var(--amber-bg);border-radius:6px;margin:0 0 7px;padding:6px 8px;font-size:9px;font-weight:750}.chips span{color:#456d65;background:#e8f8f3}.hotel .chips span{margin:1px;padding:4px 6px;font-size:9px}.split{grid-template-columns:1.25fr .75fr;gap:12px;display:grid}.panel h3{margin:0 0 14px;font-size:17px}.flight-list>div{border-top:1px solid var(--line);grid-template-columns:95px 60px 1fr;align-items:center;gap:12px;padding:13px 0;display:grid}.flight-list time,.flight-list span{color:var(--muted);font-size:12px}.flight-list i{color:var(--green);padding:0 5px;font-style:normal}.panel dl{margin:0}.panel dl>div{border-top:1px solid var(--line);grid-template-columns:75px 1fr;gap:12px;padding:13px 0;display:grid}.panel dt{color:var(--muted);font-size:11px}.panel dd{margin:0;font-size:13px;font-weight:650}.flight-facts{grid-template-columns:.9fr 1.35fr 1fr;gap:0;margin-top:10px;padding:0;display:grid}.flight-facts>div{border-right:1px solid var(--line);align-content:start;gap:3px;padding:17px 19px;display:grid}.flight-facts>div:last-child{border-right:0}.flight-facts small,.departure-head small{color:var(--green);letter-spacing:.08em;font-size:9px;font-weight:850}.flight-facts b{font-size:13px}.flight-facts p{color:var(--muted);margin:2px 0 0;font-size:10px;line-height:1.5}.weather-lead{justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.weather-lead small{color:var(--green);letter-spacing:.08em;font-size:10px;font-weight:800}.weather-lead h3{margin:3px 0 0;font-size:15px}.weather-lead>span{color:var(--amber);background:var(--amber-bg);white-space:nowrap;border-radius:18px;padding:6px 10px;font-size:11px}.weather-grid{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;gap:9px;margin-top:10px;padding-bottom:5px;display:flex;overflow-x:auto}.weather-grid::-webkit-scrollbar{display:none}.weather-grid article{scroll-snap-align:start;border:1px solid var(--line);background:#fff;border-radius:10px;flex:0 0 210px;gap:3px;padding:14px;display:grid}.weather-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.weather-card-head small{color:var(--green);font-size:10px;font-weight:800}.weather-card-head em{color:var(--amber);background:var(--amber-bg);border-radius:4px;padding:3px 5px;font-size:8px;font-style:normal}.weather-grid>article>b{margin-top:5px;font-size:14px}.temperature{align-items:baseline;gap:5px;margin:7px 0 5px;display:flex}.temperature strong{font-size:25px;line-height:1}.temperature i{color:var(--line);font-style:normal}.temperature span{color:var(--muted);font-size:16px}.weather-grid dl{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin:0;padding:7px 0;display:grid}.weather-grid dl>div:last-child{border-left:1px solid var(--line);padding-left:9px}.weather-grid dt{color:var(--muted);font-size:8px}.weather-grid dd{margin:1px 0 0;font-size:10px;font-weight:750}.weather-grid p{color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.45}.astro-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.astro-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px}.stars-card{color:#fff;background:linear-gradient(145deg,#173f39,#2d655d);border-color:#2d655d}.aurora-card{background:linear-gradient(145deg,#f1f8f5,#e3f1ed)}.astro-head{align-items:center;gap:10px;display:flex}.astro-head>span{background:#ffffff21;border-radius:9px;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.aurora-card .astro-head>span{color:var(--green);background:#d5e9e3}.astro-head small{letter-spacing:.1em;opacity:.66;font-size:9px}.astro-head h3{margin:1px 0 0;font-size:17px}.astro-card>strong{margin:18px 0 7px;font-size:14px;display:block}.astro-card>p{opacity:.77;margin:0;font-size:11px;line-height:1.65}.forecast-checks{flex-wrap:wrap;gap:5px;margin-top:14px;display:flex}.forecast-checks span{background:#ffffff1c;border-radius:5px;padding:5px 7px;font-size:9px}.aurora-card .forecast-checks span{color:#356b61;background:#d7eae4}.source-links{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.source-links a{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:700;text-decoration:none}.source-links a:hover{color:var(--green);border-color:#8fbab0}.source-links span{color:var(--green);margin-left:7px}.budget-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.budget-grid article{border:1px solid var(--line);background:#fff;border-radius:10px;gap:3px;padding:17px;display:grid}.budget-grid small{color:var(--muted);font-size:11px}.budget-grid span{color:var(--green);font-size:11px}.fare-note,.saving-note{background:var(--mint);border-radius:9px;gap:10px;margin-top:9px;padding:11px 14px;font-size:11px;display:flex}.fare-note b,.saving-note b{color:var(--green);white-space:nowrap}.fare-note span,.saving-note span{color:#55736d}.saving-note{background:var(--amber-bg)}.saving-note b{color:var(--amber)}.tips-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tips-grid>a,.tips-grid>div{border:1px solid var(--line);background:#fff;border-radius:10px;gap:6px;padding:17px;text-decoration:none;display:grid}.tips-grid small{color:var(--muted);font-size:11px}.tips-grid b{color:var(--green);font-size:17px}.practical-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:10px;display:grid}.practical-grid article{border:1px solid var(--line);background:#fff;border-radius:10px;padding:17px 17px 16px 52px;position:relative}.practical-grid article>span{background:var(--mint);width:25px;height:25px;color:var(--green);border-radius:7px;place-items:center;font-size:9px;font-weight:900;display:grid;position:absolute;top:17px;left:15px}.practical-grid .tip-stage{color:#78908a;letter-spacing:.08em;margin-bottom:2px;font-size:8px;font-weight:850;display:block}.practical-grid h3{margin:0 0 5px;font-size:14px}.practical-grid p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.tip-links{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.tip-links a{color:var(--green);background:var(--mint);border-radius:7px;padding:8px 10px;font-size:10px;font-weight:700;text-decoration:none}footer{border-top:1px solid var(--line);background:#fff}footer .wrap{min-height:90px;color:var(--muted);justify-content:space-between;align-items:center;padding:18px 0;font-size:11px;display:flex}footer b{color:var(--ink);letter-spacing:.08em}footer .wrap>div{text-align:right;gap:4px;display:grid}footer small{color:#8b9693;font-size:10px}@media (max-width:860px){.hero-inner{grid-template-columns:1fr;gap:18px}.hero-meta{max-width:600px}.route-strip{grid-template-columns:repeat(4,1fr)}.route-stop:nth-child(4){border-right:0}.route-stop{border-bottom:1px solid var(--line)}.hotel-grid{grid-template-columns:repeat(2,1fr)}.split,.astro-grid{grid-template-columns:1fr}.tips-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){body{font-size:14px}.wrap{width:min(100% - 24px,1180px)}.hero{padding:22px 0 18px}.hero-topline{justify-content:space-between;margin-bottom:8px}.hero h1{white-space:normal;font-size:27px}.subtitle{margin-top:7px;font-size:12px}.hero-inner{gap:14px}.hero-meta{grid-template-columns:1fr 1fr;gap:5px}.hero-meta>div{padding:7px 9px}.hero-meta b{font-size:11px}.quick-nav .wrap{width:100%;height:50px;padding:0 12px}.quick-nav a{padding:7px 11px;font-size:12px}.page{padding-top:12px}.section{padding-top:26px}.section-title h2{font-size:20px}.route-strip{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.route-stop{scroll-snap-align:start;border-bottom:0;min-width:145px}.notice{align-items:flex-start}.day-head{grid-template-columns:50px minmax(0,1fr) 18px;grid-template-areas:"number date arrow""main main arrow";gap:3px 8px;padding:13px 11px}.day-no{grid-area:number}.day-date{white-space:nowrap;grid-area:date}.day-main{grid-area:main;gap:2px;display:grid;overflow:hidden}.day-main b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.day-sub{gap:6px;min-width:0}.day-sub small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.day-weather-mini{flex:none}.day-tags{display:none}.arrow{grid-area:arrow;align-self:center}.day-body{padding:9px 12px 14px}.day-forecast{flex-wrap:wrap;gap:5px 7px}.day-forecast em{width:100%;margin-left:23px}.all-tags{display:block}.day-note{gap:2px;display:grid}.timeline-item{grid-template-columns:62px 10px 1fr;gap:8px}.hotel-grid,.budget-grid,.tips-grid{grid-template-columns:1fr}.weather-grid{gap:7px;margin-right:-12px;padding-right:12px}.weather-grid article{flex-basis:165px;padding:11px}.weather-card-head em{font-size:7px}.temperature strong{font-size:22px}.weather-lead{padding:16px;display:grid}.weather-lead>span{justify-self:start}.astro-card{padding:17px}.source-links{grid-template-columns:1fr 1fr;display:grid}.source-links a{justify-content:space-between;display:flex}.practical-grid{grid-template-columns:1fr}.tip-links{grid-template-columns:1fr 1fr;display:grid}.tip-links a{align-items:center;display:flex}.hotel{padding:17px}.flight-list>div{grid-template-columns:82px 48px 1fr;gap:8px}.panel{padding:17px}.flight-facts{grid-template-columns:1fr;padding:0}.flight-facts>div{border-right:0;border-bottom:1px solid var(--line);padding:14px 16px}.flight-facts>div:last-child{border-bottom:0}.fare-note,.saving-note{gap:2px;display:grid}.tips-grid b{font-size:15px}footer .wrap{gap:7px;min-height:0;padding:22px 0;display:grid}footer .wrap>div{text-align:left}}body{background:repeating-radial-gradient(ellipse at 108% 8%,transparent 0 58px,#32786b06 59px 60px),repeating-radial-gradient(ellipse at -12% 72%,transparent 0 82px,#32786b05 83px 84px),radial-gradient(circle at 8% 18%,#32786b0b,transparent 20%),radial-gradient(circle at 94% 52%,#c8882d09,transparent 18%),var(--bg)}.hero-actions{align-items:center;display:flex}.lang-switch{white-space:nowrap;flex:none;justify-content:center;height:30px;padding:0 10px}.lang-switch:focus-visible{outline-offset:2px;outline:2px solid #fff}:root[data-theme=night] .hero{background:linear-gradient(135deg,#173b34 0%,#24594f 62%,#356d62 100%)}:root[data-theme=night] .day-head,:root[data-theme=night] .weather-grid article,:root[data-theme=night] .astro-card:not(.stars-card),:root[data-theme=night] .budget-grid article,:root[data-theme=night] .tips-grid>a,:root[data-theme=night] .tips-grid>div,:root[data-theme=night] .practical-grid article,:root[data-theme=night] .source-links a,:root[data-theme=night] footer{background:var(--card)}:root[data-theme=night] .day-head:hover{background:var(--hover)}:root[data-theme=night] .compact .day-head:hover{background:var(--card)}:root[data-theme=night] .day-body{background:var(--soft)}:root[data-theme=night] .day-forecast{background:#193630;border-color:#2b4d45}:root[data-theme=night] .day-weather-mini{background:#203c36}:root[data-theme=night] .aurora-card{background:linear-gradient(145deg,#19312d,#203c36)}:root[data-theme=night] .section-title>span{background:linear-gradient(145deg,#203c36,#19312d);border-color:#294a43}:root[data-theme=night] .chips span{color:#a8d6cb;background:#203c36}:root[data-theme=night] .fare-note span,:root[data-theme=night] .saving-note span{color:#a7b9b4}:root[data-theme=night] footer small{color:#819791}:root[data-theme=night] .aurora-card .forecast-checks span{color:#b8ded5;background:#29473f}@media (max-width:600px){.day-head{grid-template-columns:56px minmax(0,1fr) 18px}.hotel{padding:14px}}.timeline-item{grid-template-columns:66px 12px 1fr}.timeline-item time{white-space:nowrap}@media (max-width:600px){.timeline-item{grid-template-columns:62px 10px 1fr}.hero-topline{gap:6px}.hero-actions{margin-left:auto}.lang-switch{height:28px}.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.hotel{border-radius:10px;min-width:0;padding:11px}.hotel-top{gap:5px}.hotel-top>span,.hotel-top em{white-space:nowrap;padding:3px 6px;font-size:8px}.hotel h3{overflow-wrap:anywhere;margin:8px 0 3px;font-size:13px;line-height:1.32}.hotel .muted{font-size:9px;line-height:1.35}.hotel>strong{overflow-wrap:anywhere;margin:8px 0 4px;font-size:14px;line-height:1.3}.hotel-saving{margin-bottom:5px;padding:5px 6px;font-size:8px;line-height:1.4}.hotel .chips{line-height:1.15}.hotel .chips span{margin:1px 0;padding:3px 5px;font-size:8px;line-height:1.25}}.route-stop{min-height:106px;padding:15px 12px}.route-stop>span{width:21px;height:21px;font-size:10px;top:10px;right:10px}.route-stop b{margin-top:14px;font-size:14px}.panel{padding:18px}.panel h3{margin-bottom:10px;font-size:15px}.flight-list>div,.panel dl>div{padding:10px 0}.flight-facts>div{padding:14px 16px}.weather-lead{padding:15px 16px}.weather-grid article{flex-basis:190px;padding:12px}.temperature strong{font-size:23px}.astro-card{padding:16px}.astro-head h3{font-size:15px}.astro-card>strong{margin:13px 0 6px}.forecast-checks{margin-top:10px}.budget-grid article{padding:13px}.budget-grid small{font-size:10px}.budget-grid b{font-size:15px}.budget-grid span{font-size:10px}.tips-grid>a,.tips-grid>div{padding:13px}.tips-grid small{font-size:10px}.tips-grid b{font-size:15px}.practical-grid article{padding:14px 14px 13px 45px}.practical-grid article>span{width:23px;height:23px;top:14px;left:12px}.practical-grid h3{font-size:13px}.tip-links a{padding:7px 9px}@media (max-width:600px){.section{padding-top:23px}.section-title{gap:9px;margin-bottom:12px}.section-title>span{border-radius:8px;width:30px;height:30px}.section-title h2{font-size:19px}.section-title p{font-size:10px}.route-strip{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);scrollbar-width:none;border-radius:10px;gap:0;display:flex;overflow-x:auto}.route-strip::-webkit-scrollbar{display:none}.route-stop{border:0;border-right:1px solid var(--line);background:var(--card);min-width:145px;min-height:90px;box-shadow:none;scroll-snap-align:start;border-radius:0;flex:0 0 145px;padding:11px}.route-stop:nth-child(4),.route-stop:last-child{border-right:1px solid var(--line);grid-column:auto}.route-stop:last-child{border-right:0}.route-stop>span{width:19px;height:19px;font-size:9px;top:8px;right:8px}.route-stop small{font-size:9px}.route-stop b{margin-top:11px;font-size:13px}.route-stop em{font-size:9px}.split{gap:7px}.panel{border-radius:10px;padding:12px}.panel h3{margin-bottom:7px;font-size:14px}.flight-list>div{grid-template-columns:76px 44px minmax(0,1fr);gap:6px;padding:8px 0}.flight-list time,.flight-list span{font-size:10px}.flight-list b{font-size:11px}.flight-list i{padding:0 2px}.panel dl>div{grid-template-columns:64px minmax(0,1fr);gap:8px;padding:8px 0}.panel dt{font-size:9px}.panel dd{font-size:11px}.flight-facts{grid-template-columns:1fr;padding:0}.flight-facts>div{padding:10px 12px}.flight-facts b{font-size:11px}.flight-facts p{font-size:9px}.weather-lead{gap:8px;padding:12px}.weather-lead small{font-size:8px}.weather-lead h3{font-size:12px;line-height:1.4}.weather-lead>span{padding:5px 8px;font-size:9px}.weather-grid article{flex-basis:150px;padding:10px}.weather-grid>article>b{font-size:12px}.temperature{margin:5px 0 4px}.temperature strong{font-size:20px}.temperature span{font-size:14px}.weather-grid p{font-size:9px}.astro-grid{gap:7px}.astro-card{border-radius:10px;padding:12px}.astro-head{gap:8px}.astro-head>span{width:28px;height:28px}.astro-head h3{font-size:13px;line-height:1.3}.astro-card>strong{margin:10px 0 5px;font-size:12px}.astro-card>p{font-size:10px;line-height:1.55}.forecast-checks span{padding:4px 6px;font-size:8px}.source-links{gap:6px}.source-links a{padding:7px 8px;font-size:9px}.notice{gap:7px;padding:10px 11px;font-size:10px}.budget-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.budget-grid article{border-radius:9px;min-width:0;padding:10px}.budget-grid small{font-size:9px}.budget-grid b{overflow-wrap:anywhere;font-size:13px;line-height:1.3}.budget-grid span{font-size:9px;line-height:1.35}.fare-note,.saving-note{padding:9px 10px;font-size:10px}.tips-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tips-grid>a,.tips-grid>div{min-width:0;padding:10px}.tips-grid small{font-size:9px;line-height:1.35}.tips-grid b{overflow-wrap:anywhere;font-size:13px}.practical-grid{gap:7px}.practical-grid article{padding:11px 11px 10px 41px}.practical-grid article>span{width:22px;height:22px;top:11px;left:10px}.practical-grid h3{margin-bottom:3px;font-size:12px}.practical-grid p{font-size:10px;line-height:1.5}.tip-links{gap:6px}.tip-links a{padding:7px 8px;font-size:9px}.timeline-item{grid-template-columns:52px 9px minmax(0,1fr);gap:7px}.timeline-item time{font-size:10px}}.hotel-grid{align-items:start}.hotel-top{flex-wrap:wrap;gap:6px}.hotel-top>span,.hotel-top em,.hotel .muted,.hotel-saving,.hotel .chips span{font-size:12px;line-height:1.5}.hotel h3{overflow-wrap:break-word;font-size:16px}.hotel .chips{flex-wrap:wrap;gap:4px;display:flex}.hotel .chips span{margin:0}.section-title>span{flex:none}.section-title p,.hero-meta small,.route-stop small,.route-stop em,.day-date,.day-no,.day-sub small,.day-weather-mini{font-size:12px}.hero-meta b,.lang-switch,.quick-nav a{font-size:14px}.lang-switch{min-width:58px;min-height:36px}.timeline-item{grid-template-columns:82px 10px minmax(0,1fr);gap:10px;min-height:64px;padding-bottom:14px}.timeline-item time{white-space:normal;overflow-wrap:break-word;font-variant-numeric:tabular-nums;font-size:12px}.timeline-item b{font-size:14px}.timeline-item p,.day-note{font-size:14px;line-height:1.65}.timeline-item>span:after{height:calc(100% + 50px)}.day-forecast b,.day-forecast small,.day-forecast em,.day-tags i,.all-tags i,.plan-status{font-size:12px}.day-main b{line-height:1.45}.day-main,.day-sub{flex-wrap:wrap}.panel dt,.panel dd,.flight-list time,.flight-list span,.flight-list b,.flight-facts b{font-size:14px}.flight-facts small,.flight-facts p,.weather-lead small,.weather-lead>span,.weather-card-head small,.weather-card-head em,.weather-grid dt,.weather-grid dd,.weather-grid p,.astro-head small,.forecast-checks span,.source-links a,.budget-grid small,.budget-grid span,.tips-grid small,.practical-grid .tip-stage,.tip-links a,footer small{font-size:12px}.weather-lead h3,.weather-grid>article>b,.astro-card>strong,.practical-grid h3{font-size:14px}.astro-card>p,.practical-grid p,.notice,.fare-note,.saving-note{font-size:14px;line-height:1.65}.weather-grid article{flex-basis:190px;align-content:start}.practical-grid article{padding-left:42px}.practical-grid article>span{width:22px;height:22px;left:11px}.map-footnote{padding:12px 16px}@media (min-width:601px) and (max-width:1000px){.day-head{grid-template-columns:56px 88px minmax(0,1fr) 20px;gap:10px}.day-tags{display:none}.all-tags{display:block}.day-main{gap:3px;display:grid}.day-body{padding-left:24px}}@media (max-width:600px){.map-layout{grid-template-columns:1fr}.map-directions{border-left:0;border-top:1px solid var(--line);max-height:none}.map-layout .trip-map-canvas{height:300px}.hotel{padding:12px}.hotel h3{font-size:14px;line-height:1.45}.hotel>strong{font-size:15px}.hotel-top>span,.hotel-top em{padding:3px 6px}.hotel-saving{padding:6px}.hotel .chips span{padding:3px 5px}.day-main b{white-space:normal;text-overflow:clip;overflow:visible}.day-sub small{white-space:normal}.day-sub{row-gap:4px}.timeline-item{grid-template-columns:72px 8px minmax(0,1fr);gap:8px}.timeline-item time{font-size:12px}.flight-list>div{grid-template-columns:78px 48px minmax(0,1fr);align-items:start}.flight-list b{overflow-wrap:break-word;line-height:1.6}.weather-grid article{flex-basis:180px}.budget-grid b,.tips-grid b{font-size:15px}.section-title p{line-height:1.5}}@media (max-width:359px){.hotel-grid{grid-template-columns:1fr}}.map-tabs{gap:4px;padding-bottom:8px}.map-tabs button{white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;min-width:0;min-height:44px;padding:6px 10px;display:flex}.map-tabs button b{font-size:14px}.map-tabs button small{opacity:.8;font-size:12px}.map-layout{grid-template-columns:minmax(0,1fr)}.map-directions{border-left:0;border-top:1px solid var(--line);max-height:none;padding:0;overflow:visible}.map-directions summary{cursor:pointer;align-items:center;gap:8px;min-height:48px;padding:10px 16px;font-size:14px;list-style:none;display:flex}.map-directions summary::-webkit-details-marker{display:none}.map-directions summary:before{content:"+";color:var(--green);font-size:18px}.map-directions[open] summary:before{content:"−"}.map-directions summary span{color:var(--muted);margin-left:auto;font-size:12px}.map-directions summary:focus-visible{outline:2px solid var(--green);outline-offset:-3px}.map-directions .map-stops{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:600px){.map-directions .map-stops{grid-template-columns:1fr}}.rental-panel{min-width:0;margin:14px 0}.rental-facts span{color:var(--muted);font-size:12px}.rental-panel h3{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.rental-panel h3 small{font-size:12px;font-weight:500}.rental-panel p{overflow-wrap:anywhere;margin:10px 0;font-size:13px;line-height:1.7}.rental-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.rental-facts small,.rental-facts b{display:block}.rental-facts small{opacity:.75;margin-bottom:4px;font-size:11px}.rental-facts b{font-size:15px}.rental-panel summary{cursor:pointer;padding:10px 0;font-size:13px}.rental-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.rental-panel .rental-notes>div{border:0;min-width:0;padding:0;display:block}.rental-notes dt{font-size:13px;font-weight:650}.rental-panel .rental-notes dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:12px;font-weight:400;line-height:1.7}.rental-sources{opacity:.8}@media (max-width:600px){.rental-notes{grid-template-columns:1fr}.rental-facts{gap:8px}.rental-facts b{font-size:13px}}.transport-card{border:1px solid var(--line);background:var(--card);border-radius:14px;margin:12px 0;overflow:hidden;box-shadow:0 2px 8px #00000004}.transport-card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}#transport .transport-card-head h3{margin:0;font-size:16px;font-weight:650}.transport-badge{color:var(--green);background:var(--mint);white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:11px}.flight-card>.panel{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:18px}.flight-card>.flight-facts{border-top:1px solid var(--line);padding:0}.rental-panel.transport-card{padding:18px}.rental-status{color:var(--green)}.tekapo-stay{grid-column:1/-1;max-width:100%}.stay-switch{gap:6px;margin:12px 0;display:flex}.stay-switch button{border:1px solid var(--line);background:var(--soft);color:var(--ink);font:inherit;cursor:pointer;border-radius:7px;padding:9px 14px}.stay-switch button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.stay-switch button:focus-visible{outline:2px solid var(--green);outline-offset:3px}.stay-option{border:1px solid var(--line);border-radius:9px;padding:12px 14px}.stay-option h4{margin:0 0 5px;font-size:15px}.stay-option p{margin:6px 0;font-size:13px;line-height:1.6}.stay-price{flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin:12px 0;display:flex}.stay-price small,.stay-price>span{color:var(--muted);font-size:12px;font-weight:400}.stay-option ul{margin:10px 0;padding-left:18px;font-size:13px;line-height:1.8}.stay-cancel{color:var(--amber)}.stay-caution,.stay-beds{color:var(--muted)}.stay-option a{color:var(--green);font-size:13px}.tekapo-stay .stay-footnote{color:var(--muted);margin-bottom:0;font-size:11px;line-height:1.6}@media (min-width:900px){.tekapo-stay{grid-column:span 2}}@media (max-width:600px){.stay-switch button{flex:1;padding:9px 6px;font-size:12px}.stay-option{padding:10px}.stay-price{gap:4px;display:grid}}.rental-facts{border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:12px}.rental-panel details{border-top:1px solid var(--line);margin-top:14px}.rental-panel summary{color:var(--green);padding:12px 0;font-weight:550}.flight-card .flight-list b{white-space:nowrap;overflow-wrap:normal}.hotel.tekapo-stay{grid-column:auto;min-width:0}.tekapo-stay .stay-switch{gap:4px;margin:8px 0}.tekapo-stay .stay-switch button{flex:1;padding:6px 8px;font-size:12px}.tekapo-stay .stay-option{border:0;border-radius:0;padding:0}.tekapo-stay .stay-price{margin:8px 0 4px;display:block}.tekapo-stay .stay-price strong{color:var(--green);font-size:17px}.tekapo-stay .stay-price small{font-size:11px}.tekapo-stay .stay-cancel{margin:8px 0 5px;font-size:11px;line-height:1.5}.stay-cancel small{color:var(--muted);font-size:10px;display:block}.tekapo-stay summary{color:var(--green);cursor:pointer;padding:4px 0;font-size:11px}.tekapo-stay details[open]{border-top:1px solid var(--line);margin-top:7px;padding-top:5px}.tekapo-stay details h4{margin-top:7px;font-size:13px}.tekapo-stay details p,.tekapo-stay details li,.tekapo-stay details a{font-size:12px}@media (max-width:600px){.tekapo-stay .stay-switch button{padding:6px 4px;font-size:11px}.tekapo-stay .stay-price strong{font-size:15px}.tekapo-stay .stay-cancel{font-size:10px}.flight-card .flight-list>div{grid-template-columns:78px 52px minmax(0,1fr)}.flight-card>.panel:not(.flight-facts),.rental-panel.transport-card{padding:14px}.transport-card-head{gap:8px}#transport .transport-card-head h3{font-size:14px}.transport-badge{font-size:10px}.rental-facts{padding:10px 8px}.flight-card .flight-facts>div:last-child{border-bottom:0}}
