:root,:root[data-theme=sky]{--paper: #ffffff;--paper-deep: #eef3fa;--ink: #0b1e3f;--ink-muted: #4b5d7a;--rule: #0b1e3f;--rule-soft: #cfd9e8;--accent: #003d7a;--accent-ink: #ffffff;--good: #0f6a34;--good-bg: #d8ecde;--bad: #99182a;--bad-bg: #fadadc;--active: #b35c00;--active-bg: #fce3c2;--neutral-bg: #dde6f2;--focus: #003d7a;--radius: 4px;--rule-weight: 1px}:root[data-theme=paper]{--paper: #f6f3ea;--paper-deep: #ece6d4;--ink: #0a0a0a;--ink-muted: #5a554a;--rule: #0a0a0a;--rule-soft: #c9c0a8;--accent: #c8102e;--accent-ink: #ffffff;--good: #0d5a2a;--good-bg: #dfe9d9;--bad: #8a131c;--bad-bg: #f1d9d7;--active: #a0480b;--active-bg: #f1e0c1;--neutral-bg: #e6e0cc;--focus: #000000;--radius: 0px;--rule-weight: 2px}:root[data-theme=contrast]{--paper: #ffffff;--paper-deep: #eeeeee;--ink: #000000;--ink-muted: #2a2a2a;--rule: #000000;--rule-soft: #777777;--accent: #0033aa;--accent-ink: #ffffff;--good: #006622;--good-bg: #d9f2dd;--bad: #b30000;--bad-bg: #ffe0e0;--active: #884400;--active-bg: #ffe4b3;--neutral-bg: #e6e6e6;--focus: #000000;--radius: 0px;--rule-weight: 3px}:root[data-theme=contrast]{font-size:19px}:root[data-theme=contrast] .time .primary{font-size:1.75rem}:root[data-theme=contrast] .stamp-status{border-width:3px;font-size:.9rem}:root{--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{font-size:17px;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"ss01","cv11";font-variant-numeric:tabular-nums;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}a:hover{color:var(--accent)}*:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:0}.skip-link{position:absolute;left:-9999px;top:0;padding:.75rem 1rem;background:var(--ink);color:var(--paper);font-weight:800;text-transform:uppercase;letter-spacing:.08em;z-index:100}.skip-link:focus{left:0;top:0}.container{max-width:1280px;margin:0 auto;padding:0 1.25rem}header.site{border-bottom:3px solid var(--rule);background:var(--paper);padding:1.5rem 0 0}.masthead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:1rem}.masthead .brand{margin:0;font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:900;letter-spacing:-.02em;text-transform:uppercase;line-height:1}.masthead .brand a{color:var(--ink);text-decoration:none}.masthead .brand .mark{color:var(--accent);font-family:var(--font-mono);font-weight:800;letter-spacing:0;margin-left:.25em}.masthead .stamp{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border:var(--rule-weight) solid var(--ink-muted);padding:.35rem .6rem;border-radius:var(--radius)}.masthead .now{font-family:var(--font-mono);font-size:1.15rem;font-weight:700;color:var(--ink)}.theme-picker{display:flex;align-items:center;gap:.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.theme-picker label{color:var(--ink-muted)}.theme-picker select{font:inherit;font-family:var(--font-sans);font-weight:700;letter-spacing:.04em;padding:.4rem .5rem;background:var(--paper);color:var(--ink);border:var(--rule-weight) solid var(--rule);border-radius:var(--radius);min-height:40px;cursor:pointer}.theme-picker select:hover{background:var(--paper-deep)}nav.modes{display:flex;gap:0;flex-wrap:wrap;border-top:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:10}nav.modes a{display:inline-block;padding:.9rem 1.25rem;text-decoration:none;color:var(--ink);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem;border-right:1px solid var(--rule);background:var(--paper)}nav.modes a:first-child{border-left:0}nav.modes a:hover{background:var(--paper-deep);color:var(--ink)}nav.modes a[aria-current=page]{background:var(--ink);color:var(--paper)}main{padding:2rem 0 4rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:var(--rule-weight) solid var(--rule)}.page-head h2{margin:0;font-size:clamp(2rem,5vw,3.25rem);font-weight:900;letter-spacing:-.02em;text-transform:uppercase;line-height:.95}.page-head .meta{font-family:var(--font-mono);font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);text-align:right}.filters{display:flex;gap:0;flex-wrap:wrap;margin-bottom:1.5rem;border:var(--rule-weight) solid var(--rule);width:fit-content;border-radius:var(--radius);overflow:hidden}.filters .label{padding:.6rem 1rem;border-right:1px solid var(--rule);background:var(--paper-deep);font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center}.filters a{padding:.6rem 1.25rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;border-right:1px solid var(--rule);background:var(--paper)}.filters a:last-child{border-right:0}.filters a:hover{background:var(--paper-deep)}.filters a[aria-current=page]{background:var(--accent);color:var(--accent-ink)}.board-wrap{overflow-x:auto;border:var(--rule-weight) solid var(--rule);background:var(--paper);border-radius:var(--radius)}table.board{width:100%;border-collapse:collapse;font-size:1rem}table.board caption{caption-side:top;text-align:left;padding:.75rem 1.25rem;background:var(--ink);color:var(--paper);font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}table.board thead th{background:var(--paper-deep);padding:.75rem 1.25rem;text-align:left;font-weight:800;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-bottom:var(--rule-weight) solid var(--rule);position:sticky;top:0;z-index:2;white-space:nowrap}table.board tbody td{padding:1rem 1.25rem;border-bottom:1px solid var(--rule-soft);vertical-align:middle}table.board tbody tr:last-child td{border-bottom:0}table.board tbody tr:hover{background:var(--paper-deep)}table.board tbody tr.cancelled td{color:var(--ink-muted)}table.board tbody tr.cancelled .time .primary,table.board tbody tr.cancelled .flight-id .no{text-decoration:line-through;text-decoration-thickness:2px}.time{display:flex;flex-direction:column;gap:.15rem;white-space:nowrap}.time .primary{font-family:var(--font-mono);font-size:1.5rem;font-weight:800;letter-spacing:-.01em;color:var(--ink)}.time .delta{font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.time .delta.delayed{color:var(--bad)}.time .delta.early{color:var(--good)}.flight-id{display:flex;flex-direction:column;gap:.15rem}.flight-id .no{font-family:var(--font-mono);font-weight:800;font-size:1.05rem;letter-spacing:.02em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:baseline;gap:.3em}.flight-id .no .ext{font-size:.75em;color:var(--ink-muted);font-weight:700;transition:transform .15s ease}.flight-id .no:hover,.flight-id .no:focus-visible{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.flight-id .no:hover .ext,.flight-id .no:focus-visible .ext{color:var(--accent);transform:translate(1px,-1px)}.flight-id .airline{font-size:.85rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.place{display:flex;flex-direction:column;gap:.15rem}.place .city{font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em}.place .code{font-family:var(--font-mono);color:var(--ink-muted);font-size:.85rem;letter-spacing:.06em}.resource{font-family:var(--font-mono);font-weight:700;font-size:1rem;letter-spacing:.03em;text-transform:uppercase}.resource.none{color:var(--ink-muted);font-weight:500}.stamp-status{display:inline-block;padding:.35rem .6rem;font-weight:900;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border:var(--rule-weight) solid currentColor;background:transparent;border-radius:var(--radius)}.stamp-status.good{color:var(--good);background:var(--good-bg)}.stamp-status.bad{color:var(--bad);background:var(--bad-bg)}.stamp-status.active{color:var(--active);background:var(--active-bg)}.stamp-status.neutral{color:var(--ink);background:var(--neutral-bg)}.empty{padding:4rem 1rem;text-align:center;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.error{padding:1rem 1.25rem;border:2px solid var(--bad);background:var(--bad-bg);color:var(--bad);margin-bottom:1.5rem;font-weight:700}.section-gap{margin-bottom:2.5rem}.section-gap h3{margin:0 0 .75rem;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--rule);padding-bottom:.4rem}nav.toc{display:flex;gap:0;flex-wrap:wrap;margin-bottom:2rem;border:var(--rule-weight) solid var(--rule);border-radius:var(--radius);width:fit-content;max-width:100%;overflow:hidden}nav.toc a{padding:.65rem 1rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;border-right:1px solid var(--rule);background:var(--paper)}nav.toc a:last-child{border-right:0}nav.toc a:hover{background:var(--paper-deep);color:var(--accent)}.terminal-card{border:var(--rule-weight) solid var(--rule);border-radius:var(--radius);background:var(--paper);padding:1.5rem;margin-bottom:2rem;scroll-margin-top:5rem}.terminal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--rule-soft)}.terminal-head h3{margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:900;letter-spacing:-.01em;text-transform:uppercase;border:0;padding:0}.terminal-card .lead{font-size:1.05rem;color:var(--ink);margin:0 0 1.25rem;max-width:65ch}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem 2rem;margin:0 0 1.5rem}.meta-grid>div{margin:0}.meta-grid dt{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);margin:0 0 .4rem}.meta-grid dd{margin:0;font-size:1rem}.meta-grid ul.plain{list-style:none;padding:0;margin:0}.meta-grid ul.plain li{padding:.15rem 0}.subhead{margin:1.5rem 0 .75rem;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ink);border:0;padding:0}.facility-list,.shelter-list{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.35rem 1.25rem}.facility-list li,.shelter-list li{padding:.35rem 0;border-bottom:1px solid var(--rule-soft);font-size:.95rem}.route{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:stretch}.route li{display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border:var(--rule-weight) solid var(--rule);border-radius:var(--radius);background:var(--paper)}.route li:not(:last-child):after{content:"→";margin-left:.5rem;color:var(--accent);font-weight:800;font-size:1.1rem}.route .step-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-weight:800;font-size:.8rem;border-radius:var(--radius)}.route .step-name{font-weight:700;font-size:.95rem}.note{font-size:.9rem;color:var(--ink-muted);font-style:italic;margin:1rem 0}.actions{margin:1.5rem 0 0}.btn{display:inline-block;padding:.7rem 1.1rem;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;border:var(--rule-weight) solid var(--accent);border-radius:var(--radius)}.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn:focus-visible{outline-offset:3px}@media(max-width:640px){.terminal-card{padding:1rem}.route li:not(:last-child):after{display:none}}.filter-section{margin:0 0 2rem}.filter-h{margin:0 0 .75rem;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted);border:0;padding:0}.terminal-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.terminal-tab{display:flex;align-items:baseline;gap:.6rem;padding:1rem 1.25rem;background:var(--paper);color:var(--ink);text-decoration:none;border:var(--rule-weight) solid var(--rule);border-radius:var(--radius);font-weight:700;transition:background .1s ease}.terminal-tab:hover{background:var(--paper-deep);color:var(--ink)}.terminal-tab[aria-current=page]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.terminal-tab .t-code{font-family:var(--font-mono);font-weight:900;font-size:1.5rem;letter-spacing:-.02em;line-height:1}.terminal-tab .t-label{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em}.shortcut-grid{display:flex;flex-wrap:wrap;gap:.5rem}.shortcut-chip{display:inline-block;padding:.6rem 1rem;background:var(--paper);color:var(--ink);text-decoration:none;border:var(--rule-weight) solid var(--rule);border-radius:var(--radius);font-weight:700;font-size:.95rem;white-space:nowrap}.shortcut-chip:hover{background:var(--paper-deep);color:var(--ink)}.shortcut-chip[aria-current=page]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.shortcut-chip .chip-count{display:inline-block;margin-left:.4rem;padding:.05rem .45rem;font-family:var(--font-mono);font-size:.8rem;font-weight:700;background:var(--paper-deep);color:var(--ink-muted);border-radius:var(--radius)}.shortcut-chip[aria-current=page] .chip-count{background:#fff3;color:var(--accent-ink)}.search-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:stretch}.search-form input[type=search]{flex:1 1 280px;font:inherit;font-size:1rem;padding:.7rem 1rem;border:var(--rule-weight) solid var(--rule);border-radius:var(--radius);background:var(--paper);color:var(--ink);min-height:48px}.search-form button{font:inherit;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.7rem 1.5rem;background:var(--accent);color:var(--accent-ink);border:var(--rule-weight) solid var(--accent);border-radius:var(--radius);cursor:pointer;min-height:48px}.search-form button:hover{background:var(--ink);border-color:var(--ink)}.search-form .clear{align-self:center;font-size:.9rem;color:var(--ink-muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.hero-empty{padding:3rem 1rem;text-align:center;border:var(--rule-weight) dashed var(--rule-soft);border-radius:var(--radius)}.empty-lead{font-size:1.05rem;color:var(--ink-muted);margin:0 0 1rem}.results-meta{margin:0 0 1rem;font-size:.95rem;color:var(--ink-muted)}.results-meta strong{color:var(--ink);font-weight:800}.facility-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.facility-card{border:var(--rule-weight) solid var(--rule);border-radius:var(--radius);padding:1.1rem 1.2rem;background:var(--paper);display:flex;flex-direction:column;gap:.75rem}.facility-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.card-name{display:flex;align-items:center;gap:.65rem;min-width:0;flex:1 1 auto}.facility-logo{width:48px;height:48px;object-fit:contain;background:var(--paper-deep);border:1px solid var(--rule-soft);border-radius:var(--radius);flex-shrink:0}.logo-stack{display:inline-flex;gap:.3rem;flex-shrink:0}.facility-card h4{margin:0;font-size:1.1rem;font-weight:800;letter-spacing:-.01em;line-height:1.25;min-width:0}.terminal-pills{display:flex;gap:.25rem;flex-wrap:wrap}.pill{display:inline-block;padding:.15rem .5rem;font-family:var(--font-mono);font-size:.75rem;font-weight:800;letter-spacing:.04em;border-radius:var(--radius);border:1px solid currentColor}.pill-terminal{background:var(--paper-deep);color:var(--ink)}.pill-t1{background:#fde8e8;color:#8a131c;border-color:#8a131c}.pill-t2{background:#fdf4d3;color:#8a6a13;border-color:#8a6a13}.pill-t3{background:#d8ecde;color:#0f6a34;border-color:#0f6a34}.pill-type-train,.pill-type-bus-airport-shuttle,.pill-type-bus-city,.pill-type-shuttle,.pill-type-taxi,.pill-type-rideshare{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.pill-type-parking-daily{background:var(--neutral-bg);color:var(--ink);border-color:var(--ink)}.pill-type-parking-overnight{background:var(--good-bg);color:var(--good);border-color:var(--good)}.pill-type-parking-premium{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.rate-h{margin:.75rem 0 .4rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted)}.card-meta.rates{border-top:1px solid var(--rule-soft);padding-top:.5rem}.card-meta{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:.25rem .75rem;font-size:.9rem}.card-meta>div{display:contents}.card-meta dt{margin:0;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);align-self:center}.card-meta dd{margin:0;font-size:.95rem;color:var(--ink)}.card-actions{margin:0}.card-actions a{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;color:var(--accent);text-decoration:none}.card-actions a:hover{text-decoration:underline}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-top:1rem}.schedule-col{min-width:0}table.board.compact{font-size:.9rem}table.board.compact thead th,table.board.compact tbody td{padding:.4rem .75rem}table.board.compact .time .primary{font-size:1.05rem}table.board tbody tr.past{opacity:.4}table.board tbody tr.past:hover{opacity:.7}footer.site{border-top:3px solid var(--rule);background:var(--paper);padding:1.5rem 0;color:var(--ink-muted);font-size:.85rem;letter-spacing:.02em;margin-top:3rem}footer.site p{margin:0}@media(max-width:720px){html{font-size:16px}.masthead .stamp{display:none}table.board thead th,table.board tbody td{padding:.75rem}.time .primary{font-size:1.25rem}.page-head h2{font-size:2rem}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
