:root{--ink:#1c1c1e;--paper:#f5f5f7;--surface:#fff;--line:#e2e3e7;--muted:#666970;--blue:#0068ce;--hover:#eceef2;--green:#087d4b;--green-soft:#e8f5ed;--amber:#956000;--amber-soft:#fff3d9;--red:#c22532;--red-soft:#fff0f0;font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);accent-color:var(--blue);color-scheme:light}
*{box-sizing:border-box}
[hidden]{display:none!important}
body,figure,p,h1,h2,h3{margin:0}
body{min-height:100svh}
img{display:block;max-width:100%;height:auto}
a,button,input,textarea,select{font:inherit}
a{color:var(--blue);text-underline-offset:3px}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled{opacity:.5;cursor:default}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
::selection{background:#cce3ff;color:#172b46}
h1,h2,h3{font-weight:700;letter-spacing:-.025em}
h1{font-size:2.125rem;line-height:1.15}
h2{font-size:1.5rem;line-height:1.25}
h3{font-size:1.0625rem;line-height:1.3}
.primary,.plain,.danger{min-height:44px;padding:9px 14px;border:0;border-radius:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}
.primary{background:var(--blue);color:white}.primary:hover{background:#005bb6}
.plain{background:transparent;color:var(--blue)}.plain:hover{background:var(--hover)}
.danger{background:var(--red-soft);color:var(--red);margin-left:auto}.danger:hover{background:#ffe0e2}
.mast,.shell{max-width:1184px;margin:auto;padding-inline:32px}
.mast{height:84px;display:flex;justify-content:space-between;align-items:center}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:1rem;font-weight:650;color:var(--ink);text-decoration:none}
.brand img{width:36px;height:36px;border-radius:9px}
.mast .plain{font-size:.875rem;color:var(--muted)}
.shell{padding-bottom:48px}
.trip-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 42px;gap:16px}
.trip-heading p{margin-top:7px;color:var(--muted);font-size:1rem}
.trip-destination{color:#858991;font-size:2.125rem;font-weight:650;letter-spacing:-.035em}
.trip-workspace{max-width:740px;margin:auto}
.trip-workspace:has(.flight-board:not([hidden]),.event-detail:not([hidden])){max-width:none;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:48px;align-items:start}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.section-head h2{font-size:1.375rem}
.days{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:22px 0 28px}
.day{position:relative;display:grid;justify-items:center;align-content:center;gap:5px;min-width:0;min-height:76px;padding:9px 2px 14px;background:transparent;border:0;border-radius:12px;color:var(--muted)}
.day:hover{background:var(--hover)}
.day small{font-size:.75rem;line-height:1.2}
.day strong{font-size:1.3125rem;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.day[aria-pressed=true]{background:var(--ink);color:white}.day[aria-pressed=true] strong{color:white}
.day.has-plans::after{content:"";position:absolute;bottom:6px;width:3px;height:3px;border-radius:50%;background:var(--muted)}
.day.has-plans[aria-pressed=true]::after{background:white}
.agenda-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 13px}
.agenda-head h3{font-size:.9375rem;font-weight:650}.agenda-head p{color:var(--muted);font-size:.8125rem}
.plans{list-style:none;padding:0;margin:0;display:grid;gap:12px}.plan{min-width:0}
.event-entry,.flight-entry{position:relative;display:flex;flex-direction:column;gap:9px;width:100%;padding:18px;text-align:left;background:var(--surface);border:0;border-radius:14px;color:var(--ink);transition:background .15s ease-out}
.event-entry:hover,.flight-entry:hover{background:#ebedf1}
.entry-top,.flight-entry-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px;font-size:.75rem;color:var(--muted)}
.entry-time{font-size:.8125rem;font-weight:550;color:var(--muted);font-variant-numeric:tabular-nums}
.event-entry strong{font-size:1.125rem;font-weight:650;letter-spacing:-.018em;padding-right:14px;overflow-wrap:anywhere}
.entry-place{font-size:.875rem;color:var(--muted);padding-right:14px;overflow-wrap:anywhere}
.entry-chevron{position:absolute;right:20px;top:55%;width:7px;height:7px;border-right:1.5px solid #989aa0;border-top:1.5px solid #989aa0;transform:rotate(45deg)}
.flight-entry strong{font-size:1.875rem;line-height:1.2;letter-spacing:-.025em;font-weight:650}
.entry-flight-state{font-size:.75rem;color:var(--muted)}.entry-flight-state[data-tone=positive]{color:var(--green)}.entry-flight-state[data-tone=notice]{color:var(--amber)}.entry-flight-state[data-tone=danger]{color:var(--red)}
.entry-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8125rem;color:var(--muted)}
.added-by{display:inline-flex;align-items:center;gap:5px;font-size:.6875rem;color:var(--muted);line-height:1.3;font-weight:400;text-align:left}.added-by:empty{display:none}
.added-by img,.author-initial{width:20px;height:20px;flex:none;border-radius:50%}
.author-initial{display:grid;place-items:center;background:#e7e9ef;color:#505866;font-size:.625rem;font-weight:600}
#status:not(:empty){background:var(--surface);border-radius:14px;min-height:132px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);font-size:.9375rem}
.entry-clocks{display:flex;justify-content:space-between;gap:12px;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}.entry-traveler{font-size:.75rem;color:var(--muted)}
.editor{padding:22px;background:var(--surface);border-radius:14px;margin:16px 0}
.editor h3{font-size:1.25rem}.editor label{display:grid;gap:6px;margin-top:16px;font-size:.8125rem;font-weight:600;color:var(--muted)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.editor input,.editor select,.editor textarea{width:100%;min-width:0;min-height:44px;border:1px solid #c3c6cd;border-radius:8px;padding:10px;background:var(--surface);color:var(--ink);font-weight:400;caret-color:var(--blue)}
.editor input::placeholder,.editor textarea::placeholder{color:#757981}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
#form-status:not(:empty),#flight-form-status:not(:empty),#flight-list-status:not(:empty){margin-top:12px;color:var(--red);font-size:.875rem}
.detail-head{margin:0 0 18px}.detail-head .plain:first-child{padding-left:0}
.event-heading{position:relative;padding:24px;background:var(--surface);border-radius:14px}
.event-heading .added-by{display:flex;justify-content:flex-end;margin-bottom:18px;margin-left:auto}
.event-heading h2{font-size:1.75rem;line-height:1.2;overflow-wrap:anywhere}
.event-heading p{margin-top:12px;font-size:.9375rem}.event-heading p.secondary{font-size:.75rem;color:var(--muted);margin-top:3px}
#event-content>section{margin-top:28px}#event-content h3{margin-bottom:10px}
.location-name{font-size:.9375rem;margin-bottom:12px;overflow-wrap:anywhere}
.location-map{height:250px;border-radius:14px;overflow:hidden;background:#e5e9e6}.location-map iframe{display:block;border:0;width:100%;height:100%}
.map-status{display:grid;place-items:center;height:100%;padding:24px;text-align:center;color:#4d5755;font-size:.875rem}.map-unavailable{height:120px}
.location-match{margin:8px 0 0;font-size:.75rem;color:var(--muted)}
.map-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-top:8px;font-size:.875rem}
.map-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:550;text-decoration:none}.map-links a:hover{text-decoration:underline}
.event-notes p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9375rem;line-height:1.6}
.people-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:16px}
.people-list .added-by{font-size:.875rem;color:var(--ink);gap:8px}.people-list .author-initial,.people-list img{width:28px;height:28px;font-size:.75rem}
.event-people .secondary{font-size:.75rem;color:var(--muted)}
.flight-layout{display:grid;gap:18px;margin-top:18px}.flight-list,.flight-row{min-width:0}
.flight-pass{overflow:hidden;border-radius:14px;background:var(--surface)}
.flight-pass-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 22px}.flight-pass-top h3{font-size:.9375rem;font-weight:650}
.flight-condition{padding:11px 22px;background:#e9ecf0;color:#58606c;font-size:.875rem;font-weight:550}
.flight-condition[data-tone=positive]{background:var(--green-soft);color:var(--green)}.flight-condition[data-tone=notice]{background:var(--amber-soft);color:var(--amber)}.flight-condition[data-tone=danger]{background:var(--red-soft);color:var(--red)}
.flight-pass-route{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:10px;padding:25px 22px}
.flight-leg{display:grid;gap:6px;min-width:0}.flight-leg:last-child{text-align:right}.flight-leg>span{font-size:.75rem;color:var(--muted)}
.flight-leg strong{font-size:2.75rem;letter-spacing:-.035em;line-height:1;font-weight:650}
.flight-leg time{font-size:1.625rem;line-height:1.1;letter-spacing:-.025em;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.flight-leg time[data-tone=notice]{color:var(--amber)}.flight-leg .scheduled-time{font-size:.75rem;color:var(--muted);font-weight:400;letter-spacing:0;line-height:1.4}
.flight-pass-connector{display:flex;align-items:center;justify-content:center;color:#a4a9b0}
.flight-pass-stub{position:relative;border-top:1px dashed #d0d3d9;padding:19px 22px}
.flight-pass-stub::before,.flight-pass-stub::after{content:"";position:absolute;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--paper)}
.flight-pass-stub::before{left:-7px}.flight-pass-stub::after{right:-7px}
.flight-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;margin:20px 2px;font-size:.875rem}
.flight-facts dt{font-size:.75rem;color:var(--muted);margin-bottom:4px}.flight-facts dd{margin:0;font-size:.9375rem;font-weight:600;overflow-wrap:anywhere}
.flight-pass-stub .flight-facts{margin:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px}.flight-pass-stub dd{font-size:1.125rem}.flight-pass-stub .flight-facts>div:first-child{grid-column:1/-1}
.flight-data-source{font-size:.75rem;color:var(--muted);margin-top:12px}.flight-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.flight-tools .plain{background:var(--surface);font-size:.8125rem}
.flight-map{background:#e7f0f6;border-radius:14px;overflow:hidden}.flight-map svg{display:block;width:100%;height:auto;aspect-ratio:2/1}
.flight-map figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 14px;font-size:.75rem;color:#4e626a;background:#e0eaf0}
.map-reset{border:0;background:none;color:#225a77;font-size:.75rem;font-weight:600;min-height:44px;padding:8px 0}
.flight-credit{font-size:.6875rem;color:var(--muted);margin-top:8px}.flight-credit a{color:inherit}
.flight-trail{fill:none;stroke:#258bc0;stroke-width:2;vector-effect:non-scaling-stroke}.plane-dot{fill:#0068ce;stroke:white;stroke-width:2;vector-effect:non-scaling-stroke}.plane-label{fill:#174057;paint-order:stroke;stroke:#e7f0f6;stroke-width:3;font:600 14px -apple-system,BlinkMacSystemFont,sans-serif}
.gate{display:grid;place-items:center;padding:24px}.ticket{width:100%;max-width:420px;text-align:center}.art img{width:80px;height:80px;border-radius:20px;margin:0 auto 28px}.welcome h1{font-size:2.5rem}.welcome h1 br,.period{display:none}
.route{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:16px;font-size:.8125rem;color:var(--muted)}.route span:first-child{font-weight:650;color:var(--ink)}.welcome>p{margin-top:22px;color:var(--muted);font-size:.9375rem}.sign-in{width:100%;margin-top:32px;background:var(--surface);color:var(--ink);border:1px solid var(--line);gap:12px}.sign-in:hover{background:var(--hover)}.welcome .fine{font-size:.75rem;margin-top:16px}
@media(min-width:801px){.shell:not(:has(.flight-board:not([hidden]),.event-detail:not([hidden]))) .trip-heading{max-width:740px;margin-inline:auto}.event-detail,.flight-board{position:sticky;top:24px}}
@media(max-width:800px){.mast,.shell{padding-inline:20px}.mast{height:68px}.trip-heading{margin:22px 0 32px}.trip-destination{font-size:1.625rem}.trip-workspace:has(.flight-board:not([hidden]),.event-detail:not([hidden])){display:block}.calendar:has(.flight-board:not([hidden]),.event-detail:not([hidden])) .schedule,.calendar:has(.flight-board:not([hidden]),.event-detail:not([hidden])) .trip-heading{display:none}.event-detail,.flight-board{padding-top:16px}.flight-layout{gap:14px}.flight-pass-route{padding:22px}.days{gap:2px;margin-top:18px}.day{min-height:70px}.section-head h2{font-size:1.25rem}.section-head .primary{font-size:.875rem}}
@media(max-width:400px){.mast,.shell{padding-inline:16px}h1{font-size:2rem}.trip-destination{font-size:1.25rem}.event-entry,.flight-entry{padding:16px}.added-by{font-size:.625rem}.entry-top,.flight-entry-top{gap:5px}.flight-entry-top>span:first-child{font-size:.6875rem}.day small{font-size:.6875rem}.day strong{font-size:1.25rem}.flight-pass-top,.flight-pass-stub{padding:16px 18px}.flight-pass-route{padding:22px 18px;gap:6px;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.flight-leg strong{font-size:2.5rem}.flight-leg time{font-size:1.375rem}.fields{grid-template-columns:1fr}.event-heading{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

.account-tools{display:flex;align-items:center;gap:4px}.theme-toggle{width:44px;padding:10px}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.added-by{font-size:.75rem;max-width:58%}.added-by>span:last-child{overflow-wrap:anywhere}.flight-credit{font-size:.75rem}
.flight-entry-top>span:first-child{font-size:.75rem}.day small{font-size:.75rem}.people-list .added-by{max-width:none}
:root[data-theme=dark]{--ink:#f5f5f7;--paper:#0e0e10;--surface:#1c1c1f;--line:#303034;--muted:#a0a0a8;--blue:#64aaff;--hover:#28282d;--green:#59d99b;--green-soft:#142d23;--amber:#f0bd66;--amber-soft:#352919;--red:#ff858b;--red-soft:#382024;color-scheme:dark}
[data-theme=dark] .primary{background:#3d91f5;color:#071626}[data-theme=dark] .primary:hover{background:#69aaff}
[data-theme=dark] .day[aria-pressed=true]{background:#f3f3f5;color:#151517}[data-theme=dark] .day[aria-pressed=true] strong{color:#151517}[data-theme=dark] .day.has-plans[aria-pressed=true]::after{background:#151517}
[data-theme=dark] .event-entry:hover,[data-theme=dark] .flight-entry:hover{background:#29292e}
[data-theme=dark] .author-initial{background:#33333b;color:#c5c5d0}
[data-theme=dark] .editor input,[data-theme=dark] .editor select,[data-theme=dark] .editor textarea{border-color:#4a4a52}
[data-theme=dark] .editor input::placeholder,[data-theme=dark] .editor textarea::placeholder{color:#96969f}
[data-theme=dark] .flight-condition{background:#292930;color:#b5b5be}
[data-theme=dark] .flight-condition[data-tone=positive]{background:var(--green-soft);color:var(--green)}[data-theme=dark] .flight-condition[data-tone=notice]{background:var(--amber-soft);color:var(--amber)}[data-theme=dark] .flight-condition[data-tone=danger]{background:var(--red-soft);color:var(--red)}
[data-theme=dark] .flight-pass-stub{border-color:#3e3e45}
[data-theme=dark] .flight-map{background:#18252d}[data-theme=dark] .flight-map image{filter:brightness(.48) saturate(.4)}[data-theme=dark] .flight-map figcaption{background:#1c2b33;color:#b1c5cd}[data-theme=dark] .map-reset{color:#9fcee3}
[data-theme=dark] .plane-label{fill:#e1f2ff;stroke:#18252d}[data-theme=dark] .plane-dot{fill:#64aaff;stroke:#18252d}
[data-theme=dark] .location-map{background:#232a29}[data-theme=dark] .location-map iframe{filter:invert(.93) hue-rotate(180deg) saturate(.6)}[data-theme=dark] .map-status{color:#b5c3bf}
[data-theme=dark] .danger:hover{background:#4a272c}

.mast .calendar-sync-button{color:var(--blue);white-space:nowrap;padding-inline:10px}.calendar-sync-button[aria-pressed=true]{background:var(--green-soft);color:var(--green)}.sync-status{font-size:.75rem;color:var(--muted);text-align:right;min-height:18px}.sync-status:empty{display:none}
@media(max-width:480px){.calendar .mast{padding-inline:14px;gap:6px}.calendar .brand{gap:6px;font-size:.875rem}.calendar .brand img{width:28px;height:28px}.calendar .account-tools{gap:2px}.calendar .mast .plain{font-size:.75rem;padding-inline:8px}.calendar .theme-toggle{width:36px;min-width:36px}.sync-status{text-align:left}}
:root{--flight-on-time:#218649;--flight-early:#126037}
:root[data-theme=dark]{--flight-on-time:#6be8a6;--flight-early:#31b875}
.flight-leg time[data-tone=positive],.entry-clocks [data-tone=positive],.entry-flight-state[data-tone=positive]{color:var(--flight-on-time)}
.flight-leg time[data-tone=early],.entry-clocks [data-tone=early],.entry-flight-state[data-tone=early]{color:var(--flight-early)}
.flight-leg time[data-tone=danger],.entry-clocks [data-tone=danger]{color:var(--red)}
.flight-leg time[data-tone=notice],.entry-clocks [data-tone=notice]{color:var(--amber)}
.flight-condition[data-tone=early],[data-theme=dark] .flight-condition[data-tone=early]{background:var(--green-soft);color:var(--flight-early)}
.flight-condition[data-tone=positive],[data-theme=dark] .flight-condition[data-tone=positive]{color:var(--flight-on-time)}
