:root,[data-theme=light]{--surface-0:#f6f4ef;--surface-1:#fff;--surface-2:#ece8df;--surface-glass:#ffffffe0;--scrim:#1e272966;--border:#dad4c8;--border-strong:#8e8676;--ink:#1e2729;--ink-2:#525c5e;--ink-3:#5f6a6c;--ink-disabled:#a2a9a9;--ink-inverse:#fff;--brand:#12726f;--brand-hover:#0f6360;--brand-active:#0c5452;--on-brand:#fff;--action:#12726f;--action-hover:#0f6360;--action-active:#0c5452;--on-action:#fff;--action-danger:#b0392f;--action-danger-hover:#962f27;--action-danger-active:#7f2821;--brand-soft:#d6ece9;--brand-soft-ink:#0f5e5b;--accent:#d0a62c;--accent-hover:#c29a22;--on-accent:#1d1706;--accent-ink:#7a600a;--accent-soft:#f6ecc9;--focus-ring:#12726f;--success:#2a7a4b;--success-soft:#e2f4e8;--warning:#7a600a;--warning-soft:#f6ecc9;--danger:#b0392f;--danger-hover:#962f27;--on-danger:#fff;--danger-soft:#f8e1de;--info:#2f5fa0;--info-soft:#dfe8f6;--map-water:#d6e4e0;--map-land:#f1eee6;--map-land-green:#e4e9da;--map-building:#e7e2d7;--map-road:#fff;--map-road-major:#e8e2d4;--map-boundary:#c6bfae;--map-label:#596462;--map-label-halo:#f1eee6;--marker-stop:var(--brand);--marker-stop-ink:var(--on-brand);--marker-selected:var(--accent);--marker-selected-ink:var(--on-accent);--marker-selected-ring:#1e2729;--marker-daytrip:var(--brand-soft);--marker-daytrip-ink:var(--brand-soft-ink);--marker-activity:var(--ink-2);--marker-lodging:var(--ink);--marker-muted:#7c7465;--marker-muted-ink:#fff;--route:var(--brand);--route-highlight:var(--accent);--route-muted:#a8a08f;--route-halo:var(--surface-1);--cost-estimated:var(--ink-3);--cost-booked:var(--brand-soft-ink);--cost-paid:var(--success);--stat-lodging:#00869d;--stat-transport:#3b51bc;--stat-activity:#c65a4f;--stat-food:#d89b07;--stat-other:#cc81bc;--heat-1:#d2efee;--heat-2:#8ed3d0;--heat-3:#3baca6;--heat-4:#00807e;--heat-5:#005455;--shadow-sm:0 1px 2px #1e27290f, 0 1px 1px #1e27290a;--shadow-md:0 8px 24px #1e27291a, 0 1px 2px #1e27290f;--shadow-lg:0 16px 48px #1e272929, 0 2px 4px #1e27290f;--shadow-marker:0 2px 6px #1e272947}[data-theme=dark]{--surface-0:#0c1f1e;--surface-1:#132e2c;--surface-2:#1a3b38;--surface-glass:#132e2ce6;--scrim:#0000008c;--border:#2a4f4b;--border-strong:#528580;--ink:#edf2ef;--ink-2:#b1c3be;--ink-3:#8da6a0;--ink-disabled:#5c7571;--ink-inverse:#0c1f1e;--brand:#52c4b9;--brand-hover:#6ad0c6;--brand-active:#3fb0a6;--on-brand:#06201e;--action:#15817a;--action-hover:#127a73;--action-active:#0f6d67;--on-action:#fff;--action-danger:#b8443a;--action-danger-hover:#a33b31;--action-danger-active:#8f322a;--brand-soft:#1a4642;--brand-soft-ink:#a4e1da;--accent:#e8bc42;--accent-hover:#f0c85a;--on-accent:#1d1706;--accent-ink:#e8bc42;--accent-soft:#3a2f10;--focus-ring:#e8bc42;--success:#64c690;--success-soft:#173a2a;--warning:#e8bc42;--warning-soft:#3a2f10;--danger:#f08c82;--danger-hover:#f5a49c;--on-danger:#fff;--danger-soft:#3f1b18;--info:#84b1ea;--info-soft:#1b2e48;--map-water:#07171a;--map-land:#112826;--map-land-green:#132e28;--map-building:#172f2c;--map-road:#1c3935;--map-road-major:#27463f;--map-boundary:#3a5a53;--map-label:#8ea39d;--map-label-halo:#112826;--marker-stop:var(--brand);--marker-stop-ink:var(--on-brand);--marker-selected:var(--accent);--marker-selected-ink:var(--on-accent);--marker-selected-ring:#0c1f1e;--marker-daytrip:var(--brand-soft);--marker-daytrip-ink:var(--brand-soft-ink);--marker-activity:var(--ink-2);--marker-lodging:var(--ink);--marker-muted:#6f8f8a;--marker-muted-ink:#0c1f1e;--route:var(--brand);--route-highlight:var(--accent);--route-muted:#3f5f5a;--route-halo:var(--surface-1);--cost-estimated:var(--ink-3);--cost-booked:var(--brand-soft-ink);--cost-paid:var(--success);--stat-lodging:#0092aa;--stat-transport:#4057c2;--stat-activity:#c04e3e;--stat-food:#c38700;--stat-other:#b67ac9;--heat-1:#113433;--heat-2:#005b57;--heat-3:#008880;--heat-4:#15b6a9;--heat-5:#78e0d2;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000073, 0 1px 2px #0006;--shadow-lg:0 16px 48px #0000008c, 0 2px 4px #0006;--shadow-marker:0 2px 6px #0009}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--easing-standard:cubic-bezier(.2, 0, 0, 1);--easing-enter:cubic-bezier(0, 0, .2, 1);--easing-exit:cubic-bezier(.4, 0, 1, 1);--z-map:0;--z-route:10;--z-marker:20;--z-controls:30;--z-panel:40;--z-sheet:50;--z-toast:60;--z-dialog:70;--size-touch:44px;--size-icon:20px;--size-marker-stop:32px;--size-marker-daytrip:24px;--size-marker-activity:12px;--size-panel:360px;--size-sheet-peek:96px;--size-scrubber:56px;--border-hairline:1px;--border-focus:2px;--border-marker:2px;--font-sans:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif}.title{font-family:var(--font-sans);letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:30px}.body{font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:24px}.body-strong{font-family:var(--font-sans);font-size:16px;font-weight:700;line-height:24px}.small{font-family:var(--font-sans);font-size:13px;font-weight:400;line-height:18px}.small-strong{font-family:var(--font-sans);font-size:13px;font-weight:700;line-height:18px}@font-face{font-family:Instrument Sans;src:url(../media/InstrumentSans-Variable.2l_-6h_d6d01d.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(../media/InstrumentSans-Italic-Variable.0qaysbejd7_h3.woff2)format("woff2");font-weight:400 700;font-style:italic;font-display:swap}
.pv,.pv *{box-sizing:border-box}.pv{font-family:var(--font-sans);color:var(--ink);background:var(--surface-0);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-size:16px;font-weight:400;line-height:24px}.pv-num{font-variant-numeric:tabular-nums}[data-theme=dark] .pv-only-light,[data-theme=light] .pv-only-dark{display:none!important}.pv-muted{color:var(--ink-2)}.pv-faint{color:var(--ink-3)}.pv :focus-visible,.pv .is-focus{outline:var(--border-focus) solid var(--focus-ring);outline-offset:2px}:where(.pv) :where(button,input,select,textarea){font:inherit;color:inherit}.pv svg{flex:none;display:block}.pv-icon{width:var(--size-icon);height:var(--size-icon);stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}@media (prefers-reduced-motion:reduce){.pv *,.pv :before,.pv :after{transition-duration:0s!important;animation-duration:0s!important}}.pv-themes{grid-template-columns:1fr 1fr;gap:0;min-height:100%;display:grid}.pv-theme{padding:var(--space-4);background:var(--surface-0);color:var(--ink)}.pv-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.pv-col{gap:var(--space-3);flex-direction:column;display:flex}.pv-state{color:var(--ink-3);margin:0 0 var(--space-1);font-size:13px;line-height:18px}.pv-cell{gap:var(--space-1);flex-direction:column;display:flex}.pv-spin{border-radius:var(--radius-full);opacity:.9;border:2px solid;border-right-color:#0000;width:18px;height:18px;animation:.7s linear infinite pv-spin}@keyframes pv-spin{to{transform:rotate(360deg)}}.pv-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--size-touch);min-width:var(--size-touch);padding:0 var(--space-5);border-radius:var(--radius-md);border:var(--border-hairline) solid transparent;cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard), transform var(--duration-fast) var(--easing-standard);font-size:16px;font-weight:700;line-height:24px;text-decoration:none;display:inline-flex;position:relative}.pv-btn--primary{background:var(--action);color:var(--on-action)}.pv-btn--primary:hover,.pv-btn--primary.is-hover{background:var(--action-hover)}.pv-btn--primary:active,.pv-btn--primary.is-active{background:var(--action-active);transform:scale(.98)}.pv-btn--secondary{background:var(--surface-1);color:var(--ink);border-color:var(--border-strong)}.pv-btn--secondary:hover,.pv-btn--secondary.is-hover{background:var(--surface-2)}.pv-btn--secondary:active,.pv-btn--secondary.is-active{background:var(--surface-2);border-color:var(--ink-2);transform:scale(.98)}.pv-btn--quiet{color:var(--brand);padding:0 var(--space-3);background:0 0}.pv-btn--quiet:hover,.pv-btn--quiet.is-hover{background:var(--brand-soft);color:var(--brand-soft-ink)}.pv-btn--quiet:active,.pv-btn--quiet.is-active{background:var(--brand-soft);color:var(--brand-soft-ink);transform:scale(.98)}.pv-btn--danger{background:var(--action-danger);color:var(--on-danger)}.pv-btn--danger:hover,.pv-btn--danger.is-hover{background:var(--action-danger-hover)}.pv-btn--danger:active,.pv-btn--danger.is-active{background:var(--action-danger-active);transform:scale(.98)}.pv-btn:disabled,.pv-btn.is-disabled{background:var(--surface-2);color:var(--ink-disabled);cursor:not-allowed;border-color:#0000;transform:none}.pv-btn--secondary:disabled,.pv-btn--secondary.is-disabled{background:var(--surface-1);border-color:var(--border)}.pv-btn--quiet:disabled,.pv-btn--quiet.is-disabled{background:0 0}.pv-btn.is-loading{color:#0000;pointer-events:none}.pv-btn.is-loading .pv-spin{color:var(--on-action);position:absolute}.pv-btn--secondary.is-loading .pv-spin,.pv-btn--quiet.is-loading .pv-spin{color:var(--brand)}.pv-btn--danger.is-loading .pv-spin{color:var(--on-danger)}.pv-btn.is-error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.pv-btn--block{width:100%}.pv-btn--icon{width:var(--size-touch);padding:0}.pv-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.pv-label{color:var(--ink-2);font-size:13px;font-weight:700;line-height:18px}.pv-help{color:var(--ink-3);font-size:13px;line-height:18px}.pv-help--error{color:var(--danger);align-items:center;gap:var(--space-1);display:flex}.pv-control{align-items:center;display:flex;position:relative}.pv-input,.pv-select,.pv-textarea{width:100%;min-height:var(--size-touch);padding:0 var(--space-3);background:var(--surface-2);color:var(--ink);border:var(--border-hairline) solid var(--border-strong);border-radius:var(--radius-md);appearance:none;transition:border-color var(--duration-fast) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard);outline:none;font-size:16px;line-height:24px}.pv-input::placeholder,.pv-textarea::placeholder{color:var(--ink-3)}.pv-input:hover,.pv-select:hover,.pv-textarea:hover,.pv-control.is-hover>:is(.pv-input,.pv-select,.pv-textarea){border-color:var(--ink-2)}.pv-input:focus-visible,.pv-select:focus-visible,.pv-textarea:focus-visible,.pv-control.is-focus>:is(.pv-input,.pv-select,.pv-textarea){outline:var(--border-focus) solid var(--focus-ring);outline-offset:2px;border-color:var(--brand);background:var(--surface-1)}.pv-control.is-active>:is(.pv-input,.pv-select,.pv-textarea){border-color:var(--brand);background:var(--surface-1)}.pv-input:disabled,.pv-select:disabled,.pv-textarea:disabled,.pv-control.is-disabled>:is(.pv-input,.pv-select,.pv-textarea){color:var(--ink-disabled);border-color:var(--border);background:var(--surface-2);cursor:not-allowed}.pv-control.is-disabled .pv-control__icon{color:var(--ink-disabled)}.pv-control.is-error>:is(.pv-input,.pv-select,.pv-textarea){border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.pv-control.is-loading>:is(.pv-input,.pv-select,.pv-textarea){padding-right:44px}.pv-control__icon{right:var(--space-3);color:var(--ink-2);pointer-events:none;display:flex;position:absolute}.pv-control__icon .pv-spin{color:var(--brand)}.pv-select{cursor:pointer;padding-right:44px}.pv-textarea{min-height:96px;padding:var(--space-2) var(--space-3);resize:vertical;line-height:24px}.pv-field.is-disabled .pv-label{color:var(--ink-disabled)}.pv-chip-row{gap:var(--space-1);flex-wrap:wrap;display:flex}.pv-card{background:var(--surface-1);border:var(--border-hairline) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);gap:var(--space-2);transition:border-color var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard), transform var(--duration-fast) var(--easing-standard);text-align:left;flex-direction:column;width:100%;min-width:0;display:flex}.pv-card--interactive{cursor:pointer}.pv-card--interactive:hover,.pv-card.is-hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.pv-card--interactive:active,.pv-card.is-active{box-shadow:var(--shadow-sm);background:var(--surface-2);transform:scale(.99)}.pv-card.is-selected{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand), var(--shadow-sm)}.pv-card.is-disabled{color:var(--ink-disabled);box-shadow:none;cursor:not-allowed}.pv-card.is-disabled *{color:var(--ink-disabled)}.pv-card__eyebrow{color:var(--ink-3);font-size:13px;font-weight:700;line-height:18px}.pv-card__title{margin:0;font-size:16px;font-weight:700;line-height:24px}.pv-card__meta{color:var(--ink-2);font-size:13px;line-height:18px}.pv-card__error{gap:var(--space-2);padding:var(--space-2) var(--space-3);margin:var(--space-1) calc(-1 * var(--space-1)) 0;background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);align-items:flex-start;font-size:13px;line-height:18px;display:flex}.pv-panel{width:var(--size-panel);background:var(--surface-1);max-width:100%;height:100%;color:var(--ink);border:var(--border-hairline) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--duration-slow) var(--easing-standard), opacity var(--duration-slow) var(--easing-standard);flex-direction:column;display:flex;overflow:hidden}.pv-panel.is-entering{opacity:.5;transform:translate(16px)}.pv-panel__head{align-items:flex-start;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-2);display:flex}.pv-panel__head .pv-btn--icon{margin:-8px -8px 0 auto}.pv-panel__eyebrow{color:var(--ink-3);font-size:13px;font-weight:700;line-height:18px}.pv-panel__title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700;line-height:30px}.pv-panel__body{padding:var(--space-2) var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow:auto}.pv-panel__foot{padding:var(--space-3) var(--space-4) var(--space-4);border-top:var(--border-hairline) solid var(--border);gap:var(--space-2);margin-top:auto;display:flex}.pv-panel__foot .pv-btn{flex:1}.pv-stage{background:var(--map-land);border-radius:var(--radius-lg);position:relative;overflow:hidden}.pv-stage--map{background:var(--map-water)}.pv-phone{background:var(--map-water);border-radius:var(--radius-lg);border:var(--border-hairline) solid var(--border);width:300px;height:420px;position:relative;overflow:hidden}.pv-sheet{background:var(--surface-1);color:var(--ink);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);border-top:var(--border-hairline) solid var(--border);transition:height var(--duration-slow) var(--easing-standard), transform var(--duration-slow) var(--easing-standard);height:var(--size-sheet-peek);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.pv-sheet--expanded{height:72%}.pv-sheet--full{height:calc(100% - var(--space-10))}.pv-sheet__handle{border-radius:var(--radius-full);background:var(--border-strong);width:36px;height:4px;margin:var(--space-2) auto 0;flex:none}.pv-sheet__head{padding:var(--space-2) var(--space-4) 0;align-items:center;gap:var(--space-2);display:flex}.pv-sheet__title{margin:0;font-size:16px;font-weight:700;line-height:24px}.pv-sheet__body{padding:var(--space-2) var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow:auto}.pv-sheet__foot{padding:var(--space-2) var(--space-4) var(--space-4);margin-top:auto}.pv-scrim{background:var(--scrim);position:absolute;inset:0}.pv-toast{align-items:flex-start;gap:var(--space-2);width:360px;max-width:100%;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--surface-1);color:var(--ink);border:var(--border-hairline) solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform var(--duration-base) var(--easing-enter), opacity var(--duration-base) var(--easing-enter);border-left-width:1px;font-size:13px;line-height:18px;display:flex}.pv-toast__icon{margin-top:1px;display:flex}.pv-toast__body{flex-direction:column;flex:1;gap:2px;display:flex}.pv-toast__title{margin:-3px 0;font-size:16px;font-weight:700;line-height:24px}.pv-toast__text{color:var(--ink-2)}.pv-toast__action{color:var(--brand);cursor:pointer;background:0 0;border:0;align-self:flex-start;min-height:24px;padding:0;font-weight:700}.pv-toast__close{margin:-6px -6px -6px 0}.pv-toast--success .pv-toast__icon{color:var(--success)}.pv-toast--warning .pv-toast__icon{color:var(--warning)}.pv-toast--danger .pv-toast__icon{color:var(--danger)}.pv-toast--info .pv-toast__icon{color:var(--info)}.pv-toast--loading .pv-toast__icon{color:var(--brand)}.pv-toast.is-hover{box-shadow:var(--shadow-lg)}.pv-toast.is-entering{opacity:.5;transform:translateY(6px)}.pv-badge{align-items:center;gap:var(--space-1);min-height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);white-space:nowrap;font-size:13px;font-weight:700;line-height:18px;display:inline-flex}.pv-badge__dot{border-radius:var(--radius-full);background:currentColor;width:6px;height:6px}.pv-badge--brand{background:var(--brand-soft);color:var(--brand-soft-ink)}.pv-badge--accent{background:var(--accent-soft);color:var(--accent-ink)}.pv-badge--success{background:var(--success-soft);color:var(--success)}.pv-badge--warning{background:var(--warning-soft);color:var(--warning)}.pv-badge--danger{background:var(--danger-soft);color:var(--danger)}.pv-badge--info{background:var(--info-soft);color:var(--info)}.pv-badge--outline{box-shadow:inset 0 0 0 1px var(--border-strong);background:0 0}.pv-badge--pill{border-radius:var(--radius-full);padding:0 var(--space-3)}.pv-badge.is-disabled{color:var(--ink-disabled);background:var(--surface-2)}.pv-badge--count{justify-content:center;min-width:22px;padding:0 6px}.pv-tabs{gap:var(--space-1);border-bottom:var(--border-hairline) solid var(--border);display:flex;position:relative}.pv-tabs--segmented{background:var(--surface-2);border-radius:var(--radius-md);border:0;gap:2px;padding:3px}.pv-tab{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--size-touch);padding:0 var(--space-3);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard);background:0 0;border:0;font-size:13px;font-weight:700;line-height:18px;display:inline-flex;position:relative}.pv-tab:after{content:"";left:var(--space-2);right:var(--space-2);height:2px;transition:background-color var(--duration-base) var(--easing-standard);background:0 0;border-radius:1px;position:absolute;bottom:-1px}.pv-tab:hover,.pv-tab.is-hover{color:var(--ink);background:var(--surface-2)}.pv-tab[aria-selected=true],.pv-tab.is-selected{color:var(--brand)}.pv-tab[aria-selected=true]:after,.pv-tab.is-selected:after{background:var(--brand)}.pv-tab:active,.pv-tab.is-active{background:var(--brand-soft);color:var(--brand-soft-ink)}.pv-tab:disabled,.pv-tab.is-disabled{color:var(--ink-disabled);cursor:not-allowed;background:0 0}.pv-tab.is-focus{outline-offset:-2px}.pv-tab__dot{border-radius:var(--radius-full);background:var(--danger);width:6px;height:6px}.pv-tabs--segmented .pv-tab{border-radius:calc(var(--radius-md) - 3px);flex:1;min-height:38px}.pv-tabs--segmented .pv-tab:after{display:none}.pv-tabs--segmented .pv-tab.is-selected,.pv-tabs--segmented .pv-tab[aria-selected=true]{background:var(--surface-1);color:var(--ink);box-shadow:var(--shadow-sm)}.pv-tabs--segmented .pv-tab.is-disabled{background:0 0}.pv-avatar{--pv-av:32px;width:var(--pv-av);height:var(--pv-av);border-radius:var(--radius-full);background:var(--brand-soft);color:var(--brand-soft-ink);border:2px solid var(--surface-1);flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;line-height:18px;display:inline-flex;position:relative;overflow:hidden}.pv-avatar--sm{--pv-av:24px;font-size:11px}.pv-avatar--lg{--pv-av:44px;font-size:16px}.pv-avatar img{object-fit:cover;width:100%;height:100%;display:block}.pv-avatar--image{background:var(--surface-2)}.pv-avatar.is-hover{box-shadow:0 0 0 2px var(--border-strong);cursor:pointer}.pv-avatar.is-active{transform:scale(.96)}.pv-avatar.is-disabled{color:var(--ink-disabled);background:var(--surface-2)}.pv-avatar.is-loading{background:var(--surface-2)}.pv-avatar.is-error{background:var(--surface-2);color:var(--ink-2)}.pv-avatar__status{border-radius:var(--radius-full);background:var(--success);border:2px solid var(--surface-1);width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.pv-avatar-group{display:inline-flex}.pv-avatar-group .pv-avatar+.pv-avatar{margin-left:-8px}.pv-avatar--more{background:var(--surface-2);color:var(--ink-2)}.pv-dialog-stage{border-radius:var(--radius-lg);background:var(--map-land);min-height:300px;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.pv-dialog{background:var(--surface-1);width:100%;max-width:400px;color:var(--ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);gap:var(--space-3);transition:transform var(--duration-slow) var(--easing-enter), opacity var(--duration-slow) var(--easing-enter);flex-direction:column;display:flex;position:relative}.pv-dialog__title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700;line-height:30px}.pv-dialog__text{color:var(--ink-2);margin:0}.pv-dialog__actions{gap:var(--space-2);margin-top:var(--space-2);justify-content:flex-end;display:flex}.pv-dialog__actions--stack{flex-direction:column-reverse}.pv-dialog__actions--stack .pv-btn{width:100%}.pv-dialog.is-entering{opacity:.5;transform:translateY(8px)scale(.985)}.pv-dialog__error{gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);align-items:flex-start;font-size:13px;line-height:18px;display:flex}.pv-skel{background:var(--surface-2);border-radius:var(--radius-sm);position:relative;overflow:hidden}.pv-skel:after{content:"";background:linear-gradient(90deg, transparent, var(--surface-1), transparent);opacity:.6;animation:pv-shimmer 1.4s var(--easing-standard) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes pv-shimmer{to{transform:translate(100%)}}.pv-skel--text{height:14px;margin:5px 0}.pv-skel--title{width:60%;height:20px;margin:5px 0}.pv-skel--circle{border-radius:var(--radius-full)}.pv-skel--block{border-radius:var(--radius-md)}.pv-skel--chip{border-radius:var(--radius-full);width:96px;height:24px}.pv-skel.is-static:after{animation:none}@media (prefers-reduced-motion:reduce){.pv-skel:after{animation:none}}.pv-empty{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);flex-direction:column;max-width:360px;margin:0 auto;display:flex}.pv-empty__art{border-radius:var(--radius-lg);border:1px dashed var(--border-strong);width:120px;height:120px;color:var(--ink-3);margin-bottom:var(--space-4);justify-content:center;align-items:center;font-size:13px;line-height:18px;display:flex}.pv-empty__art--mark{border-style:solid;border-color:var(--border);background:var(--surface-1);color:var(--brand)}.pv-empty__title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700;line-height:30px}.pv-empty__text{color:var(--ink-2);margin:0}.pv-empty__actions{gap:var(--space-2);width:100%;margin-top:var(--space-4);flex-direction:column;display:flex}.pv-empty--compact{padding:var(--space-6) var(--space-4)}.pv-empty--compact .pv-empty__art{width:72px;height:72px;margin-bottom:var(--space-2)}.pv-empty--compact .pv-empty__title{font-size:16px;line-height:24px}.pv-empty--error .pv-empty__art{color:var(--danger);border-color:var(--danger)}.pv-map{border-radius:var(--radius-lg);background:var(--map-water);position:relative;overflow:hidden}.pv-map svg.pv-map__base{width:100%;height:100%;position:absolute;inset:0}.pv-map .land{fill:var(--map-land)}.pv-map .green{fill:var(--map-land-green)}.pv-map .building{fill:var(--map-building)}.pv-map .road{stroke:var(--map-road);fill:none;stroke-linecap:round}.pv-map .road-major{stroke:var(--map-road-major);fill:none;stroke-linecap:round}.pv-map .rail{stroke:var(--map-road-major);fill:none;stroke-dasharray:6 4}.pv-map .boundary{stroke:var(--map-boundary);fill:none;stroke-dasharray:2 3}.pv-map .label{fill:var(--map-label);font-family:var(--font-sans);paint-order:stroke;stroke:var(--map-label-halo);stroke-width:2px;stroke-linejoin:round;font-size:13px;font-weight:400}.pv-map .label--water{font-style:italic}.pv-routes{width:100%;height:100%;z-index:var(--z-route);position:absolute;inset:0;overflow:visible}.pv-route{fill:none;stroke:var(--route);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--duration-fast) var(--easing-standard), stroke-width var(--duration-fast) var(--easing-standard)}.pv-route--flight{stroke-width:2.5px}.pv-route--daytrip{stroke-width:2px;stroke-dasharray:4 4}.pv-route-halo{fill:none;stroke:var(--route-halo);stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.pv-route-halo--daytrip{stroke-width:5px}.pv-route.is-highlight{stroke:var(--route-highlight);stroke-width:4px}.pv-route--daytrip.is-highlight{stroke-width:3px}.pv-route-halo.is-highlight{stroke:var(--marker-selected-ring);stroke-width:5.5px;stroke-opacity:.55}.pv-route.is-muted{stroke:var(--route-muted);stroke-width:2px}.pv-route-halo.is-muted{display:none}.pv-route.is-drawing{stroke-dasharray:600;stroke-dashoffset:600px;animation:pv-draw var(--duration-slow) var(--easing-standard) forwards}@keyframes pv-draw{to{stroke-dashoffset:0}}.pv-marker{z-index:var(--z-marker);border-radius:var(--radius-full);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-marker);border:var(--border-marker) solid var(--surface-1);cursor:pointer;transition:width var(--duration-base) var(--easing-standard), height var(--duration-base) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard);justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:700;line-height:18px;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.pv-marker:after{content:"";width:var(--size-touch);height:var(--size-touch);border-radius:var(--radius-full);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.pv-marker--inline{cursor:default;flex:none;position:static;transform:none}.pv-marker--inline:after{display:none}.pv-marker--stop{width:var(--size-marker-stop);height:var(--size-marker-stop);background:var(--marker-stop);color:var(--marker-stop-ink)}.pv-marker--daytrip{width:var(--size-marker-daytrip);height:var(--size-marker-daytrip);background:var(--marker-daytrip);color:var(--marker-daytrip-ink);border:1.5px solid var(--brand);font-size:11px}.pv-marker--activity{width:var(--size-marker-activity);height:var(--size-marker-activity);background:var(--marker-activity)}.pv-marker--lodging{width:var(--size-marker-daytrip);height:var(--size-marker-daytrip);border-radius:var(--radius-sm);background:var(--marker-lodging);color:var(--ink-inverse)}.pv-marker--lodging .pv-icon{width:14px;height:14px}.pv-marker.is-selected{background:var(--marker-selected);color:var(--marker-selected-ink);border:1.5px solid var(--marker-selected-ring);z-index:calc(var(--z-marker) + 1)}.pv-marker--stop.is-selected{width:36px;height:36px}.pv-marker--daytrip.is-selected,.pv-marker--lodging.is-selected{width:28px;height:28px}.pv-marker--activity.is-selected{width:16px;height:16px}.pv-marker.is-muted{background:var(--marker-muted);color:var(--marker-muted-ink);border-color:var(--surface-1);box-shadow:none}.pv-marker--daytrip.is-muted{border-color:var(--surface-1)}.pv-marker.is-hover{transform:translate(-50%,-50%)scale(1.08)}.pv-marker--inline.is-hover{transform:scale(1.08)}.pv-cost{border-radius:var(--radius-full);font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--surface-2);height:28px;color:var(--cost-estimated);border:var(--border-hairline) solid transparent;cursor:pointer;transition:box-shadow var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard);align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:700;line-height:18px;display:inline-flex}.pv-cost__dot{border-radius:var(--radius-full);background:currentColor;flex:none;width:6px;height:6px}.pv-cost--estimated .pv-cost__dot{background:0 0;box-shadow:inset 0 0 0 1.5px}.pv-cost--booked{background:var(--brand-soft);color:var(--cost-booked)}.pv-cost--paid{background:var(--success-soft);color:var(--cost-paid)}.pv-cost__status{opacity:.85;font-weight:400}.pv-cost:hover,.pv-cost.is-hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.pv-cost.is-active{box-shadow:none;transform:scale(.97)}.pv-cost.is-disabled{color:var(--ink-disabled);background:var(--surface-2);cursor:not-allowed}.pv-cost.is-loading .pv-spin{border-width:1.5px;width:12px;height:12px}.pv-cost.is-error{background:var(--danger-soft);color:var(--danger)}.pv-cost--lg{height:36px;padding:0 14px;font-size:16px;line-height:24px}.pv-cost--onmap{box-shadow:var(--shadow-sm);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pv-tl{flex-direction:column;display:flex;position:relative}.pv-tl:before{content:"";background:var(--border);border-radius:1px;width:2px;position:absolute;top:16px;bottom:16px;left:15px}.pv-tl-item{gap:0 var(--space-3);padding:var(--space-2) var(--space-2);margin:0 calc(-1 * var(--space-2));border-radius:var(--radius-md);min-height:var(--size-touch);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard);text-align:left;color:inherit;font:inherit;width:calc(100% + 2 * var(--space-2));background:0 0;border:0;grid-template-columns:32px 1fr auto;align-items:center;display:grid;position:relative}.pv-tl-item__lead{justify-content:center;align-items:center;display:flex}.pv-tl-item__title{font-size:16px;font-weight:700;line-height:24px}.pv-tl-item__meta{color:var(--ink-2);font-size:13px;line-height:18px}.pv-tl-item__side{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.pv-tl-item--leg{min-height:36px;padding-top:var(--space-1);padding-bottom:var(--space-1)}.pv-tl-item--leg .pv-tl-item__title{color:var(--ink-2);font-size:13px;font-weight:400;line-height:18px}.pv-tl-item--leg .pv-tl-item__lead{border-radius:var(--radius-full);background:var(--surface-0);width:24px;height:24px;color:var(--ink-2);border:var(--border-hairline) solid var(--border);margin:0 auto}.pv-tl-item--leg .pv-icon{width:14px;height:14px}.pv-tl-item--daytrip{grid-template-columns:32px 24px 1fr auto}.pv-tl-item--daytrip .pv-tl-item__lead{grid-column:2}.pv-tl-item--daytrip .pv-tl-item__title{font-size:13px;font-weight:700;line-height:18px}.pv-tl-item:hover,.pv-tl-item.is-hover{background:var(--surface-2)}.pv-tl-item.is-selected{background:var(--brand-soft)}.pv-tl-item.is-selected .pv-tl-item__meta{color:var(--brand-soft-ink)}.pv-tl-item.is-active{background:var(--surface-2);transform:scale(.995)}.pv-tl-item.is-muted .pv-tl-item__title,.pv-tl-item.is-muted .pv-tl-item__meta{color:var(--ink-3)}.pv-tl-item.is-disabled{color:var(--ink-disabled);cursor:not-allowed}.pv-tl-item.is-disabled .pv-tl-item__meta{color:var(--ink-disabled)}.pv-tl-item__error{color:var(--danger);align-items:center;gap:var(--space-1);font-size:13px;line-height:18px;display:flex}.pv-tl-day{color:var(--ink-3);padding:var(--space-3) 0 var(--space-1) 44px;font-size:13px;font-weight:700;line-height:18px}.pv-scrubber{height:var(--size-scrubber);align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);border:var(--border-hairline) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:var(--z-controls);color:var(--ink);display:flex;position:relative}.pv-scrubber__btn{width:36px;min-width:0;height:36px;min-height:0;padding:0}.pv-scrubber__track{cursor:pointer;flex:1;height:24px;position:relative}.pv-scrubber__line{background:var(--border-strong);border-radius:1px;height:2px;position:absolute;top:11px;left:0;right:0}.pv-scrubber__fill{background:var(--brand);border-radius:1px;height:2px;position:absolute;top:11px;left:0}.pv-scrubber__tick{border-radius:var(--radius-full);background:var(--border-strong);width:6px;height:6px;position:absolute;top:9px;transform:translate(-50%)}.pv-scrubber__tick--stop{background:var(--brand);border:1.5px solid var(--surface-1);width:8px;height:8px;top:8px}.pv-scrubber__tick.is-past{background:var(--brand)}.pv-scrubber__handle{border-radius:var(--radius-full);background:var(--accent);border:1.5px solid var(--marker-selected-ring);width:20px;height:20px;box-shadow:var(--shadow-marker);transition:width var(--duration-fast) var(--easing-standard), height var(--duration-fast) var(--easing-standard), top var(--duration-fast) var(--easing-standard);cursor:grab;position:absolute;top:2px;transform:translate(-50%)}.pv-scrubber__handle:after{content:"";width:var(--size-touch);height:var(--size-touch);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.pv-scrubber__label{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap;padding:2px 8px;font-size:13px;font-weight:700;line-height:18px;position:absolute;bottom:28px;transform:translate(-50%)}.pv-scrubber__day{color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums;min-width:72px;font-size:13px;font-weight:700;line-height:18px}.pv-scrubber.is-dragging .pv-scrubber__handle{cursor:grabbing;width:24px;height:24px;top:0}.pv-scrubber.is-focus{outline:none}.pv-scrubber.is-focus .pv-scrubber__handle{outline:var(--border-focus) solid var(--focus-ring);outline-offset:2px}.pv-scrubber.is-disabled{color:var(--ink-disabled)}.pv-scrubber.is-disabled .pv-scrubber__handle{background:var(--marker-muted);border-color:var(--surface-1);box-shadow:none;cursor:not-allowed}.pv-scrubber.is-disabled .pv-scrubber__fill,.pv-scrubber.is-disabled .pv-scrubber__tick{background:var(--border)}.pv-scrubber.is-disabled .pv-scrubber__day{color:var(--ink-disabled)}.pv-stat-bar{border-radius:var(--radius-sm);background:var(--surface-1);gap:2px;height:24px;display:flex;overflow:hidden}.pv-stat-bar>span{height:100%;display:block}.pv-legend{gap:var(--space-2) var(--space-4);color:var(--ink-2);flex-wrap:wrap;font-size:13px;line-height:18px;display:flex}.pv-legend span{align-items:center;gap:6px;display:inline-flex}.pv-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.pv-heat{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.pv-heat span{aspect-ratio:1;border-radius:3px;display:block}.pv-hero{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:30px}.pv-hero small{color:var(--ink-2);letter-spacing:0;margin-left:6px;font-size:13px;font-weight:400;line-height:18px}
dialog.pv-dialog{height:fit-content;max-height:calc(100dvh - 2 * var(--space-4));width:calc(100% - 2 * var(--space-4));margin:auto;position:fixed;inset:0;overflow:auto}dialog.pv-dialog:not([open]){display:none}dialog.pv-dialog::backdrop{background:var(--scrim)}dialog.pv-dialog[open]{animation:pv-dialog-in var(--duration-slow) var(--easing-enter)}@keyframes pv-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}@media (max-width:480px){.pv-dialog__actions{flex-direction:column-reverse}.pv-dialog__actions .pv-btn{width:100%}}@media (prefers-reduced-motion:reduce){dialog.pv-dialog[open]{animation:none}}.pv .lucide.pv-icon{width:var(--size-icon);height:var(--size-icon)}.pv-marker--lodging .lucide.pv-icon{width:14px;height:14px}
html,body{background:var(--surface-0);min-height:100%;color:var(--ink);margin:0}body{min-height:100dvh}.web-skip{left:var(--space-4);top:calc(-1 * var(--space-16));z-index:var(--z-dialog);position:absolute}.web-skip:focus-visible{top:var(--space-4)}.web-auth{justify-content:center;align-items:center;gap:var(--space-6);min-height:100dvh;padding:var(--space-10) var(--space-4);flex-direction:column;display:flex}.web-auth__panel{background:var(--surface-1);border:var(--border-hairline) solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.web-auth__head{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.web-auth__title{margin:0}.web-auth__divider{align-items:center;gap:var(--space-3);color:var(--ink-3);display:flex}.web-auth__divider:before,.web-auth__divider:after{content:"";height:var(--border-hairline);background:var(--border);flex:1}.web-auth__form{gap:var(--space-3);flex-direction:column;display:flex}.web-auth__note{color:var(--ink-2);text-align:center;margin:0}.web-auth__note a,.web-footer a{color:var(--brand)}.web-auth__note a:hover,.web-footer a:hover{color:var(--brand-hover)}.web-provider-icon{width:var(--size-icon);height:var(--size-icon);flex:none}@media (max-width:480px){.web-auth{padding-top:var(--space-8);justify-content:flex-start}.web-auth__panel{padding:var(--space-4);box-shadow:none}}.web-header{align-items:center;gap:var(--space-4);height:64px;padding:0 var(--space-6);background:var(--surface-1);border-bottom:var(--border-hairline) solid var(--border);z-index:var(--z-controls);display:flex;position:sticky;top:0}.web-header__spacer{flex:1}@media (max-width:480px){.web-header{padding:0 var(--space-4);gap:var(--space-2)}}.web-account{max-width:640px;padding:var(--space-8) var(--space-4) var(--space-16);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.web-account__intro{gap:var(--space-1);margin-bottom:var(--space-2);flex-direction:column;display:flex}.web-account__intro h1{margin:0}.web-section{gap:var(--space-4)}.web-section__head{gap:var(--space-1);flex-direction:column;display:flex}.web-section__head h2,.web-section__head p{margin:0}.web-section__row{gap:var(--space-4);align-items:center;display:flex}.web-section__actions{gap:var(--space-2);justify-content:flex-end;display:flex}.web-section--danger{border-color:var(--border-strong)}@media (max-width:480px){.web-section__actions .pv-btn{width:100%}}.web-legal{max-width:720px;padding:var(--space-8) var(--space-4) var(--space-16);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.web-legal h1,.web-legal h2,.web-legal p{margin:0}.web-legal section{gap:var(--space-2);flex-direction:column;display:flex}.web-footer{gap:var(--space-4);color:var(--ink-2);justify-content:center;display:flex}
