/* A warmer, open editorial rhythm in both themes. */
body { letter-spacing: .012em; word-spacing: .035em; line-height: 1.75; }
h1,h2,h3,.page-intro h1,.console h2,.hero-content h2,.radar h2,.itinerary-heading h2,.concierge-card h3,.auth-quote h1,.auth-form h2,.ledger-total { letter-spacing: .005em; word-spacing: .045em; line-height: 1.38; }
.segment-details h4 { letter-spacing: .012em; word-spacing: .05em; line-height: 1.5; }
button,input,select,textarea { letter-spacing: .025em; word-spacing: .04em; }
.segment-details p,.ai-summary p,.auth-form>p,.console-note p { line-height: 1.85; }
.site-header nav { gap: 24px; }
.site-header nav a { letter-spacing: .02em; }
.theme-toggle { display: inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; padding:7px 11px; border:1px solid var(--border); border-radius:24px; background:var(--panel); color:var(--cream); white-space:nowrap; font-size:0.75rem; }
.theme-toggle>span:first-child { font-size:1.0625rem; line-height:1; }
.header-member { gap:14px; }
.brand-logo { width:78px; height:58px; object-fit:contain; }
.footer-wordmark { display:inline-flex; align-items:center; gap:10px; }
.footer-wordmark img { object-fit:contain; }
.primary { letter-spacing:.035em; }
.segment-bottom { flex-wrap:wrap; }
.segment-details,.ai-summary { overflow-wrap:anywhere; }
.intro-actions { display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.intro-actions small { color:var(--muted); }
.trip-name { margin:0 0 16px; font:1.5rem/1.5 var(--serif); color:var(--cream); overflow-wrap:anywhere; }

:root[data-theme="light"] { color-scheme:light; --bg:#f8f6f0; --panel:#fffefa; --deep:#eeeee6; --accent:#a8462c; --cream:#293c32; --muted:#5c6c63; --soft:#667369; --border:#314c3229; --green:#346d53; }
html[data-theme="light"] em { color:#945239; }
html[data-theme="light"] .site-header { background:#fffefa; }
html[data-theme="light"] .site-header nav a.active { color:#8f442e; }
html[data-theme="light"] .brand svg { stroke:#8f603d; }
html[data-theme="light"] .brand small,html[data-theme="light"] .footer-wordmark { color:#7f644a; }
html[data-theme="light"] .member-icon { color:#7f5036; background:#f2eadf; border-color:#d2c4b1; }
html[data-theme="light"] .eyebrow,html[data-theme="light"] .segment-time,html[data-theme="light"] .segment-category,html[data-theme="light"] .step-label { color:#805b40; }
html[data-theme="light"] .fine-line { background:#956f4c; }
html[data-theme="light"] .intro-edition strong,html[data-theme="light"] .theme-label { color:#667066; }
html[data-theme="light"] .theme,html[data-theme="light"] .day-tab { background:#fffefa; color:#5c6c63; border-color:var(--border); }
html[data-theme="light"] .theme.selected,html[data-theme="light"] .day-tab.active { background:#f3e4d7; color:#854329; border-color:#c89873; }
html[data-theme="light"] label,html[data-theme="light"] legend,html[data-theme="light"] .auth-form legend { color:#536357; }
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea,html[data-theme="light"] .stepper { background:#fbfaf6; color:#2e3d33; border-color:#cdd1c6; }
html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder { color:#6c746b; }
html[data-theme="light"] input[type="range"] { accent-color:#a8462c; }
html[data-theme="light"] .airport-field.destination select { background:#faf0e7; border-color:#d9b89d; color:#78412c; }
html[data-theme="light"] .airport-field>span,html[data-theme="light"] .stepper button,html[data-theme="light"] .route-connector button { color:#805b40; }
html[data-theme="light"] .large-budget input,html[data-theme="light"] .budget-input-label select { background:transparent; }
html[data-theme="light"] .primary { background:#a8462c; border-color:#a8462c; color:#fff; }
html[data-theme="light"] .primary:hover { background:#8f3823; border-color:#8f3823; }
html[data-theme="light"] .form-status { color:#944329; }
html[data-theme="light"] .console-note p,html[data-theme="light"] .leisure-note strong,html[data-theme="light"] .leisure-buffer strong { color:#50604e; }
html[data-theme="light"] .destination-hero,html[data-theme="light"] .hero-content h2,html[data-theme="light"] .hero-content h2 em,html[data-theme="light"] .auth-quote h1 { color:#fff5e8; }
html[data-theme="light"] .hero-content .eyebrow,html[data-theme="light"] .auth-canvas .eyebrow { color:#f3d4af; }
html[data-theme="light"] .auth-quote h1 em { color:#f0cfb0; }
html[data-theme="light"] .radar { background:#eef2ed; }
html[data-theme="light"] #land { fill:#d0dbd1; stroke:#a8bbb0; }
html[data-theme="light"] #route-line { stroke:#a85435; }
html[data-theme="light"] #airport-markers text { fill:#344d3c; }
html[data-theme="light"] #airport-markers circle { stroke:#8b4b30; fill:#a85435; }
html[data-theme="light"] #airport-markers circle+circle { fill:none; }
html[data-theme="light"] #plane-position path { stroke:#803b29; }
html[data-theme="light"] #plane-position circle { fill:#a85435; }
html[data-theme="light"] .flight-instruments { border-color:#c8d1c7; }
html[data-theme="light"] .flight-instruments strong { color:#334a3c; }
html[data-theme="light"] .flight-instruments span,html[data-theme="light"] .flight-instruments small,html[data-theme="light"] .telemetry-note,html[data-theme="light"] .map-caption,html[data-theme="light"] .scrubber>div,html[data-theme="light"] .scrubber>div span:last-child,html[data-theme="light"] .flight-end { color:#536b5c; }
html[data-theme="light"] .map-caption>span:first-child,html[data-theme="light"] .weather-line>span:first-child { color:#775439; }
html[data-theme="light"] .simulation-badge { background:#e1eadf; color:#3b6350; border-color:#aec8b7; }
html[data-theme="light"] .simulation-badge>span { background:#3b7356; }
html[data-theme="light"] .play-button { background:#e5e8dc; color:#795139; border-color:#b3bda9; }
html[data-theme="light"] .weather-line { background:#e5eae2; border-color:#cad4c7; color:#536357; }
html[data-theme="light"] .concept-label,html[data-theme="light"] .day-caption>span { color:#617166; }
html[data-theme="light"] .timeline-node { background:#fffefa; border-color:#a06d49; }
html[data-theme="light"] .segment-icon { background:#edf0e7; color:#796044; border-color:var(--border); }
html[data-theme="light"] .segment-details h4 { color:#2c4234; }
html[data-theme="light"] .segment-details p,html[data-theme="light"] .segment-price small,html[data-theme="light"] .leisure-note p { color:#5c6b60; }
html[data-theme="light"] .segment-tags span { color:#5a695b; border-color:#d2d8cb; background:#f2f4ed; }
html[data-theme="light"] .segment-price,html[data-theme="light"] .ledger-total { color:#8b5033; }
html[data-theme="light"] .segment-actions button,html[data-theme="light"] .text-button,html[data-theme="light"] .outline-button,html[data-theme="light"] .icon-button { color:#805139; }
html[data-theme="light"] .outline-button,html[data-theme="light"] .icon-button { border-color:#c8b69c; }
html[data-theme="light"] .financial-ledger { background:#fffefa; }
html[data-theme="light"] .financial-ledger>p,html[data-theme="light"] .financial-ledger>.ledger-disclaimer,html[data-theme="light"] .allocation-row,html[data-theme="light"] .ledger-balance span { color:#5b6b5f; }
html[data-theme="light"] .allocation-row strong { color:#334b39; }
html[data-theme="light"] .ledger-balance strong { color:#3d6743; }
html[data-theme="light"] .ledger-balance.over strong { color:#a23e2b; }
html[data-theme="light"] .concierge-card { background:radial-gradient(ellipse at right top,#e4d1b470,transparent 70%),#f2efe5; }
html[data-theme="light"] .concierge-card p,html[data-theme="light"] .concierge-card small,html[data-theme="light"] .quiet-ad,html[data-theme="light"] .quiet-ad small { color:#5b695b; }
html[data-theme="light"] .action-bar { background:#fffdf7f5; border-color:#cdbfa6; box-shadow:0 -8px 32px #3040250a; }
html[data-theme="light"] .action-journey div>span,html[data-theme="light"] .leisure-buffer span,html[data-theme="light"] .site-footer { color:#62705f; }
html[data-theme="light"] dialog { background:#fffefa; border-color:#cab89f; }
html[data-theme="light"] #dialog-body,html[data-theme="light"] .choice-card { color:#556550; }
html[data-theme="light"] #dialog-body h3,html[data-theme="light"] .choice-card strong { color:#344c36; }
html[data-theme="light"] #dialog-body a { color:#8d432d; }
html[data-theme="light"] #dialog-body a.primary { color:white; }
html[data-theme="light"] .choice-card { background:#f6f5ee; border-color:#d4d7c9; }
html[data-theme="light"] .choice-card.selected { background:#f6e8d9; border-color:#ba825a; }
html[data-theme="light"] .choice-card span { color:#855137; }
html[data-theme="light"] .dialog-note { background:#eeefe2; border-color:#9f875c; }
html[data-theme="light"] #toast { background:#294333; color:#fffbed; }
html[data-theme="light"] .auth-form-wrap { background:#fffefa; }
html[data-theme="light"] .auth-topline a,html[data-theme="light"] .new-member a,html[data-theme="light"] .password-field button { color:#855038; }
html[data-theme="light"] .auth-form>p,html[data-theme="light"] .field-note,html[data-theme="light"] .membership-note p,html[data-theme="light"] .new-member,html[data-theme="light"] .member-page>p,html[data-theme="light"] .member-panel>p,html[data-theme="light"] .member-panel dt,html[data-theme="light"] .saved-card p { color:#5c6b60; }
html[data-theme="light"] .preference-grid label { background:#f4f5ed; color:#55654f; border-color:#d2d5c6; }
html[data-theme="light"] .preference-grid label:has(input:checked) { background:#f4e7d8; color:#77412b; border-color:#c29972; }
html[data-theme="light"] .membership-note { background:#f4f2e7; border-color:#d4c9ad; }
html[data-theme="light"] .membership-note strong { color:#70532f; }
html[data-theme="light"] .auth-divider span { background:#fffefa; color:#61705e; }
html[data-theme="light"] .passkey-button,html[data-theme="light"] .sso-options button { background:#f3f3eb; color:#4f654c; border-color:#c3ccb9; }
html[data-theme="light"] .validation-summary-errors { background:#faebe4; color:#983c28; }
html[data-theme="light"] .ai-summary { background:#eaf0e6; border-color:#c1ceb7; }
html[data-theme="light"] .ai-summary p { color:#364f37; }
html[data-theme="light"] .ai-summary small,html[data-theme="light"] .ai-privacy { color:#586c54; }

@media(max-width:1280px) { .theme-toggle-label { display:none; } .theme-toggle { width:40px; padding:7px; } }
@media(max-width:900px) { .site-header nav { gap:14px; } .intro-actions { align-items:flex-start; } .page-intro { align-items:flex-start; flex-direction:column; } .hero-content h2 { line-height:1.25; } }
@media(max-width:620px) { .site-header nav a { font-size:0.6875rem; letter-spacing:0; } .brand>span { font-size:1.25rem; } .brand small { letter-spacing:1px; font-size:0.375rem; } .brand { gap:8px; } .brand-logo { width:55px; height:43px; } .header-member { gap:8px; } .page-intro h1 { letter-spacing:.005em; } .intro-actions small { font-size:0.6875rem; } }
@media print { .theme-toggle,.intro-actions { display:none!important; } html[data-theme] body { color:#17212a; background:white; } html[data-theme] .segment-card,html[data-theme] .ai-summary { background:white; } }
