@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/ibm-plex-sans-latin-ext-BeibEo6j.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/ibm-plex-sans-latin-TiRpCTCj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-mono-latin-ext-BmRBH3aV.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-mono-latin-DMJ8VG8y.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sans:"IBM Plex Sans", Arial, Helvetica, sans-serif;font-family:var(--sans);color:#252a2e;font-synthesis:none;--muted:#606970;--line:#cdd3d8;--ink:#30383d;--surface:#f2f4f5;--control-border:#96a2aa;--control-hover:#e9edf0;--action:#245b78;--action-hover:#1d4b63;--selection:#fbeef2;--active-route:#d93664;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;background:#fff;font-size:13px}*{box-sizing:border-box}body,h1,h2,h3,h4,p{margin:0}button,input,select{font:inherit;color:inherit}button,.button,input,select{border:1px solid var(--control-border);background:#fff;border-radius:0;padding:5px 8px}button,.button,summary{cursor:pointer}button,.button{font-weight:500;line-height:1.3}button:hover,.button:hover{background:var(--control-hover)}button:disabled{opacity:.45;cursor:default}:focus{outline:none}a{color:var(--action)}input,select{min-width:0}input[type=checkbox]{flex-shrink:0;width:14px;height:14px;margin:0}input[type=checkbox],input[type=radio]{accent-color:var(--action)}h2,h3,h4{font-size:13px;font-weight:600}.primary,.primary:hover{color:#fff;background:var(--action);border-color:var(--action)}.primary:hover{background:var(--action-hover)}.text-button{text-underline-offset:2px;background:0 0;border:0;padding:2px 0;font-size:11px;font-weight:400;text-decoration:underline}.text-button:hover{background:0 0}.close-button{background:0 0;border:0;padding:0 3px;font-size:19px;line-height:1}.app-shell{flex-direction:column;height:100dvh;min-height:480px;display:flex}.app-header{background:var(--action);color:#f4f3ed;border-bottom:1px solid #1f4d66;flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;min-height:36px;padding:4px 9px;display:grid}.app-header h1{white-space:nowrap;font-size:14px;font-weight:600}.app-header nav,.jobs-button{align-items:center;gap:6px;display:flex}.app-header nav{margin-left:auto}.coordinate-search input{width:250px;height:26px;color:var(--ink);background:#fff;border:1px solid #7d9caa;border-radius:0;padding:3px 8px;font-size:12px}.app-header nav button{white-space:nowrap;background:0 0;border-color:#7d9caa;padding:3px 8px;font-size:12px}.app-header nav button:hover{background:#3d6d86}.header-count{border-left:1px solid #7d9caa;margin-left:5px;padding-left:6px;font-size:11px}.query-bar{border-bottom:1px solid var(--line);background:var(--surface);z-index:800;flex-shrink:0}.planner{margin:0;padding:6px 9px 7px}.planner-fields{flex-wrap:wrap;align-items:end;gap:7px 12px;display:flex}.planner-fields,.numeric-field{border:0;min-width:0;margin:0;padding:0}.region-field{flex:300px;max-width:min(395px,100%)}.search-area-controls{align-items:center;gap:6px;display:flex}.search-area-controls .region-picker{flex:1;min-width:0}.any-area-action{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;width:100%;padding:8px 10px;display:block}.area-choice-separator{color:var(--muted);font-size:11px}.area-action{justify-content:center;align-items:center;gap:4px;min-height:27px;padding:4px 7px;font-size:12px;display:inline-flex}.area-action svg{flex:none}.clear-area{width:27px;padding:0;font-size:17px}.field-label,.numeric-field legend{white-space:nowrap;margin-bottom:4px;padding:0;font-size:11px;line-height:1.2;display:block}.field-unit{color:var(--muted);margin-left:3px}.range-pair{align-items:center;gap:4px;display:flex}.planner input[type=number]{height:26px;font-family:var(--mono);font-variant-numeric:tabular-nums;padding:3px 5px;font-size:12px}.stepped-number{width:100px;display:block;position:relative}.numeric-field[data-unit=mi] .stepped-number{width:84px}.numeric-field[data-unit=mi]>.stepped-number{width:90px}.numeric-field[data-unit=ft] .stepped-number,.numeric-field[data-unit=m] .stepped-number{width:100px}.input-bound{color:var(--muted);pointer-events:none;align-items:center;font-size:11px;display:flex;position:absolute;top:0;bottom:0;left:7px}.planner .stepped-number input{appearance:textfield;text-align:right;width:100%;padding-left:34px;padding-right:18px}.stepped-number input::-webkit-inner-spin-button{appearance:none;margin:0}.stepped-number input::-webkit-outer-spin-button{appearance:none;margin:0}.number-steppers{border-left:1px solid var(--line);grid-template-rows:1fr 1fr;width:14px;display:grid;position:absolute;top:1px;bottom:1px;right:1px}.number-steppers button{background:0 0;border:0;place-items:center;padding:0;display:grid}.step-arrow{border-left:3px solid #0000;border-right:3px solid #0000;width:0;height:0}.step-arrow.up{border-bottom:4px solid}.step-arrow.down{border-top:4px solid}.number-steppers button:first-child{border-bottom:1px solid var(--line)}.number-steppers button:hover{background:var(--surface)}.search-actions{gap:12px;display:flex}.search-button,.clear-results{min-height:27px;padding:4px 12px;font-size:12px}.clear-results{color:var(--muted);background:0 0;border-color:#0000;align-items:center;gap:4px;padding-inline:4px;display:flex}.clear-results:hover{background:0 0}.search-actions button:focus-visible{outline:2px solid var(--action);outline-offset:2px}.startup{padding:10px;font-size:12px}.region-picker{position:relative}.region-summary{border:1px solid var(--control-border);background:#fff;justify-content:space-between;align-items:center;gap:8px;min-height:27px;padding:4px 6px;font-size:12px;line-height:1.4;list-style:none;display:flex}.region-summary>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.region-summary::-webkit-details-marker{display:none}.region-summary:after{content:"▾"}.region-summary[aria-disabled=true]{opacity:.45;cursor:default}.region-dropdown{z-index:800;background:#fff;border:1px solid #777;width:max(100%,330px);max-width:calc(100vw - 18px);max-height:min(480px,65dvh);margin-top:3px;padding:8px;position:absolute;overflow-y:auto}.region-group+.region-group{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.boundary-toolbar{z-index:5;border:1px solid var(--line);background:#fff;width:min(340px,100% - 24px);padding:12px;font-size:12px;position:absolute;top:12px;left:12px;box-shadow:0 2px 10px #0002}.boundary-toolbar p{margin:6px 0}.boundary-toolbar .boundary-error{color:#983d28}.map-context{z-index:500;flex-direction:column;align-items:flex-start;gap:8px;max-width:calc(100% - 64px);display:flex;position:absolute;top:12px;left:12px}.map-context.is-editing{top:auto;bottom:10px}.search-area-control{border:1px solid var(--control-border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 8px;font-size:12px;display:flex}.search-area-control label{cursor:pointer;align-items:center;gap:6px;display:flex}.search-area-control input{margin:0}.search-area-control span{color:#557f9b}.search-area-control input:focus-visible{outline:2px solid var(--action);outline-offset:2px}.access-points-control{flex-direction:column;align-items:flex-start;max-width:300px}.access-points-control small{color:var(--muted);font-size:11px}.access-points-legend{gap:12px;display:flex}.access-points-legend span{color:var(--ink);align-items:center;gap:4px;display:inline-flex}.access-point-key{background:#a85d17;border-radius:50%;width:8px;height:8px}.access-point-key.trailhead{background:#24734b}.access-point-key.parking{background:#245b9b}.access-point-details{padding:4px;font-family:IBM Plex Sans,sans-serif;font-size:12px;line-height:1.4}.access-point-details p{margin:4px 0}.boundary-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.boundary-actions button{align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:inline-flex}.boundary-actions .primary{font-weight:600}.boundary-actions .text-button{margin-left:auto;padding:5px 0;text-decoration:none}.boundary-actions .text-button>span{text-underline-offset:2px;text-decoration:underline}.boundary-actions kbd{border:1px solid var(--line);background:var(--surface);color:var(--muted);font:10px var(--mono);border-radius:3px;padding:1px 4px;line-height:1.3}.boundary-actions .primary kbd{color:inherit;background:#ffffff18;border-color:#fff5}.region-group header,.catalog-areas header{justify-content:space-between;align-items:center;gap:12px;padding:3px 0;display:flex}.region-group header button,.catalog-areas header button{padding:3px 6px;font-size:11px}.region-option,.area-row{align-items:center;gap:8px;padding:8px 4px;font-size:12px;line-height:1.4;display:flex}.region-option:not(.unavailable):hover,label.area-row:hover{background:var(--surface)}.region-option span,.area-row>span:nth-child(2){flex:1}.unavailable,.area-status,.region-option small{color:var(--muted)}.region-option small,.area-status{white-space:nowrap;font-size:11px}.workspace{--dock-width:280px;grid-template-columns:var(--dock-width) minmax(0, 1fr);flex:1;min-height:0;display:grid;position:relative}.workspace.is-results-collapsed{--dock-width:0px}.results-panel[hidden]{display:none}.results-panel,.browser-panel{flex-direction:column;min-width:0;min-height:0;display:flex}.results-panel{border-right:1px solid var(--control-border);background:#fff;grid-area:1/1}.browser-panel{grid-area:1/2;position:relative;container-type:inline-size}.collapse-tab{z-index:700;background:var(--surface);place-items:center;padding:0;font-size:20px;font-weight:400;display:grid;position:absolute}.collapse-tab svg{display:block}.collapse-tab[aria-expanded=false] svg{transform:rotate(180deg)}.collapse-tab--side{top:calc(50% - 22px);left:calc(var(--dock-width) - 1px);border-left:0;width:18px;height:44px}.collapse-tab--top{border-bottom:0;width:44px;height:18px;bottom:100%;left:50%;transform:translate(-50%)}.collapse-tab--top svg{transform:rotate(-90deg)}.collapse-tab--top[aria-expanded=false] svg{transform:rotate(90deg)}.results-header{padding:7px 8px}.results-header>div{justify-content:space-between;align-items:baseline;gap:7px;display:flex}.results-header h2{flex:1;min-width:0;font-size:12px;position:relative}.results-areas-trigger{text-underline-offset:3px;white-space:nowrap;text-decoration:underline}.results-areas-trigger:hover .results-areas,.results-areas-trigger:focus-visible .results-areas{display:block}.results-areas{white-space:normal;z-index:800;border:1px solid var(--line);background:var(--surface);border-radius:5px;width:280px;max-width:calc(100vw - 32px);padding:8px 10px;font-weight:400;line-height:1.5;display:none;position:absolute;top:100%;left:0;box-shadow:0 4px 14px #0002}.results-areas>span{display:block}.result-count{color:var(--muted);white-space:nowrap;font-size:11px}.saved-request{color:var(--muted);margin-top:3px;font-size:11px}.results-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:2px 8px 7px;font-size:11px;display:flex}.view-toggle{align-items:center;gap:8px;display:flex}.results-show{color:var(--muted)}.view-toggle button{background:0 0;border:0;padding:3px 0;font-size:11px}.view-toggle [aria-pressed=true]{color:var(--action);text-underline-offset:5px;font-weight:600;text-decoration:underline;text-decoration-thickness:2px}.view-toggle button:hover{color:var(--action);background:0 0}.results-sort{align-items:center;gap:4px;font-size:11px;display:flex}.results-sort select{background:0 0;border:0;width:auto;padding:2px 0;font-size:11px}.results-toolbar button:focus-visible,.results-areas-trigger:focus-visible{outline:2px solid var(--action);outline-offset:2px}.results-sort select:focus-visible{outline:none}.sort-direction{min-width:18px;color:var(--action);white-space:nowrap;background:0 0;border:0;padding:3px 0;font-size:15px}.sort-direction:hover{background:0 0}.results-list{flex-direction:column;flex:1;min-height:85px;display:flex;overflow:hidden}.virtual-list{scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.starred-section{border-bottom:1px solid var(--control-border);flex-direction:column;flex:0 auto;min-height:29px;max-height:40%;display:flex}.starred-toggle{background:var(--surface);width:100%;min-height:28px;color:var(--action);text-align:left;border:0;flex-shrink:0;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-weight:500;display:flex}.star-route[aria-pressed=true] svg path{fill:#f0cf65;stroke:#b99a3d}.starred-count{font-variant-numeric:tabular-nums;margin-left:auto}.starred-list{min-height:0;display:flex}.starred-list[hidden]{display:none}.starred-list .virtual-list{max-height:208px}.hike-list{margin:0;padding:0;list-style:none}.hike-list li:not(.list-spacer){height:var(--row-height);border-bottom:1px solid var(--line);position:relative}.hike-list .hike-select{text-align:left;background:0 0;border:0;width:100%;height:100%;padding:6px 8px;font-size:12px;display:block}.hike-list .hike-select:hover,.hike-list .hike-select[data-preview=true]{background:var(--surface)}.hike-list .hike-select[aria-pressed=true]{background:var(--selection);box-shadow:inset 3px 0 var(--active-route)}.hike-list strong{white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.row-metrics{font:14px var(--mono);font-variant-numeric:tabular-nums;grid-template-columns:1fr 1fr;gap:4px 8px;margin-top:5px;display:grid}.row-metrics>span{white-space:nowrap}.row-metrics small{font:10px var(--sans);color:var(--muted)}.empty-state{color:var(--muted);padding:10px 8px;font-size:12px;line-height:1.5}.map-route-card{z-index:650;border:1px solid var(--control-border);background:#fff;border-radius:0;flex-direction:column;width:min(720px,100% - 32px);max-height:calc(65% - 30px);display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #152e4030,0 2px 8px #152e4018}.route-card-content{scrollbar-width:thin;min-height:0;padding:8px 12px;overflow-y:auto}.route-card-header{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);align-items:center;gap:0 22px;padding-bottom:5px;display:grid}.route-card-top{align-items:center;gap:20px;min-width:0;display:flex}.route-card-top h2{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;line-height:1.35;overflow:hidden}.route-card-trailhead{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-self:start;font-size:12px;line-height:1.35;overflow:hidden}.route-card-tools{flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.route-card-readout{grid-column:2;min-width:0;min-height:16px}.close-route-card,.star-route{width:26px;height:26px;color:var(--muted);background:0 0;border:0;border-radius:0;flex-shrink:0;place-items:center;padding:0;line-height:1;display:grid}.close-route-card svg,.star-route svg{display:block}.close-route-card:hover,.star-route:hover{background:0 0}.has-star strong{padding-right:24px}.hike-list .row-star{width:24px;height:24px;margin:0;position:absolute;top:1px;right:4px}.close-route-card:focus-visible,.star-route:focus-visible,.options-trigger:focus-visible{outline:2px solid var(--action);outline-offset:2px}.route-detail{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);align-items:start;gap:0 22px;display:grid}.detail-metrics{border:1px solid var(--line);border-collapse:collapse;width:100%}.detail-metrics tr+tr{border-top:1px solid var(--line)}.detail-metrics th,.detail-metrics td{white-space:nowrap;height:26px;padding:3px 8px;font-size:12px}.detail-metrics th{text-align:left;font-weight:400}.detail-metrics td{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums}.detail-metrics .metric-unit{font-family:var(--sans);text-align:left;padding-left:0}.metric-note{color:var(--muted);margin-left:3px;font-size:10px}.road-fraction{font-family:var(--mono)}.route-card-footer{flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:2px 6px;display:flex;position:relative}.route-footer-label{color:var(--muted);margin-right:4px;font-size:11px}.gpx-download{white-space:nowrap;text-underline-offset:2px;font-size:11px;text-decoration:underline}.elevation-profile{min-width:0}.profile-plot{position:relative}.profile-reverse{width:22px;height:22px;color:var(--muted);background:#fff;border:0;place-items:center;padding:0;display:grid;position:absolute;top:2px;right:6px}.profile-reverse:hover{color:var(--ink);background:#fff}.profile-reverse:focus-visible{outline:2px solid var(--action);outline-offset:1px}.profile-readout{font-size:12px;line-height:18px;font-family:var(--mono);color:var(--muted);text-align:left;white-space:nowrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.profile-clear{color:inherit;font:11px var(--sans);text-underline-offset:2px;background:0 0;border:0;flex-shrink:0;padding:0;text-decoration:underline}.profile-selection{fill:var(--active-route);fill-opacity:.12;pointer-events:none}.profile-chart{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;height:auto;display:block;overflow:visible}.profile-tick{font-family:var(--mono);fill:var(--muted);font-size:10px}.profile-axis{stroke:var(--line);stroke-width:1px}.profile-line{stroke:var(--active-route);stroke-width:1.5px}.profile-cursor{stroke:var(--active-route);stroke-width:1px}.profile-point{fill:#fff;stroke:var(--active-route);stroke-width:1.5px}.trail-names{flex-wrap:nowrap;gap:2px 10px;margin:0;padding:0;list-style:none;display:flex}.trail-names.is-expanded{flex-wrap:wrap}.trail-names li{min-width:0}.trail-names li[hidden],.trail-list-toggle[hidden]{visibility:hidden;display:block;position:absolute;top:0;left:0}.trail-names button,.trail-list-toggle{text-underline-offset:2px;background:0 0;border:0;padding:2px 0;font-size:12px;line-height:1.35}.trail-names button{text-overflow:ellipsis;white-space:nowrap;max-width:150px;display:block;overflow:hidden}.trail-names.is-expanded button{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:none}.trail-names button:hover,.trail-names button:focus-visible{color:var(--active-route);text-decoration:underline}.trail-names button:focus-visible,.trail-list-toggle:focus-visible{outline:2px solid var(--action);outline-offset:2px}.trail-list-toggle{white-space:nowrap;color:var(--action);flex-shrink:0;font-size:11px;text-decoration:underline}@container (width<=620px){.route-card-header{grid-template-columns:1fr;gap:0}.route-card-readout{grid-column:1}.route-detail{grid-template-columns:1fr;gap:8px}.map-route-card{width:min(420px,100% - 24px)}}.route-loading{padding:8px;font-size:12px;line-height:1.5}.route-loading>button{margin-top:6px}.map-panel,.map-placeholder{flex:1;min-width:0;min-height:0;position:relative}.map-panel,.map-placeholder,.maplibregl-map{background:var(--surface)}.map-panel .map-canvas{position:absolute;inset:0}.map-center-indicator{pointer-events:none;z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-panel .maplibregl-map{font-family:var(--sans)}.map-panel .map-coordinates .maplibregl-popup-content{color:var(--ink);font:13px/1.4 var(--sans);border-radius:6px;padding:5px 7px}.coordinate-row{align-items:center;gap:6px;display:flex}.coordinate-row>span{font-family:var(--mono);white-space:nowrap;-webkit-user-select:text;user-select:text}.coordinate-row>button{border:0;border-radius:4px;place-items:center;width:24px;height:24px;padding:0;display:grid}.coordinate-feedback{max-width:240px;color:var(--muted);font-size:12px}.coordinate-feedback:empty{display:none}.coordinate-copied{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.map-provider img{height:24px;display:block}.map-notice{z-index:600;border:1px solid var(--line);background:#fff;max-width:calc(100% - 38px);padding:7px 9px;font-size:12px;position:absolute;top:10px;left:24px}.map-segment-label{z-index:550;border:1px solid var(--line);max-width:calc(100% - 48px);color:var(--ink);text-align:center;overflow-wrap:anywhere;pointer-events:none;background:#fffffff5;border-radius:6px;padding:7px 12px;font-size:13px;font-weight:600;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000012}.preview-notice button{margin-top:6px}.hike-marker{--marker-size:10px;--marker-fill:#fafbfc;--marker-ring:var(--ink);--marker-ring-width:1.5px;width:max(28px, var(--marker-size));height:max(28px, var(--marker-size));color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.hike-marker:hover{background:0 0}.hike-marker-symbol{box-sizing:border-box;width:var(--marker-size);height:var(--marker-size);border:var(--marker-ring-width) solid var(--marker-ring);background:var(--marker-fill);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:11px;font-weight:600;line-height:1;display:grid;position:relative}.hike-marker--start[data-state=selected]{--marker-size:14px;--marker-fill:var(--active-route);--marker-ring:#fff;--marker-ring-width:2px;z-index:2}.hike-marker--start[data-state=selected] .hike-marker-symbol:after{content:"";background:#fff;border-radius:50%;width:3px;height:3px}.hike-marker:is(:hover,:focus-visible),.hike-marker[data-state=preview]{--marker-ring:var(--active-route)}.hike-marker--group:is(:hover,:focus-visible){color:var(--active-route)}.hike-marker:focus-visible{outline:2px solid var(--active-route);outline-offset:2px}.profile-map-marker{background:var(--active-route);pointer-events:none;border:2px solid #fff;border-radius:50%;width:11px;height:11px}.unit-settings{border:0;flex-wrap:wrap;gap:12px;margin:0 0 18px;padding:0;display:flex}.unit-settings legend{margin-bottom:8px;font-size:13px;font-weight:600}.unit-settings label{align-items:center;gap:5px;font-size:12px;display:flex}.unit-settings label span{color:var(--muted)}.job-error,.error-banner{background:#faf1ed;border-left:3px solid #a05235;margin-top:10px;padding:8px 10px;font-size:12px;line-height:1.6}.query-bar .error-banner{align-items:center;gap:10px;margin:0;padding:5px 9px;display:flex}.error-banner button,.job-error button{margin-top:5px}.workspace-status{border-top:1px solid var(--line);background:var(--surface);min-height:24px;color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:4px 8px;font-size:11px;display:flex}.activity-status{align-items:center;gap:8px;display:flex}progress{appearance:none;background:var(--surface);border:0;border-radius:0;width:100%;height:8px;margin:12px 0 8px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--surface)}progress::-webkit-progress-value{background:var(--ink)}progress::-moz-progress-bar{background:var(--ink)}progress:indeterminate{background:linear-gradient(var(--ink), var(--ink)) left / 30% 100% no-repeat var(--surface);animation:1.5s ease-in-out infinite alternate progress-pulse}progress:indeterminate::-webkit-progress-bar{background:0 0}progress:indeterminate::-moz-progress-bar{background:0 0}@keyframes progress-pulse{to{background-position:100%}}@media (prefers-reduced-motion:reduce){progress:indeterminate{background-position:50%;animation:none}}.activity-status progress{width:80px;margin:0}.dialog-heading>button,.jobs-heading>button{width:30px;height:30px;color:var(--ink);opacity:1;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:22px;font-weight:400;line-height:1;display:grid}.dialog-heading>button:hover,.jobs-heading>button:hover{opacity:.5;background:0 0}.dialog-heading>button:focus-visible,.jobs-heading>button:focus-visible{background:0 0;outline:none}.jobs-modal,.settings-modal,.download-modal{width:min(680px,100vw - 48px);max-height:calc(100dvh - 64px);color:inherit;background:#fff;border:1px solid #777;border-radius:0;padding:0}.download-modal{width:min(460px,100vw - 48px)}.settings-modal{width:min(560px,100vw - 48px)}.jobs-modal[open],.settings-modal[open]{flex-direction:column;display:flex}dialog::backdrop{background:#0005}.dialog-heading,.jobs-heading{background:#f5f5f5;border-bottom:1px solid #aaa;justify-content:space-between;align-items:center;gap:24px;padding:8px 22px;display:flex}.dialog-heading h2,.jobs-heading h2{margin:0;font-size:17px}.dialog-body,.jobs-list{min-height:0;padding:20px 22px;overflow-y:auto}.area-state+.area-state{margin-top:12px}.area-state>header{border-bottom:1px solid var(--line)}.area-state>header h4{font-size:13px;font-weight:600}.area-range{margin:4px 0}.area-range>header h5{color:var(--muted);margin:0;font-size:11px;font-weight:600}.area-range .area-row{padding-left:16px}.catalog-download{margin-top:8px}.area-row{padding:5px 4px}.area-ready>span:first-child,.area-row.unavailable>span:first-child{text-align:center;width:15px}.area-toolbar,.download-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.download-panel{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:20px;line-height:1.6}.download-panel p{margin-top:6px;font-size:12px}.download-total{font-size:20px}.download-names{padding-left:18px;font-size:12px;line-height:1.6}.settings-notes{border-top:1px solid var(--line);color:var(--muted);margin-top:24px;padding-top:16px;font-size:12px;line-height:1.6}.settings-notes p{margin-top:12px}.settings-notes ul{padding-left:18px}.jobs-modal{width:min(1160px,100vw - 48px);height:min(680px,100dvh - 96px);overflow:hidden}.jobs-heading{border-color:var(--line);background:#fff;padding:12px 18px}.jobs-count{color:var(--muted);margin-left:8px;font-size:13px;font-weight:400}.jobs-list{scrollbar-gutter:stable;flex:1;padding:0;overflow:auto}.jobs-heading,.jobs-pagination{flex-shrink:0}.jobs-list>p,.jobs-list>.job-error{margin:16px 18px}.jobs-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.jobs-expand-col{width:42px}.jobs-status-col{width:120px}.jobs-distance-col{width:85px}.jobs-gain-col{width:110px}.jobs-results-col{width:55px}.jobs-duration-col{width:75px}.jobs-created-col{width:120px}.jobs-stem-col,.jobs-roads-col{width:80px}.jobs-actions-col{width:190px}.jobs-table>thead{z-index:1;background:var(--surface);position:sticky;top:0}.jobs-table>:is(thead,tbody)>tr>:is(th,td){text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);height:56px;padding:6px 12px}.jobs-table>thead>tr>th{height:32px;color:var(--muted);white-space:nowrap;padding-block:4px;font-size:11px;font-weight:500}.jobs-table .job-group-start{border-left:1px solid #e5e9ec}.jobs-table .job-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.job-unit{color:var(--muted);margin-left:2px;font-weight:400}.job-row{cursor:pointer;scroll-margin-top:32px}.job-row:hover,.job-row.expanded{background:#f5f7f8}.job-row.highlighted{box-shadow:inset 3px 0 var(--action,#303835);background:#edf3f6}.jobs-table .job-area{font-weight:500}.job-area-line{align-items:center;gap:6px;display:flex}.job-area-line>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-area-count{color:var(--muted);flex-shrink:0;font-size:11px;font-weight:400}.job-status-cell{white-space:nowrap}.job-status-line{flex-direction:column;justify-content:center;align-items:flex-start;min-height:34px;line-height:18px;display:flex}.job-status{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.job-status-dot{background:#7c858d;border-radius:50%;width:7px;height:7px}.status-completed{color:#315e49}.status-completed .job-status-dot{background:#3f7d58}.status-running{color:var(--action,#303835)}.status-running .job-status-dot{background:var(--action,#303835)}.status-failed,.status-interrupted{color:#a05235}.status-failed .job-status-dot,.status-interrupted .job-status-dot{background:#a05235}.job-status-progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;line-height:16px}.job-created{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-weight:400;display:block}.job-limit>span{line-height:1.5;display:block}.job-limit .job-muted{font-size:11px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.job-actions{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;display:grid}.job-secondary-actions{grid-column:2;align-items:center;gap:6px;display:flex}.job-icon-button{width:28px;height:28px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:5px;display:inline-flex}.job-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.job-icon-button:hover:enabled{background:var(--control-hover,#e8ece9);color:var(--ink)}.job-icon-button[aria-expanded=true] svg{transform:rotate(90deg)}.jobs-table .job-expand-cell{padding-left:10px;padding-right:0}.job-cancel{min-height:28px;color:var(--action,#303835);white-space:nowrap;background:0 0;border:0;padding:4px 0;font-size:12px}.job-cancel:hover:enabled{text-underline-offset:3px;background:0 0;text-decoration:underline}.job-results{border:1px solid var(--action,#303835);min-height:28px;color:var(--action,#303835);white-space:nowrap;background:#fff;justify-content:center;align-items:center;padding:3px 9px;font-size:12px;display:inline-flex}.job-results:hover:enabled{background:#eaf2f7}.job-muted{color:var(--muted)}.jobs-table .job-detail-row>td{background:#f8fafb;height:auto;padding:16px 22px 18px 54px}.job-detail-content{grid-template-columns:fit-content(440px) minmax(0,1fr);align-items:start;gap:24px;font-size:12px;line-height:1.5;display:grid}.job-detail-content p{margin:5px 0}.job-detail-content .job-muted,.job-detail-content code{overflow-wrap:anywhere;font-size:11px}.job-criteria-table{table-layout:auto;width:auto;min-width:280px}.job-criteria-table thead{border-bottom:1px solid var(--line);background:var(--surface)}.job-criteria-table thead th{color:var(--muted);font-size:11px;font-weight:500}.job-criteria-table td,.job-criteria-table thead th:last-child{text-align:left}.job-criteria-table :is(th,td){white-space:normal}.delete-job-modal{border:1px solid var(--control-border,#929c96);width:min(420px,100vw - 48px);max-height:calc(100dvh - 48px);color:inherit;background:#fff;padding:0;box-shadow:0 12px 48px #0003}.delete-job-modal::backdrop{background:#0003}.delete-job-body{padding:22px 24px}.delete-job-body h2{margin:0 0 10px;font-size:18px}.delete-job-body>p{color:var(--muted);margin:0;line-height:1.5}.delete-job-summary{background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:5px;margin-top:18px;padding:12px 14px;line-height:1.4;display:flex}.delete-job-summary strong{font-size:12px;font-weight:500}.delete-job-summary time,.delete-job-summary>span{color:var(--muted);font-size:11px}.delete-job-modal footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.delete-job-modal footer button{min-height:32px;padding:5px 12px}.delete-job-button{color:#fff;background:#a83225;border-color:#a83225}.delete-job-button:hover{background:#8c291e;border-color:#8c291e}.jobs-pagination{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:16px;padding:10px 18px;font-size:11px;display:flex}.jobs-pagination nav{gap:6px;margin-left:auto;display:flex}.jobs-pagination button{font-size:11px}@media (width<=1168px){.jobs-table{min-width:1120px}}@media (width<=640px){.jobs-modal{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:min(680px,100dvh - 32px);max-height:calc(100dvh - 32px)}.jobs-heading{gap:8px;padding:10px 12px}.jobs-count{margin-left:6px;font-size:12px}.jobs-list{scrollbar-gutter:auto}.jobs-table{min-width:0;display:block}.jobs-table>colgroup{display:none}.jobs-table>:is(thead,tbody){display:block}.jobs-table>:is(thead,tbody)>tr{grid-template-columns:26px minmax(0,1fr) 78px 34px 94px;display:grid}.jobs-table>:is(thead,tbody)>tr:not(.job-detail-row)>:is(:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6),:nth-child(9),:nth-child(10)){display:none}.jobs-table>:is(thead,tbody)>tr>:is(th,td){align-items:center;min-width:0;height:auto;padding:8px 5px;display:flex}.jobs-table>thead>tr>th{height:32px;padding-block:4px}.jobs-table .job-number{justify-content:flex-end}.jobs-table .job-status{gap:4px;font-size:11px}.jobs-table .job-expand-cell{padding-left:2px}.job-area-line{flex-direction:column;align-items:flex-start;gap:2px}.job-area-line>span:first-child{white-space:normal;overflow-wrap:anywhere}.job-status-progress{white-space:normal}.job-actions{grid-template-columns:minmax(0,1fr);gap:2px}.job-secondary-actions{grid-column:1;justify-content:center;gap:10px}.jobs-modal .job-icon-button{width:32px;height:32px}.jobs-modal .job-expand{width:24px}.jobs-modal :is(.job-results,.job-cancel){min-height:32px;padding-inline:4px}.jobs-table .job-detail-row{display:block}.jobs-table .job-detail-row[hidden]{display:none}.jobs-table .job-detail-row>td{padding:12px 14px;display:block}.job-detail-content{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);gap:12px}}.numeric-field[data-unit=\%] .stepped-number{width:80px}.search-options{position:relative}.options-trigger{min-height:27px;padding:4px 7px;font-size:12px}.options-trigger[aria-expanded=true]{background:var(--control-hover)}.options-trigger span{margin-left:7px}.options-popover{z-index:800;border:1px solid var(--control-border);background:#fff;width:300px;max-width:calc(100vw - 18px);padding:10px;position:absolute;top:calc(100% + 3px);box-shadow:0 3px 10px #0002}.option-title{align-items:center;gap:6px;margin-bottom:7px;display:flex;position:relative}.option-heading{cursor:pointer;align-items:center;gap:6px;width:fit-content;min-height:18px;font-weight:600;display:flex}.option-heading input:focus-visible,.options-info:focus-visible{outline:2px solid var(--action);outline-offset:2px}.options-info{color:var(--muted);background:0 0;border:0;align-items:center;padding:0;display:flex}.options-info:hover{color:var(--action);background:0 0}.option-tooltip{z-index:1;border:1px solid var(--control-border);width:100%;color:var(--ink);text-align:left;pointer-events:none;background:#fff;padding:7px 8px;font-size:11px;font-weight:400;line-height:1.45;display:none;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 3px 10px #0002}.options-info:hover .option-tooltip,.options-info:focus .option-tooltip{display:block}.options-fields{border:0;gap:16px;min-width:0;margin:0 0 12px;padding:0;display:flex}.options-fields:last-child{margin-bottom:0}.options-fields:disabled{opacity:.45}.options-fields input:disabled{background:var(--surface)}.road-fraction-note{color:var(--muted);align-self:center;font-size:11px;line-height:1.45}.grade-limits{position:relative}.grade-trigger{border:1px solid var(--control-border);background:#fff;align-items:center;min-height:27px;padding-left:7px;display:flex}.grade-trigger.enabled{background:var(--control-hover);border-color:var(--control-border)}.grade-trigger:not(.enabled){color:#7c858d;background:var(--surface);border-color:var(--line)}.grade-trigger button{background:0 0;border:0;align-items:center;gap:10px;padding:4px 7px;font-size:12px;display:flex}.grade-trigger button:hover{background:0 0}.grade-popover{z-index:800;background:#fff;border:1px solid #777;width:379px;max-width:calc(100vw - 18px);padding:10px;position:absolute;top:calc(100% + 3px);left:0;box-shadow:0 3px 10px #0002}.grade-grid{grid-template-columns:59px 85px 91px 98px;align-items:center;gap:7px;display:grid}.grade-row{display:contents}.grade-column{white-space:nowrap;font-size:11px}.grade-column .field-unit{margin-left:1px}.grade-direction{font-size:12px}.grade-grid input{width:100%}.grade-grid .stepped-number{width:100%;min-width:0}.grade-grid .stepped-number input{text-align:left;padding-left:5px}.grade-definition{color:var(--muted);text-align:right;margin-top:9px;font-size:11px}.grade-guide{justify-content:flex-end;gap:8px;margin-bottom:4px;display:flex}.grade-guide>span{white-space:nowrap}.drive-control{flex:none;font-size:12px;position:relative}.drive-trigger{border:1px solid var(--control-border);width:fit-content;min-height:27px;color:var(--ink);background:var(--surface);align-items:center;gap:7px;padding:4px 7px;display:flex}.drive-trigger.drive-enabled{color:var(--ink);border-color:var(--control-border);background:var(--control-hover)}.drive-trigger button{min-height:17px;color:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:12px;display:flex}.drive-trigger button:hover{background:0 0}.drive-trigger:has(button:disabled){opacity:.5}.drive-trigger .drive-remove{border-left:1px solid var(--line);padding-left:5px}.drive-popover{z-index:800;border:1px solid var(--control-border);background:#fff;width:282px;max-width:calc(100vw - 18px);padding:10px;position:absolute;top:calc(100% + 5px);box-shadow:0 3px 10px #0002}.drive-fields{border:0;gap:5px;min-width:0;margin:0;padding:0;display:grid}.drive-duration,.drive-origin-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.drive-duration input{width:58px;padding:4px 5px}.drive-origin-actions button{background:0 0;padding:4px 7px;font-size:11px}.drive-origin-actions button:hover{background:0 0}.drive-control :is(button,input):focus-visible{outline:2px solid var(--action);outline-offset:2px}.drive-note{color:var(--muted);font-size:11px;line-height:1.4}.drive-error{color:#a12842;font-size:11px;line-height:1.4}.drive-fields:disabled .drive-duration{opacity:.5}
