:root{--font-sans: "Plus Jakarta Sans", "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--hud-glass-bg: rgba(255, 255, 255, .78);--hud-glass-border: 1px solid rgba(255, 255, 255, .18);--hud-glass-blur: blur(16px) saturate(140%);--hud-specular-top: inset 0 1px 0 0 rgba(255, 255, 255, .25);--hud-glow-accent: 0 0 20px rgba(23, 185, 120, .22);--hud-glow-ring: 0 0 0 2px var(--accent), 0 0 16px rgba(23, 185, 120, .35);--bg: #f4f6f2;--surface: #ffffff;--surface-2: #edf1ea;--ink: #15211b;--ink-2: #43534a;--muted: #68766d;--line: #d9e0d6;--accent: #0d8a54;--accent-deep: #0a6b40;--accent-soft: #e2f2e8;--good: #1da35c;--weak: #d9932c;--none: #d2402e;--hero-scrim: rgba(8, 18, 13, .55);--shadow: 0 18px 44px rgba(18, 34, 24, .12);--radius: 14px;--r: 12px;--r-sm: 8px;--bg-primary: var(--bg);--bg-surface: var(--surface);--bg-surface-elevated: var(--surface-2);--border-color: var(--line);--border-subtle: var(--line);--text-primary: var(--ink);--text-secondary: var(--ink-2);--text-muted: var(--muted);--color-covered: var(--good);--color-covered-bg: var(--accent-soft);--color-uncovered: var(--none);--color-uncovered-stripe: #b91c1c;--color-accent: var(--accent);--color-accent-hover: var(--accent-deep);--color-warning-bg: #fef3c7;--color-warning-border: var(--weak);--color-warning-text: #78350f;--color-error-bg: #fee2e2;--color-error-border: var(--none);--color-error-text: #7f1d1d;--radius-sm: var(--r-sm);--radius-md: var(--r);--radius-lg: var(--radius);--max-width: 1180px}@media(prefers-color-scheme:dark){:root{--bg: #0c120e;--surface: #141c16;--surface-2: #1a241c;--ink: #e9f0ea;--ink-2: #b9c8bc;--muted: #8fa295;--line: #27342a;--accent: #2fbf7f;--accent-deep: #2fbf7f;--accent-soft: #173325;--good: #35c26e;--weak: #eaa83e;--none: #e2574a;--hero-scrim: rgba(10, 16, 12, .85);--shadow: 0 18px 44px rgba(0, 0, 0, .45);--hud-glass-bg: rgba(14, 22, 16, .82);--hud-glass-border: 1px solid rgba(255, 255, 255, .09);--hud-glass-blur: blur(16px) saturate(140%);--hud-specular-top: inset 0 1px 0 0 rgba(255, 255, 255, .09);--hud-glow-accent: 0 0 22px rgba(47, 191, 127, .28);--hud-glow-ring: 0 0 0 2px var(--accent), 0 0 18px rgba(47, 191, 127, .42);--color-warning-bg: #451a03;--color-warning-border: #d97706;--color-warning-text: #fef3c7;--color-error-bg: #450a0a;--color-error-border: #dc2626;--color-error-text: #fee2e2}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}body{margin:0;background-color:var(--bg);color:var(--ink);font-family:var(--font-sans);line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}h1,h2,h3,h4,h5,h6,.brand,.from-to,.route-name,.hero h1,.sec-head h2{font-family:var(--font-sans);letter-spacing:-.03em}.mono,.route-dist,.stat dd,.ring-num b,.score-chip b,.sim-gauge-val,.badge,.status-badge,.legend,.tl-towns,[data-count],.sim-scrub-edge,.sim-gauge-pos,.price-amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}a{color:var(--accent-deep)}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 20px;width:100%}.topbar{position:sticky;top:0;z-index:40;background:#0c120ed1;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px -2px #00000073;transition:background .3s ease,border-color .3s ease}.topbar-in{display:flex;align-items:center;justify-content:space-between;height:60px}.topbar .brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.08rem;letter-spacing:-.015em;color:#f0f7f2;text-decoration:none;transition:opacity .2s ease}.topbar .brand:hover{opacity:.92}.topbar .brand svg{display:block;filter:drop-shadow(0 0 6px rgba(23,185,120,.5))}.topbar .brand .dotio{color:var(--accent);font-weight:700}.navlinks{display:flex;align-items:center;gap:26px}.navlinks a{color:#a4beac;text-decoration:none;font-weight:600;font-size:.92rem;position:relative;padding:6px 0;transition:color .18s ease}.navlinks a:hover{color:#4ade8c}.navlinks a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);border-radius:2px;transition:width .2s ease}.navlinks a:hover:after{width:100%}.navlinks a.nav-benchmark-link{background:#17b97814;border:1px solid rgba(23,185,120,.25);border-radius:999px;padding:6px 16px;color:#4ade8c;font-size:.82rem;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.navlinks a.nav-benchmark-link:after{display:none}.navlinks a.nav-benchmark-link:hover{background:#17b9782e;border-color:#17b97899;box-shadow:0 0 14px #17b9784d;color:#fff;transform:translateY(-1px)}@media(max-width:720px){.navlinks{display:none}}.hero{position:relative;color:#fff;overflow:hidden;background:#06100a url(/images/hero-highway.webp) center 35%/cover no-repeat}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 28%,rgba(23,185,120,.14) 0%,transparent 48%),linear-gradient(105deg,#06100ae0 18%,#06100aad 52%,#06100a59);pointer-events:none}.hero-in{position:relative;padding:92px 0 72px;max-width:820px}.hero h1{font-size:clamp(2.6rem,6.8vw,4.4rem);line-height:1.04;font-weight:900;letter-spacing:-.025em;margin:0 0 20px;text-shadow:0 2px 24px rgba(0,0,0,.65)}.hero h1 .hl{background:linear-gradient(135deg,#4ade8c,#17b978);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 24px rgba(74,222,140,.45))}.hero p.lede{font-size:clamp(1.08rem,2.1vw,1.28rem);line-height:1.55;color:#dbe8df;margin:0 0 16px;max-width:660px;text-shadow:0 1px 8px rgba(0,0,0,.5)}.hero p.lede strong{color:#fff;font-weight:700}.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:1rem;text-decoration:none;padding:14px 26px;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease,background .18s ease,border-color .18s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,#22d385,#15a86c);color:#031208;box-shadow:0 4px 18px #17b97859,inset 0 1px #ffffff4d;border:1px solid rgba(255,255,255,.15)}.btn-primary:hover{background:linear-gradient(180deg,#2ae390,#18b575);transform:translateY(-2px);box-shadow:0 8px 26px #17b97880,inset 0 1px #fff6;color:#031208}.btn-ghost{background:#0a18108c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border-color:#ffffff38;box-shadow:0 4px 16px #00000040}.btn-ghost:hover{background:#ffffff1f;border-color:#ffffff73;transform:translateY(-2px);box-shadow:0 6px 20px #00000059;color:#fff}.hero-scores{margin-top:44px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.hero-scores .cap{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#92b89c;width:100%;margin-bottom:2px}.score-chip{display:inline-flex;align-items:center;gap:10px;background:#0a160eb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 18px;font-size:.92rem;font-weight:600;color:#e2ede5;box-shadow:0 4px 16px #00000059;transition:transform .18s ease,border-color .18s ease}.score-chip:hover{transform:translateY(-1px);border-color:#4ade8c59}.score-chip b{font-family:var(--font-mono);font-size:1.06rem;font-weight:800;padding:2px 8px;border-radius:6px}.score-chip .good{color:#4ade8c;background:#4ade8c1f;text-shadow:0 0 10px rgba(74,222,140,.4);border:1px solid rgba(74,222,140,.25)}.score-chip .mid{color:#f5b74a;background:#f5b74a1f;text-shadow:0 0 10px rgba(245,183,74,.4);border:1px solid rgba(245,183,74,.25)}.score-chip .bad{color:#ff7a6b;background:#ff7a6b1f;text-shadow:0 0 10px rgba(255,122,107,.4);border:1px solid rgba(255,122,107,.25)}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.85}50%{transform:scale(1.18);opacity:.35}to{transform:scale(.95);opacity:.85}}@keyframes dash{to{stroke-dashoffset:-40}}.hero-graphic-wrap{margin-top:36px;background:#08120cb8;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 20px 12px;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:inset 0 1px #ffffff26,0 16px 36px #00000073}.hero-route-svg{width:100%;height:auto;max-height:160px;display:block}.pulse-ring-element{transform-origin:center;transform-box:fill-box;animation:pulse-ring 2.6s cubic-bezier(.4,0,.6,1) infinite}.route-dash-path{animation:dash 1.8s linear infinite}section.marketing-sec{padding:72px 0}.sec-head{max-width:720px;margin-bottom:36px}.sec-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.015em;margin:0 0 10px;line-height:1.12;color:var(--ink)}.sec-head p{color:var(--ink-2);font-size:1.05rem;margin:0}#demo{padding-top:56px}.console{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--hud-specular-top),0 18px 48px -12px #0000001f,0 1px 3px #0000000a;overflow:hidden;position:relative;transition:all .25s ease;backdrop-filter:var(--hud-glass-blur);-webkit-backdrop-filter:var(--hud-glass-blur)}@media(prefers-color-scheme:dark){.console{background:linear-gradient(180deg,#16221ad9,#0c120efa);border:var(--hud-glass-border);box-shadow:var(--hud-specular-top),0 24px 64px -12px #000000bf,0 0 32px -8px #2fbf7f1f}}.console-head{padding:22px 26px 0}.trip-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.trip-line .from-to{font-size:1.25rem;font-weight:800;letter-spacing:-.01em;color:var(--ink)}.trip-line .arrow{color:var(--accent);font-weight:900}.trip-meta{color:var(--muted);font-size:.9rem;font-weight:600}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--good);margin-right:6px;box-shadow:0 0 8px var(--good)}.controls-row{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;padding:18px 26px 20px;border-bottom:1px solid var(--line)}.controls-row .lbl{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.demo-dataset-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 26px;background:var(--surface-2);border-bottom:1px solid var(--line)}.demo-dataset-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.demo-dataset-controls .lbl{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.demo-attribution-notice{font-size:.85rem;color:var(--ink-2);line-height:1.4;flex:1 1 340px;padding:8px 14px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px}.demo-attribution-notice strong{color:var(--ink)}.demo-attribution-notice em{font-style:normal;color:var(--muted)}.demo-corridor-row{margin-bottom:14px}.corridor-switch{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:4px;gap:6px;flex-wrap:wrap;box-shadow:inset 0 2px 4px #00000008}.corridor-switch button{border:1px solid transparent;background:transparent;color:var(--ink-2);cursor:pointer;font:inherit;font-weight:700;font-size:.92rem;padding:8px 16px;border-radius:9px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.corridor-switch button .corridor-title{color:inherit;font-size:.92rem;font-weight:700}.corridor-switch button .corridor-tag{font-size:.76rem;font-weight:500;color:var(--muted)}.corridor-switch button[aria-pressed=true]{background:var(--surface);color:var(--ink);border-color:var(--accent);box-shadow:0 2px 8px #00000014,0 0 12px #0d8a5429;transform:translateY(-1px)}@media(prefers-color-scheme:dark){.corridor-switch button[aria-pressed=true]{background:#2fbf7f26;color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #0000004d,0 0 16px #2fbf7f40}}.corridor-switch button[aria-pressed=true] .corridor-tag{color:var(--accent)}.corridor-switch button:hover:not([aria-pressed=true]){background:var(--surface);color:var(--ink);transform:translateY(-.5px)}.corridor-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.carrier-switch{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px;box-shadow:inset 0 2px 4px #00000008}.carrier-switch button{border:0;background:transparent;color:var(--ink-2);cursor:pointer;font:inherit;font-weight:700;font-size:.95rem;padding:8px 18px;border-radius:999px;transition:all .2s cubic-bezier(.16,1,.3,1)}.carrier-switch button[aria-pressed=true]{background:var(--ink);color:var(--bg);box-shadow:0 2px 8px #0000002e,var(--hud-glow-ring);transform:translateY(-1px)}@media(prefers-color-scheme:dark){.carrier-switch button[aria-pressed=true]{background:var(--accent);color:#06130c;box-shadow:var(--hud-glow-ring)}}.carrier-switch button:hover:not([aria-pressed=true]){color:var(--ink);background:color-mix(in srgb,var(--surface) 60%,transparent)}.carrier-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-left:auto;font-size:.85rem;color:var(--ink-2);font-weight:600}.legend span{display:inline-flex;align-items:center;gap:7px}.swatch{width:22px;height:6px;border-radius:3px;display:inline-block;box-shadow:0 1px 3px #0000001f}.sw-good{background:var(--good)}.sw-weak{background:var(--weak)}.sw-none{background:var(--none)}#map{height:440px;width:100%;background:var(--surface-2);position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}@media(max-width:640px){#map{height:320px}}@media(prefers-color-scheme:dark){#map{background:#09120d}}.map-fallback{padding:22px 26px;color:var(--ink-2);font-size:.95rem;background:var(--surface-2)}.corridor-map-canvas-container{position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit}.corridor-map-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.corridor-map-svg-wrap{position:relative;z-index:2;width:100%;height:100%}@keyframes radar-pulse-wave{0%{r:6px;opacity:.9}60%{r:22px;opacity:.2}to{r:28px;opacity:0}}.sim-radar-ring.sim-ring-outer{animation:radar-pulse-wave 2.2s cubic-bezier(.2,.8,.2,1) infinite}.sim-radar-ring.sim-ring-inner{animation:radar-pulse-wave 2.2s cubic-bezier(.2,.8,.2,1) .6s infinite}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}@media(max-width:860px){.route-grid{grid-template-columns:1fr}}.route-card{padding:26px 28px 28px;position:relative;background:var(--surface);transition:background .25s ease,box-shadow .25s ease,transform .2s ease}.route-card:hover{box-shadow:var(--hud-specular-top),0 8px 24px #0000000f}.route-card+.route-card{border-left:1px solid var(--line)}@media(max-width:860px){.route-card+.route-card{border-left:0;border-top:1px solid var(--line)}}.route-card.selected{background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface));box-shadow:inset 0 3px 0 0 var(--accent),var(--hud-specular-top)}@media(prefers-color-scheme:dark){.route-card.selected{background:#2fbf7f14;box-shadow:inset 0 3px 0 0 var(--accent),var(--hud-specular-top),inset 0 0 24px #2fbf7f0f}}.route-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.route-name{font-size:1.15rem;font-weight:800;margin:0;color:var(--ink);letter-spacing:-.01em}.route-roads{color:var(--muted);font-size:.88rem;font-weight:600;margin:3px 0 0}.badge-winner{flex:none;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;box-shadow:0 2px 8px #0d8a5440}@media(prefers-color-scheme:dark){.badge-winner{color:#06130c;background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 0 14px #34d39959}}.route-dist{font-family:var(--font-mono);font-size:.92rem;color:var(--ink-2);margin-top:10px}.score-row{display:flex;align-items:center;gap:18px;margin:18px 0 6px}.ring-wrap{position:relative;width:96px;height:96px;flex:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.08))}.ring-wrap svg{transform:rotate(-90deg);display:block}.ring-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring-num b{font-family:var(--font-mono);font-size:1.85rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--ink)}.ring-num small{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}.stat-list{display:grid;gap:10px;flex:1;min-width:180px;margin:0}.stat{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:8px}.stat:last-child{border-bottom:0;padding-bottom:0}.stat dt{color:var(--muted);font-size:.86rem;font-weight:600;margin:0}.stat dd{margin:0;font-weight:700;font-size:.95rem;text-align:right;color:var(--ink)}.stat dd .sub{display:block;font-weight:600;color:var(--muted);font-size:.8rem}.gap-warn{color:var(--none)}.timeline-block{margin-top:18px}.timeline-block .tl-cap{display:flex;justify-content:space-between;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.timeline{display:flex;height:18px;border-radius:6px;overflow:hidden;border:1px solid var(--line);box-shadow:inset 0 1px 3px #00000014}.timeline div{height:100%;transition:opacity .15s ease,filter .15s ease}.timeline div:hover{filter:brightness(1.2);cursor:pointer}.tl-towns{position:relative;height:20px;margin-top:5px;font-size:.74rem;color:var(--muted);font-weight:600}.tl-towns span{position:absolute;transform:translate(-50%);white-space:nowrap}.tl-towns span:before{content:"";position:absolute;left:50%;top:-6px;width:1px;height:5px;background:var(--muted)}.tl-towns .tl-start{transform:none}.tl-towns .tl-start:before{left:0}.tl-towns .tl-end{transform:translate(-100%)}.tl-towns .tl-end:before{left:auto;right:0}.route-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.btn-dark{background:var(--ink);color:var(--bg);font-size:.92rem;padding:11px 18px}.btn-line{background:transparent;color:var(--ink);border-color:var(--line);font-size:.92rem;padding:11px 18px}.btn-line:hover{border-color:var(--accent);color:var(--accent-deep)}.btn-select[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--hud-glow-ring)}@media(prefers-color-scheme:dark){.btn-select[aria-pressed=true]{color:#06130c;box-shadow:var(--hud-glow-ring)}}.btn-select:focus-visible,.btn-line:focus-visible,.btn-dark:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.verdict{display:flex;gap:14px;align-items:flex-start;margin:0 26px;padding:16px 18px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.verdict b{color:var(--accent-deep)}.verdict p{margin:0;font-size:.97rem;color:var(--ink)}.download-note{margin:14px 26px 0;padding:14px 18px;border-radius:var(--radius);border:1px dashed var(--none);color:var(--ink);display:flex;gap:12px;align-items:flex-start;font-size:.95rem}.download-note b{color:var(--none)}.download-note p{margin:0}.honesty{margin:18px 26px 24px;padding:13px 16px;border-radius:10px;background:var(--surface-2);color:var(--ink-2);font-size:.85rem;line-height:1.55}.honesty b{color:var(--ink)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}@media(max-width:860px){.steps{grid-template-columns:1fr;gap:20px}}.step{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px 26px;position:relative;overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;box-shadow:var(--hud-specular-top),0 4px 18px #0000001f;backdrop-filter:var(--hud-glass-blur);-webkit-backdrop-filter:var(--hud-glass-blur)}.step:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#17b978,#17b97833);opacity:.85}.step:hover{transform:translateY(-4px);border-color:#17b97859;box-shadow:var(--hud-specular-top),0 12px 30px -4px #00000040,0 0 20px #17b97814}.step-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#17b97814;border:1px solid rgba(23,185,120,.2);margin-bottom:14px;transition:transform .22s ease,box-shadow .22s ease}.step:hover .step-icon-wrap{transform:scale(1.06);box-shadow:0 0 16px #17b97838}.step .num{display:inline-block;font-family:var(--font-mono);font-weight:700;color:var(--accent);font-size:.82rem;letter-spacing:.06em;background:#17b97817;border:1px solid rgba(23,185,120,.22);border-radius:6px;padding:3px 8px;margin-bottom:12px}.step h3{margin:4px 0 10px;font-size:1.25rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}.step p{margin:0;color:var(--ink-2);font-size:.98rem;line-height:1.58}.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch}@media(max-width:860px){.who-grid{grid-template-columns:1fr}}.who-grid picture{display:block;width:100%;height:100%;border-radius:20px;overflow:hidden}.who-grid img{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:20px;display:block;border:1px solid var(--line);box-shadow:0 12px 36px #00000040;transition:transform .35s ease}.who-grid picture:hover img{transform:scale(1.02)}.who-grid>div{display:flex;flex-direction:column;gap:16px;justify-content:center}.audience{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 24px;position:relative;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:var(--hud-specular-top),0 4px 18px #00000014;backdrop-filter:var(--hud-glass-blur);-webkit-backdrop-filter:var(--hud-glass-blur)}.audience:hover{transform:translateY(-2px);border-color:#17b9784d;box-shadow:var(--hud-specular-top),0 8px 24px #00000029}.audience h3{margin:0 0 8px;font-size:1.16rem;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:10px}.audience h3:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.audience p{margin:0;color:var(--ink-2);font-size:.96rem;line-height:1.55}#pricing{background:linear-gradient(180deg,var(--surface-2) 0%,var(--bg) 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:900px;align-items:stretch}@media(max-width:720px){.price-grid{grid-template-columns:1fr}}.price-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:34px 30px;display:flex;flex-direction:column;box-shadow:0 6px 24px #00000026;transition:transform .2s ease,box-shadow .2s ease}.price-card:hover{transform:translateY(-3px)}.price-card.pro{border:1.5px solid #17b978;background:linear-gradient(180deg,rgba(23,185,120,.05) 0%,var(--surface) 35%);box-shadow:0 0 36px -4px #17b97838,0 16px 36px -8px #00000059;position:relative}.price-card.pro:before{content:"MOST POPULAR •COCKPIT PRO";position:absolute;top:-13px;right:28px;background:#17b978;color:#04140b;font-family:var(--font-mono);font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:4px 12px;border-radius:999px;box-shadow:0 2px 10px #17b97866}.price-card h3{margin:0 0 6px;font-size:1.25rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}.price-amt{font-size:2.3rem;font-weight:900;letter-spacing:-.025em;margin:10px 0 4px;color:var(--ink);font-family:var(--font-mono)}.price-amt small{font-size:.96rem;font-weight:600;color:var(--muted);letter-spacing:0;font-family:var(--font-sans)}.price-alt{color:var(--muted);font-size:.92rem;font-weight:600;margin-bottom:22px}.price-card ul{list-style:none;margin:0 0 auto;padding:0;display:grid;gap:12px}.price-card li{display:flex;align-items:center;gap:12px;font-size:.97rem;color:var(--ink-2)}.price-card li:before{content:"✓";color:var(--accent);font-weight:900;font-size:1.05rem;flex:none;background:#17b9781f;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.price-card li.off{color:var(--muted);opacity:.7}.price-card li.off:before{content:"–";color:var(--muted);background:#ffffff0d}footer.marketing-footer{padding:56px 0 64px;color:var(--muted);font-size:.9rem;line-height:1.6;border-top:1px solid var(--line);background:var(--bg)}footer.marketing-footer .cols{display:grid;grid-template-columns:1.4fr 1fr;gap:36px}@media(max-width:720px){footer.marketing-footer .cols{grid-template-columns:1fr}}footer.marketing-footer b{color:var(--ink)}footer.marketing-footer p{margin:0 0 10px}#marketing-view[hidden],#dashboard-view[hidden]{display:none!important}.back-link{font-size:.85rem;font-weight:600;color:var(--accent-deep);text-decoration:none}.back-link:hover{text-decoration:underline}.app-header{background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);padding:1.25rem 1.5rem}.header-inner{max-width:var(--max-width);margin:0 auto 1rem}.brand{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.brand-name{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.brand-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .5rem;background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--color-accent)}.brand-tagline{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.safety-banner{max-width:var(--max-width);margin:0 auto;background-color:var(--color-warning-bg);border-left:4px solid var(--color-warning-border);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.875rem;color:var(--color-warning-text);line-height:1.5}.safety-banner strong{display:block;font-weight:700;margin-bottom:.25rem}.app-main{flex:1;max-width:var(--max-width);width:100%;margin:0 auto;padding:1.5rem 1rem}.state-container{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:3rem 2rem;text-align:center;margin:2rem 0}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--color-accent);border-radius:50%;margin:0 auto 1rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-card{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);padding:1.5rem;color:var(--color-error-text);text-align:left}.error-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.error-badge{font-family:var(--font-mono);font-size:.75rem;padding:.2rem .5rem;background-color:#7f1d1d;border:1px solid var(--color-error-border);border-radius:var(--radius-sm);color:#fff}.error-details{font-size:.875rem;margin-top:.75rem;line-height:1.5}.error-details dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin-top:.5rem}.error-details dt{font-weight:600;color:var(--text-secondary)}.error-details dd{font-family:var(--font-mono);word-break:break-all}.retry-button{margin-top:1rem;padding:.5rem 1rem;background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-weight:600;cursor:pointer;transition:background-color .2s}.retry-button:hover,.retry-button:focus-visible{background-color:var(--border-color)}.corridor-hero{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.corridor-hero-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.corridor-title-group h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.corridor-subtitle{font-size:.95rem;color:var(--text-secondary);margin-top:.25rem}.status-badge{font-size:.75rem;font-weight:600;padding:.25rem .6rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.status-badge.provisional{background-color:#1e3a8a;color:#93c5fd;border:1px solid #3b82f6}.highway-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.highway-tag{font-size:.8rem;font-family:var(--font-mono);background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.15rem .5rem;color:var(--text-secondary)}.metrics-section{margin-bottom:1.5rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.metric-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column}.metric-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.25rem}.metric-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.metric-value.highlight-covered{color:var(--color-covered)}.metric-value.highlight-gap{color:var(--color-uncovered)}.metric-subtext{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.timeline-section{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.section-header{margin-bottom:1rem}.section-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.section-header p{font-size:.875rem;color:var(--text-muted)}.timeline-bar-wrapper{margin:1.5rem 0 .75rem}.timeline-bar{display:flex;height:32px;width:100%;background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.timeline-segment{height:100%;position:relative;transition:opacity .2s}.timeline-segment.covered{background-color:var(--color-covered)}.timeline-segment.gap{background-color:var(--color-uncovered);background-image:repeating-linear-gradient(45deg,var(--color-uncovered-stripe),var(--color-uncovered-stripe) 6px,var(--color-uncovered) 6px,var(--color-uncovered) 12px)}.timeline-scale{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.timeline-legend{display:flex;gap:1.5rem;margin-top:1rem;font-size:.875rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-swatch{width:18px;height:18px;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.legend-swatch.covered{background-color:var(--color-covered)}.legend-swatch.gap{background-color:var(--color-uncovered);background-image:repeating-linear-gradient(45deg,var(--color-uncovered-stripe),var(--color-uncovered-stripe) 3px,var(--color-uncovered) 3px,var(--color-uncovered) 6px)}.gaps-section{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.table-responsive{overflow-x:auto;margin-top:1rem}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.data-table th,.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle)}.data-table th{background-color:var(--bg-surface-elevated);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--text-muted)}.data-table tr:hover{background-color:#ffffff05}.font-mono{font-family:var(--font-mono)}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.details-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.nav-buttons{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.nav-button{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;font-size:.875rem;font-weight:600;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color .2s}.nav-button.google{background-color:#2563eb;color:#fff}.nav-button.google:hover,.nav-button.google:focus-visible{background-color:#1d4ed8}.nav-button.apple{background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-primary)}.nav-button.apple:hover,.nav-button.apple:focus-visible{background-color:var(--border-color)}.nav-note{font-size:.8rem;color:var(--text-muted);margin-top:.75rem}.provenance-list{list-style:none;margin-top:.75rem}.provenance-list li{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--border-subtle);font-size:.85rem}.provenance-list .key{color:var(--text-muted)}.provenance-list .value{font-family:var(--font-mono);color:var(--text-secondary)}.app-footer{background-color:var(--bg-surface);border-top:1px solid var(--border-color);padding:1.5rem;margin-top:auto;font-size:.8rem;color:var(--text-muted);text-align:center}.footer-inner{max-width:var(--max-width);margin:0 auto}.footer-legal{margin-top:.5rem;font-size:.75rem;line-height:1.4}.comparison-section{margin-bottom:2rem}.comparison-notice{background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:.75rem 0 1.25rem}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.5rem}.comparison-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;position:relative;transition:border-color .2s,box-shadow .2s}.comparison-card:hover{border-color:var(--border-subtle)}.comparison-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.comparison-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.comparison-card-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.comparison-card-summary{font-size:.85rem;color:var(--text-muted);line-height:1.4;margin-bottom:1rem}.comparison-metrics-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:1rem}.comparison-metrics-table tr{border-bottom:1px solid var(--border-subtle)}.comparison-metrics-table td{padding:.45rem 0}.comparison-metrics-table td:last-child{text-align:right;font-weight:600;font-family:var(--font-mono);color:var(--text-primary)}.comparison-tradeoff{font-size:.8rem;color:var(--text-muted);background-color:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.6rem .75rem;line-height:1.4;margin-top:auto;margin-bottom:1rem}.candidate-select-btn{display:block;width:100%;padding:.65rem 1rem;font-size:.875rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border-color);background-color:var(--bg-surface-elevated);color:var(--text-primary);transition:all .2s;text-align:center}.candidate-select-btn:hover:not(:disabled){background-color:var(--border-color);border-color:var(--accent);color:var(--text-primary)}.candidate-select-btn.active{background-color:var(--accent);border-color:var(--accent);color:#fff;cursor:default}.offline-status-banner{background-color:#78350f;color:#fef3c7;border-bottom:1px solid #b45309;font-size:.8rem;padding:.4rem 1rem;position:sticky;top:0;z-index:10000;box-shadow:0 2px 6px #0006}.offline-banner-in{display:flex;align-items:center;justify-content:center;gap:.5rem;text-align:center}.offline-dot{color:#f59e0b;font-size:1.25rem;line-height:1}@media(max-width:640px){.comparison-grid{grid-template-columns:1fr}.corridor-hero-header{flex-direction:column}.metrics-grid,.details-grid{grid-template-columns:1fr}}.nav-button.gpx{background-color:var(--color-brand);color:#06130c;font-weight:700;border:1px solid var(--color-brand)}.nav-button.gpx:hover,.nav-button.gpx:focus-visible{filter:brightness(1.1)}.nav-button.copy{background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-primary)}.nav-button.copy:hover,.nav-button.copy:focus-visible{background-color:var(--border-color)}.nav-button.print{background-color:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-primary)}.nav-button.print:hover,.nav-button.print:focus-visible{background-color:var(--border-color)}.btn-gpx{background-color:var(--surface);border-color:var(--accent);color:var(--ink);font-weight:700}.btn-gpx:hover{background-color:var(--accent);color:#fff}.btn-copy,.btn-print{background-color:var(--surface);border-color:var(--line);color:var(--ink)}.btn-copy:hover,.btn-print:hover{border-color:var(--muted)}.corridor-map-section{margin:1.5rem 0 2rem}.corridor-map-wrapper{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.corridor-map-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.875rem 1.25rem;background:var(--bg-surface-elevated);border-bottom:1px solid var(--border-color)}.corridor-map-title{display:flex;align-items:center;gap:.5rem}.corridor-map-title h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.corridor-map-legend{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:var(--text-secondary)}.legend-chip{display:inline-flex;align-items:center;gap:.375rem}.corridor-map-canvas-container{position:relative;width:100%;aspect-ratio:900 / 360;min-height:240px;max-height:420px;background:var(--bg-surface)}.corridor-map-svg{width:100%;height:100%;display:block}.corridor-map-gap-group{cursor:pointer}.corridor-map-gap-group.highlighted .map-segment-gap{stroke-width:8;filter:drop-shadow(0 0 6px var(--none));animation:pulse-gap 1.5s infinite ease-in-out}@keyframes pulse-gap{0%,to{opacity:1;stroke-width:8}50%{opacity:.75;stroke-width:9.5}}.corridor-map-gap-group .map-gap-halo{transition:opacity .2s ease}.map-gap-marker{cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.map-gap-marker:hover,.map-gap-marker.highlighted,.map-gap-marker:focus-visible{filter:drop-shadow(0 0 6px var(--none));outline:none}.map-gap-marker.highlighted .marker-bg{stroke-width:3.5}.map-gap-marker.highlighted .marker-tag-bg{fill:var(--bg-surface-elevated);stroke:var(--none)}.map-tooltip{position:absolute;pointer-events:none;background:var(--bg-surface-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:.35rem .65rem;font-family:var(--font-mono);font-size:.75rem;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #00000040;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;z-index:10}.map-tooltip.visible{opacity:1;transform:translateY(0)}.data-table tbody tr.highlighted{background-color:#ef44441f!important;outline:2px solid var(--none);outline-offset:-2px}.timeline-segment.gap.highlighted{outline:3px solid #ffffff;z-index:2;box-shadow:0 0 10px #ef4444cc}.prep-pack-section{margin:2rem 0}.prep-section-header{margin-bottom:1.25rem}.prep-header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.section-title-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.section-title-wrap h2{margin:0}.badge-feature{display:inline-block;background:#10b98126;color:var(--good, #10b981);font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:4px}.prep-header-actions{display:flex;align-items:center;gap:.75rem}.btn-print-sheet-action{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-surface-elevated, #161e19);color:var(--text-primary, #e2e8f0);border:1px solid var(--border-color, #27342b);border-radius:6px;padding:.5rem .9rem;font-size:.825rem;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #0000001a;transition:all .15s ease}.btn-print-sheet-action:hover{background:var(--bg-surface-hover, #202b23);border-color:var(--brand-accent, #38bdf8);color:var(--brand-accent, #38bdf8);transform:translateY(-1px);box-shadow:0 3px 6px #00000026}.btn-print-sheet-action:active{transform:translateY(0)}.prep-filter-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.85rem;background:var(--bg-surface-elevated, #161e19);border:1px solid var(--border-color, #27342b);border-radius:8px;padding:.8rem 1.15rem;margin-top:1rem;margin-bottom:.75rem}.prep-filter-status{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.prep-filter-badge{background:#38bdf826;color:var(--brand-accent, #38bdf8);border:1px solid rgba(56,189,248,.3);font-size:.72rem;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;padding:.2rem .55rem;border-radius:4px}.prep-filter-text{font-size:.85rem;color:var(--text-secondary, #94a3b8)}.prep-filter-text strong{color:var(--text-primary, #e2e8f0)}.btn-toggle-minor-gaps{display:inline-flex;align-items:center;gap:.45rem;background:var(--bg-surface, #0f1612);color:var(--text-primary, #e2e8f0);border:1px solid var(--border-color, #27342b);border-radius:6px;padding:.45rem .85rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.btn-toggle-minor-gaps:hover{background:var(--bg-surface-hover, #202b23);border-color:var(--brand-accent, #38bdf8);color:var(--brand-accent, #38bdf8)}.btn-toggle-minor-gaps .toggle-icon{font-size:.95rem;line-height:1}.prep-minor-gaps-container{margin-top:1.5rem;padding-top:1.25rem;border-top:1px dashed var(--border-color, #27342b)}.prep-minor-header{margin-bottom:1rem}.prep-minor-title-group{display:flex;align-items:flex-start;gap:.65rem}.prep-minor-icon{font-size:1.2rem;line-height:1.3}.prep-minor-heading{font-size:.95rem;font-weight:700;color:var(--text-primary, #e2e8f0);margin:0 0 .25rem}.prep-minor-desc{font-size:.825rem;color:var(--text-muted, #64748b);margin:0;line-height:1.4}.prep-minor-tag{background:#eab30826;color:#eab308;font-size:.75rem;font-weight:700;padding:.2rem .5rem;border-radius:4px}.minor-gap-card{border-left-color:#eab308;opacity:.95}.prep-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;margin-top:1rem}.prep-gap-card{background:var(--bg-surface);border:1px solid var(--border-color);border-left:4px solid var(--none);border-radius:8px;padding:1.25rem;box-shadow:0 4px 6px -1px #00000014}.prep-gap-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.prep-gap-badge{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.prep-warning-tag{background:#ef444426;color:var(--none);font-size:.75rem;font-weight:700;padding:.2rem .5rem;border-radius:4px}.prep-duration-tag{background:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem;padding:.2rem .5rem;border-radius:4px}.prep-milepost-info{font-size:.85rem;color:var(--text-primary)}.prep-boundary{display:block;font-size:.75rem;color:var(--text-muted)}.prep-location-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px dashed var(--border-color)}.prep-checklist-wrap{margin-top:.5rem}.prep-checklist-title{font-size:.8rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.prep-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.prep-check-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.825rem;color:var(--text-secondary);line-height:1.4}.prep-checkbox{margin-top:.2rem;accent-color:var(--good);cursor:pointer}.prep-checkbox:checked+label{text-decoration:line-through;color:var(--text-muted)}.prep-emergency-wrap{margin-top:1rem;padding-top:.75rem;border-top:1px dashed var(--border-color)}.prep-emergency-title{font-size:.8rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.35rem}.prep-emergency-grid{display:flex;flex-direction:column;gap:.4rem}.prep-emergency-item{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.775rem;padding:.35rem .6rem;background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:4px}.prep-emergency-role{font-weight:600;color:var(--text-secondary)}.prep-emergency-phone{font-family:var(--font-mono);font-weight:700;color:var(--brand-accent, #3b82f6);text-decoration:none}.prep-emergency-phone:hover{text-decoration:underline}.prep-emergency-name{color:var(--text-muted);font-size:.7rem}.prep-emergency-directory{margin-top:1.75rem;background:var(--bg-surface);border:1px solid var(--border-color);border-left:4px solid var(--warning, #f59e0b);border-radius:8px;padding:1.5rem;box-shadow:0 4px 6px -1px #00000014}.emergency-directory-top{margin-bottom:1.25rem}.emergency-title-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.emergency-title-row h3{margin:.35rem 0 0}.btn-print-directory-action{font-family:inherit;display:inline-flex;align-items:center;gap:.4rem;background:var(--bg-surface-elevated, #161e19);color:var(--text-primary, #e2e8f0);border:1px solid var(--border-color, #27342b);border-radius:6px;padding:.45rem .85rem;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:0 1px 3px #0000001a;transition:all .15s ease}.btn-print-directory-action:hover{background:var(--bg-surface-hover, #202b23);border-color:var(--brand-accent, #38bdf8);color:var(--brand-accent, #38bdf8);transform:translateY(-1px);box-shadow:0 3px 6px #00000026}.emergency-directory-top .directory-badge{display:inline-block;background:#f59e0b26;color:var(--warning, #f59e0b);font-size:.75rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;margin-bottom:.5rem}.emergency-directory-top h3{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.emergency-directory-top p{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0}.emergency-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.emergency-directory-col{background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:6px;padding:1rem}.emergency-directory-col h4{font-size:.875rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem;display:flex;align-items:center;gap:.4rem}.emergency-directory-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:.8rem}.emergency-directory-col li{display:flex;flex-direction:column;gap:.15rem;color:var(--text-secondary)}.emergency-directory-col li strong{color:var(--text-primary)}.emergency-directory-col li a{font-family:var(--font-mono);font-weight:700;color:var(--brand-accent, #3b82f6);text-decoration:none}.emergency-directory-col li a:hover{text-decoration:underline}.driver-reports-section{margin:2.5rem 0 2rem}.driver-reports-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:0 4px 6px -1px #00000014}.report-form{display:flex;flex-direction:column;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group select{background:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;padding:.6rem .75rem;font-family:inherit;font-size:.875rem;outline:none;transition:border-color .15s ease}.form-group input:focus,.form-group select:focus{border-color:var(--accent)}.form-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.privacy-notice{font-size:.75rem;color:var(--text-muted);line-height:1.4;margin-top:.25rem}.existing-reports-wrap h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.reports-table-wrap{overflow-x:auto}.reports-table{width:100%;border-collapse:collapse;font-size:.85rem;text-align:left}.reports-table th,.reports-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border-color)}.reports-table th{color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.report-badge{font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:4px}.report-badge.no_service{background:#ef444426;color:var(--none)}.report-badge.voice_only,.report-badge.edge_2g{background:#f59e0b26;color:#f59e0b}.report-badge.degraded{background:#3b82f626;color:#3b82f6}.btn-delete-report{background:transparent;border:none;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:.2rem .5rem;border-radius:4px}.btn-delete-report:hover{background:#ef444426;color:var(--none)}.no-reports-notice{font-size:.85rem;color:var(--text-muted);font-style:italic;margin:0}.stopover-section{margin-top:2rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.stopover-legs-grid{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.stopover-leg-card{background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.1rem 1.25rem;transition:border-color var(--transition-fast),transform var(--transition-fast)}.stopover-leg-card:hover{border-color:var(--accent)}.stopover-leg-card.has-gap{border-left:4px solid var(--none)}.stopover-leg-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.leg-index-tag{font-family:var(--font-mono);font-size:.72rem;font-weight:700;background:var(--border-color);color:var(--text-secondary);padding:.15rem .5rem;border-radius:4px;letter-spacing:.05em}.leg-endpoints{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.endpoint-arrow{color:var(--text-muted)}.leg-badge-gap{font-size:.75rem;font-weight:700;color:var(--none);background:#ef44441f;padding:.2rem .6rem;border-radius:9999px;border:1px solid rgba(239,68,68,.25)}.leg-badge-clean{font-size:.75rem;font-weight:700;color:var(--good);background:#10b9811f;padding:.2rem .6rem;border-radius:9999px;border:1px solid rgba(16,185,129,.25)}.stopover-leg-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;font-size:.85rem;color:var(--text-muted)}.leg-bar-wrap{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}.leg-bar{flex:1;height:8px;background:var(--border-color);border-radius:9999px;overflow:hidden;display:flex}.leg-bar-seg.good{background:var(--good)}.leg-bar-seg.weak{background:var(--weak)}.leg-bar-seg.none{background:var(--none)}.leg-bar-label{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.leg-warning-desc{margin-top:.6rem;font-size:.82rem;color:var(--none);background:#ef444414;padding:.4rem .6rem;border-radius:4px}.pro-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0c120ebf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow-y:auto}.pro-modal-backdrop[hidden]{display:none!important}.pro-modal-card{position:relative;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 24px 48px #00000080,0 0 0 1px #ffffff0d;max-width:600px;width:100%;padding:2.25rem 2rem;color:var(--text-primary);animation:modalPop .22s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.pro-modal-close{position:absolute;top:1.25rem;right:1.25rem;background:transparent;border:none;color:var(--text-muted);font-size:1.75rem;line-height:1;cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.pro-modal-close:hover{color:var(--text-primary);background:var(--border-color)}.pro-modal-header{text-align:center;margin-bottom:1.75rem}.pro-pill-badge{display:inline-block;font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:#f59e0b;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);padding:.2rem .75rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.pro-modal-header h2{font-family:var(--font-serif);font-size:1.65rem;line-height:1.25;margin:0 0 .5rem;color:var(--text-primary)}.pro-modal-subtitle{font-size:.92rem;color:var(--text-secondary);line-height:1.5;margin:0}.pro-features-grid{display:grid;grid-template-columns:1fr;gap:.9rem;margin-bottom:1.75rem}@media(min-width:640px){.pro-features-grid{grid-template-columns:1fr 1fr}}.pro-feature-item{display:flex;align-items:flex-start;gap:.75rem;background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.85rem}.pro-feature-icon{font-size:1.35rem;line-height:1;flex-shrink:0;margin-top:.1rem}.pro-feature-item strong{display:block;font-size:.88rem;color:var(--text-primary);margin-bottom:.2rem}.pro-feature-item p{font-size:.78rem;color:var(--text-muted);line-height:1.35;margin:0}.pro-pricing-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#22c55e14,#3b82f614);border:1px solid rgba(34,197,94,.25);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.pro-price-tag{display:flex;align-items:baseline;gap:.25rem}.pro-amount{font-family:var(--font-mono);font-size:1.85rem;font-weight:700;color:var(--good)}.pro-period{font-size:.88rem;color:var(--text-secondary)}.pro-annual-tag{font-size:.85rem;color:var(--text-secondary)}.pro-waitlist-wrap{text-align:center}.pro-waitlist-form{display:flex;gap:.6rem;flex-direction:column}@media(min-width:500px){.pro-waitlist-form{flex-direction:row}}.pro-email-input{flex:1;background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.pro-email-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #22c55e33}.pro-submit-btn{white-space:nowrap;padding:.75rem 1.25rem;font-weight:600}.pro-feedback{margin-top:.85rem;padding:.65rem 1rem;border-radius:var(--radius-md);font-size:.88rem;line-height:1.4;text-align:left}.pro-feedback.success{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:var(--good)}.pro-feedback.error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:var(--none)}.pro-privacy-notice{font-size:.75rem;color:var(--text-muted);margin-top:.75rem;margin-bottom:0}.btn-pro-save{border-color:#f59e0b66!important;color:#f59e0b!important}.btn-pro-save:hover{background:#f59e0b1a!important;border-color:#f59e0b!important}.drive-simulator-section{margin-top:2rem;margin-bottom:2rem}.drive-simulator-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:0 14px 40px -10px #00000014,0 1px 3px #0000000a;position:relative;transition:all .25s ease}@media(prefers-color-scheme:dark){.drive-simulator-card{background:linear-gradient(180deg,#141f17,#0c130e);border:1px solid rgba(47,191,127,.22);box-shadow:0 24px 60px -12px #000c,0 0 28px -6px #2fbf7f1f}}.sim-header{margin-bottom:1.35rem}.sim-badges-row{display:flex;gap:.65rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.sim-badge{display:inline-flex;align-items:center;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:.28rem .7rem;box-shadow:0 1px 3px #0000000a}.sim-speed-tag{display:inline-flex;align-items:center;font-size:.75rem;font-weight:700;font-family:var(--font-mono);color:var(--accent);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:.22rem .65rem;box-shadow:inset 0 1px 2px #00000008}.sim-title-group h3{margin:.25rem 0 .5rem;font-size:1.4rem;color:var(--ink);font-weight:800;letter-spacing:-.01em}.sim-title-group p{margin:0;font-size:.94rem;color:var(--ink-2);line-height:1.55}.sim-status-banner{display:flex;gap:1.15rem;align-items:flex-start;padding:1.35rem 1.5rem;border-radius:var(--radius);margin-bottom:1.35rem;transition:all .25s cubic-bezier(.16,1,.3,1)}.sim-status-banner.dead-zone-alert{background:#d2402e17;border:2px solid var(--none);color:var(--ink);box-shadow:0 0 24px #d2402e29}@media(prefers-color-scheme:dark){.sim-status-banner.dead-zone-alert{background:#e2574a24;box-shadow:0 0 32px #e2574a40}}.sim-status-banner.connected-status{background:#0d8a5414;border:1.5px solid var(--accent);color:var(--ink);box-shadow:0 0 16px #0d8a541f}@media(prefers-color-scheme:dark){.sim-status-banner.connected-status{background:#2fbf7f1f;box-shadow:0 0 20px #2fbf7f2e}}.sim-status-banner.clear-status{background:#1da35c14;border:1.5px solid var(--good);color:var(--ink)}.sim-status-icon{font-size:2rem;line-height:1;flex-shrink:0;padding-top:.15rem}.sim-status-content{flex:1;min-width:0}.sim-status-tag{font-family:var(--font-mono);font-size:.75rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.3rem;color:var(--muted)}.sim-status-banner.dead-zone-alert .sim-status-tag{color:var(--none)}.sim-status-banner.connected-status .sim-status-tag{color:var(--accent)}.sim-countdown-main{font-size:1.28rem;font-weight:800;color:var(--ink);line-height:1.35;margin-bottom:.4rem}.sim-status-sub{font-size:.88rem;color:var(--ink-2);line-height:1.5}.sim-emergency-quick{margin-top:.85rem;padding-top:.75rem;border-top:1px dashed rgba(210,64,46,.35);font-size:.86rem;color:var(--ink)}.sim-emergency-contacts{margin-top:.4rem;display:flex;flex-wrap:wrap;gap:.95rem;font-size:.84rem}.sim-phone-link{font-weight:700;font-family:var(--font-mono);color:var(--ink);text-decoration:underline;transition:color .15s ease}.sim-phone-link:hover{color:var(--none)}.sim-carrier-matrix{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.4rem;margin-bottom:1.35rem;box-shadow:inset 0 1px 3px #00000008}.sim-matrix-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.95rem}.sim-matrix-title-wrap{display:flex;align-items:center;gap:.5rem}.sim-matrix-icon{font-size:1.25rem;line-height:1}.sim-matrix-title{font-family:var(--font-sans);font-size:.98rem;font-weight:800;color:var(--ink)}.sim-matrix-title small{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--muted)}.sim-matrix-badge{font-size:.78rem;font-weight:600;padding:.35rem .8rem;border-radius:var(--r-sm);border:1.5px solid currentColor;background:var(--surface);line-height:1.4;white-space:normal;box-shadow:0 1px 3px #0000000a}.sim-carrier-cards-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}@media(max-width:640px){.sim-carrier-cards-row{grid-template-columns:1fr}}.sim-carrier-card{display:flex;flex-direction:column;justify-content:space-between;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:.9rem 1.05rem;cursor:pointer;text-align:left;transition:all .2s cubic-bezier(.16,1,.3,1);font-family:inherit;box-shadow:0 1px 4px #00000008}.sim-carrier-card:hover{border-color:var(--ink-2);transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.sim-carrier-card.active-carrier{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 2px var(--accent),0 4px 14px #0d8a5433}@media(prefers-color-scheme:dark){.sim-carrier-card.active-carrier{border-color:#34d399;box-shadow:0 0 0 2px #34d399,0 0 18px #34d3994d}}.sim-carrier-card.dead-carrier{border-left:4px solid var(--none)}.sim-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.55rem}.sim-carrier-brand{font-size:.92rem;font-weight:800;color:var(--ink)}.sim-carrier-active-pill{font-size:.68rem;font-weight:800;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;background:var(--accent);color:#fff;padding:.2rem .5rem;border-radius:4px}@media(prefers-color-scheme:dark){.sim-carrier-active-pill{background:#34d399;color:#06130c}}.sim-carrier-switch-cta{font-size:.72rem;font-weight:700;font-family:var(--font-mono);color:var(--muted);transition:color .15s ease}.sim-carrier-card:hover .sim-carrier-switch-cta{color:var(--accent)}.sim-card-body{display:flex;align-items:center;gap:.55rem}.sim-signal-meter{display:inline-flex;align-items:flex-end;gap:2px;height:13px;margin-right:3px;vertical-align:middle}.sim-signal-bar{width:3px;border-radius:1px;background:var(--line);transition:all .15s ease}.sim-signal-bar.bar-1{height:4px}.sim-signal-bar.bar-2{height:7px}.sim-signal-bar.bar-3{height:10px}.sim-signal-bar.bar-4{height:13px}.sim-signal-meter.signal-strong .sim-signal-bar{background:var(--good);box-shadow:0 0 4px #1da35c73}.sim-signal-meter.signal-weak .sim-signal-bar.bar-1,.sim-signal-meter.signal-weak .sim-signal-bar.bar-2{background:var(--weak);box-shadow:0 0 4px #d9932c73}.sim-signal-meter.signal-weak .sim-signal-bar.bar-3,.sim-signal-meter.signal-weak .sim-signal-bar.bar-4{background:var(--line);opacity:.35}.sim-signal-meter.signal-none .sim-signal-bar{background:var(--none);opacity:.25}.sim-carrier-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.sim-carrier-status-txt{font-size:.84rem;font-weight:700;font-family:var(--font-mono)}.sim-telemetry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.95rem;margin-bottom:1.35rem}.sim-gauge-item{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:.95rem 1.15rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1px 3px #00000005}.sim-gauge-label{font-family:var(--font-mono);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.3rem}.sim-gauge-val{font-size:1.3rem;font-weight:800;color:var(--ink);font-family:var(--font-mono);letter-spacing:-.02em}.sim-gauge-val small{font-size:.8rem;font-weight:600;color:var(--muted)}.sim-gauge-sub{font-size:.76rem;color:var(--ink-2);margin-top:.3rem}.sim-mini-bar-track{width:100%;height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:.5rem}.sim-mini-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,#34d399 100%);transition:width .1s linear}.sim-controls-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:inset 0 1px 3px #00000008}#timeline-scrubber,.sim-slider-row{display:flex;align-items:center;gap:1rem;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--hud-specular-top),0 2px 6px #0000000a}.sim-scrub-edge{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--muted);white-space:nowrap}.sim-scrubber{flex:1;accent-color:var(--accent);height:8px;cursor:pointer;border-radius:4px;outline:none;transition:opacity .2s ease}.sim-scrubber:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sim-button-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.95rem}.sim-playback-group{display:flex;gap:.65rem;align-items:center}.sim-speed-group{display:flex;gap:.5rem;align-items:center}.sim-speed-label{font-size:.82rem;font-weight:700;color:var(--ink-2);margin-right:.25rem}.sim-speed-btn.btn-active{background:var(--ink)!important;color:var(--surface)!important;border-color:var(--ink)!important;font-weight:700;box-shadow:0 1px 4px #00000026}@media(prefers-color-scheme:dark){.sim-speed-btn.btn-active{background:var(--accent)!important;color:#06130c!important;border-color:var(--accent)!important;box-shadow:0 0 12px #2fbf7f59}}.sim-landmarks-row{display:flex;flex-direction:column;gap:.55rem;border-top:1px solid var(--line);padding-top:.95rem}.sim-landmarks-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.sim-landmarks-list{display:flex;flex-wrap:wrap;gap:.55rem}.sim-landmark-btn,.sim-longest-dz-btn{padding:.38rem .75rem;font-size:.8rem;font-weight:600;font-family:var(--font-mono);border-radius:var(--r-sm);transition:all .15s ease}.sim-landmark-btn:hover{transform:translateY(-1px)}.sim-longest-dz-btn:hover{background:#d2402e1a!important;transform:translateY(-1px)}@keyframes simVehiclePulse{0%{r:8px;opacity:.35}50%{r:16px;opacity:.05}to{r:8px;opacity:.35}}.sim-longest-dz-btn{border-color:#d2402e73!important;color:var(--none)!important}.sim-longest-dz-btn:hover{background:#d2402e1a!important}.sim-vehicle-pulse{transform-origin:center;animation:simVehiclePulse 1.8s infinite ease-in-out}@keyframes simVehiclePulse{0%{r:8;opacity:.35}50%{r:16;opacity:.05}to{r:8;opacity:.35}}@media print{body{background:#fff!important;color:#111827!important;font-size:11pt}.topbar,.hero-cta,.navlinks,.nav-benchmark-link,.back-link,.btn,.nav-buttons,.btn-print-sheet-action,.btn-print-directory-action,[data-action=print-prep-pack],.prep-filter-bar,.btn-toggle-minor-gaps,.offline-status-banner,.marketing-footer,.app-footer,#nav-benchmark-toggle,.drive-simulator-section{display:none!important}#marketing-view,#dashboard-view{display:block!important;padding:0!important;margin:0!important}.wrap{max-width:100%!important;padding:0!important}.route-card,.corridor-inspector,.metric-card,.details-card,.prep-gap-card,.prep-emergency-directory,.emergency-directory-col{background:#fff!important;border:1px solid #d1d5db!important;color:#111827!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid;margin-bottom:1rem!important}.prep-emergency-phone,.emergency-directory-col li a{color:#111827!important;text-decoration:underline!important}.timeline-bar{border:1px solid #9ca3af!important;background:#f3f4f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.timeline div{-webkit-print-color-adjust:exact;print-color-adjust:exact}.safety-banner{background:#fef2f2!important;border:1px solid #f87171!important;color:#991b1b!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
