:root{--surface:#f3f0e8;--surface-raised:#fffdf7;--ink:#1a2b24;--ink-muted:#5f6b65;--ink-label:#6d7872;--accent:#e85d04;--accent-deep:#9b2f00;--map-type-sightseeing:#e85d04;--map-type-food:#c1121f;--map-type-cafe:#c9a227;--map-type-transport:#4a6fa5;--map-type-lodging:#2d6a4f;--map-type-other:#6b7280;--line:#d4cfc4;--map-inset:#24352e;--font-display:"Familjen Grotesk", system-ui, sans-serif;--font-body:"Source Serif 4", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--shell-max:76rem;--space:1.25rem;--radius-sm:.75rem;--radius-md:1.15rem;--radius-lg:1.75rem;--radius-blob:1.35rem 1.75rem 1.2rem 1.6rem;--shadow-soft:0 10px 28px #1a2b240f;--text-ui-size:.9375rem;--text-ui-weight:500;--text-label-size:.8125rem;--text-title-weight:600;--scrollbar-size:.45rem;--scrollbar-track:color-mix(in srgb, var(--line) 42%, transparent);--scrollbar-thumb:color-mix(in srgb, var(--ink-muted) 52%, var(--line));--scrollbar-thumb-hover:color-mix(in srgb, var(--accent) 48%, var(--ink-muted))}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}body{background:radial-gradient(ellipse 80% 50% at 10% -10%, #e85d0414, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, #24352e0f, transparent 50%), var(--surface);min-height:100dvh;color:var(--ink);font-family:var(--font-body);margin:0;font-size:1.0625rem;line-height:1.55}a{color:var(--accent-deep)}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.display{font-family:var(--font-display);font-weight:var(--text-title-weight);letter-spacing:-.02em;line-height:1.2}.mono{font-family:var(--font-mono);letter-spacing:0;font-size:.8125rem}.muted{color:var(--ink-muted)}.eyebrow,.section-spine-eyebrow,.days-eyebrow{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-label);margin:0;font-size:.75rem;font-weight:600}.form-field-label{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--ink-label);letter-spacing:.01em}.form-control,input:not([type=checkbox]):not([type=radio]),textarea,.field-trigger{font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-ui-weight);color:var(--ink)}.shell{flex-direction:column;min-height:100dvh;display:flex}.shell-bar{margin:.85rem var(--space) 0;border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-raised) 88%, transparent);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #d4cfc4e6;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem .7rem 1.15rem;display:flex}.shell-brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);align-items:center;font-size:1.35rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-logo{align-items:center;gap:.55rem;display:inline-flex}.brand-logo-wordmark{line-height:1}.brand-mark{flex-shrink:0;display:block}.home-brand-lockup{align-items:center;gap:.85rem;margin-bottom:.35rem;display:flex}.home-brand-lockup .display{margin:0}.home-brand-mark{flex-shrink:0}.shell-brand:hover{color:var(--accent)}.shell-main{width:min(var(--shell-max), calc(100% - 2 * var(--space)));flex:1;margin:0 auto;padding:2.25rem 0 4rem}.shell-main>section:not(.workspace-page){width:min(42rem,100%);margin-inline:auto}.page-title{margin:0 0 .35rem;font-size:clamp(2rem,4vw,2.6rem)}.page-lede{color:var(--ink-muted);margin:0}.vacations-page{gap:1.75rem;display:grid}.vacations-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;display:flex}.vacations-page-intro .page-title{margin-bottom:.35rem}.vacations-create-btn{flex-shrink:0;align-self:center}.vacations-empty{border:1px dashed color-mix(in srgb, var(--accent) 28%, var(--line));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-raised) 70%, transparent);justify-items:start;gap:.85rem;padding:1.25rem 1.35rem;display:grid}.vacations-sections{gap:1.75rem;display:grid}.vacations-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-label);margin:0 0 .75rem;font-size:.92rem}.vacations-section--past .vacation-card{opacity:.88}.vacation-card-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.vacation-card{border:1px solid color-mix(in srgb, var(--line) 88%, transparent);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-soft);color:inherit;gap:.45rem;padding:1rem 1.15rem;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.vacation-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));transform:translateY(-1px)}.vacation-card--active{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));background:color-mix(in srgb, var(--accent) 5%, var(--surface-raised))}.vacation-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.vacation-card-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.2rem;font-weight:600;line-height:1.2}.vacation-card-status{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;background:color-mix(in srgb, var(--line) 55%, transparent);color:var(--ink-muted);border-radius:999px;flex-shrink:0;padding:.18rem .45rem;font-size:.68rem}.vacation-card-status--active{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent-deep)}.vacation-card-status--upcoming{background:color-mix(in srgb, var(--map-type-transport) 14%, transparent);color:color-mix(in srgb, var(--map-type-transport) 75%, var(--ink))}.vacation-card-dates{font-family:var(--font-display);color:var(--ink);margin:0;font-size:.92rem}.vacation-card-stats{color:var(--ink-muted);margin:0;font-size:.78rem}.vacation-card-role{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-label);font-size:.68rem}.modal-panel--create-trip{width:min(92vw,30rem)}.create-trip-form{gap:.85rem;display:grid}.create-trip-field{gap:.35rem;display:grid}.create-trip-field>span{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--ink-label)}.create-trip-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 82%, var(--surface));width:100%;color:var(--ink);font:inherit;padding:.65rem .75rem}.date-range-field{gap:.45rem;display:grid}.date-range-field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.date-range-field-label{gap:.35rem;display:grid}.date-range-field-label>span{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--ink-label)}.date-range-field-hint{margin:0;font-size:.82rem}.rule-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.rule-list li{border-radius:var(--radius-blob);background:var(--surface-raised);box-shadow:var(--shadow-soft);border:1px solid #d4cfc4d9;transition:transform .16s,border-color .16s}.rule-list li:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));transform:translateY(-1px)}.rule-list a,.rule-list .rule-row{color:inherit;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 1.15rem;text-decoration:none;display:flex}.rule-list .rule-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.15rem;font-weight:600}.rule-list .rule-meta{font-family:var(--font-mono);color:var(--ink-muted);white-space:nowrap;font-size:.8rem}@keyframes row-in{0%{opacity:0;transform:translateY(.55rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.rule-list li{animation:.24s cubic-bezier(.22,1,.36,1) both row-in}.rule-list li:first-child{animation-delay:30ms}.rule-list li:nth-child(2){animation-delay:60ms}.rule-list li:nth-child(3){animation-delay:90ms}.rule-list li:nth-child(4){animation-delay:.12s}.rule-list li:nth-child(5){animation-delay:.15s}.create-form{border:1px dashed color-mix(in srgb, var(--accent) 28%, var(--line));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-raised) 70%, transparent);flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding:1.1rem;display:flex}.create-form input{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);min-width:0;color:var(--ink);font-family:var(--font-body);flex:12rem;padding:.8rem 1rem;font-size:1rem}.create-form input::placeholder{color:var(--ink-muted)}.form-error{color:#9b2c2c;margin:.75rem 0 0;font-size:.9rem}.btn-primary{appearance:none;border-radius:var(--radius-md);background:var(--accent);color:#fffef9;font-family:var(--font-display);font-weight:var(--text-title-weight);font-size:var(--text-ui-size);letter-spacing:-.01em;cursor:pointer;border:none;padding:.8rem 1.25rem;transition:transform .14s cubic-bezier(.22,1,.36,1),background .14s,box-shadow .14s;box-shadow:0 8px 18px #e85d0438}.btn-primary:hover{background:var(--accent-deep);box-shadow:0 10px 22px #9b2f0033}.btn-primary:active{transform:scale(.96)rotate(-.4deg)}.auth-chrome{min-height:100dvh;padding:var(--space);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex}.auth-chrome .shell-brand{font-size:1.85rem}.home-entry{width:min(var(--shell-max), calc(100% - 2 * var(--space)));margin:0 auto;padding:4.5rem 0 3rem}.home-entry h1{margin:0 0 .75rem;font-size:clamp(2.75rem,8vw,4rem)}.home-entry p{max-width:28rem;color:var(--ink-muted);margin:0 0 1.75rem}.home-actions{flex-wrap:wrap;gap:.75rem;display:flex}.landing-page{width:min(var(--shell-max), calc(100% - 2 * var(--space)));margin:0 auto;padding:1.25rem 0 4rem}.landing-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}.landing-header-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.landing-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .65rem;font-size:.72rem}.landing-hero{grid-template-columns:1fr;align-items:start;gap:2rem 2.5rem;margin-bottom:4.5rem;display:grid}@media (width>=960px){.landing-hero{grid-template-columns:minmax(0,.52fr) minmax(0,1.48fr);align-items:center;gap:2.5rem 3rem}}.landing-hero-title{letter-spacing:-.04em;max-width:12ch;margin:0 0 .85rem;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.02}.landing-hero-lede{max-width:34rem;color:var(--ink-muted);margin:0 0 1.5rem;font-size:1.08rem;line-height:1.55}.landing-hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.landing-preview{pointer-events:none;-webkit-user-select:none;user-select:none}.landing-preview--hero{border:1px solid color-mix(in srgb, var(--line) 88%, transparent);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-soft);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:1rem;padding:1rem;display:grid}.landing-preview-stack{gap:.85rem;min-width:0;display:grid}.landing-preview-map-wrap{gap:.55rem;min-width:0;display:grid}.landing-preview-map-title{margin:0;font-size:.95rem}.landing-preview--feature{border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 35%, var(--surface-raised));box-shadow:var(--shadow-soft);gap:.85rem;padding:1rem;display:grid}.landing-preview .vacation-card{transform:none}.landing-preview .section-card-toggle:hover{background:0 0}.landing-preview-btn-static{pointer-events:none;display:inline-flex}.landing-map-demo{height:13.5rem;min-height:13.5rem;box-shadow:var(--shadow-soft)}.landing-map-demo--tall{height:15rem;min-height:15rem}.landing-map-demo-layer{position:absolute;inset:0}.landing-map-demo-pin{place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.landing-map-demo-legend{z-index:2;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 88%, transparent);color:var(--ink-muted);padding:.45rem .55rem;position:absolute;bottom:.65rem;left:.75rem;right:.75rem}.landing-features{gap:3rem;margin-bottom:4rem;display:grid}.landing-features-intro{max-width:36rem}.landing-features-intro h2{margin:0 0 .65rem;font-size:clamp(1.8rem,3vw,2.35rem)}.landing-features-intro p{margin:0;line-height:1.55}.landing-feature{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:2rem 2.5rem;padding:1.5rem 0;display:grid}.landing-feature--reverse .landing-feature-copy{order:2}.landing-feature--reverse .landing-preview{order:1}.landing-feature-copy h3{margin:0 0 .65rem;font-size:1.45rem}.landing-feature-copy p{max-width:30rem;color:var(--ink-muted);margin:0;line-height:1.55}.landing-cta{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent) 5%, var(--surface-raised));justify-items:start;gap:.75rem;padding:2rem 1.35rem;display:grid}.landing-cta h2{margin:0;font-size:clamp(1.6rem,3vw,2rem)}.landing-cta p{max-width:32rem;color:var(--ink-muted);margin:0 0 .35rem;line-height:1.55}.landing-footer{letter-spacing:.04em;margin-top:2rem;font-size:.72rem}@media (width<=860px){.landing-hero,.landing-preview--hero,.landing-feature,.landing-feature--reverse{grid-template-columns:1fr}.landing-feature--reverse .landing-feature-copy{order:unset}.landing-header-actions .btn-ghost{display:none}}.btn-ghost{appearance:none;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-raised) 80%, transparent);color:var(--ink);font-family:var(--font-display);font-weight:var(--text-ui-weight);font-size:var(--text-ui-size);cursor:pointer;justify-content:center;align-items:center;padding:.8rem 1.2rem;text-decoration:none;transition:transform .14s,border-color .14s;display:inline-flex}.btn-ghost:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));color:var(--ink);transform:translateY(-1px)}.btn-primary-link{align-items:center;text-decoration:none;display:inline-flex}.workspace-page{width:100%}.workspace-back{color:var(--ink-muted);margin-bottom:1.25rem;text-decoration:none;display:inline-block}.trip-header{border-bottom:1px solid var(--line);margin-bottom:2.25rem;padding-bottom:1.5rem}.trip-header-presenter{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;display:flex}.trip-header-copy{flex:16rem;min-width:0}.trip-header-dates{margin:.35rem 0 0}.trip-header-edit{flex-shrink:0;align-self:center}.trip-edit-form{gap:1rem;display:grid}.trip-edit-field{color:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;gap:.35rem;font-size:.72rem;display:grid}.trip-edit-field input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font-size:1.35rem;font-weight:var(--text-title-weight);letter-spacing:-.02em;text-transform:none;background:0 0;padding:.35rem 0}.trip-edit-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.trip-edit-delete{margin-left:auto}.trip-header-form,.trail-card,.trail-create-fields{flex-direction:column;gap:.85rem;display:flex}.trip-name{width:100%;color:var(--ink);background:0 0;border:0;margin:0;padding:0;font-size:clamp(2.35rem,6vw,4.75rem);line-height:1.05}.trip-date-row,.trail-form-row,.trail-address-row,.trail-actions,.trail-card-heading{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.trip-date-row label{color:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;gap:.2rem;font-size:.72rem;display:grid}.workspace{grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.workspace-trail{width:100%;min-width:0}.workspace-side{gap:1rem;display:grid;position:sticky;top:1rem}.section-heading{margin-bottom:1.35rem}.section-heading p,.notes-panel>.mono{color:var(--accent-deep);letter-spacing:.1em;margin:0 0 .3rem;font-size:.72rem;font-weight:600}.section-heading h2{margin:0;font-size:clamp(1.7rem,3vw,2.35rem)}.trail{gap:.75rem;padding-left:2.5rem;display:grid;position:relative}.trail:before{content:"";background:var(--line);border-radius:99px;width:3px;position:absolute;top:.65rem;bottom:1.25rem;left:.68rem}.trail-empty{color:var(--ink-muted);margin:0 0 .25rem}.trail-item,.trail-create{position:relative}.trail-dot{z-index:1;border:3px solid var(--surface);border-radius:var(--radius-sm);background:var(--ink-muted);width:1.3rem;height:1.3rem;box-shadow:0 0 0 2px var(--line);position:absolute;top:1.15rem;left:-2.45rem;transform:rotate(7deg)}.trail-item--active .trail-dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, var(--line))}.trail-card{border-radius:var(--radius-blob);background:var(--surface-raised);box-shadow:var(--shadow-soft);border:1px solid #d4cfc4e6;padding:1.15rem}.trail-card-heading{justify-content:space-between}.trail-title{min-width:0;color:var(--ink);background:0 0;border:0;flex:15rem;padding:.15rem 0;font-size:1.3rem}.trail-card input:not([type=checkbox]),.trail-card select,.trail-card textarea,.trail-create input,.trail-create select,.trip-header input[type=date]{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 82%, var(--surface));min-width:0;color:var(--ink);padding:.65rem .75rem}.trail-card .trail-title{font-size:1.15rem;font-weight:var(--text-title-weight);background:0 0;border:0;padding:.15rem 0}.trail-card textarea{resize:vertical;width:100%}.trail-address-row input{flex:12rem}.trail-actions{justify-content:space-between}.btn-danger{appearance:none;border:1px solid color-mix(in srgb, var(--accent-deep) 32%, var(--line));border-radius:var(--radius-md);color:var(--accent-deep);font-family:var(--font-display);font-weight:var(--text-title-weight);cursor:pointer;background:0 0;padding:.68rem .95rem}button:disabled{cursor:not-allowed;opacity:.5}.trail-segment{border-left:2px dashed var(--line);color:var(--ink-muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin:.35rem 0 .35rem -.4rem;padding:.35rem 0 .35rem .75rem;font-size:.72rem;display:flex}.trail-segment--empty{justify-content:flex-start}.travel-add,.trail-segment-remove{appearance:none;color:var(--accent-deep);cursor:pointer;text-transform:uppercase;background:0 0;border:0;padding:0}.trail-segment-remove{font:inherit}.travel-form{border:1px dashed color-mix(in srgb, var(--accent) 28%, var(--line));border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-raised) 68%, transparent);flex-wrap:wrap;align-items:end;gap:.6rem;margin:.4rem 0 .4rem -.4rem;padding:.75rem;display:flex}.travel-form label{color:var(--ink-muted);gap:.2rem;display:grid}.travel-form select,.travel-form input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);min-height:2.65rem;color:var(--ink);font:inherit;padding:.55rem .65rem}.travel-form input{width:6rem}.travel-form .btn-primary,.travel-form .btn-ghost{min-height:2.65rem;padding-block:.55rem}.trail-create{border:2px dashed color-mix(in srgb, var(--accent) 32%, var(--line));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-raised) 55%, transparent);margin-top:.35rem;padding:1.15rem}.trail-create .trail-dot{background:var(--surface-raised);box-shadow:0 0 0 2px var(--accent);top:1.25rem}.trail-create-fields>input{width:100%}.section-spine{gap:1.35rem;width:100%;min-width:0;display:grid}.section-spine-eyebrow{letter-spacing:.05em}.expansion-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.expansion-toolbar--days{margin-bottom:.35rem}.expansion-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.expansion-toolbar-btn{letter-spacing:.02em;padding:.2rem .55rem;font-size:.78rem}.expansion-toolbar-btn--add-section{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));background:color-mix(in srgb, var(--accent) 12%, var(--surface-raised));color:var(--accent-deep);font-weight:600}.expansion-toolbar-btn--add-section:hover{border-color:color-mix(in srgb, var(--accent) 58%, var(--line));background:color-mix(in srgb, var(--accent) 18%, var(--surface-raised));color:var(--accent-deep)}.section-card{border:1px solid color-mix(in srgb, var(--line) 88%, transparent);border-radius:var(--radius-md);background:var(--surface-raised);width:100%;min-width:0;box-shadow:var(--shadow-soft);gap:0;display:grid;overflow:hidden}.section-card--collapsed{box-shadow:0 4px 14px #1a2b240a}.section-card-header{border-bottom:1px solid color-mix(in srgb, var(--line) 85%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 5%, var(--surface-raised)) 0%, var(--surface-raised) 72%);align-items:stretch;gap:0;min-width:0;display:flex}.section-card--collapsed .section-card-header{border-bottom:0}.section-card-accent{background:linear-gradient(180deg, var(--accent) 0%, color-mix(in srgb, var(--accent-deep) 85%, var(--accent)) 100%);flex-shrink:0;width:.4rem}.section-card-toggle{appearance:none;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:.75rem;padding:.85rem .65rem .85rem .85rem;display:flex}.section-card-toggle:hover{background:color-mix(in srgb, var(--accent) 5%, transparent)}.section-index{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--ink) 7%, var(--surface-raised));width:2.15rem;height:2.15rem;color:var(--ink-muted);font-family:var(--font-display);font-size:.78rem;font-weight:var(--text-title-weight);letter-spacing:.02em;flex-shrink:0;place-items:center;display:grid}.section-card-heading{flex:auto;gap:.35rem;min-width:0;display:grid}.section-card-meta{flex-wrap:wrap;align-items:center;gap:.35rem .45rem;display:flex}.section-meta-chip{background:color-mix(in srgb, var(--ink) 6%, var(--surface-raised));color:var(--ink-muted);font-family:var(--font-display);font-size:.75rem;font-weight:var(--text-ui-weight);letter-spacing:0;text-transform:none;white-space:nowrap;border-radius:999px;padding:.18rem .52rem}.section-card-header .action-menu{align-self:center;margin-right:.55rem}.section-card-body{background:color-mix(in srgb, var(--surface) 28%, var(--surface-raised));gap:.9rem;width:100%;min-width:0;padding:.95rem 1rem 1.05rem;display:grid}.section-block{border-bottom:1px dashed color-mix(in srgb, var(--line) 80%, transparent);gap:.75rem;width:100%;min-width:0;padding-bottom:.35rem;display:grid}.section-block:last-of-type{border-bottom:0}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.section-toggle{appearance:none;width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;flex:auto;align-items:baseline;gap:.55rem .75rem;padding:0;display:flex}.section-toggle-mark{color:var(--ink-muted);font-family:var(--font-display);font-size:.85rem;font-weight:var(--text-ui-weight)}.section-title{letter-spacing:-.018em;font-size:1.22rem;line-height:1.18}.section-meta{text-transform:uppercase;font-size:.72rem}.section-header-actions{flex-wrap:wrap;gap:.4rem;display:inline-flex}.section-card-toggle .section-toggle-mark{flex-shrink:0;margin-left:auto;padding-right:.15rem;font-size:.95rem}.section-body{gap:.9rem;width:100%;min-width:0;padding:.35rem 0 .5rem;display:grid}.section-meta-form{border:1px solid color-mix(in srgb, var(--line) 85%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-raised) 70%, transparent);gap:.65rem;padding:.85rem 1rem;display:grid}.section-title-input{width:100%;color:var(--ink);background:0 0;border:0;padding:.2rem 0;font-size:1.2rem}.section-meta-form label{color:var(--ink-muted);gap:.25rem;font-size:.78rem;display:grid}.section-meta-form input[type=date],.section-create input{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 82%, var(--surface));min-width:0;color:var(--ink);font:inherit;padding:.65rem .75rem}.section-create{border:2px dashed color-mix(in srgb, var(--accent) 32%, var(--line));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-raised) 55%, transparent);gap:.65rem;width:100%;min-width:0;margin-top:.25rem;padding:1.1rem;display:grid}.section-create input{flex:12rem}.section-header-top .section-toggle{width:auto}.section-travel{width:100%;min-width:0;margin-left:0}.section-header--stack{grid-template-columns:minmax(0,1fr);place-items:stretch stretch;gap:.75rem;width:100%;min-width:0;display:grid}.section-header-top{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.action-menu{flex-shrink:0;position:relative}.action-menu-trigger{min-width:2rem;min-height:2rem;padding:0;font-size:1.1rem;line-height:1}.action-menu-trigger,.modal-close,.map-poi-sheet-close,.map-route-detail-close,.map-place-search-clear{aspect-ratio:1;justify-content:center;align-items:center;display:inline-flex}.action-menu-list{gap:.15rem;min-width:12.5rem;display:grid;overflow-x:hidden}.action-menu .field-popover{overflow:hidden auto}.action-menu-item{appearance:none;border-radius:var(--radius-sm);width:100%;max-width:100%;color:var(--ink);font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-ui-weight);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:.55rem .7rem;display:block;overflow:hidden}.action-menu-item:hover,.action-menu-item:focus-visible{background:color-mix(in srgb, var(--accent) 10%, transparent);outline:none}.action-menu-item:disabled{opacity:.45;cursor:not-allowed}.action-menu-item--danger{color:var(--accent-deep)}.action-menu-item--submenu{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.action-menu-item-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.action-menu-item-chevron{color:var(--ink-muted);flex-shrink:0;font-size:1rem;line-height:1}.modal-root{z-index:90;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-backdrop{cursor:pointer;background:#1a2b246b;border:0;position:absolute;inset:0}.modal-panel{border:1px solid color-mix(in srgb, var(--line) 90%, transparent);border-radius:var(--radius-lg);background:var(--surface-raised);width:min(28rem,100%);max-height:min(90dvh,36rem);box-shadow:var(--shadow-soft);padding:1.1rem 1.15rem 1.15rem;position:relative;overflow:auto}.modal-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.modal-title{font-size:1.15rem;font-weight:var(--text-title-weight);letter-spacing:-.015em;margin:0}.modal-close{min-width:2rem;min-height:2rem;padding:0;font-size:1.35rem;line-height:1}.section-edit-form{gap:.85rem;display:grid}.section-edit-field{gap:.35rem;display:grid}.section-edit-field>span{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--ink-label)}.section-edit-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 82%, var(--surface));width:100%;color:var(--ink);font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-ui-weight);padding:.55rem .65rem}.section-edit-field input.display{font-size:1.05rem;font-weight:var(--text-title-weight);letter-spacing:-.015em;background:0 0;border:0;padding-inline:0}.section-edit-dates{gap:.75rem;display:grid}.section-edit-hint{font-family:var(--font-body);color:var(--ink-muted);margin:0;font-size:.875rem}.section-edit-lodging{border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);gap:.55rem;padding-top:.35rem;display:grid}.section-edit-lodging-label{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--ink-label);margin:0}.section-lodging-preview{border:1px solid color-mix(in srgb, var(--map-type-lodging) 35%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--map-type-lodging) 8%, var(--surface-raised));gap:.35rem;padding:.7rem .8rem;display:grid}.section-lodging-preview-title,.section-lodging-title{font-family:var(--font-display);font-weight:var(--text-title-weight);margin:0}.section-lodging-preview .muted,.section-lodging-address,.section-lodging-coords{margin:0}.section-lodging-panel{border:1px solid color-mix(in srgb, var(--map-type-lodging) 30%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--map-type-lodging) 7%, var(--surface-raised));gap:.3rem;margin:.65rem 1rem .85rem;padding:.75rem .85rem;display:grid}.section-lodging-eyebrow{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--map-type-lodging);margin:0;font-size:.72rem;font-weight:600}.section-lodging-link{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--map-type-lodging)}.maps-external-link,.instagram-external-link{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--accent-deep);text-underline-offset:.12em;white-space:nowrap;text-decoration:underline}.activity-detail-address,.activity-detail-links{justify-items:start;gap:.35rem;display:grid}.section-meta-chip--lodging{background:color-mix(in srgb, var(--map-type-lodging) 14%, var(--surface-raised));color:color-mix(in srgb, var(--map-type-lodging) 70%, var(--ink))}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.35rem;display:flex}.modal-panel--confirm{width:min(92vw,26rem)}.confirm-modal-body{gap:.85rem;display:grid}.confirm-modal-message{color:var(--ink-muted);font-family:var(--font-display);font-size:var(--text-ui-size);margin:0;line-height:1.45}.add-activity-fab{z-index:35;background:linear-gradient(145deg, var(--accent) 0%, color-mix(in srgb, var(--accent-deep) 88%, var(--accent)) 100%);width:3.35rem;height:3.35rem;color:var(--surface-raised);box-shadow:0 .35rem 1.1rem color-mix(in srgb, var(--accent-deep) 28%, transparent), 0 .15rem .35rem color-mix(in srgb, var(--ink) 12%, transparent);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0;font-size:1.85rem;line-height:1;transition:transform .12s,box-shadow .12s;display:grid;position:fixed;bottom:clamp(1rem,3vw,1.5rem);right:clamp(1rem,3vw,1.5rem)}.add-activity-fab:hover{box-shadow:0 .5rem 1.35rem color-mix(in srgb, var(--accent-deep) 34%, transparent), 0 .2rem .45rem color-mix(in srgb, var(--ink) 14%, transparent);transform:translateY(-1px)}.add-activity-fab:active{transform:translateY(0)}.activity-edit-placement{gap:.85rem;margin-bottom:.85rem;display:grid}.add-activity-field{gap:.35rem;display:grid}.add-activity-field>span{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--ink-label)}.add-activity-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 82%, var(--surface));width:100%;color:var(--ink);font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-ui-weight);padding:.55rem .65rem}.add-activity-form{gap:.85rem;display:grid}@media (width>=781px){.add-activity-fab{left:clamp(1rem,50vw - 9rem,42rem);right:auto}}.days-eyebrow{letter-spacing:.05em}.day-board,.ideas-pool{border:1px solid color-mix(in srgb, var(--line) 85%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);gap:.65rem;width:100%;min-width:0;padding:.85rem;display:grid}.day-board--over,.ideas-pool--over{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--surface-raised));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent)}.day-board-header{flex-wrap:nowrap;align-items:center;gap:.55rem;width:100%;min-width:0;display:flex}.day-toggle,.place-summary{appearance:none;width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;flex:auto;align-items:center;gap:.45rem .65rem;padding:0;display:flex}.day-toggle{flex:auto}.day-header-label{flex-wrap:wrap;flex:auto;align-items:center;gap:.45rem .6rem;min-width:0;display:flex}.day-header-date{letter-spacing:-.012em;font-size:1rem;line-height:1.2}.day-header-chip{background:color-mix(in srgb, var(--ink) 6%, var(--surface-raised));color:var(--ink-muted);font-family:var(--font-display);font-size:.75rem;font-weight:var(--text-ui-weight);letter-spacing:0;text-transform:none;white-space:nowrap;border-radius:999px;padding:.18rem .52rem}.day-header-places{font-family:var(--font-display);font-size:.8125rem;font-weight:var(--text-ui-weight);letter-spacing:0;white-space:nowrap}.day-header-places:before{content:"";background:color-mix(in srgb, var(--ink-muted) 55%, transparent);vertical-align:middle;border-radius:999px;width:.28rem;height:.28rem;margin-right:.55rem;display:inline-block;transform:translateY(-.05rem)}.ideas-pool-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;width:100%;min-width:0;display:flex}.ideas-pool-toggle{text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:.35rem;width:100%;min-width:0;padding:0;display:flex}.ideas-pool-heading{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:baseline;gap:.5rem;min-width:0;display:flex}.ideas-pool-eyebrow,.ideas-pool-header>p{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-label);margin:0;font-size:.75rem;font-weight:600}.ideas-pool-header .muted{font-family:var(--font-display);font-size:.8125rem;font-weight:var(--text-ui-weight)}.ideas-pool-add{margin-top:.15rem}.sortable-place{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;grid-template-columns:minmax(0,1fr);align-items:start;gap:0;width:100%;min-width:0;display:grid}.sortable-place:active{cursor:grabbing}.sortable-place--active .place-summary-title{color:var(--ink);font-weight:var(--text-title-weight)}.sortable-place--map-linked{border-radius:var(--radius-sm);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.sortable-place--map-linked .place-summary{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.sortable-place-body{gap:.55rem;width:100%;min-width:0;display:grid}.place-header{align-items:center;gap:.25rem;width:100%;min-width:0;display:flex}.place-header .place-summary{flex:auto;min-width:0}.place-header-menu{flex-shrink:0;align-self:center;margin-right:.1rem}.place-header-menu .action-menu-trigger{min-width:2rem;padding-inline:.4rem}.place-summary{border:1px solid color-mix(in srgb, var(--line) 88%, transparent);border-left:3px solid color-mix(in srgb, var(--place-type-color,var(--line)) 72%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--place-type-color,transparent) 7%, color-mix(in srgb, var(--surface-raised) 88%, transparent));width:100%;min-width:0;cursor:inherit;align-items:center;gap:.55rem;padding:.55rem .65rem;display:flex}.place-summary-leading{flex-shrink:0;align-self:center}.place-summary-content{flex:auto;gap:.38rem;min-width:0;display:grid}.place-summary-row{align-items:center;gap:.45rem;min-width:0;display:flex}.place-summary--photo-bg,.place-summary--photo-pending{isolation:isolate;min-height:4.35rem;padding-block:.72rem;position:relative;overflow:hidden}.place-summary--photo-bg{border-color:color-mix(in srgb, var(--ink) 18%, transparent);background-color:var(--ink);background-image:var(--place-summary-bg-image);background-position:50%;background-size:cover;transition:border-color .14s,box-shadow .14s,background-size .32s}.place-summary--photo-bg:before{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--ink) 72%, transparent) 0%, color-mix(in srgb, var(--ink) 58%, transparent) 30%, color-mix(in srgb, var(--ink) 32%, transparent) 62%, color-mix(in srgb, var(--ink) 16%, transparent) 100%);z-index:0;transition:opacity .12s;position:absolute;inset:0}.place-summary--photo-bg>*{z-index:1;position:relative}.place-summary--photo-bg .section-toggle-mark{color:#ffffffe0;text-shadow:0 1px 2px #00000059}.place-summary--photo-bg .place-summary-title{color:#fff;text-shadow:0 1px 3px #0000006b}.place-summary--photo-bg .place-summary-time{background:color-mix(in srgb, var(--surface-raised) 94%, transparent);color:var(--ink);box-shadow:0 1px 4px #00000038}.place-summary--photo-bg .activity-type-icon{box-shadow:0 0 0 1px #ffffff47,0 2px 8px #00000047}.place-summary--photo-bg:hover{background-color:var(--ink);background-image:var(--place-summary-bg-image);background-position:50%;background-size:106%;border-color:#ffffff85;box-shadow:0 3px 12px #00000029,inset 0 0 0 1px #ffffff24}.place-summary--photo-pending{border-color:color-mix(in srgb, var(--place-type-color,var(--line)) 28%, var(--line));background:linear-gradient(110deg, color-mix(in srgb, var(--place-type-color,var(--line)) 12%, var(--surface-raised)) 20%, color-mix(in srgb, var(--place-type-color,var(--line)) 22%, var(--surface-raised)) 40%, color-mix(in srgb, var(--place-type-color,var(--line)) 12%, var(--surface-raised)) 60%);background-size:200% 100%;animation:1.1s ease-in-out infinite activity-thumb-shimmer}.place-summary--sightseeing{--place-type-color:var(--map-type-sightseeing)}.place-summary--food{--place-type-color:var(--map-type-food)}.place-summary--cafe{--place-type-color:var(--map-type-cafe)}.place-summary--transport{--place-type-color:var(--map-type-transport)}.place-summary--lodging{--place-type-color:var(--map-type-lodging)}.place-summary--other{--place-type-color:var(--map-type-other)}.activity-type-icon{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--place-type-color,var(--accent)) 16%, var(--surface-raised));width:2.5rem;height:2.5rem;color:var(--place-type-color,var(--accent-deep));flex-shrink:0;place-items:center;transition:transform .12s;display:grid}.activity-type-icon svg{width:1.35rem;height:1.35rem}.activity-place-thumb{padding:0;overflow:hidden}.activity-place-thumb img{object-fit:cover;width:100%;height:100%;display:block}.activity-place-thumb--skeleton{background:linear-gradient(110deg, color-mix(in srgb, var(--place-type-color,var(--line)) 12%, var(--surface-raised)) 20%, color-mix(in srgb, var(--place-type-color,var(--line)) 22%, var(--surface-raised)) 40%, color-mix(in srgb, var(--place-type-color,var(--line)) 12%, var(--surface-raised)) 60%);background-size:200% 100%;animation:1.1s ease-in-out infinite activity-thumb-shimmer}@keyframes activity-thumb-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.activity-type-icon--sightseeing{--place-type-color:var(--map-type-sightseeing)}.activity-type-icon--food{--place-type-color:var(--map-type-food)}.activity-type-icon--cafe{--place-type-color:var(--map-type-cafe)}.activity-type-icon--transport{--place-type-color:var(--map-type-transport)}.activity-type-icon--lodging{--place-type-color:var(--map-type-lodging)}.activity-type-icon--other{--place-type-color:var(--map-type-other)}.sortable-place--active .activity-type-icon{box-shadow:0 0 0 1px color-mix(in srgb, var(--place-type-color,var(--accent)) 35%, transparent)}.place-summary:hover .activity-type-icon{transform:scale(1.03)}.place-summary:not(.place-summary--photo-bg):not(.place-summary--photo-pending):hover{border-color:color-mix(in srgb, var(--place-type-color,var(--accent)) 42%, var(--line));background:color-mix(in srgb, var(--place-type-color,transparent) 11%, var(--surface-raised))}.place-summary-main{flex:auto;min-width:0}.place-summary-title{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:.98rem;font-weight:var(--text-ui-weight);line-height:1.25;display:block;overflow:hidden}.place-summary-time{background:color-mix(in srgb, var(--ink) 6%, var(--surface-raised));color:var(--ink-muted);letter-spacing:.02em;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.16rem .42rem;font-size:.75rem}.sortable-place--expanded .place-header{border:1px solid color-mix(in srgb, var(--line) 82%, var(--accent));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 35%, var(--surface-raised));padding:.55rem .45rem .55rem .65rem}.sortable-place--expanded .place-header .place-summary{background:0 0;border:0;flex:auto;width:auto;padding:0}.place-detail{border:1px solid color-mix(in srgb, var(--line) 88%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 30%, var(--surface-raised));-webkit-user-select:text;user-select:text;gap:.65rem;padding:.65rem .75rem;display:grid}.activity-detail{gap:.65rem;margin:0;display:grid}.activity-detail-photo{border-radius:calc(var(--radius-sm) - 2px);background:color-mix(in srgb, var(--line) 35%, var(--surface-raised));margin:0;overflow:hidden}.activity-detail-photo img{object-fit:cover;width:100%;height:clamp(9rem,28vw,12.5rem);display:block}.activity-detail-photo figcaption{font-family:var(--font-display);margin:0;padding:.35rem .15rem 0;font-size:.75rem;line-height:1.3}.activity-detail-fields{gap:.55rem;margin:0;display:grid}.activity-detail-row{grid-template-columns:minmax(5rem,7rem) minmax(0,1fr);align-items:start;gap:.45rem .75rem;display:grid}.activity-detail-row dt{color:var(--ink-label);font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);letter-spacing:.01em;text-transform:none;margin:0}.activity-detail-row dd{min-width:0;font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-ui-weight);color:var(--ink);margin:0}.activity-detail-notes{white-space:pre-wrap;margin:0}.activity-form{gap:.75rem;display:grid}.activity-form-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.activity-form-title{min-width:0;color:var(--ink);font-size:1.05rem;font-weight:var(--text-title-weight);letter-spacing:-.015em;background:0 0;border:0;flex:12rem;padding:.15rem 0}.activity-form-row,.activity-form-address{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.activity-form-link-field{gap:.35rem;display:grid}.activity-form-link-field>span{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--ink-muted)}.activity-form-address input{flex:12rem;min-width:0}.activity-form input:not([type=checkbox]),.activity-form textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-ui-weight);padding:.55rem .65rem}.activity-form textarea{resize:vertical;min-height:4.5rem}.sortable-place--expanded .move-select{margin:0}.dnd-placeholder{border:2px dashed color-mix(in srgb, var(--accent) 55%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised));min-height:3.1rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 12%, transparent)}.dnd-empty-drop{border:2px dashed color-mix(in srgb, var(--line) 90%, transparent);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 40%, var(--surface-raised));min-height:3.25rem;color:var(--ink-label);font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);text-align:center;place-items:center;margin-top:.15rem;padding:.75rem;display:grid}.dnd-empty-drop--active{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 10%, var(--surface-raised));color:var(--ink)}.dnd-overlay{border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));min-width:min(18rem,70vw);box-shadow:0 10px 28px #1a2b2424, 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent);cursor:grabbing;align-items:center;gap:.55rem;padding:.55rem .75rem;display:flex}.dnd-overlay .place-type-icon{width:2rem;height:2rem}.dnd-overlay .place-type-icon svg{width:1.05rem;height:1.05rem}.dnd-overlay-title{font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-title-weight);line-height:1.25}.move-select{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:.45rem;margin:.35rem 0 .75rem;font-size:.72rem;display:flex}.map-filters{gap:.55rem;margin-bottom:.75rem;display:grid}.map-day-pool-toggle{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;display:inline-flex}.map-day-pool-toggle input{width:1rem;height:1rem;accent-color:var(--accent)}.map-mode-toggle{margin-bottom:0}.map-type-filters{flex-wrap:wrap;gap:.35rem;display:flex}.map-type-chip{appearance:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 82%, var(--surface));color:var(--ink-muted);font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);cursor:pointer;align-items:center;gap:.35rem;padding:.28rem .55rem;display:inline-flex}.map-type-chip--active{border-color:color-mix(in srgb, var(--map-chip-color,var(--accent)) 55%, var(--line));background:color-mix(in srgb, var(--map-chip-color,var(--accent)) 16%, var(--surface-raised));color:var(--ink)}.map-type-chip-swatch{background:var(--map-chip-color,var(--accent));border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem}.map-type-chip--sightseeing{--map-chip-color:var(--map-type-sightseeing)}.map-type-chip--food{--map-chip-color:var(--map-type-food)}.map-type-chip--cafe{--map-chip-color:var(--map-type-cafe)}.map-type-chip--transport{--map-chip-color:var(--map-type-transport)}.map-type-chip--lodging{--map-chip-color:var(--map-type-lodging)}.map-type-chip--other{--map-chip-color:var(--map-type-other)}.map-legend{color:var(--ink-muted);font-family:var(--font-display);font-size:var(--text-label-size);flex-wrap:wrap;align-items:center;gap:.65rem 1rem;display:flex}.map-legend-item{align-items:center;gap:.4rem;display:inline-flex}.map-legend-pin{border:2px solid var(--surface);background:var(--accent);border-radius:50% 50% 50% 0;width:.7rem;height:.7rem;transform:rotate(-45deg);box-shadow:0 1px 4px #1a2b2433}.map-legend-pin--pool{border-color:var(--accent);box-shadow:none;background:0 0}.map-legend-pin--section{background:var(--accent-deep);width:.78rem;height:.78rem}.map-legend-pin--lodging{background:var(--map-type-lodging);border-color:color-mix(in srgb, var(--map-type-lodging) 35%, #fff);width:.72rem;height:.72rem;box-shadow:0 0 0 2px color-mix(in srgb, var(--map-type-lodging) 40%, transparent), 0 1px 4px #1a2b2433;border-radius:.2rem;transform:none}.map-marker{place-items:center;display:grid;position:relative}.map-marker--static{pointer-events:auto}.map-inset .map-marker:hover,.map-inset .map-marker:focus-within{z-index:50;position:relative}.map-pin-tooltip{z-index:1;border:1px solid color-mix(in srgb, var(--line) 70%, transparent);border-radius:var(--radius-sm);background:var(--surface-raised);min-width:8.5rem;max-width:14rem;color:var(--ink);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;gap:.15rem;padding:.45rem .55rem;transition:opacity 60ms ease-out 40ms,transform 60ms ease-out 40ms;display:grid;position:absolute;bottom:calc(100% + .55rem);left:50%;transform:translate(-50%)translateY(.15rem)}.map-pin-tooltip-title{font-family:var(--font-display);font-size:.78rem;font-weight:var(--text-title-weight);line-height:1.25}.map-pin-tooltip-line{font-family:var(--font-display);font-size:.7rem;font-weight:var(--text-ui-weight);color:var(--ink-muted);word-break:break-word;line-height:1.3}.map-marker:hover .map-pin-tooltip,.map-marker:focus-within .map-pin-tooltip{opacity:1;transition-delay:0s;transform:translate(-50%)translateY(0)}.map-pin{appearance:none;border:2px solid var(--surface);background:var(--map-pin-color,var(--accent));cursor:pointer;border-radius:50% 50% 50% 0;width:.85rem;height:.85rem;padding:0;display:block;transform:rotate(-45deg);box-shadow:0 2px 8px #1a2b2447}.map-pin--sightseeing{--map-pin-color:var(--map-type-sightseeing)}.map-pin--food{--map-pin-color:var(--map-type-food)}.map-pin--cafe{--map-pin-color:var(--map-type-cafe)}.map-pin--transport{--map-pin-color:var(--map-type-transport)}.map-pin--lodging{--map-pin-color:var(--map-type-lodging)}.map-pin--other{--map-pin-color:var(--map-type-other)}.map-pin--section{--map-pin-color:var(--accent-deep);background:var(--map-pin-color);cursor:default;pointer-events:none;width:1rem;height:1rem}.map-pin--lodging-stay{--map-pin-color:var(--map-type-lodging);border:2px solid color-mix(in srgb, #fff 80%, var(--map-type-lodging));background:var(--map-type-lodging);width:1.1rem;height:1.1rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--map-type-lodging) 35%, transparent), 0 3px 10px #1a2b2459;cursor:default;pointer-events:none;border-radius:.25rem;transform:none}.map-pin--pool{border-color:var(--map-pin-color,var(--accent));box-shadow:none;background:0 0;width:.78rem;height:.78rem}.map-pin--linked{box-shadow:0 0 0 2px var(--surface-raised), 0 0 0 4px var(--ink), 0 4px 12px #1a2b2459;transform:rotate(-45deg)scale(1.35)}.map-pin--pool.map-pin--linked{background:color-mix(in srgb, var(--map-pin-color,var(--accent)) 28%, transparent)}.map-marker--search-result{z-index:13}.map-search-pin{place-items:center;width:2.1rem;height:2.1rem;display:grid;position:relative}.map-search-pin-ring{border:2px dashed color-mix(in srgb, var(--ink) 72%, transparent);background:color-mix(in srgb, var(--surface-raised) 88%, transparent);border-radius:50%;animation:1.8s ease-in-out infinite map-search-pin-pulse;position:absolute;inset:0;box-shadow:0 2px 12px #1a2b243d}.map-search-pin-dot{z-index:1;border:2px solid var(--surface-raised);background:var(--ink);border-radius:50%;width:.48rem;height:.48rem;position:relative;box-shadow:0 1px 5px #1a2b2452}@keyframes map-search-pin-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.86;transform:scale(1.07)}}.map-marker--activity .map-pin{transition:transform .12s,width .12s,height .12s,box-shadow .12s}.map-marker--activity-linked .map-pin{box-shadow:0 0 0 2px var(--surface-raised), 0 0 0 4px var(--ink), 0 4px 14px #1a2b2461;transform:rotate(-45deg)scale(1.28)}.map-inset--zoom-mid .map-marker--activity:not(.map-marker--activity-pool) .map-pin:not(.map-pin--poi){width:1rem;height:1rem;box-shadow:0 0 0 2px #ffffffeb,0 2px 10px #1a2b2452}.map-inset--zoom-high .map-marker--activity:not(.map-marker--activity-pool) .map-pin:not(.map-pin--poi){width:1.12rem;height:1.12rem;box-shadow:0 0 0 3px #fffffff5, 0 0 0 5px color-mix(in srgb, var(--map-pin-color,var(--accent)) 45%, transparent), 0 4px 14px #1a2b245c}.map-inset--zoom-mid .map-marker--activity-pool .map-pin,.map-inset--zoom-high .map-marker--activity-pool .map-pin{border-width:2.5px;width:.92rem;height:.92rem;box-shadow:0 0 0 2px #ffffffeb,0 2px 8px #1a2b2447}.map-inset--zoom-high .map-marker--activity-linked .map-pin{transform:rotate(-45deg)scale(1.38)}.map-place-search{z-index:45;pointer-events:auto;width:min(28rem,100% - 1.5rem);color:var(--ink);position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.map-place-search-bar{border:1px solid color-mix(in srgb, var(--line) 80%, var(--ink) 8%);background:var(--surface-raised);border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .85rem;display:flex;box-shadow:0 2px 14px #1a2b243d}.map-place-search-icon{color:var(--ink-label);font-family:var(--font-display);flex-shrink:0;font-size:1rem;line-height:1}.map-place-search-input{min-width:0;color:var(--ink);font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-ui-weight);background:0 0;border:0;flex:auto;line-height:1.35}.map-place-search-input:focus{outline:none}.map-place-search-input::placeholder{color:var(--ink-label);opacity:1}.map-place-search-clear{min-width:1.75rem;min-height:1.75rem;color:var(--ink-muted);flex-shrink:0;padding:0;line-height:1}.map-place-search-status{font-family:var(--font-display);font-size:var(--text-label-size);color:var(--ink-muted);margin:.35rem .85rem 0}.map-place-search-status--error{color:#9b2c2c}.map-place-search-list{border:1px solid color-mix(in srgb, var(--line) 80%, var(--ink) 8%);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);max-height:min(16rem,42vh);margin:.45rem 0 0;padding:.35rem;list-style:none;overflow:auto;box-shadow:0 8px 24px #1a2b2438}.map-place-search-option{border-radius:calc(var(--radius-md) - 2px);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;gap:.12rem;padding:.55rem .65rem;display:grid}.map-place-search-option:hover,.map-place-search-option:focus-visible{background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised))}.map-place-search-option strong{font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-title-weight);color:var(--ink);line-height:1.25}.map-place-search-option .muted{font-size:var(--text-label-size);color:var(--ink-muted);line-height:1.35}.map-inset--expanded .map-reset-zoom-btn{top:4.1rem}.map-pin-stack{place-items:center;display:grid;position:relative}.map-pin-sequence{z-index:2;background:var(--ink);min-width:1.05rem;height:1.05rem;color:var(--surface-raised);text-align:center;pointer-events:none;border-radius:999px;padding:0 .18rem;font-size:.62rem;font-weight:600;line-height:1.05rem;position:absolute;top:-.5rem;right:-.55rem;box-shadow:0 1px 5px #1a2b2447}.map-route-drawer{z-index:41;pointer-events:auto;position:absolute;inset:auto 0 0}.map-route-drawer--docked{z-index:auto;border-top:1px solid color-mix(in srgb, var(--line) 75%, transparent);background:var(--surface-raised);height:100%;min-height:0;max-height:min(38vh,20rem);color:var(--ink);flex-direction:column;display:flex;position:static;overflow:hidden}@media (width>=768px){.map-route-drawer--docked{border-top:0;border-left:1px solid color-mix(in srgb, var(--line) 75%, transparent);border-radius:0 var(--radius-lg) var(--radius-lg) 0;max-height:none;transition:flex-basis .18s,width .18s}.map-route-drawer--docked:not(.map-route-drawer--open){flex:0 0 2.75rem;width:2.75rem;min-width:2.75rem}.map-route-drawer--docked.map-route-drawer--open .map-route-drawer-toggle{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent)}.map-route-drawer--docked .map-route-drawer-chevron{display:block}.map-route-drawer--docked .map-route-drawer-toggle{width:100%;box-shadow:none;cursor:pointer;border:0;border-radius:0;margin:0}.map-route-drawer--docked:not(.map-route-drawer--open) .map-route-drawer-toggle{grid-template-columns:1fr;align-content:center;justify-items:center;height:100%;min-height:100%;padding:.75rem 0}.map-route-drawer--docked:not(.map-route-drawer--open) .map-route-drawer-toggle-label,.map-route-drawer--docked:not(.map-route-drawer--open) .map-route-drawer-toggle-meta{display:none}.map-route-drawer--docked:not(.map-route-drawer--open) .map-route-drawer-chevron{transform:rotate(-90deg)}.map-route-drawer--docked .map-route-drawer-body{max-height:none;box-shadow:none;border:0;border-radius:0;flex:auto;margin:0}}.map-route-drawer-toggle{border:1px solid color-mix(in srgb, var(--line) 75%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface-raised) 96%, transparent);width:calc(100% - 1.5rem);color:var(--ink);cursor:pointer;text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem .65rem;margin:0 .75rem .75rem;padding:.62rem .85rem;display:grid;box-shadow:0 4px 18px #1a2b242e}.map-route-drawer--open .map-route-drawer-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.map-route-drawer-toggle-label{font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-title-weight)}.map-route-drawer-toggle-meta{font-family:var(--font-display);font-size:var(--text-label-size)}.map-route-drawer-chevron{color:var(--ink-muted);font-size:.85rem}.map-route-drawer-body{border:1px solid color-mix(in srgb, var(--line) 75%, transparent);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--surface-raised);max-height:min(34vh,18rem);color:var(--ink);border-top:0;margin:0 .75rem .75rem;padding:.55rem .65rem .65rem;overflow:auto;box-shadow:0 8px 22px #1a2b2429}.map-route-group+.map-route-group,.map-route-group+.map-route-pool,.map-route-pool+.map-route-group{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);margin-top:.55rem;padding-top:.55rem}.map-route-group-title{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-label);margin:0 0 .35rem;font-size:.72rem;font-weight:600}.map-route-group-list{border-radius:calc(var(--radius-sm) - 2px);gap:.28rem;min-height:1.6rem;display:grid}.map-route-group-list--over{background:color-mix(in srgb, var(--accent) 6%, transparent)}.map-route-empty{font-size:var(--text-label-size);margin:0;padding:.35rem .45rem}.map-route-stop,.map-route-pool-item{border-radius:calc(var(--radius-sm) - 2px);background:color-mix(in srgb, var(--surface) 35%, var(--surface-raised));cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:center;gap:.45rem;min-height:2.45rem;padding:.35rem .45rem;display:flex}.map-route-stop:active,.map-route-pool-item:active{cursor:grabbing}.map-route-stop--linked,.map-route-pool-item--linked{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.map-route-stop--placeholder,.map-route-pool-item--placeholder{border:1px dashed color-mix(in srgb, var(--line) 80%, transparent);background:color-mix(in srgb, var(--accent) 5%, transparent);min-height:2.45rem}.map-route-stop-index{width:1.15rem;color:var(--ink-muted);text-align:center;flex-shrink:0;font-size:.72rem}.map-route-stop-icon.activity-type-icon{flex-shrink:0;width:1.55rem;height:1.55rem}.map-route-stop-icon.activity-type-icon svg{width:.9rem;height:.9rem}.map-route-stop-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);font-size:.84rem;font-weight:var(--text-ui-weight);flex:auto;overflow:hidden}.map-route-pool-item{gap:.35rem}.map-route-pool-add{cursor:pointer;flex-shrink:0;padding:.25rem .45rem;font-size:.72rem}.map-route-detail{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 5%, var(--surface-raised));margin-bottom:.55rem;padding:.65rem .7rem}.map-route-detail-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.map-route-detail-copy{min-width:0}.map-route-detail-title{font-family:var(--font-display);font-size:.9rem;font-weight:var(--text-title-weight);line-height:1.25;display:block}.map-route-detail-meta{margin:.15rem 0 0;font-size:.74rem}.map-route-detail-close{min-width:1.75rem;min-height:1.75rem;padding:0;line-height:1}.map-route-detail-photo{border-radius:calc(var(--radius-sm) - 2px);aspect-ratio:16/7;background:color-mix(in srgb, var(--line) 35%, transparent);margin:.55rem 0 0;overflow:hidden}.map-route-detail-photo img{object-fit:cover;width:100%;height:100%;display:block}.map-route-detail-body{gap:.35rem;margin-top:.5rem;display:grid}.map-route-detail-address,.map-route-detail-notes{font-family:var(--font-display);color:var(--ink-muted);margin:0;font-size:.78rem;line-height:1.35}.map-route-detail-notes{color:var(--ink)}.map-route-pool-section+.map-route-pool-section{margin-top:.35rem}.map-route-pool-section-title{margin:0 0 .25rem;font-size:.72rem}.map-route-stop--overlay{border-radius:var(--radius-sm);background:var(--surface-raised);box-shadow:var(--shadow-soft);color:var(--ink);align-items:center;gap:.45rem;padding:.45rem .65rem;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-inset{border-radius:var(--radius-lg);background:var(--map-inset);height:20rem;min-height:20rem;color:var(--surface);position:relative;overflow:hidden;box-shadow:0 18px 40px #1a2b242e}.map-inset--expanded{height:100%;min-height:0}.map-poi-sheet{z-index:40;pointer-events:auto;padding:.75rem;position:absolute;inset:auto 0 0}.map-poi-sheet--search{z-index:42}.map-poi-sheet-body{border:1px solid color-mix(in srgb, var(--line) 70%, transparent);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);box-shadow:var(--shadow-soft);padding:.85rem .95rem}.map-poi-sheet-layout{grid-template-columns:5.25rem minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.map-poi-sheet-layout--no-photo{grid-template-columns:minmax(0,1fr)}.map-poi-sheet-main{gap:.55rem;min-width:0;display:grid}.map-poi-sheet-photo-wrap{aspect-ratio:1;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--line) 35%, transparent);width:5.25rem;margin:0;overflow:hidden}.map-poi-sheet-photo{object-fit:cover;width:100%;height:100%;display:block}.map-reset-zoom-btn{z-index:35;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 92%, transparent);font-family:var(--font-display);font-size:var(--text-label-size);box-shadow:var(--shadow-soft);padding:.35rem .6rem;position:absolute;top:.65rem;right:.65rem}.map-poi-sheet-close{z-index:1;min-width:1.75rem;min-height:1.75rem;padding:0;line-height:1;position:absolute;top:.35rem;right:.35rem}.map-poi-sheet-copy{gap:.25rem;padding-right:1.35rem;display:grid}.map-poi-sheet-title{font-family:var(--font-display);font-size:.9rem;font-weight:var(--text-title-weight);line-height:1.25}.map-poi-sheet-rating,.map-poi-sheet-address,.map-poi-sheet-loading,.map-poi-sheet-error{font-family:var(--font-display);color:var(--ink-muted);margin:0;font-size:.75rem;line-height:1.35}.map-poi-sheet-error{color:#9b2c2c}.map-poi-sheet-actions{gap:.55rem;display:grid}.map-poi-add-btn{width:100%;padding:.55rem .75rem;font-size:.78rem}.map-planning-toolbar{gap:.55rem;margin-bottom:.75rem;padding-inline:.75rem;display:grid}.map-planning-toolbar--modal{margin-bottom:0;padding-inline:0}.map-expand-btn{font-family:var(--font-display);font-size:var(--text-label-size);justify-self:start}.map-planning-modal{grid-template-rows:auto minmax(0,1fr);gap:.75rem;height:100%;min-height:0;display:grid}.map-planning-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0;min-height:0;display:grid;overflow:hidden}.map-planning-modal--day-route .map-planning-stage{grid-template-rows:minmax(0,1fr) auto}.map-planning-stage .map-inset--expanded{border-radius:var(--radius-lg);height:100%;min-height:0}.modal-panel--map-planning{flex-direction:column;width:min(96vw,72rem);height:92dvh;max-height:92dvh;display:flex;overflow:hidden}.modal-panel--map-planning-day{width:min(96vw,88rem)}@media (width>=768px){.map-planning-modal--day-route .map-planning-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) min(21rem,32vw)}.map-planning-modal--day-route .map-planning-stage:has(.map-route-drawer--docked:not(.map-route-drawer--open)){grid-template-columns:minmax(0,1fr) 2.75rem}.map-planning-stage .map-inset--expanded{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.map-planning-modal--day-route .map-planning-stage:has(.map-route-drawer--docked:not(.map-route-drawer--open)) .map-inset--expanded{border-radius:var(--radius-lg)}}.modal-panel--map-planning .modal-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.map-marker--poi{z-index:3}.map-marker--poi-selected{z-index:60}.map-pin--poi{opacity:.92;border-width:1.5px;width:.72rem;height:.72rem;box-shadow:0 1px 6px #1a2b243d}.map-marker--poi-selected .map-pin--poi{transform:rotate(-45deg)scale(1.2)}.map-inset--empty{background:radial-gradient(circle at 72% 28%, #e85d043d 0 .35rem, transparent .4rem), linear-gradient(135deg, transparent 48%, #f3f0e814 49% 51%, transparent 52%), var(--map-inset);flex-direction:column;justify-content:flex-end;padding:1.4rem;display:flex}.map-inset .mono{color:#f7a66f;letter-spacing:.1em;font-size:.72rem}.map-inset p{margin:.35rem 0 0}.map-load-status{flex-direction:column;justify-content:flex-end;height:100%;min-height:20rem;padding:1.4rem;display:flex}.workspace-settings{border:1px solid var(--line);border-radius:var(--radius-blob);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);margin-bottom:.85rem;padding:.85rem 1rem}.workspace-settings>summary{cursor:pointer;font-size:1.05rem;list-style:none}.workspace-settings>summary::-webkit-details-marker{display:none}.workspace-settings-toggle{cursor:pointer;align-items:flex-start;gap:.65rem;margin-top:.75rem;display:flex}.workspace-settings-toggle input{margin-top:.2rem}.workspace-settings-toggle-title{font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-ui-weight);color:var(--ink);display:block}.workspace-settings-toggle-hint{margin-top:.2rem;font-size:.8125rem;line-height:1.35;display:block}.map-details>summary{display:none}.people-panel{border:1px solid var(--line);border-radius:var(--radius-blob);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);padding:1.1rem 1.2rem}.people-panel>.mono{margin:0}.people-panel-title{margin:.35rem 0 .85rem;font-size:1.15rem}.people-panel-error{color:var(--danger,#b42318);margin:0 0 .75rem;font-size:.9rem}.people-invite-lede{margin:0 0 .75rem;font-size:.9rem}.people-invite-actions{flex-wrap:wrap;gap:.5rem;display:flex}.people-invite-expiry{margin:0 0 .65rem;font-size:.78rem}.people-members{border-top:1px dashed var(--line);margin-top:1rem;padding-top:1rem}.people-members-heading{margin:0 0 .65rem;font-size:1rem}.people-member-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.people-member-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.people-member-identity{align-items:center;gap:.65rem;min-width:0;display:flex}.people-member-avatar{object-fit:cover;border-radius:999px;flex-shrink:0;width:2rem;height:2rem}.people-member-avatar-fallback{background:color-mix(in srgb, var(--accent) 18%, var(--surface-raised));color:var(--ink);justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:inline-flex}.people-member-name{font-weight:600;display:block}.people-member-role{font-size:.75rem;display:block}.people-member-remove,.people-leave{margin-top:.75rem}.invite-page .invite-card{border:1px solid var(--line);border-radius:var(--radius-blob);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);max-width:28rem;margin:2rem auto 0;padding:1.5rem}.invite-lede,.invite-error{margin:0 0 1rem}.invite-error{color:var(--danger,#b42318)}.invite-error-actions{flex-wrap:wrap;gap:.65rem;display:flex}.notes-panel{border:1px solid var(--line);border-radius:var(--radius-blob);background:color-mix(in srgb, var(--surface-raised) 72%, transparent);padding:1.1rem 1.2rem}.notes-panel ul{margin:.7rem 0 0;padding-left:1.2rem}.notes-panel li+li{margin-top:.55rem}.note-create{border-top:1px dashed var(--line);gap:.65rem;margin-top:1rem;padding-top:1rem;display:grid}.note-create textarea{resize:vertical;border:1px dashed color-mix(in srgb, var(--accent) 32%, var(--line));border-radius:var(--radius-md);background:var(--surface-raised);width:100%;color:var(--ink);font:inherit;padding:.75rem}.note-create .btn-primary{justify-self:start}@media (width<=780px){:root{--space:.625rem}.shell-main{padding:1.15rem 0 3rem}.shell-bar{gap:.65rem;margin-top:.65rem;padding:.55rem .65rem}.home-entry{padding:2.75rem 0 2rem}.auth-chrome{gap:1.15rem;padding:.75rem}.rule-list a,.rule-list .rule-row{gap:.65rem;padding:.85rem .75rem}.create-form{gap:.6rem;padding:.85rem .75rem}.workspace{grid-template-columns:1fr;gap:1.15rem}.workspace-side{gap:.75rem;position:static}.workspace-page{padding-bottom:calc(4rem + env(safe-area-inset-bottom,0px))}.workspace-back{margin-bottom:.85rem}.trip-header{margin-bottom:1.15rem;padding-bottom:.85rem}.trip-header-presenter{align-items:stretch;gap:.75rem}.trip-header-edit{justify-content:center;align-self:stretch}.section-spine{gap:1rem}.trail{gap:.55rem;padding-left:1.35rem}.trail-dot{width:1rem;height:1rem;left:-1.25rem}.trail-card,.trail-create{padding:.75rem .65rem}.section-card-toggle{gap:.55rem;padding:.7rem .5rem .7rem .65rem}.section-card-header .action-menu{margin-right:.35rem}.section-card-body{gap:.75rem;padding:.75rem .65rem .85rem}.section-lodging-panel{margin-inline:.65rem;padding:.65rem .7rem}.day-board,.ideas-pool{gap:.55rem;padding:.65rem}.sortable-place{gap:0}.dnd-placeholder{min-height:2.85rem}.place-summary{gap:.35rem .5rem;padding:.5rem .55rem}.place-summary--photo-bg,.place-summary--photo-pending{min-height:4rem;padding-block:.65rem}.place-detail{padding:.55rem .6rem}.activity-type-icon{width:2.25rem;height:2.25rem}.workspace-settings,.people-panel,.notes-panel{padding:.85rem .75rem}.note-create{gap:.55rem}.modal-root{align-items:end;padding:0}.modal-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:min(92dvh,100%);padding:.85rem .75rem max(.85rem, env(safe-area-inset-bottom,0px))}.modal-header{gap:.55rem;margin-bottom:.75rem}.modal-body{overscroll-behavior:contain;max-height:calc(92dvh - 4rem);overflow:auto}.modal-actions{z-index:1;border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);background:var(--surface-raised);flex-wrap:wrap;gap:.55rem;margin-top:.5rem;padding-top:.75rem;position:sticky;bottom:0}.modal-actions .btn-primary,.modal-actions .btn-ghost{flex:8rem;justify-content:center;min-height:2.75rem}.add-activity-fab{right:max(.65rem, env(safe-area-inset-right,0px));bottom:max(.65rem, env(safe-area-inset-bottom,0px))}.add-activity-form{gap:.75rem}.add-activity-field input,.place-search-field input,.field-trigger{min-height:2.75rem;font-size:1rem}.place-search-preview-media img{max-height:7.5rem}.map-details{border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface-raised) 64%, transparent)}.map-details .map-planning-toolbar{padding-top:.65rem;padding-inline:.85rem}.map-details>summary{cursor:pointer;padding:.75rem .65rem;display:list-item}.map-details[open]>summary{border-bottom:1px solid var(--line)}.map-inset{border-radius:0 0 var(--radius-lg) var(--radius-lg);min-height:14rem;box-shadow:none}.map-planning-toolbar--modal{margin-bottom:.65rem}.modal-panel--map-planning{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:92dvh}.trip-date-row{align-items:stretch}.invite-page .invite-card{margin-top:1.25rem;padding:1rem .85rem}}.shell-bar-actions{align-items:center;gap:.75rem;display:flex}.shell-sign-out{min-height:2.25rem;padding-inline:.75rem}.home-top{width:min(var(--shell-max), calc(100% - 2 * var(--space)));justify-content:flex-end;align-items:center;gap:.75rem;margin-inline:auto;display:flex}.locale-switcher{align-items:center;display:inline-flex}.locale-select{min-width:7.5rem}.locale-select .field-trigger{padding:.35rem .65rem;font-size:.8rem}.field-control{flex:8rem;min-width:0;position:relative}.field-trigger{appearance:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 88%, var(--surface));width:100%;min-height:2.55rem;color:var(--ink);font-weight:var(--text-ui-weight);letter-spacing:-.01em;cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:.55rem;padding:.55rem .75rem;display:inline-flex}.field-trigger--numeric{font-family:var(--font-mono);letter-spacing:.01em;font-size:.82rem;font-weight:500}.field-trigger:disabled{opacity:.55;cursor:not-allowed}.field-trigger-placeholder{color:var(--ink-muted);font-weight:500}.field-trigger-mark{color:var(--ink-label);font-family:var(--font-display);font-size:.75rem;font-weight:var(--text-ui-weight)}.field-popover{z-index:100;border:1px solid color-mix(in srgb, var(--line) 90%, transparent);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-soft);font-family:var(--font-display);padding:.4rem;overflow:auto}.select-list{gap:.15rem;display:grid}.select-option{appearance:none;border-radius:var(--radius-sm);width:100%;color:var(--ink);font-weight:var(--text-ui-weight);letter-spacing:-.01em;text-align:left;cursor:pointer;background:0 0;border:0;padding:.55rem .7rem;display:block}.select-option:hover,.select-option:focus-visible{background:color-mix(in srgb, var(--accent) 10%, transparent);outline:none}.select-option--selected{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--ink);font-weight:var(--text-title-weight)}.select-option:disabled{opacity:.45;cursor:not-allowed}.time-picker{gap:.75rem;padding:.35rem .25rem .15rem;display:grid}.time-picker-preview{text-align:center;letter-spacing:.02em;color:var(--ink);font-size:1.2rem;font-weight:var(--text-title-weight);margin:0}.time-picker-wheels{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.35rem;min-height:11rem;display:grid;position:relative}.time-picker-wheels:before,.time-picker-wheels:after{content:"";z-index:1;pointer-events:none;height:2.4rem;position:absolute;left:0;right:0}.time-picker-wheels:before{background:linear-gradient(to bottom, var(--surface-raised), color-mix(in srgb, var(--surface-raised) 20%, transparent));top:0}.time-picker-wheels:after{background:linear-gradient(to top, var(--surface-raised), color-mix(in srgb, var(--surface-raised) 20%, transparent));bottom:0}.time-picker-colon{color:var(--ink-muted);place-items:center;font-size:1.25rem;display:grid}.time-wheel{scroll-snap-type:y mandatory;scrollbar-width:none;max-height:11rem;padding:3.5rem 0;position:relative;overflow:auto}.time-wheel::-webkit-scrollbar{display:none}.time-wheel-option{appearance:none;border-radius:var(--radius-sm);width:100%;min-height:2.35rem;color:var(--ink-muted);font-family:var(--font-mono);scroll-snap-align:center;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:1.05rem;display:grid}.time-wheel-option:hover,.time-wheel-option:focus-visible{color:var(--ink);outline:none}.time-wheel-option--selected{color:var(--ink);background:color-mix(in srgb, var(--accent) 10%, transparent);font-weight:var(--text-title-weight)}.time-picker-footer{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.date-cal{gap:.65rem;padding:.35rem;display:grid}.date-cal-nav{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.date-cal-nav .btn-ghost{min-width:2rem;min-height:2rem;padding:.35rem}.date-cal-weekdays,.date-cal-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;display:grid}.date-cal-weekdays{color:var(--ink-muted);text-transform:uppercase;font-size:.68rem}.date-cal-empty{min-height:2.1rem}.date-cal-day{appearance:none;min-height:2.1rem;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0}.date-cal-day:hover,.date-cal-day:focus-visible{background:color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.date-cal-day--today{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, var(--line))}.date-cal-day--selected{background:var(--accent);color:#fffdf7;font-weight:700}.date-cal-day--disabled{color:color-mix(in srgb, var(--ink-muted) 55%, transparent);cursor:not-allowed;opacity:.45}.date-cal-day--disabled:hover,.date-cal-day--disabled:focus-visible{background:0 0}.date-cal-day--selected.date-cal-day--disabled{opacity:1}.date-cal-footer{justify-content:space-between;gap:.5rem;display:flex}.move-select{gap:.35rem;display:grid}.map-day-select{flex:10rem;min-width:10rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-top,.auth-chrome-top{width:min(var(--shell-max), 100%);justify-content:flex-end;margin-bottom:1rem;display:flex}.not-found .mono{color:var(--ink-muted);letter-spacing:.06em;margin:0 0 .5rem}.auth-chrome-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.place-search{gap:.45rem;display:grid}.place-search-anchor{min-width:0;position:relative}.place-search-field{gap:.35rem;display:grid}.place-search-field>span{font-family:var(--font-display);font-size:var(--text-label-size);font-weight:var(--text-ui-weight);color:var(--ink-label)}.place-search-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-raised) 82%, var(--surface));width:100%;color:var(--ink);font-family:var(--font-display);font-size:var(--text-ui-size);font-weight:var(--text-ui-weight);padding:.55rem .65rem}.place-search-field input:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.place-search-status{font-size:var(--text-label-size);margin:0}.place-search-status--error{color:var(--danger,#b42318)}.place-search-list{max-height:inherit;margin:0;padding:0;list-style:none;overflow:auto}.place-search-option{appearance:none;text-align:left;border-radius:var(--radius-sm);width:100%;color:inherit;cursor:pointer;background:0 0;border:0;gap:.15rem;padding:.65rem .75rem;display:grid}.place-search-option:hover,.place-search-option:focus-visible{background:color-mix(in srgb, var(--accent) 10%, transparent);outline:none}.place-search-option strong{font-weight:600}.place-search-preview{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised));gap:.65rem;padding:.7rem .8rem;display:grid}.place-search-preview-media{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--line) 40%, var(--surface));margin:0;overflow:hidden}.place-search-preview-media img{object-fit:cover;width:100%;max-height:9rem;display:block}.place-search-preview-attribution{margin:0;padding:.35rem .5rem .45rem;font-size:.68rem;line-height:1.35}.place-search-preview-copy{gap:.25rem;min-width:0;display:grid}.place-search-preview-title{margin:0;font-weight:600}.place-search-preview p{margin:0}.place-search-preview-address{word-break:break-word;margin-top:0!important}.place-search-clear{min-height:2.25rem;font-size:var(--text-label-size);justify-self:start;padding-inline:.65rem}.place-search-preview--unresolved{border-color:color-mix(in srgb, var(--ink-muted) 40%, var(--line));background:var(--surface-raised)}.logo-concepts-page{max-width:72rem;padding:2rem var(--space) 3.5rem;gap:2rem;margin:0 auto;display:grid}.logo-concepts-back{color:var(--ink-muted);margin-bottom:.75rem;text-decoration:none;display:inline-block}.logo-concepts-header .page-title{margin-bottom:.35rem}.logo-concepts-grid{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1.25rem;display:grid}.logo-concept-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.logo-concept-card-head{padding:1rem 1.15rem .35rem}.logo-concept-card-head h2{margin:0;font-size:1.05rem}.logo-concept-card-head p{margin:.35rem 0 0;font-size:.82rem}.logo-concept-previews{grid-template-columns:1fr 1fr;display:grid}.logo-concept-preview{align-content:center;place-items:center;gap:.65rem;min-height:9.5rem;padding:1.75rem 1rem;display:grid}.logo-concept-preview--light{background:var(--surface-raised)}.logo-concept-preview--dark{background:var(--map-inset)}.logo-concept-preview-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:.68rem}.logo-concept-preview--dark .logo-concept-preview-label{color:#9aaba3}.logo-concept-lockup{align-items:center;gap:.65rem;display:flex}.logo-concept-lockup span{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.15rem;font-weight:600}.logo-concepts-favicons{border-top:1px solid var(--line);padding-top:1.5rem}.logo-concepts-favicons h2{margin:0 0 1rem;font-size:1.1rem}.logo-concepts-favicon-row{flex-wrap:wrap;gap:1rem;display:flex}.logo-concepts-favicon{color:var(--ink-muted);justify-items:center;gap:.45rem;font-size:.72rem;display:grid}.logo-concepts-favicon-box{border:1px solid var(--line);background:var(--surface-raised);border-radius:.65rem;place-items:center;width:3rem;height:3rem;display:grid}.logo-concepts-favicon-box--dark{background:var(--map-inset);border-color:#3a4d45}@media (prefers-reduced-motion:reduce){.rule-list li,.btn-primary,.btn-ghost{transition:none;animation:none}.rule-list li:hover,.btn-ghost:hover,.btn-primary:active{transform:none}}
