:root{color-scheme:dark;--background:#07111d;--surface:#0b1623;--elevated:#101d2b;--muted:#0d1926;--border:#223142;--strong:#30445a;--text:#f4f7fb;--secondary:#b7c2d0;--quiet:#8996a8;--primary:#3b82f6;--event:#2dd4bf;--success:#22c55e;--success-bg:#123522;--warning:#f59e0b;--warning-bg:#38290f;--danger:#f87171;--danger-bg:#3b171b;--award:#c084fc;--award-bg:#2d1c40;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#102844 0,transparent 28rem),var(--background);color:var(--text);font-size:15px;line-height:1.55}a{color:#93c5fd;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:#bfdbfe}a:focus-visible,summary:focus-visible{outline:3px solid #60a5fa;outline-offset:3px;border-radius:4px}.shell{width:min(1480px,100%);margin:auto;padding:18px 16px 56px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 28px}.brand{font-weight:750;letter-spacing:-.02em;color:var(--text);text-decoration:none}.account{display:flex;align-items:center;gap:14px;color:var(--quiet);font-size:13px}.eyebrow{color:#7dd3fc;font-size:12px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px}.hero{margin-bottom:28px}.hero h1{font-size:clamp(30px,5vw,48px);line-height:1.08;letter-spacing:-.045em;margin:0 0 10px}.lede{max-width:720px;color:var(--secondary);font-size:17px;margin:0}.meta{color:var(--quiet);font-size:13px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:30px 0 14px}.section-title h2{font-size:22px;margin:0}.trip-grid{display:grid;gap:16px}.trip-card{display:grid;gap:16px;background:linear-gradient(145deg,var(--elevated),var(--surface));border:1px solid var(--border);border-radius:14px;padding:20px;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.trip-card:hover{border-color:var(--strong);transform:translateY(-1px)}.trip-card h3{font-size:20px;margin:0 0 4px}.trip-card p{margin:0}.card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric{background:var(--muted);border:1px solid var(--border);border-radius:10px;padding:12px}.metric-label{display:block;color:var(--quiet);font-size:12px;margin-bottom:3px}.metric-value{font-weight:650;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--strong)}.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge-great_option{color:#86efac;background:var(--success-bg)}.badge-worth_watching,.badge-recently_checked{color:#fcd34d;background:var(--warning-bg)}.badge-needs_verification,.badge-needs_attention,.badge-no_good_match{color:#fca5a5;background:var(--danger-bg)}.back{display:inline-block;margin-bottom:18px}.trip-summary{display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--secondary)}.journey{display:flex;overflow-x:auto;gap:0;padding:18px 0 8px;list-style:none}.journey li{position:relative;min-width:180px;padding:0 26px 0 22px;color:var(--secondary)}.journey li::before{content:"";position:absolute;left:0;top:7px;width:11px;height:11px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px #1d3b60}.journey li:not(:last-child)::after{content:"";position:absolute;left:11px;right:-2px;top:12px;height:2px;background:var(--strong)}.segments{display:grid;gap:22px;margin-top:24px}.segment{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px}.segment-head{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:16px}.segment h2{font-size:22px;margin:0}.segment-kicker{color:#7dd3fc;font-size:12px;font-weight:700;text-transform:uppercase}.recommendation{background:linear-gradient(145deg,#10243a,var(--elevated));border:1px solid #315171;border-radius:12px;padding:18px}.option-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.option-head h3{font-size:19px;margin:0 0 4px}.price-grid{display:grid;gap:12px;margin:16px 0}.price{border:1px solid var(--border);border-radius:10px;padding:14px;background:#071421}.price.award{border-color:#4c3368;background:var(--award-bg)}.price-primary{font-size:20px;font-weight:750;font-variant-numeric:tabular-nums}.price-secondary{color:var(--secondary);font-size:13px}.facts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.fact{padding:4px 8px;border-radius:6px;background:var(--muted);color:var(--secondary);font-size:12px}.warnings{display:grid;gap:6px;padding:0;list-style:none}.warning{border-left:3px solid var(--warning);padding:5px 9px;background:var(--warning-bg);color:#fde68a}.verify{border-left-color:#38bdf8;background:#102f3e;color:#bae6fd}.next-step{font-weight:650}.alternatives{display:grid;gap:10px;margin-top:12px}.alternative{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--muted)}details{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}summary{cursor:pointer;color:#bfdbfe;font-weight:650;min-height:44px;display:flex;align-items:center}.history{display:grid;gap:10px;margin-top:16px}.history-card{border:1px solid var(--border);border-radius:10px;padding:14px;background:var(--muted)}.chart{width:100%;height:120px;overflow:visible}.chart polyline{fill:none;stroke:#60a5fa;stroke-width:3}.chart circle{fill:#bfdbfe}.chart-axis{stroke:#475569;stroke-width:1}.empty{border:1px dashed var(--strong);border-radius:10px;padding:18px;color:var(--secondary);background:var(--muted)}.activity{padding-left:20px;color:var(--secondary)}.notice{margin-top:28px;border:1px solid #315171;background:#102f3e;color:#bae6fd;border-radius:12px;padding:16px}.footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:36px;padding-top:18px;border-top:1px solid var(--border);color:var(--quiet);font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:768px){.shell{padding:24px 28px 64px}.trip-card{grid-template-columns:minmax(260px,1.3fr) minmax(320px,1fr);align-items:center}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alternatives{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1100px){.trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.segment{padding:24px}.recommendation{padding:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.journey li{padding:0 26px 30px 0}.journey li::before{left:0;top:auto;bottom:8px}.journey li:not(:last-child)::after{left:11px;top:auto;bottom:12px}.traveler-list{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 0}.traveler-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:8px;border:1px solid var(--border);border-radius:10px}.traveler-group>strong{padding:0 4px;color:var(--secondary);font-size:13px}.traveler{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--muted);color:var(--secondary);font-size:13px}.traveler::before{content:"●";color:#7dd3fc;font-size:9px}.segment-kicker{display:block;letter-spacing:.08em;margin-bottom:4px}.cabin-grid{display:grid;gap:10px;margin:0 0 16px}.cabin-deal{border:1px solid var(--border);border-radius:10px;padding:13px;background:var(--muted)}.cabin-deal h3{font-size:14px;margin:0 0 8px}.cabin-prices{display:flex;gap:10px;flex-wrap:wrap;color:var(--secondary);font-size:13px}.action-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.booking-link{display:inline-flex;padding:9px 13px;border-radius:8px;background:var(--primary);color:white;text-decoration:none;font-weight:700}.booking-link:hover{color:white;background:#2563eb}summary{gap:8px}summary::before{content:"▸";font-size:17px;transition:transform .15s ease}details[open]>summary::before{transform:rotate(90deg)}.history-card{padding:12px}.history-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.history-head h3{margin:0;font-size:15px}.chart{height:142px}.chart-line{fill:none;stroke-width:3}.chart-point{stroke-width:2;fill:var(--muted)}.chart-label{fill:var(--quiet);font-size:10px}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;color:var(--secondary);font-size:12px}.legend-swatch{display:inline-block;width:10px;height:3px;margin-right:5px;vertical-align:middle}@media(min-width:768px){.cabin-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
.history-card{padding:10px}.chart{height:100px}.chart-legend{gap:7px;font-size:11px}.chart-series,.legend-item{transition:opacity .15s ease}.chart-series.is-soloed-out{opacity:0}.legend-item{appearance:none;border:1px solid transparent;border-radius:5px;background:transparent;color:inherit;font:inherit;padding:3px 5px;cursor:pointer}.legend-item:hover{border-color:var(--strong)}.legend-item:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.legend-item[aria-pressed="true"]{border-color:var(--secondary);background:var(--elevated)}.legend-item.is-soloed-out{opacity:.3}.chart .series-color-0{stroke:#60a5fa}.chart .series-color-1{stroke:#c084fc}.chart .series-color-2{stroke:#22c55e}.chart .series-color-3{stroke:#f59e0b}.chart .series-color-4{stroke:#f87171}.chart .series-color-5{stroke:#22d3ee}.chart .series-color-6{stroke:#f472b6}.chart .series-color-7{stroke:#a3e635}.legend-swatch.series-color-0{background:#60a5fa}.legend-swatch.series-color-1{background:#c084fc}.legend-swatch.series-color-2{background:#22c55e}.legend-swatch.series-color-3{background:#f59e0b}.legend-swatch.series-color-4{background:#f87171}.legend-swatch.series-color-5{background:#22d3ee}.legend-swatch.series-color-6{background:#f472b6}.legend-swatch.series-color-7{background:#a3e635}.trip-card>*{min-width:0}.card-metrics{grid-template-columns:minmax(0,1fr);width:min(100%,240px);min-width:0}.card-metrics .metric{min-width:0;overflow-wrap:anywhere}@media(min-width:768px){.trip-card{grid-template-columns:minmax(0,1fr) minmax(0,240px)}.history{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.card-metrics{width:100%}}
.positioning{margin:14px 0;padding:14px;border:1px solid #7c5d24;border-radius:10px;background:#2b210f}.positioning p{margin:6px 0 10px}.positioning .booking-link{background:#a16207}.positioning .booking-link:hover{background:#ca8a04}
.journey{padding-left:5px}.journey a{display:block;color:inherit;text-decoration:none}.journey a:hover strong,.journey a:focus-visible strong{color:#bfdbfe;text-decoration:underline;text-underline-offset:3px}
.journey-event{min-width:260px}.journey .journey-event::before{top:auto;bottom:8px;background:var(--event);box-shadow:0 0 0 4px #123f3c}.journey-event::after{background:var(--event)!important;display:block!important;left:11px!important;right:18px!important;top:auto!important;bottom:12px!important}.journey-event .event-end-dot{position:absolute;right:14px;bottom:8px;width:11px;height:11px;border-radius:50%;background:var(--event);box-shadow:0 0 0 4px #123f3c;z-index:1}.journey-event .event-next-line{display:none}.journey-event:not(:last-child) .event-next-line{display:block;position:absolute;right:-2px;bottom:12px;width:16px;height:2px;background:var(--strong)}.journey-event strong{color:#99f6e4}.journey-event .event-dates{display:flex;justify-content:space-between;gap:16px;padding-right:14px;color:#5eead4;font-size:13px}.journey-event .event-end-date{text-align:right}
body{background-repeat:no-repeat;background-attachment:fixed}
.trip-season{margin:4px 0 0;color:var(--secondary);font-size:17px;line-height:1.35}
.market-insight{margin:4px 0 18px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.market-insight-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.market-insight-head h3{font-size:17px;margin:0}.market-insight-head p{margin:4px 0 0;color:var(--secondary)}.market-state{flex:0 0 auto;color:var(--quiet);font-size:12px;font-weight:750;text-transform:uppercase}.market-state.low{color:#86efac}.market-state.typical{color:#7dd3fc}.market-state.high{color:#fbbf24}.market-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin-top:14px;background:var(--border);border:1px solid var(--border)}.market-metric{min-width:0;padding:10px 12px;background:var(--surface)}.market-metric strong{display:block;font-size:14px;overflow-wrap:anywhere}.market-evidence{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:10px}.market-evidence p{margin:0;color:var(--quiet);font-size:12px}.market-insight.collecting .market-state{color:var(--quiet)}@media(max-width:520px){.market-insight-head{display:block}.market-state{display:block;margin-top:8px}.market-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.market-metric:last-child:nth-child(odd){grid-column:1/-1}}
