@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#faf6ee;--paper-raised:#fffdf8;--paper-sunk:#f1eadc;--line:#e2d9c7;--line-strong:#8c8373;--ink:#23302e;--ink-soft:#5c6663;--ink-faint:#5e6661;--accent:#b8431f;--accent-strong:#96341a;--accent-wash:#f8e7dd;--pine:#1f5c4d;--pine-wash:#e2eee8;--font-display:"Fraunces Variable", Georgia, serif;--font-body:"DM Sans Variable", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.45}button,input,select{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.shell{height:100dvh;display:flex;overflow:hidden}.shell-main{flex:1 1 0;min-width:0;min-height:0}.sidebar{border-right:1px solid var(--line);background:var(--paper-sunk);flex-direction:column;flex:none;width:208px;padding:14px 10px;transition:width .16s;display:flex}.sidebar.is-collapsed{width:60px}.sidebar-top{justify-content:space-between;align-items:center;gap:4px;margin-bottom:14px;padding-left:6px;display:flex}.sidebar.is-collapsed .sidebar-top{flex-direction:column;padding-left:0}.sidebar-brand{font-family:var(--font-display);color:var(--accent);white-space:nowrap;font-size:19px;font-weight:600}.sidebar-toggle{width:30px;height:30px;color:var(--ink-soft);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex}.sidebar-toggle:hover{background:var(--line)}.sidebar-sections{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar-link{width:100%;color:var(--ink-soft);text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:600;display:flex}.sidebar-link svg{flex:none}.sidebar-link:hover{background:var(--line);color:var(--ink)}.sidebar-link[aria-current=page]{background:var(--paper-raised);color:var(--accent-strong);box-shadow:0 1px 3px #23302e1a}.sidebar.is-collapsed .sidebar-link{justify-content:center;padding-inline:0}.sidebar.is-collapsed .sidebar-label{display:none}.sidebar-status{color:var(--ink-faint);align-items:center;gap:8px;margin:auto 0 0;padding:8px 10px 2px;font-size:12px;line-height:1.3;display:flex}.sidebar.is-collapsed .sidebar-status{justify-content:center;padding-inline:0}.sidebar-status-dot{background:var(--pine);border-radius:50%;flex:none;width:8px;height:8px}.sidebar-status.is-saving .sidebar-status-dot,.sidebar-status.is-loading .sidebar-status-dot{background:#8a6d00}.sidebar-status.is-offline .sidebar-status-dot,.sidebar-status.is-missing .sidebar-status-dot,.sidebar-status.is-rejected .sidebar-status-dot{background:var(--accent)}.sidebar-status.is-offline,.sidebar-status.is-missing,.sidebar-status.is-rejected{color:var(--accent-strong)}.center-message{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100dvh;padding:24px 16px;display:flex}.center-message h1{font-family:var(--font-display);margin:0;font-size:24px;font-weight:600}.center-message p{max-width:420px;color:var(--ink-soft);margin:0 0 6px}.app{height:100%;display:flex;overflow:hidden}.map-pane{flex:0 0 var(--map-share);min-width:0;position:relative}.map-canvas{font-family:var(--font-body);background:#e8e4da;position:absolute;inset:0}.map-problem{z-index:500;border:1px solid var(--line);background:var(--paper-raised);border-radius:8px;width:min(380px,100% - 32px);padding:16px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 22px #23302e29}.map-problem p{color:var(--ink-soft);margin:6px 0 0;font-size:14px}.map-problem code{background:var(--paper-sunk);overflow-wrap:anywhere;border-radius:4px;padding:1px 4px;font-size:12.5px}.split-divider{z-index:500;background:var(--line);cursor:col-resize;touch-action:none;flex:0 0 1px;position:relative}.split-divider:before{content:"";position:absolute;inset:0 -6px}.split-divider:after{content:"";border:1px solid var(--line);background:var(--paper-raised);border-radius:4px;width:7px;height:44px;margin-top:-22px;position:absolute;top:50%;left:-3px}.split-divider:hover:after,.split-divider:focus-visible:after{border-color:var(--pine);background:var(--pine-wash)}.itinerary-pane{background:var(--paper);flex-direction:column;flex:1 1 0;min-width:0;display:flex}.map-chip{z-index:500;border:1px solid var(--line);background:var(--paper-raised);max-width:calc(100% - 80px);color:var(--ink-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 14px;font-size:13px;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 2px 10px #23302e1f}.map-chip strong{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:600}.map-chip-mode{color:var(--ink-soft);font-weight:600}.map-chip-mode.is-editing{color:var(--pine)}.pin-wrapper{cursor:pointer;width:32px;height:39px}.pin{background:var(--accent);transform-origin:50%;border:2px solid #fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .12s,scale .12s;display:flex;transform:rotate(-45deg);box-shadow:0 3px 8px #23302e59}.pin span{font-family:var(--font-body);color:#fff;font-size:13px;font-weight:700;transform:rotate(45deg)}.is-highlighted>.pin{background:var(--pine);scale:1.2}.pin.is-lodging{background:var(--pine)}.pin.is-lodging span{display:flex}.pin.is-draft{background:var(--paper-raised);border-color:var(--pine)}.pin.is-draft span{color:var(--pine);font-size:18px;line-height:1}.draft-card{z-index:500;border:1px solid var(--line);background:var(--paper-raised);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;max-width:560px;margin-inline:auto;padding:12px 14px;display:flex;position:absolute;bottom:44px;left:16px;right:16px;box-shadow:0 6px 22px #23302e33}.draft-card-text{flex-direction:column;flex:200px;min-width:0;display:flex}.draft-card-text span{min-height:1.3em;color:var(--ink-soft);font-size:13px}.draft-card-actions{gap:8px;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:6px;padding:7px 12px;font-size:13px;font-weight:600;transition:background-color .12s}.button-primary{background:var(--accent);color:#fff}.button-primary:hover:not(:disabled){background:var(--accent-strong)}.button-primary:disabled{opacity:.5;cursor:default}.button-ghost{border-color:var(--line);background:var(--paper-raised)}.button-ghost:hover{background:var(--paper-sunk)}.trip-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:18px 24px 12px;display:flex}.trip-name{min-width:0;font-family:var(--font-display);background:0 0;border:none;border-radius:4px;flex:180px;margin-left:-4px;padding:2px 4px;font-size:24px;font-weight:600}.trip-name::placeholder{color:var(--ink-faint)}.trip-name:hover{background:var(--paper-sunk)}.trip-start{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;display:flex}.trip-start input{border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:6px;padding:4px 6px;font-size:13px}.day-tabs{border-bottom:1px solid var(--line);align-items:stretch;padding-left:24px;display:flex}.day-tabs-scroll{scrollbar-width:none;flex:0 auto;gap:2px;min-width:0;display:flex;overflow-x:auto}.day-tab{text-align:left;background:0 0;border:none;border-bottom:3px solid #0000;flex-direction:column;flex:none;align-items:flex-start;min-width:92px;padding:8px 14px 9px 10px;display:flex}.day-tab:hover{background:var(--paper-sunk)}.day-tab.is-active{border-bottom-color:var(--accent)}.day-tab:focus-visible{outline-offset:-2px}.day-tab-title{align-items:center;gap:6px;font-weight:600;display:flex}.day-tab-editing{background:var(--pine);border-radius:50%;width:7px;height:7px}.day-tab-date{color:var(--ink-soft);white-space:nowrap;font-size:12px}.day-tab-add{width:44px;color:var(--pine);background:0 0;border:none;flex:none;font-size:22px;font-weight:300}.day-tab-add:hover{background:var(--pine-wash)}.day-tab-add:focus-visible{outline-offset:-2px}.view-banner{background:var(--pine-wash);color:var(--pine);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 24px;font-size:14px;font-weight:600;display:flex}.view-banner-actions{flex-wrap:wrap;gap:8px;display:flex}.day-scroll{flex:1 1 0;min-height:0;padding:18px 24px 32px;overflow-y:auto}.day-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.day-heading h1{font-family:var(--font-display);margin:0;font-size:30px;font-weight:500;line-height:1.1}.day-heading p{color:var(--ink-soft);margin:4px 0 0}.day-heading-date{display:inline-block}.day-heading-date:first-letter{text-transform:uppercase}.day-heading-count{white-space:nowrap}.maps-export{color:var(--ink-soft);margin:-6px 0 14px;font-size:13px}.maps-export p{margin:0 0 6px}.maps-export ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.maps-export a{color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}@media (width<=760px){.maps-export a{min-height:44px}}.confirm-button{color:var(--ink-soft);background:0 0;border:none;border-radius:6px;flex:none;padding:4px 8px;font-size:13px}.confirm-button:hover{background:var(--paper-sunk)}.confirm-button.is-confirming{background:var(--accent-wash);color:var(--accent-strong);font-weight:600}.link-button{color:var(--pine);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:13px;font-weight:600}.link-button:hover{background:var(--pine-wash)}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700}.day-summary{background:var(--paper-sunk);color:var(--ink-soft);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0 0 14px;padding:10px 14px;font-size:13px;display:flex}.day-summary div{flex-direction:column;display:flex}.day-summary dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700}.day-summary dd{font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:15px;font-weight:600}.day-summary.is-error{background:var(--accent-wash);color:var(--accent-strong);justify-content:space-between}.day-start{border:1px solid var(--line);background:var(--paper-raised);border-radius:8px;margin-bottom:12px;padding:12px 14px}.day-start-place{align-items:flex-start;gap:10px;display:flex}.lodging-badge{background:var(--pine);color:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.day-start-text{min-width:0;color:var(--ink-soft);flex-direction:column;flex:1 1 0;font-size:13px;display:flex}.day-start-text strong{color:var(--ink);overflow-wrap:anywhere;font-size:15px}.day-start-actions{flex:none;gap:2px;display:flex}.day-start-search{align-items:flex-start;gap:6px;margin-top:10px;display:flex}.day-start-search .search{background:0 0;flex:1 1 0;margin:0;padding:0;position:relative;top:0}.day-start-search .search-results{left:0;right:0}.day-start-search .link-button{margin-top:9px}.day-start-settings{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:10px;padding-top:10px;display:flex}.day-start-time{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;display:flex}.day-start-time input{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);border-radius:6px;padding:3px 6px;font-size:14px}.day-start-time strong,.day-start-mode{color:var(--ink);font-size:14px}.mode-toggle{border:1px solid var(--line-strong);background:var(--paper);border-radius:7px;padding:2px;display:flex}.mode-toggle button{color:var(--ink-soft);background:0 0;border:none;border-radius:5px;padding:4px 12px;font-size:13px;font-weight:600}.mode-toggle button[aria-pressed=true]{background:var(--pine);color:#fff}.day-return{margin:4px 0 0 38px;padding:10px 0}.day-return p:last-child{justify-content:space-between;gap:8px;margin:0;font-size:14px;display:flex}.day-return-time{font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:600}.empty-day{border:1px dashed var(--line);text-align:center;border-radius:8px;margin-top:16px;padding:24px}.empty-day p{color:var(--ink-soft);margin:4px 0 0}.search{z-index:10;background:var(--paper);margin:0 -8px 8px;padding:6px 8px;position:sticky;top:-18px}.search-row{gap:8px;display:flex}.search-submit{flex:none;padding-inline:14px}.search-submit:disabled{color:var(--ink-faint);cursor:default}.search-input{border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:8px;flex:1 1 0;min-width:0;padding:10px 12px}.search-input::placeholder{color:var(--ink-faint)}.search-results{border:1px solid var(--line);background:var(--paper-raised);border-radius:8px;max-height:320px;margin:-2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:8px;right:8px;overflow-y:auto;box-shadow:0 8px 24px #23302e2e}.search-result{cursor:pointer;border-radius:6px;flex-direction:column;padding:8px 10px;display:flex}.search-result span{color:var(--ink-soft);font-size:13px}.search-result.is-active{background:var(--paper-sunk)}.search-message{color:var(--ink-soft);padding:10px}.stop-list{margin:8px 0 0;padding:0;list-style:none}.stop{background:var(--paper);border-radius:8px;gap:12px;padding:10px 8px 10px 0;display:flex;position:relative}.stop:not(:last-child) .stop-rail:after{content:"";top:calc(var(--rail-offset,0px) + 40px);border-left:2px dotted #cfa593;position:absolute;bottom:-10px;left:14px}.stop.has-leg{--rail-offset:21px}.stop.has-leg .stop-rail{padding-top:var(--rail-offset)}.stop.is-highlighted{background:var(--paper-sunk)}.stop.is-dragging{z-index:20;background:var(--paper-raised);box-shadow:0 6px 22px #23302e38}.stop-rail{flex:none;padding-left:2px}.stop-number{z-index:1;background:var(--accent);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:13px;font-weight:700;display:flex;position:relative}.stop.is-highlighted .stop-number{background:var(--pine)}.stop-number.is-draggable{cursor:grab;touch-action:none}.stop.is-dragging .stop-number.is-draggable{cursor:grabbing}.stop-body{flex:1 1 0;min-width:0}.stop-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.stop-name{text-align:left;overflow-wrap:anywhere;background:0 0;border:none;min-width:0;padding:0;font-weight:600}.stop-name:hover{color:var(--accent-strong);text-decoration:underline}.stop-address{color:var(--ink-soft);overflow-wrap:anywhere;margin:1px 0 0;font-size:13px}.stop-span{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:13px;font-weight:600}.leg-line{color:var(--ink-faint);margin:0 0 4px;font-size:12.5px}.stop-edit-row{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px;display:flex}.stop-stay{color:var(--ink-soft);flex:none;align-items:center;gap:6px;font-size:12.5px;display:flex}.stop-stay select{border:1px solid var(--line-strong);background:var(--paper-raised);color:var(--ink);border-radius:4px;padding:2px 4px;font-size:13px}.stop-stay-text{color:var(--ink-soft);margin:4px 0 0;font-size:13px}.stop-note{background:0 0;border:1px solid #0000;border-radius:4px;flex:1 1 0;min-width:0;margin-left:-6px;padding:3px 6px;font-size:13px}.stop-note::placeholder{color:var(--ink-faint)}.stop-note:hover,.stop-note:focus{border-color:var(--line);background:var(--paper-raised)}.stop-note-text{margin:4px 0 0;font-size:13px}.stop-remove{color:var(--ink-soft);opacity:0;background:0 0;border:none;border-radius:4px;flex:none;padding:3px 6px;font-size:12px}.stop:hover .stop-remove,.stop:focus-within .stop-remove{opacity:1}@media (hover:none){.stop-remove{opacity:1}}.stop-remove:hover{background:var(--accent-wash);color:var(--accent-strong)}.shopping{height:100%;display:flex;overflow:hidden}.shopping-lists{border-right:1px solid var(--line);flex-direction:column;flex:0 0 240px;gap:10px;min-height:0;padding:22px 12px;display:flex;overflow-y:auto}.shopping-lists h2{margin:0 8px}.shopping-lists ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.shopping-list-link{text-align:left;background:0 0;border:none;border-left:3px solid #0000;border-radius:6px;flex-direction:column;width:100%;padding:8px 10px;display:flex}.shopping-list-link strong{overflow-wrap:anywhere}.shopping-list-link span{color:var(--ink-soft);font-size:12.5px}.shopping-list-link:hover{background:var(--paper-sunk)}.shopping-list-link[aria-current=true]{border-left-color:var(--accent);background:var(--paper-raised)}.shopping-new-list{color:var(--pine);align-self:flex-start;margin-left:6px}.shopping-main{flex:1 1 0;min-width:0;padding:18px 28px 40px;overflow-y:auto;container:shopping/inline-size}.shopping-header .trip-name{flex-basis:300px}.shopping-list{max-width:920px}.shopping-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:14px;display:flex}.shopping-header-actions{align-items:center;gap:12px;display:flex}.trip-start select{border:1px solid var(--line-strong);background:var(--paper-raised);border-radius:6px;padding:4px 6px;font-size:13px}.shopping-note{color:var(--ink-soft);margin:-6px 0 14px;font-size:13px}.shopping-warning{background:var(--accent-wash);color:var(--accent-strong);border-radius:8px;margin:0 0 14px;padding:10px 14px;font-size:14px}.shopping-empty{max-width:520px;margin:40px auto 0}.shopping-empty .button{margin-top:14px}.add-item{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.add-item-name{flex:2 200px}.add-item-price{border:1px solid var(--line-strong);background:var(--paper-raised);min-width:100px;color:var(--ink-faint);border-radius:8px;flex:0 130px;align-items:center;gap:6px;padding:0 10px;display:flex}.add-item-price:focus-within{outline:2px solid var(--pine);outline-offset:2px}.add-item-price input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1 1 0;padding:10px 0}.add-item-price.is-invalid,.is-invalid{border-color:var(--accent)}.add-item .button{padding-inline:16px}.item-list{margin:0;padding:0;list-style:none}.item{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"check body numbers remove";align-items:center;gap:8px 14px;padding:12px 8px;display:grid}@container shopping (width<=660px){.item{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"check body remove""check numbers numbers"}.item-subtotal{min-width:0;margin-left:auto}}.item-check{grid-area:check}.item-body{grid-area:body}.item-numbers{grid-area:numbers}.item-remove{grid-area:remove}.shop-at{border:1px dashed var(--line-strong);max-width:100%;color:var(--ink-faint);border-radius:12px;align-self:flex-start;align-items:center;gap:5px;margin-top:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex;position:relative}.shop-at.is-placed{background:var(--pine-wash);color:var(--pine);border:1px solid #0000}.shop-at:hover{border-color:var(--pine)}.shop-at:focus-within{outline:2px solid var(--pine);outline-offset:2px}.shop-at svg{flex:none}.shop-at-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shop-at select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.list-modes{flex-wrap:wrap;margin:4px 0 6px;display:inline-flex}.today-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:10px;display:flex}.today-heading h2{font-family:var(--font-display);margin:0;font-size:22px;font-weight:500}.today-date{margin:2px 0 6px}.today-date:first-letter{text-transform:uppercase}.store-group{margin-top:16px}.store-group-header{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:4px 12px;padding-bottom:6px;display:flex}.store-group-header h3{margin:0;font-size:16px}.store-group-header p{color:var(--ink-soft);margin:0;font-size:12.5px}.store-group-meta{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:13px;font-weight:600}.item:hover{background:var(--paper-raised)}.item-check{width:18px;height:18px;accent-color:var(--pine);cursor:pointer;flex:none;margin:0}.item-body{flex-direction:column;flex:200px;min-width:0;display:flex}.item-name,.item-numbers input{background:0 0;border:1px solid #0000;border-radius:4px;min-width:0;padding:3px 6px}.item-link{color:var(--pine);align-self:flex-start;font-size:12.5px;font-weight:600;text-decoration:none}.item-link:hover{text-decoration:underline}.add-item-link{color:var(--ink-soft);flex-wrap:wrap;flex-basis:100%;align-items:baseline;gap:4px 10px;margin:0;font-size:13px;display:flex}.add-item-link-clear{font:inherit;color:var(--pine);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.item-name:hover,.item-name:focus,.item-numbers input:hover,.item-numbers input:focus{border-color:var(--line);background:var(--paper)}.item-name{margin-left:-6px;font-weight:600}.item-name::placeholder,.item-numbers input::placeholder{color:var(--ink-faint)}.item-numbers{flex:none;align-items:flex-end;gap:10px;display:flex}.item-field{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);flex-direction:column;font-size:11px;font-weight:700;display:flex}.item-numbers input{font-variant-numeric:tabular-nums;border-color:var(--line-strong);background:var(--paper);font-size:14px}.item-qty{width:52px}.item-price{width:96px}.item-numbers .is-invalid{border-color:var(--accent)}.item-subtotal{font-variant-numeric:tabular-nums;text-align:right;min-width:96px;padding-bottom:4px;font-weight:700}.item.is-bought .item-name,.item.is-bought .item-subtotal{color:var(--ink-faint);text-decoration:line-through}.item:hover .item-remove,.item:focus-within .item-remove{opacity:1}.store-picker{flex-direction:column;gap:6px;margin-top:2px;display:flex}.store-links{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.store-link{border:1px solid var(--line);background:var(--paper-raised);color:var(--ink);white-space:nowrap;border-radius:12px;padding:1px 8px;font-size:12px;font-weight:600;text-decoration:none}a.store-link:hover{border-color:var(--accent);color:var(--accent-strong)}.store-link.is-plain{color:var(--ink-soft)}.store-edit{font-size:12px}.store-toggles{flex-wrap:wrap;gap:4px;display:flex}.store-toggle{border:1px solid var(--line);background:var(--paper-raised);color:var(--ink-soft);border-radius:12px;padding:3px 9px;font-size:12.5px;font-weight:600}.store-toggle:hover{border-color:var(--pine)}.store-toggle[aria-pressed=true]{border-color:var(--pine);background:var(--pine);color:#fff}.add-item-stores{color:var(--ink-soft);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px 10px;font-size:13px;display:flex}.store-coverage{border:1px solid var(--line);background:var(--paper-raised);border-radius:8px;margin:10px 0 4px;padding:12px 14px}.store-coverage h3{margin:0 0 8px;font-size:15px}.store-coverage ul{margin:0;padding:0;list-style:none}.store-coverage li{color:var(--ink-soft);grid-template-columns:minmax(90px,1fr) auto minmax(0,2fr);gap:4px 12px;padding:6px 0;font-size:13px;display:grid}.store-coverage li+li{border-top:1px solid var(--line)}.store-coverage strong{color:var(--ink)}.store-coverage-status{font-weight:600}.store-coverage .is-missing .store-coverage-status{color:var(--accent-strong)}.store-coverage-note{color:var(--ink-faint);font-weight:500}.store-coverage .is-covered .store-coverage-status{color:var(--pine)}.chat{flex-direction:column;max-width:860px;height:100%;margin:0 auto;display:flex}.chat-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;padding:18px 24px 12px;display:flex}.chat-header h1{font-family:var(--font-display);margin:0;font-size:26px;font-weight:600}.chat-header p{color:var(--ink-soft);margin:2px 0 0;font-size:13px}.chat-header-actions{align-items:center;gap:12px;display:flex}.chat-log{flex-direction:column;flex:1 1 0;gap:10px;min-height:0;padding:18px 24px;display:flex;overflow-y:auto}.chat-empty{text-align:center;margin:auto 0}.chat-empty p{max-width:520px;color:var(--ink-soft);margin:6px auto 16px}.chat-examples{flex-direction:column;align-items:center;gap:8px;display:flex}.chat-example{border:1px solid var(--line);background:var(--paper-raised);max-width:100%;color:var(--pine);text-align:left;border-radius:18px;padding:8px 14px;font-size:14px}.chat-example:hover:not(:disabled){border-color:var(--pine);background:var(--pine-wash)}.chat-turn{flex-direction:column;gap:6px;display:flex}.chat-bubble{overflow-wrap:anywhere;border-radius:14px;max-width:min(640px,88%);padding:10px 14px;font-size:14.5px}.chat-bubble.is-user{background:var(--pine);color:#fff;white-space:pre-wrap;border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble.is-assistant{border:1px solid var(--line);background:var(--paper-raised);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble p,.chat-bubble ul{margin:0}.chat-bubble p+p,.chat-bubble p+ul,.chat-bubble ul+p,.chat-bubble ul+ul{margin-top:8px}.chat-bubble ul{padding-left:18px}.chat-bubble li+li{margin-top:4px}.chat-places{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.chat-places li{border:1px solid var(--line);background:var(--paper-raised);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:8px 12px;display:flex}.chat-places li>div{flex-direction:column;flex:240px;gap:1px;min-width:0;display:flex}.chat-places span{color:var(--ink-soft);font-size:12.5px}.chat-places .button{padding:6px 12px;font-size:13px}.chat-activity{color:var(--ink-faint);margin:0;font-size:12.5px}.chat-activity:before{content:"↳ "}.chat-activity.is-thinking:before{content:""}.account-access{justify-content:center;padding:24px 16px}.account-card{border:1px solid var(--line);background:var(--paper-raised);text-align:center;border-radius:10px;max-width:460px;margin:0 auto;padding:22px 24px}.account-card h1{font-family:var(--font-display);margin:0 0 8px;font-size:22px;font-weight:600}.account-card p{color:var(--ink-soft);margin:0 0 14px}.google-button{justify-content:center;min-height:44px;display:flex}.account-note{margin-top:10px;font-size:13px}.account-card .account-error,.account-error{color:var(--accent-strong);margin:12px 0 0;font-size:14px}.chat-header .account-line{color:var(--ink);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px;display:flex}.account-plan{background:var(--pine-wash);letter-spacing:.04em;color:var(--pine);border-radius:999px;margin-left:4px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}.chat-error{background:var(--accent-wash);color:var(--accent-strong);border-radius:8px;margin:0;padding:10px 14px;font-size:14px}.chat-input{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:12px 24px 18px;display:flex}.chat-input textarea{resize:none;font:inherit;flex:1 1 0}.chat-input .button{padding:11px 18px}.trips{max-width:760px;height:100%;margin:0 auto;padding:18px 24px 32px;overflow-y:auto}.trips-header h1{font-family:var(--font-display);margin:0;font-size:26px;font-weight:600}.trips-header p{color:var(--ink-soft);margin:2px 0 16px;font-size:13px}.trips-card{border:1px solid var(--line);background:var(--paper-raised);border-radius:8px;margin-bottom:14px;padding:14px 16px}.trips-card h2{margin:0;font-size:16px}.trips-card>p{color:var(--ink-soft);margin:2px 0 10px;font-size:13px}.trips-link,.trips-actions{flex-wrap:wrap;gap:8px;display:flex}.trips-link input{border:1px solid var(--line-strong);background:var(--paper);min-width:0;color:var(--ink);border-radius:6px;flex:240px;padding:8px 10px;font-size:14px}.trips-warning{color:var(--accent-strong);margin:10px 0 0;font-size:13px}.trips-list{margin:8px 0 0;padding:0;list-style:none}.trips-list li{justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:14px;display:flex}.trips-list li+li{border-top:1px solid var(--line)}.trips-list a{color:var(--pine);font-weight:600}.trips-current{color:var(--ink-faint);margin-left:6px;font-size:12px;font-weight:600}.item-name,.stop-note,.trip-name{border-bottom:1px dashed var(--line-strong)}.item-name:hover,.item-name:focus,.stop-note:hover,.stop-note:focus{border-style:solid}.trip-name:hover,.trip-name:focus{border-bottom-color:#0000}.store-link,.store-edit,.shop-at,.link-button,.stop-remove,.item-remove,.item-link,.stop-name{min-height:28px}.store-link,.item-link{align-items:center;display:inline-flex}.store-links{gap:6px}.item-check-target{cursor:pointer;grid-area:check;justify-content:center;align-self:start;align-items:flex-start;min-width:36px;min-height:36px;margin-inline:-9px;padding-top:6px;display:flex}button:disabled,.button-primary:disabled,.link-button:disabled,.button-ghost:disabled{opacity:.45;cursor:default}.sidebar-status-short{display:none}@media (width<=760px){.store-link,.store-edit,.shop-at,.link-button,.stop-remove,.item-remove,.item-link,.stop-name{min-height:44px}.item-check-target{min-width:44px;min-height:44px;margin-inline:-13px;padding-top:10px}.sidebar-status-short{display:inline}.shell{flex-direction:column}.sidebar,.sidebar.is-collapsed{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:12px;width:auto;padding:6px 12px}.sidebar-top,.sidebar.is-collapsed .sidebar-top{margin:0;padding:0}.sidebar-toggle,.sidebar-top{display:none}.sidebar-sections{flex-direction:row}.sidebar.is-collapsed .sidebar-label{display:inline}.sidebar-link,.sidebar.is-collapsed .sidebar-link{gap:6px;padding:6px 8px;font-size:13px}.sidebar-sections{scrollbar-width:none;overflow-x:auto}.sidebar-status{flex:none;margin:0 0 0 auto;padding:0}.sidebar-status .sidebar-label,.sidebar.is-collapsed .sidebar-status .sidebar-label{display:none}.trips{padding-inline:16px}.shopping{flex-direction:column;overflow-y:auto}.chat-header,.chat-log,.chat-input{padding-inline:16px}.store-coverage li{grid-template-columns:1fr auto}.store-coverage-status{grid-column:1/-1}.shopping-lists{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;flex:none;align-items:center;padding:8px 12px;overflow:auto hidden}.shopping-lists h2{display:none}.shopping-lists ul{flex-direction:row}.shopping-list-link{white-space:nowrap;width:auto}.shopping-new-list{align-self:center;margin:0}.shopping-main{flex:none;padding:14px 16px 32px;overflow:visible}.app{flex-direction:column}.map-pane{flex:0 0 40dvh}.split-divider{display:none}.itinerary-pane{border-top:1px solid var(--line)}.trip-header{padding:12px 16px 8px}.day-tabs{padding-left:8px}.view-banner,.day-scroll{padding-inline:16px}.map-chip-mode{display:none}}@media (width<=420px){.sidebar-link svg{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
