:root{--color-surface:#fbf7f1;--color-surface-deep:#f4ede2;--color-card:#fff;--color-night:#1a1410;--color-text-primary:#1a1410;--color-text-secondary:#3d352e;--color-text-muted:#6b6157;--color-text-tertiary:#9b9087;--color-border:#e8e1d6;--color-border-strong:#d4c8b4;--color-accent:#c14f2a;--color-accent-deep:#a03e1f;--color-accent-light:#f5e4da;--color-action-blue:#1f66ae;--color-action-blue-deep:#15518f;--color-action-blue-wash:#e8f1fa;--color-success:#2f6b4a;--color-warning:#9b4f2e;--color-pending:#9b9087;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-serif:"Fraunces", "Iowan Old Style", "Palatino", "Georgia", serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--shadow-card:#1a14100a 0 1px 0 0, #1a141014 0 6px 20px -6px;--shadow-card-hover:#1a14100f 0 1px 0 0, #1a14101f 0 12px 32px -8px;--shadow-float:#1a14101a 0 16px 40px -10px, #1a14100a 0 1px 0 0;--radius-card:12px;--radius-badge:999px;--radius-chip:999px;--motion-fast:.16s;--motion-medium:.28s;--motion-slow:.42s;--motion-sheet:.44s;--ease-standard:cubic-bezier(.32, .72, 0, 1);--ease-enter:cubic-bezier(.22, 1, .36, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--app-max-width:430px;--nav-height:56px;--date-strip-height:54px;--trip-chat-sheet-width:520px;--trip-chat-sheet-max-height:min(43vh, 360px);--trip-chat-sheet-radius:22px;--trip-chat-header-padding:4px 16px 10px;--trip-chat-title-size:17px;--trip-chat-title-line-height:1.15;--trip-chat-messages-padding:14px 16px;--trip-chat-message-gap:12px;--trip-chat-empty-padding:16px 0;--trip-chat-empty-font-size:14px;--trip-chat-empty-line-height:1.55;--trip-chat-assistant-bubble-max-width:88%;--trip-chat-assistant-bubble-padding:10px 14px;--trip-chat-assistant-bubble-radius:14px;--trip-chat-assistant-bubble-font-size:14px;--trip-chat-assistant-bubble-line-height:1.5;--trip-chat-user-bubble-max-width:88%;--trip-chat-user-bubble-padding:10px 14px;--trip-chat-user-bubble-radius:14px;--trip-chat-user-bubble-font-size:14px;--trip-chat-user-bubble-line-height:1.5;--trip-chat-markdown-paragraph-gap:8px;--trip-chat-markdown-heading-margin:12px 0 6px;--trip-chat-markdown-h1-size:18px;--trip-chat-markdown-h2-size:16px;--trip-chat-markdown-h3-size:15px;--trip-chat-markdown-h4-size:14px;--trip-chat-markdown-list-gap:8px;--trip-chat-markdown-list-indent:20px;--trip-chat-markdown-list-item-gap:2px 0;--trip-chat-markdown-blockquote-size:13px;--trip-chat-markdown-blockquote-padding:4px 0 4px 12px;--trip-chat-status-font-size:14px;--trip-chat-footer-padding:10px 12px 12px;--trip-chat-input-radius:22px;--trip-chat-input-padding:6px 6px 6px 14px;--trip-chat-input-gap:8px;--trip-chat-input-min-height:28px;--trip-chat-input-font-size:14px;--trip-chat-input-line-height:1.45;--trip-chat-textarea-padding:6px 0;--trip-chat-send-size:32px}.text-hero-title{font-family:var(--font-serif);font-optical-sizing:auto;font-variation-settings:"SOFT" 50, "opsz" 144;letter-spacing:-.022em;color:var(--color-accent);text-shadow:0 1px 2px #00000073,0 8px 28px #0006;margin:0;font-size:38px;font-weight:380;line-height:1}.text-hero-subtitle{font-family:var(--font-serif);font-optical-sizing:auto;color:#fbf7f1f2;text-shadow:0 1px 2px #0006;font-size:17px;font-style:italic;font-weight:360;line-height:1.45}.text-hero-meta{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:#fbf7f1eb;text-shadow:0 1px 2px #00000059;font-size:11px;font-weight:600}.text-hero-summary{font-family:var(--font-sans);color:#fbf7f1eb;text-shadow:0 1px 2px #0000004d;font-size:14px;font-weight:420;line-height:1.6}.text-card-title{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.012em;color:var(--color-text-primary);font-size:24px;font-weight:400;line-height:1.15}.text-card-title-light{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.012em;color:#fbf7f1;font-size:24px;font-weight:380;line-height:1.15}.text-label{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:#fbf7f1cc;font-size:11px;font-weight:600}.text-label-dark{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);font-size:11px;font-weight:600}.text-section-title{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-primary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.section-icon{color:var(--color-text-tertiary);display:flex}.section-icon svg{width:15px;height:15px}.text-body{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:15px;font-weight:420;line-height:1.6}.text-body-secondary{font-family:var(--font-sans);color:var(--color-text-muted);font-size:14px;font-weight:420;line-height:1.6}.text-body-italic{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-text-muted);font-size:15px;font-style:italic;font-weight:380;line-height:1.5}.text-small{font-family:var(--font-sans);color:var(--color-text-muted);font-size:12px;font-weight:450;line-height:1.45}.text-mono{font-family:var(--font-mono);color:var(--color-text-muted);font-size:12px;font-weight:400}.text-name{font-family:var(--font-sans);color:var(--color-text-primary);font-size:14px;font-weight:540;line-height:1.3}.text-name-accent{font-family:var(--font-sans);color:var(--color-text-primary);font-size:14px;font-weight:580;line-height:1.3}.text-nav-title{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.014em;color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:21px;font-weight:420;line-height:1.2;overflow:hidden}.nav-trip-name,.nav-trip-subtitle{text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-trip-subtitle{display:none}.text-nav-dates{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:11px;font-weight:400;line-height:1.2}.text-status{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.text-button{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);font-size:11px;font-weight:600}.trip-app *{box-sizing:border-box;margin:0;padding:0}.trip-app{font-family:var(--font-sans);font-feature-settings:"cv11" on, "ss01" on;background:var(--color-surface);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;max-width:var(--app-max-width);isolation:isolate;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.nav-bar{height:calc(var(--nav-height) + env(safe-area-inset-top));padding:0 8px;padding-top:env(safe-area-inset-top);z-index:20;transition:background var(--motion-medium) var(--ease-standard), border-color var(--motion-medium) var(--ease-standard), color var(--motion-fast) ease;background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:4px;display:flex;position:absolute;top:0;left:0;right:0}.nav-bar.over-hero{background:0 0;border-bottom-color:#0000}.nav-home,.nav-back{cursor:pointer;width:40px;height:40px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,box-shadow .15s,transform .1s;display:flex}.nav-home{text-decoration:none;overflow:hidden}.nav-home img{object-fit:cover;border-radius:8px;width:30px;height:30px;display:block}.nav-title-group{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.nav-home:active,.nav-back:active{background:var(--color-surface-deep);transform:scale(.9)}.nav-bar.over-hero .nav-back{color:#fbf7f1}@media (hover:hover){.nav-home:hover,.nav-back:hover{background:var(--color-surface-deep)}.nav-bar.over-hero .nav-back:hover{background:#ffffff2e}}.nav-title-text{text-align:left;flex:1;align-content:center;justify-items:start;gap:2px;min-width:0;padding-right:8px;display:grid}.nav-breadcrumb{min-width:0;max-width:100%}.nav-breadcrumb ol{min-width:0;list-style:none;display:flex}.nav-breadcrumb-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;color:var(--color-accent);font-family:var(--font-sans);letter-spacing:0;align-items:center;gap:3px;font-size:11px;font-weight:560;line-height:1.25;text-decoration:none;display:inline-flex;overflow:hidden}.nav-breadcrumb-icon{flex:none}.nav-breadcrumb-link span{text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-breadcrumb-link:active{color:var(--color-accent-deep)}.nav-bar.over-hero .nav-breadcrumb-link{color:#fbf7f1e6}@media (hover:hover){.nav-breadcrumb-link:hover{color:var(--color-accent-deep)}.nav-bar.over-hero .nav-breadcrumb-link:hover{color:#fbf7f1}}.nav-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.date-strip{top:calc(var(--nav-height) + env(safe-area-inset-top));height:var(--date-strip-height);border-bottom:1px solid var(--color-border);box-shadow:none;background:var(--color-surface);z-index:10;opacity:1;transition:opacity var(--motion-medium) var(--ease-standard), transform var(--motion-medium) var(--ease-standard), border-color var(--motion-medium) var(--ease-standard);will-change:opacity, transform;position:absolute;left:0;right:0;transform:translateY(0);-webkit-mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000)}.date-strip.hidden{opacity:0;pointer-events:none;border-bottom-color:#0000;overflow:hidden;transform:translateY(-10px)}.date-strip-inner{-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;align-items:center;gap:2px;height:100%;padding:8px 12px;display:flex;overflow-x:auto}.date-strip-inner::-webkit-scrollbar{display:none}.date-btn{cursor:pointer;width:42px;height:42px;transition:background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-medium) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);color:var(--color-text-tertiary);font-family:var(--font-sans);background:0 0;border:none;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:1px;display:flex}.date-btn:active:not(.active){background:var(--color-surface-deep);transform:scale(.92)}.date-btn.active{background:var(--color-accent);color:#fbf7f1;box-shadow:0 2px 8px #c14f2a47}@media (hover:hover){.date-btn:hover:not(.active){background:var(--color-surface-deep);color:var(--color-text-secondary)}}.date-btn-wd{text-transform:uppercase;letter-spacing:.14em;opacity:.7;font-size:9px;font-weight:600}.date-btn.active .date-btn-wd{opacity:.95}.date-btn-d{font-family:var(--font-sans);font-feature-settings:"tnum" on, "cv11" on, "ss01" on;letter-spacing:-.012em;font-size:16px;font-weight:600;line-height:1}.swipe-viewport{touch-action:pan-y pinch-zoom;position:absolute;inset:0;overflow:hidden;container-type:inline-size}.swipe-track{height:100%;transition:transform var(--motion-slow) var(--ease-standard);will-change:transform;display:flex}.swipe-track.motion-swipe{transition-duration:.36s;transition-timing-function:var(--ease-standard)}.swipe-track.dragging{transition:none}.slide{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:0 0 100cqi;width:100cqi;height:100%;overflow:hidden auto}.slide-placeholder{-webkit-overflow-scrolling:auto;pointer-events:none;background:var(--color-surface);overflow:hidden}.hero-slide{flex-direction:column;justify-content:flex-end;min-height:100%;display:flex;position:relative}.hero-frame{contain:paint;position:absolute;inset:0;overflow:hidden}.hero-bg{background:linear-gradient(135deg,#2a1f18 0%,#1a1410 60%,#0f0b08 100%);position:absolute;inset:0}.hero-bg picture{width:100%;height:100%;display:block}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-overlay{pointer-events:none;background:linear-gradient(#0000 0%,#1a14101a 35%,#1a141052 65%,#1a14109e 100%);position:absolute;inset:0}.hero-map-stage,.hero-map-toggle{display:none}.hero-body{z-index:1;padding:0 24px calc(40px + env(safe-area-inset-bottom));position:relative}.hero-body>*{will-change:opacity, transform;animation:.7s cubic-bezier(.22,.72,0,1) both hero-body-fade-in}.hero-body>:first-child{animation-delay:80ms}.hero-body>:nth-child(2){animation-delay:.16s}.hero-body>:nth-child(3){animation-delay:.22s}.hero-body>:nth-child(4){animation-delay:.28s}.hero-body>:nth-child(5){animation-delay:.32s}@keyframes hero-body-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes loading-fade-in{0%{opacity:0}to{opacity:1}}.hero-pill{top:calc(var(--nav-height) + env(safe-area-inset-top) + 12px);background:var(--color-accent-light);-webkit-backdrop-filter:blur(10px)saturate(140%);z-index:3;border:1px solid #c14f2a38;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;display:inline-flex;position:absolute;left:24px;box-shadow:0 6px 18px -6px #1a141033}.hero-pill svg{color:var(--color-accent-deep)}.hero-pill .text-hero-meta{color:var(--color-accent-deep)!important;text-shadow:none!important;letter-spacing:.04em!important;font-weight:580!important}.hero-divider{background:#fbf7f159;border-radius:1px;width:28px;height:1px;margin:16px 0}.hero-stats{gap:24px;margin-top:24px;display:flex}.hero-stat-val{font-family:var(--font-mono);color:#fbf7f1;font-size:15px;font-weight:500}.hero-stat-lbl{color:#fbf7f199;text-transform:uppercase;letter-spacing:.14em;margin-top:2px;font-size:10px;font-weight:600}.hero-paper{-webkit-backdrop-filter:blur(24px)saturate(160%);background:#fbf7f19e;border:1px solid #e8e1d680;border-radius:12px;flex-direction:column;margin-top:14px;padding:16px 18px;display:flex;box-shadow:0 18px 44px -12px #1a141038}.hero-paper .text-hero-subtitle{color:var(--color-text-primary);text-shadow:none;font-family:var(--font-serif);font-optical-sizing:auto;margin:0;font-size:19px;font-style:italic;font-weight:380;line-height:1.4}.hero-paper .hero-divider{background:var(--color-border);border-radius:0;width:32px;height:1px;margin:10px 0 12px}.hero-paper .text-hero-summary{color:var(--color-text-secondary);text-shadow:none;font-family:var(--font-sans);margin:0;font-size:15px;font-weight:420;line-height:1.6}.hero-paper .hero-stats{border-top:1px solid var(--color-border);gap:22px;margin-top:14px;padding-top:12px}.hero-paper .hero-stat-val{color:var(--color-text-primary);font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.008em;font-size:19px;font-weight:420;line-height:1.05}.hero-paper .hero-stat-lbl{color:var(--color-text-muted);font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:600}.hero-route-map-card{-webkit-backdrop-filter:blur(24px)saturate(160%);background:#fbf7f19e;border:1px solid #e8e1d680;border-radius:12px;margin-top:18px;overflow:hidden;box-shadow:0 18px 44px -12px #1a141038}.hero-route-map-header{border-bottom:1px solid #e8e1d69e;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px 10px;display:flex}.hero-route-map-count{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);flex-shrink:0;font-size:11px;font-weight:600}.hero-route-map-frame{background:var(--color-surface-deep);height:230px;position:relative}.itinerary-map{background:var(--color-surface-deep);isolation:isolate;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.itinerary-map-canvas{opacity:1;z-index:1;position:absolute;inset:0}.itinerary-map-loading{z-index:2;-webkit-backdrop-filter:blur(2px);background:radial-gradient(circle at 24% 18%,#c14f2a14,#0000 36%),#f4ede2eb;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.itinerary-map-loading-panel{max-width:min(280px,86%);color:var(--color-text-muted);font-family:var(--font-sans);background:#fbf7f1e6;border:1px solid #d4c8b4b8;border-radius:8px;justify-items:center;gap:8px;padding:12px 14px;display:grid;box-shadow:0 16px 32px -26px #1a14108c}.itinerary-map-loading-label{letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:650;line-height:1}.itinerary-map-loading-hint{color:var(--color-text-secondary);letter-spacing:0;text-align:center;text-transform:none;font-size:12px;font-weight:500;line-height:1.35}.itinerary-map-loading-bar{background:#d4c8b494;border-radius:999px;width:100%;height:3px;position:relative;overflow:hidden}.itinerary-map-loading-bar:after{border-radius:inherit;background:var(--color-accent);content:"";width:46%;animation:1.15s ease-in-out infinite map-loading-progress;position:absolute;inset:0}@keyframes map-loading-sheen{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes map-loading-progress{0%{transform:translate(-105%)}to{transform:translate(225%)}}.itinerary-map .gm-style{font-family:var(--font-sans)}.itinerary-map .gm-style-cc{color:var(--color-text-muted);font-family:var(--font-sans);background:#fbf7f1c2;font-size:9px;line-height:1.2}.itinerary-map .gm-style-cc a,.itinerary-map .gm-style a[href^="https://maps.google.com"],.itinerary-map .gm-style a[href^="https://www.google.com/maps"]{color:var(--color-text-secondary)!important}.itinerary-map-fallback{z-index:0;background:radial-gradient(circle at 28% 16%,#c14f2a1a,#0000 34%),linear-gradient(#f4ede2 0%,#fbf7f1 62%,#e8e1d6 100%);place-items:center;display:grid;position:absolute;inset:0}.route-atlas-stage{aspect-ratio:5/7;width:min(92vw,58vh);max-width:680px;position:relative}.route-atlas-svg{width:100%;height:100%;display:block}.route-atlas-coast{fill:none;stroke:#d4c8b4;stroke-width:1.4px;stroke-dasharray:3 8;opacity:.55}.route-atlas-coast-b{opacity:.35}.route-atlas-grid path{fill:none;stroke:#d4c8b4;stroke-width:1px;stroke-dasharray:2 14;opacity:.42}.route-atlas-leg{fill:none;stroke:var(--color-accent);stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px #fbf7f1cc)}.route-atlas-leg-car,.route-atlas-leg-route{stroke:var(--color-accent)}.route-atlas-leg-train{stroke:var(--color-text-primary);stroke-dasharray:16 10}.route-atlas-leg-ferry{stroke:#2f6b4a;stroke-dasharray:4 16}.route-atlas-leg-walk{stroke:#9b4f2e;stroke-width:5px;stroke-dasharray:2 13}.route-atlas-leg-flight{stroke:#6b6157;stroke-width:4px;stroke-dasharray:24 14}.route-atlas-label-rule{stroke:#d4c8b4;stroke-width:1px}.route-atlas-label-bg{fill:#fbf7f1e6;stroke:#d4c8b4;stroke-width:1px}.route-atlas-label{font-family:var(--font-sans);letter-spacing:0;fill:var(--color-text-primary);font-size:17px;font-weight:580}.route-atlas-marker-halo{fill:#fbf7f1eb;stroke:var(--color-accent);stroke-width:2px}.route-atlas-marker{fill:var(--color-accent)}.route-atlas-marker-number{font-family:var(--font-sans);text-anchor:middle;fill:#fbf7f1;pointer-events:none;font-size:13px;font-weight:620}.route-atlas-point-home{opacity:.66}.route-atlas-point-home .route-atlas-label{fill:var(--color-text-muted);font-size:15px;font-weight:520}.route-atlas-point-home .route-atlas-marker{fill:var(--color-text-muted)}.route-atlas-point-home .route-atlas-marker-halo{stroke:var(--color-text-muted)}.route-atlas-legend text{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;fill:var(--color-text-muted);font-size:14px;font-weight:560}.itinerary-map-fallback .route-atlas-stage{width:100%;max-width:none;height:100%}.itinerary-map-fallback .route-atlas-svg{width:100%;height:100%}.itinerary-map-overview-card .gm-style-cc{max-width:70%;font-size:7px}.itinerary-map-overview-card .itinerary-map-fallback .route-atlas-stage{width:112%;height:112%}.trip-ask-entry{left:max(20px, env(safe-area-inset-left));bottom:calc(10px + env(safe-area-inset-bottom));background:var(--color-card);width:auto;height:auto;color:var(--color-text-primary);border:1px solid var(--color-border);cursor:pointer;z-index:30;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;padding:11px 18px;line-height:1;transition:width .18s,padding .18s,background .15s,border-color .15s;display:inline-flex;position:fixed;box-shadow:0 6px 16px -4px #1a14100f,0 1px #1a14100a}.trip-ask-entry:active{background:var(--color-surface-deep)}@media (hover:hover){.trip-ask-entry:hover{background:var(--color-surface-deep);border-color:var(--color-border-strong)}}.trip-ask-entry-icon{width:14px;height:14px;color:var(--color-accent);flex-shrink:0}.trip-ask-entry-label{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-primary);margin-left:6px;font-size:12px;font-weight:600;display:inline}.hero-hint{background:var(--color-accent);color:#fbf7f1;font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;align-items:center;gap:6px;padding:11px 18px;font-size:12px;font-weight:600;transition:background .15s,transform .12s;animation:2.5s ease-in-out infinite nudge;display:flex;box-shadow:0 8px 24px -6px #c14f2a52,0 4px 12px -4px #1a14102e}.hero-hint:active{background:var(--color-accent-deep);transform:translateY(1px)}@media (hover:hover){.hero-hint:hover{background:var(--color-accent-deep)}}.hero-body{padding-bottom:calc(80px + env(safe-area-inset-bottom))!important}.day-slide{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.hero-today-cta{background:var(--color-accent);color:#fbf7f1;cursor:pointer;width:100%;font-family:var(--font-sans);text-align:left;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;align-items:center;gap:12px;margin-top:16px;padding:14px 18px;transition:background .15s,transform .12s,box-shadow .18s;display:flex;box-shadow:0 12px 28px -8px #c14f2a52,0 4px 12px -4px #1a14102e}.hero-today-cta:active{background:var(--color-accent-deep);transform:translateY(1px)}@media (hover:hover){.hero-today-cta:hover{background:var(--color-accent-deep);box-shadow:0 16px 36px -8px #c14f2a66,0 6px 16px -4px #1a141038}}.hero-today-cta-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#fbf7f1c7;background:#fbf7f12e;border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:600}.hero-today-cta-label{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.008em;flex:1;font-size:17px;font-weight:420;line-height:1.2}.hero-today-cta-date{color:#fbf7f1d9;font-style:italic;font-weight:380}.hero-today-cta svg{opacity:.92;flex-shrink:0}.hero-notes,.hero-overview-btns{-webkit-backdrop-filter:blur(24px)saturate(160%);background:#fbf7f19e;border:1px solid #e8e1d680;border-radius:12px;flex-direction:column;gap:0;margin-top:18px;padding:10px 8px 8px;display:flex;box-shadow:0 18px 44px -12px #1a141038}.hero-overview-btns{margin-top:24px}.hero-note-btn{cursor:pointer;width:100%;font-family:var(--font-sans);color:var(--color-text-primary);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:12px 10px;transition:background .15s;display:flex}.hero-note-btn+.hero-note-btn{border-top:1px solid #e8e1d699}.hero-note-btn:active{background:#1a14100d}@media (hover:hover){.hero-note-btn:hover{background:#1a14100a}}.hero-note-icon{width:22px;height:22px;color:var(--color-accent);opacity:1;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hero-note-label{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.008em;text-align:left;color:var(--color-text-primary);flex:1;font-size:17px;font-weight:440}.hero-note-count{font-family:var(--font-mono);color:var(--color-accent-deep);background:var(--color-accent-light);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:500}.hero-note-btn svg:last-child{opacity:1;width:14px;height:14px;color:var(--color-text-muted);flex-shrink:0}.hero-overview-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.18em;color:var(--color-accent);margin:0 0 4px;padding:0 4px;font-size:11px;font-weight:600}.todo-check{border:1px solid var(--color-border-strong);color:#0000;width:22px;height:22px;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);pointer-events:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex}.todo-check.done{border-color:var(--color-success);background:var(--color-success);color:#fbf7f1}.todo-item.todo-interactive{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-bottom:none;border-radius:4px;margin:0 -12px;padding:10px 12px;transition:background .15s}.todo-item.todo-interactive:active{background:var(--color-surface-deep)}.todo-status{text-transform:lowercase;flex-shrink:0;font-size:11px}@media (hover:hover){.todo-item.todo-interactive:hover{background:var(--color-surface-deep)}}.todo-ready{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-success);align-items:center;gap:8px;padding:14px 0;font-size:17px;font-weight:420;display:flex}.todo-ready-icon{background:var(--color-success);color:#fbf7f1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.day-slide{padding:calc(var(--nav-height) + var(--date-strip-height) + env(safe-area-inset-top) + 12px) 16px calc(32px + env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));background:var(--color-surface);overflow-x:hidden}.day-hero{border-radius:var(--radius-card);height:280px;box-shadow:var(--shadow-float);background:linear-gradient(135deg,#2a1f18 0%,#1a1410 100%);margin-bottom:16px;position:relative;overflow:hidden}.day-hero img{object-fit:cover;width:100%;height:100%}.day-hero-gradient{background:linear-gradient(#0000 32%,#1a14102e 66%,#1a14106b 100%);position:absolute;inset:0}.day-hero-text{border-radius:0 0 var(--radius-card) var(--radius-card);min-height:25%;max-height:none;box-shadow:none;text-shadow:0 1px 3px #00000073;-webkit-backdrop-filter:blur(4px)saturate(120%);background:linear-gradient(#1a14105c,#1a14109e);border:0;flex-direction:column;justify-content:flex-end;padding:12px 14px 14px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:visible}.day-hero-title{letter-spacing:0;overflow-wrap:anywhere;font-size:20px;line-height:1.08}.day-hero-intro-title{max-width:42ch;font-family:var(--font-sans);letter-spacing:0;color:#fbf7f1;margin:9px 0 0;font-size:15px;font-weight:620;line-height:1.25}.day-hero-intro{max-width:42ch;font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:0;color:#fbf7f1f5;margin:8px 0 0;font-size:17px;font-weight:380;line-height:1.36}.day-hero-intro-title+.day-hero-intro{margin-top:4px}.day-hero-meta{color:#fbf7f1d1;overflow-wrap:anywhere;font-size:13px;line-height:1.4}.day-header-plain{margin-bottom:20px}.day-header-plain .text-label-dark{color:var(--color-accent)}.day-header-plain .text-card-title{color:var(--color-text-primary)}.day-header-plain-intro-title{font-family:var(--font-sans);letter-spacing:0;color:var(--color-text-primary);margin:12px 0 0;font-size:16px;font-weight:620;line-height:1.3}.day-header-plain-intro{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:0;color:var(--color-text-secondary);margin:8px 0 0;font-size:19px;font-weight:380;line-height:1.42}.day-slide>.text-body-italic{color:var(--color-text-muted)}.day-visual-stack{gap:12px;margin-bottom:16px;display:grid}.day-content-stack{align-content:start;align-items:start;gap:14px;min-width:0;display:grid}.day-content-stack>*{min-width:0;margin-bottom:0}.day-visual-stack .day-hero,.day-visual-stack .day-header-plain{margin-bottom:0}.day-map-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.day-map-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:13px 14px 10px;display:flex}.day-map-count{appearance:none;color:var(--color-accent);cursor:pointer;font-family:var(--font-sans);letter-spacing:.14em;text-align:right;text-transform:uppercase;background:0 0;border:0;border-radius:8px;flex-shrink:0;margin:-4px 0;padding:4px 0 4px 8px;font-size:11px;font-weight:600;line-height:1}.day-map-count:hover{color:var(--color-accent-deep)}.day-map-count:focus-visible{outline-offset:2px;outline:2px solid #c14f2a75}.day-map-frame{background:var(--color-surface-deep);height:260px;position:relative}.day-map-header .section-icon{color:var(--color-accent)}.day-description{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-text-secondary);max-width:42ch;margin:0 0 20px;padding:0 2px;font-size:16px;font-style:italic;font-weight:360;line-height:1.55}.day-brief{box-shadow:none;background:0 0;border:0;border-radius:0;margin-bottom:14px;padding:0}.day-brief-header{gap:10px;padding:0 2px;display:grid}.day-brief-overline{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);font-size:11px;font-weight:600;line-height:1}.day-brief-heading{font-family:var(--font-serif);font-optical-sizing:auto;font-variation-settings:"SOFT" 40;letter-spacing:0;color:var(--color-text-primary);margin:0;font-size:30px;font-weight:420;line-height:1.08}.day-brief-meta-row{font-family:var(--font-sans);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:13px;font-weight:520;line-height:1.35;display:flex}.day-brief-meta-row>span,.day-brief-meta-row>em{background:0 0;border-radius:0;align-items:center;min-height:auto;padding:0 0 4px;display:inline-flex}.day-brief-meta-row>span{color:var(--color-text-secondary);border-bottom:1px solid #c14f2a57;font-weight:580}.day-brief-meta-row em{font-family:var(--font-serif);color:var(--color-text-secondary);font-size:15px;font-style:italic;font-weight:360}.day-brief-lead{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:0;color:var(--color-text-secondary);margin:14px 0 0;font-size:16px;font-weight:380;line-height:1.55}.day-brief-body{gap:14px;margin-top:18px;display:grid}.today-mode-card{background:var(--color-card);border:1px solid #1a14100f;border-radius:16px;gap:14px;min-width:0;padding:18px;display:grid;box-shadow:0 1px #1a14100a,0 12px 30px -18px #1a141014}.today-mode-header{border-bottom:1px solid #e8e1d6d1;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:13px;display:flex}.today-mode-overline{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin:0 0 5px;font-size:11px;font-weight:600;line-height:1}.today-mode-title{font-family:var(--font-sans);letter-spacing:0;color:var(--color-text-primary);margin:0;font-size:17px;font-weight:620;line-height:1.25}.today-mode-readiness{min-height:28px;font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;font-weight:650;line-height:1;display:inline-flex}.today-mode-readiness.ready{color:var(--color-success);background:#2f6b4a1f}.today-mode-readiness.open{background:var(--color-accent-light);color:var(--color-accent-deep)}.today-mode-timeline{gap:10px;display:grid}.today-mode-row{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;display:grid}.today-mode-row-icon,.today-mode-fact-icon{background:var(--color-surface-deep);width:34px;height:34px;color:var(--color-accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.today-mode-row-icon svg,.today-mode-fact-icon svg{stroke-width:2px;width:17px;height:17px}.today-mode-row-copy{gap:2px;min-width:0;display:grid}.today-mode-row-label,.today-mode-fact-label{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-size:10px;font-weight:650;line-height:1}.today-mode-row-title{min-width:0;font-family:var(--font-sans);letter-spacing:0;color:var(--color-text-primary);margin:0;font-size:15px;font-weight:620;line-height:1.32}.today-mode-place{font:inherit;color:inherit}.today-mode-row-meta{font-family:var(--font-sans);color:var(--color-text-muted);margin:0;font-size:12px;font-weight:470;line-height:1.4}.today-mode-status{text-overflow:ellipsis;white-space:nowrap;align-self:center;max-width:92px;overflow:hidden}.today-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.today-mode-fact{background:var(--color-surface-deep);border-radius:14px;align-items:center;gap:10px;min-width:0;padding:11px;display:flex}.today-mode-fact-copy{gap:3px;min-width:0;display:grid}.today-mode-fact-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-sans);color:var(--color-text-primary);font-size:13px;font-weight:620;line-height:1.25;display:block;overflow:hidden}.day-brief-see-card,.day-brief-detail-card{background:#fffdf9f0;border:1px solid #1a14100f;border-radius:16px;min-width:0;box-shadow:0 1px #1a14100a,0 12px 30px -18px #1a141014}.day-brief-see-card{gap:11px;padding:18px;display:grid}.day-brief-card-list{grid-template-columns:1fr;gap:14px;display:grid}.day-brief-detail-card{flex-direction:column;gap:11px;padding:18px;display:flex}.day-brief-detail-card-warning{background:#fffaf6f5;border-color:#9b4f2e29}.day-brief-hotel-inline-card{background:var(--color-card);gap:14px}.day-brief-hotel-inline-main{align-items:center;gap:14px;min-width:0;display:flex}.day-brief-hotel-inline-icon{background:var(--color-surface-deep);width:56px;height:56px;color:var(--color-text-secondary);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.day-brief-hotel-inline-icon svg{stroke-width:1.8px;width:30px;height:30px}.day-brief-hotel-inline-copy{gap:3px;min-width:0;display:grid}.day-brief-card-title.day-brief-hotel-inline-title{font-size:18px;line-height:1.24}.day-brief-card-meta.day-brief-hotel-inline-meta{color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.35}.day-brief-hotel-inline-actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.day-brief-pending-pill{color:#6f4d12;min-height:38px;font-family:var(--font-sans);white-space:nowrap;background:#f2e7d3;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:620;line-height:1;display:inline-flex}.day-brief-pending-pill svg{stroke-width:2.15px;width:16px;height:16px}.day-brief-mark-booked-btn{appearance:none;background:var(--color-action-blue);min-width:0;min-height:46px;color:var(--color-card);font-family:var(--font-sans);letter-spacing:0;white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent;border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:15px;font-weight:650;line-height:1;display:inline-flex;box-shadow:0 10px 24px -14px #1f66ae2e}.day-brief-mark-booked-btn svg{stroke-width:2.4px;flex-shrink:0;width:18px;height:18px}.day-brief-mark-booked-btn:focus-visible{outline-offset:3px;outline:3px solid #1f66ae3d}.day-brief-mark-booked-btn:active{background:var(--color-action-blue-deep);transform:translateY(1px);box-shadow:0 6px 16px -12px #1f66ae1f}.day-brief-mark-booked-btn:disabled{cursor:default;opacity:.74;transform:none}.day-brief-inline-error{font-family:var(--font-sans);color:var(--color-warning);margin:-2px 0 0 70px;font-size:12px;font-weight:520;line-height:1.4}.day-brief-card-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.day-brief-see-card>.day-brief-card-kicker,.day-brief-detail-card>.day-brief-card-topline,.day-section>.day-section-title{width:100%;padding-bottom:12px;display:flex;position:relative}.day-brief-see-card>.day-brief-card-kicker:after,.day-brief-detail-card>.day-brief-card-topline:after,.day-section>.day-section-title:after{content:"";background:#e8e1d6d1;height:1px;position:absolute;bottom:0;left:0;right:0}.day-brief-card-kicker{min-width:0;font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-primary);align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.day-brief-card-icon{width:16px;height:16px;color:var(--color-accent);box-shadow:none;background:0 0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.day-brief-card-icon svg{width:16px;height:16px}.day-brief-card-title,.day-card-title{min-width:0;font-family:var(--font-sans);letter-spacing:0;color:var(--color-text-primary);margin:0;font-size:17px;font-weight:620;line-height:1.35}.day-brief-card-place{font-weight:inherit;color:inherit}.day-brief-copy{min-width:0;font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:0;color:var(--color-text-primary);font-size:16px;font-weight:390;line-height:1.55}.day-brief-label,.day-brief-emphasis{color:var(--color-text-primary);font-weight:620}.day-brief-programme-list{gap:12px;display:grid}.day-brief-programme-row{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.day-brief-programme-row.has-detail{grid-template-columns:max-content minmax(0,1fr) 26px;align-items:start}.day-brief-programme-row.no-time{grid-template-columns:1fr}.day-brief-programme-row.no-time.has-detail{grid-template-columns:minmax(0,1fr) 26px}.day-brief-programme-action{grid-column:3;justify-self:end;display:flex}.day-brief-programme-row.no-time .day-brief-programme-action{grid-column:2}.day-brief-programme-copy{min-width:0;color:var(--color-text-primary);gap:4px;display:grid}.day-brief-programme-title{margin:0}.day-brief-programme-copy .day-brief-programme-title{color:var(--color-text-secondary);font-size:15px;font-weight:450;line-height:1.58}.day-brief-options{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:14px;font-weight:420;line-height:1.55}.day-brief-time{font-family:var(--font-sans);letter-spacing:0;color:var(--color-text-primary);font-size:13px;font-weight:620}.day-brief-muted-inline,.day-brief-separator{color:var(--color-text-muted)}.day-brief-card-meta{font-family:var(--font-sans);color:var(--color-text-muted);margin:-2px 0 0;font-size:13px;font-weight:520;line-height:1.45}.day-brief-card-copy{font-family:var(--font-sans);color:var(--color-text-secondary);margin:0;font-size:14px;font-weight:420;line-height:1.55}.day-brief-meal-list{gap:13px;display:grid}.day-brief-meal-entry{gap:8px;display:grid}.day-brief-meal-entry+.day-brief-meal-entry{border-top:1px solid #1a141012;padding-top:13px}.day-brief-meal-type{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-primary);font-size:10px;font-weight:600;line-height:1}.day-brief-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.day-brief-card-action{appearance:none;background:var(--color-card);min-height:30px;color:var(--color-accent-deep);font-family:var(--font-sans);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border:1px solid #c14f2a38;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 1px #1a141008}.day-brief-card-action svg{width:12px;height:12px;margin-right:-2px}.day-brief-card-action:focus-visible{outline-offset:3px;outline:2px solid #c14f2a6b}.day-brief-card-action:active{box-shadow:none;background:#c14f2a24;border-color:#c14f2a52;transform:translateY(1px)scale(.985)}.day-brief-place{appearance:none;color:inherit;font:inherit;letter-spacing:0;text-align:left;-webkit-tap-highlight-color:transparent;transition:background var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:6px;margin:0 -2px;padding:0 2px;display:inline}button.day-brief-place{cursor:pointer;border-bottom:1px solid #c14f2a8f}button.day-brief-place:focus-visible{outline-offset:3px;outline:2px solid #c14f2a6b}button.day-brief-place:active{color:var(--color-accent-deep);background:#c14f2a24;border-bottom-color:#a03e1fb8;transform:translateY(1px);box-shadow:0 0 0 4px #c14f2a1a}@media (hover:hover){.day-brief-card-action:hover,.day-brief-detail-btn:hover{background:#c14f2a1f;border-color:#c14f2a57;transform:translateY(-1px);box-shadow:0 6px 18px -12px #1a141014}button.day-brief-place:hover{color:var(--color-accent-deep);background:#c14f2a14;border-bottom-color:#a03e1fbd;box-shadow:0 0 0 4px #c14f2a12}.day-brief-mark-booked-btn:hover:not(:disabled){background:var(--color-action-blue-deep);transform:translateY(-1px);box-shadow:0 14px 30px -16px #1f66ae3d}}.day-brief-detail-btn{vertical-align:0;appearance:none;background:var(--color-accent-light);width:22px;height:22px;color:var(--color-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border:1px solid #c14f2a38;border-radius:999px;justify-content:center;align-items:center;margin:0;display:inline-flex}.day-brief-detail-btn svg{width:12px;height:12px}.day-brief-detail-btn:focus-visible{outline-offset:3px;outline:2px solid #c14f2a6b}.day-brief-detail-btn:active{background:#c14f2a29;transform:translateY(1px)scale(.95)}.day-brief-status{vertical-align:2px;min-height:22px;margin-left:0;padding:0 8px;font-size:10px}.day-section{background:#fffdf9f5;border:1px solid #1a14100f;border-radius:16px;margin-bottom:14px;padding:18px;box-shadow:0 1px #1a14100a,0 12px 30px -18px #1a141014}.day-section-title{border-bottom:0;margin-bottom:14px;padding-bottom:0}.day-section-title .text-section-title{letter-spacing:.08em;color:var(--color-text-primary);gap:6px;font-size:12px}.day-section-title .section-icon{color:var(--color-accent)}.day-section-title .section-icon svg{width:16px;height:16px}.swipe-track.motion-programmatic .slide.active .day-slide>*{animation:day-content-in var(--motion-slow) var(--ease-enter) both}.swipe-track.motion-programmatic.direction-forward .slide.active .day-slide>*{--day-enter-x:10px}.swipe-track.motion-programmatic.direction-backward .slide.active .day-slide>*{--day-enter-x:-10px}.swipe-track.motion-programmatic .slide.active .day-slide>:first-child{animation-delay:40ms}.swipe-track.motion-programmatic .slide.active .day-slide>:nth-child(2){animation-delay:85ms}.swipe-track.motion-programmatic .slide.active .day-slide>:nth-child(3){animation-delay:.125s}.swipe-track.motion-programmatic .slide.active .day-slide>:nth-child(4){animation-delay:.16s}.swipe-track.motion-programmatic .slide.active .day-slide>:nth-child(n+5){animation-delay:.19s}@keyframes day-content-in{0%{opacity:0;transform:translate3d(var(--day-enter-x,0), 8px, 0)}to{opacity:1;transform:translate(0,0)}}.time-blocks{gap:14px;display:grid}.time-block{border-left:1px solid var(--color-border-strong);padding:2px 0 2px 14px}.time-block.is-transport,.time-block.is-options,.time-block.has-detail{border-left-color:var(--color-accent)}.time-block-heading{justify-content:space-between;align-items:center;gap:8px;margin:0 0 2px;display:flex}.time-block-detail-btn{background:var(--color-accent-light);width:26px;height:26px;color:var(--color-accent);cursor:pointer;border:1px solid #c14f2a38;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:background .15s,transform .1s;display:inline-flex}.time-block-detail-btn svg{width:14px;height:14px}.time-block-detail-btn:active{background:#c14f2a29;transform:scale(.94)}.options-list{gap:8px;margin-top:8px;display:grid}.option-card{background:var(--color-accent-light);border:1px solid #c14f2a2e;border-radius:4px;padding:12px 14px}.option-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.option-label{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-text-primary);font-size:16px;font-weight:420}.option-duration{font-family:var(--font-mono);color:var(--color-accent-deep);background:#c14f2a1f;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px}.option-desc{font-family:var(--font-sans);color:var(--color-text-secondary);margin:4px 0 0;font-size:13px;line-height:1.5}.option-note{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-text-muted);margin:4px 0 0;font-size:13px;font-style:italic}.transport-row{transition:background var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#fbf7f19e;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.transport-row+.transport-row{border-top:0;margin-top:10px}.transport-row.tappable{cursor:pointer}.transport-row.tappable:active{background:#f5e4da9e;transform:translateY(1px)scale(.996)}@media (hover:hover){.transport-row.tappable:hover{background:#ffffffc7;transform:translateY(-1px);box-shadow:0 10px 24px -18px #1a141017}}.transport-icon-wrap{background:var(--color-accent-light);width:32px;height:32px;color:var(--color-accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.transport-detail{flex:1;min-width:0}.transport-route{font-family:var(--font-mono);color:var(--color-text-muted);margin-top:2px;font-size:11px}.accom-card{align-items:flex-start;gap:12px;display:flex}.accom-icon-wrap{background:var(--color-accent-light);width:36px;height:36px;color:var(--color-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.accom-info{flex:1;min-width:0}.accom-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;display:flex}.accom-note{margin-top:4px;font-style:italic}.accom-placeholder{background:#9b4f2e0f;border:1px solid #9b4f2e2e;border-radius:4px;align-items:center;padding:12px}.accom-placeholder .accom-icon-wrap{color:var(--color-warning);background:#9b4f2e1a}.accom-reviewer-btn{background:var(--color-card)}.map-focus-row{cursor:pointer;border-radius:4px;transition:background .15s}.map-focus-row:active{background:var(--color-surface-deep)}.row-details-btn{min-height:30px;color:var(--color-accent-deep);font-family:var(--font-sans);letter-spacing:0;cursor:pointer;background:#c14f2a14;border:1px solid #c14f2a38;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:0 13px;font-size:12px;font-weight:600;line-height:1;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.row-details-btn span{display:inline-flex}.row-details-btn svg{width:13px;height:13px;margin-right:-2px}.row-details-btn:active{background:#c14f2a29;transform:scale(.97)}.status-badge{min-height:30px;font-family:var(--font-sans);border:1px solid;border-radius:999px;justify-content:center;align-items:center;padding:0 13px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.status-pending,.status-open{color:var(--color-warning);background:#9b4f2e14;border-color:#9b4f2e38}.status-booked,.status-reserved{color:var(--color-success);background:#2f6b4a14;border-color:#2f6b4a38}.meal-row{align-items:flex-start;gap:10px;padding:10px 0;display:flex}.meal-row+.meal-row{border-top:1px solid var(--color-border)}.meal-has-detail{cursor:pointer;border-radius:4px;transition:background .15s}.meal-chevron{color:var(--color-text-tertiary);flex-shrink:0;align-items:center;margin-top:2px;display:flex}.meal-type-badge{min-width:76px;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.14em;text-align:center;color:var(--color-accent);background:var(--color-accent-light);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:3px 9px;font-size:10px;font-weight:600;display:inline-flex}.meal-detail{flex:1;min-width:0}.stats-row{flex-wrap:wrap;gap:16px;padding:12px 0;display:flex}.stat-item{align-items:center;gap:6px;display:flex}.stat-icon{width:15px;height:15px;color:var(--color-text-muted);flex-shrink:0}.hero-stats-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.hero-stat-chip{-webkit-backdrop-filter:blur(6px);font-family:var(--font-mono);color:#fbf7f1eb;background:#fbf7f129;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.hero-stat-chip-icon{color:#fbf7f1c7;display:flex}.hero-stat-chip-icon svg{width:13px;height:13px}.day-header-plain .hero-stats-row .hero-stat-chip{background:var(--color-surface-deep);color:var(--color-text-secondary)}.day-header-plain .hero-stats-row .hero-stat-chip .hero-stat-chip-icon{color:var(--color-text-muted)}.tip-row{cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);background:#fbf7f19e;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.tip-row+.tip-row{border-top:0;margin-top:10px}.tip-row:active{background:#f5e4da9e;transform:translateY(1px)scale(.996)}@media (hover:hover){.tip-row:hover{background:#ffffffc7;transform:translateY(-1px);box-shadow:0 10px 24px -18px #1a141017}}.tip-icon-wrap{color:#c89a3d;background:#c89a3d24;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.tip-high .tip-icon-wrap{color:var(--color-accent);background:#c14f2a1f}.tip-content{flex:1;min-width:0}.tip-chevron{color:var(--color-text-tertiary);flex-shrink:0}.detail-tip-body{padding:8px 0}.detail-tip-text{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:15px;font-weight:420;line-height:1.65}.detail-list{font-family:var(--font-sans);color:var(--color-text-secondary);gap:8px;margin:0;padding-left:18px;font-size:15px;line-height:1.55;display:grid}.detail-list li::marker{color:var(--color-accent)}.trip-bottom-drawer{z-index:19;padding:10px max(20px, env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-right));pointer-events:none;transition:background var(--motion-medium) var(--ease-standard), backdrop-filter var(--motion-medium) var(--ease-standard), transform var(--motion-medium) var(--ease-standard);justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.trip-bottom-drawer>*{pointer-events:auto;animation:drawer-control-in var(--motion-medium) var(--ease-enter) both}.trip-bottom-drawer.on-hero{-webkit-backdrop-filter:blur(8px);background:linear-gradient(#fbf7f100,#fbf7f1eb 40%)}@keyframes drawer-control-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.swipe-dots{-webkit-backdrop-filter:blur(14px)saturate(160%);background:#fbf7f1eb;border:1px solid #e8e1d699;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;display:flex;box-shadow:0 12px 32px -10px #1a14102e,0 1px #1a14100f}.swipe-dot{width:10px;height:10px;transition:width var(--motion-medium) var(--ease-standard), background var(--motion-fast) var(--ease-standard), border-radius var(--motion-medium) var(--ease-standard), box-shadow var(--motion-medium) var(--ease-standard), transform var(--motion-medium) var(--ease-standard), opacity var(--motion-fast) ease;background:#1a141052;border-radius:50%;flex-shrink:0;position:relative}.swipe-dot:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.swipe-dot.active{background:var(--color-accent);border-radius:999px;width:26px;box-shadow:0 4px 10px -2px #c14f2a4d}.swipe-dot-fade{background:#1a14102e;border-radius:50%;flex-shrink:0;width:6px;height:6px}.trip-screen.detail-behind{transition:transform var(--motion-sheet) var(--ease-standard), border-radius var(--motion-sheet) var(--ease-standard);border-radius:14px;transform:scale(.982)}.detail-overlay{z-index:100;pointer-events:none;opacity:1;position:absolute;inset:0}.detail-overlay.open{pointer-events:auto}.detail-overlay.closing{pointer-events:none}.detail-backdrop{opacity:0;transition:opacity var(--motion-medium) var(--ease-standard);background:#1a141052;position:absolute;inset:0}.detail-overlay.open .detail-backdrop{opacity:1}.detail-overlay.open.closing .detail-backdrop{opacity:0;transition-duration:.26s;transition-delay:90ms}.detail-sheet{width:100%;max-width:var(--app-max-width);background:var(--color-card);opacity:.98;max-height:70%;transition:transform var(--motion-sheet) var(--ease-enter), opacity var(--motion-medium) var(--ease-standard);-webkit-overflow-scrolling:touch;will-change:transform, opacity;box-shadow:var(--shadow-float);border-radius:16px 16px 0 0;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(calc(100% + 24px))}.detail-overlay.open .detail-sheet{opacity:1;transform:translateY(0)}.detail-overlay.open.closing .detail-sheet{opacity:.98;transition-duration:.36s;transition-timing-function:var(--ease-exit);transform:translateY(calc(100% + 18px))}.detail-header{z-index:5;background:var(--color-card);border-bottom:1px solid var(--color-border);opacity:0;transition:opacity var(--motion-medium) var(--ease-standard) 80ms, transform var(--motion-medium) var(--ease-enter) 80ms;align-items:center;gap:8px;padding:18px 20px 14px;display:flex;position:sticky;top:0;transform:translateY(8px)}.detail-overlay.open:not(.closing) .detail-header{opacity:1;transform:translateY(0)}.detail-close{cursor:pointer;width:40px;height:40px;color:var(--color-text-muted);background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;transition:background .15s,transform .1s;display:flex}.detail-close:active{background:var(--color-surface-deep);transform:scale(.9)}@media (hover:hover){.detail-close:hover{background:var(--color-surface-deep)}}.detail-header .text-nav-title{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.012em;font-size:19px;font-weight:420;color:var(--color-text-primary)!important}.detail-body{padding:20px 20px calc(40px + env(safe-area-inset-bottom));color:var(--color-text-secondary);opacity:0;transition:opacity var(--motion-medium) var(--ease-standard) .13s, transform var(--motion-medium) var(--ease-enter) .13s;transform:translateY(10px)}.detail-overlay.open:not(.closing) .detail-body{opacity:1;transform:translateY(0)}.detail-overlay.open:not(.closing) .detail-body>*{animation:detail-content-in .36s var(--ease-enter) both}.detail-overlay.open:not(.closing) .detail-body>:first-child{animation-delay:.15s}.detail-overlay.open:not(.closing) .detail-body>:nth-child(2){animation-delay:.185s}.detail-overlay.open:not(.closing) .detail-body>:nth-child(3){animation-delay:.22s}.detail-overlay.open:not(.closing) .detail-body>:nth-child(n+4){animation-delay:.25s}@keyframes detail-content-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.detail-info-section{margin-bottom:20px}.detail-info-section-title{border-bottom:1px solid var(--color-border);margin-bottom:10px;padding-bottom:6px}.detail-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;padding:10px 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-row-label{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0;width:110px;font-size:11px;font-weight:600}.detail-row-value{font-family:var(--font-sans);color:var(--color-text-primary);text-align:right;flex:1;min-width:0;font-size:14px;font-weight:540}.detail-row-value.mono{font-family:var(--font-mono);font-size:13px}.detail-row-value a{color:var(--color-accent);border-bottom:1px solid var(--color-accent);text-decoration:none}.detail-row-value a:hover{color:var(--color-accent-deep);border-color:var(--color-accent-deep)}.detail-charging-stop{border-bottom:1px solid var(--color-border);padding:10px 0}.detail-charging-stop:last-child{border-bottom:none}.detail-charging-name{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-text-primary);font-size:16px;font-weight:420}.detail-charging-meta{font-family:var(--font-sans);color:var(--color-text-muted);margin-top:2px;font-size:13px}.detail-charging-note{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-text-secondary);margin-top:4px;font-size:13px;font-style:italic}.detail-body-react{padding:0;overflow:hidden}.accommodation-review-board{--accommodation-review-header-height:76px;--ar-r-card:16px;--ar-r-tile:12px;--ar-r-region:20px;--ar-pad-card:18px;--ar-gap-card:14px;--ar-shadow:0 1px 2px #1a14100a, 0 12px 28px -16px #1a141038;--ar-shadow-hover:0 2px 6px #1a14100d, 0 20px 42px -18px #1a14104d;--ar-shadow-sm:0 1px 2px #1a141008, 0 6px 16px -12px #1a141029;--ar-hairline:#1a14100f;background:var(--color-surface);grid-template-columns:144px minmax(0,1fr);min-height:min(640px,100dvh - 130px);display:grid;position:relative}.accommodation-review-nav{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;display:flex;overflow:hidden}.accommodation-review-nav-header{min-height:var(--accommodation-review-header-height);box-sizing:border-box;flex:none;align-items:center;padding:20px 12px 14px 18px;display:flex}.accommodation-review-nav-heading{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.01em;color:var(--color-text-primary);font-size:22px;font-weight:400;line-height:1.05}.accommodation-review-nav-trip-title{-webkit-line-clamp:2;max-height:23px;font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);-webkit-box-orient:vertical;margin-bottom:4px;font-size:9px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.accommodation-review-nav-list{flex-direction:column;flex:1;gap:4px;min-height:0;padding:8px 12px 18px 18px;display:flex;overflow-y:auto}.accommodation-review-nav-item{width:100%;min-height:58px;color:var(--color-text-primary);text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);background-color:#0000;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:3px;padding:11px 12px 13px 22px;display:flex;position:relative}.accommodation-review-nav-item:before{content:"";border:1.5px solid var(--color-border-strong);background:var(--color-surface);width:9px;height:9px;box-shadow:0 0 0 3px var(--color-surface);z-index:2;border-radius:999px;position:absolute;top:19px;left:5px}.accommodation-review-nav-item:after{content:"";border-left:1.5px solid var(--color-border);z-index:1;pointer-events:none;position:absolute;top:23px;bottom:-24px;left:9px}.accommodation-review-nav-item:last-child:after{display:none}.accommodation-review-nav-item>span{z-index:3;position:relative}.accommodation-review-nav-item:hover:not(.active){background-color:#1a141008}.accommodation-review-nav-item.active{background-color:var(--color-card);border-color:var(--ar-hairline);box-shadow:var(--ar-shadow-sm)}.accommodation-review-nav-item.active:before{border-color:var(--color-accent)}.accommodation-review-nav-item.status-booked{color:var(--color-success)}.accommodation-review-nav-item.status-booked:before{border-color:var(--color-success);background:var(--color-success)}.accommodation-review-nav-item.status-booked:after{border-left-color:#2f6b4a4d}.accommodation-review-nav-item.status-needs-work{color:var(--color-accent-deep)}.accommodation-review-nav-item.status-needs-work:before{border-color:var(--color-accent);background:var(--color-card)}.accommodation-review-nav-item.status-dismissed{color:var(--color-text-muted)}.accommodation-review-nav-item.status-dismissed:before{border-color:var(--color-border-strong);background:var(--color-surface-deep)}.accommodation-review-nav-item.status-booked.active,.accommodation-review-nav-item.status-needs-work.active{opacity:1}.accommodation-review-nav-title{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.005em;color:var(--color-text-primary);font-size:16px;font-weight:420;line-height:1.14}.accommodation-review-nav-meta{font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:10px;font-weight:600}.accommodation-review-nav-status{letter-spacing:.02em;white-space:nowrap;box-sizing:border-box;border:1px solid #0000;border-radius:999px;justify-content:center;align-self:flex-start;align-items:center;gap:5px;max-width:100%;height:21px;margin-top:7px;padding:0 9px;overflow:hidden;font-family:var(--font-sans)!important;font-size:10px!important;font-weight:600!important;line-height:1!important;display:inline-flex!important}.accommodation-review-nav-status>span:first-child{background:currentColor;border-radius:999px;flex:none;width:5px;height:5px}.accommodation-review-nav-status>span:last-child{min-width:0}.accommodation-review-nav-status.needs-work{color:var(--color-accent-deep);background:#c14f2a1a}.accommodation-review-nav-status.booked{color:var(--color-success);background:#2f6b4a1f}.accommodation-review-nav-status.dismissed{color:var(--color-text-muted);background:#6b61571f}.accommodation-review-main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.accommodation-review-destination{min-height:var(--accommodation-review-header-height);border-bottom:1px solid var(--color-border);box-sizing:border-box;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px 16px;display:flex}.accommodation-review-kicker{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-bottom:5px;font-size:10px;font-weight:600}.accommodation-review-destination h3{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.014em;color:var(--color-text-primary);margin:0;font-size:27px;font-weight:400;line-height:1.04}.accommodation-review-error{max-width:210px;color:var(--color-warning);font-family:var(--font-sans);background:#9b4f2e14;border-radius:10px;padding:8px 11px;font-size:12px;line-height:1.35}.accommodation-review-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.accommodation-review-complete-pill{height:26px;color:var(--color-success);font-family:var(--font-sans);letter-spacing:.01em;white-space:nowrap;background:#2f6b4a1a;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:650;display:inline-flex}.accommodation-review-mode-button{border:1px solid var(--color-border-strong);background:var(--color-card);min-height:34px;color:var(--color-text-primary);font-family:var(--font-sans);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);border-radius:999px;padding:0 14px;font-size:12px;font-weight:650;display:none}.accommodation-review-mode-button:hover{background:var(--color-surface-deep);border-color:var(--color-text-primary)}.accommodation-review-mode-button.accommodation-review-edit-button{justify-content:center;align-items:center;display:inline-flex}.accommodation-review-booked-overview{display:none}.accommodation-review-kanban{background:var(--color-surface);-webkit-overflow-scrolling:touch;flex:1;grid-template-columns:minmax(0,1fr);min-height:0;padding:18px 24px 24px;display:grid;overflow:hidden auto}.accommodation-review-lane{box-sizing:border-box;flex-direction:column;min-width:0;min-height:100%;display:flex}.accommodation-review-lane.drag-active{outline:2px dashed var(--color-border-strong);outline-offset:6px;border-radius:var(--ar-r-region)}.accommodation-review-lane-header{max-width:820px;font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:8px;padding:0 4px 12px;font-size:11px;font-weight:600;display:flex}.lane-proposals .accommodation-review-lane-header{color:var(--color-accent-deep)}.lane-hotel .accommodation-review-lane-header{color:var(--color-success)}.lane-dismissed .accommodation-review-lane-header{color:var(--color-warning)}.accommodation-review-card-stack{gap:var(--ar-gap-card);box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;max-width:820px;min-height:120px;display:flex}.accommodation-review-card{width:100%;min-width:0;max-width:100%;padding:var(--ar-pad-card);box-sizing:border-box;border:1px solid var(--ar-hairline);border-radius:var(--ar-r-card);background:var(--color-card);box-shadow:var(--ar-shadow);cursor:default;transition:box-shadow var(--motion-medium) var(--ease-standard), transform var(--motion-medium) var(--ease-standard);flex-direction:column;gap:14px;display:flex}.accommodation-review-card.is-booked{border-color:#2f6b4a38;box-shadow:0 1px 2px #2f6b4a0d,0 14px 30px -16px #2f6b4a47}.accommodation-review-card:focus-visible{outline-offset:2px;outline:2px solid #c14f2a52}.accommodation-review-card.saving{opacity:.56;cursor:wait}.accommodation-review-card.overview-card{cursor:default}.accommodation-review-card-destination{border-bottom:1px solid var(--color-border);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);justify-content:space-between;align-items:center;gap:8px;padding-bottom:12px;font-size:10px;font-weight:650;line-height:1.25;display:flex}.accommodation-review-card-destination span:last-child{color:var(--color-text-muted);text-align:right}.accommodation-review-card-topline{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.accommodation-review-card-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.accommodation-review-card h4{min-width:0;font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.01em;color:var(--color-text-primary);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:420;line-height:1.16}.accommodation-review-card-badge{min-height:21px;color:var(--color-success);font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;background:#2f6b4a1f;border-radius:999px;flex:none;align-items:center;padding:0 9px;font-size:10px;font-weight:650;line-height:1;display:inline-flex}.accommodation-review-card-price{background:var(--color-surface-deep);max-width:130px;font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--color-text-primary);text-align:right;overflow-wrap:anywhere;word-break:break-word;border-radius:999px;flex:none;align-items:center;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.accommodation-review-card-copy{min-width:0;font-family:var(--font-sans);color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.55}.accommodation-review-card-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;margin:0;display:grid}.accommodation-review-card-detail{border-radius:var(--ar-r-tile);background:var(--color-surface-deep);min-width:0;padding:11px 13px}.accommodation-review-card-detail dt,.accommodation-review-card-section dt{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-tertiary);margin:0 0 4px;font-size:10px;font-weight:650;line-height:1}.accommodation-review-card-detail dd,.accommodation-review-card-section dd{min-width:0;font-family:var(--font-sans);color:var(--color-text-primary);overflow-wrap:anywhere;margin:0;font-size:13.5px;font-weight:460;line-height:1.4}.accommodation-review-card-facts,.accommodation-review-card-notes{flex-direction:column;gap:5px;min-width:0;display:flex}.accommodation-review-card-facts span,.accommodation-review-card-notes span{font-family:var(--font-sans);color:var(--color-text-muted);font-size:12px;line-height:1.35}.accommodation-review-card-rating{border-radius:var(--ar-r-tile);background:#c14f2a12;flex-direction:column;gap:4px;padding:12px 13px;display:flex}.accommodation-review-card-rating-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.07em;color:var(--color-accent);font-size:10px;font-weight:650;line-height:1}.accommodation-review-card-rating span:last-child{font-family:var(--font-sans);color:var(--color-text-primary);font-size:13px;line-height:1.4}.accommodation-review-card-section{background:var(--color-surface-deep);border-radius:14px;min-width:0;padding:14px 15px}.accommodation-review-card-section h5{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin:0 0 11px;font-size:10px;font-weight:650;line-height:1}.accommodation-review-card-section dl{flex-direction:column;gap:10px;min-width:0;margin:0;display:flex}.accommodation-review-card-section dl>div{min-width:0}.accommodation-review-card-section p{min-width:0;font-family:var(--font-sans);color:var(--color-text-muted);overflow-wrap:anywhere;margin:9px 0 0;font-size:12px;line-height:1.45}.accommodation-review-card-ratings{background:#c14f2a12}.accommodation-review-rating-row{min-width:0}.accommodation-review-rating-row+.accommodation-review-rating-row{border-top:1px solid #c14f2a29;margin-top:11px;padding-top:11px}.accommodation-review-rating-meta{font-family:var(--font-sans);color:var(--color-text-muted);flex-wrap:wrap;gap:5px 8px;margin-bottom:8px;font-size:11px;line-height:1.2;display:flex}.accommodation-review-rating-meta span:first-child{color:var(--color-text-primary);font-weight:580}.accommodation-review-rating-platforms{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px;display:grid}.accommodation-review-rating-platform{background:var(--color-card);border-radius:10px;min-width:0;padding:9px 10px}.accommodation-review-rating-platform b{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent-deep);margin-bottom:4px;font-size:9px;font-weight:650;line-height:1;display:block}.accommodation-review-rating-platform span{min-width:0;font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--color-text-primary);overflow-wrap:anywhere;font-size:13px;font-weight:580;line-height:1.3;display:block}.accommodation-review-rating-platform.is-missing span{color:var(--color-text-tertiary);font-weight:450}.accommodation-review-card-notes{background:var(--color-surface-deep)}.accommodation-review-card-section.accommodation-review-card-notes{padding:14px 15px}.accommodation-review-card-feedback{background:var(--color-surface-deep)}.accommodation-review-card-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;display:flex}.accommodation-review-status-control{align-items:center;gap:9px;min-width:0;display:inline-flex}.accommodation-review-status-control>span{font-family:var(--font-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);font-size:10px;font-weight:650;line-height:1}.accommodation-review-status-control select{border:1px solid var(--color-border-strong);background:var(--color-card);min-height:34px;color:var(--color-text-primary);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard);border-radius:999px;padding:0 12px;font-size:12px;font-weight:600}.accommodation-review-status-control select:disabled{cursor:wait;opacity:.5}.accommodation-review-status-control select:focus-visible{outline-offset:2px;outline:2px solid #c14f2a42}.accommodation-review-status-badge{min-height:32px;color:var(--color-success);font-family:var(--font-sans);letter-spacing:.01em;background:#2f6b4a1a;border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:11px;font-weight:650;display:inline-flex}@media (hover:hover){.accommodation-review-card:hover{box-shadow:var(--ar-shadow-hover);transform:translateY(-1px)}.accommodation-review-card.overview-card:hover{box-shadow:var(--ar-shadow);transform:none}.accommodation-review-status-control select:not(:disabled):hover{border-color:var(--color-text-primary)}.accommodation-review-links a:hover{background:var(--color-card);border-color:var(--color-border-strong)}}.accommodation-review-links{flex-direction:column;gap:7px;display:flex}.accommodation-review-links a{border-radius:var(--ar-r-tile);color:var(--color-text-primary);background:var(--color-surface-deep);transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px 13px;text-decoration:none;display:grid}.accommodation-review-link-icon{color:var(--color-accent);flex:none;grid-area:1/2/span 2;align-self:center}.accommodation-review-links span{min-width:0;font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:580;overflow:hidden}.accommodation-review-links small{min-width:0;font-family:var(--font-sans);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2;overflow:hidden}.accommodation-review-booking-overlay{z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#382a1f52;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.accommodation-review-booking-dialog{border:1px solid var(--ar-hairline);background:var(--color-card);border-radius:22px;width:min(420px,100%);padding:26px;box-shadow:0 28px 64px #382a1f47}.accommodation-review-booking-kicker{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:9px;font-size:10px;font-weight:650;line-height:1}.accommodation-review-booking-dialog h3{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.012em;color:var(--color-text-primary);margin:0;font-size:26px;font-weight:420;line-height:1.08}.accommodation-review-booking-dialog p{font-family:var(--font-sans);color:var(--color-text-secondary);margin:12px 0 0;font-size:14px;line-height:1.55}.accommodation-review-booking-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.accommodation-review-booking-actions button{min-height:40px;font-family:var(--font-sans);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);border-radius:12px;padding:0 18px;font-size:13px;font-weight:650}.accommodation-review-booking-secondary{border:1px solid var(--color-border-strong);background:var(--color-card);color:var(--color-text-secondary)}.accommodation-review-booking-secondary:hover{background:var(--color-surface-deep)}.accommodation-review-booking-primary{border:1px solid var(--color-accent-deep);background:var(--color-accent);color:#fffaf4}.accommodation-review-booking-primary:hover{background:var(--color-accent-deep)}.accommodation-review-lane-empty{border:1px dashed var(--color-border-strong);border-radius:var(--ar-r-card);background:#fff6;flex:1;min-height:92px}.accommodation-review-empty{padding:24px 22px calc(34px + env(safe-area-inset-bottom));color:var(--color-text-secondary)}.accommodation-review-empty-title{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-text-primary);margin-bottom:8px;font-size:22px;font-weight:400}.accommodation-review-empty p{font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.55}.markdown-body{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:15px;line-height:1.65}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-text-primary);letter-spacing:-.012em;margin:28px 0 10px;font-weight:420;line-height:1.2}.markdown-body h1{letter-spacing:-.018em;font-size:28px;font-weight:380}.markdown-body h2{font-size:22px}.markdown-body h3{font-size:18px}.markdown-body h4{font-size:16px}.markdown-body p{margin:0 0 14px}.markdown-body strong{color:var(--color-text-primary);font-weight:600}.markdown-body em{font-style:italic}.markdown-body a{color:var(--color-text-primary);border-bottom:1px solid var(--color-accent);text-decoration:none;transition:color .15s,border-color .15s}.markdown-body a:hover{color:var(--color-accent);border-color:var(--color-accent-deep)}.markdown-body ul,.markdown-body ol{margin:0 0 14px;padding-left:22px}.markdown-body li{margin:4px 0}.markdown-body li::marker{color:var(--color-accent)}.markdown-body blockquote{border-left:2px solid var(--color-accent);font-family:var(--font-serif);font-optical-sizing:auto;color:var(--color-text-secondary);margin:0 0 14px;padding:6px 0 6px 16px;font-size:16px;font-style:italic}.markdown-body code{font-family:var(--font-mono);background:var(--color-surface-deep);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:4px;padding:2px 6px;font-size:13px}.markdown-body pre{background:var(--color-surface-deep);border:1px solid var(--color-border);border-radius:8px;margin:0 0 14px;padding:14px 16px;overflow-x:auto}.markdown-body pre code{color:var(--color-text-primary);background:0 0;border:0;padding:0;font-size:13px}.markdown-body hr{border:0;border-top:1px solid var(--color-border);margin:24px 0}.markdown-body table{border-collapse:collapse;font-variant-numeric:tabular-nums;-webkit-overflow-scrolling:touch;width:100%;margin:0 0 16px;font-size:14px;display:block;overflow-x:auto}.markdown-body thead{background:var(--color-surface-deep)}.markdown-body th{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:600}.markdown-body td{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);vertical-align:top;padding:11px 12px}.markdown-body tr:last-child td{border-bottom:0}.markdown-body img{border-radius:6px;max-width:100%;height:auto;margin:10px 0}.markdown-empty{font-family:var(--font-serif);color:var(--color-text-muted);font-style:italic}.chat-bubble-assistant .markdown-body{max-width:62ch;font-size:var(--trip-chat-assistant-bubble-font-size,14px);line-height:var(--trip-chat-assistant-bubble-line-height,1.55);color:var(--color-text-primary)}.chat-bubble-assistant .markdown-body p{margin:0 0 var(--trip-chat-markdown-paragraph-gap,8px)}.chat-bubble-assistant .markdown-body p:last-child{margin-bottom:0}.chat-bubble-assistant .markdown-body h1,.chat-bubble-assistant .markdown-body h2,.chat-bubble-assistant .markdown-body h3,.chat-bubble-assistant .markdown-body h4{margin:var(--trip-chat-markdown-heading-margin,12px 0 6px);font-family:var(--font-serif);font-optical-sizing:auto;font-variation-settings:"SOFT" 36;letter-spacing:0;font-weight:420;line-height:1.18}.chat-bubble-assistant .markdown-body h1{font-size:var(--trip-chat-markdown-h1-size,18px)}.chat-bubble-assistant .markdown-body h2{font-size:var(--trip-chat-markdown-h2-size,16px)}.chat-bubble-assistant .markdown-body h3{font-size:var(--trip-chat-markdown-h3-size,15px)}.chat-bubble-assistant .markdown-body h4{font-size:var(--trip-chat-markdown-h4-size,14px)}.chat-bubble-assistant .markdown-body ul,.chat-bubble-assistant .markdown-body ol{margin:0 0 var(--trip-chat-markdown-list-gap,8px);padding-left:var(--trip-chat-markdown-list-indent,20px)}.chat-bubble-assistant .markdown-body li{margin:var(--trip-chat-markdown-list-item-gap,2px 0)}.chat-bubble-assistant .markdown-body code{padding:1px 5px;font-size:12px}.chat-bubble-assistant .markdown-body pre{margin:0 0 8px;padding:10px 12px;font-size:12px}.chat-bubble-assistant .markdown-body table{margin:0 0 8px;font-size:13px}.chat-bubble-assistant .markdown-body th,.chat-bubble-assistant .markdown-body td{padding:6px 8px}.chat-bubble-assistant .markdown-body hr{margin:12px 0}.chat-bubble-assistant .markdown-body blockquote{font-size:var(--trip-chat-markdown-blockquote-size,13px);padding:var(--trip-chat-markdown-blockquote-padding,4px 0 4px 12px)}.tappable{cursor:pointer;border-radius:4px;margin:0 -8px;transition:background .15s;padding-left:8px!important;padding-right:8px!important}.tappable:active{background:var(--color-surface-deep)}.tap-chevron{width:16px;height:16px;color:var(--color-text-tertiary);flex-shrink:0;margin-left:4px}.overview-screen{background:var(--color-surface);flex-direction:column;height:100%;transition:opacity .3s;display:flex;overflow:hidden}.overview-screen.faded{opacity:.3;pointer-events:none}.overview-header{padding:calc(52px + env(safe-area-inset-top)) 24px 20px;flex-shrink:0;align-items:center;gap:8px;display:flex}.overview-title{font-family:var(--font-serif);font-optical-sizing:auto;font-variation-settings:"SOFT" 50;letter-spacing:-.018em;color:var(--color-text-primary);flex:1;margin:0;font-size:36px;font-weight:380}.overview-back{width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-left:-8px;transition:background .15s,transform .1s;display:flex}.overview-back:active{background:var(--color-surface-deep);transform:scale(.9)}@media (hover:hover){.overview-back:hover{background:var(--color-surface-deep)}}.overview-menu-wrap{flex-shrink:0;position:relative}.overview-menu-btn{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.overview-menu-btn:active{background:var(--color-surface-deep)}@media (hover:hover){.overview-menu-btn:hover{background:var(--color-surface-deep);color:var(--color-text-primary)}}.overview-menu-backdrop{z-index:40;position:fixed;inset:0}.overview-menu{background:var(--color-card);border:1px solid var(--color-border);min-width:180px;box-shadow:var(--shadow-float);z-index:50;border-radius:6px;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.overview-menu-item{width:100%;color:var(--color-text-primary);font-family:var(--font-sans);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:520;transition:background .15s;display:flex}.overview-menu-item:active{background:var(--color-surface-deep)}@media (hover:hover){.overview-menu-item:hover{background:var(--color-surface-deep)}}.overview-menu-item svg{color:var(--color-text-muted);flex-shrink:0}.overview-menu-item-danger,.overview-menu-item-danger svg{color:var(--color-accent)}.overview-body{-webkit-overflow-scrolling:touch;flex:1;padding:0 16px 32px;overflow-y:auto}.overview-empty{text-align:center;color:var(--color-text-tertiary);font-family:var(--font-serif);font-optical-sizing:auto;padding:60px 20px;font-size:17px;font-style:italic;font-weight:380}.trip-card{border-radius:var(--radius-card);cursor:pointer;height:240px;box-shadow:var(--shadow-card);background:var(--color-surface-deep);margin-bottom:16px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;transform:scale(1)}.trip-card:active{box-shadow:var(--shadow-card-hover);transform:scale(.97)}.trip-card-media{border-radius:inherit;contain:paint;position:absolute;inset:0;overflow:hidden}.trip-card-img{object-fit:cover;width:100%;height:100%;transition:transform .4s}@media (hover:hover){.trip-card:hover .trip-card-img{transform:scale(1.03)}}.trip-card-gradient{background:linear-gradient(#1a14100a 0%,#1a141052 60%,#1a1410c7 100%);position:absolute;inset:0}.trip-card-body{padding:22px;position:absolute;bottom:0;left:0;right:0}.trip-card-dates{font-family:var(--font-sans);color:#fbf7f1c7;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600}.trip-card-name{font-family:var(--font-serif);font-optical-sizing:auto;font-variation-settings:"SOFT" 50;letter-spacing:-.018em;color:#fbf7f1;margin-bottom:4px;font-size:32px;font-weight:380;line-height:1.05}.trip-card-subtitle{font-family:var(--font-serif);font-optical-sizing:auto;color:#fbf7f1d1;font-size:15px;font-style:italic;font-weight:360;line-height:1.4}.trip-card-badge{-webkit-backdrop-filter:blur(10px);font-family:var(--font-sans);color:#fbf7f1eb;letter-spacing:.14em;text-transform:uppercase;background:#fbf7f129;border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:600;transition:opacity .2s;display:inline-flex;position:absolute;top:16px;right:16px}.trip-card-delete{cursor:pointer;-webkit-backdrop-filter:blur(10px);color:#fbf7f1d9;opacity:0;z-index:2;background:#1a141080;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s,background .15s,transform .1s;display:flex;position:absolute;bottom:16px;right:16px}.trip-card-delete:active{background:var(--color-accent);transform:scale(.9)}@media (hover:hover){.trip-card:hover .trip-card-delete{opacity:1}.trip-card:hover .trip-card-badge{opacity:0}.trip-card-delete:hover{background:var(--color-accent);color:#fbf7f1}}@media (hover:none){.trip-card-delete,.trip-card-badge{opacity:1}}.trip-card-stats{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.trip-card-stat{-webkit-backdrop-filter:blur(8px);font-family:var(--font-sans);color:#fbf7f1eb;background:#fbf7f124;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:540;display:inline-flex}.trip-card-stat svg{opacity:.78;width:12px;height:12px}.trip-screen{z-index:30;background:var(--color-surface);transition:transform var(--motion-sheet) var(--ease-standard), border-radius var(--motion-sheet) var(--ease-standard);color:var(--color-text-primary);flex-direction:column;position:absolute;inset:0;overflow:hidden}@supports (view-transition-name:hero){::view-transition-group(trip-hero){will-change:transform;border-radius:20px;animation-duration:.32s;animation-timing-function:cubic-bezier(.22,1,.36,1);overflow:hidden}::view-transition-old(trip-hero){mix-blend-mode:normal;object-fit:cover;border-radius:20px;height:100%;animation:none;overflow:clip}::view-transition-new(trip-hero){mix-blend-mode:normal;object-fit:cover;border-radius:20px;height:100%;animation:none;overflow:clip}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}.confirm-overlay{z-index:200;justify-content:center;align-items:center;padding:32px;display:flex;position:absolute;inset:0}.confirm-backdrop{-webkit-backdrop-filter:blur(4px);background:#1a141073;position:absolute;inset:0}.confirm-dialog{background:var(--color-card);border:1px solid var(--color-border);width:100%;max-width:320px;box-shadow:var(--shadow-float);border-radius:6px;padding:24px;position:relative}.confirm-title{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.012em;color:var(--color-text-primary);margin-bottom:8px;font-size:22px;font-weight:420}.confirm-message{font-family:var(--font-sans);color:var(--color-text-secondary);margin-bottom:20px;font-size:14px;line-height:1.55}.confirm-actions{gap:8px;display:flex}.confirm-btn{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:999px;flex:1;padding:11px 0;font-size:14px;font-weight:580;transition:background .15s,transform .1s}.confirm-btn:active{transform:scale(.97)}.confirm-btn-cancel{background:var(--color-surface-deep);color:var(--color-text-primary)}.confirm-btn-delete{background:var(--color-accent);color:#fbf7f1}@media (hover:hover){.confirm-btn-cancel:hover{background:var(--color-border)}.confirm-btn-delete:hover{background:var(--color-accent-deep)}}.trip-app :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:6px}.trip-app :focus:not(:focus-visible){outline:none}.add-to-trips-btn{background:var(--color-accent);color:#fbf7f1;min-width:0;max-width:min(230px,100vw - 142px);height:40px;font-family:var(--font-sans);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;flex-shrink:1;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:620;line-height:1;transition:transform .15s,box-shadow .15s,background .2s;display:inline-flex;overflow:hidden;box-shadow:0 2px 12px #1a14102e,0 8px 24px #1a14101a}.add-to-trips-btn svg{flex-shrink:0;width:17px;height:17px}.add-to-trips-btn:active{transform:scale(.96)}.add-to-trips-btn:disabled{opacity:.7;cursor:wait}.add-to-trips-btn.saved{background:var(--color-success);color:#fbf7f1;box-shadow:0 2px 12px #1a141024,0 8px 24px #1a141014}@media (hover:hover){.add-to-trips-btn:hover:not(:disabled){background:var(--color-accent-deep);transform:translateY(-1px);box-shadow:0 4px 16px #1a141033,0 12px 32px #1a14101f}}.save-offline-btn{width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:0;transition:background .15s,color .15s,transform .1s;display:flex}.save-offline-btn:active{background:var(--color-surface-deep);transform:scale(.92)}@media (hover:hover){.save-offline-btn:hover{background:var(--color-surface-deep);color:var(--color-text-primary)}}.nav-bar.over-hero .save-offline-btn{color:#fbf7f1}.nav-bar.over-hero .save-offline-btn:active{background:#fbf7f12e}@media (hover:hover){.nav-bar.over-hero .save-offline-btn:hover{color:#fbf7f1;background:#fbf7f12e}}.save-offline-btn.saved{color:var(--color-accent)}.nav-bar.over-hero .save-offline-btn.saved{color:var(--color-accent-light)}.save-offline-btn.busy{opacity:.85;cursor:wait}.save-offline-spinner{transform-origin:12px 12px;animation:.9s linear infinite save-offline-spin}@keyframes save-offline-spin{to{transform:rotate(360deg)}}.save-offline-confirm{z-index:1100;font-family:var(--font-sans);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.save-offline-confirm-backdrop{-webkit-backdrop-filter:blur(4px);background:#1a141080;animation:.18s ease-out both save-offline-fade;position:absolute;inset:0}.save-offline-confirm-dialog{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:360px;padding:28px;animation:.2s cubic-bezier(.32,.72,0,1) both save-offline-pop;position:relative;box-shadow:0 24px 60px -12px #1a141033,0 4px 16px -4px #1a14101a}.save-offline-confirm-title{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.012em;color:var(--color-text-primary);margin:0 0 10px;font-size:22px;font-weight:420}.save-offline-confirm-message{color:var(--color-text-secondary);margin:0 0 22px;font-size:14px;line-height:1.55}.save-offline-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.save-offline-confirm-btn{font-family:var(--font-sans);letter-spacing:-.005em;cursor:pointer;border:none;border-radius:999px;padding:11px 20px;font-size:14px;font-weight:580;transition:background .15s,transform .1s}.save-offline-confirm-btn:active{transform:scale(.97)}.save-offline-confirm-btn.cancel{background:var(--color-surface-deep);color:var(--color-text-primary)}.save-offline-confirm-btn.cancel:hover{background:var(--color-border)}.save-offline-confirm-btn.delete{background:var(--color-accent);color:#fbf7f1}.save-offline-confirm-btn.delete:hover{background:var(--color-accent-deep)}@keyframes save-offline-fade{0%{opacity:0}to{opacity:1}}@keyframes save-offline-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.save-offline-toast{top:calc(var(--nav-height) + env(safe-area-inset-top) + 12px);z-index:50;background:var(--color-night);color:var(--color-surface);font-family:var(--font-sans);letter-spacing:-.005em;pointer-events:none;white-space:nowrap;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:540;animation:2.2s both save-offline-toast;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 12px 32px -8px #1a141052}@keyframes save-offline-toast{0%{opacity:0;transform:translate(-50%,-8px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}.demo-back-link{z-index:100;-webkit-backdrop-filter:blur(12px)saturate(140%);border:1px solid var(--color-border);color:var(--color-text-primary);background:#fbf7f1eb;border-radius:999px;align-items:center;gap:6px;padding:8px 14px 8px 10px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:13px;font-weight:540;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:flex;position:fixed;top:16px;left:16px}.demo-back-link:hover{background:var(--color-night);border-color:var(--color-night);color:var(--color-surface)}.demo-back-link svg{opacity:.7}.demo-back-link:hover svg{opacity:1}@keyframes share-fade-in{0%{opacity:0}to{opacity:1}}.trip-desktop-bg{display:none}@media (min-width:768px){.slide::-webkit-scrollbar{width:6px}.slide::-webkit-scrollbar-track{background:0 0}.slide::-webkit-scrollbar-thumb{background:#1a141029;border-radius:3px}.slide::-webkit-scrollbar-thumb:hover{background:#1a141047}.detail-sheet::-webkit-scrollbar{width:6px}.detail-sheet::-webkit-scrollbar-track{background:0 0}.detail-sheet::-webkit-scrollbar-thumb{background:#1a141029;border-radius:3px}.detail-sheet::-webkit-scrollbar-thumb:hover{background:#1a141047}.slide,.detail-sheet{scrollbar-width:thin;scrollbar-color:#1a141029 transparent}:root{--app-max-width:520px}.trip-desktop-bg{z-index:-1;background:radial-gradient(ellipse 70% 60% at 50% 30%, #c14f2a0f 0%, transparent 70%), radial-gradient(ellipse 50% 60% at 30% 80%, #c89a3d0d 0%, transparent 60%), var(--color-surface-deep);pointer-events:none;display:block;position:fixed;inset:0}.trip-app{height:calc(100dvh - 40px);box-shadow:0 8px 48px #1a14102e, 0 0 0 1px var(--color-border);border-radius:8px;margin-top:20px;margin-bottom:20px}.text-hero-title{font-size:50px}.text-hero-subtitle{font-size:18px}.day-hero-meta{font-size:13px}.text-hero-summary{font-size:15px}.detail-sheet{border-radius:12px 12px 0 0}.detail-body{padding:24px 20px calc(40px + env(safe-area-inset-bottom))}.detail-header{padding:18px 20px 14px}.day-hero{height:300px}.day-section{transition:box-shadow .2s,transform .2s}.day-section:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.hero-body{padding-bottom:48px}.hero-stats{gap:32px}.hero-pill{padding:6px 16px}.nav-back{border-radius:14px;width:44px;height:44px}.date-btn{width:46px;height:46px}.date-btn-d{font-size:17px}.day-slide{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right))}.day-section{padding:22px}.text-body,.text-body-secondary{font-size:15px;line-height:1.6}.text-card-title,.text-card-title-light{font-size:26px}.day-hero-title{font-size:22px}.day-hero-intro-title{font-size:16px}.day-hero-intro{font-size:18px;line-height:1.38}.time-block{padding:4px 0 4px 14px}.time-block-detail-btn:hover{background:#c14f2a29}.transport-row{cursor:pointer;border-radius:4px;margin:-10px 0;padding:10px;transition:background .15s}.transport-row:hover{background:var(--color-surface-deep)}.accom-card.map-focus-row,.meal-row.map-focus-row{margin:-10px 0;padding:10px}.map-focus-row:hover{background:var(--color-surface-deep)}.row-details-btn:hover{background:#c14f2a29;border-color:#c14f2a57}.trip-ask-entry{left:calc(50% - (var(--app-max-width) / 2) + 20px);bottom:calc(30px + env(safe-area-inset-bottom))}}@media (min-width:1200px){:root{--app-max-width:580px}.trip-app{height:calc(100dvh - 60px);box-shadow:0 12px 60px #1a141033, 0 0 0 1px var(--color-border);border-radius:10px;margin-top:30px;margin-bottom:30px}.text-hero-title{font-size:50px}.text-hero-subtitle{font-size:18px}.day-hero-meta{font-size:13px}.day-hero{height:320px}.day-hero-text{padding:16px 20px 18px}.day-hero-title{font-size:23px}.day-hero-intro-title{font-size:17px}.day-hero-intro{max-width:44ch;font-size:19px}.hero-body{padding:0 28px 52px}.hero-divider{width:32px}.detail-header{padding:20px 24px 14px}.detail-body{padding:28px 24px calc(40px + env(safe-area-inset-bottom))}.detail-sheet{border-radius:14px 14px 0 0}.trip-ask-entry{bottom:calc(40px + env(safe-area-inset-bottom))}}@media (min-width:1600px){:root{--app-max-width:620px}.trip-app{height:calc(100dvh - 80px);margin-top:40px;margin-bottom:40px}.text-hero-title{font-size:56px}.day-hero{height:340px}.day-section{padding:24px}.trip-ask-entry{bottom:calc(50px + env(safe-area-inset-bottom))}}@media (min-width:1024px){:root{--app-max-width:none;--nav-height:104px;--date-strip-height:0px;--desktop-rail-width:96px;--desktop-page-gutter:24px;--desktop-cover-edge:28px;--radius-card:16px;--trip-chat-sheet-width:624px;--trip-chat-sheet-height:min(72dvh, 680px);--trip-chat-sheet-max-height:min(78dvh, 720px);--trip-chat-sheet-radius:28px;--trip-chat-header-padding:8px 32px 22px;--trip-chat-title-size:24px;--trip-chat-title-line-height:1.12;--trip-chat-messages-padding:26px 32px 28px;--trip-chat-message-gap:18px;--trip-chat-empty-padding:20px 0;--trip-chat-empty-font-size:16px;--trip-chat-empty-line-height:1.65;--trip-chat-assistant-bubble-max-width:min(100%, 640px);--trip-chat-assistant-bubble-padding:20px 24px;--trip-chat-assistant-bubble-radius:8px;--trip-chat-assistant-bubble-font-size:17px;--trip-chat-assistant-bubble-line-height:1.64;--trip-chat-user-bubble-max-width:min(82%, 520px);--trip-chat-user-bubble-padding:13px 16px;--trip-chat-user-bubble-radius:18px;--trip-chat-user-bubble-font-size:16px;--trip-chat-user-bubble-line-height:1.5;--trip-chat-markdown-paragraph-gap:13px;--trip-chat-markdown-heading-margin:22px 0 10px;--trip-chat-markdown-h1-size:29px;--trip-chat-markdown-h2-size:24px;--trip-chat-markdown-h3-size:20px;--trip-chat-markdown-h4-size:18px;--trip-chat-markdown-list-gap:14px;--trip-chat-markdown-list-indent:24px;--trip-chat-markdown-list-item-gap:5px 0;--trip-chat-markdown-blockquote-size:16px;--trip-chat-markdown-blockquote-padding:6px 0 6px 16px;--trip-chat-status-font-size:15px;--trip-chat-footer-padding:14px 24px 20px;--trip-chat-input-radius:28px;--trip-chat-input-padding:8px 8px 8px 18px;--trip-chat-input-gap:10px;--trip-chat-input-min-height:36px;--trip-chat-input-font-size:16px;--trip-chat-input-line-height:1.5;--trip-chat-textarea-padding:7px 0;--trip-chat-send-size:40px}.trip-desktop-bg{z-index:-1;background:var(--color-surface);pointer-events:none;display:block;position:fixed;inset:0}.trip-app{width:100vw;max-width:none;height:100dvh;box-shadow:none;border-radius:0;margin:0}.trip-screen{background:var(--color-surface)}.nav-bar,.nav-bar.over-hero{height:calc(var(--nav-height) + env(safe-area-inset-top));padding:0 28px;padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:none;background:0 0;border-bottom:1px solid #0000}.nav-bar.over-hero .nav-home,.nav-bar.over-hero .nav-back,.nav-bar.over-hero .save-offline-btn{color:var(--color-text-primary)}.nav-bar.over-hero .nav-home:hover,.nav-bar.over-hero .nav-back:hover,.nav-bar.over-hero .save-offline-btn:hover{color:var(--color-text-primary);background:#fffffff5}.nav-home,.nav-back,.save-offline-btn{width:64px;height:64px;color:var(--color-text-primary);-webkit-backdrop-filter:blur(16px)saturate(150%);background:#fffdf9eb;border:1px solid #e8e1d6d1;border-radius:18px;box-shadow:0 1px #1a14100a,0 14px 34px -24px #1a14101a}.nav-home img{border-radius:10px;width:36px;height:36px}.nav-actions{gap:12px}.add-to-trips-btn{border-radius:18px;max-width:min(380px,36vw);height:64px;padding:0 24px;font-size:15px;box-shadow:0 14px 34px -22px #c14f2a3d,0 14px 34px -24px #1a14101a}.add-to-trips-btn svg{width:20px;height:20px}.nav-home:active,.nav-back:active,.save-offline-btn:active{background:#f5e4dac7;transform:translateY(1px)scale(.97)}.nav-home:hover,.nav-back:hover,.save-offline-btn:hover{color:var(--color-text-primary);background:#fffffff5;box-shadow:0 1px #1a14100d,0 18px 42px -26px #1a141024}.nav-title-group{gap:12px;padding:0}.nav-bar:not(.over-hero) .nav-title-group{margin-left:max(0px, calc(var(--desktop-rail-width) + var(--desktop-page-gutter) - 96px))}.nav-title-text{gap:6px;padding:0 8px 0 0}.demo-back-link{top:14px;left:auto;right:28px}.demo-back-link~.trip-app .nav-title-group{padding-right:0}.nav-bar .text-nav-title{max-width:min(860px, calc(100vw - var(--desktop-rail-width) - 280px));font-family:var(--font-sans);letter-spacing:0;white-space:normal;text-align:left;gap:0;font-size:0;font-weight:600;line-height:1;display:grid;overflow:visible}.nav-bar .nav-trip-name{color:var(--color-text-primary);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-size:25px;font-weight:660;line-height:1.12;display:block;overflow:hidden}.nav-bar .nav-trip-subtitle{color:var(--color-text-muted);letter-spacing:.01em;white-space:nowrap;font-size:15px;font-weight:450;line-height:1.32;display:none}.nav-bar .nav-breadcrumb-link{font-size:13px;line-height:1.3}.overview-header{width:min(1440px,100vw - 96px);padding:calc(64px + env(safe-area-inset-top)) 0 32px;margin:0 auto}.overview-title{letter-spacing:0;font-size:56px}.overview-body{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));align-content:start;gap:24px;width:min(1440px,100vw - 96px);margin:0 auto;padding:0 0 72px;display:grid}.trip-card{border-radius:6px;height:360px;margin:0}.trip-card-name{letter-spacing:0;font-size:40px}.trip-card-subtitle{font-size:16px}.hero-slide{background:var(--color-surface);grid-template-columns:minmax(420px,.9fr) minmax(560px,1.35fr);justify-content:stretch;gap:0;height:100%;min-height:0;display:grid}.hero-frame{height:auto;min-height:0;margin:var(--desktop-cover-edge) var(--desktop-cover-edge) var(--desktop-cover-edge) 0;box-shadow:var(--shadow-float);border-radius:6px;grid-area:1/2;position:relative;inset:auto}.hero-bg,.hero-overlay{border-radius:inherit}.hero-bg img{object-position:center}.hero-overlay{background:linear-gradient(#1a141005 45%,#1a141047)}.hero-map-stage{z-index:0;border-radius:inherit;background:var(--color-surface-deep);display:block;position:absolute;inset:0;overflow:hidden}.hero-map-stage .itinerary-map{border-radius:inherit;height:100%;min-height:100%}.hero-map-toggle{z-index:4;min-height:40px;color:var(--color-text-primary);-webkit-backdrop-filter:blur(14px)saturate(150%);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#fbf7f1e0;border:1px solid #e8e1d6b8;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;bottom:18px;right:18px;box-shadow:0 14px 34px -24px #1a1410b8}.hero-map-toggle svg{width:15px;height:15px}.hero-map-toggle:hover{border-color:var(--color-border-strong)}.hero-body{flex-direction:column;grid-area:1/1;justify-content:flex-start;min-height:0;display:flex;overflow-y:auto;padding:calc(var(--nav-height) + 56px) var(--desktop-cover-edge) 120px!important}.text-hero-title{color:var(--color-text-primary);text-shadow:none;letter-spacing:0;max-width:620px;font-size:72px;line-height:.98}.hero-paper{max-width:620px;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;margin-top:28px;padding:0}.hero-paper .text-hero-subtitle{letter-spacing:0;font-size:26px;line-height:1.36}.hero-paper .hero-divider{background:var(--color-accent);width:48px;margin:18px 0}.hero-paper .text-hero-summary{max-width:58ch;font-size:16px;line-height:1.68}.hero-paper .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(520px,100%);margin-top:24px;padding-top:18px;display:grid}.hero-paper .hero-stat-val{letter-spacing:0;font-size:24px}.hero-route-map-card{z-index:1;background:var(--color-card);border:1px solid var(--color-border);width:min(620px,100%);box-shadow:var(--shadow-card);-webkit-backdrop-filter:none;border-radius:6px;margin-top:28px;display:none;position:relative;bottom:auto;right:auto}.hero-route-map-frame{height:300px}.hero-notes,.hero-overview-btns{width:min(620px,100%);box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;margin-top:28px;padding:0}.hero-overview-btns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hero-overview-label{grid-column:1/-1;margin:0 0 4px;padding:0}.hero-note-btn,.hero-note-btn+.hero-note-btn{background:var(--color-card);border:1px solid var(--color-border);border-radius:6px;min-height:64px;padding:16px}.hero-note-btn:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.hero-note-label{letter-spacing:0;font-size:18px}.hero-today-cta{border-radius:6px;max-width:620px}.trip-bottom-drawer.on-hero{left:56px;right:auto;bottom:calc(34px + env(safe-area-inset-bottom));-webkit-backdrop-filter:none;background:0 0;justify-content:flex-start;padding:0}.hero-hint{min-height:44px;animation:none}.date-strip{top:calc(var(--nav-height) + env(safe-area-inset-top));width:var(--desktop-rail-width);-webkit-backdrop-filter:none;background:#fbf7f1b8;border-bottom:0;border-right:1px solid #e8e1d6d1;height:auto;bottom:0;left:0;right:auto;transform:translate(0);-webkit-mask-image:none;mask-image:none}.date-strip.hidden{border-right-color:#0000;height:auto;transform:translate(-16px)}.date-strip-inner{touch-action:pan-y;flex-direction:column;gap:12px;height:100%;padding:18px 19px 40px;overflow:hidden auto}.date-btn{width:58px;height:58px;color:var(--color-text-muted);border-radius:14px}.date-btn:hover:not(.active){color:var(--color-text-primary);background:#f4ede2b8}.date-btn.active{box-shadow:0 14px 28px -18px #c14f2a38,0 1px #1a141014}.date-btn-d{font-size:22px;font-weight:620}.day-slide{padding:calc(var(--nav-height) + 28px) var(--desktop-page-gutter) 48px calc(var(--desktop-rail-width) + var(--desktop-page-gutter));background:var(--color-surface);grid-template-columns:minmax(360px,1fr) minmax(360px,500px);align-items:start;gap:24px;display:grid}.day-slide>.day-hero,.day-slide>.day-header-plain,.day-slide>.day-visual-stack{min-height:560px;height:calc(100dvh - var(--nav-height) - 76px);border-radius:16px;grid-area:1/1;align-self:start;margin:0;position:relative;top:auto}.day-slide>.day-visual-stack{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid;overflow:visible}.day-slide>.day-header-plain{background:var(--color-surface-deep);border:1px solid var(--color-border);flex-direction:column;justify-content:flex-end;padding:36px;display:flex}.day-visual-stack>.day-hero,.day-visual-stack>.day-header-plain{border-radius:16px;height:auto;min-height:0;margin:0;position:relative;top:auto}.day-visual-stack>.day-header-plain{background:var(--color-surface-deep);border:1px solid var(--color-border);flex-direction:column;justify-content:flex-end;padding:28px;display:flex}.day-visual-stack .day-map-card{border-radius:16px;height:auto;min-height:0;margin:0;box-shadow:0 1px #1a14100a,0 12px 30px -18px #1a141014}.day-visual-stack .day-map-frame{height:100%;min-height:0}.day-content-stack{grid-area:1/2;align-content:start;align-self:start;align-items:start;gap:20px;min-width:0;margin-top:0;display:grid}.day-content-stack>*{min-width:0;margin-bottom:0}.day-slide>.day-section,.day-slide>.day-description{grid-column:2;align-self:start;margin-top:0}.day-hero{box-shadow:0 18px 42px -26px #1a14101a,0 1px #1a14100a}.day-hero-gradient{background:linear-gradient(#0000 34%,#1a14101a 66%,#1a141047 100%),linear-gradient(90deg,#1a14101a 0%,#0000 48%)}.day-hero-text{background:linear-gradient(#1a141057,#1a14109e);border-radius:0 0 16px 16px;max-width:none;height:auto;min-height:25%;max-height:none;padding:18px 32px 24px;bottom:0;left:0;right:0}.day-hero .text-label{color:#fbf7f1c7;width:fit-content;min-height:0;box-shadow:none;text-shadow:0 1px 2px #00000047;background:0 0;border-radius:0;align-items:center;padding:0;display:inline-flex;margin:0 0 8px!important}.day-hero .text-card-title-light{letter-spacing:0;text-shadow:0 1px 2px #00000042,0 14px 34px #00000042;overflow-wrap:anywhere;text-wrap:balance;max-width:min(860px,92%);font-size:32px;line-height:1.08;display:block;overflow:visible}.day-hero .day-hero-intro-title{text-shadow:0 1px 2px #00000042;overflow-wrap:anywhere;max-width:54ch;margin-top:8px;font-size:15px;line-height:1.24;overflow:visible}.day-hero .day-hero-intro{text-shadow:0 1px 2px #00000042;overflow-wrap:anywhere;max-width:64ch;margin-top:4px;font-size:16px;line-height:1.36;display:block;overflow:visible}.day-hero .text-hero-subtitle{text-shadow:0 1px 2px #00000042;overflow-wrap:anywhere;max-width:min(860px,92%);font-size:14px;line-height:1.45}.day-hero .hero-stats-row{gap:8px;margin-top:18px}.day-hero .hero-stat-chip{color:#fbf7f1f0;background:#1a141052;border:1px solid #fbf7f129;min-height:30px;padding:0 12px;box-shadow:0 8px 18px -14px #1a141024}.day-map-card{background:#fffdf9f5;border-color:#1a14100f}.day-map-header{background:#fffdf9f5;border-bottom-color:#e8e1d6c7;min-height:54px;padding:0 20px}.day-map-header .section-icon,.day-section-title .section-icon{color:var(--color-accent)}.day-map-count{letter-spacing:.14em;margin:0;padding:0;font-size:11px}.day-description{border-bottom:1px solid var(--color-border);max-width:none;margin:0 0 16px;padding:0 0 18px;font-size:20px;line-height:1.55}.day-brief{box-shadow:none;border-radius:0;margin-bottom:0;padding:0}.day-brief-header,.day-brief-lead{display:none}.day-brief-heading{font-size:36px;line-height:1.08}.day-brief-meta-row{font-size:14px}.day-brief-lead{margin-top:18px;font-size:19px;line-height:1.5}.day-brief-body{gap:20px;margin-top:0}.day-brief-see-card,.day-brief-detail-card{background:#fffdf9f5;border-radius:16px;box-shadow:0 1px #1a14100a,0 12px 30px -18px #1a141014}.day-brief-see-card{gap:18px;padding:24px 26px}.day-brief-detail-card{gap:14px;padding:24px 26px}.day-brief-hotel-inline-card{flex-direction:row;justify-content:space-between;align-items:center;gap:24px;min-height:92px;padding:18px 20px}.day-brief-hotel-inline-main{flex:auto}.day-brief-hotel-inline-actions{flex:none;justify-content:flex-end}.day-brief-mark-booked-btn{min-height:46px;padding:0 18px}.day-brief-inline-error{flex-basis:100%;margin-left:70px}.day-brief-card-list{gap:20px}.day-brief-copy{font-size:16px;line-height:1.62}.day-brief-programme-list{gap:0}.day-brief-programme-row{border-bottom:1px solid #e8e1d6d6;grid-template-columns:minmax(132px,.34fr) minmax(0,1fr);gap:24px;padding:0 0 18px}.day-brief-programme-row.has-detail{grid-template-columns:minmax(132px,.34fr) minmax(0,1fr) 28px}.day-brief-programme-row+.day-brief-programme-row{padding-top:18px}.day-brief-programme-row:last-child{border-bottom:0;padding-bottom:0}.day-brief-programme-row.no-time{grid-template-columns:minmax(0,1fr)}.day-brief-programme-row.no-time.has-detail{grid-template-columns:minmax(0,1fr) 28px}.day-brief-programme-copy{gap:5px}.day-brief-options{font-size:14px;line-height:1.55}.day-brief-card-title,.day-card-title{font-size:18px;line-height:1.3}.day-brief-card-copy{font-size:14px;line-height:1.55}.day-brief-time{color:var(--color-text-primary);font-size:13px;line-height:1.45}.day-brief-card-action:hover{background:#c14f2a1f;border-color:#c14f2a57}.day-section{background:#fffdf9f5;border-color:#1a14100f;border-radius:16px;margin-bottom:0;padding:20px 22px;box-shadow:0 1px #1a14100a,0 12px 30px -18px #1a141014}.day-section:hover{transform:none;box-shadow:0 1px #1a14100a,0 12px 30px -18px #1a141014}.day-section-title{margin-bottom:16px;padding-bottom:12px}.text-card-title,.text-card-title-light{letter-spacing:0}.text-body{font-size:16px;line-height:1.65}.text-name,.text-name-accent{font-size:15px}.time-blocks{gap:18px}.time-block{padding:4px 0 4px 18px}.transport-row,.meal-row{gap:14px}.transport-icon-wrap,.accom-icon-wrap,.tip-icon-wrap{border-radius:12px}.transport-row{background:#fbf7f19e;min-height:64px;padding:12px 14px}.transport-route{font-family:var(--font-sans);letter-spacing:.01em;font-size:12px;font-weight:450}.transport-row .text-mono{font-family:var(--font-sans);color:var(--color-text-muted);font-size:12px;font-weight:520}.tip-row{background:#fbf7f19e;min-height:64px;padding:12px 14px}.trip-bottom-drawer:not(.on-hero){display:none}.trip-ask-entry{left:calc(var(--desktop-rail-width) + var(--desktop-page-gutter));bottom:calc(32px + env(safe-area-inset-bottom))}body.trip-on-cover .trip-ask-entry{left:220px;bottom:calc(34px + env(safe-area-inset-bottom))}.trip-screen.detail-behind{border-radius:0;transform:none}.detail-backdrop{background:#1a141042}.detail-sheet{border-left:1px solid var(--color-border);border-radius:0;width:min(640px,44vw);max-width:none;height:100%;max-height:none;inset:0 0 0 auto;transform:translate(100%)}.detail-overlay.open .detail-sheet{transform:translate(0)}.detail-overlay.open.closing .detail-sheet{transition-duration:.36s;transition-timing-function:var(--ease-exit);transform:translate(100%)}.detail-header{padding:28px 32px 18px}.detail-header .text-nav-title{letter-spacing:0;font-size:26px}.detail-body{padding:28px 32px 48px}}@media (min-width:1440px){:root{--desktop-page-gutter:32px;--desktop-rail-width:126px;--desktop-cover-edge:36px}.text-hero-title{font-size:84px}.hero-body{padding-left:var(--desktop-cover-edge)!important;padding-right:var(--desktop-cover-edge)!important}.hero-frame{margin:var(--desktop-cover-edge) var(--desktop-cover-edge) var(--desktop-cover-edge) 0}.date-strip-inner{padding-left:30px;padding-right:30px}.date-btn{width:66px;height:66px}.day-slide{grid-template-columns:minmax(620px,1fr) minmax(500px,648px);gap:36px}.day-hero .text-card-title-light{font-size:34px}.trip-bottom-drawer.on-hero{left:72px}body.trip-on-cover .trip-ask-entry{left:240px}}@media (min-width:1800px){.day-slide{grid-template-columns:minmax(760px,1fr) minmax(520px,680px);gap:40px}.overview-header,.overview-body{width:min(1600px,100vw - 128px)}}.accommodation-review-card-stack{-webkit-overflow-scrolling:touch;overflow-y:auto}@media (max-width:767px){.accommodation-review-board{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.accommodation-review-board.mobile-overview-mode{min-height:min(640px,100dvh - 130px);display:block;overflow:hidden}.accommodation-review-board.mobile-overview-mode .accommodation-review-nav,.accommodation-review-board.mobile-overview-mode .accommodation-review-main{display:none}.accommodation-review-board.mobile-overview-mode .accommodation-review-booked-overview{display:flex}.accommodation-review-booked-overview{background:var(--color-surface);flex-direction:column;height:100%;min-height:0}.accommodation-review-booked-overview-header{border-bottom:1px solid var(--color-border);background:var(--color-card);flex:none;padding:16px 14px 12px;display:block}.accommodation-review-booked-overview-header>div{min-width:0}.accommodation-review-booked-overview-header .accommodation-review-mode-button{flex:none;margin-top:10px;display:inline-flex}.accommodation-review-booked-overview-header h3{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:0;color:var(--color-text-primary);margin:0;font-size:26px;font-weight:390;line-height:1.05}.accommodation-review-booked-overview-header p{font-family:var(--font-sans);color:var(--color-success);margin:6px 0 0;font-size:12px;font-weight:600;line-height:1.35}.accommodation-review-booked-overview-list{min-height:0;padding:12px 14px calc(18px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.accommodation-review-nav{border-right:0;border-bottom:1px solid var(--color-border);overflow:hidden}.accommodation-review-nav-header{min-height:auto;padding:12px 14px 8px}.accommodation-review-nav-trip-title{max-height:none;font-size:10px}.accommodation-review-nav-heading{font-size:24px}.accommodation-review-nav-list{scroll-snap-type:x proximity;touch-action:pan-x;flex-direction:row;flex:none;gap:8px;padding:0 14px 12px;overflow:auto hidden}.accommodation-review-nav-list::-webkit-scrollbar{display:none}.accommodation-review-kanban::-webkit-scrollbar{display:none}.accommodation-review-nav-item{scroll-snap-align:start;background-image:none;flex:0 0 min(74vw,240px);min-height:92px;padding:12px}.accommodation-review-nav-item:before,.accommodation-review-nav-item:after{display:none}.accommodation-review-nav-title{font-size:18px}.accommodation-review-nav-meta{font-size:11px}.accommodation-review-main{min-height:0}.accommodation-review-destination{min-height:auto;padding:14px}.accommodation-review-destination h3{font-size:25px}.accommodation-review-header-actions{max-width:46%}.accommodation-review-complete-pill{height:22px;padding:0 9px;font-size:10px}.accommodation-review-mode-button{justify-content:center;align-items:center;display:inline-flex}.accommodation-review-kanban{padding:12px 14px calc(18px + env(safe-area-inset-bottom));scroll-snap-type:none;touch-action:pan-y;display:block;overflow:hidden auto}.accommodation-review-lane{scroll-snap-align:none;width:100%;min-width:0;max-width:100%;min-height:100%;display:flex}.accommodation-review-card{cursor:default}.accommodation-review-card-copy,.accommodation-review-card-facts span,.accommodation-review-card-notes span,.accommodation-review-card-rating span:last-child,.accommodation-review-card-detail dd,.accommodation-review-card-section dd,.accommodation-review-card-section p,.accommodation-review-rating-platform span,.accommodation-review-links span,.accommodation-review-links small{max-width:calc(100vw - 92px)}.accommodation-review-card-topline{flex-direction:column}.accommodation-review-card-price{text-align:left;max-width:100%}}@media (prefers-reduced-motion:reduce){.trip-app *,.trip-app :before,.trip-app :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.swipe-track,.swipe-track.motion-swipe,.swipe-track.dragging{transition:none!important}.hero-hint{animation:none!important}.trip-screen.detail-behind{border-radius:0;transform:none}.detail-sheet,.detail-overlay.open.closing .detail-sheet{transform:translateY(0)}.detail-overlay:not(.open) .detail-sheet{transform:translateY(100%)}@media (min-width:1024px){.detail-sheet,.detail-overlay.open.closing .detail-sheet{transform:translate(0)}.detail-overlay:not(.open) .detail-sheet{transform:translate(100%)}}}
