.brand-mark[data-astro-cid-77qc4tpx]{color:var(--color-brand);letter-spacing:-.02em;align-items:center;gap:.625rem;font-weight:850;display:inline-flex}svg[data-astro-cid-77qc4tpx]{flex:none;width:2.125rem;height:2.125rem}.site-footer[data-astro-cid-jo6i4kqk]{padding-block:var(--space-12) var(--space-8);border-top:1px solid var(--color-border);background:var(--surface)}.footer-grid[data-astro-cid-jo6i4kqk]{gap:var(--space-8);display:grid}.footer-about[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin-top:var(--space-3);color:var(--color-text-muted)}.footer-about[data-astro-cid-jo6i4kqk] .preview-note[data-astro-cid-jo6i4kqk]{max-width:42ch;color:var(--muted-600);font-size:var(--text-sm)}nav[data-astro-cid-jo6i4kqk]{align-content:start;gap:var(--space-1);display:grid}nav[data-astro-cid-jo6i4kqk] strong[data-astro-cid-jo6i4kqk]{margin-bottom:var(--space-2);font-size:var(--text-sm)}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:2.25rem;color:var(--color-text-muted);font-size:var(--text-sm);align-items:center;text-decoration:none;display:inline-flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--brand-700)}.footer-meta[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:end;gap:var(--space-6);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border);color:var(--muted-600);display:flex}.footer-meta[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{font-size:var(--text-label);margin:0;line-height:1.75}.footer-meta[data-astro-cid-jo6i4kqk] small[data-astro-cid-jo6i4kqk]{font-size:var(--text-label);flex:none}@media (width>=48rem){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(16rem,2fr) repeat(3,minmax(7rem,1fr))}}@media (width<=47.99rem){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-about[data-astro-cid-jo6i4kqk]{grid-column:1/-1}.footer-meta[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:start}}.site-header[data-astro-cid-nen7h5rs]{z-index:80;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--surface) 92%, transparent);backdrop-filter:blur(14px);position:sticky;top:0}.header-inner[data-astro-cid-nen7h5rs]{min-height:var(--header-height);align-items:center;gap:var(--space-6);grid-template-columns:auto 1fr auto;display:grid}.brand-link[data-astro-cid-nen7h5rs]{color:var(--brand-600);text-decoration:none}.desktop-nav[data-astro-cid-nen7h5rs]{justify-self:center}ul[data-astro-cid-nen7h5rs]{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.desktop-compact-link[data-astro-cid-nen7h5rs]{border-radius:var(--radius-input);min-height:2.75rem;color:var(--color-text-muted);font-size:var(--text-sm);align-items:center;padding:.5rem .75rem;font-weight:750;text-decoration:none;display:inline-flex}.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.desktop-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page],.desktop-compact-link[data-astro-cid-nen7h5rs]:hover{background:var(--brand-50);color:var(--brand-700)}.header-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-2);display:flex}.menu-trigger[data-astro-cid-nen7h5rs]{display:none}.menu-dialog[data-astro-cid-nen7h5rs]{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(100% - 2rem,24rem);max-height:min(40rem,100dvh - 2rem);box-shadow:var(--shadow-float);margin:1rem 1rem auto auto;padding:0;overflow:hidden}.menu-dialog[data-astro-cid-nen7h5rs]::backdrop{background:#17203373}.menu-dialog-head[data-astro-cid-nen7h5rs]{min-height:4rem;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.menu-dialog[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs]{padding:var(--space-3);display:grid}.menu-dialog[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{min-height:3rem;padding:var(--space-3);border-radius:var(--radius-input);color:var(--color-text);align-items:center;font-weight:700;text-decoration:none;display:flex}.menu-dialog[data-astro-cid-nen7h5rs] nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background:var(--brand-50);color:var(--brand-700)}@media (width<=47.99rem){.header-inner[data-astro-cid-nen7h5rs]{grid-template-columns:1fr auto;min-height:3.5rem}.desktop-nav[data-astro-cid-nen7h5rs],.desktop-compact-link[data-astro-cid-nen7h5rs]{display:none}.menu-trigger[data-astro-cid-nen7h5rs]{display:inline-grid}}.mobile-nav[data-astro-cid-k6c7o3mi]{display:none}@media (width<=47.99rem){.mobile-nav[data-astro-cid-k6c7o3mi]{z-index:90;padding:.35rem max(.35rem, env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--surface) 96%, transparent);backdrop-filter:blur(14px);grid-template-columns:repeat(4,1fr);transition:transform .16s,visibility .16s;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav[data-astro-cid-k6c7o3mi][data-keyboard-open]{visibility:hidden;transform:translateY(110%)}.mobile-nav[data-astro-cid-k6c7o3mi] a[data-astro-cid-k6c7o3mi]{border-radius:var(--radius-input);min-width:0;min-height:3.5rem;color:var(--muted-600);flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-size:.7rem;font-weight:750;text-decoration:none;display:flex}.mobile-nav[data-astro-cid-k6c7o3mi] a[data-astro-cid-k6c7o3mi][aria-current=page]{background:var(--brand-50);color:var(--brand-700)}}:root{color-scheme:light;--brand-50:#eef3ff;--brand-100:#dce6ff;--brand-600:#2957d5;--brand-700:#2148b6;--accent-500:#f97316;--accent-text:#c2410c;--ink-950:#172033;--ink-700:#334155;--muted-600:#657089;--canvas:#f6f8fc;--surface:#fff;--border:#e2e8f0;--border-strong:#cbd5e1;--success:#15803d;--warning:#b45309;--danger:#b91c1c;--color-brand:var(--brand-600);--color-brand-strong:var(--brand-700);--color-brand-soft:var(--brand-50);--color-accent:var(--accent-500);--color-accent-soft:#fff7ed;--color-text:var(--ink-950);--color-text-muted:var(--ink-700);--color-text-subtle:var(--muted-600);--color-surface:var(--surface);--color-surface-raised:var(--canvas);--color-border:var(--border);--color-border-strong:var(--border-strong);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-xs:var(--space-2);--space-sm:var(--space-3);--space-md:var(--space-4);--space-lg:var(--space-6);--space-xl:clamp(2.5rem, 6vw, 4rem);--space-2xl:clamp(4rem, 9vw, 6rem);--text-label:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-lg:clamp(1.125rem, 1.05rem + .25vw, 1.25rem);--text-h3:clamp(1.3125rem, 1.22rem + .3vw, 1.4375rem);--text-h2:clamp(1.6875rem, 1.45rem + .9vw, 2.125rem);--text-h1:clamp(2rem, 1.65rem + 1.25vw, 2.625rem);--text-display:clamp(2.25rem, 1.65rem + 2.3vw, 3.25rem);--radius-input:.75rem;--radius-sm:.875rem;--radius-md:1rem;--radius-lg:1.25rem;--radius-hero:1.5rem;--shadow-float:0 16px 48px #1720331a;--header-height:4.5rem;--content-max:80rem;color:var(--color-text);background:var(--canvas);font-synthesis:none;font-family:Pretendard Variable,Pretendard,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:20rem;scroll-padding-top:calc(var(--header-height) + var(--space-4));-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-wrap:anywhere;background:var(--canvas);color:var(--color-text);font-size:var(--text-base);text-rendering:optimizelegibility;margin:0}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{max-width:100%;font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.58}img,svg{max-width:100%;display:block}[hidden]{display:none!important}a{color:var(--color-brand);text-underline-offset:.2em}a:hover{color:var(--color-brand-strong)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb, var(--brand-600) 65%, white);outline-offset:3px}h1,h2,h3,p,ul,ol{max-width:68ch}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance;margin-block:0;line-height:1.18}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p{margin-block:var(--space-4) 0}ul,ol{padding-left:1.35rem}li+li{margin-top:var(--space-2)}.shell{width:min(calc(100% - 2rem), var(--content-max));margin-inline:auto}.narrow{width:min(100% - 2rem,48rem);margin-inline:auto}.page-section{padding-block:var(--space-xl)}.page-section.surface-section{border-block:1px solid var(--color-border);background:var(--color-surface)}.section-heading{justify-content:space-between;align-items:end;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.section-heading>div>p:last-child{color:var(--color-text-muted)}.section-link{font-size:var(--text-sm);flex:none;font-weight:750}.eyebrow{margin:0 0 var(--space-3);color:var(--color-brand);font-size:var(--text-label);letter-spacing:.09em;text-transform:uppercase;font-weight:800}.lead{max-width:56ch;color:var(--color-text-muted);font-size:var(--text-lg);line-height:1.65}.hero{padding-block:var(--space-2xl)}.hero h1{max-width:16ch}.hero-display{font-size:var(--text-display)}.actions{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.button,.button-link{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--color-brand);border-radius:var(--radius-input);background:var(--color-brand);color:#fff;text-align:center;white-space:normal;min-height:3rem;padding:.7rem 1rem;font-weight:750;line-height:1.2;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover,.button-link:hover{border-color:var(--color-brand-strong);background:var(--color-brand-strong);color:#fff}.button:active,.button-link:active{transform:translateY(1px)}.button.secondary,.button-link.secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.button.secondary:hover,.button-link.secondary:hover{border-color:var(--brand-600);background:var(--brand-50);color:var(--brand-700)}.button.ghost,.button-link.ghost{color:var(--color-brand);background:0 0;border-color:#0000}.icon-button{border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);width:2.75rem;min-width:2.75rem;height:2.75rem;color:var(--color-text-muted);place-items:center;padding:0;display:inline-grid}.grid{gap:var(--space-4);display:grid}.card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:clamp(1.25rem,3vw,2rem)}.card p:last-child,.card ul:last-child{margin-bottom:0}.muted-section{background:var(--canvas)}.status,.badge{align-items:center;gap:var(--space-2);border:1px solid var(--brand-100);background:var(--brand-50);min-height:1.75rem;color:var(--brand-700);font-size:var(--text-label);border-radius:999px;padding:.25rem .65rem;font-weight:800;line-height:1.2;display:inline-flex}.status.warning,.badge.warning{color:var(--warning);background:#fff7ed;border-color:#fed7aa}.prose{padding-block:var(--space-6) var(--space-16)}.prose h1{max-width:20ch}.prose h2{margin-top:var(--space-12);font-size:var(--text-h3)}.prose h3{margin-top:var(--space-8);font-size:1.1rem}.prose :where(p,li){color:var(--color-text-muted)}.skip-link{z-index:200;top:var(--space-2);left:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-input);background:var(--ink-950);color:#fff;font-weight:750;transition:transform .16s;position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.notice{padding:var(--space-4);border:1px solid var(--brand-100);border-radius:var(--radius-sm);background:var(--brand-50);color:var(--ink-700);font-size:var(--text-sm)}.notice strong{color:var(--ink-950)}.field-label{margin-bottom:var(--space-2);color:var(--ink-700);font-size:var(--text-label);font-weight:800;display:block}.field-input,.field-select{border:1px solid var(--color-border-strong);border-radius:var(--radius-input);background:var(--surface);width:100%;min-height:3rem;color:var(--ink-950);padding:.7rem .85rem}.field-input:hover,.field-select:hover{border-color:var(--muted-600)}.field-input[aria-invalid=true]{border-color:var(--danger)}.field-help,.field-error{margin:var(--space-2) 0 0;font-size:var(--text-label)}.field-help{color:var(--muted-600)}.field-error{color:var(--danger);font-weight:650}.surface-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--surface)}@media (width>=48rem){.shell{width:min(calc(100% - 3rem), var(--content-max))}.narrow{width:min(100% - 3rem,48rem)}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=80rem){.shell{width:min(calc(100% - 4rem), var(--content-max))}}@media (width<=47.99rem){:root{--header-height:3.5rem}body{padding-bottom:calc(4.25rem + env(safe-area-inset-bottom))}.page-section{padding-block:var(--space-12)}.section-heading{margin-bottom:var(--space-6);flex-direction:column;align-items:start}.actions>:where(.button,.button-link){flex:10rem}}@media (prefers-contrast:more){:root{--border:#64748b;--border-strong:#334155;--muted-600:#475569}:where(.button,.button-link,.icon-button,.field-input,.field-select){border-width:2px}}@media (forced-colors:active){:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid highlight}:where(.button,.button-link,.icon-button,.field-input,.field-select,.status,.badge,.notice,.card,.surface-panel,.route-option-card,.map-placeholder,.data-status-card,.weather-status,.operational-status,.fixture-card){border:1px solid canvastext}:where([aria-current=page],[aria-pressed=true],[aria-selected=true]){outline-offset:-2px;outline:2px solid highlight}body :is(.mode-tabs,.mode-options) input:checked+span{border:2px solid highlight!important}body :is(.mode-tabs,.mode-options) input:focus-visible+span{outline-offset:3px!important;outline:3px solid highlight!important}:where(button:disabled,input:disabled,select:disabled){color:graytext;opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
