:root{--action: #7a3fc4;--action-dark: #4f258f;--action-soft: #f1e9ff;--action-hover: #e6d8fb;--action-border: #d9c4f0;--memory-accent: #9b6bd3;--memory-accent-dark: #4f258f;--memory-accent-soft: #f6efff;--memory-accent-border: #dfcaf5;--sun: #e7a83a;--coral: #e87965;--danger: #9f261c;--danger-soft: #fff7f6;--danger-border: #ffd3cf;--ink: #121118;--muted: #625c6d;--line: #e7dfeb;--surface: #ffffff;--surface-raised: #ffffff;--surface-soft: #fcfaf7;--app-bg: #fbfaf7;--field-bg: #fffdf8;--field-border: #d9d0e2;--panel-border: #e8e1dc;--muted-strong: #4a4256;--shadow: 0 18px 60px rgb(22 17 30 / 10%);--card-shadow: 0 10px 28px rgb(22 17 30 / 6%);--selected-ring: rgb(122 63 196 / 12%);--route-grid: rgb(122 63 196 / 10%);--route-bg: #f8f3ff;--route-feature-bg: rgb(255 255 255 / 66%);--route-label-bg: rgb(255 255 255 / 90%);--empty-border: #cdbddf;--planned-bg: #eee4ff;--tentative-ink: #5b4200;--tentative-bg: #fff2d8;--previous-bg: #f1edf7;--previous-ink: #4d415b;--current-bg: #e8f8ef;--current-ink: #175b35;--future-bg: #eaf1ff;--future-ink: #244c86;--mobile-card-border: #e6dced;--sidebar-start: #6f43b5;--sidebar-mid: #56308f;--sidebar-end: #3f1f68;color:var(--ink);background:var(--app-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--action: #b58cff;--action-dark: #e3d4ff;--action-soft: #261b3b;--action-hover: #33234f;--action-border: #5c4387;--memory-accent: #c7a3ff;--memory-accent-dark: #f0e8ff;--memory-accent-soft: #2c2140;--memory-accent-border: #5d4780;--sun: #f0b95b;--coral: #ff947f;--danger: #ff9b8f;--danger-soft: #3d1d1f;--danger-border: #7f3934;--ink: #f5f1ff;--muted: #c9c0d8;--line: #3a3047;--surface: #191620;--surface-raised: #211d2a;--surface-soft: #14111a;--app-bg: #100f15;--field-bg: #15121c;--field-border: #4a4058;--panel-border: #332b3f;--muted-strong: #ded6ea;--shadow: 0 20px 60px rgb(0 0 0 / 38%);--card-shadow: 0 12px 28px rgb(0 0 0 / 24%);--selected-ring: rgb(181 140 255 / 22%);--route-grid: rgb(181 140 255 / 14%);--route-bg: #181321;--route-feature-bg: rgb(42 32 57 / 72%);--route-label-bg: rgb(28 23 37 / 92%);--empty-border: #5a496d;--planned-bg: #2a2040;--tentative-ink: #ffe0a3;--tentative-bg: #3a2a12;--previous-bg: #2e2638;--previous-ink: #dfd4ef;--current-bg: #173324;--current-ink: #a8e7bf;--future-bg: #17253c;--future-ink: #b7d1ff;--mobile-card-border: #3a3047;--sidebar-start: #4f2a86;--sidebar-mid: #302043;--sidebar-end: #17111f}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--app-bg)}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden;color:var(--ink);background:var(--app-bg);-webkit-tap-highlight-color:transparent}button{border:0;font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.54}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--action);outline-offset:3px}input,select,textarea{width:100%;border:1px solid var(--field-border);border-radius:6px;color:var(--ink);font:inherit;background:var(--field-bg)}input,select{min-height:44px;padding:0 12px}textarea{min-height:96px;padding:12px;resize:vertical}.app-shell{display:grid;min-height:100vh;min-height:100dvh;grid-template-columns:280px minmax(0,1fr);color:var(--ink);background:var(--app-bg)}.sidebar{display:flex;flex-direction:column;gap:32px;padding:calc(32px + env(safe-area-inset-top)) 24px calc(32px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));color:#fbfaf7;background:linear-gradient(180deg,var(--sidebar-start),var(--sidebar-mid) 52%,var(--sidebar-end)),var(--sidebar-mid)}.sidebar button:focus-visible{outline-color:#fff}.eyebrow{margin:0 0 8px;color:inherit;font-size:.76rem;font-weight:800;letter-spacing:0;opacity:.78;text-transform:uppercase}.sidebar .eyebrow{opacity:1}h1,h2,h3,h4,p{margin:0;overflow-wrap:anywhere}h1{max-width:14ch;font-size:2.35rem;line-height:1}h2{font-size:clamp(1.9rem,4vw,3.3rem);line-height:1}h3{font-size:1.05rem}.trip-summary{display:grid;gap:8px;padding:16px;border:1px solid rgb(255 255 255 / 20%);border-radius:8px;background:#ffffff1f}.trip-summary .phase-chip{width:fit-content}.trip-summary span,.trip-summary strong{display:block}.nav-list{display:grid;gap:8px}.nav-list button{min-height:44px;width:100%;min-width:0;padding:12px 14px;border-radius:6px;color:#fbfaf7;text-align:left;background:transparent}.nav-list .active,.nav-list button:hover{background:#ffffff29}.mobile-settings-action{display:none}.theme-control{display:grid;gap:10px;margin-top:auto;padding:14px;border:1px solid rgb(255 255 255 / 18%);border-radius:8px;background:#ffffff1a}.theme-control span{color:#fff;font-size:.82rem;font-weight:900}.theme-control button{min-height:44px;padding:0 12px;border:1px solid rgb(255 255 255 / 24%);border-radius:6px;color:#fff;font-weight:800;background:#ffffff1f}.theme-control button:hover{background:#ffffff2e}.workspace{min-width:0;padding:calc(32px + env(safe-area-inset-top)) calc(32px + env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) 32px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.primary-action{min-height:44px;padding:0 16px;border-radius:6px;color:#fff;font-weight:800;background:var(--action);box-shadow:0 10px 24px #7a3fc43d}.primary-action:hover{background:var(--action-dark)}.secondary-action{min-height:44px;padding:0 16px;border:1px solid var(--action-border);border-radius:6px;color:var(--action-dark);font-weight:800;background:var(--action-soft)}.secondary-action:hover{background:var(--action-hover)}.overview{display:grid;grid-template-columns:minmax(280px,1.5fr) repeat(3,minmax(120px,1fr));gap:16px;margin-bottom:20px}.map-panel,.metric,.panel,.privacy-strip{min-width:0;border:1px solid var(--panel-border);border-radius:8px;background:var(--surface-raised);box-shadow:var(--shadow)}.map-panel{position:relative;min-height:168px;overflow:hidden;background:linear-gradient(120deg,rgb(255 255 255 / 22%),transparent 36%),linear-gradient(90deg,var(--route-grid) 1px,transparent 1px),linear-gradient(0deg,var(--route-grid) 1px,transparent 1px),var(--route-bg);background-size:auto,38px 38px,38px 38px}.route-line{position:absolute;top:24px;right:24px;bottom:20px;left:24px;width:calc(100% - 48px);height:calc(100% - 44px);filter:drop-shadow(0 12px 18px rgb(62 34 104 / 20%))}.route-line path{fill:none;stroke:var(--action);stroke-linecap:round;stroke-linejoin:round;stroke-width:8}.map-block{position:absolute;border:1px solid rgb(122 63 196 / 14%);border-radius:6px;background:var(--route-feature-bg)}.map-block-a{top:20px;left:22px;width:28%;height:40px}.map-block-b{right:26px;bottom:22px;width:34%;height:48px}.map-block-c{top:72px;left:38%;width:20%;height:36px}.route-badge{position:absolute;top:12px;right:14px;z-index:2;border:1px solid rgb(122 63 196 / 18%);border-radius:999px;padding:5px 9px;color:var(--action-dark);font-size:.68rem;font-weight:900;letter-spacing:0;line-height:1;background:var(--route-label-bg)}.map-stop{position:absolute;z-index:3;display:grid;max-width:120px;gap:4px;transform:translate(-50%,-50%)}.map-stop-1{left:19%;top:73%}.map-stop-2{left:52%;top:53%}.map-stop-3{left:84%;top:40%}.pin{width:17px;height:17px;border:4px solid #ffffff;border-radius:999px;background:var(--action);box-shadow:0 6px 18px #16111e33}.map-label{overflow:hidden;max-width:120px;border:1px solid rgb(122 63 196 / 14%);border-radius:6px;padding:4px 6px;color:var(--ink);font-size:.68rem;font-weight:800;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;background:var(--route-label-bg);box-shadow:0 10px 22px #16111e1f}.metric{display:grid;align-content:center;gap:8px;min-height:168px;padding:22px}.metric span{color:var(--action);font-size:2.4rem;font-weight:900;line-height:1}.metric p,.place,.itinerary-item p,.member p,.privacy-strip p,.sync-status{color:var(--muted)}.content-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:20px;align-items:start}.panel{padding:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading.compact{margin-bottom:14px}.itinerary-heading{margin-bottom:12px}.panel-stat{flex:0 0 auto;padding:6px 10px;border-radius:999px;color:var(--action-dark);font-size:.82rem;font-weight:900;background:var(--action-soft)}.panel-badges,.trip-phase-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.trip-phase-summary span,.phase-chip{flex:0 0 auto;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:900;line-height:1}.trip-phase-summary span{color:var(--muted-strong);background:var(--field-bg);border:1px solid var(--panel-border)}.phase-chip.previous{color:var(--previous-ink);background:var(--previous-bg)}.phase-chip.current{color:var(--current-ink);background:var(--current-bg)}.phase-chip.future{color:var(--future-ink);background:var(--future-bg)}.trip-phase-callout{display:grid;gap:6px;margin-bottom:18px;padding:14px;border:1px solid var(--panel-border);border-radius:8px;background:var(--field-bg)}.trip-phase-callout p{color:var(--muted)}.travel-style-callout{border-color:var(--action-border);background:var(--action-soft)}.travel-style-panel{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid var(--action-border);border-radius:8px;background:var(--field-bg)}.travel-style-panel.settings{margin-bottom:0;background:var(--surface-raised)}.travel-style-panel .panel-heading{margin-bottom:0}.travel-style-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.travel-style-option{display:grid;min-width:0;min-height:176px;align-content:start;gap:8px;padding:14px;border:1px solid var(--panel-border);border-radius:8px;color:var(--ink);text-align:left;background:var(--surface)}.travel-style-option:hover{border-color:var(--action-border);background:var(--action-soft)}.travel-style-option.selected{border-color:var(--action);box-shadow:0 0 0 3px var(--selected-ring)}.travel-style-option span{width:fit-content;min-height:28px;padding:6px 9px;border-radius:999px;color:var(--action-dark);font-size:.74rem;font-weight:900;line-height:1;background:var(--action-soft)}.travel-style-option small,.travel-style-option em{color:var(--muted);font-size:.86rem;font-style:normal;line-height:1.35}.voyager-map-panel{display:grid;gap:14px;margin-bottom:20px;padding:16px;border:1px solid var(--memory-accent-border);border-radius:8px;background:var(--memory-accent-soft)}.world-scratch-map{position:relative;min-height:190px;overflow:hidden;border:1px solid var(--panel-border);border-radius:8px;background:linear-gradient(90deg,rgb(255 255 255 / 8%) 1px,transparent 1px),linear-gradient(0deg,rgb(255 255 255 / 8%) 1px,transparent 1px),var(--surface-soft);background-size:32px 32px}.continent{position:absolute;display:block;border:1px solid var(--panel-border);border-radius:48% 52% 45% 55%;background:#9a96a3;opacity:.72}.continent.visited{border-color:var(--action);background:linear-gradient(135deg,var(--action),var(--sun));opacity:.95}.north-america{top:34px;left:34px;width:28%;height:34%;transform:rotate(-12deg)}.south-america{top:98px;left:142px;width:16%;height:38%;transform:rotate(18deg)}.europe{top:44px;left:45%;width:16%;height:22%}.africa{top:84px;left:48%;width:18%;height:38%;transform:rotate(7deg)}.asia{top:42px;right:44px;width:30%;height:42%;transform:rotate(4deg)}.australia{right:52px;bottom:28px;width:15%;height:18%;transform:rotate(-8deg)}.visited-place-list{display:flex;flex-wrap:wrap;gap:8px}.visited-place-list span{min-height:30px;padding:7px 10px;border-radius:999px;color:var(--action-dark);font-size:.78rem;font-weight:900;background:var(--surface)}.voyager-map-panel p{color:var(--muted)}.segmented-control{display:flex;flex-wrap:wrap;gap:8px}.itinerary-filters{margin-bottom:18px}.itinerary-view-toggle{margin-bottom:14px}.day-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:8px;margin-bottom:14px}.day-tab-card{display:grid;gap:6px;min-width:0}.day-tab-card>button{display:grid;min-height:72px;min-width:0;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);text-align:left;background:var(--surface)}.day-tab-card>button:hover{border-color:var(--action-border);background:var(--action-soft)}.day-tab-card>button.selected{border-color:var(--action);background:var(--action-soft);box-shadow:0 0 0 3px var(--selected-ring)}.day-tab-card>button strong,.day-tab-card>button span,.day-tab-card>button small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-tab-card>button strong{font-size:.92rem}.day-tab-card>button span,.day-tab-card>button small{color:var(--muted);font-size:.78rem;font-weight:800}.day-tab-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.day-tab-actions button{min-height:44px;min-width:0;padding:0 8px;border:1px solid var(--line);border-radius:8px;color:var(--muted-strong);font-size:.78rem;font-weight:900;background:var(--surface)}.day-tab-actions button:not(:disabled):hover{color:var(--action-dark);border-color:var(--action-border);background:var(--action-soft)}.day-tab-actions .danger-action{color:var(--danger)}.segmented-control button{min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-weight:800;background:var(--surface)}.segmented-control button:hover{color:var(--action-dark);border-color:var(--action-border);background:var(--action-soft)}.segmented-control .selected{color:#fff;font-weight:800;border-color:var(--action);background:var(--action)}.segmented-control .selected:hover{color:#fff;background:var(--action-dark)}.sync-status{margin-top:6px;font-size:.88rem}.save-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px}.save-tools .sync-status{margin-top:0}.reset-action{min-height:44px;padding:0 10px;border:0;border-radius:999px;color:var(--danger);font-size:.84rem;font-weight:800;background:transparent}.reset-action:not(:disabled):hover{background:var(--danger-soft)}.day-form,.place-form{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid var(--action-border);border-radius:8px;background:var(--action-soft)}.item-edit-form{display:grid;grid-column:1 / -1;gap:14px}.note-form{display:grid;gap:12px;margin-top:14px;padding:12px;border:1px solid var(--action-border);border-radius:8px;background:var(--action-soft)}.day-form label,.day-form label span,.place-form label,.place-form label span,.item-edit-form label,.item-edit-form label span,.note-form label,.note-form label span{display:grid;gap:8px}.day-form label span,.place-form label span,.item-edit-form label span,.note-form label span{color:var(--muted-strong);font-size:.82rem;font-weight:900}.form-row{display:grid;grid-template-columns:minmax(140px,.65fr) minmax(160px,1fr);gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.timeline,.agenda-view{display:grid;gap:12px}.agenda-intro{display:grid;gap:4px}.agenda-intro h4{font-size:1rem}.agenda-intro p,.agenda-empty{color:var(--muted);font-size:.92rem}.agenda-day{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--card-shadow)}.agenda-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.agenda-day-heading div{display:grid;gap:3px;min-width:0}.agenda-day-heading strong,.agenda-day-heading span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-day-heading span{color:var(--muted);font-size:.84rem;font-weight:800}.agenda-day-heading .secondary-action{flex:0 0 auto}.agenda-stop-list{display:grid;gap:10px}.agenda-stop{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;padding-top:10px;border-top:1px solid var(--line)}.agenda-stop time{color:var(--action);font-weight:900}.agenda-stop div{min-width:0}.agenda-stop strong{display:block;margin-bottom:4px;color:var(--ink)}.agenda-stop p{color:var(--muted);font-size:.92rem}.itinerary-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--card-shadow)}.item-body{min-width:0}.itinerary-item time{color:var(--action);font-weight:900;letter-spacing:0}.item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px}.item-body h4{margin-bottom:7px;color:var(--ink);font-size:1.04rem;line-height:1.2}.status{flex:0 0 auto;padding:4px 8px;border-radius:999px;font-size:.76rem;font-weight:900}.status.visited{color:var(--memory-accent-dark);background:var(--memory-accent-soft)}.status.planned{color:var(--action-dark);background:var(--planned-bg)}.status.tentative{color:var(--tentative-ink);background:var(--tentative-bg)}.memory-count{color:var(--muted);font-size:.9rem;font-weight:800;line-height:1.2}.item-footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.item-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;width:100%}.quick-status{display:flex;align-items:center;gap:8px}.quick-status span{color:var(--muted-strong);font-size:.78rem;font-weight:900}.quick-status select{min-height:44px;width:auto;min-width:132px;padding:0 30px 0 10px;border-color:var(--action-border);font-size:.88rem;font-weight:800;background-color:var(--field-bg)}.item-actions button{min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:var(--action-dark);font-size:.88rem;font-weight:800;background:var(--surface)}.item-actions button:hover{border-color:var(--action-border);background:var(--action-soft)}.item-actions .danger-action{border-color:transparent;color:var(--danger);background:transparent}.item-actions .danger-action:hover{background:var(--danger-soft)}.empty-state{display:grid;gap:8px;padding:22px;border:1px dashed var(--empty-border);border-radius:8px;color:var(--muted-strong);background:var(--field-bg)}.empty-state p{color:var(--muted)}.side-stack{display:grid;gap:20px}.trip-card-grid{display:grid;gap:14px}.trip-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.trip-card.selected{border-color:var(--action);box-shadow:0 0 0 3px var(--selected-ring)}.trip-card h4{margin-bottom:6px;font-size:1.1rem}.trip-card p:not(.place){color:var(--muted)}.trip-card-footer{display:grid;min-width:180px;gap:8px;color:var(--muted-strong);font-size:.88rem;font-weight:900}.trip-card-footer button{width:100%;margin-top:4px}.auth-status{flex:0 0 auto;padding:4px 8px;border-radius:999px;color:var(--memory-accent-dark);font-size:.76rem;font-weight:900;background:var(--memory-accent-soft)}.auth-body{display:grid;gap:12px}.auth-body label,.auth-body label span{display:grid;gap:8px}.auth-body label span{color:var(--muted-strong);font-size:.82rem;font-weight:900}.auth-body p,.auth-message{color:var(--muted)}.auth-body .primary-action,.auth-body .secondary-action{width:100%}.provider-action{color:var(--action-dark);background:var(--action-soft)}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--panel-border)}.auth-message{margin-top:12px;font-size:.88rem;font-weight:800}.auth-error{margin-top:12px;color:var(--danger);font-size:.88rem;font-weight:800}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-thumb{min-height:104px;border-radius:8px;background:radial-gradient(circle at 72% 28%,rgb(255 255 255 / 90%) 0 12%,transparent 13%),linear-gradient(140deg,var(--action),#d9c6ff 48%,var(--sun))}.photo-two{background:radial-gradient(circle at 24% 30%,rgb(255 255 255 / 88%) 0 10%,transparent 11%),linear-gradient(140deg,var(--action-dark),#f1eafb 55%,var(--memory-accent))}.photo-three{background:radial-gradient(circle at 64% 34%,rgb(255 255 255 / 90%) 0 11%,transparent 12%),linear-gradient(140deg,#2f2b3a,var(--action) 48%,#d9c6ff)}.photo-four{background:radial-gradient(circle at 38% 24%,rgb(255 255 255 / 90%) 0 12%,transparent 13%),linear-gradient(140deg,var(--coral),#f0e7ff 48%,var(--action-dark))}.memory-workspace,.family-workspace,.overview-workspace{align-items:start}.readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.readiness-grid article{display:grid;gap:8px;min-width:0;padding:16px;border:1px solid var(--action-border);border-radius:8px;background:var(--action-soft)}.readiness-grid span{color:var(--action);font-size:2rem;font-weight:900;line-height:1}.readiness-grid p,.overview-timeline p{color:var(--muted)}.readiness-checklist{display:grid;gap:10px}.readiness-checklist article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start;min-width:0;padding:12px;border:1px solid var(--panel-border);border-radius:8px;background:var(--field-bg)}.readiness-checklist article>span{display:inline-grid;min-height:28px;place-items:center;padding:0 8px;border-radius:999px;color:var(--muted-strong);font-size:.72rem;font-weight:900;background:var(--surface)}.readiness-checklist article.ready>span{color:var(--memory-accent-dark);background:var(--memory-accent-soft)}.readiness-checklist article.needs-attention>span{color:var(--tentative-ink);background:var(--tentative-bg)}.readiness-checklist p{color:var(--muted)}.share-snapshot{display:grid;gap:12px}.share-snapshot>div{padding:12px;border:1px solid var(--panel-border);border-radius:8px;background:var(--field-bg)}.share-snapshot ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;list-style:none}.share-snapshot li{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:.86rem;font-weight:900;background:var(--surface)}.share-snapshot p{color:var(--muted)}.overview-timeline{display:grid;gap:12px}.overview-timeline article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--panel-border);border-radius:8px;background:var(--field-bg)}.overview-timeline time{color:var(--action);font-weight:900}.memory-moment-grid,.family-roster,.capture-list{display:grid;gap:12px}.memory-moment,.family-card{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.memory-moment.selected{border-color:var(--action);box-shadow:0 0 0 3px var(--selected-ring)}.memory-preview{min-height:116px;border-radius:8px;background:radial-gradient(circle at 68% 24%,rgb(255 255 255 / 88%) 0 11%,transparent 12%),linear-gradient(140deg,var(--memory-accent),#f2cc8f 48%,var(--action))}.memory-preview-2{background:radial-gradient(circle at 30% 28%,rgb(255 255 255 / 88%) 0 10%,transparent 11%),linear-gradient(140deg,#6a4c93,#f7d08a 50%,#8b5fd3)}.memory-preview-3{background:radial-gradient(circle at 72% 34%,rgb(255 255 255 / 88%) 0 12%,transparent 13%),linear-gradient(140deg,#4a267a,#e9c46a 52%,#e76f51)}.moment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px;color:var(--muted);font-size:.82rem;font-weight:900}.memory-moment h4,.family-card h4{margin-bottom:6px}.memory-moment p,.family-card p,.capture-list p{color:var(--muted)}.memory-card-actions{display:flex;justify-content:flex-end;margin-top:12px}.memory-card-actions button{min-height:36px;padding:0 10px;border:1px solid var(--action-border);border-radius:6px;color:var(--action-dark);font-size:.88rem;font-weight:800;background:var(--action-soft)}.memory-card-actions button:hover{background:var(--action-hover)}.memory-detail,.caption-form,.caption-form label,.caption-form label span{display:grid;gap:12px}.caption-form label span{color:var(--muted-strong);font-size:.82rem;font-weight:900}.family-card{grid-template-columns:48px minmax(0,1fr)}.family-card>span{display:grid;width:48px;height:48px;place-items:center;border-radius:999px;color:#fff;font-weight:900;background:var(--action)}.coordination-fields{display:grid;gap:10px;margin-top:14px}.coordination-fields label,.coordination-fields label span{display:grid;gap:6px}.coordination-fields label span{color:var(--muted-strong);font-size:.78rem;font-weight:900;text-transform:uppercase}.coordination-fields input,.coordination-fields textarea{background:var(--field-bg)}.coordination-fields textarea{min-height:72px}.capture-list>div{padding:12px;border:1px solid var(--panel-border);border-radius:8px;background:var(--field-bg)}.capture-list strong{display:block;margin-bottom:4px}.settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.settings-row .secondary-action{width:auto}.settings-select{display:grid;min-width:180px;gap:6px}.settings-select span{color:var(--muted-strong);font-size:.78rem;font-weight:900;text-transform:uppercase}.member-list{display:grid;gap:12px}.member{display:flex;align-items:center;gap:12px}.member span{display:grid;width:40px;height:40px;place-items:center;border-radius:999px;color:#fff;font-weight:900;background:var(--action)}.privacy-strip{padding:18px;border-color:var(--memory-accent-border);background:var(--memory-accent-soft)}.privacy-strip strong{display:block;margin-bottom:6px}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) 24px calc(24px + env(safe-area-inset-left))}h1{max-width:none}.overview,.content-grid,.readiness-grid{grid-template-columns:1fr}.metric{min-height:116px}}@media(max-width:640px){.sidebar{position:relative;gap:14px;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 14px calc(16px + env(safe-area-inset-left))}.sidebar>div:first-child{padding-right:76px}.sidebar .eyebrow{margin-bottom:5px;font-size:.68rem}.sidebar h1{max-width:none;font-size:1.58rem;line-height:1.05}.trip-summary{display:none}.nav-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.nav-list .section-settings{display:none}.nav-list button{min-height:44px;padding:0 4px;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1.05;text-align:center}.mobile-settings-action{position:absolute;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));display:grid;width:44px;min-height:44px;place-items:center;margin:0;padding:0;border:1px solid rgb(255 255 255 / 24%);border-radius:999px;color:#fff;font-size:1.1rem;font-weight:900;background:#ffffff1f}.mobile-settings-action.active,.mobile-settings-action:hover{background:#ffffff2e}.theme-control{display:none}.workspace{max-width:100vw;padding:14px calc(16px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));overflow-x:hidden}.topbar{display:grid;gap:12px;margin-bottom:16px}.topbar .eyebrow{margin-bottom:4px;font-size:.68rem}.topbar h2{font-size:1.55rem;line-height:1.08}.panel-heading{align-items:stretch;flex-direction:column}.panel-badges,.trip-phase-summary{justify-content:flex-start}.travel-style-options{grid-template-columns:1fr}.travel-style-option{min-height:0}.world-scratch-map{min-height:160px}.primary-action,.form-actions button{width:100%}.overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.map-panel{grid-column:1 / -1;min-height:118px}.route-line{top:20px;right:18px;bottom:18px;left:18px;width:calc(100% - 36px);height:calc(100% - 38px)}.route-line path{stroke-width:7}.map-block-a{top:16px;left:14px;height:30px}.map-block-b{right:18px;bottom:16px;height:36px}.map-block-c{top:58px;height:28px}.route-badge{top:8px;right:10px;padding:4px 7px;font-size:.62rem}.pin{width:15px;height:15px;border-width:3px}.map-label{max-width:94px;padding:3px 5px;font-size:.62rem}.metric{min-height:84px;gap:4px;padding:12px 10px}.metric span{font-size:1.75rem}.metric p{font-size:.82rem;line-height:1.25}.panel{min-width:0;padding:16px}.itinerary-panel{border-color:var(--panel-border);box-shadow:var(--shadow)}.itinerary-heading{gap:10px;margin-bottom:12px}.itinerary-heading h3{font-size:1.12rem;line-height:1.25}.save-tools{justify-content:space-between;gap:8px;width:100%}.sync-status{font-size:.86rem}.reset-action{min-height:44px;width:auto;padding:0 8px;color:var(--danger)}.add-day-action{width:100%}.day-tabs{display:flex;gap:8px;margin:0 -2px 14px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x proximity}.day-tab-card{flex:0 0 min(43vw,156px);scroll-snap-align:start}.day-tab-card>button{min-height:70px}.day-tab-actions{grid-template-columns:1fr;gap:4px}.day-tab-actions button{min-height:44px}.itinerary-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 -2px 16px}.itinerary-view-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 -2px 14px}.segmented-control button{min-height:44px;min-width:0;padding:0 8px;font-size:.84rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.itinerary-item{grid-template-columns:1fr;gap:12px;padding:15px;border-color:var(--mobile-card-border);box-shadow:var(--card-shadow)}.itinerary-item time{display:inline-grid;width:fit-content;min-height:30px;align-items:center;padding:0 10px;border-radius:999px;background:var(--action-soft);font-size:.95rem}.agenda-day{padding:13px;border-color:var(--mobile-card-border)}.agenda-day-heading{align-items:stretch;flex-direction:column}.agenda-day-heading .secondary-action{width:100%}.agenda-stop{grid-template-columns:1fr;gap:6px}.agenda-stop time{display:inline-grid;width:fit-content;min-height:30px;align-items:center;padding:0 10px;border-radius:999px;background:var(--action-soft);font-size:.95rem}.item-meta{gap:6px;margin-bottom:9px}.item-body h4{font-size:1rem}.item-body>p:not(.place){line-height:1.35}.item-footer{margin-top:12px}.item-actions,.item-controls,.quick-status,.quick-status select{width:100%}.item-controls{justify-content:stretch}.quick-status{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center}.item-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.item-actions button{min-height:44px;padding:0 8px;font-size:.84rem}.memory-moment,.trip-card{grid-template-columns:1fr}.trip-card-footer{min-width:0}.memory-card-actions,.memory-card-actions button{width:100%}.memory-preview{min-height:148px}.family-card{grid-template-columns:40px minmax(0,1fr)}.family-card>span{width:40px;height:40px}.settings-row{grid-template-columns:1fr}.settings-row .secondary-action{width:100%}.settings-select{min-width:0}.share-snapshot ul{grid-template-columns:1fr}}@media(max-width:380px){.overview{grid-template-columns:1fr}.metric{min-height:68px}}
