:root{--brand-teal-900:#0f3f3a;--brand-teal-800:#114e48;--brand-teal-700:#0f766e;--brand-teal-500:#14b8a6;--brand-teal-300:#5eead4;--brand-teal-50:#f0fdfa;--brand-cream-100:#fffbef;--brand-cream-300:#f5ead0;--brand-cream-500:#e8d8a8;--brand-saffron-300:#ffd27a;--brand-saffron-500:#f5b847;--brand-saffron-700:#c48421;--ink-900:#0b1413;--ink-800:#142524;--ink-700:#1f3331;--ink-500:#475a57;--ink-300:#9db1ae;--ink-100:#e5eceb;--status-success:#16a34a;--status-warning:#f59e0b;--status-danger:#dc2626;--status-info:#2563eb;--bg:var(--ink-900);--bg-elevated:var(--ink-800);--fg:var(--ink-100);--muted:var(--ink-300);--border:var(--ink-700);--accent:var(--brand-teal-500);--accent-strong:var(--brand-teal-700);--accent-fg:#02201d;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--font-sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-padding-top:80px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--accent-strong);color:var(--brand-cream-100);border:0;border-radius:var(--radius-sm);padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;transition:background .12s ease,transform .12s ease}button:hover:not(:disabled){background:var(--brand-teal-800)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:2px solid var(--brand-teal-500);outline-offset:2px}input,select,textarea{background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font:inherit;width:100%;transition:border-color .12s ease,box-shadow .12s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-teal-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-teal-500) 28%,transparent)}h1,h2,h3{letter-spacing:-.01em}h1{font-weight:800}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:600px}.routes-table td,.routes-table th{padding:10px 8px;vertical-align:top}.routes-table td:nth-child(2){word-break:break-word}@media (max-width:600px){.routes-table td,.routes-table th{padding:8px 6px;font-size:13px}.routes-table th{font-size:11px}}.route-header{flex-wrap:wrap}.editor-grid{display:grid;grid-template-columns:320px 1fr 360px;flex:1 1;min-height:0}.editor-pane{display:flex}@media (max-width:1400px){.editor-grid{grid-template-columns:280px 1fr 320px}}@media (max-width:1200px){.editor-grid{grid-template-columns:240px 1fr 300px}}.mobile-tabs{display:none}@media (max-width:900px){.mobile-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.mobile-tabs button{flex:1 1;background:transparent;color:var(--fg);border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 8px;font-size:13px}.mobile-tabs button[data-active=true]{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.editor-grid{grid-template-columns:1fr;grid-template-rows:1fr}.editor-pane{display:none!important}.editor-pane[data-active=true]{display:flex!important}.route-header{flex-wrap:wrap;padding:10px 12px!important;gap:8px!important;font-size:13px}.route-header .header-spacer{flex-basis:100%;height:0}.page-shell{padding:16px!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:linear-gradient(180deg,var(--brand-teal-900) 0,color-mix(in srgb,var(--brand-teal-900) 92%,var(--ink-900)) 100%);border-bottom:1px solid var(--ink-700);position:-webkit-sticky;position:sticky;top:0;z-index:30}.app-bar-brand{display:inline-flex;align-items:center;gap:10px;color:var(--brand-cream-300);text-decoration:none}.app-bar-brand:hover{text-decoration:none;opacity:.92}.app-bar-actions{gap:12px;flex-wrap:wrap}.app-bar-actions,.app-bar-nav{display:inline-flex;align-items:center}.app-bar-nav{gap:4px;margin-right:auto;margin-left:16px}.app-bar-nav-link{color:var(--brand-cream-300);opacity:.72;font-size:14px;font-weight:500;padding:6px 10px;border-radius:var(--radius-sm);text-decoration:none;position:relative;transition:opacity .12s,background .12s}.app-bar-nav-link:hover{opacity:1;background:color-mix(in srgb,var(--brand-cream-300) 8%,transparent);text-decoration:none}.app-bar-nav-link.active{opacity:1;color:var(--brand-cream-100);background:color-mix(in srgb,var(--brand-cream-300) 12%,transparent)}.app-bar-nav-link.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-10px;height:2px;background:var(--brand-cream-100);border-radius:2px 2px 0 0}.app-bar-section{font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.55;padding-left:10px;border-left:1px solid color-mix(in srgb,var(--brand-cream-300) 28%,transparent)}.app-bar-email,.app-bar-section{font-size:12px;color:var(--brand-cream-300)}.app-bar-email{opacity:.7;white-space:nowrap}.account-pill{gap:8px;padding:4px 4px 4px 8px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--brand-cream-300) 8%,transparent);border:1px solid color-mix(in srgb,var(--brand-cream-300) 18%,transparent)}.account-avatar,.account-pill{display:inline-flex;align-items:center}.account-avatar{position:relative;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--brand-teal-500);color:#02201d;font-size:11px;font-weight:700;letter-spacing:.04em;flex-shrink:0}.account-status-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;background:var(--status-success);border:2px solid var(--brand-teal-900)}.account-pill-email{color:var(--brand-cream-300);font-size:12px;font-family:var(--font-mono);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-signout-form{margin:0;display:inline-flex}.account-signout-button{background:transparent;color:var(--brand-cream-300);border:1px solid color-mix(in srgb,var(--brand-cream-300) 22%,transparent);padding:5px 10px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);cursor:pointer;transition:background .12s ease,border-color .12s ease}.account-signout-button:hover{background:color-mix(in srgb,var(--status-danger) 16%,transparent);border-color:color-mix(in srgb,var(--status-danger) 60%,transparent);color:var(--brand-cream-100)}.account-panel{display:flex;flex-direction:column;gap:10px;padding-top:6px;margin-top:6px;border-top:1px solid var(--border);width:100%}.account-panel-header{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;position:relative;padding-left:16px}.account-panel-header .account-status-dot{position:static;width:8px;height:8px;border:none;margin-right:2px}.account-panel-label{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.account-panel-email{font-family:var(--font-mono);font-size:12px;color:var(--fg);word-break:break-all}.account-panel .account-signout-form{width:100%}.account-panel .account-signout-button{width:100%;text-align:center;padding:8px 12px;font-size:12px}.app-bar-overflow{display:none;position:relative}.app-bar-overflow>summary{list-style:none;cursor:pointer;color:var(--brand-cream-300);font-size:24px;line-height:1;padding:4px 10px;border-radius:var(--radius-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-bar-overflow>summary::-webkit-details-marker{display:none}.app-bar-overflow>summary::marker{content:""}.app-bar-overflow[open]>summary{background:color-mix(in srgb,var(--brand-cream-300) 12%,transparent)}.app-bar-overflow-panel{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(0,0,0,.5);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:200px;z-index:40}.app-bar-overflow-panel>*{width:100%}.app-bar-overflow-panel a,.app-bar-overflow-panel button{width:100%;text-align:left}.app-bar-overflow-nav{display:flex;flex-direction:column;gap:2px;width:100%}.app-bar-overflow-link{display:block;padding:8px 10px;border-radius:var(--radius-sm);color:var(--fg);text-decoration:none;font-size:14px;font-weight:500;border-left:3px solid transparent}.app-bar-overflow-link:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);text-decoration:none}.app-bar-overflow-link.active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-left-color:var(--accent);color:var(--accent)}.app-bar-overflow-divider{height:1px;background:var(--border);margin:4px 0}.app-footer{margin-top:auto;padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}.app-footer,.app-footer a{color:var(--muted)}.app-footer a:hover{color:var(--fg);text-decoration:underline}.app-footer-brand{gap:6px}.app-footer-brand,.app-footer-links{display:inline-flex;align-items:center}.app-footer-links{gap:16px;flex-wrap:wrap}@media (max-width:640px){.app-bar-actions,.app-bar-email,.app-bar-nav,.app-bar-section{display:none}.app-bar-overflow{display:block}}@media (max-width:600px){.app-bar{padding:10px 16px}.app-footer{padding:12px 16px}}.brand-wordmark{display:inline-flex;align-items:baseline;font-weight:800;letter-spacing:-.045em;line-height:1;color:inherit}.brand-wordmark.is-display{font-size:64px}.brand-wordmark.is-lg{font-size:32px}.brand-wordmark.is-md{font-size:22px}.brand-wordmark.is-sm{font-size:16px}.brand-tagline{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:inherit;opacity:.7}.live-pulse{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--brand-saffron-500);flex-shrink:0}.live-pulse:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--brand-saffron-500);opacity:.55;animation:live-pulse-ring 1.6s ease-out infinite}@keyframes live-pulse-ring{0%{transform:scale(.6);opacity:.55}80%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}@media (prefers-reduced-motion:reduce){.live-pulse:after{animation:none;opacity:.35;transform:none}}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.login-brand-panel{display:flex;flex-direction:column;justify-content:space-between;padding:40px;background:linear-gradient(160deg,var(--brand-teal-900) 0,#0a2e2a 100%);color:var(--brand-cream-300);position:relative;overflow:hidden}.login-brand-panel:after,.login-brand-panel:before{content:"";position:absolute;left:-20%;right:-20%;height:1.5px;background:var(--brand-cream-300);opacity:.1;transform:rotate(-8deg)}.login-brand-panel:before{top:38%}.login-brand-panel:after{top:62%}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:32px}.login-form-panel form{width:100%;max-width:360px}@media (max-width:880px){.login-shell{grid-template-columns:1fr}.login-brand-panel{padding:28px 24px;min-height:220px}}.prose{color:var(--fg);line-height:1.65;font-size:15px}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--fg);line-height:1.25;margin:1.6em 0 .6em;font-weight:600;scroll-margin-top:80px}.prose h1{font-size:1.9rem;margin-top:.4em}.prose h2{font-size:1.4rem;border-bottom:1px solid var(--border);padding-bottom:.3em}.prose h3{font-size:1.15rem}.prose h4{font-size:1rem;color:var(--muted)}.prose p{margin:.8em 0}.prose ol,.prose ul{padding-left:1.4em;margin:.6em 0}.prose li{margin:.25em 0}.prose li>p{margin:.3em 0}.prose ol ol,.prose ol ul,.prose ul ol,.prose ul ul{margin:.2em 0}.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.prose code{background:var(--bg-elevated);padding:.1em .4em;border-radius:4px;font-size:.88em;font-family:var(--font-mono)}.prose pre{background:var(--ink-900);border:1px solid var(--border);padding:12px 14px;border-radius:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.prose pre code{background:transparent;padding:0}.prose blockquote{margin:1em 0;padding:10px 16px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg));color:var(--fg);border-radius:0 6px 6px 0}.prose blockquote p{margin:.4em 0}.prose hr{border:0;border-top:1px solid var(--border);margin:2em 0}.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;margin:1em 0;border-collapse:collapse}.prose td,.prose th{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.prose th{background:var(--ink-900)}.prose strong,.prose th{color:var(--fg);font-weight:600}.prose em{color:var(--fg)}@media (max-width:600px){.prose{font-size:14px}.prose h1{font-size:1.5rem}.prose h2{font-size:1.2rem}.prose h3{font-size:1.05rem}}.toc{margin-bottom:32px;padding:16px 20px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.toc-title{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.toc-top>a{color:var(--fg);font-size:14px;text-decoration:none}.toc-top>a:hover{color:var(--accent);text-decoration:none}.toc-sub>a{color:var(--muted);font-size:13px;padding-left:16px;text-decoration:none;display:block}.toc-sub>a:hover{color:var(--fg);text-decoration:none}html{scroll-behavior:smooth}.back-to-top{position:fixed;bottom:28px;right:28px;width:40px;height:40px;background:var(--accent-strong);color:var(--brand-cream-100);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.5);opacity:.85;transition:opacity .15s,background .15s;z-index:50}.back-to-top:hover{opacity:1;background:var(--brand-teal-800);text-decoration:none}@media (max-width:600px){.back-to-top{bottom:18px;right:16px;width:36px;height:36px;font-size:16px}}