/* Code de Manoux */
/* Code de Manoux */
:root{--bg:var(--mx-bg);--bg-2:var(--mx-bg2, #2e2e2e);--panel:linear-gradient(180deg,rgba(255,255,255,0.045),rgba(255,255,255,0.02));--line:var(--mx-border);--line-strong:color-mix(in srgb, var(--mx-border) 150%, transparent);--text:var(--mx-text);--muted:var(--mx-muted);--olive:var(--mx-accent);--olive-soft:color-mix(in srgb, var(--mx-accent) 18%, transparent);--olive-bright:var(--mx-accent2);--danger:#ff9f96;--shadow:var(--mx-shadow);--radius:16px;--radius-sm:12px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}*{box-sizing:border-box;}html,body{height:100%;}body{margin:0;font-family:var(--font);color:var(--text);background:radial-gradient(circle at top right,color-mix(in srgb, var(--mx-accent2) 8%, transparent),transparent 24%),radial-gradient(circle at bottom left,color-mix(in srgb, var(--mx-accent) 8%, transparent),transparent 22%),linear-gradient(180deg,#3a3a3a 0%,var(--mx-bg) 100%);}a{color:inherit;text-decoration:none;}button,input,select{font:inherit;}button{cursor:pointer;}input[type="color"]{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;}.app-shell{min-height:100%;display:flex;flex-direction:column;gap:4px;padding:6px;}.layout-grid{flex:1;min-height:0;display:grid;grid-template-columns:244px minmax(0,1fr);gap:4px;}.sidebar,.workspace{min-height:0;display:flex;flex-direction:column;gap:5px;}.workspace{overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);}.panel{background:var(--panel),rgba(58,58,58,0.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(8px);}.app-header{position:relative;z-index:120;overflow:visible;display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:7px 9px;}.brand-row{display:flex;align-items:center;gap:6px;}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto;}.header-top-actions,.header-bottom-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;}.header-bottom-actions{width:100%;}.brand-row{min-width:0;}.title-block{min-width:0;}.eyebrow,.section-label{margin:0 0 4px;color:var(--olive-bright);font-size:0.54rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;}h1,h2{margin:0;letter-spacing:-0.02em;}h1{font-size:clamp(0.96rem,1.08vw,1.14rem);}h2{font-size:0.66rem;}.lede{margin:2px 0 0;max-width:620px;color:var(--muted);line-height:1.15;font-size:0.60rem;}.brand-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 6px;border-radius:999px;border:1px solid color-mix(in srgb, var(--mx-accent) 36%, transparent);background:linear-gradient(180deg,rgba(45,45,45,0.96),rgba(57,57,57,0.96));color:var(--text);transition:background 0.18s ease,border-color 0.18s ease,transform 0.18s ease;}.brand-pill:hover{background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent) 20%, transparent),color-mix(in srgb, var(--mx-accent) 12%, transparent));border-color:color-mix(in srgb, var(--mx-accent2) 64%, transparent);transform:translateY(-1px);}.nav-pill{white-space:nowrap;font-weight:600;}.signature-pill{padding-right:16px;}.header-render-btn{min-width:210px;justify-content:center;}.manoux-logo{width:22px;height:22px;display:block;border-radius:999px;object-fit:cover;flex:0 0 auto;box-shadow:0 0 0 1px color-mix(in srgb, var(--mx-accent2) 24%, transparent),0 4px 10px rgba(0,0,0,0.22);}.signature-text{display:flex;flex-direction:column;line-height:1.05;}.signature-text strong{font-size:0.78rem;}.signature-text small{color:var(--muted);font-size:0.60rem;}.signature-text.solo{justify-content:center;}.signature-text.solo small{font-size:0.64rem;color:var(--text);}.sidebar>.panel,.workspace>.panel{padding:6px;}.drop-zone{min-height:94px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:4px;border:1px dashed color-mix(in srgb, var(--mx-accent2) 28%, transparent);border-radius:calc(var(--radius) - 4px);background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent2) 6%, transparent),rgba(255,255,255,0.02));transition:border-color 0.18s ease,background 0.18s ease,transform 0.18s ease;}.drop-zone:hover,.drop-zone:focus-visible,.drop-zone.is-over{border-color:color-mix(in srgb, var(--mx-accent2) 72%, transparent);background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent2) 12%, transparent),rgba(255,255,255,0.03));outline:none;transform:translateY(-1px);}.drop-zone p{margin:0;}.drop-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb, var(--mx-accent) 16%, transparent);border:1px solid color-mix(in srgb, var(--mx-accent2) 28%, transparent);color:var(--olive-bright);font-size:1rem;}.drop-actions,.quick-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}.quick-actions.compact{margin-top:5px;justify-content:flex-start;}.button{min-height:24px;padding:0 6px;border-radius:999px;border:1px solid transparent;color:var(--text);transition:background 0.18s ease,border-color 0.18s ease,transform 0.18s ease;}.button:hover{transform:translateY(-1px);}.button.secondary{background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent) 92%, transparent),color-mix(in srgb, var(--mx-accent) 80%, #000 12%));color:#213000;font-weight:700;}.button.secondary:hover{background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent2) 96%, transparent),color-mix(in srgb, var(--mx-accent) 94%, transparent));}.button.tertiary,.trace-actions button,.trace-auto-btn{background:rgba(255,255,255,0.045);border-color:var(--line);}.button.tertiary:hover,.trace-actions button:hover,.trace-auto-btn:hover{background:color-mix(in srgb, var(--mx-accent) 16%, transparent);border-color:color-mix(in srgb, var(--mx-accent2) 50%, transparent);}.notice-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 6px;border-radius:999px;background:rgba(0,0,0,0.18);border:1px solid rgba(255,255,255,0.08);color:var(--muted);font-size:0.62rem;}.field-row{display:grid;align-items:center;gap:5px;}.field-row + .field-row{margin-top:5px;}.field-row label{font-size:0.72rem;color:var(--text);}.field-row-stack{grid-template-columns:1fr;}.field-row-range{grid-template-columns:1fr minmax(0,1fr) auto;}.analysis-color-row{position:relative;padding:6px;border-radius:14px;border:1px solid color-mix(in srgb, var(--mx-accent2) 16%, transparent);background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent2) 6%, transparent),rgba(255,255,255,0.015));box-shadow:inset 0 0 0 1px rgba(255,255,255,0.02);}.analysis-color-row::after{content:"";position:absolute;left:8px;right:8px;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb, var(--mx-accent2) 34%, transparent),transparent);}.analysis-color-label{display:inline-flex;align-items:center;gap:7px;font-weight:600;}.analysis-color-label::before{content:"◉";color:var(--olive-bright);font-size:0.72rem;line-height:1;text-shadow:0 0 10px color-mix(in srgb, var(--mx-accent2) 22%, transparent);}.analysis-color-row select{border-color:color-mix(in srgb, var(--mx-accent2) 34%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--mx-accent2) 6%, transparent);}.analysis-color-row select:focus-visible{outline:none;border-color:color-mix(in srgb, var(--mx-accent2) 72%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--mx-accent2) 14%, transparent);}.traces-panel #traceCount{min-width:30px;min-height:20px;padding:0 6px;font-size:0.66rem;font-weight:700;letter-spacing:0.01em;}select,input[type="range"]{width:100%;}select{min-width:0;padding:3px 5px;border-radius:12px;border:1px solid color-mix(in srgb, var(--mx-accent2) 18%, transparent);background:rgba(0,0,0,0.16);color:var(--text);}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb, var(--mx-accent) 14%, transparent);color:var(--olive-bright);border:1px solid color-mix(in srgb, var(--mx-accent2) 24%, transparent);white-space:nowrap;}.pill.subtle{background:rgba(255,255,255,0.04);color:var(--muted);border-color:rgba(255,255,255,0.08);}.pill.busy{background:color-mix(in srgb, var(--mx-accent2) 14%, transparent);color:var(--olive-bright);}.pill.error{background:rgba(255,159,150,0.12);color:#ffd0ca;border-color:rgba(255,159,150,0.3);}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:4px;}.trace-list,.compare-body{display:flex;flex-direction:column;gap:4px;max-height:148px;overflow:auto;}.empty-state{min-height:58px;border-radius:var(--radius-sm);border:1px dashed rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;color:var(--muted);background:rgba(0,0,0,0.1);text-align:center;padding:8px;}.trace-item{display:grid;grid-template-columns:auto 1fr auto;gap:5px;align-items:center;padding:5px 6px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,0.08);background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.015));}.trace-item.active{border-color:color-mix(in srgb, var(--mx-accent2) 38%, transparent);background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent) 16%, transparent),color-mix(in srgb, var(--mx-accent) 8%, transparent));}.trace-left{display:flex;flex-direction:column;align-items:center;gap:5px;}.trace-drag-handle{width:14px;min-height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:.72rem;letter-spacing:-0.12em;cursor:grab;user-select:none;}.trace-drag-handle:active{cursor:grabbing;}.trace-item.is-drag-source{opacity:.65;}.trace-item.drop-before{box-shadow:inset 0 2px 0 color-mix(in srgb, var(--mx-accent2) 75%, transparent);}.trace-item.drop-after{box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--mx-accent2) 75%, transparent);}.trace-swatch-button{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,0.88);box-shadow:0 0 0 2px rgba(0,0,0,0.24);padding:0;}.trace-color-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}.trace-auto-btn{min-width:34px;min-height:20px;border-radius:999px;border:1px solid rgba(255,255,255,0.08);color:var(--muted);font-size:0.62rem;padding:0 6px;}.trace-main{min-width:0;}.trace-row-top{display:flex;align-items:center;gap:6px;min-width:0;}.trace-row-top .trace-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.trace-details-toggle{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--muted);padding:0;flex:0 0 auto;}.trace-details-toggle:hover{color:var(--olive-bright);border-color:color-mix(in srgb, var(--mx-accent) 34%, transparent);}.trace-details-toggle .chevron{display:block;font-size:.78rem;line-height:1;transform:rotate(-90deg);transition:transform .18s ease,color .18s ease;}.trace-details-toggle[aria-expanded="true"] .chevron{transform:rotate(0deg);}.trace-details{margin-top:3px;padding-top:2px;border-top:1px solid rgba(255,255,255,.05);}.profile-axis-field{min-width:86px;}.profile-axis-field span{font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}#profileXAxisSelect{font-size:.63rem;line-height:1.1;padding:3px 7px;min-width:72px;}.trace-name{font-weight:700;font-size:0.70rem;line-height:1.1;}.trace-meta,.trace-status,.muted,.notice{color:var(--muted);}.trace-meta{font-size:0.60rem;margin-top:1px;line-height:1.15;}.trace-status{font-size:0.56rem;margin-top:2px;line-height:1.15;}.trace-actions{display:flex;gap:8px;}.compare-controls{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:3px;align-items:center;margin-bottom:4px;}.compare-toggle{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 6px;border-radius:12px;border:1px solid rgba(255,255,255,0.08);background:rgba(0,0,0,0.14);}.compare-toggle input{accent-color:var(--olive-bright);}.compare-sync-status{margin:0 0 4px;font-size:0.58rem;line-height:1.25;}.profile-head-actions{display:flex;align-items:center;gap:10px;}.focus-toggle-active{background:color-mix(in srgb, var(--mx-accent) 16%, transparent) !important;border-color:color-mix(in srgb, var(--mx-accent2) 46%, transparent) !important;}.map-scrubbar.compact-readout.scrub-readout{min-width:124px;}.secondary-cursor .trace-cursor-core{width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-width:2px;background:rgba(255,255,255,0.95);}.secondary-cursor .trace-cursor-halo{inset:5px;background:rgba(255,255,255,0.08);}.profile-tooltip{right:10px;left:auto !important;top:10px;min-width:186px;max-width:min(320px,calc(100% - 20px));background:rgba(28,28,28,0.94);backdrop-filter:blur(10px);}.profile-tooltip-grid{gap:2px 8px;}.profile-tooltip-grid strong{font-size:0.68rem;}.map-scrub-active .leaflet-interactive,.map-scrub-active .leaflet-pane,.map-scrub-active .leaflet-container{cursor:crosshair !important;}body.focus-map-mode .layout-grid,body.focus-profile-mode .layout-grid{grid-template-columns:1fr;}body.focus-map-mode .sidebar,body.focus-map-mode .profile-panel,body.focus-profile-mode .sidebar,body.focus-map-mode .map-panel{display:none !important;}body.focus-map-mode .workspace,body.focus-profile-mode .workspace{grid-template-rows:minmax(0,1fr);}body.focus-map-mode .map-panel,body.focus-profile-mode .profile-panel{min-height:calc(100dvh - 118px);}body.focus-map-mode .map-stack,body.focus-map-mode .map,body.focus-profile-mode .profile-container{min-height:calc(100dvh - 240px);}.trace-actions button{min-width:32px;min-height:32px;border-radius:12px;border:1px solid rgba(255,255,255,0.08);color:var(--text);}.compare-row{display:grid;grid-template-columns:auto 1.2fr repeat(4,minmax(68px,auto));gap:3px;align-items:center;padding:3px 5px;border-radius:14px;border:1px solid rgba(255,255,255,0.08);background:rgba(0,0,0,0.12);font-size:0.68rem;}.compare-row.active{border-color:color-mix(in srgb, var(--mx-accent2) 36%, transparent);background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent) 14%, transparent),color-mix(in srgb, var(--mx-accent) 5%, transparent));}.compare-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.compare-cell{display:flex;flex-direction:column;gap:3px;}.compare-cell span{color:var(--muted);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;}.compare-dot{width:12px;height:12px;border-radius:999px;border:2px solid rgba(255,255,255,0.85);}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;}.stat-card{padding:5px 6px;border-radius:14px;background:rgba(0,0,0,0.14);border:1px solid rgba(255,255,255,0.06);}.stat-card span{display:block;margin-bottom:4px;font-size:0.54rem;font-weight:700;color:var(--olive-bright);letter-spacing:0.12em;text-transform:uppercase;}.stat-card strong{font-size:0.66rem;}.map-panel,.profile-panel{display:flex;flex-direction:column;min-height:0;}.map-panel{min-height:0;}.profile-panel{min-height:0;}.map-head,.profile-head{margin-bottom:2px;}.cursor-readout{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end;}.cursor-readout span{padding:3px 5px;border-radius:999px;background:rgba(0,0,0,0.16);border:1px solid rgba(255,255,255,0.08);color:var(--muted);}.cursor-readout strong{color:var(--text);}.map-stack{position:relative;flex:1;min-height:0;height:100%;}.map{flex:1;min-height:0;height:100%;border-radius:calc(var(--radius) - 4px);overflow:hidden;border:1px solid rgba(255,255,255,0.08);}.map-3d-inline{position:absolute;inset:0;z-index:5;background:#101010;}.inline3d-hint{position:absolute;left:14px;bottom:14px;z-index:8;padding:3px 5px;border-radius:999px;background:rgba(18,18,18,0.84);border:1px solid color-mix(in srgb, var(--mx-accent2) 22%, transparent);color:var(--muted);box-shadow:0 10px 24px rgba(0,0,0,0.28);backdrop-filter:blur(10px);}.map-scrubbar{margin-top:4px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto auto;gap:3px;align-items:center;}.scrub-btn{min-width:30px;padding:0 4px;}.cursor-range{width:100%;accent-color:var(--olive-bright);}.scrub-readout{min-width:78px;padding:3px 5px;border-radius:999px;background:rgba(0,0,0,0.16);border:1px solid rgba(255,255,255,0.08);display:flex;flex-direction:column;line-height:1.05;}.scrub-readout span{color:var(--muted);font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;}.scrub-readout strong{color:var(--text);font-size:0.64rem;}.profile-container{position:relative;width:100%;min-height:0;height:100%;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent) 8%, transparent),transparent 42%),rgba(0,0,0,0.1);border:1px solid rgba(255,255,255,0.08);}#profileSvg{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none;}.profile-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);}.profile-tooltip{position:absolute;z-index:25;min-width:150px;max-width:250px;pointer-events:none;padding:5px 7px;border-radius:12px;border:1px solid color-mix(in srgb, var(--mx-accent2) 24%, transparent);background:rgba(34,34,34,0.96);box-shadow:0 12px 28px rgba(0,0,0,0.28);font-size:0.56rem;line-height:1.15;}.profile-tooltip-grid{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;}.profile-tooltip-grid span:nth-child(odd){color:var(--muted);}.trace-cursor-icon-wrapper{background:transparent;border:0;}.trace-cursor-icon-wrapper .trace-cursor-halo{position:absolute;inset:2px;border-radius:999px;background:rgba(255,255,255,0.16);border:1px solid rgba(255,255,255,0.5);box-shadow:0 0 0 1px rgba(0,0,0,0.16);}.trace-cursor-icon-wrapper .trace-cursor-core{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:999px;background:#ffffff;border:3px solid var(--trace-color,var(--mx-accent));box-shadow:0 0 0 2px rgba(0,0,0,0.18);}.notice{margin:6px 0 0;font-size:0.68rem;line-height:1.25;}.leaflet-container{background:#262626;font:inherit;}.leaflet-control-attribution,.leaflet-control-zoom a{background:rgba(43,43,43,0.92) !important;color:var(--muted) !important;border-color:rgba(255,255,255,0.08) !important;}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#2e2e2e;color:var(--text);}@media (min-width:1100px){html,body{overflow:hidden;}body{height:100dvh;}.app-shell{height:100dvh;min-height:100dvh;overflow:hidden;padding:8px;gap:10px;}.layout-grid{min-height:0;overflow:hidden;align-items:stretch;}.sidebar{overflow:auto;padding-right:2px;}.workspace{min-height:0;}}@media (max-width:1280px){.layout-grid{grid-template-columns:330px minmax(0,1fr);}}@media (max-width:1060px){.app-header{flex-direction:column;}.header-actions{align-items:stretch;margin-left:0;}.header-top-actions,.header-bottom-actions{justify-content:flex-start;}.layout-grid{display:flex;flex-direction:column;}.workspace{order:1;}.sidebar{order:2;}}@media (max-width:760px){.app-shell{padding:8px;gap:10px;}.sidebar>.panel,.workspace>.panel,.app-header{padding:12px;}.brand-row,.quick-actions.compact,.drop-actions,.panel-head,.header-top-actions,.header-bottom-actions{flex-direction:column;align-items:stretch;}.field-row-range{grid-template-columns:1fr;}.stats-grid{grid-template-columns:1fr 1fr;}.cursor-readout span{width:100%;}.map{min-height:42vh;}.profile-container{min-height:31vh;}.trace-item{grid-template-columns:auto 1fr;}.trace-actions{grid-column:1 / -1;justify-content:flex-end;}.compare-row{grid-template-columns:auto 1fr 1fr 1fr;grid-template-areas:"dot name name name" "dplus dist duration speed";}.compare-row>:nth-child(1){grid-area:dot;}.compare-row>:nth-child(2){grid-area:name;}}.map-head-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;}.map-head-actions.button[aria-pressed="true"]{background:color-mix(in srgb, var(--mx-accent) 18%, transparent);border-color:color-mix(in srgb, var(--mx-accent2) 46%, transparent);}.modal[hidden]{display:none;}.modal{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:18px;}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.72);backdrop-filter:blur(4px);}.modal-dialog{position:relative;width:min(1280px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;padding:16px;display:flex;flex-direction:column;gap:14px;}.modal-head,.modal-actions{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}.modal-actions{margin-left:auto;justify-content:flex-end;}.three-stage{position:relative;min-height:420px;border-radius:18px;overflow:hidden;border:1px solid color-mix(in srgb, var(--mx-accent2) 18%, transparent);background:linear-gradient(180deg,rgba(0,0,0,0.26),rgba(255,255,255,0.02));}.three-map-shell{position:absolute;inset:0;}.render3d-map,.render3d-svg{position:absolute;inset:0;width:100%;height:100%;}.render3d-map{background:#141414;}.render3d-svg{pointer-events:none;overflow:visible;}.three-summary{border-top:1px solid color-mix(in srgb, var(--mx-accent2) 14%, transparent);padding-top:12px;}.three-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}body.modal-open{overflow:hidden;}@media (max-width:900px){.three-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:640px){.modal{padding:10px;}.modal-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px);}.three-stage{min-height:300px;}.three-summary-grid{grid-template-columns:1fr;}}.render3d-map .maplibregl-ctrl-bottom-left,.render3d-map .maplibregl-ctrl-bottom-right,.render3d-map .maplibregl-ctrl-top-right{display:none !important;}.render3d-map .maplibregl-canvas{outline:none;}.render3d-map{background:#101010;}.render3d-svg{display:none;}.three-map-shell{position:relative;min-height:clamp(320px,58vh,720px);}.three-stage{position:relative;}.three-hud{position:absolute;left:16px;top:16px;z-index:4;display:flex;gap:10px;flex-wrap:wrap;}.three-hud.pill{background:rgba(15,15,15,.72);backdrop-filter:blur(10px);}.modal-dialog{max-width:min(1400px,calc(100vw - 32px));}.mini-field{display:flex;flex-direction:column;gap:6px;min-width:120px;}.mini-field span{font-size:0.68rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--olive-bright);}.mini-field select{min-height:38px;padding:8px 12px;border-radius:12px;background:rgba(0,0,0,0.18);}.modal-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}#map{position:relative;z-index:1;}.profile-panel{overflow:visible;}.profile-container{overflow:visible;}@media (max-height:930px) and (min-width:1100px),(max-width:1440px) and (min-width:1100px){.app-shell{padding:12px;gap:8px;}.app-header{padding:9px 11px;gap:8px;}.lede{margin-top:6px;max-width:760px;font-size:0.93rem;line-height:1.36;}.layout-grid{grid-template-columns:290px minmax(0,1fr);gap:10px;}.sidebar,.workspace{gap:10px;}.sidebar>.panel,.workspace>.panel{padding:7px;}.drop-zone{min-height:126px;gap:8px;}.trace-list,.compare-body{max-height:150px;}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.stat-card{padding:8px;}.workspace{grid-template-rows:minmax(0,1fr) minmax(0,1fr);}.map{min-height:0;}.profile-container{min-height:0;}.cursor-readout span{padding:5px 7px;font-size:0.72rem;}}@media (max-width:1180px){.layout-grid{display:flex;flex-direction:column;}.workspace{order:1;}.sidebar{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.sidebar>.panel:nth-child(1),.sidebar>.panel:nth-child(3),.sidebar>.panel:nth-child(4),.sidebar>.panel:nth-child(5){grid-column:span 1;}.sidebar>.panel:nth-child(2){grid-column:span 2;}.workspace{grid-template-rows:minmax(0,1fr) minmax(0,1fr);}.map{min-height:0;}.profile-container{min-height:0;}}@media (max-width:860px){.sidebar{grid-template-columns:1fr;}.modal-toolbar,.modal-actions{width:100%;justify-content:flex-start;}.mini-field{min-width:0;flex:1 1 140px;}.compare-controls{grid-template-columns:1fr;}}@media (max-width:760px){.app-header{gap:10px;}.profile-head-actions{width:100%;justify-content:flex-start;}.header-bottom-actions .header-render-btn{width:100%;min-width:0;}.modal-toolbar{flex-direction:column;align-items:stretch;}.stats-grid{grid-template-columns:1fr 1fr;}}@media (max-width:1099px){html,body{overflow:auto;}.app-shell{height:auto;min-height:100%;overflow:visible;}.workspace{grid-template-rows:minmax(240px,42vh) minmax(180px,32vh);}}@media (max-width:980px){.map-scrubbar{grid-template-columns:auto auto minmax(0,1fr) auto auto;}.scrub-readout{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center;}}@media (max-width:760px){.map-scrubbar{grid-template-columns:repeat(4,minmax(0,1fr));}.cursor-range-wrap{grid-column:1 / -1;order:5;}.scrub-readout{grid-column:1 / -1;order:6;}}.toolbar-cluster{display:inline-flex;align-items:center;gap:0;border:1px solid rgba(255,255,255,0.08);border-radius:999px;overflow:hidden;background:rgba(0,0,0,0.14);}.toolbar-cluster.button{min-width:0;border:0;border-right:1px solid rgba(255,255,255,0.08);border-radius:0;background:transparent;}.toolbar-cluster.button:last-child{border-right:0;}.toolbar-cluster.button:hover,.toolbar-cluster.button[aria-pressed="true"]{background:color-mix(in srgb, var(--mx-accent) 16%, transparent);}.map-head-actions{align-items:center;gap:6px;}.map-head-actions>.cursor-readout{margin-left:auto;}html{scrollbar-color:color-mix(in srgb, var(--mx-accent) 58%, transparent) rgba(255,255,255,0.06);scrollbar-width:thin;}*::-webkit-scrollbar{width:10px;height:10px;}*::-webkit-scrollbar-track{background:rgba(255,255,255,0.04);border-radius:999px;}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent) 75%, transparent),color-mix(in srgb, var(--mx-accent2) 55%, transparent));border-radius:999px;border:2px solid rgba(0,0,0,0);background-clip:padding-box;}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent2) 84%, transparent),color-mix(in srgb, var(--mx-accent) 70%, transparent));}@media (min-width:1100px){.cursor-readout span{font-size:0.60rem;}.map-panel,.profile-panel{min-height:0;}.map-stack,.profile-container{min-height:0;}}@media (max-width:760px){.toolbar-cluster{width:100%;justify-content:stretch;}.toolbar-cluster.button{flex:1 1 0;justify-content:center;}}.app-header{align-items:center;}.title-block{max-width:720px;}.lede{max-width:760px;}.map-head .muted,.profile-head .muted{font-size:0.64rem;line-height:1.15;margin-top:1px;}.cursor-readout span{padding:3px 6px;font-size:0.66rem;}.cursor-readout strong{font-size:0.70rem;}.panel-head h2{line-height:1.05;}.toolbar-cluster .button,.profile-head-actions .button,.scrub-btn{min-height:26px;font-size:0.68rem;padding:0 8px;}.cursor-range{height:18px;}.drop-zone strong{font-size:0.83rem;}.drop-zone p,.muted,.notice,.trace-meta,.trace-status,.compare-sync-status{font-size:0.64rem;}.trace-name{font-size:0.76rem;}.field-row label{letter-spacing:0.01em;}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;}.stat-card{padding:6px 7px;}.stat-card strong{font-size:0.76rem;}.stat-card span{margin-bottom:4px;}.sidebar{overflow:auto;}.workspace{grid-template-rows:minmax(0,60fr) minmax(0,40fr);}.map-stack,.profile-container{height:100%;}.map-panel .panel-head,.profile-panel .panel-head{margin-bottom:4px;}.map-panel,.profile-panel{padding-bottom:6px;}.profile-tooltip{min-width:136px;max-width:182px;padding:4px 6px;font-size:0.58rem;}.profile-tooltip-grid{gap:2px 6px;}.profile-tooltip-grid strong{font-size:0.66rem;}#profileContainer{overflow:hidden;}@media (min-width:1100px){.app-shell{padding:7px;gap:7px;}.layout-grid{grid-template-columns:248px minmax(0,1fr);gap:7px;}.sidebar,.workspace{gap:7px;}.sidebar>.panel,.workspace>.panel{padding:7px;}.app-header{padding:7px 10px;}.brand-pill,.button{font-size:0.72rem;}.header-render-btn{min-width:168px;}.lede{font-size:0.70rem;line-height:1.18;margin-top:2px;}.trace-list,.compare-body{max-height:138px;}.map-head-actions{gap:6px;}.map-head .muted,.profile-head .muted{display:none;}.map-scrubbar{margin-top:4px;gap:4px;}}@media (max-width:1280px) and (min-width:1100px){.layout-grid{grid-template-columns:238px minmax(0,1fr);}}@media (max-width:1099px){.workspace{grid-template-rows:minmax(240px,52vh) minmax(180px,35vh);}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:900px){.app-header{padding:8px 10px;}.lede{display:none;}.workspace{grid-template-rows:minmax(250px,50vh) minmax(170px,28vh);}}@media (max-width:760px){.sidebar>.panel,.workspace>.panel,.app-header{padding:9px;}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cursor-readout{display:none;}.workspace{grid-template-rows:minmax(220px,46vh) minmax(150px,24vh);}}.panel-head>div>.section-label{margin-bottom:2px;}.controls-panel .field-row{gap:3px;}.controls-panel select,.controls-panel input[type="range"]{margin-top:0;}.controls-panel .pill{font-size:.56rem;}.map-head .muted,.profile-head .muted{font-size:.56rem;line-height:1.1;margin-top:1px;}.map-head h2,.profile-head h2{font-size:.64rem;}.map-head .section-label,.profile-head .section-label{font-size:.50rem;}.map-head-actions .button,.profile-head-actions .button,.toolbar-cluster .button{min-height:22px;font-size:.60rem;padding:0 6px;}.cursor-readout span{min-height:20px;font-size:.56rem;padding:2px 5px;}.trace-actions button{min-width:26px;min-height:24px;font-size:.65rem;}.trace-left{gap:4px;}.compare-row{font-size:.62rem;gap:3px;padding:4px 5px;}.compare-cell span{font-size:.56rem;}.sidebar{gap:4px;}.sidebar .panel-head h2{font-size:.66rem;}.stats-panel .panel-head .pill{font-size:.54rem;}.trace-list,.compare-body{max-height:140px;}.map-panel .panel-head,.profile-panel .panel-head{align-items:center;}.map-panel .panel-head>div,.profile-panel .panel-head>div{min-width:0;}.lede{display:block;}@media (min-width:1100px){.workspace{grid-template-rows:minmax(0,60%) minmax(0,40%);}.map-stack{min-height:0;}.profile-container{min-height:0;}.map-head .muted,.profile-head .muted{display:none;}.sidebar{padding-right:1px;}.controls-panel .field-row label,.compare-sync-status,.trace-meta,.trace-status{font-size:.56rem;}}@media (max-height:930px) and (min-width:1100px){.app-header{padding:6px 8px;}.lede{display:none;}.layout-grid{grid-template-columns:236px minmax(0,1fr);}.trace-list,.compare-body{max-height:124px;}}@media (max-width:1180px){.sidebar{gap:8px;}.workspace{grid-template-rows:minmax(220px,56vh) minmax(170px,30vh);}}@media (max-width:760px){.map-head .muted,.profile-head .muted{display:none;}.cursor-readout span{font-size:.58rem;}}#traceList.empty-state,#compareBody.empty-state{font-size:0.56rem;line-height:1.15;padding:6px;}.compare-toggle span{font-size:0.60rem;line-height:1;}#compareTraceSelect,#basemapSelect{font-size:0.62rem;line-height:1.1;padding-top:2px;padding-bottom:2px;}#compareSyncStatus{font-size:0.54rem;line-height:1.15;}.export-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:4px;}.export-actions .button{min-width:0;justify-content:center;font-size:.58rem;padding:0 5px;}.map-credit-overlay{position:absolute;right:10px;bottom:10px;z-index:12;max-width:min(460px,calc(100% - 20px));padding:6px 10px;border-radius:999px;background:rgba(17,18,16,.76);border:1px solid color-mix(in srgb, var(--mx-accent2) 22%, transparent);backdrop-filter:blur(8px);font-size:.68rem;line-height:1.28;color:rgba(243,245,239,.88);box-shadow:0 8px 24px rgba(0,0,0,.24);pointer-events:none;}.map-credit-overlay strong{color:var(--text);font-weight:700;}.modal-credit-overlay{right:12px;bottom:12px;}.profile-km-marker{cursor:pointer;}.profile-km-marker text{fill:rgba(243,245,239,.72);font-size:10px;font-family:Inter,system-ui,sans-serif;pointer-events:none;}.profile-km-marker circle{fill:color-mix(in srgb, var(--mx-accent2) 90%, transparent);stroke:#101010;stroke-width:1.2;}.profile-repere-line{stroke:rgba(255,255,255,.18);stroke-width:1;stroke-dasharray:2 6;}.profile-repere-label{fill:rgba(243,245,239,.6);font-size:10px;font-family:Inter,system-ui,sans-serif;text-anchor:middle;}.profile-pause-band{opacity:.78;}.profile-pause-band rect{fill:rgba(255,213,79,.18);stroke:rgba(255,213,79,.36);stroke-width:.8;}.profile-axis-band rect{opacity:.82;}.trace-legend-note{font-size:.54rem;color:var(--muted);margin-top:4px;line-height:1.15;}@media (max-width:760px){.export-actions{grid-template-columns:1fr;}.map-credit-overlay{font-size:.6rem;left:10px;right:10px;padding:6px 10px;line-height:1.26;}}#importNameModal .modal-dialog{width:min(720px,calc(100vw - 28px));max-width:min(720px,calc(100vw - 28px));padding:14px;gap:12px;}.import-name-list{display:flex;flex-direction:column;gap:8px;max-height:min(58vh,460px);overflow:auto;padding-right:2px;}.import-name-row{display:grid;grid-template-columns:1fr;gap:4px;padding:8px 9px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12);}.import-name-label{font-size:.56rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--olive-bright);}.import-name-input{width:100%;min-height:34px;padding:7px 10px;border-radius:12px;border:1px solid color-mix(in srgb, var(--mx-accent2) 18%, transparent);background:rgba(0,0,0,.18);color:var(--text);font:inherit;font-size:.74rem;}.import-name-input:focus{outline:none;border-color:color-mix(in srgb, var(--mx-accent2) 48%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--mx-accent) 14%, transparent);}.import-name-meta{font-size:.58rem;line-height:1.2;color:var(--muted);}.import-modal-actions{width:100%;justify-content:flex-end;}#colorModeSelect{font-size:.58rem;line-height:1.05;padding-top:2px;padding-bottom:2px;}.profile-legend{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:5px;padding:5px 7px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12);}.profile-legend[hidden]{display:none !important;}.profile-legend-title{font-size:.54rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--olive-bright);padding-top:2px;}.profile-legend-items{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;flex:1 1 auto;}.legend-item{display:inline-flex;align-items:center;gap:5px;font-size:.58rem;line-height:1.1;color:var(--text);white-space:nowrap;}.legend-line{display:inline-block;width:18px;height:0;border-top:2.5px solid var(--legend-color,var(--olive-bright));border-radius:999px;}.legend-line.speed{border-top:2px dashed rgba(255,255,255,.92);}.legend-slope{display:inline-grid;grid-template-columns:repeat(3,6px);gap:1px;align-items:end;}.legend-slope b{display:block;width:6px;height:8px;border-radius:2px;}.legend-slope .down{background:#3c82f6;}.legend-slope .flat{background:var(--mx-accent2);}.legend-slope .up{background:#ff7a45;}.legend-vline{display:inline-block;width:0;height:12px;border-left:2px dashed rgba(255,255,255,.55);}.legend-pause{display:inline-block;width:8px;height:12px;border-radius:3px;background:rgba(255,213,79,.22);border:1px solid rgba(255,213,79,.42);}.profile-legend-note{flex:1 1 100%;font-size:.53rem;line-height:1.15;color:var(--muted);}@media (max-width:760px){.profile-legend{padding:5px 6px;gap:6px;}.legend-item{font-size:.54rem;}.profile-legend-note{font-size:.5rem;}#importNameModal .modal-dialog{width:calc(100vw - 20px);}}.field-row label{font-size:.74rem;}select{font-size:.68rem;padding:4px 7px;border-radius:13px;}#compareTraceSelect,#basemapSelect,#colorModeSelect{font-size:.68rem;line-height:1.15;padding-top:3px;padding-bottom:3px;}.compare-toggle span{font-size:.64rem;}#traceList.empty-state,#compareBody.empty-state{font-size:.60rem;line-height:1.2;}.muted,.notice,.trace-meta,.trace-status,.compare-sync-status{font-size:.66rem;}.trace-name{font-size:.78rem;}.profile-legend{padding:6px 8px;gap:8px 10px;}.profile-legend-title{font-size:.58rem;}.legend-item{font-size:.62rem;gap:6px;}.profile-legend-note{font-size:.58rem;line-height:1.2;}.color-mode-legend{margin-top:5px;padding:6px 7px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12);display:flex;flex-direction:column;gap:6px;}.color-mode-legend[hidden]{display:none !important;}.color-mode-legend-title{font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--olive-bright);}.color-mode-legend-items{display:flex;flex-wrap:wrap;gap:6px;}.color-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);font-size:.61rem;line-height:1.1;color:var(--text);}.color-chip-swatch{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 1px rgba(255,255,255,.24) inset,0 0 0 1px rgba(0,0,0,.18);background:var(--swatch,var(--mx-accent2));flex:0 0 auto;}.color-mode-legend-note{font-size:.58rem;line-height:1.2;color:var(--muted);}@media (max-width:760px){.field-row label{font-size:.72rem;}select,#compareTraceSelect,#basemapSelect,#colorModeSelect{font-size:.66rem;}.legend-item{font-size:.60rem;}.profile-legend-note,.color-mode-legend-note{font-size:.56rem;}.color-chip{font-size:.59rem;}}.profile-head-actions{gap:6px;}#toggleMeasureBtn[aria-pressed="true"]{background:color-mix(in srgb, var(--mx-accent) 22%, transparent);border-color:color-mix(in srgb, var(--mx-accent2) 55%, transparent);color:#eef5cb;}.profile-measure-hud{position:absolute;left:10px;bottom:10px;z-index:8;max-width:min(360px,calc(100% - 20px));padding:10px 12px;border-radius:14px;background:rgba(12,14,13,0.88);border:1px solid rgba(255,255,255,0.08);box-shadow:0 12px 26px rgba(0,0,0,0.26);backdrop-filter:blur(6px);}.profile-measure-hud strong{color:#f4f7ef;font-weight:700;}.profile-measure-hud .measure-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb, var(--mx-accent2) 90%, transparent);}.profile-measure-hud .measure-grid{display:grid;grid-template-columns:auto auto;gap:4px 10px;font-size:11.5px;}.profile-measure-hud .measure-grid span{color:rgba(244,247,239,.66);}.profile-measure-hud .measure-grid strong{justify-self:end;}.segments-body{display:grid;gap:8px;}.segment-summary{font-size:11px;color:rgba(244,247,239,.68);}.segment-list{display:grid;gap:6px;}.segment-item{display:grid;grid-template-columns:auto 1fr auto;gap:8px 10px;align-items:center;padding:8px 10px;border-radius:14px;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.03);cursor:pointer;}.segment-item:hover{border-color:color-mix(in srgb, var(--mx-accent2) 28%, transparent);background:rgba(255,255,255,0.05);}.segment-badge{min-width:58px;text-align:center;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}.segment-badge.climb{background:rgba(255,140,90,.16);color:#ffb38b;}.segment-badge.descent{background:rgba(100,180,255,.14);color:#93c8ff;}.segment-badge.flat{background:color-mix(in srgb, var(--mx-accent2) 13%, transparent);color:#dced9d;}.segment-main{min-width:0;}.segment-title{font-size:12px;font-weight:700;color:#f3f6ef;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}.segment-title .segment-rank{color:rgba(244,247,239,.52);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.08em;}.segment-meta{margin-top:3px;font-size:11px;color:rgba(244,247,239,.68);line-height:1.3;}.segment-go{font-size:14px;color:color-mix(in srgb, var(--mx-accent2) 95%, transparent);}.trace-segment-start,.trace-segment-end{stroke-width:2;}@media (max-width:1280px){.profile-measure-hud{max-width:280px;}.segment-item{padding:7px 9px;}}.session-actions{margin-top:5px;}.session-status{margin-top:5px;font-size:.54rem;line-height:1.15;}.compare-delta[hidden]{display:none !important;}.compare-delta{margin:4px 0 6px;padding:5px 6px;border-radius:12px;border:1px solid color-mix(in srgb, var(--mx-accent2) 16%, transparent);background:rgba(0,0,0,.14);}.compare-delta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;}@media (min-width:1280px){.compare-delta-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}.compare-delta-card{padding:5px 6px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);}.compare-delta-card span{display:block;font-size:.52rem;color:var(--muted);margin-bottom:2px;}.compare-delta-card strong{display:block;font-size:.66rem;color:var(--text);}.km-map-icon{width:20px;height:20px;display:grid;place-items:center;}.km-map-icon span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:rgba(8,10,10,.82);border:1px solid color-mix(in srgb, var(--mx-accent2) 38%, transparent);color:var(--olive-bright);font-size:.54rem;font-weight:700;box-shadow:0 4px 10px rgba(0,0,0,.22);}.profile-head-actions .button:disabled,.session-actions .button:disabled{opacity:.45;cursor:default;transform:none;}@media (max-width:760px){.compare-delta-grid{grid-template-columns:1fr;}.session-actions{display:grid;grid-template-columns:1fr;}}.mini-checks{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}.mini-check{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);font-size:.62rem;color:var(--text);}.mini-check input{accent-color:var(--olive-bright);margin:0;}#displayPresetSelect{font-size:.67rem;line-height:1.15;padding-top:3px;padding-bottom:3px;}.profile-brush-zoom{fill:color-mix(in srgb, var(--mx-accent2) 14%, transparent);stroke:color-mix(in srgb, var(--mx-accent2) 82%, transparent);stroke-width:1.2;stroke-dasharray:5 4;}.zoom-mode-active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--mx-accent2) 18%, transparent);}.zoom-mode-active .profile-tooltip{opacity:.96;}.auto-preset-mode .controls-panel{border-color:color-mix(in srgb, var(--mx-accent2) 12%, transparent);}.compact-preset-mode .sidebar{gap:4px;}.compact-preset-mode .sidebar>.panel,.compact-preset-mode .workspace>.panel{padding:5px;}.compact-preset-mode .trace-list,.compact-preset-mode .compare-body{max-height:126px;}.compare-preset-mode .compare-panel{border-color:color-mix(in srgb, var(--mx-accent2) 26%, transparent);box-shadow:0 14px 30px rgba(0,0,0,.24),0 0 0 1px color-mix(in srgb, var(--mx-accent2) 8%, transparent) inset;}.terrain-preset-mode .map-panel{border-color:color-mix(in srgb, var(--mx-accent2) 26%, transparent);}#zoomMeasureBtn,#resetProfileZoomBtn{min-width:72px;}@media (max-width:760px){.mini-checks{gap:6px;}.mini-check{font-size:.6rem;padding:3px 6px;}#zoomMeasureBtn,#resetProfileZoomBtn{min-width:0;}}#statusPill{font-size:.54rem;padding:0 7px;min-height:24px;letter-spacing:.08em}.leaflet-control-attribution{font-size:.50rem !important;padding:1px 4px !important}.leaflet-control-attribution a{font-size:inherit !important}.map-scrubbar{grid-template-columns:auto auto auto minmax(0,1fr) auto auto auto;gap:4px}.scrub-play-btn{min-width:34px;font-weight:700}.cursor-range-wrap{position:relative;height:22px;display:flex;align-items:center;cursor:grab;touch-action:none;user-select:none}.cursor-range-wrap.is-disabled{opacity:.45;cursor:not-allowed}.cursor-range{position:absolute;inset:0;opacity:.001;pointer-events:none;width:100%;height:100%;margin:0}.cursor-range-track,.cursor-range-fill{position:absolute;left:0;top:50%;transform:translateY(-50%);height:6px;border-radius:999px;pointer-events:none}.cursor-range-track{right:0;background:linear-gradient(90deg,color-mix(in srgb, var(--mx-accent2) 18%, transparent),color-mix(in srgb, var(--mx-accent) 46%, transparent));border:1px solid rgba(255,255,255,.08)}.cursor-range-fill{width:0;background:linear-gradient(90deg,color-mix(in srgb, var(--mx-accent2) 55%, transparent),color-mix(in srgb, var(--mx-accent) 92%, transparent));box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}.cursor-range-handle{position:absolute;left:0;top:50%;width:18px;height:18px;border-radius:999px;transform:translate(-50%,-50%);background:#f4f7ef;border:3px solid color-mix(in srgb, var(--mx-accent) 95%, transparent);box-shadow:0 0 0 2px rgba(0,0,0,.22);pointer-events:none}.cursor-range-wrap:hover{cursor:grab}.cursor-range-wrap.is-dragging{cursor:grabbing}.cursor-range-wrap.is-dragging .cursor-range-handle{box-shadow:0 0 0 3px color-mix(in srgb, var(--mx-accent2) 18%, transparent),0 0 0 2px rgba(0,0,0,.22)}body.scrub-slider-dragging,body.scrub-slider-dragging *{cursor:grabbing !important}.export-menu-wrap{position:relative;display:inline-flex}.header-export-btn{min-width:116px;justify-content:center}.export-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;display:grid;gap:4px;min-width:148px;padding:6px;border-radius:12px;background:rgba(22,23,21,.96);border:1px solid color-mix(in srgb, var(--mx-accent2) 22%, transparent);box-shadow:0 12px 28px rgba(0,0,0,.28);backdrop-filter:blur(10px)}.export-menu[hidden]{display:none !important}.export-menu-item{min-height:30px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:var(--text);font:600 .66rem/1 Inter,system-ui,sans-serif;text-align:left;cursor:pointer}.export-menu-item:hover{background:color-mix(in srgb, var(--mx-accent) 14%, transparent);border-color:color-mix(in srgb, var(--mx-accent2) 28%, transparent)}.profile-map-selection{filter:drop-shadow(0 0 3px rgba(0,0,0,.24))}body.presentation-preset-mode .sidebar{opacity:.9}body.presentation-preset-mode .controls-panel,body.presentation-preset-mode .compare-panel{display:none}body.presentation-preset-mode .layout-grid{grid-template-columns:220px minmax(0,1fr)}@media (max-width:760px){.map-scrubbar{grid-template-columns:repeat(4,minmax(0,1fr))}.scrub-play-btn{order:3}.cursor-range-wrap{grid-column:1 / -1;order:5}.scrub-readout{grid-column:1 / -1;order:6}.export-menu{left:0;right:auto}}#statusPill{font-size:.52rem;padding:1px 6px;min-height:20px}.leaflet-control-attribution{font-size:.44rem !important;padding:1px 3px !important;opacity:.86}.export-menu-wrap{position:relative;display:inline-flex;z-index:160}.export-menu{z-index:1200}.profile-axis-dock{position:absolute;right:12px;bottom:10px;z-index:26;pointer-events:auto;}.profile-axis-dock .profile-axis-field{min-width:92px;padding:4px 6px;border-radius:10px;background:rgba(21,22,20,.82);border:1px solid color-mix(in srgb, var(--mx-accent2) 18%, transparent);backdrop-filter:blur(8px);box-shadow:0 8px 20px rgba(0,0,0,.24);}.profile-axis-dock .profile-axis-field span{font-size:.5rem;}.profile-axis-dock .profile-axis-field select{min-height:24px;font-size:.62rem;padding:0 20px 0 6px;}.profile-head-actions .profile-axis-field{display:none;}.leaflet-control-attribution{font-size:.38rem !important;padding:1px 2px !important;opacity:.82}\.leaflet-control-attribution a{font-size:inherit !important;}#statusPill{font-size:.48rem;padding:0 6px;min-height:18px;}.export-style-field{display:grid;gap:4px;padding:6px 6px 4px;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025)}.export-style-field span{font:700 .53rem/1 Inter,system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--olive-bright)}.export-style-field select{min-height:28px;padding:0 8px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);color:var(--text);font:600 .68rem/1 Inter,system-ui,sans-serif}.profile-readout{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;margin-top:6px;padding:6px 8px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.028)}.profile-readout[hidden]{display:none !important}.profile-readout .readout-chip{display:grid;gap:1px;padding:4px 6px;border-radius:10px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.05)}.profile-readout .readout-chip span{font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.profile-readout .readout-chip strong{font-size:.72rem;color:var(--text)}.profile-readout .readout-chip em{font-style:normal;font-size:.62rem;color:rgba(244,247,239,.72)}.compare-mode-note{margin-top:6px;padding:6px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);font-size:.6rem;line-height:1.25;color:rgba(244,247,239,.74)}.compare-insight{margin-top:6px;padding:7px 9px;border-radius:12px;border:1px solid color-mix(in srgb, var(--mx-accent2) 16%, transparent);background:linear-gradient(135deg,color-mix(in srgb, var(--mx-accent) 10%, transparent),rgba(255,255,255,.03));font-size:.64rem;line-height:1.28;color:var(--text)}.compare-insight strong{color:var(--olive-bright)}.profile-guideline-alt,.profile-guideline-speed{pointer-events:none}.profile-guideline-alt{stroke:rgba(255,255,255,.18);stroke-width:1.2;stroke-dasharray:3 4}.profile-guideline-speed{stroke:rgba(255,210,96,.28);stroke-width:1.1;stroke-dasharray:4 4}.profile-cursor-label{font:600 10px/1 Inter,system-ui,sans-serif;fill:#f4f7ef;paint-order:stroke;stroke:rgba(0,0,0,.55);stroke-width:3px;stroke-linejoin:round}.compare-controls{grid-template-columns:repeat(3,minmax(0,1fr)) !important}@media (max-width:860px){.compare-controls{grid-template-columns:1fr !important}.profile-readout{grid-template-columns:repeat(2,minmax(0,1fr))}}.toggle-3d-btn{min-width:112px;font-weight:700;color:var(--text);border-color:color-mix(in srgb, var(--mx-accent2) 28%, transparent) !important;background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent) 18%, transparent),color-mix(in srgb, var(--mx-accent) 8%, transparent)) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 18px rgba(0,0,0,.18);}.toggle-3d-btn:hover,.toggle-3d-btn[aria-pressed="true"]{border-color:color-mix(in srgb, var(--mx-accent2) 42%, transparent) !important;background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent2) 22%, transparent),color-mix(in srgb, var(--mx-accent) 14%, transparent)) !important;color:#f5f7ef;}.toggle-3d-btn[aria-pressed="true"]{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 26px rgba(0,0,0,.22);}.stats-panel .panel-head{align-items:flex-start;gap:8px}.stats-panel .panel-head h2{line-height:1.15}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}.stat-card{min-height:48px;padding:6px 8px;display:flex;flex-direction:column;justify-content:space-between;gap:3px;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}.stat-card.key{background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent) 16%, transparent),rgba(0,0,0,.18));border-color:color-mix(in srgb, var(--mx-accent2) 22%, transparent);}.stat-card.wide{grid-column:1 / -1}.stat-card span{margin-bottom:1px;font-size:.5rem;letter-spacing:.11em;color:color-mix(in srgb, var(--mx-accent2) 92%, transparent);}.stat-card strong{font-size:.74rem;line-height:1.1;color:var(--text);}@media (max-width:760px){.toggle-3d-btn{min-width:0}.stat-card{min-height:44px;padding:5px 7px}.stat-card strong{font-size:.7rem}}.map-scrubbar{margin-top:6px;}#terrainExaggerationValue{min-width:58px;text-align:center;}:root{--panel-premium:linear-gradient(180deg,rgba(255,255,255,0.062),rgba(255,255,255,0.022));--shadow-premium:0 18px 44px rgba(0,0,0,0.26);}body{background:radial-gradient(circle at 100% 0%,color-mix(in srgb, var(--mx-accent2) 11%, transparent),transparent 22%),radial-gradient(circle at 0% 100%,color-mix(in srgb, var(--mx-accent) 11%, transparent),transparent 20%),radial-gradient(circle at 50% 24%,rgba(255,255,255,0.03),transparent 30%),linear-gradient(180deg,#3b3b3b 0%,var(--mx-bg) 100%);}.app-shell{gap:6px;padding:8px;}.layout-grid{gap:6px;grid-template-columns:256px minmax(0,1fr);}.sidebar,.workspace{gap:6px;}.panel{background:var(--panel-premium),rgba(56,56,56,0.94);border:1px solid color-mix(in srgb, var(--mx-accent2) 18%, transparent);box-shadow:var(--shadow-premium),inset 0 1px 0 rgba(255,255,255,0.03);}.sidebar>.panel,.workspace>.panel{padding:8px;}.app-header{padding:9px 12px;}.eyebrow,.section-label{font-size:.52rem;letter-spacing:.18em;color:#d3e97a;}.section-label{margin-bottom:3px;}h1{font-size:clamp(1.02rem,1.08vw,1.22rem);}h2{font-size:.74rem;line-height:1.14;}.lede{margin-top:4px;font-size:.62rem;line-height:1.28;color:rgba(243,245,239,.76);}.brand-pill{min-height:34px;padding:0 10px;border-color:color-mix(in srgb, var(--mx-accent2) 22%, transparent);background:linear-gradient(180deg,rgba(46,46,46,.98),rgba(58,58,58,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 22px rgba(0,0,0,.18);}.signature-text strong{font-size:.8rem;}.signature-text small{font-size:.58rem;letter-spacing:.04em;}.panel-head{gap:8px;margin-bottom:7px;}.panel-head h2{font-size:.72rem;}.drop-zone{min-height:104px;border-radius:14px;}.drop-icon{width:38px;height:38px;font-size:1.06rem;}.button{min-height:28px;padding:0 10px;font-size:.66rem;font-weight:600;letter-spacing:.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}.button.secondary{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 22px rgba(56,72,5,.22);}.button.tertiary,.trace-actions button,.trace-auto-btn{background:linear-gradient(180deg,rgba(255,255,255,0.055),rgba(255,255,255,0.02));border-color:rgba(255,255,255,.09);}.button:hover{transform:translateY(-1px);}select{min-height:30px;padding:4px 9px;border-radius:13px;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(255,255,255,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}select:focus-visible,.button:focus-visible,.drop-zone:focus-visible{outline:none;border-color:color-mix(in srgb, var(--mx-accent2) 62%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--mx-accent2) 14%, transparent),inset 0 1px 0 rgba(255,255,255,.04);}.pill{min-height:20px;padding:0 7px;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}.pill.subtle{background:rgba(255,255,255,.05);}.trace-list,.compare-body{gap:6px;}.empty-state{min-height:70px;border-radius:14px;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(255,255,255,.02));}.trace-item{padding:7px 8px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}.trace-item.active{border-color:color-mix(in srgb, var(--mx-accent2) 32%, transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 1px color-mix(in srgb, var(--mx-accent2) 8%, transparent);}.trace-name{font-size:.72rem;}.trace-meta{font-size:.58rem;line-height:1.22;}.trace-status{font-size:.54rem;}.compare-controls{gap:5px;margin-bottom:6px;}.compare-toggle{min-height:30px;padding:0 10px;border-radius:13px;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(255,255,255,.025));}.compare-sync-status{font-size:.57rem;line-height:1.3;}.compare-delta-card{border-radius:13px;padding:7px 8px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.022));}.compare-delta-card span{font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;}.compare-delta-card strong{font-size:.74rem;line-height:1.12;}.stats-panel .panel-head{align-items:flex-start;gap:10px;}.stats-grid{gap:8px;}.stat-card{min-height:58px;padding:8px 9px;border-radius:15px;background:linear-gradient(180deg,rgba(9,10,9,.26),rgba(255,255,255,.03));border-color:rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 6px 16px rgba(0,0,0,.12);}.stat-card span{margin-bottom:2px;font-size:.48rem;letter-spacing:.15em;text-transform:uppercase;color:color-mix(in srgb, var(--mx-accent2) 90%, transparent);}.stat-card strong{font-size:.78rem;line-height:1.08;letter-spacing:-.01em;}.stat-card.key{background:linear-gradient(180deg,color-mix(in srgb, var(--mx-accent) 18%, transparent),rgba(10,10,10,.22));border-color:color-mix(in srgb, var(--mx-accent2) 24%, transparent);}.stat-card.key strong{font-size:.84rem;}.stat-card.wide strong{font-size:.8rem;}.map-panel .panel-head,.profile-panel .panel-head{margin-bottom:6px;}.toolbar-cluster{border-radius:14px;padding:2px;background:rgba(0,0,0,.12);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}.map-head-actions{gap:8px;}.cursor-readout{gap:6px;padding:4px;border-radius:15px;background:rgba(11,12,11,.24);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}.cursor-readout span{padding:5px 8px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.055);}.cursor-readout strong{font-size:.72rem;}.map-stack,.profile-container{border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}.map-scrubbar{margin-top:8px;padding:5px;border-radius:16px;background:linear-gradient(180deg,rgba(12,13,12,.28),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.03);gap:5px;}.scrub-btn{min-width:34px;min-height:32px;padding:0 6px;}.scrub-play-btn{min-width:40px;}.cursor-range-wrap{height:28px;padding:0 8px;border-radius:999px;background:rgba(0,0,0,.12);border:1px solid rgba(255,255,255,.05);}.cursor-range-track,.cursor-range-fill{height:7px;}.cursor-range-track{background:linear-gradient(90deg,color-mix(in srgb, var(--mx-accent2) 16%, transparent),color-mix(in srgb, var(--mx-accent) 42%, transparent));}.cursor-range-fill{background:linear-gradient(90deg,color-mix(in srgb, var(--mx-accent2) 58%, transparent),color-mix(in srgb, var(--mx-accent) 98%, transparent));}.cursor-range-handle{width:22px;height:22px;border:3px solid color-mix(in srgb, var(--mx-accent) 98%, transparent);box-shadow:0 0 0 3px rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.24);pointer-events:auto;}.cursor-range-wrap:hover .cursor-range-handle{box-shadow:0 0 0 4px color-mix(in srgb, var(--mx-accent2) 12%, transparent),0 8px 18px rgba(0,0,0,.24);}.scrub-readout{min-width:92px;padding:5px 8px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));}.scrub-readout span{font-size:.54rem;letter-spacing:.14em;}.scrub-readout strong{font-size:.72rem;line-height:1.08;}.inline3d-hint{padding:5px 8px;border-radius:14px;background:rgba(17,18,16,.82);border-color:color-mix(in srgb, var(--mx-accent2) 24%, transparent);}.profile-tooltip{border-radius:14px;padding:7px 9px;background:rgba(28,30,27,.96);box-shadow:0 14px 32px rgba(0,0,0,.3);}.map-credit-overlay{padding:8px 14px;font-size:.74rem;line-height:1.34;background:rgba(17,18,16,.82);border-color:color-mix(in srgb, var(--mx-accent2) 24%, transparent);}.controls-panel .field-row{gap:4px;}.controls-panel .field-row label{font-size:.66rem;letter-spacing:.02em;}@media (min-width:1100px){.workspace{grid-template-rows:minmax(0,61%) minmax(0,39%);}}@media (max-width:1060px){.layout-grid{grid-template-columns:1fr;}}@media (max-width:760px){.app-shell{padding:6px;}.layout-grid,.sidebar,.workspace{gap:5px;}.sidebar>.panel,.workspace>.panel{padding:7px;}.cursor-readout{gap:4px;padding:3px;}.cursor-readout span{padding:4px 6px;}.map-scrubbar{padding:4px;gap:4px;}.cursor-range-wrap{height:26px;}.cursor-range-handle{width:20px;height:20px;}}.leaflet-control-attribution{font-size:.74rem !important;line-height:1.34 !important;padding:8px 14px !important;background:rgba(17,18,16,.82) !important;color:rgba(243,245,239,.88) !important;border:1px solid color-mix(in srgb, var(--mx-accent2) 24%, transparent) !important;border-radius:999px !important;box-shadow:0 8px 24px rgba(0,0,0,.24) !important;backdrop-filter:blur(8px);opacity:1 !important;margin:0 10px 10px 0 !important;}.leaflet-control-attribution a{font-size:inherit !important;color:inherit !important;}@media (max-width:760px){.leaflet-control-attribution{font-size:.6rem !important;line-height:1.26 !important;padding:6px 10px !important;margin:0 10px 10px 0 !important;}}}}
