:root{--bg:#eef0ec;--bg-dot:#0f172a0f;--surface:#fff;--surface-2:#f6f7f4;--ink:#111726;--ink-2:#3b4252;--muted:#6b7280;--line:#e3e5df;--accent:#e4432d;--accent-ink:#fff;--accent-soft:#fde9e5;--ok:#1a7f4b;--warn:#a15c00;--warn-soft:#fff4dc;--error:#c0261a;--pass:#111726;--pass-ink:#f4f1ea;--pass-muted:#9aa3b5;--shadow:0 1px 2px #1117260d, 0 8px 24px -12px #1117262e;--t-flight:#2f6bff;--t-rail:#0f9d74;--t-road:#b7791f;--t-water:#0c93a6;--t-stay:#5b5bd6;--t-event:#e0457b;--t-food:#ef7d00;--t-car:#0e7490;--t-other:#6b7280;--display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--text:"Onest", ui-sans-serif, system-ui, -apple-system, sans-serif;--r-lg:20px;--r-md:14px;--r-sm:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0b0e14;--bg-dot:#ffffff0b;--surface:#141922;--surface-2:#1b212d;--ink:#eef1f6;--ink-2:#c5cbd6;--muted:#8b93a5;--line:#262d3b;--accent:#ff5a41;--accent-soft:#3a1c18;--ok:#4cc38a;--warn:#f0b44c;--warn-soft:#2e2512;--error:#ff7a6b;--pass:#f4f1ea;--pass-ink:#111726;--pass-muted:#5c6475;--shadow:0 1px 2px #0006, 0 10px 30px -14px #000000b3;--t-flight:#6d97ff;--t-rail:#34c796;--t-road:#e0a64a;--t-water:#3cc3d4;--t-stay:#8e8ef0;--t-event:#ff7aa6;--t-food:#ffa23a;--t-car:#38b2cc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{background:var(--bg);color:var(--ink);margin:0}body{font-family:var(--text);-webkit-font-smoothing:antialiased;background-image:radial-gradient(var(--bg-dot) 1px, transparent 1px);background-size:18px 18px;min-height:100vh;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}p{margin:0 0 12px}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0}.page{max-width:680px;padding:max(14px, env(safe-area-inset-top)) 16px max(96px, env(safe-area-inset-bottom));margin:0 auto}.masthead{justify-content:space-between;align-items:center;gap:12px;padding:6px 0 18px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);width:32px;height:32px;color:var(--bg);font-family:var(--display);border-radius:10px;place-items:center;font-size:18px;font-weight:800;display:grid;position:relative}.brand-mark:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.brand h1{font-size:22px;font-weight:800}.brand .tagline{display:none}.icon-button{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink-2);cursor:pointer;border-radius:12px;place-items:center;text-decoration:none;display:grid}.icon-button:hover{color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:14px;padding:18px}.card h2{margin-bottom:8px;font-size:21px;font-weight:700}.card h3{margin-bottom:6px;font-size:17px;font-weight:700}section{margin-bottom:8px}h2.section{font-size:13px;font-family:var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;margin:28px 2px 12px;font-weight:700;display:flex}.count{font-family:var(--text);letter-spacing:0;background:var(--accent);color:var(--accent-ink);text-transform:none;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.muted{color:var(--muted);font-size:14px}.error{color:var(--error);font-size:14px}.ok{color:var(--ok);font-weight:600}.empty{padding:4px 2px 8px}.notice{border:1px dashed var(--line);border-radius:var(--r-md);padding:16px}.back{color:var(--muted);align-items:center;gap:6px;margin:0 0 12px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}.primary{background:var(--ink);color:var(--bg);white-space:nowrap;border:0;border-radius:12px;padding:11px 18px;font-weight:700;transition:transform .12s}.primary:active{transform:scale(.98)}.primary.accent{background:var(--accent);color:var(--accent-ink)}.secondary{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 16px;font-weight:650}.link{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:6px 0;font-size:14px;font-weight:600;text-decoration:underline}a.primary,a.button{text-decoration:none;display:inline-block}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}label{color:var(--muted);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}input,select,textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--ink);padding:10px 12px;font-size:16px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:1px}.dates{gap:10px;display:flex}.dates>*{flex:1;min-width:0}.form{flex-direction:column;gap:12px;display:flex}form.inline{gap:8px;display:flex}form.inline input{flex:1;min-width:0}.pass{background:var(--pass);color:var(--pass-ink);border-radius:24px;margin-bottom:18px;padding:20px 20px 18px;text-decoration:none;display:block;position:relative;overflow:hidden;box-shadow:0 18px 40px -22px #111726cc}.pass-top{letter-spacing:.1em;text-transform:uppercase;color:var(--pass-muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:700;display:flex}.pass-top>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pass-chip{white-space:nowrap;background:var(--accent);color:#fff;letter-spacing:.02em;text-transform:none;border-radius:999px;flex:none;padding:3px 10px;font-size:13px}.pass-main{align-items:baseline;gap:14px;margin:14px 0 12px;display:flex}.pass-time{font-family:var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:52px;font-weight:800;line-height:1}.pass-time.soft{letter-spacing:-.02em;white-space:nowrap;font-size:28px}.pass-title{font-family:var(--display);font-size:22px;font-weight:700;line-height:1.15}.pass-tear{border-top:2px dashed color-mix(in srgb, var(--pass-muted) 50%, transparent);margin:16px -20px 14px;position:relative}.pass-tear:before,.pass-tear:after{content:"";background:var(--bg);border-radius:50%;width:22px;height:22px;position:absolute;top:-12px}.pass-tear:before{left:-11px}.pass-tear:after{right:-11px}.pass-foot{color:var(--pass-muted);justify-content:space-between;gap:12px;font-size:14px;display:flex}.pass-foot strong{color:var(--pass-ink);font-weight:600}.pass .label-pill{letter-spacing:.06em;text-transform:uppercase;color:var(--pass-ink);opacity:.8;margin-bottom:2px;font-size:12px;font-weight:700;display:inline-block}.tone{--tone:var(--t-other)}.tone-flight{--tone:var(--t-flight)}.tone-rail{--tone:var(--t-rail)}.tone-road{--tone:var(--t-road)}.tone-water{--tone:var(--t-water)}.tone-stay{--tone:var(--t-stay)}.tone-event{--tone:var(--t-event)}.tone-food{--tone:var(--t-food)}.tone-car{--tone:var(--t-car)}.bubble{width:38px;height:38px;color:var(--tone);background:color-mix(in srgb, var(--tone) 14%, transparent);border-radius:12px;flex:none;place-items:center;display:grid}.bubble svg{width:20px;height:20px}.kind-pill{letter-spacing:.08em;text-transform:uppercase;color:var(--tone);font-size:11px;font-weight:800}.trip-card{align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.trip-card .trip-name{font-family:var(--display);font-size:20px;font-weight:700;line-height:1.2}.trip-card .grow{flex:1;min-width:0}.trip-card .status{color:var(--accent);font-size:13px;font-weight:700}.trip-card.past .status,.trip-card .chev{color:var(--muted)}.review-dot{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.trip-hero{padding:6px 2px 4px}.trip-hero h2{margin-bottom:6px;font-size:34px;font-weight:800;line-height:1.05}.trip-hero .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;font-weight:600;display:flex}.trip-hero .status{color:var(--accent)}.members{align-items:center;gap:6px;display:flex}.avatar{background:var(--surface-2);border:1px solid var(--line);width:26px;height:26px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.toolbar{flex-wrap:wrap;gap:8px;margin:14px 0 4px;display:flex}.toolbar .secondary{padding:8px 14px;font-size:14px}.day{margin-top:22px}.day-head{z-index:2;background:linear-gradient(var(--bg) 70%, transparent);align-items:baseline;gap:10px;padding:10px 2px 8px;display:flex;position:sticky;top:0}.day-head .date{font-family:var(--display);font-size:17px;font-weight:800}.day-head .n{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.rail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);position:relative;overflow:hidden}.event{grid-template-columns:58px 38px 1fr 16px;align-items:center;gap:12px;padding:14px 14px 14px 16px;text-decoration:none;display:grid;position:relative}.event+.event{border-top:1px solid var(--line)}.event:active{background:var(--surface-2)}.event .time{font-family:var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:19px;font-weight:800}.event .time.soft{color:var(--muted);font-size:13px;font-family:var(--text);font-weight:700}.event .title{font-weight:650;line-height:1.25}.event .sub{color:var(--muted);margin-top:2px;font-size:13.5px;line-height:1.35}.event .label{letter-spacing:.08em;text-transform:uppercase;color:var(--tone);margin-bottom:1px;font-size:11px;font-weight:800;display:block}.event .chev{color:var(--muted);opacity:.6}.event.cancelled{opacity:.55}.event.cancelled .title{text-decoration:line-through}.event .edited{color:var(--warn);margin-left:6px;font-size:11px;font-weight:700}.pending{padding-left:22px;position:relative;overflow:hidden}.pending:before{content:"";background:var(--tone);width:5px;position:absolute;inset:0 auto 0 0}.pending-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.kind{letter-spacing:.08em;text-transform:uppercase;background:var(--surface-2);color:var(--ink-2);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}.kind.update{background:var(--warn-soft);color:var(--warn)}.kind.cancellation{background:var(--accent-soft);color:var(--error)}.res{gap:12px;display:flex}.res-body{flex:1;min-width:0}.res-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.res-head strong{font-family:var(--display);letter-spacing:-.01em;font-size:19px;font-weight:700}.badge{display:none}.res-line{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:14.5px}.res-meta{color:var(--muted);margin-top:6px;font-size:13px}.changes,.warnings{border-radius:var(--r-sm);margin:12px 0 0;padding:10px 12px 10px 28px;font-size:14px}.changes{background:var(--surface-2)}.warnings{background:var(--warn-soft);color:var(--warn)}.changes li,.warnings li{margin:2px 0}.picker{margin-top:12px}.newtrip{flex-direction:column;gap:8px;margin-top:8px;display:flex}.pending.compact{justify-content:space-between;align-items:center;gap:12px;padding-top:14px;padding-bottom:14px;display:flex}.pending.compact .muted{align-items:center;gap:8px;display:inline-flex}.banner{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent);align-items:center;gap:14px;text-decoration:none;display:flex}.banner strong{font-family:var(--display);font-size:17px;display:block}.banner span{color:var(--ink-2);font-size:14px}.notice-card{border-left:5px solid var(--warn)}.notice-card h3{color:var(--ink)}.detail-head{align-items:center;gap:14px;margin-bottom:8px;display:flex}.detail-head .bubble{border-radius:14px;width:48px;height:48px}.detail-head .bubble svg{width:24px;height:24px}.detail-head h2{font-size:28px;font-weight:800;line-height:1.1}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:7px;margin:8px 0 16px;display:grid}.quick-action{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);flex-direction:column;align-items:center;gap:6px;padding:10px 4px 9px;text-decoration:none;transition:transform .12s,border-color .12s;display:flex}.quick-action:hover{border-color:var(--tone)}.quick-action:active{transform:scale(.96)}.qa-icon{width:36px;height:36px;color:var(--tone);background:color-mix(in srgb, var(--tone) 14%, transparent);border-radius:11px;place-items:center;display:grid}.qa-label{text-align:center;font-size:12px;font-weight:700;line-height:1.2}.fact-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--tone,var(--accent)) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--tone,var(--accent)) 55%, transparent);text-underline-offset:3px;text-decoration-thickness:2px}.fact-link:hover{-webkit-text-decoration-color:var(--tone,var(--accent));text-decoration-color:var(--tone,var(--accent))}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.fact .k{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.fact .v{overflow-wrap:anywhere;font-weight:600}.fact.wide{grid-column:1/-1}.chip-edited{letter-spacing:.04em;color:var(--warn);background:var(--warn-soft);text-transform:uppercase;border-radius:5px;padding:1px 6px;font-size:10.5px;font-weight:800}.editor-group{margin-top:18px}.editor-group h3{font-size:15px;font-family:var(--text);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:800}.editor-row{gap:6px;margin-bottom:12px;display:grid}.editor-row .row-head{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.editor-row .reset{color:var(--accent);background:0 0;border:0;padding:0;font-size:12.5px;font-weight:700}.editor-row .was{color:var(--muted);font-size:12.5px}.editor-actions{bottom:max(12px, env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;gap:10px;margin-top:16px;padding:12px;display:flex;position:sticky}.editor-actions .primary{flex:1}.wizard h2{font-size:24px;font-weight:800}.progress{gap:6px;margin-bottom:18px;display:flex}.progress span{background:var(--line);border-radius:3px;flex:1;height:5px}.progress span.on{background:var(--accent)}.steps{margin:4px 0 14px;padding-left:22px}.steps li{margin-bottom:10px}.tip{background:var(--warn-soft);color:var(--ink-2);border-radius:var(--r-sm);padding:12px 14px;font-size:14px}.waiting{color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse}details{margin-top:12px;font-size:14px}summary{cursor:pointer;color:var(--muted);font-weight:600}.copyfield{align-items:center;gap:10px;margin:10px 0 4px;display:flex}.copyfield code{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2);overflow-wrap:anywhere;cursor:text;flex:1;min-width:0;padding:11px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:15px}.copyfield.multiline{align-items:flex-start}.copyfield.multiline code{font-size:12.5px;line-height:1.5}.copyfield.big code{font-family:var(--display);letter-spacing:.14em;text-align:center;font-size:32px;font-weight:800}@media (width<=440px){.copyfield{flex-direction:column;align-items:stretch}}.arrivals{left:50%;bottom:max(18px, env(safe-area-inset-bottom));z-index:10;background:var(--ink);color:var(--bg);border:0;border-radius:999px;padding:11px 20px;font-weight:700;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px -10px #00000080}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.reveal{animation:.45s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:calc(var(--i,0) * 45ms)}@media (prefers-reduced-motion:reduce){.reveal,.dot{animation:none}.primary{transition:none}}
