@font-face{font-family:font;src:url(../media/PlusJakartaSans-s.p.18rizl4rsrl42.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:font Fallback;src:local(Arial);ascent-override:98.16%;descent-override:20.99%;line-gap-override:0.0%;size-adjust:105.75%}.cy_4tW_className{font-family:font,font Fallback,system-ui,-apple-system,sans-serif}
:root{--primary:#bc002d;--primary-dark:#920023;--on-primary:#fff;--logo-from:#e0143f;--logo-to:#8e0022;--bg:#f8fafc;--surface:#fff;--surface-2:#f1f5f9;--text:#1e293b;--text-soft:#475569;--muted:#64748b;--border:#e2e8f0;--shadow:0 1px 4px #0f172a0f;--secondary:#2c5e7a;--link:#2c5e7a;--success:#16a34a;--insta:#e1306c;--food:#d97706;--drive:#047857;--chip-primary-bg:color-mix(in srgb, var(--primary) 12%, var(--surface));--chip-primary-fg:color-mix(in srgb, var(--primary) 82%, #000);--chip-secondary-bg:#e0f2fe;--chip-secondary-fg:#0369a1;--chip-green-bg:#dcfce7;--chip-green-fg:#15803d;--chip-gray-bg:#f1f5f9;--chip-gray-fg:#475569;--chip-insta-bg:#fce7f3;--chip-insta-fg:#be185d;--chip-lunch-bg:#fef3c7;--chip-lunch-fg:#92400e;--rating-bg:#fffbeb;--rating-fg:#b45309;--rating-border:#fde68a;--cluster-bg:#f0f9ff;--cluster-bd:#bae6fd;--cluster-fg:#0369a1;--transit-bg:#f0fdf4;--transit-bd:#bbf7d0;--transit-fg:#15803d;--drive-bg:#ecfdf5;--drive-bd:#a7f3d0;--drive-fg:#047857;--hotel-bg:#f5f3ff;--hotel-bd:#ddd6fe;--hotel-fg:#5b21b6;--lunch-bg:#fffdf8;--maps-bg:#eff6ff;--maps-bd:#bfdbfe;--maps-fg:#1d4ed8;--nav-h:60px;--tabbar-h:62px;--tabs-h:74px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1015;--surface:#171a21;--surface-2:#1f2430;--text:#e6e8ee;--text-soft:#b6bdcb;--muted:#98a2b3;--border:#2a3040;--shadow:0 1px 4px #0006;--link:#7dd3fc;--food:#f59e0b;--chip-primary-bg:color-mix(in srgb, var(--primary) 22%, var(--surface));--chip-primary-fg:color-mix(in srgb, var(--primary) 55%, #fff);--chip-secondary-bg:#0c2d44;--chip-secondary-fg:#7dd3fc;--chip-green-bg:#12331f;--chip-green-fg:#86efac;--chip-gray-bg:#232937;--chip-gray-fg:#c2c9d6;--chip-insta-bg:#451a33;--chip-insta-fg:#f9a8d4;--chip-lunch-bg:#3b2a0a;--chip-lunch-fg:#fcd34d;--rating-bg:#35280a;--rating-fg:#fbbf24;--rating-border:#5a4410;--cluster-bg:#0c2434;--cluster-bd:#17435f;--cluster-fg:#7dd3fc;--transit-bg:#0f2a1a;--transit-bd:#1b4a2e;--transit-fg:#86efac;--drive-bg:#0d2a22;--drive-bd:#17493b;--drive-fg:#6ee7b7;--hotel-bg:#231a3d;--hotel-bd:#3d2f6b;--hotel-fg:#c4b5fd;--lunch-bg:#211b10;--maps-bg:#14233f;--maps-bd:#23407a;--maps-fg:#93c5fd}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1015;--surface:#171a21;--surface-2:#1f2430;--text:#e6e8ee;--text-soft:#b6bdcb;--muted:#98a2b3;--border:#2a3040;--shadow:0 1px 4px #0006;--link:#7dd3fc;--food:#f59e0b;--chip-primary-bg:color-mix(in srgb, var(--primary) 22%, var(--surface));--chip-primary-fg:color-mix(in srgb, var(--primary) 55%, #fff);--chip-secondary-bg:#0c2d44;--chip-secondary-fg:#7dd3fc;--chip-green-bg:#12331f;--chip-green-fg:#86efac;--chip-gray-bg:#232937;--chip-gray-fg:#c2c9d6;--chip-insta-bg:#451a33;--chip-insta-fg:#f9a8d4;--chip-lunch-bg:#3b2a0a;--chip-lunch-fg:#fcd34d;--rating-bg:#35280a;--rating-fg:#fbbf24;--rating-border:#5a4410;--cluster-bg:#0c2434;--cluster-bd:#17435f;--cluster-fg:#7dd3fc;--transit-bg:#0f2a1a;--transit-bd:#1b4a2e;--transit-fg:#86efac;--drive-bg:#0d2a22;--drive-bd:#17493b;--drive-fg:#6ee7b7;--hotel-bg:#231a3d;--hotel-bd:#3d2f6b;--hotel-fg:#c4b5fd;--lunch-bg:#211b10;--maps-bg:#14233f;--maps-bd:#23407a;--maps-fg:#93c5fd}}:root[data-palette=matcha]{--primary:#2f7d4f;--primary-dark:#1f5a37;--logo-from:#3d9a63;--logo-to:#1f5a37}:root[data-palette=matcha][data-theme=dark]{--primary:#5fcf8b;--primary-dark:#86e0a9;--on-primary:#04180c}@media (prefers-color-scheme:dark){:root[data-palette=matcha]:not([data-theme=light]){--primary:#5fcf8b;--primary-dark:#86e0a9;--on-primary:#04180c}}:root[data-palette=indigo]{--primary:#4f46e5;--primary-dark:#3730a3;--logo-from:#6366f1;--logo-to:#3730a3}:root[data-palette=indigo][data-theme=dark]{--primary:#8b94ff;--primary-dark:#a5acff;--on-primary:#0b0a2e}@media (prefers-color-scheme:dark){:root[data-palette=indigo]:not([data-theme=light]){--primary:#8b94ff;--primary-dark:#a5acff;--on-primary:#0b0a2e}}:root[data-palette=sunset]{--primary:#d9480f;--primary-dark:#a63a0b;--logo-from:#f76707;--logo-to:#a63a0b}:root[data-palette=sunset][data-theme=dark]{--primary:#ff8a4c;--primary-dark:#ffa574;--on-primary:#2a0d00}@media (prefers-color-scheme:dark){:root[data-palette=sunset]:not([data-theme=light]){--primary:#ff8a4c;--primary-dark:#ffa574;--on-primary:#2a0d00}}:root[data-palette=fuji]{--primary:#0284c7;--primary-dark:#0369a1;--logo-from:#38bdf8;--logo-to:#0369a1}:root[data-palette=fuji][data-theme=dark]{--primary:#38bdf8;--primary-dark:#7dd3fc;--on-primary:#041d2e}@media (prefers-color-scheme:dark){:root[data-palette=fuji]:not([data-theme=light]){--primary:#38bdf8;--primary-dark:#7dd3fc;--on-primary:#041d2e}}:root[data-palette=yuzu]{--primary:#d97706;--primary-dark:#b45309;--logo-from:#f59e0b;--logo-to:#b45309}:root[data-palette=yuzu][data-theme=dark]{--primary:#fbbf24;--primary-dark:#fcd34d;--on-primary:#261601}@media (prefers-color-scheme:dark){:root[data-palette=yuzu]:not([data-theme=light]){--primary:#fbbf24;--primary-dark:#fcd34d;--on-primary:#261601}}:root[data-palette=wisteria]{--primary:#7c3aed;--primary-dark:#6d28d9;--logo-from:#8b5cf6;--logo-to:#5b21b6}:root[data-palette=wisteria][data-theme=dark]{--primary:#a78bfa;--primary-dark:#c4b5fd;--on-primary:#1e0938}@media (prefers-color-scheme:dark){:root[data-palette=wisteria]:not([data-theme=light]){--primary:#a78bfa;--primary-dark:#c4b5fd;--on-primary:#1e0938}}:root[data-palette=jade]{--primary:#0d9488;--primary-dark:#0f766e;--logo-from:#14b8a6;--logo-to:#0f766e}:root[data-palette=jade][data-theme=dark]{--primary:#2dd4bf;--primary-dark:#5eead4;--on-primary:#02201d}@media (prefers-color-scheme:dark){:root[data-palette=jade]:not([data-theme=light]){--primary:#2dd4bf;--primary-dark:#5eead4;--on-primary:#02201d}}:root[data-palette=ume]{--primary:#e11d48;--primary-dark:#be123c;--logo-from:#f43f5e;--logo-to:#be123c}:root[data-palette=ume][data-theme=dark]{--primary:#fb7185;--primary-dark:#fda4af;--on-primary:#24040c}@media (prefers-color-scheme:dark){:root[data-palette=ume]:not([data-theme=light]){--primary:#fb7185;--primary-dark:#fda4af;--on-primary:#24040c}}:root[data-palette=sumi]{--primary:#475569;--primary-dark:#334155;--logo-from:#64748b;--logo-to:#1e293b}:root[data-palette=sumi][data-theme=dark]{--primary:#94a3b8;--primary-dark:#cbd5e1;--on-primary:#0f172a}@media (prefers-color-scheme:dark){:root[data-palette=sumi]:not([data-theme=light]){--primary:#94a3b8;--primary-dark:#cbd5e1;--on-primary:#0f172a}}:root[data-theme=dark],:root[data-palette=sakura][data-theme=dark]{--on-primary:#1a0006}:root:not([data-palette])[data-theme=dark],:root[data-palette=sakura][data-theme=dark]{--primary:#ff4d6d;--primary-dark:#ff6b85}@media (prefers-color-scheme:dark){:root:not([data-palette]):not([data-theme=light]),:root[data-palette=sakura]:not([data-theme=light]){--primary:#ff4d6d;--primary-dark:#ff6b85;--on-primary:#1a0006}}
*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + var(--tabs-h))}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;min-height:100dvh;line-height:1.5}a{color:inherit}code{background:var(--surface-2);border-radius:5px;padding:1px 6px;font-size:.85em}button{color:inherit;font-family:inherit}.muted{color:var(--muted);font-weight:500}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shell{min-height:100dvh}.main{max-width:1500px;padding:0 12px calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom));margin:0 auto}.skeleton{background:linear-gradient(90deg, var(--surface-2), var(--surface), var(--surface-2));background-size:200% 100%;border-radius:14px;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.nav{z-index:100;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top);position:sticky;top:0}.nav-inner{max-width:1500px;height:var(--nav-h);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:0 12px;display:flex}.nav-brand{align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.nav-logo{color:#fff;background:linear-gradient(135deg, var(--logo-from), var(--logo-to));border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-family:Hiragino Mincho ProN,Noto Serif JP,serif;font-size:1.25rem;font-weight:700;text-decoration:none;display:grid}.nav-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.nav-title{font-size:1.1rem;font-weight:800}.nav-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.nav-links{gap:4px;display:none}.nav-link{color:var(--text-soft);border-radius:9px;padding:8px 14px;font-size:.88rem;font-weight:700;text-decoration:none}.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:var(--chip-primary-bg);color:var(--chip-primary-fg)}body.body-trip{--nav-h:0px}body.body-trip .nav{display:none}.nav-actions{flex:none;align-items:center;gap:8px;display:flex}.nav-budget{display:none}.btn{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:28px;padding:5px 10px;font-family:inherit;font-size:.76rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-outline:hover:not(:disabled){background:var(--surface-2)}.btn-maps{background:var(--maps-bg);border-color:var(--maps-bd);color:var(--maps-fg)}.btn-icon .btn-label{display:none}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border-radius:7px;align-items:center;gap:4px;padding:3px 9px;font-size:.74rem;font-weight:600;text-decoration:none;display:inline-flex}.chip-primary{background:var(--chip-primary-bg);color:var(--chip-primary-fg)}.chip-secondary{background:var(--chip-secondary-bg);color:var(--chip-secondary-fg)}.chip-green{background:var(--chip-green-bg);color:var(--chip-green-fg)}.chip-gray{background:var(--chip-gray-bg);color:var(--chip-gray-fg)}.chip-insta{background:var(--chip-insta-bg);color:var(--chip-insta-fg)}.chip-lunch{background:var(--chip-lunch-bg);color:var(--chip-lunch-fg)}.rating-badge{background:var(--rating-bg);color:var(--rating-fg);border:1px solid var(--rating-border);border-radius:7px;align-items:center;padding:2px 8px;font-size:.74rem;font-weight:700;display:inline-flex}.tabbar{z-index:110;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;font-size:.7rem;font-weight:700;text-decoration:none;display:flex}.tab-icon{font-size:1.3rem;line-height:1.2}.tab.active{color:var(--primary)}.banner{background:linear-gradient(135deg, var(--chip-primary-bg), var(--surface) 70%);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;margin:8px 0 12px;padding:10px 16px;transition:background .2s,border-color .2s}.banner-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.banner-head-text{min-width:0}.banner-kicker{color:var(--primary);letter-spacing:.04em;font-size:.78rem;font-weight:800}.banner-title{margin:2px 0;font-size:1.22rem;font-weight:800;line-height:1.2}.banner-sub{color:var(--text-soft);margin-bottom:0;font-size:.82rem}.banner-back-link{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;font-weight:700;text-decoration:none;transition:color .15s;display:inline-flex}.banner-back-link:hover{color:var(--primary)}.banner-tag{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:800;display:inline-flex}.banner-tag-sample{background:var(--chip-secondary-bg);color:var(--chip-secondary-fg)}.banner-tag-local{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.chip-active{box-shadow:0 0 0 2px var(--primary);font-weight:800}.btn-chip-ai{transition:transform .15s,opacity .15s}.btn-chip-ai:hover{opacity:.9;transform:translateY(-1px)}.trip-body .page{padding-top:6px}.day-tabs{top:calc(var(--nav-h) + env(safe-area-inset-top));z-index:90;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;margin:0 -12px 8px;padding:8px 12px 10px;display:flex;position:sticky;overflow-x:auto}.day-tabs::-webkit-scrollbar{display:none}.day-tab{scroll-snap-align:center;text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;flex:none;width:136px;padding:8px 11px;transition:transform .15s,border-color .15s;display:flex}.day-tab:hover{border-color:var(--primary)}.day-tab.active{border:2px solid var(--primary);background:var(--chip-primary-bg);padding:7px 10px}.day-tab-weekday{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:800}.day-tab-date{font-size:.92rem;font-weight:800}.day-tab-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.view-toggle{background:var(--surface-2);border-radius:8px;gap:4px;margin:4px 0 12px;padding:4px;display:flex}.view-toggle button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:7px;flex:1;padding:6px;font-size:.78rem;font-weight:700}.view-toggle button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}body.body-airbnb-layout{overflow:hidden}body:has([data-layout=airbnb]){overflow:hidden}body.body-airbnb-layout .shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}body:has([data-layout=airbnb]) .shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}body.body-airbnb-layout .main{flex:1 1 0;min-height:0;max-width:100%!important;height:calc(100dvh - var(--nav-h))!important;flex-direction:column!important;margin:0!important;padding:0!important;display:flex!important;overflow:hidden!important}body:has([data-layout=airbnb]) .main{flex:1 1 0;min-height:0;max-width:100%!important;height:calc(100dvh - var(--nav-h))!important;flex-direction:column!important;margin:0!important;padding:0!important;display:flex!important;overflow:hidden!important}body.body-airbnb-layout .trip-banner-consistent{z-index:90;flex:none;margin:6px 12px 4px}body:has([data-layout=airbnb]) .trip-banner-consistent{z-index:90;flex:none;margin:6px 12px 4px}body.body-airbnb-layout .trip-body{flex-direction:column!important;flex:1 1 0!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:flex!important;overflow:hidden!important}body:has([data-layout=airbnb]) .trip-body{flex-direction:column!important;flex:1 1 0!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:flex!important;overflow:hidden!important}.airbnb-layout{flex:1 1 0;width:100%;height:100%;min-height:0;display:block;position:relative;overflow:hidden}.airbnb-left-pane{scroll-behavior:smooth;background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--border) transparent;height:100%;overflow:hidden auto}.airbnb-left-pane-inner{max-width:820px;margin:0 auto;padding:0 20px 80px}.day-tabs-anchor{pointer-events:none;visibility:hidden;border:none;height:0;margin:0;padding:0;display:block}.airbnb-left-pane .day-tabs.sticky-day-tabs{z-index:50;background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.airbnb-map-pane{isolation:isolate;z-index:0;background:var(--surface-2);flex-direction:column;display:flex;position:relative;overflow:hidden}.mobile-map-day-tabs,.airbnb-resizer{display:none}@media (min-width:1024px){.airbnb-resizer{z-index:60;cursor:col-resize;touch-action:none;width:0;display:block;position:relative}.airbnb-resizer:before{content:"";width:10px;position:absolute;top:0;bottom:0;left:-5px}.airbnb-resizer:after{content:"";background:var(--border);border-radius:2px;width:4px;height:48px;transition:background .15s,height .15s;position:absolute;top:50%;left:-2px;transform:translateY(-50%)}.airbnb-resizer:hover:after,.airbnb-resizer:focus-visible:after,.airbnb-layout.is-resizing .airbnb-resizer:after{background:var(--accent,#3b82f6);height:72px}.airbnb-layout.is-resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.airbnb-layout.is-resizing .airbnb-map-pane{pointer-events:none}}.airbnb-map-pane .map-panel{width:100%;height:100%;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;display:flex}.airbnb-map-pane .map-canvas-container,.airbnb-map-pane .map-canvas{flex:1 1 0;width:100%;height:100%;min-height:0}.map-loading{color:var(--muted);place-items:center;height:100%;display:grid}@media (max-width:1023px){body.body-airbnb-layout .main{height:calc(100dvh - var(--nav-h) - var(--tabbar-h))!important;padding-bottom:0!important}body:has([data-layout=airbnb]) .main{height:calc(100dvh - var(--nav-h) - var(--tabbar-h))!important;padding-bottom:0!important}body.body-airbnb-layout .trip-banner-consistent{margin:4px 8px}body:has([data-layout=airbnb]) .trip-banner-consistent{margin:4px 8px}body.mobile-header-hidden .trip-banner-consistent{display:none}.airbnb-layout{flex:1 1 0;height:100%;min-height:0}.airbnb-layout.show-list .airbnb-left-pane{-webkit-overflow-scrolling:touch;height:100%;padding:0;display:block;overflow-y:auto}.airbnb-layout.show-list .airbnb-left-pane-inner{padding:0 14px calc(var(--tabbar-h) + 80px) 14px}.airbnb-left-pane .day-tabs.sticky-day-tabs{margin:0 -14px 12px;padding:4px 14px 8px}.airbnb-layout.show-list .airbnb-map-pane{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.airbnb-layout.show-map .airbnb-left-pane{display:none}.airbnb-layout.show-map .airbnb-map-pane{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.mobile-map-day-tabs{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);flex:none;display:block}.mobile-map-day-tabs .day-tabs{border-bottom:none;margin:0;padding:6px 10px 8px;position:static}}@media (min-width:900px) and (max-width:1199px){.trip-banner-consistent .banner-sub,.trip-banner-consistent .nav-tab-badge{display:none}.trip-banner-consistent .nav-links .nav-link{white-space:nowrap;padding:6px 8px!important;font-size:.8rem!important}.trip-banner-consistent .nav-links .nav-link>span[aria-hidden]{display:none}.trip-banner-consistent .banner-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}@media (min-width:1024px){.main{padding-bottom:40px}.view-toggle,.tabbar{display:none}.nav-links{display:flex}.nav-budget{display:inline-flex}.btn-icon .btn-label{display:inline}.nav-sub{max-width:320px}.airbnb-layout{grid-template-columns:var(--left-pane-w,minmax(480px, 52%)) 0 minmax(0, 1fr);width:100%;height:100%;display:grid;overflow:hidden}.airbnb-left-pane{border-right:1px solid var(--border)}.airbnb-left-pane .day-tabs.sticky-day-tabs{z-index:50;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);margin:0 -20px 14px;padding:6px 20px 10px;position:sticky;top:0}.airbnb-map-pane{width:100%;height:100%}.layout{grid-template-columns:minmax(0,1fr) minmax(420px,46%);align-items:start;gap:20px;display:grid}.layout.show-map .itinerary-main,.layout.show-list .itinerary-main,.layout.show-flights .itinerary-main{display:block}.layout.show-list .itinerary-sidebar,.layout.show-flights .itinerary-sidebar{clip-path:none;width:auto;position:sticky;overflow:visible}.itinerary-sidebar{top:calc(var(--nav-h) + var(--tabs-h) + 8px);height:calc(100dvh - var(--nav-h) - var(--tabs-h) - 18px);min-height:480px;position:sticky}.itinerary-sidebar .map-panel{height:100%}}@media (min-width:1600px){.airbnb-layout{grid-template-columns:var(--left-pane-w,minmax(540px, 48%)) 0 minmax(0, 1fr)}body:has(.assistant-sidebar-panel.open) .airbnb-layout{width:calc(100% - 400px);margin-right:400px}body.body-airbnb-layout:has(.assistant-sidebar-panel.open) .airbnb-layout{width:calc(100% - 400px);margin-right:400px}body:not(.body-airbnb-layout):has(.assistant-sidebar-panel.open) .main{padding-right:400px}}.airbnb-floating-toggle{display:none}@media (max-width:1023px){.airbnb-floating-toggle{left:50%;bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));z-index:120;background:var(--text);color:var(--surface);border:1px solid color-mix(in srgb, var(--border) 60%, transparent);cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(8px);border-radius:9999px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-family:inherit;font-size:.88rem;font-weight:800;transition:transform .18s cubic-bezier(.2,0,0,1),box-shadow .18s;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 18px #00000042}.airbnb-floating-toggle:hover{transform:translate(-50%)scale(1.04);box-shadow:0 6px 22px #00000052}.airbnb-floating-toggle:active{transform:translate(-50%)scale(.97)}.airbnb-toggle-icon{font-size:1rem;line-height:1}}.assistant-sidebar-panel{box-sizing:border-box}.day-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;margin-bottom:14px;padding:16px}.day-hero-weekday{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin-top:10px;font-size:.78rem;font-weight:800}.day-hero-date{font-size:1.3rem;font-weight:800}.day-title{margin-top:2px;font-size:1.15rem;font-weight:800}.day-summary{color:var(--text-soft);font-size:.9rem}.tip-grid{grid-template-columns:1fr;gap:10px;margin-top:14px;display:grid}@media (min-width:720px){.tip-grid{grid-template-columns:repeat(3,1fr)}}.tip-box{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin-top:8px;padding:10px 13px;font-size:.82rem}.tip-grid .tip-box{margin-top:0}.tip-box.cluster{background:var(--cluster-bg);border-color:var(--cluster-bd);color:var(--cluster-fg)}.tip-box.transit{background:var(--transit-bg);border-color:var(--transit-bd);color:var(--transit-fg)}.tip-box.drive{background:var(--drive-bg);border-color:var(--drive-bd);color:var(--drive-fg)}.meals{margin-top:14px}.meals summary,.others summary{cursor:pointer;font-size:.9rem;font-weight:800}.section-title{margin:18px 0 10px;font-size:1rem;font-weight:800}.travel-total{color:var(--muted);font-size:.8rem;font-weight:700}.leg-row{border-left:3px dashed var(--border);background:var(--surface-2);border-radius:0 8px 8px 0;margin:0 0 10px 18px;padding:8px 12px;font-size:.8rem}.leg-row.leg-taxi{background:var(--chip-lunch-bg);border-left-color:var(--food)}.leg-main{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.leg-time{font-weight:800}.leg-how{color:var(--text-soft)}.leg-cost{color:var(--chip-green-fg);font-weight:700}.leg-btn-dir{background:var(--maps-bg);border:1px solid var(--maps-bd);color:var(--maps-fg);white-space:nowrap;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:.74rem;font-weight:700;text-decoration:none}.leg-alt-row{border-top:1px dashed var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:6px;padding-top:6px;display:flex}.leg-btn-dir.sub{opacity:.85;margin-left:0}.hotel-card{background:var(--hotel-bg);border:1px solid var(--hotel-bd);cursor:pointer;border-left:4px solid #7c3aed;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding:12px 14px;display:flex}.hotel-title{color:var(--hotel-fg);font-weight:800}.hotel-sub{color:var(--hotel-fg);opacity:.8;font-size:.8rem}.act-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;scroll-margin:calc(var(--nav-h) + var(--tabs-h) + 12px);border-radius:10px;margin-bottom:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s}.act-card:hover{border-color:color-mix(in srgb, var(--primary) 50%, var(--border))}.act-card.selected,.hotel-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent)}.act-card.lunch{border-left:4px solid var(--food);background:var(--lunch-bg)}.act-card{display:flow-root}.act-photo-slot{float:right;margin:0 0 8px 12px}.act-photo-thumb{border:1px solid var(--border);cursor:zoom-in;background:var(--surface-2);border-radius:8px;padding:0;display:block;position:relative;overflow:hidden}.act-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.act-photo-count{color:#fff;background:#0009;border-radius:8px;padding:1px 6px;font-size:.65rem;font-weight:700;position:absolute;bottom:4px;right:4px}.act-header{margin-bottom:10px}.act-title-row{align-items:center;gap:10px;margin-bottom:4px;display:flex}.act-card-pin{color:#fff;border:2px solid var(--surface);border-radius:50% 50% 50% 4px;flex:none;place-items:center;width:34px;height:34px;font-size:1rem;font-weight:800;display:grid;position:relative;box-shadow:0 2px 6px #0000004d}.act-card-pin .pin-num,.custom-map-pin .pin-num{color:#fff;text-align:center;background:#1e293b;border:1px solid #fff;border-radius:8px;min-width:16px;height:16px;padding:0 3px;font-size:.6rem;font-weight:800;line-height:14px;position:absolute;top:-7px;right:-9px}.act-title{font-size:1.05rem;font-weight:700}.act-loc{color:var(--muted);margin-bottom:8px;font-size:.82rem}.act-loc a{color:var(--link);font-weight:600;text-decoration:none}.act-desc{color:var(--text-soft);margin-bottom:10px;font-size:.88rem}.act-highlights{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.act-actions{flex-wrap:wrap;gap:8px;display:flex}.show-on-map{display:inline-flex}@media (min-width:1024px){.show-on-map{display:none}}.callout{border-radius:8px;margin-bottom:10px;padding:9px 12px;font-size:.82rem}.callout.insta{background:var(--chip-insta-bg);color:var(--chip-insta-fg)}.callout.food{background:var(--chip-lunch-bg);color:var(--chip-lunch-fg)}.callout.drive{background:var(--drive-bg);color:var(--drive-fg)}.others{margin-top:8px}.day-pager{justify-content:space-between;gap:10px;margin-top:18px;display:flex}.yen{cursor:help;white-space:nowrap;border-bottom:1px dotted;position:relative}.yen:after{content:attr(data-tip);color:#fff;opacity:0;pointer-events:none;z-index:50;background:#0f172a;border-radius:7px;padding:4px 8px;font-size:.72rem;font-weight:700;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)scale(.95);box-shadow:0 4px 12px #0000004d}.yen:hover:after,.yen:focus:after{opacity:1;transform:translate(-50%)}.leaflet-custom-marker-wrapper,.route-arrow-wrapper{background:0 0!important;border:none!important}.route-arrow{text-align:center;text-shadow:0 0 3px #fff,0 0 3px #fff;font-size:16px;line-height:16px}.custom-map-pin{cursor:pointer;border:2px solid #fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;transform:rotate(-45deg);box-shadow:0 3px 8px #00000059}.custom-map-pin .pin-label{color:#fff;-webkit-user-select:none;user-select:none;font-size:.95rem;font-weight:800;line-height:1;position:relative;transform:rotate(45deg)}.custom-map-pin.pin-hotel{border-radius:50%;transform:none}.custom-map-pin.pin-hotel .pin-label{font-size:.85rem;transform:none}.custom-map-pin.hover{border-color:#fef08a;transform:rotate(-45deg)scale(1.22)}.custom-map-pin.selected{z-index:9999;transform:rotate(-45deg)scale(1.36);box-shadow:0 0 0 4px #bc002d59,0 8px 18px #00000080}.custom-map-pin.pin-hotel.hover{transform:scale(1.22)}.custom-map-pin.pin-hotel.selected{transform:scale(1.36);box-shadow:0 0 0 4px #7c3aed59,0 8px 18px #00000080}.leaflet-popup-content-wrapper{background:var(--surface);color:var(--text);font-family:inherit;overflow:hidden;border-radius:12px!important;padding:0!important}.leaflet-popup-tip{background:var(--surface)}.leaflet-popup-content{margin:0!important;line-height:1.4!important}.map-popup-card{min-width:210px;padding:12px 14px}.map-popup-header{margin-bottom:6px}.map-popup-title{font-size:.92rem;font-weight:800}.map-popup-time{color:var(--muted);margin:2px 0 4px;font-size:.74rem}.map-popup-desc{color:var(--text-soft);margin-bottom:8px;font-size:.78rem}.map-popup-btn{min-height:0;padding:4px 9px;font-size:.72rem}.leaflet-container{font-family:inherit}:root[data-theme=dark] .tiles-adaptive .leaflet-tile-pane{filter:invert()hue-rotate(180deg)brightness(.92)contrast(.9)saturate(.8)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tiles-adaptive .leaflet-tile-pane{filter:invert()hue-rotate(180deg)brightness(.92)contrast(.9)saturate(.8)}}:root[data-theme=dark] .leaflet-control-zoom a{background:var(--surface);color:var(--text);border-color:var(--border)}.page{max-width:860px;margin:0 auto;padding-top:16px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.page-title{font-size:1.6rem;font-weight:800}.page-sub{color:var(--muted);margin-bottom:6px;font-size:.88rem}.page-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.flight-list{gap:8px;display:grid}.flight-card,.booking-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:10px 14px}.flight-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.flight-head .muted{margin-left:auto;font-size:.78rem}.flight-row{justify-content:space-between;gap:10px;padding:2px 0;font-size:.85rem;display:flex}.flight-row span{color:var(--muted)}.flight-row b{text-align:right}.flight-layover{text-align:center;color:var(--muted);padding:2px;font-size:.78rem}.booking-list{gap:8px;display:grid}.booking-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.booking-title{margin-top:2px;font-size:.95rem;font-weight:800}.booking-amount{text-align:right;color:var(--chip-green-fg);white-space:nowrap;font-size:.95rem;font-weight:800}.booking-amount small{color:var(--muted);font-size:.72rem;font-weight:600;display:block}.booking-details{gap:5px;font-size:.82rem;display:grid}.booking-details div{grid-template-columns:96px 1fr;gap:8px;display:grid}.booking-details dt{color:var(--muted);font-weight:700}.booking-details dd{color:var(--text-soft);overflow-wrap:anywhere}.badge{letter-spacing:.04em;border-radius:6px;margin-right:6px;padding:2px 8px;font-size:.66rem;font-weight:800;display:inline-block}.badge-paid{background:var(--chip-green-bg);color:var(--chip-green-fg)}.badge-confirmed{background:var(--chip-secondary-bg);color:var(--chip-secondary-fg)}.badge-part,.badge-counter{background:var(--chip-lunch-bg);color:var(--chip-lunch-fg)}.badge-estimate{background:var(--chip-gray-bg);color:var(--chip-gray-fg)}.seg{background:var(--surface-2);border-radius:8px;padding:3px;display:flex}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:5px 11px;font-size:.76rem;font-weight:700}.seg button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:14px 0 10px;display:grid}.kpi{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;padding:14px;display:flex}.kpi span{text-transform:uppercase;letter-spacing:.05em;opacity:.85;font-size:.74rem;font-weight:800}.kpi b{font-size:1.5rem;font-weight:800}.kpi small{opacity:.85;font-size:.74rem}.kpi-confirmed{background:var(--chip-green-bg);color:var(--chip-green-fg)}.kpi-remaining{background:var(--chip-lunch-bg);color:var(--chip-lunch-fg)}.kpi-total{background:var(--chip-secondary-bg);color:var(--chip-secondary-fg)}.progress{background:var(--surface-2);border-radius:99px;height:10px;overflow:hidden}.progress div{background:linear-gradient(90deg,#16a34a,#4ade80);border-radius:99px;height:100%}.budget-list{gap:8px;display:grid}.budget-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr auto;gap:6px 10px;padding:10px 12px;display:grid}.budget-label{align-items:center;gap:10px;font-size:.88rem;display:flex}.budget-label>span{font-size:1.4rem}.budget-label .badge{margin:2px 0 0;display:inline-block}.budget-label>div{flex-direction:column;align-items:flex-start;display:flex}.budget-amt{text-align:right;flex-direction:column;display:flex}.budget-amt small{color:var(--muted);font-size:.72rem}.budget-bar{background:var(--surface-2);border-radius:9px;grid-column:1/-1;height:5px;overflow:hidden}.budget-bar div{background:var(--primary);border-radius:9px;max-width:100%;height:100%}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.swatch{border:2px solid var(--surface);width:14px;height:14px;box-shadow:0 0 0 1px var(--border);border-radius:50%;display:inline-block}.subnav{flex-wrap:wrap;align-items:center;gap:14px;max-width:1500px;margin:0 auto;padding:10px 12px 0;display:flex}.back-link{color:var(--link);font-size:.82rem;font-weight:700;text-decoration:none}.subnav-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:800;overflow:hidden}.trip-body{max-width:1500px;margin:0 auto}.page-wide{max-width:1100px}.trip-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:16px;display:grid}.trip-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);text-align:left;border-radius:10px;flex-direction:column;font-family:inherit;display:flex;overflow:hidden}.trip-card-link{flex:1;text-decoration:none;display:block}.trip-card:hover{border-color:color-mix(in srgb, var(--primary) 50%, var(--border))}.trip-cover{background:linear-gradient(135deg, var(--logo-from), var(--logo-to));place-items:center;height:96px;font-size:2.6rem;display:grid}.trip-card-body{gap:2px;padding:12px 14px 4px;display:grid}.trip-name{margin-top:4px;font-size:1.08rem;font-weight:800;line-height:1.25}.trip-meta{color:var(--muted);font-size:.8rem}.trip-card-actions{flex-wrap:wrap;gap:8px;padding:10px 14px 14px;display:flex}.trip-new{cursor:pointer;min-height:190px;color:var(--muted);box-shadow:none;background:0 0;border-style:dashed;justify-content:center;align-items:center;gap:6px;font-weight:700}.trip-new-plus{color:var(--primary);font-size:2rem}.hint{margin-top:18px}.btn-danger{color:#dc2626}:root[data-theme=dark] .btn-danger{color:#fca5a5}.empty,.empty-day{text-align:center;justify-items:center;gap:10px;padding:40px 16px;display:grid}.empty-day{background:var(--surface);border:1px dashed var(--border);border-radius:10px;margin-bottom:12px;padding:28px 16px}.empty-icon{font-size:2.4rem}.modal{width:100%;max-width:min(560px,100vw - 24px);color:var(--text);background:0 0;border:0;margin:auto;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080a108c}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-height:calc(100dvh - 32px);padding:16px 18px 18px;overflow-y:auto;box-shadow:0 24px 60px #00000059}.modal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-head h2{font-size:1.15rem;font-weight:800}.form{gap:12px;display:grid}.form label,.form legend{color:var(--text-soft);gap:4px;font-size:.8rem;font-weight:700;display:grid}.form input,.form select,.form textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:9px 11px;font-size:16px;font-weight:500}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--primary);outline-offset:0;border-color:#0000}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.form-actions.split{justify-content:space-between;align-items:center}.form-error{color:#dc2626;font-size:.82rem;font-weight:600}:root[data-theme=dark] .form-error{color:#fca5a5}.emoji-pick{border:0;flex-wrap:wrap;gap:6px;display:flex}.emoji-pick legend{width:100%;margin-bottom:2px}.emoji-pick button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:11px;width:42px;height:42px;font-size:1.3rem}.emoji-pick button.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 30%, transparent)}.inline-field{gap:8px;display:flex}.inline-field input{flex:1}.results{gap:4px;max-height:190px;margin-top:4px;list-style:none;display:grid;overflow-y:auto}.results button{text-align:left;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:9px;width:100%;padding:8px 10px;font-size:.85rem;display:grid}.results button:hover{border-color:var(--primary)}.results span{color:var(--muted);font-size:.75rem}.pin-ok{color:var(--chip-green-fg);margin-top:4px;font-size:.82rem;font-weight:600}.link-btn{color:var(--link);cursor:pointer;font-size:inherit;background:0 0;border:0;text-decoration:underline}.edit-tools{flex-wrap:wrap;gap:5px;margin-left:auto;display:inline-flex}.btn-icon{min-width:28px;height:28px;padding:0 4px}.edit-day{margin-left:auto}.add-stop{border-style:dashed;width:100%;margin-top:4px}.day-tab-add{width:84px;color:var(--primary);border-style:dashed;justify-content:center;align-items:center;font-size:1.2rem;font-weight:800}.day-tab-add span{font-size:.68rem}@media (max-width:1023px){.trip-body{padding-bottom:0}}.dropzone{text-align:center;border:2px dashed var(--border);background:var(--surface);border-radius:10px;justify-items:center;gap:6px;margin:14px 0;padding:18px 14px;display:grid}.dropzone.over{border-color:var(--primary);background:var(--surface-2)}.auto-toggle{align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.folder-bar{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 14px;display:flex}.folder-bar .chip{cursor:pointer;border:0;font-family:inherit}.folder-bar input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:4px 8px;font-size:16px}.doc-list{gap:10px;display:grid}.doc-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;gap:10px;padding:12px 14px;display:grid}.doc-main{align-items:flex-start;gap:10px;min-width:0;display:flex}.doc-main>div{gap:2px;min-width:0;display:grid}.doc-icon{font-size:1.6rem}.doc-name{overflow-wrap:anywhere}.doc-summary{color:var(--text-soft);font-size:.84rem}.doc-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.doc-actions select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:9px;max-width:100%;padding:6px 8px;font-size:16px}.review-h{margin-top:4px;font-size:.95rem;font-weight:800}.review-item{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:6px;padding:10px;display:grid}.review-check{grid-template-columns:none;align-items:center;gap:8px;display:flex!important}.review-check input{width:auto!important}@media (min-width:700px){.doc-card{grid-template-columns:1fr auto;align-items:center}}.doc-scroll::-webkit-scrollbar{width:5px}.doc-scroll::-webkit-scrollbar-track{background:0 0}.doc-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.doc-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-soft)}body.body-trip .trip-banner-consistent{box-shadow:none;border-width:0 0 1px;border-radius:0;margin:0 -12px;padding:4px 12px}body.body-trip.body-airbnb-layout .trip-banner-consistent{margin:0}body.body-trip:has([data-layout=airbnb]) .trip-banner-consistent{margin:0}body.body-trip .trip-banner-consistent .nav-logo{border-radius:9px;width:30px;height:30px;font-size:1rem}body.body-trip .trip-banner-consistent .banner-sub{display:none}body.body-trip .trip-banner-consistent .banner-title{margin:0;font-size:1.05rem}body.body-trip .trip-banner-consistent .banner-kicker{font-size:.7rem}
