:root{--bg:#f4f5f7;--card:#fff;--ink:#1d2330;--muted:#6b7280;--line:#e3e6eb;--accent:#1f6feb;--accent-ink:#fff;--danger:#c62828;--flight:#1f6feb;--lodging:#8e44ad;--car:#e67e22;--rail:#16a085;--ferry:#0891b2;--restaurant:#c0392b;--activity:#d4a017;--other:#7f8c8d;--topbar-h:50px;--fade:24px;--scrollbar:color-mix(in srgb, var(--muted) 45%, transparent)}@media (prefers-color-scheme:dark){:root{--bg:#11141a;--card:#1a1f28;--ink:#e6e9ef;--muted:#9aa3b2;--line:#2a313d}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}h1{margin:.2em 0;font-size:1.6rem}h2{margin:0 0 .6em;font-size:1.05rem}h3{margin:0}code,.mono{font-family:ui-monospace,monospace;font-size:.9em}.topbar{height:var(--topbar-h);background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 24px;display:flex}.brand{color:var(--ink);letter-spacing:.02em;align-items:center;gap:8px;font-weight:700;display:inline-flex}.who{color:var(--muted);align-items:center;gap:10px;display:flex}main{max-width:1100px;margin:0 auto;padding:20px 16px 60px}.grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}@media (max-width:820px){.grid{grid-template-columns:1fr}}@media (min-width:821px) and (min-height:900px){main{padding-bottom:20px}.sidebar{max-height:calc(100dvh - var(--topbar-h) - 40px);scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex-direction:column;display:flex;position:sticky;top:20px;overflow-y:auto}.sidebar>.card{flex:none}.sidebar>.card:last-child{margin-bottom:0}.sidebar>.inbox{flex-direction:column;flex:0 auto;min-height:6rem;display:flex}}@media (min-width:821px) and (not (min-height:900px)){.inbox-scroll{max-height:20rem}}@media (min-width:821px){.sidebar>.inbox{padding-bottom:0}.inbox-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;min-height:0;padding-bottom:var(--fade);-webkit-mask-image:linear-gradient(transparent, #000 var(--fade-top), #000 calc(100% - var(--fade)), transparent);mask-image:linear-gradient(transparent, #000 var(--fade-top), #000 calc(100% - var(--fade)), transparent);flex:auto;overflow-y:auto}@supports (animation-timeline:scroll()){.inbox-scroll{animation:linear both inbox-fade-top;animation-timeline:scroll(self);animation-range:0 var(--fade)}}}@property --fade-top{syntax:"<length>";inherits:false;initial-value:0}@keyframes inbox-fade-top{to{--fade-top:var(--fade)}}.card{background:var(--card);border:1px solid var(--line);color:inherit;border-radius:10px;margin-bottom:12px;padding:14px 16px;display:block}.narrow{max-width:420px;margin:60px auto}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.muted{color:var(--muted)}.small{font-size:.85rem}input,textarea,select,button,.button{font:inherit;border-radius:8px}input,textarea,select{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);padding:8px 10px}button,.button{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;padding:8px 14px;display:inline-block}.button.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}input[type=file]{color:var(--muted);cursor:pointer;padding:6px}input[type=file]::file-selector-button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:6px;margin-right:10px;padding:4px 12px;transition:border-color .15s}input[type=file]:hover::file-selector-button{border-color:var(--accent)}input[type=file]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.copy-field{display:flex}.copy-field input{border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}.button.copy{background:var(--card);border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;flex:none;align-items:center;gap:6px;padding:0 10px;transition:color .15s;display:inline-flex}.button.copy:hover{color:var(--accent)}.button.copy:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.button.copy .copied-label:empty,.button.copy:not(.copied) .i:nth-of-type(2),.button.copy.copied .i:first-of-type{display:none}.button.copy.copied{color:var(--accent)}.google-calendar{align-items:center;gap:8px;margin-top:10px;display:inline-flex}button.link{color:var(--accent);background:0 0;padding:0}button.danger{background:var(--danger)}.trip-card{align-items:center;gap:14px;transition:border-color .15s;display:flex}.trip-thumb{object-fit:cover;object-position:var(--focus,50% 35%);background:var(--bg);border-radius:8px;flex:none;width:72px;height:72px}.trip-thumb.placeholder{color:var(--muted);place-items:center;display:grid}.trip-info{min-width:0}.trip-photo{margin:8px 0 0}.trip-photo img{aspect-ratio:5;object-fit:cover;object-position:var(--focus,50% 35%);background:var(--bg);border-radius:10px;width:100%;display:block}.trip-photo figcaption{text-align:right;margin-top:4px}@media (max-width:820px){.trip-photo img{aspect-ratio:2.5;object-position:var(--focus-narrow,50% 35%)}}.trip-card:hover{border-color:var(--accent)}.trip-card.dragging{opacity:.5}.merging .trip-card:not(.dragging){border-style:dashed}.trip-card.drop-target{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--card));border-style:solid}.trip-name{margin:2px 0;font-size:1.15rem;font-weight:600}.trip-dates{color:var(--muted);font-size:.9rem}.alerts{border-left:4px solid var(--activity)}.alerts ul{margin:0;padding-left:18px}.inbox-item{border-top:1px solid var(--line);padding:8px 0}.inbox-item:first-of-type{border-top:0}.inbox-item .label{margin-left:6px}.badge{text-transform:uppercase;letter-spacing:.04em;background:var(--line);border-radius:99px;padding:2px 7px;font-size:.72rem}.badge.done{color:#146c2e;background:#d1f4dd}.badge.failed{color:var(--danger);background:#fde0e0}.badge.no_travel{color:var(--muted);background:#eceff3}.badge.queued,.badge.parsing,.badge.extracting,.badge.filing{color:var(--accent);background:#dbe9ff;animation:1.2s infinite pulse}@keyframes pulse{50%{opacity:.55}}.trip-header{align-items:flex-end;margin:8px 0 18px}.actions{align-items:flex-start;gap:8px;display:flex}.dialog{border:1px solid var(--line);background:var(--card);width:min(360px,100vw - 32px);color:var(--ink);border-radius:10px;padding:18px}.dialog::backdrop{background:#00000073}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-footer{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.merge-question{margin:0 0 8px}.merge-field{gap:8px;display:flex}.merge-field select{min-width:0}.dialog.wide{width:min(560px,100vw - 32px)}.fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 12px;display:grid}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.field.wide{grid-column:1/-1}.dialog.wide .dialog-actions{background:var(--card);border-top:1px solid var(--line);margin:0 -18px -18px;padding:12px 18px 18px;position:sticky;bottom:-18px}.field input,.field textarea,.field select{font-size:1rem}.timeline{--clock:52px;--node:32px;--gap:10px;--rail-x:calc(var(--clock) + var(--gap) + var(--node) / 2 - 1px);--entry-gap:12px;--stop:12px;--stop-lift:27px}.day{padding:18px 0 8px calc(var(--clock) + var(--gap) + var(--node) + var(--gap));color:var(--muted);margin:0;font-size:.95rem;font-weight:600;position:relative}.day-group:first-child .day{padding-top:0}.day-group+.day-group .day:before,.entry:before{content:"";left:var(--rail-x);border-left:2px solid var(--line);position:absolute}.day-group+.day-group .day:before{top:0;bottom:0}.day-number{margin-left:6px;font-size:.85rem;font-weight:400}.entries{margin:0;padding:0;list-style:none}.entry{--kind:var(--other);grid-template-columns:var(--clock) var(--node) minmax(0, 1fr);gap:0 var(--gap);padding-bottom:var(--entry-gap);align-items:start;display:grid;position:relative}.entry:before{top:calc(10px + var(--node) / 2);bottom:0}.day-group:last-child .entry:last-child:before{display:none}.day-group:last-child .entry:last-child:has(.stop):before{bottom:calc(var(--entry-gap) + var(--stop-lift) + var(--stop) / 2);display:block}.entry.flight{--kind:var(--flight)}.entry.lodging{--kind:var(--lodging)}.entry.car{--kind:var(--car)}.entry.rail{--kind:var(--rail)}.entry.ferry{--kind:var(--ferry)}.entry.restaurant{--kind:var(--restaurant)}.entry.activity{--kind:var(--activity)}.entry>.card{align-self:stretch;margin:0}.clock{font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;align-self:stretch;gap:8px;padding:12px 0;line-height:1.2;display:flex}.clock .at{flex-direction:column;align-items:flex-end;display:flex}.clock time{font-size:1.05rem;font-weight:600}.clock .bound,.clock .zone{color:var(--muted);font-size:.75rem}.track{flex-direction:column;justify-content:space-between;align-self:stretch;align-items:center;display:flex}.stop{width:var(--stop);height:var(--stop);margin-bottom:var(--stop-lift);border:2px solid var(--kind);background:var(--card);border-radius:50%;position:relative}.node{width:var(--node);height:var(--node);border:2px solid var(--kind);background:var(--card);color:var(--kind);border-radius:50%;place-items:center;margin-top:10px;display:grid;position:relative}.segment.checkout{padding-top:10px;padding-bottom:10px}@media (max-width:520px){.timeline{--clock:44px;--node:28px;--gap:6px}}.i{vertical-align:-.25em;flex:none;width:1.25em;height:1.25em}.segment{--kind:var(--other);border-left:4px solid var(--kind);gap:14px;display:flex}.segment .icon{width:28px;color:var(--kind);padding-top:2px}.trip-thumb .i,.segment .icon .i{width:24px;height:24px}.segment .body{flex:1;min-width:0}.segment .when{margin:2px 0;font-size:1.05rem}.segment.flight{--kind:var(--flight)}.segment.lodging{--kind:var(--lodging)}.segment.car{--kind:var(--car)}.segment.rail{--kind:var(--rail)}.segment.ferry{--kind:var(--ferry)}.segment.restaurant{--kind:var(--restaurant)}.segment.activity{--kind:var(--activity)}.facts{grid-template-columns:max-content 1fr;gap:2px 12px;margin:8px 0 0;font-size:.9rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.answer{background:var(--bg);white-space:pre-wrap;border-radius:8px;margin-top:12px;padding:10px 12px}.error{color:var(--danger);margin:0}.passkey,.sender{border-top:1px solid var(--line);padding:8px 0}.account{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:12px 20px;max-width:760px;margin:40px auto;display:grid}.account-header{grid-column:1/-1}.account-header p{margin:0}.tabs{flex-direction:column;gap:2px;display:flex}.tabs a{color:var(--muted);border-left:3px solid #0000;border-radius:8px;padding:8px 12px}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{background:var(--card);border-left-color:var(--accent);color:var(--ink);font-weight:600}.tab-panel,.tab-panel h2{margin:0}@media (max-width:640px){.account{grid-template-columns:minmax(0,1fr);margin-top:0}.tabs{border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto}.tabs a{white-space:nowrap;border-bottom:3px solid #0000;border-left:0;border-radius:0}.tabs a[aria-current=page]{border-bottom-color:var(--accent);background:0 0}}.dropzone{z-index:10;background:color-mix(in srgb, var(--accent) 18%, transparent);outline:3px dashed var(--accent);outline-offset:-12px;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dropzone[hidden],.drop-status[hidden]{display:none}.dropzone-panel{background:var(--card);border:1px solid var(--line);pointer-events:none;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:18px 26px;display:flex}.drop-status{z-index:11;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 16px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000026}.drop-status.error{border-color:var(--danger);color:var(--danger)}.journey{padding:0;display:block}.journey>summary{cursor:pointer;gap:14px;padding:14px 16px;list-style:none;display:flex}.journey>summary::-webkit-details-marker{display:none}.journey>summary .body:after{content:"Show segments ▾";color:var(--accent);margin-top:4px;font-size:.85rem;display:block}.journey[open]>summary .body:after{content:"Hide segments ▴"}.journey .route{letter-spacing:.02em;font-size:1.05rem}.journey .legs{padding:0 16px 4px}.journey .legs .segment{margin-bottom:0}.layover{border-left:2px dashed var(--line);margin-left:18px;padding:6px 0 6px 14px}.warning{color:#9a6700;margin-top:4px;font-weight:600}@media (prefers-color-scheme:dark){.warning{color:#e3b341}}.layover.warning{border-left-color:var(--activity)}
