:root,:root[data-theme=dark]{--bg:#070d1c;--bg-deep:#050a16;--sky-1:#123055;--sky-2:#1d3b63;--dusk:#4a3a74;--ember:#d9744a;--sand:#f0b072;--surface:#162035c7;--surface-solid:#16202f;--surface-2:#1e2a44d9;--border:#7e9cd638;--border-strong:#7e9cd66b;--text:#eaf0fb;--muted:#9dabc8;--accent:#56b0ff;--accent-2:#3fd9b0;--accent-warm:#ffb87a;--warn:#ffb547;--danger:#ff6b6b;--on-accent:#04101f;--star-opacity:1;--veil-top:#070d1c33;--veil-mid:#070d1cb8;--veil-bottom:#070d1ceb;--hero-veil:linear-gradient(105deg, #070d1ce6 0%, #070d1cbd 46%, #070d1c4d 100%);--hero-title:#fff;--hero-text:#c6d2e8;--radius:16px;--radius-lg:22px;--shadow:0 18px 40px -24px #000000e6;--shadow-lift:0 26px 60px -28px #000000f2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#eef4fc;--bg-deep:#dceafb;--sky-1:#bfdcf7;--sky-2:#d6e7fa;--dusk:#f3e2ef;--ember:#fbd9b4;--sand:#fdeacd;--surface:#ffffffeb;--surface-solid:#fff;--surface-2:#f1f6fdf2;--border:#183a6e24;--border-strong:#183a6e4d;--text:#122038;--muted:#5b6b86;--accent:#0a6fd8;--accent-2:#0f9e7a;--accent-warm:#c2661f;--warn:#a96a05;--danger:#c62f34;--on-accent:#fff;--star-opacity:0;--veil-top:#eef4fc1a;--veil-mid:#eef4fc8c;--veil-bottom:#eef4fce0;--hero-veil:linear-gradient(105deg, #fffffff0 0%, #fffc 46%, #ffffff52 100%);--hero-title:#0d1f3c;--hero-text:#35486a;--shadow:0 14px 30px -20px #142d5a66;--shadow-lift:0 22px 46px -24px #142d5a73;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;line-height:1.5;position:relative;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(1200px 520px at 78% -8%, #56b0ff29, transparent 70%), radial-gradient(900px 460px at 12% 4%, #7a60be2e, transparent 72%), linear-gradient(180deg, var(--bg-deep) 0%, var(--sky-1) 38%, var(--sky-2) 58%, var(--dusk) 78%, var(--ember) 100%);position:fixed;inset:0}body .starfield{z-index:-2;pointer-events:none;opacity:var(--star-opacity);background:radial-gradient(1px 1px at 12% 18%,#ffffff8c 50%,#0000 50%),radial-gradient(1px 1px at 27% 9%,#fff6 50%,#0000 50%),radial-gradient(1.4px 1.4px at 41% 24%,#fff9 50%,#0000 50%),radial-gradient(1px 1px at 58% 12%,#ffffff59 50%,#0000 50%),radial-gradient(1.2px 1.2px at 73% 21%,#ffffff80 50%,#0000 50%),radial-gradient(1px 1px at 86% 7%,#ffffff73 50%,#0000 50%),radial-gradient(1px 1px at 94% 29%,#ffffff4d 50%,#0000 50%),radial-gradient(1px 1px at 6% 33%,#ffffff4d 50%,#0000 50%);transition:opacity .3s;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(180deg, var(--veil-top) 0%, var(--veil-mid) 45%, var(--veil-bottom) 100%);position:fixed;inset:0}button,input,select{font:inherit;color:inherit}::selection{background:#56b0ff59}*{scrollbar-width:thin;scrollbar-color:#7e9cd659 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#7e9cd64d padding-box content-box;border:3px solid #0000;border-radius:999px}.app{max-width:1180px;margin:0 auto;padding:0 20px 64px}.masthead{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lift);isolation:isolate;margin:18px 0 8px;position:relative;overflow:hidden}.hero-scene{z-index:-1;position:absolute;inset:0}.hero-scene svg{width:100%;height:100%;display:block}.hero-scene .sky-a{stop-color:#0a1730}.hero-scene .sky-b{stop-color:#254070}.hero-scene .sky-c{stop-color:#6b4a86}.hero-scene .sky-d{stop-color:#d0714c}.hero-scene .sky-e{stop-color:#f5b877}.hero-scene .sun-a{stop-color:#ffe6b8}.hero-scene .sun-b{stop-color:#ffb066}.hero-scene .sun-c{stop-color:#ff8a4a}.hero-scene .far-a{stop-color:#3b3f72}.hero-scene .far-b{stop-color:#2a2b55}.hero-scene .mid-a{stop-color:#242a51}.hero-scene .mid-b{stop-color:#171a37}.hero-scene .near-a{stop-color:#111527}.hero-scene .near-b{stop-color:#090c18}.hero-scene .sea-a{stop-color:#c8794f}.hero-scene .sea-b{stop-color:#2b2350}.hero-scene .hero-sun-core{fill:#ffd9a0}.hero-scene .cloud-cool{fill:#8fa6d8}.hero-scene .cloud-warm{fill:#e0a78a}.hero-scene .hero-route{stroke:#ffffff73}.hero-scene .hero-pin.start{fill:#3fd9b0}.hero-scene .hero-pin.end{fill:#ffb87a}.hero-scene .hero-plane path{fill:#eaf0fb}.hero-scene .hero-glints{stroke:#ffd9a0}.hero-scene .hero-palm-trunk{stroke:#0a0e1b}.hero-scene .hero-palm-leaf{fill:#0a0e1b}[data-theme=light] .hero-scene .sky-a{stop-color:#4b93d8}[data-theme=light] .hero-scene .sky-b{stop-color:#7fbbe8}[data-theme=light] .hero-scene .sky-c{stop-color:#b6dcf3}[data-theme=light] .hero-scene .sky-d{stop-color:#dceffb}[data-theme=light] .hero-scene .sky-e{stop-color:#fdf1dc}[data-theme=light] .hero-scene .sun-a{stop-color:#fffaf0}[data-theme=light] .hero-scene .sun-b{stop-color:#ffe4a8}[data-theme=light] .hero-scene .sun-c{stop-color:#ffd070}[data-theme=light] .hero-scene .far-a{stop-color:#7fa6c9}[data-theme=light] .hero-scene .far-b{stop-color:#648bb2}[data-theme=light] .hero-scene .mid-a{stop-color:#4d7fa5}[data-theme=light] .hero-scene .mid-b{stop-color:#3a6b91}[data-theme=light] .hero-scene .near-a{stop-color:#2f6b63}[data-theme=light] .hero-scene .near-b{stop-color:#1f4f4c}[data-theme=light] .hero-scene .sea-a{stop-color:#7fc6e0}[data-theme=light] .hero-scene .sea-b{stop-color:#3f8fc0}[data-theme=light] .hero-scene .hero-sun-core{fill:#fff6d8}[data-theme=light] .hero-scene .cloud-cool,[data-theme=light] .hero-scene .cloud-warm{fill:#fff}[data-theme=light] .hero-scene .hero-route{stroke:#ffffffd9}[data-theme=light] .hero-scene .hero-plane path{fill:#fff}[data-theme=light] .hero-scene .hero-glints{stroke:#fff}[data-theme=light] .hero-scene .hero-palm-trunk{stroke:#12402f}[data-theme=light] .hero-scene .hero-palm-leaf{fill:#12402f}.hero-route{animation:3.2s linear infinite route-drift}.hero-pin{transform-origin:50%;animation:2.6s ease-in-out infinite pin-pulse}.hero-clouds{animation:26s ease-in-out infinite alternate cloud-drift}@keyframes route-drift{to{stroke-dashoffset:-36px}}@keyframes pin-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes cloud-drift{0%{transform:translate(-16px)}to{transform:translate(24px)}}.masthead-body{background:var(--hero-veil);padding:30px 28px 24px}.masthead-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.theme-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#7f7f7f24;border-radius:999px;padding:6px 14px;font-size:.82rem}.theme-toggle:hover{border-color:var(--accent)}.masthead.compact .masthead-body{padding:16px 22px 14px}.masthead.compact h1{margin-top:6px;font-size:1.5rem}.masthead.compact p,.masthead.compact .masthead-points{display:none}.brand-mark{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent-2) 35%, transparent);border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:.74rem;display:inline-flex}.brand-dot{background:var(--accent-2);width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-2) 20%, transparent);border-radius:50%}.masthead h1{letter-spacing:-.03em;background:linear-gradient(92deg, var(--hero-title) 0%, var(--accent) 45%, var(--accent-2) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:12px 0 0;font-size:clamp(2.4rem,6vw,3.4rem)}.masthead p{color:var(--hero-text);max-width:58ch;margin:8px 0 16px}.masthead-points{flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none;display:flex}.masthead-points li{color:var(--hero-text);border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#7f7f7f1f;border-radius:999px;padding:6px 12px;font-size:.85rem}.plan-tabs{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);margin:18px 0 0;padding:10px 10px 4px;position:sticky;top:0}.plan-progress{background:var(--surface-2);border-radius:999px;height:3px;margin:0 6px 8px;overflow:hidden}.plan-progress span{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%;transition:width .3s;display:block}.plan-tabs ol{gap:6px;margin:0;padding:0 2px 6px;list-style:none;display:flex;overflow-x:auto}.plan-tabs li{flex:1 1 0;min-width:150px}.plan-tab{text-align:left;cursor:pointer;width:100%;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.plan-tab:hover{background:var(--surface-2);color:var(--text)}.plan-tab.current{background:var(--surface-2);border-color:var(--accent);color:var(--text)}.plan-tab-badge{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.95rem;display:grid}.plan-tab.current .plan-tab-badge{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--on-accent);border-color:#0000}.plan-tab.past .plan-tab-badge{color:var(--accent-2);border-color:var(--accent-2)}.plan-tab-text{min-width:0;display:grid}.plan-tab-text strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.92rem;font-weight:600;display:-webkit-box;overflow:hidden}.step-count{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:600;display:block}.plan-tab-text em{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;font-style:normal;display:-webkit-box;overflow:hidden}.step-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.running-total{z-index:15;background:var(--surface);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-lift);border-radius:999px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:12px 16px;display:flex;position:sticky;bottom:14px}.running-total>div{line-height:1.2;display:grid}.running-total strong{font-size:1.15rem}@media (width<=640px){.plan-tabs li{min-width:128px}.plan-tab-text em{display:none}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);padding:18px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);margin-top:28px;padding:22px 22px 24px}.panel>h2{margin:0 0 14px;padding-left:14px;font-size:1.35rem;position:relative}.panel>h2:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-2));border-radius:999px;width:4px;position:absolute;top:2px;bottom:2px;left:0}.panel .card{background:var(--surface-2)}.panel>h3{margin:20px 0 8px;font-size:1.05rem}@media (prefers-reduced-motion:reduce){.hero-route,.hero-pin,.hero-clouds{animation:none}}.muted{color:var(--muted)}.small{font-size:.86rem}.error{color:var(--danger);margin-top:16px}.trip-form{gap:18px;display:grid}.grid{gap:14px;display:grid}.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.grid.three{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}label{align-content:start;gap:6px;font-size:.9rem;display:grid}.place-select{align-content:start;gap:10px;display:grid}.place-select .hint{margin:0}label>span{color:var(--muted)}input,select{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;width:100%;padding:10px 12px}input[type=checkbox],input[type=radio]{width:auto;padding:0}input[type=range]{border:0;padding:0}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}fieldset.travellers{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 18px}fieldset.travellers legend{color:var(--muted);padding:0 6px;font-size:.9rem}.hint{color:var(--muted);margin:0 0 10px;font-size:.85rem}.traveller-chips{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.traveller-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 12px;display:flex}.traveller-chip label{color:var(--muted);font-size:.8rem}.traveller-chip input{border-radius:8px;width:62px;padding:5px 8px}.traveller-chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;min-width:32px;min-height:32px;padding:0 6px;font-size:1.1rem;line-height:1}.traveller-chip button:hover{color:var(--danger)}button.primary{background:linear-gradient(95deg, var(--accent), var(--accent-2));color:var(--on-accent);cursor:pointer;border:none;border-radius:12px;padding:12px 18px;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 10px 24px -12px #56b0ffe6}button.primary:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 16px 30px -12px #56b0fff2}button.primary:disabled{opacity:.6;cursor:progress}button.ghost{border:1px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px}button.ghost:hover{color:var(--text);border-color:var(--accent)}button.ghost.small{border-style:solid;padding:4px 10px;font-size:.82rem}.chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:.84rem}.summary-panel{background:radial-gradient(520px 200px at 100% 0%, #ff964624, transparent 70%), var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:22px}.summary-panel>h2{letter-spacing:-.02em;font-size:1.6rem}.chip.accent{color:var(--accent-warm);border-color:color-mix(in srgb, var(--accent-warm) 45%, transparent);background:color-mix(in srgb, var(--accent-warm) 12%, transparent)}.bullets{gap:6px;margin:0;padding-left:18px;display:grid}.bullets.summary li{font-size:.98rem}.bullets.warn li{color:var(--warn)}.callout{background:var(--surface-2);border-left:3px solid var(--accent);border-radius:8px;margin:0 0 16px;padding:12px 14px}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:16px;display:grid}.mode-card.unavailable{opacity:.55}.card header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.mode-grid>.card,.option-list>.option,.hotel-list>li{transition:transform .16s,border-color .16s,box-shadow .16s}.mode-grid>.card:hover,.option-list>.option:hover,.hotel-list>li:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lift);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.mode-grid>.card,.option-list>.option,.hotel-list>li,button.primary{transition:none}.mode-grid>.card:hover,.option-list>.option:hover,.hotel-list>li:hover,button.primary:hover:not(:disabled){transform:none}}.card header h3{margin:0;font-size:1.1rem}.card.recommended{border-color:var(--accent-2);box-shadow:0 0 0 1px #2ed3a740}.mode-stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;display:grid}.mode-stats.two-up{grid-template-columns:repeat(2,1fr)}.mode-stats div{background:var(--surface-2);border-radius:10px;padding:8px 10px;display:grid}.mode-stats strong{font-size:1.02rem}.mode-stats span{color:var(--muted);font-size:.76rem}.bars{gap:6px;margin-bottom:12px;display:grid}.bar-row{color:var(--muted);grid-template-columns:110px 1fr 32px;align-items:center;gap:8px;font-size:.8rem;display:grid}.bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.bar div{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%}.bar-row em{text-align:right;font-style:normal}.badge{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge.best,.badge.in-budget{color:var(--accent-2);background:#2ed3a72e}.badge.soft{background:var(--surface-2);color:var(--muted);font-weight:500}.badge.cheapest{color:var(--accent);background:#4ea1ff2e}.badge.direct{color:var(--accent-2);background:#2ed3a729}.badge.fastest{color:var(--warn);background:#ffb5472e}.badge.best-value{color:#b79bff;background:#a882ff33}.badge.family-friendly{color:#ff8abe;background:#ff8abe2e}.badge.over-budget{color:var(--danger);background:#ff6b6b29}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tab{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--muted);border-radius:999px;padding:7px 16px}.tab.active{border-color:var(--accent);color:var(--text)}.tab:disabled{opacity:.4;cursor:not-allowed}.tab .count{opacity:.7;font-size:.75rem}.option-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.option{flex-wrap:wrap;justify-content:space-between;gap:18px;display:flex}.option.tagged{border-color:#33456e}.option-main h4{margin:0 0 4px;font-size:1rem}.option-main p{margin:2px 0}.timeline{font-size:.92rem}.tag-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.option-price{text-align:right;align-content:start;justify-items:end;min-width:170px;display:grid}.option-price strong{font-size:1.15rem}.option-price span{color:var(--muted);font-size:.78rem}.leg-note{border-left:3px solid var(--accent);background:var(--surface-2);color:var(--muted);border-radius:0 8px 8px 0;margin:8px 0 0;padding:8px 10px;font-size:.8rem;line-height:1.5}.leg-note strong{color:var(--text);font-weight:600}.verdict{margin:0 0 8px;font-size:.88rem;font-weight:600}.verdict.best-fit{color:var(--accent-2)}.verdict.comfortable{color:var(--accent)}.verdict.stretch{color:var(--warn)}.verdict.over-budget{color:var(--danger)}.hotel-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.hotel-list li{background:var(--surface-2);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.hotel-name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.tiny{font-size:.72rem;line-height:1.45}.pill.subtle.tiny{cursor:help;padding:1px 7px;font-weight:500}.hotel-price{color:var(--accent);font-size:.9rem}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.budget-table{border-collapse:collapse;width:100%;min-width:720px}.budget-table th,.budget-table td{text-align:left;border-bottom:1px solid var(--border);padding:11px 14px;font-size:.92rem}.budget-table th{color:var(--muted);background:var(--surface-2);font-weight:600}.budget-table td.num{text-align:right;font-variant-numeric:tabular-nums}.recommended-row{background:#2ed3a712}.detail-row td{background:var(--surface-2)}.breakdown{gap:6px;margin:0;padding:0;list-style:none;display:grid}.breakdown li{justify-content:space-between;gap:16px;font-size:.88rem;display:flex}.breakdown li.total{border-top:1px solid var(--border);padding-top:6px;font-weight:700}.itinerary{counter-reset:day;gap:12px;margin:0;padding:0;list-style:none;display:grid}.itinerary li.card header{margin-bottom:8px}footer{border-top:1px solid var(--border);margin-top:48px;padding-top:16px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-head h2{margin:0;font-size:1.35rem}button.ghost.active{border-color:var(--accent-2);color:var(--accent-2)}.select-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;margin-top:8px;padding:6px 18px;font-size:.85rem;font-weight:600}.select-btn:hover{background:#4ea1ff1f}.select-btn.selected{background:var(--accent-2);border-color:var(--accent-2);color:var(--on-accent)}.option.selected,.hotel-list li.selected{border:1px solid var(--accent-2);box-shadow:0 0 0 1px #2ed3a740}.hotel-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.hotel-foot .select-btn{margin-top:0;padding:4px 14px}.check-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.check-list label{background:var(--surface-2);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.check-list input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-2);flex:none;margin-top:2px}.check-list span{gap:2px;display:grid}.check-list em{font-style:normal}.cart-list{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}.cart-list li{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.cart-list h4{margin:6px 0 2px;font-size:1rem}.cart-list p{margin:0}.cart-list strong{white-space:nowrap;font-size:1.05rem}.ref{color:var(--accent-2);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.82rem;margin-top:6px!important}.excluded{border:1px dashed var(--border);border-radius:var(--radius);margin-bottom:16px;padding:14px 16px}.excluded h3{color:var(--muted);margin:0 0 8px;font-size:.98rem}.warn-callout{border-left-color:var(--warn)}.cart-total{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.cart-total>div{gap:2px;display:grid}.grand-total{font-size:1.8rem;line-height:1.2}.checkout-form{gap:18px;display:grid}.checkout-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.confirmation{border-color:var(--accent-2);gap:12px;display:grid}.confirmation h2{letter-spacing:.04em;margin:4px 0 0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.confirmation>.badge{justify-self:start}.badge.demand-low{color:var(--accent-2);background:#2ed3a72e}.badge.demand-normal{color:var(--accent);background:#4ea1ff29}.badge.demand-high{color:var(--warn);background:#ffb0202e}.date-list{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.date-list li{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.date-main h4{margin:0 0 2px;font-size:1.05rem}.date-main .bullets{margin-top:8px}.date-side{text-align:right;flex:none;justify-items:end;gap:4px;display:grid}.saving{color:var(--accent-2);font-size:1.2rem}.method-tabs{flex-wrap:wrap;gap:8px;display:flex}.method-tabs button{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 18px;font-weight:600}.method-tabs button.active{border-color:var(--accent);color:var(--text);background:#4ea1ff24}.hint.secure{border-left:2px solid var(--accent-2);padding-left:10px}.account-bar{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;font-size:.9rem;display:flex}.account-bar strong{color:var(--text)}.auth-form{flex-basis:100%;gap:16px;max-width:620px;margin-top:6px;display:grid}.saved-travellers{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.saved-list{gap:10px;margin:8px 0 20px;padding:0;list-style:none;display:grid}.saved-list li{justify-content:space-between;align-items:center;gap:16px;display:flex}.saved-list h4{margin:0 0 2px;font-size:1rem}.saved-list p{margin:0}@media (width<=620px){.option-price{text-align:left;justify-items:start}.bar-row{grid-template-columns:96px 1fr 30px}.cart-list li,.date-list li{flex-direction:column}.date-side{text-align:left;justify-items:start}}[data-theme=light] .badge.best-value{color:#6b3fd4}[data-theme=light] .badge.family-friendly{color:#c2266f}[data-theme=light] .option.tagged{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}[data-theme=light] .masthead-points li,[data-theme=light] .theme-toggle{background:#ffffffb8}.scenic-callout{border-radius:var(--radius-lg);border:1px solid var(--border-strong);border-left:4px solid var(--accent-2);background:color-mix(in srgb, var(--accent-2) 10%, transparent);margin:0 0 16px;padding:14px 16px}.scenic-callout.worth-it-with-care{border-left-color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent)}.scenic-callout.not-with-this-group{border-left-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.scenic-callout h4{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-size:1rem;display:flex}.scenic-callout p{margin:0 0 6px}.scenic-verdict{font-weight:600}.scenic-callout .caution{color:var(--warn)}.cost-panel{--c-transport:#3b82f6;--c-stay:#2fbf71;--c-excursions:#f5c227;--c-activities:#f2635f;--c-ground:#8f8cf0;--c-protection:#17b9c9}.slice-transport{--slice:var(--c-transport)}.slice-stay{--slice:var(--c-stay)}.slice-excursions{--slice:var(--c-excursions)}.slice-activities{--slice:var(--c-activities)}.slice-ground{--slice:var(--c-ground)}.slice-protection{--slice:var(--c-protection)}.cost-bar{background:color-mix(in srgb, var(--border) 60%, transparent);border-radius:999px;gap:2px;height:16px;margin:14px 0 18px;display:flex;overflow:hidden}.cost-seg{background:var(--slice);min-width:4px;transition:width .22s}.cost-seg:first-child{border-radius:999px 0 0 999px}.cost-seg:last-child{border-radius:0 999px 999px 0}.cost-rows{margin:0;padding:0;list-style:none}.cost-row-wrap+.cost-row-wrap{border-top:1px solid var(--border)}.cost-row{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:12px 1fr auto auto 18px;align-items:center;gap:12px;padding:14px 4px;display:grid}.cost-row:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.cost-dot{background:var(--slice);border-radius:50%;width:11px;height:11px}.cost-label{font-size:1.02rem;font-weight:600}.cost-label em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:400;display:block}.cost-pct{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.cost-amount{font-variant-numeric:tabular-nums}.cost-chev{color:var(--muted);text-align:center}.cost-items{gap:10px;margin:0 0 14px;padding:0 4px 0 24px;list-style:none;display:grid}.cost-items li{grid-template-columns:1fr 90px auto;align-items:center;gap:14px;display:grid}.cost-item-main span{display:block}.cost-item-meter{background:color-mix(in srgb, var(--border) 70%, transparent);border-radius:999px;height:6px;overflow:hidden}.cost-item-meter span{background:var(--slice);border-radius:999px;height:100%;display:block}.cost-figures{flex-wrap:wrap;gap:10px;margin:8px 0 18px;display:flex}.cost-figures div{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex:140px;padding:12px 14px}.cost-figures strong{margin-top:2px;font-size:1.25rem;display:block}.budget-dial{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface-2);padding:16px}.budget-dial.over{border-left-color:var(--danger)}.budget-dial.tight{border-left-color:var(--warn)}.budget-dial.comfortable{border-left-color:var(--accent-2)}.budget-dial-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.budget-dial-head label{color:var(--muted);font-weight:600}.budget-dial-head strong{font-size:1.3rem}.budget-dial input[type=range]{appearance:none;cursor:pointer;background:0 0;outline:none;width:100%;height:28px}.budget-dial input[type=range]::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--accent) 28%, transparent);border-radius:999px;height:6px}.budget-dial input[type=range]::-moz-range-track{background:color-mix(in srgb, var(--accent) 28%, transparent);border-radius:999px;height:6px}.budget-dial input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:3px solid var(--surface-solid);width:22px;height:22px;box-shadow:var(--shadow);cursor:grab;border-radius:50%;margin-top:-8px}.budget-dial input[type=range]::-moz-range-thumb{background:var(--accent);border:3px solid var(--surface-solid);cursor:grab;border-radius:50%;width:22px;height:22px}.budget-dial input[type=range]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 40%, transparent)}.budget-scale{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:.78rem;display:flex}.budget-verdict{color:var(--muted);margin:12px 0 10px;font-size:.94rem}.budget-verdict strong{color:var(--text)}.budget-dial.over .budget-verdict strong{color:var(--danger)}.budget-dial.tight .budget-verdict strong{color:var(--warn)}.budget-dial.comfortable .budget-verdict strong{color:var(--accent-2)}.budget-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=640px){.cost-row{grid-template-columns:12px 1fr auto 16px}.cost-row .cost-pct{display:none}.cost-items li{grid-template-columns:1fr auto}.cost-item-meter{display:none}}.interest-chips{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.interest-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.86rem;font-weight:600;transition:border-color .16s,color .16s,background .16s,transform .16s;display:inline-flex}.interest-chip:hover{border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.interest-chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.interest-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.route-panel .panel-head.compact{margin-bottom:12px}.route-timeline{margin:0;padding:0 0 0 26px;list-style:none;position:relative}.route-timeline:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-2));opacity:.45;border-radius:2px;width:2px;position:absolute;top:10px;bottom:10px;left:7px}.route-stop{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:16px;padding:16px 18px;position:relative}.route-stop:before{content:"";background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:24px;left:-24px}.route-stop>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.route-stop h3{margin:0;font-size:1.05rem}.route-why{color:var(--muted);margin:10px 0 0;padding-left:18px;font-size:.9rem;line-height:1.55}.route-why li+li{margin-top:4px}.route-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.route-leg{border-left:2px dashed var(--border-strong);color:var(--muted);align-items:center;gap:8px;margin:0 0 14px;padding:8px 12px;font-size:.85rem;display:flex}.route-ground{margin-top:22px}.option-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;display:grid}.option-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);text-align:left;color:inherit;cursor:pointer;flex-direction:column;gap:8px;padding:16px;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex}.option-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.option-card[aria-pressed=true],.option-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.option-card h4{margin:0;font-size:.98rem}.option-price{color:var(--text);font-size:1.1rem;font-weight:700}.inclusions{color:var(--muted);margin:0;padding-left:18px;font-size:.84rem;line-height:1.5}.ghost-card{color:var(--muted);background:0 0;border-style:dashed}.route-rejects{border-top:1px solid var(--border);margin-top:22px;padding-top:16px}.route-rejects ul{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:.86rem;line-height:1.6}.length-advice{border:1px solid var(--accent-2);border-radius:var(--radius);background:color-mix(in srgb, var(--accent-2) 12%, transparent);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;font-size:.9rem;display:flex}.length-advice strong{color:var(--text)}.single-base{color:var(--muted);align-items:center;gap:10px;margin-top:16px;font-size:.88rem;display:flex}.stay-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:14px;padding:0 16px}.stay-section[open]{padding-bottom:16px}.stay-summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 0;font-weight:650;list-style:none;display:flex}.stay-summary::-webkit-details-marker{display:none}.stay-summary:after{content:"▾";color:var(--muted);transition:transform .16s}.stay-section[open] .stay-summary:after{transform:rotate(180deg)}.practical-panel .practical-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;display:grid}.practical-note{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:14px 16px}.practical-note h4{margin:0 0 6px;font-size:.92rem}.practical-note p{color:var(--muted);margin:0;font-size:.87rem;line-height:1.55}.pill.subtle{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.pill.good{background:color-mix(in srgb, var(--accent-2) 18%, transparent);color:var(--accent-2);border:1px solid color-mix(in srgb, var(--accent-2) 40%, transparent)}@media (width<=640px){.route-timeline{padding-left:20px}.route-stop:before{left:-19px}.option-grid,.practical-panel .practical-grid{grid-template-columns:1fr}}.option-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.route-stop-body{flex-direction:column;gap:6px;display:flex}.route-stop-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.route-index{background:var(--accent);width:26px;height:26px;color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.route-stop.gateway{border-style:dashed}.route-leg.final{margin:4px 0 18px}.reasoning{color:var(--muted);margin:0 0 18px;padding-left:18px;font-size:.9rem;line-height:1.6}.reasoning li+li{margin-top:5px}.tag{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.checkbox{cursor:pointer;align-items:flex-start;gap:10px;line-height:1.5;display:flex}.checkbox input{accent-color:var(--accent);flex:none;margin-top:3px}fieldset.interests{border:0;margin:0;padding:0}.interest-icon{font-size:1rem;line-height:1}.interest-text{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.interest-text em{opacity:.72;font-weight:500}@media (width<=720px){.interest-text em{display:none}}.callout.length-advice ul{color:var(--muted);flex-basis:100%;margin:0;padding-left:18px;font-size:.86rem;line-height:1.55}.callout.length-advice p{flex-basis:100%;margin:0}.callout.length-advice h3{flex-basis:100%;margin:0;font-size:1rem}.stop-drop{margin-top:10px}.route-stop.transit-note .route-stop-body{background:0 0;border-style:dashed}.linklike{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.linklike:hover{color:var(--accent-2)}.route-leg{flex-wrap:wrap}.route-leg.by-rail{border-left:2px solid var(--accent);color:var(--text)}.surface-nav{margin:0 0 18px}.surface-nav ul{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);gap:6px;margin:0;padding:6px;list-style:none;display:flex;overflow-x:auto}.surface-nav li{flex:none}.surface-link{color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:.94rem;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.surface-link:hover{background:var(--surface-2);color:var(--text)}.surface-link.active{background:var(--surface-2);border-color:var(--accent);color:var(--text);font-weight:600}.quick-surface{gap:18px;display:grid}.quick-form-head{margin-bottom:4px}.quick-form-head h2{align-items:center;gap:10px;margin:0 0 4px;font-size:1.25rem;display:flex}.quick-form-head p{margin:0}.stay-budget{display:block}.quick-result-head .panel-head{align-items:flex-start}.quick-total{color:var(--text);font-size:1.3rem}.quick-cart .bullets{margin-bottom:14px}.quick-intro h3{margin-top:0}@media (width<=640px){.surface-link{padding:9px 12px;font-size:.88rem}}.trip-type{border:1px solid var(--line);border-radius:14px;margin:0;padding:.85rem 1rem 1rem}.trip-type legend{color:var(--muted);padding:0 .4rem;font-size:.82rem;font-weight:600}.segmented{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.segment{border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;gap:.15rem;padding:.6rem .75rem;transition:border-color .15s,background .15s;display:flex;position:relative}.segment:hover{border-color:var(--accent)}.segment input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.segment strong{font-size:.95rem}.segment small{color:var(--muted);font-size:.76rem;line-height:1.35}.segment.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.segment:focus-within{outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.segmented{grid-template-columns:1fr}}
