:root{color-scheme:light;--paper:#e9ece5;--ink:#252b27;--muted:#6f7770;--line:#c4cbc1;--panel:#f0f2ec;--map:#dfe6d9;--road:#f5f3e9;--road-line:#c0c9bc;--green:#355f50;--blue:#315f88;--amber:#c28c3c;--coral:#c8583f;--shadow:0 18px 50px #29362a12;font-family:'Atkinson Hyperlegible',Arial,sans-serif;background:var(--paper);color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 85% 18%,#f5f3e9 0,transparent 35%),var(--paper)}button,input,select,textarea{font:inherit;color:inherit}button,select,label[for]{cursor:pointer}button{transition:background .18s,border-color .18s,color .18s,transform .18s}button:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--amber);outline-offset:3px}a{color:inherit}.mono,.section-label,.location-line,.route-stamp,.map-scale,.map-compass,.data-strip,.privacy-note{font-family:'IBM Plex Mono',monospace}.topbar{height:66px;padding:0 clamp(16px,4vw,62px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#e9ece5e8;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:19px;letter-spacing:-.04em}.brand svg{width:29px;height:29px;fill:none;stroke:var(--coral);stroke-width:1.8}.privacy-note{font-size:10px;color:var(--muted);letter-spacing:.02em;display:flex;align-items:center;gap:8px}.privacy-dot{width:7px;height:7px;border-radius:50%;background:#60856d}.top-actions{display:flex;align-items:center;gap:8px}.import-button,.export-button{border:1px solid var(--line);padding:9px 13px;background:#f2f3ed;font-size:12px}.import-button span,.export-button span{color:var(--coral);margin-left:9px}.export-button{background:var(--ink);border-color:var(--ink);color:#f7f5ee}.page-shell{width:min(1400px,100% - 64px);margin:0 auto}.intro{display:flex;justify-content:space-between;align-items:end;padding:42px 0 27px;border-bottom:1px solid var(--ink);gap:24px}.intro-copy{max-width:760px}.location-line,.section-label,.route-stamp{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.location-line{margin:0 0 18px}.location-line b{color:var(--coral);font-weight:500;margin-right:8px}.intro h1{font-size:clamp(42px,6vw,78px);letter-spacing:-.065em;line-height:.98;margin:0;font-weight:700;max-width:760px}.intro h1 em{font-style:normal;color:var(--green)}.intro-note{max-width:265px;margin:0 2px 6px 0;color:var(--muted);font-size:14px;line-height:1.55}.journey-bar{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 1.1fr;align-items:end;gap:14px;padding:17px 0 19px;border-bottom:1px solid var(--line)}.journey-point{display:grid;gap:6px}.journey-point label,.profile-select label{font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.journey-point select,.profile-select select,.inspector-form select,.inspector-form input[type=number],.inspector-form textarea{width:100%;border:0;border-bottom:1px solid #8f9990;border-radius:0;background:transparent;padding:9px 26px 9px 2px;outline-offset:1px;font-size:14px}.journey-point select:focus,.profile-select select:focus,.inspector-form :focus{outline:2px solid var(--amber)}.swap-button{width:36px;height:36px;border:1px solid var(--line);background:transparent;font-size:18px;color:var(--green);margin-bottom:1px}.profile-select{display:grid;gap:6px;max-width:260px;justify-self:end;width:100%}.workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);align-items:start;gap:18px;padding:18px 0 28px}.map-panel,.route-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.map-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 13px;border-bottom:1px solid var(--line)}.map-heading h2,.panel-title-line h2{font-size:18px;letter-spacing:-.035em;margin:3px 0 0}.map-heading .section-label{margin:0}.map-locate{width:34px;height:34px;background:transparent;border:1px solid var(--line);font-size:16px}.map-wrap{position:relative;background:var(--map);overflow:hidden}.route-map{width:100%;height:auto;display:block;aspect-ratio:1000 / 620;touch-action:pan-y}.park-shape{fill:#cbd9bd}.water-shape{fill:#c4d9d8}.block-lines path{stroke:#bac5b5;stroke-width:1;fill:none}.north-mark{font:12px 'IBM Plex Mono',monospace;fill:#576c5b}.map-label{font:13px 'Atkinson Hyperlegible',sans-serif;fill:#536257}.map-compass,.map-scale{position:absolute;bottom:13px;font-size:9px;color:#56655a;background:#edf0e7dd;padding:5px 7px}.map-compass{left:13px}.map-scale{right:13px}.map-legend{display:flex;gap:18px;flex-wrap:wrap;padding:12px 16px;font-size:11px;color:var(--muted);border-top:1px solid #c8d0c5}.map-legend span{display:flex;align-items:center;gap:7px}.map-legend i{width:17px;height:4px;background:var(--blue);display:inline-block}.map-legend .legend-checked{background:var(--green)}.map-legend .legend-unknown{background:var(--amber)}.map-legend .legend-barrier{background:var(--coral)}.route-panel{padding:16px;position:sticky;top:12px}.panel-title-line{display:flex;justify-content:space-between;align-items:start;margin-bottom:13px}.panel-title-line h2{font-size:20px}.route-count{font:10px 'IBM Plex Mono',monospace;color:var(--muted);padding-top:7px}.route-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);gap:3px}.route-tab{min-height:62px;text-align:left;padding:9px;border:1px solid transparent;background:transparent;display:grid;align-content:center;gap:4px}.route-tab span{font-size:12px;font-weight:700}.route-tab small{font-size:9px;color:var(--muted);line-height:1.25}.route-tab.is-active{border-color:var(--green);background:#e1e9df}.route-summary{padding:15px 0;border-bottom:1px solid var(--line)}.summary-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.route-status{font-size:10px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:7px}.status-mark{width:8px;height:8px;background:var(--green);border-radius:50%}.distance-line{font:500 25px 'IBM Plex Mono',monospace;letter-spacing:-.05em}.distance-line small{font:11px 'Atkinson Hyperlegible',sans-serif;letter-spacing:0;color:var(--muted)}.summary-separator{border-top:1px solid var(--line);margin:13px 0}.summary-copy{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.summary-counts{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}.summary-counts span{padding:5px 8px;border:1px solid var(--line);font:10px 'IBM Plex Mono',monospace}.summary-counts span:first-child{color:var(--coral)}.segment-inspector{padding:15px 0 13px;border-bottom:1px solid var(--line)}.inspector-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.inspector-heading h3,.notes-heading h3{font-size:14px;margin:0;letter-spacing:-.02em}.segment-state{font:9px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase}.inspector-intro{font-size:11px;color:var(--muted);line-height:1.45;margin:8px 0}.inspector-form{display:grid;gap:9px;margin-top:11px}.inspector-form label{display:grid;gap:4px;font-size:10px;color:var(--muted)}.inspector-form select,.inspector-form input[type=number],.inspector-form textarea{padding:6px 5px;font-size:12px;border:1px solid var(--line);background:#f5f5ef}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.check-row{display:flex!important;align-items:center;gap:8px!important;font-size:11px!important;color:var(--ink)!important}.check-row input{accent-color:var(--green);width:16px;height:16px}.form-feedback{font-size:10px;min-height:14px;color:var(--green)}.route-notes{padding:14px 0}.notes-heading{display:flex;justify-content:space-between;align-items:center}.notes-heading span{font:10px 'IBM Plex Mono',monospace;color:var(--muted)}.issue-list{display:grid;gap:0;margin-top:8px}.empty-issues{font-size:11px;color:var(--muted);line-height:1.5;margin:7px 0 0}.issue-item{display:grid;grid-template-columns:8px 1fr auto;align-items:start;gap:8px;padding:9px 0;border-bottom:1px solid #d8ddd4;font-size:11px;line-height:1.35}.issue-item i{width:7px;height:7px;border-radius:50%;background:var(--amber);margin-top:4px}.issue-item b{font-size:11px}.issue-item small{font:9px 'IBM Plex Mono',monospace;color:var(--muted)}.panel-foot{font-size:9px;color:var(--muted);line-height:1.45;padding-top:10px;border-top:1px solid var(--line)}.data-strip{padding:12px 0 25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:9px;letter-spacing:.03em;color:var(--muted)}.strip-symbol{color:var(--coral);font-size:14px;margin-right:8px}.data-actions{display:flex;gap:14px;flex-wrap:wrap}.data-actions button{background:none;border:0;padding:0;color:var(--muted);font:inherit;text-decoration:underline;text-underline-offset:3px}.data-actions button:hover{color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.street-edge{fill:none;stroke:var(--road-line);stroke-width:17;stroke-linecap:round}.street-core{fill:none;stroke:var(--road);stroke-width:11;stroke-linecap:round}.street-edge[data-selected="true"]{stroke:#d0b57b;stroke-width:21}.route-line{fill:none;stroke:var(--green);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;filter:url(#routeGlow)}.route-line.short{stroke:var(--blue)}.route-line.verified{stroke:var(--green)}.route-line circle{fill:#f7f5eb;stroke:var(--green);stroke-width:3}.street-edge:hover{stroke:#aebaa7;stroke-width:21}.street-edge:focus-visible{stroke:var(--amber);stroke-width:23}.street-hit{fill:none;stroke:transparent;stroke-width:34;stroke-linecap:round;cursor:pointer}.map-node circle{fill:#f2f1e8;stroke:var(--green);stroke-width:3}.map-node text{font:11px 'IBM Plex Mono',monospace;fill:#45534a}.map-node.start circle{fill:var(--green);stroke:#f5f2e9}.map-node.end circle{fill:var(--coral);stroke:#f5f2e9}.map-node.start text,.map-node.end text{fill:#fff}.map-label{font-size:12px}.topbar,.intro,.journey-bar,.map-panel,.route-panel{animation:rise .48s both}.intro{animation-delay:.05s}.journey-bar{animation-delay:.1s}.workspace{animation:rise .55s .14s both}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

@media(max-width:900px){.page-shell{width:min(100% - 36px,760px)}.workspace{grid-template-columns:1fr}.route-panel{position:static}.intro{padding-top:32px}.intro h1{font-size:clamp(43px,8vw,68px)}.intro-note{max-width:220px}.map-panel{order:0}.route-panel{order:1}.route-options{max-width:none}}
@media(max-width:560px){.topbar{height:auto;min-height:58px;padding:10px 16px;flex-wrap:wrap;gap:8px}.brand{font-size:17px}.privacy-note{font-size:8px}.top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.import-button,.export-button{text-align:center;padding:9px 5px;font-size:11px}.page-shell{width:calc(100% - 28px)}.intro{display:block;padding:27px 0 18px}.intro h1{font-size:clamp(39px,12vw,58px);max-width:440px}.location-line{margin-bottom:13px;font-size:9px}.intro-note{max-width:100%;margin:13px 0 0;font-size:12px}.journey-bar{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);gap:7px;padding:13px 0}.profile-select{grid-column:1/-1;justify-self:stretch;max-width:none;padding-top:3px}.journey-point select{font-size:12px;padding-right:14px}.swap-button{width:32px;height:32px}.workspace{padding-top:12px;gap:12px}.map-heading{padding:12px}.map-heading h2{font-size:16px}.map-legend{gap:9px 13px;font-size:9px;padding:10px}.route-panel{padding:13px}.route-tabs{gap:2px}.route-tab{padding:8px 5px;min-height:60px}.route-tab span{font-size:11px}.route-tab small{font-size:8px}.distance-line{font-size:22px}.data-strip{align-items:flex-start;flex-direction:column;line-height:1.5}.data-actions{gap:12px}}
