:root{--bg: #f5efe3;--panel: rgba(255, 252, 245, .92);--text: #261e12;--muted: #93835f;--accent: #e6c069;--accent2: #dd9a55;--stop: #e6c069;--wedding: #f0dc97;--font: "Hanken Grotesk", system-ui, sans-serif;--display: "Fraunces", Georgia, serif;--mono: "DM Mono", ui-monospace, monospace;--edge: rgba(38, 29, 16, .1)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--j-gutter, #e9e1cf);color:var(--text);font-family:var(--font);overflow:hidden;-webkit-font-smoothing:antialiased}#map{position:absolute;top:0;right:0;bottom:0;left:0;background:#17110a}.maplibregl-ctrl-attrib{font-size:10px;opacity:.6}.maplibregl-ctrl-attrib a{color:var(--muted)}#topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:24px;padding:14px 20px;z-index:20;background:linear-gradient(180deg,rgba(255,252,245,.7),transparent);pointer-events:none}#topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:26px;color:var(--j-gold-text, #8f6a1f);animation:spin 28s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brand-title{font-family:var(--display);font-weight:600;font-style:italic;letter-spacing:.01em;font-size:19px;text-transform:none;color:var(--text)}.brand-sub{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}#tier-switch{display:flex;gap:8px;margin:0 auto}.tier-btn{font-family:var(--font);background:var(--panel);color:var(--muted);border:1px solid var(--j-card-border, var(--edge));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:8px 16px;font-size:12px;letter-spacing:.06em;cursor:pointer;box-shadow:var(--j-shadow-row, none);transition:all .25s ease}.tier-btn:hover{color:var(--text);border-color:var(--j-gold, var(--accent))}.tier-btn.active{color:#fffcf5;background:var(--j-gold, var(--accent));border-color:var(--j-gold, var(--accent));font-weight:600}.tier-btn small{display:block;font-size:9px;opacity:.75;letter-spacing:.04em}#timeline{position:absolute;top:92px;right:18px;bottom:96px;width:226px;z-index:15;overflow-y:auto;padding:6px 2px 6px 8px;scrollbar-width:thin;scrollbar-color:var(--j-gold, var(--accent)) transparent;-webkit-mask-image:linear-gradient(180deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(180deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);transition:transform .34s cubic-bezier(.16,1,.3,1)}#timeline::-webkit-scrollbar{width:5px}#timeline::-webkit-scrollbar-thumb{background:var(--j-gold, var(--accent));border-radius:4px}body.drawer-open #timeline{transform:translate(-396px)}.tl-header{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:0 0 8px 28px;opacity:.85}.tl-list{position:relative;padding-left:0}.tl-list:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,transparent,var(--edge) 8%,var(--edge) 92%,transparent);border-radius:1px}.tl-day{position:relative;display:block;width:100%;text-align:left;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--j-card-border, var(--edge));border-right:2px solid var(--j-gold, var(--accent));border-radius:var(--j-r-card, 10px);color:var(--text);padding:9px 11px 9px 30px;margin:7px 0;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;font-family:var(--font);box-shadow:var(--j-shadow-row, 0 3px 10px -3px rgba(40, 28, 10, .25))}.tl-day:hover,.tl-day.hover{transform:translate(-5px);border-right-color:var(--accent2)}.tl-day.active{background:var(--j-gold-tint, rgba(184, 134, 43, .1));border-right-width:4px}.tl-day.wedding{border-right-color:var(--wedding)}.tl-wx{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:2px}.tl-node{position:absolute;left:1px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--j-card, #fffcf5);border:2px solid var(--muted);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.tl-day.active .tl-node{background:var(--j-gold, var(--accent));border-color:var(--j-gold, var(--accent))}.tl-day.wedding .tl-node{background:var(--wedding);border-color:var(--wedding)}.tl-num{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--j-gold-text, var(--accent));opacity:.85;margin-bottom:1px}.tl-day.wedding .tl-num{color:var(--wedding)}.tl-date{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.tl-loc{font-size:13px;font-weight:600;margin-top:2px;display:flex;align-items:center;gap:6px}.tl-mode{font-size:11px;color:var(--j-gold-text, var(--accent))}.tl-day.wedding .tl-mode{color:var(--wedding)}.tl-tag{display:inline-block;font-size:9px;letter-spacing:.08em;color:var(--wedding);border:1px solid var(--wedding);border-radius:4px;padding:1px 5px;margin-top:5px}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(380px,90vw);z-index:25;background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-left:1px solid var(--j-card-border, var(--edge));box-shadow:var(--j-shadow-hero, -20px 0 60px -30px rgba(40, 28, 10, .4));transform:translate(105%);transition:transform .34s cubic-bezier(.16,1,.3,1);overflow-y:auto;padding:22px 22px 40px}.drawer.open{transform:translate(0)}.d-head{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:10px}.d-head-mid{min-width:0}.drawer .d-head h2{margin:2px 0 0}.d-nav{width:32px;height:32px;border-radius:50%;display:grid;place-content:center;background:#261d100d;border:1px solid var(--j-card-border, var(--edge));color:var(--text);font-size:20px;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease}.d-nav:hover:not(:disabled){border-color:var(--j-gold, var(--accent));background:#b8862b1a}.d-nav:disabled{opacity:.35;cursor:default}.d-weather{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap}.d-progress{height:4px;border-radius:999px;overflow:hidden;background:#261d101a;margin-top:12px}.d-progress-bar{height:100%;background:var(--j-gold, var(--accent));border-radius:999px;transition:width .4s ease}.d-progress-label{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.04em;margin-top:5px}.d-glance{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.g-chip{font-family:var(--mono);font-size:11px;color:var(--text);background:#261d100d;border:1px solid var(--j-card-border, var(--edge));border-radius:999px;padding:3px 10px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.d-jump{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.d-jump button{font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--accent2);background:none;border:1px solid rgba(221,154,85,.45);border-radius:999px;padding:4px 11px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.d-jump button:hover{color:var(--text);border-color:var(--accent2);background:#dd9a551f}.d-section,#sec-route{scroll-margin-top:44px}.d-hero{margin:12px 0 4px;height:140px;overflow:hidden;border-radius:var(--j-r-card, 12px);border:1px solid var(--j-card-border, var(--edge))}.d-hero img{width:100%;height:100%;object-fit:cover;display:block}.drawer-close{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-content:center;background:#261d100f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--j-card-border, var(--edge));color:var(--text);font-size:20px;cursor:pointer;line-height:1}.drawer-close:hover{background:#261d101f}.drawer h2{font-family:var(--display);margin:4px 0 2px;font-size:26px;font-weight:700;letter-spacing:.01em;color:var(--text)}.drawer .d-date{font-family:var(--mono);color:var(--j-gold-text, var(--muted));font-size:11px;letter-spacing:.06em;text-transform:uppercase}.drawer .d-notes{font-size:13px;line-height:1.65;color:var(--j-body, var(--text));opacity:.95;margin:12px 0}.d-section{margin-top:20px}.d-section h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--j-gold-text, var(--accent));border-bottom:1px solid var(--j-card-border, var(--edge));padding-bottom:5px;margin:0 0 10px}.d-section-list{display:flex;flex-direction:column;gap:8px}.d-sub{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 6px}.d-section-list .j-row,#sec-route .j-pass{cursor:pointer}.d-sources{margin-top:22px;font-size:10px;color:var(--muted)}.d-sources a{color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-stack{position:absolute;bottom:18px;left:18px;z-index:15;display:flex;flex-direction:column-reverse;gap:8px;align-items:flex-start}.legend{display:flex;gap:18px;flex-wrap:wrap;max-width:320px;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--j-card-border, var(--edge));border-radius:var(--j-r-card, 10px);padding:12px 16px;font-size:13px;color:var(--muted);letter-spacing:.05em;box-shadow:var(--j-shadow-row, none)}.legend .lg{display:flex;align-items:center;gap:8px}.legend .swatch{width:34px;height:0;border-top:2px solid var(--accent)}.legend .swatch.dash{border-top-style:dashed}.legend .swatch.dot{border-top-style:dotted}.budget-toggle{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--j-card-border, var(--edge));border-radius:999px;padding:6px 14px;cursor:pointer;transition:color .2s ease,border-color .2s ease,box-shadow .2s ease}.budget-toggle:hover{color:var(--text);border-color:var(--j-gold, var(--accent))}.budget-toggle.active{color:var(--j-gold-text, var(--accent));border-color:var(--j-gold, var(--accent))}#budget-modal.bm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#140e0473;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:bm-fade-in .22s ease}#budget-modal.bm-backdrop[hidden]{display:none}@keyframes bm-fade-in{0%{opacity:0}to{opacity:1}}.bm-panel{background:var(--j-card, #fffcf5);border:1px solid var(--j-card-border, var(--edge));border-radius:var(--j-r-hero, 20px);box-shadow:var(--j-shadow-hero, 0 18px 44px -26px rgba(40, 28, 10, .55));padding:22px 24px 24px;width:min(640px,92vw);max-height:85vh;overflow-y:auto;color:var(--text);font-family:var(--font);font-size:13px;position:relative;scrollbar-width:thin;scrollbar-color:var(--j-gold, var(--accent)) transparent;animation:bm-scale-in .22s cubic-bezier(.16,1,.3,1)}.bm-panel::-webkit-scrollbar{width:5px}.bm-panel::-webkit-scrollbar-thumb{background:var(--j-gold, var(--accent));border-radius:4px}@keyframes bm-scale-in{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.bm-close{position:absolute;top:14px;right:16px;width:28px;height:28px;border-radius:50%;display:grid;place-content:center;background:#261d100f;border:1px solid var(--j-card-border, var(--edge));color:var(--text);font-size:18px;cursor:pointer;line-height:1;transition:background .15s ease}.bm-close:hover{background:#261d101f}.bm-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:20px;color:var(--text);border-bottom:1px solid var(--j-card-border, var(--edge));padding-bottom:8px;margin:0 0 4px;padding-right:36px}.bm-subtitle{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.bm-cat{margin-bottom:4px}.bm-row{display:grid;grid-template-columns:130px 1fr 90px;align-items:center;gap:10px;padding:6px 8px;border-radius:7px;cursor:pointer;transition:background .15s ease;width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left}.bm-row-static{cursor:default}.bm-row:hover{background:#b8862b14}.bm-row:focus-visible,.bm-close:focus-visible{outline:2px solid var(--j-gold-text, var(--accent));outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.bm-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.bm-icon{font-size:14px;color:var(--j-gold-text, var(--accent))}.bm-bar-wrap{position:relative;flex:1;height:6px;background:#261d101a;border-radius:3px;overflow:hidden}.bm-bar{height:100%;background:var(--j-gold, var(--accent));border-radius:3px;transition:width .4s ease}.bm-bar-actual{position:absolute;top:0;left:0;height:100%;background:var(--j-gold-hover, #a1751f);border-radius:3px;opacity:.85;transition:width .4s ease}.bm-bar-actual.overrun{background:#a14b2b}.bm-amount{font-family:var(--mono);text-align:right;font-size:12px;font-weight:500;color:var(--j-gold-text, var(--accent));white-space:nowrap}.bm-item span:last-child{font-family:var(--mono);font-size:11px}.bm-spent-line-wrap{padding:0 8px 0 130px}.bm-spent-line{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:-2px}.bm-spent-line.overrun{color:#a14b2b}.bm-items{display:none;padding:4px 8px 8px 18px}.bm-cat.open .bm-items{display:block}.bm-item{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;color:var(--muted);padding:3px 0;border-bottom:1px solid rgba(38,29,16,.06)}.bm-item:last-child{border-bottom:none}.bm-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-item-price{white-space:nowrap;color:var(--text);opacity:.75}.bm-note{font-size:10px;font-style:italic;color:var(--muted);opacity:.75;margin-top:4px;padding-left:4px}.bm-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;border-top:1px solid var(--j-card-border, var(--edge));margin-top:10px;padding-top:10px;font-size:12px;color:var(--muted);font-weight:600}.bm-total-val{font-family:var(--display);font-size:24px;font-weight:600;color:var(--text)}.bm-total-spent{flex-basis:100%;font-family:var(--mono);font-size:11px;font-weight:400;color:var(--j-gold-text, var(--accent));margin-top:4px}.bm-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;background:#b8862b14;border:1px solid var(--j-card-border, var(--edge));border-radius:10px}.bm-sum-line{flex:1;min-width:0;font-family:var(--mono);font-size:12px;line-height:1.5}.bm-sum-planned{color:var(--text);font-weight:600}.bm-sum-spent{color:var(--j-gold-text, var(--accent))}.bm-sum-spent.muted{color:var(--muted)}.bm-sum-chip{font-family:var(--mono);font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.bm-sum-chip.under{color:#2f7d4f;background:#2f7d4f1f}.bm-sum-chip.over{color:#a14b2b;background:#a14b2b1f}.bm-sum-chip.even{color:var(--muted);background:#261d1014}.bm-state-line-wrap{padding:0 8px 2px 130px}.bm-state-line{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:-2px}.bm-state-line.overrun{color:#a14b2b}.bm-state-line.fixed{opacity:.8;letter-spacing:.04em}.bm-line{display:grid;grid-template-columns:52px 1fr auto auto auto;align-items:baseline;column-gap:10px;padding:4px 0;border-bottom:1px solid rgba(38,29,16,.06);font-size:11px;color:var(--muted)}.bm-line:last-child{border-bottom:none}.bm-line.single{grid-template-columns:1fr auto}.bm-line-tag{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--j-gold-text, var(--accent))}.bm-line-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.bm-line-planned{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-align:right}.bm-line-actual{font-family:var(--mono);font-size:10.5px;color:var(--text);text-align:right}.bm-line-var{font-family:var(--mono);font-size:10px;text-align:right;min-width:44px}.bm-line-var.under{color:#2f7d4f}.bm-line-var.over{color:#a14b2b}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;z-index:40;background:var(--bg);color:var(--muted);font-family:var(--display);letter-spacing:.2em;font-size:13px;transition:opacity .6s ease}.loading.hidden{opacity:0;pointer-events:none}.maplibregl-popup-content{background:var(--panel);color:var(--text);border:1px solid var(--j-card-border, var(--edge));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;font-family:var(--font);font-size:12px;padding:8px 12px}.maplibregl-popup-tip{border-top-color:var(--panel)!important;border-bottom-color:var(--panel)!important}.poi-popup .maplibregl-popup-content{padding:10px 12px}.poi-popup-inner{max-width:220px}.poi-popup-img{width:100%;border-radius:6px;margin-bottom:7px;max-height:110px;object-fit:cover}.poi-popup-header{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.poi-popup-header b{font-size:13px;font-weight:600;color:var(--text)}.poi-popup-desc{font-size:11px;line-height:1.45;color:var(--text);opacity:.92;margin-top:5px}.poi-popup .c-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.poi-popup .c-actions a,.poi-popup .poi-action{color:var(--accent2);font-size:11px;font-weight:600;text-decoration:none}.poi-popup .c-actions a:hover{text-decoration:underline}.map-stop-label{font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:.03em;color:#f7ecd6;white-space:nowrap;text-shadow:0 1px 3px #000,0 0 8px #000;opacity:0;transform:translate(-4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.map-stop-label.show{opacity:1;transform:translate(0)}.map-stop-label.wedding{color:var(--wedding)}.j-row{display:flex;align-items:flex-start;gap:11px;background:var(--j-card);border:1px solid var(--j-card-border);border-radius:var(--j-r-card);box-shadow:var(--j-shadow-row);padding:12px 13px}.j-row.done{opacity:.62}.j-row.done .j-row-name{text-decoration:line-through}.j-check{flex:0 0 26px;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--j-check-border);background:transparent;color:#fff;font-size:13px;line-height:1;cursor:pointer;margin-top:1px}.j-row.done .j-check{background:var(--j-gold);border-color:var(--j-gold)}.j-row-body{flex:1;min-width:0}.j-row-name{font-size:14px;font-weight:600;color:var(--j-ink)}.j-row-meta{font-size:11px;color:var(--j-muted);margin-top:2px}.j-row-desc{font-size:13px;line-height:1.55;color:var(--j-body);margin-top:6px}.j-row-desc.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.j-row-more{background:none;border:0;padding:2px 0 0;font-family:var(--mono);font-size:10.5px;color:var(--j-gold-text);cursor:pointer}.j-row-links{display:flex;align-items:center;gap:12px;margin-top:8px;flex-wrap:wrap}.j-link-pill{background:var(--j-gold-tint-strong);border:1px solid var(--j-gold-border);border-radius:999px;color:var(--j-gold-text);font-size:12px;font-weight:600;padding:5px 11px;text-decoration:none}.j-link{color:var(--j-gold-text);font-size:12px;text-decoration:none}.j-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}.j-row-cost{font-family:var(--mono);font-size:11.5px;color:var(--j-muted-strong)}.j-spend{font-family:var(--mono);font-size:11px;background:var(--j-gold-tint);border:1px solid var(--j-gold-border);border-radius:999px;color:var(--j-gold-text);padding:3px 8px;cursor:pointer}.j-spend-input{width:74px;font-family:var(--mono);font-size:12px;border:1px solid var(--j-gold-border-strong);border-radius:8px;background:var(--j-card);color:var(--j-ink);padding:4px 6px}.j-row-dir{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--j-gold-tint-strong);color:var(--j-gold-text);text-decoration:none;font-size:12px}.j-pass{color:var(--j-ticket-text);background:var(--j-ticket);box-shadow:var(--j-shadow-ticket);font-family:var(--font)}.j-pass-home{border-radius:var(--j-r-ticket-home, 20px);padding:16px 18px 14px}.j-pass-detail,.j-pass-drawer{--j-pass-notch: var(--j-bg);border-radius:var(--j-r-ticket, 18px);padding:14px 16px}.j-pass-header{display:flex;justify-content:space-between;align-items:center}.j-pass-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--j-ticket-gold)}.j-pass-status{font-family:var(--mono);font-size:10px}.j-pass-chipline{font-family:var(--mono);font-size:10.5px;color:var(--j-ticket-muted)}.j-pass-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:12px}.j-pass-home .j-pass-loc{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.1}.j-pass-detail .j-pass-loc,.j-pass-drawer .j-pass-loc{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.1}.j-pass-loc-to{text-align:right}.j-pass-divider{color:var(--j-ticket-gold);font-size:14px;text-align:center}.j-pass-arrow{color:var(--j-ticket-gold);font-size:15px;text-align:center}.j-pass-detail .j-pass-route,.j-pass-drawer .j-pass-route{display:flex;align-items:center;gap:10px}.j-pass-detail .j-pass-loc-to,.j-pass-drawer .j-pass-loc-to{text-align:left}.j-pass-track{height:4px;border-radius:3px;background:#f7ecd624;overflow:hidden;margin-top:12px}.j-pass-fill{height:100%;border-radius:3px;background:var(--j-ticket-gold);transition:width .5s ease}.j-pass-perf{border-top:1px dashed rgba(247,236,214,.25);margin:14px -18px 0;position:relative}.j-pass-notch{position:absolute;top:-8px;width:16px;height:16px;border-radius:50%;background:var(--j-pass-notch, var(--j-bg))}.j-pass-notch-l{left:-8px}.j-pass-notch-r{right:-8px}.j-pass-chips{display:flex;gap:14px;margin-top:12px;font-family:var(--mono);font-size:11px;color:var(--j-ticket-muted);flex-wrap:wrap;align-items:center}.j-pass-onward{color:var(--j-ticket-amber)}.j-pass-onward-line{font-size:11.5px;color:var(--j-ticket-amber);margin-top:6px}.j-pass-steps-toggle{margin-top:12px;font-family:var(--font);font-size:12px;font-weight:600;color:var(--j-ticket-gold);background:none;border:1px solid rgba(230,192,105,.4);border-radius:999px;padding:5px 13px;cursor:pointer}.j-pass-steps{margin:10px 0 0;padding-left:19px}.j-pass-steps li{font-size:12.5px;line-height:1.55;margin-bottom:7px;color:var(--j-ticket-text-2)}.j-pass-maps{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:700;text-decoration:none;padding:9px 15px;border-radius:999px;color:var(--j-ticket);background:var(--j-ticket-gold)}.j-pass-route-outbound .j-pass-code{font-family:var(--display);font-weight:600;font-size:30px;line-height:1}.j-pass-route-outbound .j-pass-city{font-size:11px;color:var(--j-ticket-muted);margin-top:3px}.readiness-toggle{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--j-gold-text, var(--text));background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--j-gold-border, var(--edge));border-radius:999px;padding:6px 14px;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease,filter .1s ease}.readiness-toggle:hover{color:var(--text);border-color:var(--j-gold, var(--accent));background:var(--j-card, #fffcf5)}#readiness-modal.rm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px));background:#140e047a;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:rm-fade-in .18s ease-out}.rm-panel{position:relative;width:min(720px,100%);max-height:min(84dvh,760px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--j-gold, #b8862b) transparent;padding:26px;color:var(--j-ink, #261e12);background:var(--j-bg, #f5efe3);border:1px solid var(--j-card-border, rgba(38, 29, 16, .09));border-radius:var(--j-r-hero, 22px);box-shadow:0 28px 80px -28px #140e04bf;font-family:var(--font);animation:rm-panel-in .22s cubic-bezier(.16,1,.3,1)}.rm-panel::-webkit-scrollbar{width:5px}.rm-panel::-webkit-scrollbar-thumb{background:var(--j-gold, #b8862b);border-radius:999px}.rm-close{position:absolute;top:18px;right:18px;width:36px;height:36px;display:grid;place-content:center;border:1px solid var(--j-card-border, rgba(38, 29, 16, .09));border-radius:50%;background:var(--j-card, #fffcf5);color:var(--j-ink, #261e12);font-size:22px;line-height:1;cursor:pointer;box-shadow:var(--j-shadow-row, 0 8px 22px -18px rgba(40, 28, 10, .5))}.rm-close:hover{background:var(--j-gold-tint, rgba(184, 134, 43, .1))}.rm-eyebrow{margin:0;color:var(--j-gold-text, #8f6a1f);font:500 10px/1.2 var(--mono);letter-spacing:.2em;text-transform:uppercase}.rm-panel h2{margin:4px 48px 0 0;font-family:var(--display);font-size:clamp(28px,5vw,36px);font-style:italic;font-weight:600;line-height:1.1}.rm-summary{display:flex;align-items:baseline;gap:10px;margin:9px 0 20px;color:var(--j-muted, #756747);font-size:12px}.rm-summary strong{color:var(--j-body, #4c4029);font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.rm-list{display:grid;gap:10px}.rm-item{padding:16px;background:var(--j-card, #fffcf5);border:1px solid var(--j-card-border, rgba(38, 29, 16, .09));border-radius:var(--j-r-card, 16px);box-shadow:var(--j-shadow-row, 0 8px 22px -18px rgba(40, 28, 10, .5))}.rm-item-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.rm-item h3{margin:0;min-width:0;color:var(--j-ink, #261e12);font-family:var(--display);font-size:18px;font-weight:600;line-height:1.2}.rm-priority,.rm-status{border-radius:999px;font:500 9.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.rm-priority{display:grid;width:29px;height:29px;place-content:center;color:var(--j-gold-text, #8f6a1f);background:var(--j-gold-tint-strong, rgba(184, 134, 43, .12));border:1px solid var(--j-gold-border, rgba(184, 134, 43, .3))}.rm-status{padding:5px 8px;border:1px solid transparent}.rm-status.status-ready,.rm-status.status-booked{color:#2f6b46;background:#2f7d4f1c;border-color:#2f7d4f40}.rm-status.status-quote-needed,.rm-status.status-verify{color:#7c5714;background:var(--j-gold-tint-strong, rgba(184, 134, 43, .12));border-color:var(--j-gold-border, rgba(184, 134, 43, .3))}.rm-status.status-unbooked{color:#8b432a;background:#a14b2b1a;border-color:#a14b2b38}.rm-meta{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(90px,.7fr) minmax(110px,.8fr);gap:10px;margin:14px 0 0}.rm-meta div{min-width:0;padding:9px 10px;background:#b8862b0f;border-radius:10px}.rm-meta dt{color:var(--j-muted, #756747);font:500 9px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}.rm-meta dd{margin:4px 0 0;color:var(--j-body, #4c4029);font-size:12.5px;font-weight:600;line-height:1.35}.rm-meta dd[class^=confidence-]{font-family:var(--mono);font-size:11px;text-transform:uppercase}.confidence-high{color:#2f6b46!important}.confidence-medium{color:#7c5714!important}.confidence-low{color:#8b432a!important}.rm-action{display:block;margin:12px 0 0;color:var(--j-body, #4c4029);font-size:13px;line-height:1.5}a.rm-action{padding:10px 12px;color:var(--j-gold-text, #8f6a1f);background:var(--j-gold-tint, rgba(184, 134, 43, .1));border:1px solid var(--j-gold-border, rgba(184, 134, 43, .3));border-radius:12px;font-weight:650;text-decoration:none}a.rm-action:hover{color:var(--j-ink, #261e12);background:var(--j-gold-tint-strong, rgba(184, 134, 43, .12))}.rm-empty{margin:0;padding:26px;color:var(--j-muted, #756747);text-align:center;background:var(--j-card, #fffcf5);border:1px dashed var(--j-gold-border, rgba(184, 134, 43, .3));border-radius:var(--j-r-card, 16px)}:where(button,a[href],input,textarea):focus-visible{outline:2px solid var(--j-gold-text, #8f6a1f);outline-offset:3px}:where(.budget-toggle,.readiness-toggle,.triplist-toggle,.tier-btn,.d-nav,.drawer-close,.j-tab,.j-cta-gold,.j-upnext-done,.j-plan-fullday,.j-tomorrow-row,.j-trip-row,.j-budget-pill,.j-readiness-pill,.j-budget-close,.j-budget-cat-head,.j-detail-glass-btn,.j-check,.j-row-more,.j-link-pill,.j-link,.j-row-dir,.j-spend,.j-pass-steps-toggle,.j-pass-maps,.j-journal-hint,.j-journal-remove,.j-sim-text,.j-sim-chip,.bm-row,.bm-close,.rm-action,.rm-close):active{filter:brightness(.92)}@keyframes rm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rm-panel-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){#readiness-modal.rm-backdrop{align-items:flex-end;padding:env(safe-area-inset-top,0px) 0 0}.rm-panel{width:min(100%,430px);max-height:calc(100dvh - max(18px,env(safe-area-inset-top,0px)));padding:22px 20px calc(22px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;border-bottom:0;animation-name:rm-sheet-in}.rm-close{top:16px;right:18px}.rm-summary{align-items:flex-start;flex-direction:column;gap:3px;margin-bottom:16px}.rm-item{padding:14px}.rm-item-top{grid-template-columns:auto minmax(0,1fr)}.rm-status{grid-column:2;justify-self:start}.rm-meta{grid-template-columns:1fr 1fr}.rm-meta div:first-child{grid-column:1 / -1}}@media(max-width:350px){.rm-panel{padding-inline:14px}.rm-meta{grid-template-columns:1fr}.rm-meta div:first-child{grid-column:auto}}@keyframes rm-sheet-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#readiness-modal.rm-backdrop,.rm-panel{animation:none}}#pane-today{font-family:var(--font);color:var(--j-ink)}#pane-today.j-pad-sim{padding-top:34px}#pane-today .j-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:var(--j-eyebrow-ls);text-transform:uppercase;color:var(--j-gold-text)}#pane-today .j-card{background:var(--j-card);border:1px solid var(--j-card-border);border-radius:var(--j-r-hero)}#pane-today .j-cta-gold{display:inline-block;text-align:center;font-family:var(--font);font-size:13px;font-weight:700;color:#fffcf5;background:var(--j-gold);border:none;border-radius:999px;padding:11px 14px;text-decoration:none;cursor:pointer}#pane-today .j-cta-gold:hover{background:var(--j-gold-hover)}.j-stats-line{display:flex;justify-content:center;gap:18px;margin:16px 20px 0;font-family:var(--mono);font-size:11px;color:var(--j-muted)}.j-stats-dot{color:#d9cba6}.j-pretrip-hero{padding:34px 22px 10px;text-align:center}.j-brand-mark{font-size:34px;color:var(--j-gold);text-shadow:0 0 24px rgba(184,134,43,.45);animation:j-spin 28s linear infinite;display:inline-block}@keyframes j-spin{to{transform:rotate(360deg)}}.j-pretrip-hero .j-eyebrow{margin-top:12px;letter-spacing:.22em;color:var(--j-muted)}.j-pretrip-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:34px;margin:6px 0 0;line-height:1.1}.j-pretrip-window{font-family:var(--mono);font-size:11px;color:var(--j-muted);margin-top:8px}.j-countdown{margin:20px 20px 0;padding:22px 18px 18px;box-shadow:var(--j-shadow-hero)}.j-countdown-eyebrow{text-align:center;letter-spacing:.2em}.j-countdown-row{display:flex;justify-content:center;gap:6px;margin-top:10px;align-items:baseline}.j-countdown-unit{text-align:center;min-width:78px}.j-countdown-digit{font-family:var(--display);font-weight:600;font-size:46px;line-height:1}.j-countdown-label{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--j-muted);margin-top:4px}.j-countdown-dot{font-family:var(--display);font-size:30px;color:#d9cba6}.j-pretrip-pass{margin:14px 20px 0!important}.j-pretrip-cta{display:block;margin:18px auto 30px;padding:13px 26px;box-shadow:0 10px 24px -12px #b8862be6}.j-posttrip-card{margin:40px 20px 0;padding:22px 18px;text-align:center}.j-posttrip-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:20px}.j-today-header{padding:20px 20px 6px}.j-header-top{display:flex;justify-content:space-between;align-items:baseline}.j-wx-chip{font-family:var(--mono);font-size:11px;color:var(--j-muted)}.j-header-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:32px;margin:4px 0 0;line-height:1.12}.j-wed-chip{display:inline-block;margin-top:7px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--j-gold-text);border:1px solid var(--j-wed-border);background:var(--j-wed-fill);border-radius:5px;padding:2px 8px}.j-progress-row{display:flex;align-items:center;gap:10px;margin-top:12px}.j-progress-track{flex:1;height:4px;border-radius:3px;background:#261d101a;overflow:hidden}.j-progress-fill{height:100%;border-radius:3px;background:var(--j-gold);transition:width .4s ease}.j-progress-text{font-family:var(--mono);font-size:10.5px;color:var(--j-muted);white-space:nowrap}.j-upnext{margin:14px 20px 0;overflow:hidden;box-shadow:var(--j-shadow-hero)}.j-upnext-cover{position:relative;height:150px;overflow:hidden}.j-upnext-cover img{width:100%;height:100%;object-fit:cover;display:block}.j-upnext-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,rgba(20,14,4,.55))}.j-upnext-body{padding:14px 18px 16px}.j-upnext-eyebrow-row{display:flex;align-items:center;gap:7px}.j-upnext-eyebrow-row .j-eyebrow{letter-spacing:.22em}.j-upnext-dot{width:7px;height:7px;border-radius:50%;background:var(--j-gold);animation:j-pulse 1.8s ease infinite;flex:none}@keyframes j-pulse{0%,to{opacity:1}50%{opacity:.35}}.j-upnext-name{font-family:var(--display);font-weight:600;font-size:23px;margin-top:5px;line-height:1.15}.j-upnext-meta{font-size:12px;color:var(--j-muted);margin-top:4px}.j-upnext-desc{font-size:13px;line-height:1.55;margin-top:7px;color:var(--j-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.j-upnext-actions{display:flex;gap:10px;margin-top:13px}.j-upnext-dir{flex:1}.j-upnext-done{flex:1;font-family:var(--font);font-size:13px;font-weight:700;color:var(--j-gold-text);background:none;border:1.5px solid var(--j-wed-border);border-radius:999px;padding:11px 14px;cursor:pointer}.j-upnext-done:hover{background:#cbb06924}.j-daydone{margin:14px 20px 0;padding:22px 18px;text-align:center}.j-daydone-emoji{font-size:26px}.j-daydone-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:20px;margin-top:6px}.j-daydone-sub{font-size:12.5px;color:var(--j-muted);margin-top:4px}.j-plan-header{padding:20px 20px 8px;display:flex;justify-content:space-between;align-items:baseline}.j-plan-heading{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--j-muted);margin:0;font-weight:500}.j-plan-fullday{font-size:11.5px;font-weight:600;color:var(--j-gold-text);background:none;border:none;cursor:pointer;font-family:var(--font);padding:0}.j-plan-list{display:flex;flex-direction:column;gap:8px;padding:0 20px}.j-bottom-rows{display:flex;flex-direction:column;gap:8px;padding:16px 20px 30px}.j-tonight-row,.j-tomorrow-row{display:flex;align-items:center;gap:12px;border-radius:var(--j-r-card);padding:12px 14px;font-family:var(--font);text-align:left;width:100%;color:var(--j-ink)}.j-tonight-row{background:var(--j-gold-tint-strong);border:1px solid var(--j-gold-border)}.j-tomorrow-row{background:var(--j-card);border:1px solid var(--j-card-border);cursor:pointer}.j-row-glyph{font-size:16px}.j-tonight-body{flex:1;min-width:0}.j-tonight-eyebrow{font-size:9px;letter-spacing:.18em}.j-tomorrow-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--j-muted)}.j-tonight-name{font-size:13.5px;font-weight:600;margin-top:2px}.j-tonight-price{font-family:var(--mono);font-size:11px;color:var(--j-gold-text)}.j-tomorrow-chevron{color:var(--j-muted)}#pane-trip .j-trip-wrap{display:flex;flex-direction:column}#pane-trip .j-trip-wrap.j-clock-pad{padding-top:34px}#pane-trip .j-trip-header{padding:22px 20px 10px;display:flex;justify-content:space-between;align-items:flex-end}#pane-trip .j-trip-window{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--j-gold-text)}#pane-trip .j-trip-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:30px;margin:4px 0 0}#pane-trip .j-trip-actions{display:flex;align-items:center;gap:7px;flex:none}#pane-trip .j-budget-pill,#pane-trip .j-readiness-pill{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--j-gold-text);background:var(--j-card);border:1px solid var(--j-gold-border-strong);border-radius:999px;padding:8px 11px;cursor:pointer;white-space:nowrap;transition:color .15s ease,background .15s ease,border-color .15s ease,filter .1s ease}#pane-trip .j-readiness-pill{color:#fffcf5;background:var(--j-gold);border-color:var(--j-gold)}#pane-trip .j-budget-pill:hover{background:var(--j-gold-tint)}#pane-trip .j-readiness-pill:hover{background:var(--j-gold-hover);border-color:var(--j-gold-hover)}@media(max-width:350px){#pane-trip .j-trip-header{align-items:flex-start;gap:8px}#pane-trip .j-trip-actions{align-items:stretch;flex-direction:column;gap:5px}#pane-trip .j-budget-pill,#pane-trip .j-readiness-pill{padding-block:6px}}#pane-trip .j-trip-list{display:flex;flex-direction:column;gap:9px;padding:8px 20px 30px}#pane-trip .j-trip-row{display:flex;align-items:center;gap:13px;background:var(--j-card);border:1px solid var(--j-card-border);border-radius:18px;padding:10px 12px;cursor:pointer;font-family:var(--font);text-align:left;width:100%;color:var(--j-ink);box-shadow:var(--j-shadow-row)}#pane-trip .j-trip-row.today{background:var(--j-gold-tint);border-color:var(--j-gold-border-strong)}#pane-trip .j-trip-thumb{width:58px;height:58px;flex:none;border-radius:var(--j-r-thumb);overflow:hidden;background:#e6dcc4;display:grid;place-content:center}#pane-trip .j-trip-thumb img{width:58px;height:58px;object-fit:cover;display:block}#pane-trip .j-trip-thumb-fallback{font-size:20px}#pane-trip .j-trip-row-body{flex:1;min-width:0}#pane-trip .j-trip-eyebrow{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--j-gold-text)}#pane-trip .j-trip-loc{font-size:15px;font-weight:600;margin-top:2px;line-height:1.25}#pane-trip .j-trip-meta{font-size:11px;color:var(--j-muted);margin-top:2px}#pane-trip .j-trip-wedding{font-size:14px}#pane-trip .j-trip-chevron{color:#c3b48c}#pane-trip .j-budget-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#140e0473;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end}#pane-trip .j-budget-sheet{width:100%;max-width:430px;margin-inline:auto;background:var(--j-bg);border-radius:22px 22px 0 0;padding:10px 20px calc(26px + env(safe-area-inset-bottom,0px));max-height:78%;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -20px 60px -30px #140e04b3}#pane-trip .j-budget-grab{width:42px;height:5px;border-radius:999px;background:#261d1026;margin:4px auto 14px}#pane-trip .j-budget-head{display:flex;justify-content:space-between;align-items:baseline}#pane-trip .j-budget-close{margin-left:auto;width:32px;height:32px;border:1px solid var(--j-card-border);border-radius:999px;background:var(--j-card);color:var(--j-ink);font-size:20px;line-height:1}#pane-trip .j-budget-subtitle{margin-left:8px;margin-right:12px}#pane-trip .j-budget-close:focus-visible,#pane-trip .j-budget-cat-head:focus-visible{outline:2px solid var(--j-gold-text);outline-offset:2px}#pane-trip .j-budget-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:22px;margin:0}#pane-trip .j-budget-subtitle{font-family:var(--mono);font-size:11px;color:var(--j-muted)}#pane-trip .j-budget-cats{display:flex;flex-direction:column;gap:12px;margin-top:16px}#pane-trip .j-budget-cat-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;width:100%;background:none;border:none;padding:2px 0;font-family:var(--font);color:inherit;text-align:left;cursor:pointer}#pane-trip .j-budget-label{font-size:12.5px;color:var(--j-muted-strong);font-weight:600}#pane-trip .j-budget-amount{font-family:var(--mono);font-size:12px;color:var(--j-gold-text)}#pane-trip .j-budget-amount.over{color:#a14b2b}#pane-trip .j-budget-track{position:relative;height:6px;border-radius:4px;background:#261d1014;overflow:hidden}#pane-trip .j-budget-fill{height:100%;border-radius:4px;background:var(--j-gold)}#pane-trip .j-budget-fill-actual{position:absolute;top:0;left:0;height:100%;border-radius:4px;background:var(--j-gold-hover)}#pane-trip .j-budget-fill-actual.over{background:#a14b2b}#pane-trip .j-budget-sub{font-family:var(--mono);font-size:10.5px;color:var(--j-muted);margin-top:4px}#pane-trip .j-budget-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(38,29,16,.1);margin-top:18px;padding-top:13px}#pane-trip .j-budget-total-label{font-size:12.5px;font-weight:700;color:var(--j-muted-strong)}#pane-trip .j-budget-total-amount{font-family:var(--display);font-weight:600;font-size:24px;color:var(--j-ink)}#pane-trip .j-budget-total-sub{font-family:var(--mono);font-size:11px;color:var(--j-muted);margin-top:4px;text-align:right}#pane-trip .j-budget-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;background:var(--j-gold-tint);border:1px solid var(--j-gold-border-strong);border-radius:12px}#pane-trip .j-budget-sum-line{flex:1;min-width:0;font-family:var(--mono);font-size:11.5px;line-height:1.5}#pane-trip .j-budget-sum-planned{color:var(--j-ink);font-weight:600}#pane-trip .j-budget-sum-spent{color:var(--j-gold-text)}#pane-trip .j-budget-sum-spent.muted{color:var(--j-muted)}#pane-trip .j-budget-sum-chip{font-family:var(--mono);font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap}#pane-trip .j-budget-sum-chip.under{color:#2f7d4f;background:#2f7d4f1f}#pane-trip .j-budget-sum-chip.over{color:#a14b2b;background:#a14b2b1f}#pane-trip .j-budget-sum-chip.even{color:var(--j-muted);background:#261d1014}#pane-trip .j-budget-state{font-family:var(--mono);font-size:10.5px;color:var(--j-muted);margin-top:4px}#pane-trip .j-budget-state.over{color:#a14b2b}#pane-trip .j-budget-state.fixed{color:var(--j-muted);opacity:.8;letter-spacing:.04em}#pane-trip .j-budget-items{display:none;margin-top:6px;padding-left:2px}#pane-trip .j-budget-cat.open .j-budget-items{display:block}#pane-trip .j-budget-line{display:grid;grid-template-columns:44px 1fr auto auto auto;align-items:baseline;column-gap:8px;padding:4px 0;border-bottom:1px solid rgba(38,29,16,.06);font-size:11px}#pane-trip .j-budget-line:last-child{border-bottom:none}#pane-trip .j-budget-line.single{grid-template-columns:1fr auto;color:var(--j-muted)}#pane-trip .j-budget-line-tag{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--j-gold-text)}#pane-trip .j-budget-line-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--j-ink)}#pane-trip .j-budget-line-planned{font-family:var(--mono);font-size:10.5px;color:var(--j-muted);text-align:right}#pane-trip .j-budget-line-actual{font-family:var(--mono);font-size:10.5px;color:var(--j-ink);text-align:right}#pane-trip .j-budget-line-var{font-family:var(--mono);font-size:10px;text-align:right;min-width:40px}#pane-trip .j-budget-line-var.under{color:#2f7d4f}#pane-trip .j-budget-line-var.over{color:#a14b2b}#day-detail .j-detail-hero{position:relative;height:calc(216px + env(safe-area-inset-top,0px));background:var(--j-ticket);overflow:hidden}#day-detail .j-detail-hero img{width:100%;height:calc(216px + env(safe-area-inset-top,0px));object-fit:cover;display:block;opacity:.92}#day-detail .j-detail-hero-grad-top,#day-detail .j-detail-hero-grad-bottom{position:absolute;left:0;right:0;pointer-events:none}#day-detail .j-detail-hero-grad-top{top:0;height:100%;background:linear-gradient(180deg,rgba(20,14,4,.35),transparent 40%)}#day-detail .j-detail-hero-grad-bottom{bottom:0;height:100%;background:linear-gradient(0deg,rgba(20,14,4,.72),transparent 60%)}#day-detail .j-detail-glass-btn{width:36px;height:36px;border-radius:50%;display:grid;place-content:center;background:#140e048c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(247,236,214,.25);color:var(--j-ticket-text);font-size:18px;line-height:1;cursor:pointer;z-index:2}#day-detail .j-detail-back{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));left:14px}#day-detail .j-detail-pager{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px;display:flex;gap:8px}#day-detail .j-detail-btn-disabled{opacity:.35}#day-detail .j-detail-hero-text{position:absolute;left:20px;right:20px;bottom:14px}#day-detail .j-detail-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:var(--j-eyebrow-ls);text-transform:uppercase;color:var(--j-ticket-gold)}#day-detail .j-detail-loc{font-family:var(--display);font-style:italic;font-weight:600;font-size:27px;margin:3px 0 0;color:var(--j-ticket-text);line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,.5)}#day-detail .j-detail-glance{display:flex;flex-wrap:wrap;gap:6px;padding:14px 20px 0}#day-detail .j-detail-chip{font-family:var(--mono);font-size:11px;color:var(--j-muted-strong);background:var(--j-card);border:1px solid var(--j-card-border);border-radius:999px;padding:4px 11px}#day-detail .j-detail-notes{font-size:13.5px;line-height:1.65;color:var(--j-body);margin:14px 20px 0}#day-detail .j-detail-section{padding:20px 20px 0}#day-detail .j-detail-section-title{font-family:var(--mono);font-size:10px;letter-spacing:var(--j-eyebrow-ls);text-transform:uppercase;color:var(--j-muted);margin:0 0 9px;font-weight:500}#day-detail .j-detail-section-list{display:flex;flex-direction:column;gap:8px}#day-detail .j-detail-bottom-spacer{height:calc(36px + env(safe-area-inset-bottom,0px))}#pane-journal{font-family:var(--font);color:var(--j-ink)}#pane-journal.j-pad-sim{padding-top:34px}#pane-journal .j-journal-header{padding:22px 20px 14px}#pane-journal .j-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:var(--j-eyebrow-ls);text-transform:uppercase;color:var(--j-gold-text)}#pane-journal .j-journal-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:30px;margin:4px 0 0}#pane-journal .j-journal-helper{font-size:13px;color:var(--j-muted);margin-top:6px;line-height:1.4}#pane-journal .j-journal-status{display:none;margin-top:10px;padding:9px 11px;border:1px solid #b84b3b;border-radius:10px;color:#8b2f24;background:#fff4f1;font-size:12px;line-height:1.35}#pane-journal .j-journal-status.visible{display:block}#pane-journal .j-journal-list{display:flex;flex-direction:column;gap:16px;padding:4px 20px 30px}#pane-journal .j-journal-card{background:var(--j-card);border:1px solid var(--j-card-border);border-radius:var(--j-r-card);padding:12px;box-shadow:var(--j-shadow-row)}#pane-journal .j-journal-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;gap:8px}#pane-journal .j-journal-loc{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--j-muted-strong);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#pane-journal .j-journal-slot{position:relative;height:190px;border-radius:18px;overflow:hidden;background:var(--j-gold-tint)}#pane-journal .j-journal-slot.j-empty{border:1.5px dashed var(--j-gold-border-strong);display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--j-gold-tint)}#pane-journal .j-journal-slot.j-empty:hover,#pane-journal .j-journal-slot.j-empty.j-drag-over{background:var(--j-gold-tint-strong)}#pane-journal .j-journal-hint{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--j-gold-text);text-align:center;padding:0 16px;border:0;background:transparent;cursor:pointer}#pane-journal .j-journal-hint:focus-visible{outline:2px solid var(--j-gold-text);outline-offset:5px;border-radius:4px}#pane-journal .j-journal-slot img{width:100%;height:100%;object-fit:cover;display:block}#pane-journal .j-journal-remove{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:999px;border:none;background:#140e048c;color:#fffcf5;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}#pane-journal .j-journal-remove:hover{background:#140e04bf}#pane-journal .j-journal-file-input{display:none}#pane-journal .j-journal-caption{width:100%;box-sizing:border-box;margin-top:10px;font-family:var(--font);font-size:13px;color:var(--j-ink);background:transparent;border:none;border-bottom:1px solid var(--j-card-border);padding:6px 2px}#pane-journal .j-journal-caption::placeholder{color:var(--j-muted)}#pane-journal .j-journal-caption:focus{outline:none;border-bottom-color:var(--j-gold-border-strong)}#pane-journal .j-journal-caption:focus-visible{outline:2px solid var(--j-gold-text);outline-offset:3px;border-radius:4px}:root{--j-bg: #f5efe3;--j-gutter: #e9e1cf;--j-card: #fffcf5;--j-card-border: rgba(38, 29, 16, .09);--j-ink: #261e12;--j-body: #4c4029;--j-muted: #756747;--j-muted-strong: #6b5c3c;--j-gold: #b8862b;--j-gold-hover: #a1751f;--j-gold-text: #8f6a1f;--j-gold-tint: rgba(184, 134, 43, .1);--j-gold-tint-strong: rgba(184, 134, 43, .12);--j-gold-border: rgba(184, 134, 43, .3);--j-gold-border-strong: rgba(184, 134, 43, .45);--j-wed-border: #cbb069;--j-wed-fill: rgba(203, 176, 105, .16);--j-ticket: #221a0e;--j-ticket-alt: #2c2211;--j-ticket-text: #f7ecd6;--j-ticket-text-2: #efe3c6;--j-ticket-gold: #e6c069;--j-ticket-amber: #dd9a55;--j-ticket-muted: #c6ac82;--j-ticket-success: #9dc98a;--j-check-border: #cbb98e;--j-r-card: 16px;--j-r-hero: 22px;--j-r-ticket: 18px;--j-r-thumb: 14px;--j-shadow-hero: 0 18px 44px -26px rgba(40, 28, 10, .55);--j-shadow-ticket: 0 16px 40px -24px rgba(20, 14, 4, .8);--j-shadow-row: 0 8px 22px -18px rgba(40, 28, 10, .5);--j-eyebrow-ls: .18em}#journey{display:none}@media(max-width:720px){#topbar,#timeline,#drawer,.legend-stack{display:none!important}#journey{display:block}.j-pane{position:fixed;inset:0 auto calc(62px + env(safe-area-inset-bottom,0px)) 50%;width:min(100%,430px);transform:translate(-50%);padding-top:env(safe-area-inset-top,0px);display:none;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--j-bg);color:var(--j-ink);font-family:var(--font);z-index:10}.j-pane.j-active{display:block}#map-chrome{background:transparent;pointer-events:none;overflow:hidden}#map-chrome>*{pointer-events:auto}#sim-banner{position:fixed;top:0;left:50%;width:min(100%,430px);transform:translate(-50%);z-index:26;background:var(--j-ticket);padding-top:env(safe-area-inset-top,0px)}#sim-banner[hidden]{display:none}#sim-banner .j-sim-text{display:block;width:100%;background:none;border:0;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--j-ticket-gold);padding:8px 14px;text-align:left}#sim-banner .j-sim-picker{display:flex;gap:6px;overflow-x:auto;padding:0 10px 8px;background:var(--j-ticket-alt)}#sim-banner .j-sim-chip{flex:0 0 auto;border:1px solid var(--j-ticket-gold);border-radius:999px;background:transparent;color:var(--j-ticket-gold);font-family:var(--mono);font-size:10px;padding:5px 10px;cursor:pointer}#sim-banner .j-sim-chip.active{background:var(--j-ticket-gold);color:var(--j-ticket)}#tabbar{position:fixed;left:50%;bottom:0;width:min(100%,430px);transform:translate(-50%);height:calc(62px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);display:flex;background:#fffcf5f0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(38,29,16,.1);z-index:20}.j-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;cursor:pointer;color:var(--j-muted);font-family:var(--font);font-weight:500;font-size:10px}.j-tab .j-tab-glyph{font-size:17px;line-height:1}.j-tab.active{color:var(--j-gold-text);font-weight:700}#day-detail{position:fixed;inset:0 auto 0 50%;width:min(100%,430px);z-index:30;background:var(--j-bg);color:var(--j-ink);font-family:var(--font);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;transform:translate(calc(-50% + 105vw));transition:transform .34s cubic-bezier(.16,1,.3,1)}#day-detail.open{transform:translate(-50%)}#day-detail:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){#day-detail{transition:none}}.j-map-card{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));left:14px;background:#fffcf5eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--j-card-border);border-radius:var(--j-r-card);padding:10px 14px;box-shadow:var(--j-shadow-row)}.j-map-route{font-family:var(--display);font-weight:600;font-size:15px}.j-map-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);background:#fffcf5eb;border:1px solid var(--j-card-border);border-radius:999px;font-family:var(--mono);font-size:10.5px;color:var(--j-muted-strong);padding:6px 12px;white-space:nowrap}.j-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:var(--j-eyebrow-ls);text-transform:uppercase;color:var(--j-gold-text)}}.triplist-toggle,#trip-list{display:none}@media(min-width:721px){.triplist-toggle{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--j-gold-text, var(--text));background:var(--j-card, #fffcf5);border:1px solid var(--j-gold-border, var(--border));border-radius:999px;padding:8px 14px;cursor:pointer}.triplist-toggle:hover{border-color:var(--j-gold-border-strong, var(--accent))}.triplist-toggle.active{background:var(--j-gold-tint, rgba(184, 134, 43, .1));border-color:var(--j-gold-border-strong, var(--accent))}#trip-list:not([hidden]){display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#f5efe3f7;overflow-y:auto;overflow-x:hidden}}#trip-list .tl-wrap{max-width:760px;margin:0 auto;padding:48px 32px 80px}#trip-list .tl-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}#trip-list .tl-window{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--j-gold-text)}#trip-list .tl-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:40px;margin:6px 0 0;color:var(--j-ink)}#trip-list .tl-close{font-size:26px;line-height:1;background:var(--j-card);border:1px solid var(--j-card-border);border-radius:50%;width:40px;height:40px;cursor:pointer;color:var(--j-ink);flex:none}#trip-list .tl-close:focus-visible,#trip-list .tl-daybtn:focus-visible,#trip-list .tl-map:focus-visible{outline:2px solid var(--j-gold-text);outline-offset:3px}#trip-list .tl-close:hover{border-color:var(--j-gold-border-strong)}#trip-list .tl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}#trip-list .tl-day{position:relative;padding:22px 0 22px 40px;border-top:1px solid var(--j-card-border)}#trip-list .tl-day:first-child{border-top:none}#trip-list .tl-dot{position:absolute;left:0;top:24px;width:28px;height:28px;border-radius:50%;background:var(--j-card);border:1px solid var(--j-gold-border-strong);color:var(--j-gold-text);font-family:var(--mono);font-size:10px;display:grid;place-content:center}#trip-list .tl-day.wedding .tl-dot{background:var(--j-wed-fill);border-color:var(--j-wed-border);color:var(--j-gold-text)}#trip-list .tl-daybtn{display:block;width:100%;text-align:left;background:none;border:none;padding:0;cursor:pointer;color:inherit;font-family:inherit}#trip-list .tl-date{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--j-muted)}#trip-list .tl-loc{font-family:var(--font);font-size:20px;font-weight:600;margin:3px 0 0;color:var(--j-ink)}#trip-list .tl-wedtag{display:inline-block;margin-left:10px;vertical-align:middle;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--j-gold-text);background:var(--j-wed-fill);border:1px solid var(--j-wed-border);border-radius:999px;padding:3px 8px}#trip-list .tl-move{margin-top:8px;font-size:13px;color:var(--j-body)}#trip-list .tl-items{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}#trip-list .tl-items li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:var(--j-card);border:1px solid var(--j-card-border);border-radius:12px;padding:8px 12px;font-size:13.5px;color:var(--j-ink)}#trip-list .tl-i-name{min-width:0}#trip-list .tl-i-cost{font-family:var(--mono);font-size:12px;color:var(--j-gold-text);white-space:nowrap}#trip-list .tl-map{margin-top:12px;background:none;border:none;color:var(--j-gold-text);font-family:var(--mono);font-size:11px;letter-spacing:.05em;cursor:pointer;padding:0}#trip-list .tl-map:hover{color:var(--j-gold);text-decoration:underline}
