.nc{background:#b6c3c7}.c4{background:#00b8ff}.c3{background:#76ff03}.c2{background:#ffd600}.c1{background:#ff5a00}.hc{background:#ff1744}.direction-arrow{background:transparent;border:0}.direction-arrow span{display:block;font-size:22px;font-weight:900;line-height:22px;text-shadow:-1px -1px 2px #001,1px 1px 2px #001}.route-direction{margin:8px 0;color:#fff;font-size:12px}.proposal-actions{flex-wrap:wrap}
.route-progress{margin:10px 0}.route-progress progress{width:100%;height:9px;accent-color:#54dfc3}.route-progress small{display:flex;justify-content:space-between;margin-top:4px;color:#9edbd5}
.category-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:17px 0 0;padding:10px;border:1px solid var(--line);border-radius:9px}.category-filters legend{padding:0 5px;color:var(--muted);font-size:12px}.category-filters label{justify-content:center;align-items:center;gap:5px;margin:0;padding:6px;border-radius:6px;color:#06171d;font-size:12px;font-weight:900;cursor:pointer}.category-filters input{accent-color:#071d24}
.ride-mode{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:17px 0 0;padding:8px;border:1px solid var(--line);border-radius:9px}.ride-mode legend{padding:0 5px;color:var(--muted);font-size:12px}.ride-mode label{display:block;margin:0;cursor:pointer}.ride-mode input{position:absolute;opacity:0}.ride-mode span{display:block;padding:8px 5px;border:1px solid var(--line);border-radius:7px;text-align:center;font-size:12px;font-weight:800}.ride-mode input:checked+span{border-color:var(--mint);background:var(--mint);color:#04201b}
.route-editor{margin:10px 0;padding:10px;border:1px solid #54dfc3;border-radius:9px;background:#092a31}.route-editor>strong,.route-editor>small{display:block;margin-bottom:7px}.route-editor label{display:flex;gap:7px;align-items:center;margin:8px 0}.route-editor>div{display:flex;gap:6px;flex-wrap:wrap}.route-editor p{margin:8px 0 0;color:#9edbd5}.drawing-route{cursor:crosshair}.leaflet-tooltip-permanent{background:#092a31;color:#fff;border-color:#54dfc3}
.editor-elevation{margin-top:10px;padding:9px;border:1px solid #1e4b56;border-radius:8px;background:#061f27;transition:opacity .18s}.editor-elevation.updating{opacity:.58}.editor-elevation>div:first-child,.elevation-scale{display:flex;justify-content:space-between;align-items:center;gap:8px}.editor-elevation .profile{height:72px;margin:6px 0 2px}.editor-elevation small,.elevation-scale{color:#9edbd5;font-size:11px}.elevation-scale span:nth-child(2){text-align:center}.elevation-scale span:last-child{text-align:right}
#cancelRoute{width:100%;margin:8px 0;border-color:#ff9e64;color:#ffd1b6;font-weight:800}
.speed-settings{margin:12px 0 0;padding:8px;border:1px solid var(--line);border-radius:9px}.speed-settings legend{padding:0 5px;color:var(--muted);font-size:12px}.speed-settings #manualSpeeds{display:grid;grid-template-columns:1fr 1fr;gap:7px}.speed-settings label{display:block;margin:0;color:var(--muted);font-size:11px}.speed-settings .history-speed-toggle{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:#eafaf7;font-size:12px}.speed-settings .history-speed-toggle input{width:auto}.speed-settings label span{display:flex;align-items:center;gap:4px;margin-top:4px;color:#eafaf7;white-space:nowrap}.speed-settings input{width:100%;min-width:0;padding:7px;border:1px solid var(--line);border-radius:6px;background:#061f27;color:#fff;font-weight:800}.speed-settings p{margin:3px 0;color:#9edbd5;font-size:11px;line-height:1.4}.route-time{color:#ffd166}.editor-elevation .route-time{color:#ffd166}
.route-preferences{margin:10px 0;padding:8px;border:1px solid #1e4b56;border-radius:8px;background:#061f27}.route-preferences>strong,.route-preferences>small{display:block}.route-preferences label{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:7px;margin:7px 0;font-size:11px}.route-preferences select{min-width:0;padding:6px;border:1px solid var(--line);border-radius:6px;background:#092a31;color:#fff}.delete-editor-point{border-color:#ff8c78;color:#ffd5cd;font-weight:800}
.route-preferences label{grid-template-columns:1fr auto;gap:4px 7px}.route-preferences label>select{grid-column:1/-1}.segment-intensity{display:flex!important;align-items:center;justify-content:flex-end;gap:5px!important;margin:0!important}.segment-intensity button{width:11px;height:11px;min-width:11px;padding:0;border:1px solid #ffffff55;border-radius:50%;opacity:.35;box-shadow:none;transition:opacity .15s,box-shadow .15s,transform .15s}.segment-intensity button:hover{opacity:.75;transform:scale(1.12)}.segment-intensity .intensity-moderate{background:#39df83}.segment-intensity .intensity-strong{background:#ffad32}.segment-intensity .intensity-maximum{background:#ff5364}.segment-intensity button.active{opacity:1;transform:scale(1.12)}.segment-intensity .intensity-moderate.active{box-shadow:0 0 7px 2px #39df83}.segment-intensity .intensity-strong.active{box-shadow:0 0 7px 2px #ffad32}.segment-intensity .intensity-maximum.active{box-shadow:0 0 7px 2px #ff5364}
.insertion-popup .leaflet-popup-content-wrapper,.insertion-popup .leaflet-popup-tip{background:#082a31;color:#eafaf7}.insertion-popup .leaflet-popup-content{margin:11px;width:270px!important}.insertion-chooser{display:grid;gap:5px}.insertion-chooser>small{color:#9edbd5}.insertion-options{display:grid;gap:5px;margin-top:4px}.insertion-options.show-all{max-height:260px;padding-right:3px;overflow-y:auto;overscroll-behavior:contain}.insertion-options button{display:flex;justify-content:space-between;align-items:center;gap:9px;width:100%;padding:7px;border:1px solid #245661;border-radius:6px;background:#061f27;color:#eafaf7;text-align:left}.insertion-options button:hover,.insertion-options button:focus{border-color:#ffd166;background:#12353b}.insertion-options button small{color:#ffd166;white-space:nowrap}.insertion-options .show-all-insertions{justify-content:center;color:#54dfc3;font-size:11px}
.climb-list-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}.climb-list-switch button{padding:8px 5px;font-size:12px}.climb-list-switch button.active{border-color:var(--mint);background:var(--mint);color:#04201b;font-weight:900}.climb-list-switch button:disabled{opacity:.45}.route-climb-status{margin:0 0 10px;color:#9edbd5;font-size:12px}
.route-climb-position{display:block;margin-top:7px;padding:5px 8px;border:1px solid #54dfc3;border-radius:6px;background:#0d3b3b;color:#9fffea;font-size:12px;font-weight:900;letter-spacing:.02em}
.editor-elevation,.proposal{position:relative}
.route-distance-marker{padding:4px 7px;border:1px solid #54dfc3;border-radius:6px;background:#071d24;color:#eafaf7;font-size:11px;font-weight:900;box-shadow:0 2px 8px #001a}
.route-distance-marker:before{border-top-color:#54dfc3!important}
.speed-gradient-legend{position:absolute;z-index:500;top:12px;right:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 8px;padding:8px 10px;border:1px solid #1e4b56;border-radius:8px;background:#071d24ed;color:#eafaf7;font-size:11px}.speed-gradient-legend strong{grid-column:1/-1}.speed-gradient-legend i{height:8px;min-width:100px;border-radius:9px;background:linear-gradient(90deg,#ff4c4c,#ffae42,#ffe25f,#54dfc3)}.speed-gradient-legend span{color:#9edbd5}
.history-speed-retry{margin-left:7px;padding:3px 8px;border-color:#54dfc3;color:#9fffea;font-size:11px}
.altitude-map-readout{min-width:148px;max-width:220px;width:max-content;white-space:nowrap}.altitude-map-link{cursor:crosshair}
.altitude-map-link{position:relative;cursor:crosshair;outline:none;touch-action:pan-y}.altitude-map-link:focus-visible{outline:2px solid #ffd166;outline-offset:3px}.altitude-map-link::after{content:"";position:absolute;z-index:3;top:0;bottom:0;left:var(--profile-cursor,0);width:1px;background:#fff;box-shadow:0 0 4px #06171d;pointer-events:none}.altitude-map-link::before{content:"";position:absolute;z-index:4;left:var(--profile-cursor,0);top:var(--profile-y,50%);width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#54dfc3;transform:translate(-50%,-50%);box-shadow:0 0 4px #06171d;pointer-events:none}.altitude-map-link:not(.is-exploring)::after,.altitude-map-link:not(.is-exploring)::before,.altitude-map-link.is-inactive::after,.altitude-map-link.is-inactive::before{display:none}.altitude-map-readout{position:absolute;z-index:5;top:5px;left:min(calc(var(--profile-cursor,0) + 8px),calc(100% - 220px));min-width:148px;max-width:220px;width:max-content;white-space:nowrap;padding:4px 7px;border:1px solid #54dfc3;border-radius:5px;background:#071d24;color:#fff;font:700 11px/1.2 system-ui;pointer-events:none}.altitude-map-link:not(.is-exploring) .altitude-map-readout,.altitude-map-link.is-inactive .altitude-map-readout{display:none}
.history-speed-editor{display:grid;gap:8px;margin-top:7px}.history-speed-editor>strong{margin-top:3px;color:#9edbd5;font-size:11px}.history-speed-editor>div{display:grid;gap:5px}.history-speed-editor .history-speed-base{grid-template-columns:1fr}.history-speed-field{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px;border:1px solid var(--line);border-radius:7px;background:#08252c}.history-speed-field>span:first-child{display:grid!important;margin:0!important;white-space:normal!important}.history-speed-field small{color:var(--muted)}.history-speed-field>span:nth-child(2){margin:0!important}.history-speed-field input{width:70px}.history-speed-field.modified{border-color:#ffd166;background:#43371966;box-shadow:inset 3px 0 #ffd166}.history-speed-field em{grid-column:1/-1;color:#ffd166;font-size:10px;font-style:normal;font-weight:900}.restore-speeds{justify-self:start;padding:6px 9px}.repeat-settings{display:grid;gap:7px;margin:10px 0;padding:9px;border:1px solid var(--line);border-radius:9px;background:#08242b}.repeat-settings>small{color:var(--muted)}.repeat-settings>div:first-of-type{display:grid;grid-template-columns:1fr;gap:7px;align-items:end}.repeat-settings label{display:grid;gap:3px;font-size:10px;color:var(--muted)}.repeat-settings select,.repeat-settings input{width:100%;padding:7px;border:1px solid var(--line);border-radius:6px;background:#061f27;color:#fff}.repeat-settings button{padding:7px}.repeat-settings>div:first-of-type>button{width:100%}.repeat-settings #repeatList{display:grid;gap:6px}.repeat-settings .loop-rule{display:grid;gap:6px;padding:7px;border:1px solid transparent;border-radius:7px;background:#0c3037;font-size:10px}.repeat-settings .loop-rule.placing{border-color:#ffd166;box-shadow:inset 3px 0 #ffd166}.repeat-settings .loop-rule>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.repeat-settings .loop-rule>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center}.repeat-settings .loop-rule .loop-count{display:flex;grid-column:1/-1;align-items:center;gap:6px}.repeat-settings .loop-rule .loop-count input{width:58px;padding:5px 6px}.repeat-settings .loop-rule small{grid-column:1/-1;color:var(--muted)}.repeat-settings .loop-rule button[data-add-loop-point]{color:#54dfc3}.placing-loop-point #map{cursor:crosshair}.loop-point-label{color:#071d24!important;background:#ffd166!important;border-color:#ffd166!important;font-weight:900}@media(max-width:720px){.history-speed-editor .history-speed-base{grid-template-columns:1fr}.repeat-settings>div:first-of-type{grid-template-columns:1fr}}
