@import "https://fonts.googleapis.com/css2?family=Arimo:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--dovad-neutral-0:#fff;--dovad-neutral-50:#fafafa;--dovad-neutral-100:#f4f4f5;--dovad-neutral-200:#e4e4e7;--dovad-neutral-300:#d4d4d8;--dovad-neutral-400:#a1a1aa;--dovad-neutral-500:#71717a;--dovad-neutral-700:#3f3f46;--dovad-neutral-900:#18181b;--dovad-neutral-950:#09090b;--dovad-brand-50:#eef2ff;--dovad-brand-100:#e0e7ff;--dovad-brand-200:#c7d2fe;--dovad-brand-500:#6366f1;--dovad-brand-600:#4f46e5;--dovad-brand-700:#4338ca;--dovad-brand-900:#312e81;--dovad-brand-ring:#4f46e552;--dovad-success-50:#dcfce7;--dovad-success-200:#bbf7d0;--dovad-success-700:#166534;--dovad-info-50:#dbeafe;--dovad-info-200:#bfdbfe;--dovad-info-700:#1d4ed8;--dovad-warning-50:#fffbeb;--dovad-warning-200:#fde68a;--dovad-warning-700:#b45309;--dovad-error-50:#fee2e2;--dovad-error-200:#fecaca;--dovad-error-800:#991b1b;--dovad-map-water:#d4d4d8;--dovad-map-land:#fafafa;--dovad-map-park:#f4f4f5;--dovad-map-road:#a1a1aa;--dovad-map-county:#71717a;--dovad-map-utility:#18181b;--dovad-map-good:#166534;--dovad-map-warn:#b45309;--dovad-map-fail:#991b1b;--dovad-surface-canvas:#fafafa;--dovad-surface-paper:#fff;--dovad-surface-panel:#fff;--dovad-surface-card:#fff;--dovad-surface-muted:#f4f4f5;--dovad-surface-divider:#e4e4e7;--dovad-surface-drawer:#fffffff5;--dovad-surface-overlay:#18181b7a;--dovad-text-primary:#18181b;--dovad-text-secondary:#52525b;--dovad-text-muted:#71717a;--dovad-text-disabled:#a1a1aa;--dovad-text-inverse:#fff;--dovad-border-subtle:#e4e4e7;--dovad-border-default:#d4d4d8;--dovad-border-strong:#71717a;--dovad-border-brand:#4f46e5;--dovad-focus-ring:#4f46e5;--dovad-action-primary-bg:#4f46e5;--dovad-action-primary-fg:#fff;--dovad-action-primary-hover-bg:#4338ca;--dovad-action-primary-active-bg:#312e81;--dovad-action-secondary-bg:#f4f4f5;--dovad-action-secondary-fg:#18181b;--dovad-action-secondary-hover-bg:#e4e4e7;--dovad-action-secondary-active-bg:#d4d4d8;--dovad-action-destructive-bg:#dc2626;--dovad-action-destructive-fg:#fff;--dovad-action-destructive-hover-bg:#b91c1c;--dovad-action-destructive-active-bg:#991b1b;--dovad-action-muted-bg:#f4f4f5;--dovad-action-muted-fg:#18181b;--dovad-action-muted-hover-bg:#e4e4e7;--dovad-status-neutral-bg:#fafafa;--dovad-status-neutral-fg:#71717a;--dovad-status-neutral-border:#e4e4e7;--dovad-status-success-bg:#dcfce7;--dovad-status-success-fg:#166534;--dovad-status-success-border:#bbf7d0;--dovad-status-info-bg:#dbeafe;--dovad-status-info-fg:#1d4ed8;--dovad-status-info-border:#bfdbfe;--dovad-status-warning-bg:#fffbeb;--dovad-status-warning-fg:#b45309;--dovad-status-warning-border:#fde68a;--dovad-status-error-bg:#fee2e2;--dovad-status-error-fg:#991b1b;--dovad-status-error-border:#fecaca;--dovad-space-xxs:2px;--dovad-space-xs:4px;--dovad-space-sm:8px;--dovad-space-md:12px;--dovad-space-lg:16px;--dovad-space-xl:24px;--dovad-space-xxl:32px;--dovad-space-section:48px;--dovad-radius-sm:4px;--dovad-radius-md:6px;--dovad-radius-lg:8px;--dovad-radius-xl:12px;--dovad-radius-pill:999px;--dovad-shadow-sm:0 1px 2px #0000000d;--dovad-shadow-md:0 8px 24px #18181b0f;--dovad-shadow-lg:0 16px 40px #18181b14;--dovad-motion-quick:.15s;--dovad-motion-base:.22s;--dovad-motion-comfortable:.34s;--dovad-motion-easing:cubic-bezier(.2, .9, .3, 1);--dovad-font-sans:"Arimo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--dovad-font-mono:"IBM Plex Mono", SFMono-Regular, Menlo, Monaco, Consolas, monospace}html,body{font-family:var(--dovad-font-sans);color:var(--dovad-text-primary);background:var(--dovad-surface-canvas)}.dovad-h1,.dovad-headline-lg{font-family:var(--dovad-font-sans);letter-spacing:0;color:var(--dovad-text-primary);margin:0;font-size:24px;font-weight:500;line-height:1.5}.dovad-h2,.dovad-headline-md{font-family:var(--dovad-font-sans);letter-spacing:0;color:var(--dovad-text-primary);margin:0;font-size:20px;font-weight:500;line-height:1.5}.dovad-h3,.dovad-title-md{font-family:var(--dovad-font-sans);letter-spacing:0;color:var(--dovad-text-primary);margin:0;font-size:18px;font-weight:500;line-height:1.5}.dovad-body,.dovad-body-md{font-family:var(--dovad-font-sans);letter-spacing:0;color:var(--dovad-text-primary);font-size:14px;font-weight:400;line-height:1.43}.dovad-body-sm{font-family:var(--dovad-font-sans);letter-spacing:0;color:var(--dovad-text-primary);font-size:13px;font-weight:400;line-height:1.38}.dovad-label,.dovad-label-sm{font-family:var(--dovad-font-sans);letter-spacing:0;color:var(--dovad-text-primary);font-size:12px;font-weight:500;line-height:1.33}.dovad-eyebrow,.dovad-eyebrow-xs{font-family:var(--dovad-font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--dovad-text-muted);font-size:11px;font-weight:600;line-height:1.33}.dovad-mono,.dovad-mono-sm{font-family:var(--dovad-font-mono);letter-spacing:0;color:var(--dovad-text-primary);font-size:12px;font-weight:400;line-height:1.33}.dovad-muted{color:var(--dovad-text-muted)}.dovad-secondary{color:var(--dovad-text-secondary)}.dovad-focusable:focus-visible{outline:2px solid var(--dovad-focus-ring);outline-offset:2px}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{background:var(--page-bg,var(--dovad-surface-canvas));color:var(--page-fg,var(--dovad-text-primary));font-family:var(--dovad-font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.43}:root{--page-bg:var(--dovad-surface-canvas);--page-fg:var(--dovad-text-primary);--paper-bg:var(--dovad-surface-paper);--line-subtle:var(--dovad-border-subtle);--line-default:var(--dovad-border-default);--text-secondary:var(--dovad-text-secondary);--text-muted:var(--dovad-text-muted);--action-bg:var(--dovad-text-primary);--action-fg:#fff;--action-hover:#27272a}@media (prefers-color-scheme:dark){:root:not(.theme-light){--page-bg:#09090b;--page-fg:#fafafa;--paper-bg:#18181b;--line-subtle:#27272a;--line-default:#3f3f46;--text-secondary:#a1a1aa;--text-muted:#71717a;--action-bg:#fafafa;--action-fg:#18181b;--action-hover:#e4e4e7}}:root.theme-dark{--page-bg:#09090b;--page-fg:#fafafa;--paper-bg:#18181b;--line-subtle:#27272a;--line-default:#3f3f46;--text-secondary:#a1a1aa;--text-muted:#71717a;--action-bg:#fafafa;--action-fg:#18181b;--action-hover:#e4e4e7}.app{background:var(--page-bg);min-height:100vh;color:var(--page-fg);flex-direction:column;display:flex}.topbar{z-index:20;background:var(--paper-bg);border-bottom:1px solid var(--line-subtle);-webkit-backdrop-filter:saturate(1.2);backdrop-filter:saturate(1.2);align-items:center;gap:16px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:500;display:flex}.brand-mark{width:22px;height:22px;display:block}.topbar .spacer{flex:1}.topbar-meta{font-family:var(--dovad-font-mono);color:var(--text-muted);align-items:center;gap:16px;font-size:12px;display:flex}.topbar-meta .sep{background:var(--line-subtle);width:1px;height:16px}.live-dot{font-family:var(--dovad-font-mono);color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:inline-flex}.live-dot:before{content:"";background:var(--dovad-success-700);width:6px;height:6px;animation:livepulse 2.4s var(--dovad-motion-easing) infinite;border-radius:999px;box-shadow:0 0 #16653466}@keyframes livepulse{0%{box-shadow:0 0 #16653473}60%{box-shadow:0 0 0 6px #16653400}to{box-shadow:0 0 #16653400}}.main{flex:1;justify-content:center;padding:64px 24px 80px;display:flex}.main-col{flex-direction:column;gap:48px;width:100%;max-width:880px;display:flex}.eyebrow-row{font-family:var(--dovad-font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:12px;font-size:11px;font-weight:600;display:flex}.eyebrow-row .rule{background:var(--line-subtle);flex:1;height:1px}.eyebrow-row .pill{border:1px solid var(--line-subtle);background:var(--paper-bg);color:var(--text-secondary);font-family:var(--dovad-font-mono);letter-spacing:0;text-transform:none;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:400;display:inline-flex}.eyebrow-row .pill:before{content:"";background:var(--dovad-warning-700);border-radius:999px;width:5px;height:5px}.hero h1{font-family:var(--dovad-font-sans);letter-spacing:-.02em;text-wrap:balance;margin:24px 0 0;font-size:clamp(36px,5.2vw,64px);font-weight:500;line-height:1.08}.hero h1 .accent{color:var(--text-muted)}.hero .lede{max-width:640px;color:var(--text-secondary);text-wrap:pretty;margin-top:24px;font-size:17px;line-height:1.55}.spec-grid{border:1px solid var(--line-subtle);background:var(--paper-bg);border-radius:8px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.spec-cell{border-right:1px solid var(--line-subtle);border-bottom:1px solid var(--line-subtle);flex-direction:column;gap:6px;min-height:88px;padding:16px 18px;display:flex}.spec-cell:nth-child(4n){border-right:none}.spec-cell:nth-last-child(-n+4){border-bottom:none}.spec-key{font-family:var(--dovad-font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11px;font-weight:600}.spec-val{font-family:var(--dovad-font-mono);color:var(--page-fg);font-size:13px}.spec-val.with-dot{align-items:center;gap:8px;display:inline-flex}.spec-val .dot{background:var(--dovad-warning-700);border-radius:999px;width:6px;height:6px}.spec-val .dot.green{background:var(--dovad-success-700)}.spec-val .dot.indigo{background:var(--dovad-brand-600)}@media (width<=720px){.spec-grid{grid-template-columns:repeat(2,1fr)}.spec-cell:nth-child(4n){border-right:1px solid var(--line-subtle)}.spec-cell:nth-child(2n){border-right:none}.spec-cell:nth-last-child(-n+4){border-bottom:1px solid var(--line-subtle)}.spec-cell:nth-last-child(-n+2){border-bottom:none}}.contact-card{border:1px solid var(--line-subtle);background:var(--paper-bg);border-radius:8px;grid-template-columns:200px 1fr;gap:32px;padding:28px;display:grid}.contact-card .label{font-family:var(--dovad-font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11px;font-weight:600}.contact-card .body{flex-direction:column;gap:18px;display:flex}.contact-row{grid-template-columns:110px 1fr;align-items:baseline;gap:24px;font-size:14px;display:grid}.contact-row .role{font-family:var(--dovad-font-sans);color:var(--text-muted)}.contact-row .email{font-family:var(--dovad-font-mono);color:var(--page-fg);transition:border-color var(--dovad-motion-quick) var(--dovad-motion-easing);border-bottom:1px solid #0000;text-decoration:none}.contact-row .email:hover{border-bottom-color:var(--page-fg)}@media (width<=720px){.contact-card{grid-template-columns:1fr;gap:20px;padding:20px}.contact-row{grid-template-columns:1fr;gap:4px}}.console{border:1px solid var(--line-subtle);background:var(--paper-bg);border-radius:8px;overflow:hidden}.console-head{border-bottom:1px solid var(--line-subtle);height:36px;font-family:var(--dovad-font-mono);color:var(--text-muted);background:linear-gradient(#0000 0% 100%);align-items:center;gap:12px;padding:0 14px;font-size:12px;display:flex}.console-head .traffic{gap:6px;display:inline-flex}.console-head .traffic span{background:var(--line-default);border-radius:999px;width:9px;height:9px}.console-head .title{text-align:center;flex:1}.console-body{font-family:var(--dovad-font-mono);color:var(--page-fg);flex-direction:column;gap:4px;padding:18px 20px 22px;font-size:13px;line-height:1.6;display:flex}.console-body .ln{gap:16px;display:flex}.console-body .ln .ts{color:var(--text-muted);flex-shrink:0}.console-body .ln .lvl{text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;width:64px;padding-top:1px;font-size:11px;display:inline-block}.console-body .ln .lvl.info{color:var(--dovad-info-700)}.console-body .ln .lvl.ok{color:var(--dovad-success-700)}.console-body .ln .lvl.wait{color:var(--dovad-warning-700)}.console-body .ln .lvl.note{color:var(--text-muted)}.theme-dark .console-body .ln .lvl.info{color:#93c5fd}.theme-dark .console-body .ln .lvl.ok{color:#86efac}.theme-dark .console-body .ln .lvl.wait{color:#fcd34d}.console-body .msg{color:var(--page-fg)}.console-body .msg .dim{color:var(--text-muted)}.console-body .cursor:after{content:"▍";color:var(--page-fg);margin-left:6px;animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.footer{border-top:1px solid var(--line-subtle);font-family:var(--dovad-font-mono);color:var(--text-muted);align-items:center;gap:16px;padding:20px 24px;font-size:12px;display:flex}.footer .spacer{flex:1}.footer a{color:var(--text-secondary);border-bottom:1px dotted var(--line-default);text-decoration:none}.footer a:hover{color:var(--page-fg)}.col{flex-direction:column;display:flex}.row{align-items:center;gap:12px;display:flex}@media (width<=720px){.topbar{gap:8px;height:52px;padding:0 16px}.brand{font-size:14px}.topbar-meta{gap:10px;font-size:11px}.topbar-meta .topbar-version,.topbar-meta .sep{display:none}.main{padding:32px 16px 56px}.main-col{gap:32px}.hero h1{font-size:32px;line-height:1.1}.hero .lede{margin-top:18px;font-size:15px}.console-head .title{text-align:left;padding-left:4px}.console-body{padding:14px 14px 18px;font-size:12px;overflow-x:auto}.console-body .ln{white-space:nowrap;gap:10px}.console-body .ln .ts{color:var(--text-muted);font-size:11px}.console-body .ln .lvl{width:auto;min-width:44px}.footer{flex-wrap:wrap;gap:8px;padding:16px;font-size:11px}.footer .placeholder-note{flex-basis:100%}}@media (width<=480px){.hero h1{font-size:28px}.spec-cell{min-height:76px;padding:12px 14px}.contact-card{padding:18px}}::selection{background:var(--dovad-brand-100);color:var(--dovad-brand-900)}.theme-dark ::selection{background:var(--dovad-brand-900);color:var(--dovad-brand-100)}:focus-visible{outline:2px solid var(--dovad-focus-ring);outline-offset:2px;border-radius:4px}.bg-grid:before{content:"";pointer-events:none;background-image:linear-gradient(to right, var(--line-subtle) 1px, transparent 1px), linear-gradient(to bottom, var(--line-subtle) 1px, transparent 1px);opacity:.4;z-index:0;background-position:-1px -1px;background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 30%,#000 30%,#0000 80%);mask-image:radial-gradient(80% 60% at 50% 30%,#000 30%,#0000 80%)}.app.bg-grid>.topbar,.app.bg-grid>.main,.app.bg-grid>.footer{z-index:1;position:relative}
