@font-face{font-family:Fraunces;src:url(/fraunces-latin.woff2) format("woff2");font-weight:400 700;font-display:swap}:root{--paper: #f2f7f5;--card: #ffffff;--line: #cfe3db;--ink: #153c34;--ink-soft: #5d7a72;--accent: #e05c74;--verified: #0c8a5f;--mint: #9ff0d2;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num: ui-monospace, "SF Mono", "Roboto Mono", monospace;--space: clamp(1rem, .6rem + 1.6vw, 2rem);--radius: .75rem;--shadow: 0 1px 2px rgba(21, 60, 52, .06), 0 8px 24px rgba(21, 60, 52, .06)}*{box-sizing:border-box}body{margin:0;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.1;margin:0}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}.accent{color:var(--accent)}.verified{color:var(--verified)}.page{max-width:960px;margin:0 auto;padding:var(--space)}.sticky-sentinel{height:1px;margin-bottom:-1px}.brandbar{position:sticky;top:0;z-index:20;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0 .9rem;margin-bottom:.6rem;border-bottom:1px solid var(--line);transition:box-shadow .22s ease,border-color .22s ease}.brandbar.stuck{box-shadow:0 4px 16px #153c341a;border-bottom-color:transparent}.brandbar nav{display:flex;align-items:center;gap:1rem}.wordmark{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.brandmark{width:1.65rem;height:1.65rem;flex:none;display:block}.wordmark .fit,.wordmark:hover .wordmark-text{color:var(--accent)}.wordmark:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.lang-toggle{display:flex;border:1px solid var(--line);border-radius:.5rem;overflow:hidden;flex:none}.lang-toggle button{padding:.25rem .55rem;border:0;background:var(--card);color:var(--ink-soft);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.lang-toggle button.on{background:var(--ink);color:var(--mint)}.lang-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hero{margin-top:.6rem}.hero h1{font-size:clamp(2rem,1.2rem + 3.6vw,3.4rem)}.hero p{color:var(--ink-soft);font-size:1.1rem}.searchbar{display:grid;grid-template-columns:1fr;gap:.7rem .8rem;align-items:end;margin:1.4rem 0 .6rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}@media(min-width:560px){.searchbar{grid-template-columns:repeat(2,1fr)}}@media(min-width:880px){.searchbar{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media(max-width:559px){.hero h1{font-size:1.7rem}.hero p{font-size:1rem;margin:.3rem 0 0}.searchbar{grid-template-columns:repeat(2,1fr);gap:.5rem .6rem;margin-top:.9rem;padding:.85rem}.searchbar>label:first-child{grid-column:1 / -1}.nights-readout{align-self:start;margin-top:-.15rem;padding:0;text-align:right;font-size:.78rem}}.searchbar label{display:grid;gap:.25rem;min-width:0}.field-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.searchbar select,.searchbar input{font:inherit;font-size:1rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:.5rem;background:var(--paper);min-width:0;width:100%;box-sizing:border-box;min-height:2.6rem}.searchbar input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;height:2.6rem;line-height:normal}.searchbar input[type=date]::-webkit-datetime-edit{padding:0}.searchbar input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}.searchbar input[type=date]::-webkit-calendar-picker-indicator{margin:0;opacity:.6}.nights-readout{grid-column:1 / -1;align-self:end;padding-bottom:.55rem;white-space:nowrap;text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--ink)}@media(min-width:560px){.nights-readout{grid-column:auto}}.stepper{display:flex;align-items:center;gap:.5rem}.stepper button{width:1.9rem;height:1.9rem;border:1px solid var(--line);border-radius:.5rem;background:var(--paper);cursor:pointer;flex:none}.segmented{grid-column:1 / -1;display:flex;border:1px solid var(--line);border-radius:.5rem;overflow:hidden;min-width:0}@media(min-width:880px){.segmented{grid-column:span 2}}.segmented button{flex:1;padding:.5rem .35rem;border:0;background:var(--card);cursor:pointer;font:inherit;font-size:.85rem;white-space:nowrap}.segmented button.on{background:var(--ink);color:var(--mint)}.chips{grid-column:1 / -1;display:grid;gap:.35rem;min-width:0}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip{padding:.4rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink-soft);font:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip:before{content:"";display:inline-block;width:.55rem;height:.55rem;margin-right:.4rem;border-radius:50%;background:currentColor;opacity:.35;vertical-align:middle}.chip.on{background:var(--ink);color:var(--mint);border-color:var(--ink)}.chip.on:before{opacity:1}.chip:hover{border-color:var(--ink)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.find{grid-column:1 / -1;padding:.7rem;border:0;border-radius:.5rem;background:var(--ink);color:var(--mint);font:inherit;font-weight:600;cursor:pointer}.find:disabled{opacity:.6}.escape{color:var(--ink-soft);font-size:.95rem;margin:.4rem 0 1rem}.results{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.over-budget{margin-top:1.4rem}.over-title{font-size:1rem;color:var(--ink-soft);font-weight:600;margin:0 0 .7rem}.show-more{margin-top:1rem;padding:.6rem 1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--card);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.show-more:hover{border-color:var(--ink)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}.card h3{font-size:1.15rem;margin-bottom:.5rem}.ledger{width:100%;border-collapse:collapse;margin:.4rem 0}.ledger td{padding:.25rem 0;border-bottom:1px solid var(--line)}.ledger td.r{text-align:right}.ledger tr.total td{font-weight:700;border-bottom:0}.ledger tr.not-counted td{color:var(--ink-soft);text-decoration:line-through}.ledger tr.not-counted td .muted-note{text-decoration:none}.ledger .muted-note{color:var(--ink-soft);font-size:.85em}.ledger tr.all-in td{color:var(--ink-soft)}.card button.view-ledger{font-size:.85rem;padding:.4rem .7rem}.card button{margin-top:.6rem;padding:.55rem .8rem;border:0;border-radius:.5rem;background:var(--ink);color:var(--mint);cursor:pointer;font:inherit}.card button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.hint{color:var(--ink-soft);font-size:.8rem;margin:.35rem 0 0}.saved-state{margin-top:.6rem}.saved-msg{font-size:.9rem;margin:0 0 .5rem}.saved-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.saved-actions .open-plan{display:inline-block;padding:.55rem .8rem;border-radius:.5rem;background:var(--ink);color:var(--mint);text-decoration:none;font-weight:600}.saved-actions button.ghost{margin-top:0}.recent{margin:2.2rem 0 0}.recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.recent-head h2{font-size:1.25rem}.recent-head button.ghost{margin:0;padding:.3rem .6rem;border:1px solid var(--line);border-radius:.5rem;background:transparent;color:var(--ink-soft);font:inherit;font-size:.8rem;cursor:pointer}.recent-sub{margin:.2rem 0 .8rem}.recent-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.recent-list a{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem .8rem;padding:.65rem .9rem;background:var(--card);border:1px solid var(--line);border-radius:.5rem;text-decoration:none;color:var(--ink)}.recent-list a:hover{border-color:var(--ink)}.recent-name{font-weight:600}.recent-meta{color:var(--ink-soft);font-size:.85rem;font-variant-numeric:tabular-nums}.how{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2.5rem 0}.foot{color:var(--ink-soft);font-size:.9rem;border-top:1px solid var(--line);padding-top:1rem}.foot a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.foot a:hover{color:var(--accent)}.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.6rem 0}.error{color:var(--accent)}.chat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin:0 0 1.4rem;box-shadow:var(--shadow)}.chat-title{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--ink);margin:0 0 .6rem}.chat-log{display:grid;gap:.4rem;margin-bottom:.6rem}.chat-log .u{justify-self:end;background:var(--mint);color:var(--ink);padding:.4rem .7rem;border-radius:.7rem;max-width:80%}.chat-log .a{justify-self:start;background:var(--paper);padding:.4rem .7rem;border-radius:.7rem;max-width:90%}.chat-log .a>:first-child{margin-top:0}.chat-log .a>:last-child{margin-bottom:0}.chat-log .a p{margin:0 0 .5rem}.chat-log .a strong{font-weight:650}.chat-log .a a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.chat-log .a h1,.chat-log .a h2,.chat-log .a h3,.chat-log .a h4,.chat-log .a h5,.chat-log .a h6{margin:.7rem 0 .3rem;font-family:var(--font-display);font-size:.95rem;font-weight:650;line-height:1.25}.chat-log .a ul,.chat-log .a ol{margin:.3rem 0;padding-left:1.2rem}.chat-log .a li{margin:.15rem 0}.chat-log .a li input[type=checkbox]{margin-right:.35rem}.chat-log .a blockquote{margin:.4rem 0;padding:.1rem .8rem;border-left:3px solid var(--line);color:var(--ink-soft)}.chat-log .a hr{border:0;border-top:1px solid var(--line);margin:.7rem 0}.chat-log .a img{max-width:100%;height:auto;border-radius:.4rem}.chat-log .a code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em;background:var(--mint);border-radius:.3rem;padding:.05em .3em}.chat-log .a pre{margin:.5rem 0;padding:.6rem .75rem;background:var(--ink);color:var(--mint);border-radius:.5rem;overflow-x:auto}.chat-log .a pre code{background:none;padding:0;font-size:.85em;color:inherit}.md-table-wrap{overflow-x:auto;max-width:100%;margin:.4rem 0}.chat-log .a table{border-collapse:collapse;font-size:.85rem}.chat-log .a th,.chat-log .a td{border:1px solid var(--line);padding:.25rem .5rem;text-align:left;white-space:nowrap}.chat-log .a th{background:var(--mint);font-weight:650}.chat-input{display:flex;gap:.5rem}.chat-input input{flex:1;font:inherit;padding:.6rem .7rem;border:1px solid var(--line);border-radius:.5rem}.chat-input button{padding:.6rem 1rem;border:0;border-radius:.5rem;background:var(--ink);color:var(--mint);cursor:pointer}.chat-log .err{color:var(--accent);background:transparent}.tc-locked{overflow:hidden}.escape-btn{display:block;width:100%;background:none;border:0;cursor:pointer;font:inherit;color:var(--ink-soft);font-size:.95rem;padding:.5rem .4rem;text-align:center}.escape-btn em{color:var(--ink);font-style:italic}.escape-btn:hover em{color:var(--accent)}.escape-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.tc-sheet .chat,.tc-chat-desktop .chat{margin:0;padding:0;background:transparent;border:0;box-shadow:none;display:flex;flex-direction:column;flex:1;min-height:0}.tc-sheet .chat-log,.tc-chat-desktop .chat-log{flex:1;min-height:0;overflow-y:auto}.tc-new{flex:none;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);border-radius:999px;padding:.3rem .7rem;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease}.tc-new:hover{border-color:var(--accent);color:var(--accent)}.tc-new:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tc-chat-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.1rem 0 .5rem;flex:none}.tc-close{border:0;background:transparent;color:var(--ink-soft);font-size:1.25rem;line-height:1;padding:.2rem .45rem;cursor:pointer}.tc-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.tc-dock{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem calc(.5rem + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 16px #153c341a}.tc-dock-summary{flex:1;min-width:0;display:flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:.6rem .9rem;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:border-color .15s ease}.tc-dock-summary-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-dock-icon{flex:none;width:2.9rem;height:2.9rem;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;font:inherit;font-size:1.15rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.tc-dock-icon.hot{background:var(--ink);color:var(--mint);border-color:var(--ink)}.tc-dock-summary:hover,.tc-dock-icon:hover{border-color:var(--accent)}.tc-dock-summary:focus-visible,.tc-dock-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tc-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#10231f4d;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s .25s}.tc-backdrop.open{opacity:1;visibility:visible;transition:opacity .25s ease}.tc-sheet{position:fixed;left:0;right:0;bottom:0;z-index:40;max-height:85vh;display:flex;flex-direction:column;background:var(--card);border-radius:18px 18px 0 0;padding:.4rem 1rem calc(1.1rem + env(safe-area-inset-bottom));box-shadow:0 -12px 34px #153c3438;transform:translateY(100%);visibility:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),visibility 0s .3s}.tc-sheet.open{transform:translateY(0);visibility:visible;transition:transform .3s cubic-bezier(.16,1,.3,1)}.tc-grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:.2rem auto .1rem;flex:none}@media(prefers-reduced-motion:reduce){.tc-sheet,.tc-sheet.open,.tc-backdrop,.tc-backdrop.open{transition:none}}@media(max-width:767px){.page{padding-bottom:5.5rem}}.tc-desktop{position:sticky;top:var(--brandbar-h, 3.4rem);z-index:15}.tc-bar{display:flex;gap:.6rem;align-items:center;padding:.5rem 0 .7rem;background:var(--paper)}.tc-summary{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;font:inherit;font-size:.95rem;font-weight:700;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s ease}.tc-summary-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-caret{color:var(--ink-soft);flex:none}.tc-new-bar{font-size:.9rem;padding:.5rem .9rem}.tc-chatbtn{flex:none;border:1px solid var(--ink);background:var(--ink);color:var(--mint);border-radius:999px;padding:.55rem 1.1rem;font:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:border-color .15s ease}.tc-summary:hover,.tc-chatbtn:hover{border-color:var(--accent)}.tc-summary:focus-visible,.tc-chatbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tc-chat-desktop{position:fixed;right:1.5rem;bottom:1.5rem;z-index:40;width:min(400px,calc(100vw - 3rem));max-height:min(70vh,620px);display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:1rem;box-shadow:0 22px 50px #153c3447;padding:.8rem 1rem 1rem;opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:bottom right;transition:opacity .18s ease,transform .18s ease,visibility 0s .18s}.tc-chat-desktop.open{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease}@media(prefers-reduced-motion:reduce){.tc-chat-desktop,.tc-chat-desktop.open{transition:none}}
