@import "https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600&family=Barlow+Condensed:wght@600;700&display=swap";:root{--ground:#f3f4ee;--surface:#fff;--surface-sunken:#e9ecdf;--border:#dcdfd4;--border-control:#7e8778;--ink:#16201a;--ink-muted:#55605a;--forest:#1e6b4e;--forest-strong:#14513a;--forest-tint:#e4eee7;--on-forest:#fff;--balise:#f2b705;--on-balise:#16201a;--variant-a:#c2410c;--variant-b:#1d4ed8;--variant-c:#7c3aed;--way-trail:#1e6b4e;--way-track:#5e9c76;--way-piste:#a9c7a0;--way-road:#6f746c;--warning-bg:#fff4d6;--warning-border:#c9a033;--warning-ink:#5c3d00;--danger:#b42318;--danger-bg:#fdecea;--focus:#1e6b4e;--shadow-float:0 1px 3px #16201a2e;--font-display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-sans:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-pill:999px;--touch-min:44px;--button-primary:52px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0f1612;--surface:#18211c;--surface-sunken:#1f2a24;--border:#2c3830;--border-control:#6e7b71;--ink:#ecefe8;--ink-muted:#a5afa7;--forest:#4fb38a;--forest-strong:#7ccba8;--forest-tint:#1d3a2e;--on-forest:#0f1612;--balise:#f5c84b;--on-balise:#16201a;--variant-a:#f07a45;--variant-b:#6e93f5;--variant-c:#a98bf7;--way-trail:#7ccba8;--way-track:#4f9c76;--way-piste:#2f6247;--way-road:#a5aaa1;--warning-bg:#33290c;--warning-border:#8a6d1e;--warning-ink:#f6de9c;--danger:#f2877c;--danger-bg:#3a1a17;--focus:#7ccba8;--shadow-float:0 1px 3px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#0f1612;--surface:#18211c;--surface-sunken:#1f2a24;--border:#2c3830;--border-control:#6e7b71;--ink:#ecefe8;--ink-muted:#a5afa7;--forest:#4fb38a;--forest-strong:#7ccba8;--forest-tint:#1d3a2e;--on-forest:#0f1612;--balise:#f5c84b;--on-balise:#16201a;--variant-a:#f07a45;--variant-b:#6e93f5;--variant-c:#a98bf7;--way-trail:#7ccba8;--way-track:#4f9c76;--way-piste:#2f6247;--way-road:#a5aaa1;--warning-bg:#33290c;--warning-border:#8a6d1e;--warning-ink:#f6de9c;--danger:#f2877c;--danger-bg:#3a1a17;--focus:#7ccba8;--shadow-float:0 1px 3px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.text-display{font-family:var(--font-display);font-size:56px;font-weight:700;line-height:56px}.text-title-lg{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:32px}.text-title-md{font-family:var(--font-display);font-size:21px;font-weight:700;line-height:24px}.text-heading{font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:22px}.text-body{font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:21px}.text-body-strong{font-family:var(--font-sans);font-size:15px;font-weight:600;line-height:21px}.text-label{font-family:var(--font-sans);font-size:13px;font-weight:600;line-height:18px}.text-caption{font-family:var(--font-sans);font-size:12px;font-weight:400;line-height:16px}.text-metric{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-size:19px;font-weight:600;line-height:24px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:root{--scrim:color-mix(in srgb, var(--on-balise) 55%, transparent)}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--font-sans);margin:0;font-size:15px;line-height:1.4}h1,h2{font-family:var(--font-display);margin:0;font-size:28px;font-weight:700}a{color:var(--forest)}a:hover{color:var(--forest-strong)}[hidden]{display:none!important}.muted{color:var(--ink-muted);font-weight:400}.hint{color:var(--ink-muted);font-size:12px}.center{text-align:center}.row{gap:var(--space-2);display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-6);padding:var(--space-4) var(--space-8);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-3);color:var(--ink);text-decoration:none;display:flex}.topbar nav{gap:var(--space-1);display:flex}.topbar nav a{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--ink);text-decoration:none}.topbar nav a[aria-current=page]{background:var(--forest-tint);color:var(--forest-strong);font-weight:600}.layout{align-items:flex-start;gap:var(--space-6);max-width:1440px;padding:var(--space-6) var(--space-8) var(--space-8);flex-wrap:wrap;margin:0 auto;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl)}.params{max-width:420px;padding:var(--space-5);gap:var(--space-5);flex-direction:column;flex:340px;display:flex}.results{gap:var(--space-4);flex-direction:column;flex:999 560px;min-width:0;display:flex}.field{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.field>label,.field>.row>label,.field>legend,.label-like{padding:0;font-size:13px;font-weight:600}.field>legend{margin-bottom:var(--space-2)}input[type=text],input[type=email],input[type=search],input[type=password],select{height:var(--touch-min);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-md);font:inherit;color:var(--ink);background:var(--surface);width:100%;min-width:0;font-size:16px}input:disabled{background:var(--ground);color:var(--ink-muted)}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--forest);flex:none;margin:0}input[type=range]{accent-color:var(--forest)}input[aria-invalid=true]{border-color:var(--danger)}.unit-input:has(input[aria-invalid=true]){border-color:var(--danger)}.combo{position:relative}.combo input{flex:1}.suggestions{z-index:20;padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin:0;list-style:none;position:absolute;top:48px;left:0;right:52px}.suggestions li{padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);cursor:pointer}.suggestions li small{color:var(--ink-muted);font-size:12px;display:block}.suggestions li[aria-selected=true],.suggestions li:hover{background:var(--forest-tint)}.unit-input{height:var(--touch-min);padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface);display:flex}.unit-input input{background:0 0;border:0;height:100%;padding:0;font-size:17px;font-weight:600}.unit-input span{color:var(--ink-muted)}:is(.unit-input:has(input:focus-visible),.search:has(input:focus-visible)){outline:2px solid var(--focus);outline-offset:2px}.unit-input input:focus-visible,.search input:focus-visible{outline:2px solid #0000}.grid-2{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.icon-btn{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);flex:none;justify-content:center;align-items:center;display:flex}.icon-btn.ghost{border-color:#0000}.primary,.secondary,.dark{height:var(--touch-min);padding:0 var(--space-4);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-2);font-size:14px;font-weight:600;display:inline-flex}.primary{background:var(--forest);color:var(--on-forest);border:0}.primary:hover:not(:disabled){background:var(--forest-strong)}.secondary{border:1px solid var(--border-control);background:var(--surface);color:var(--ink)}.dark{background:var(--ink);color:var(--surface);border:0}.submit{gap:var(--space-2);flex-direction:column;display:flex}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chips button{min-height:var(--touch-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--border-control);background:var(--surface);color:var(--ink);font-size:14px}.chips button[aria-pressed=true],.levels button[aria-pressed=true]{border:2px solid var(--forest);background:var(--forest-tint);color:var(--forest-strong);font-weight:600}.levels{gap:var(--space-2);margin-top:calc(-1 * var(--space-2));grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.levels button{height:var(--touch-min);border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:14px}.params-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.segmented{background:var(--ground);border-radius:var(--radius-md);padding:3px;display:flex}.segmented button{min-height:var(--touch-min);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--ink);background:0 0;border:0;font-size:14px}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--surface);font-weight:600}.advanced{gap:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);flex-direction:column;display:flex}.priorities{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,140px) minmax(0,1fr) 32px;font-size:14px;display:grid}.priorities output{color:var(--ink-muted);text-align:right;font-size:13px}.range-legend{justify-content:space-between;gap:var(--space-2);color:var(--ink-muted);font-size:12px;display:flex}.range-legend strong{color:var(--ink)}.checks{gap:0 var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.waypoints{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.waypoints li{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);font-size:14px;display:flex}.waypoints li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.waypoints .icon-btn{width:var(--touch-min);height:var(--touch-min);border:0}.dashed{min-height:var(--touch-min);border:1px dashed var(--border-control);border-radius:var(--radius-md);color:var(--forest-strong);background:0 0;font-size:14px;font-weight:600}.dashed[aria-pressed=true]{border-style:solid;border-color:var(--forest);background:var(--forest-tint)}.waypoint-marker{background:var(--surface);border:3px solid var(--ink);width:26px;height:26px;color:var(--ink);box-shadow:var(--shadow-float);cursor:grab;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.map-wrap.picking #map canvas{cursor:crosshair}.results-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.results-head p{margin:0}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.map-wrap{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface-sunken);height:520px;position:relative;overflow:hidden}#map{position:absolute;inset:0}.map-chip,.layer-switch,.map-busy{z-index:2;background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-float);position:absolute}.map-topleft{z-index:2;align-items:flex-start;gap:var(--space-2);pointer-events:none;flex-direction:column;max-width:calc(100% - 260px);display:flex;position:absolute;top:12px;left:12px}.map-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);max-width:100%;font-size:14px;display:flex;position:static}.map-chip strong{white-space:nowrap}.layer-switch{padding:3px;display:flex;top:12px;right:12px}.layer-switch button{min-height:var(--touch-min);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--ink);background:0 0;border:0;font-size:14px}.layer-switch button[aria-pressed=true]{background:var(--ink);color:var(--surface);font-weight:600}.zone-note{z-index:2;gap:var(--space-3);max-width:min(440px,100% - 24px);padding:var(--space-3) var(--space-3);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-md);color:var(--warning-ink);align-items:flex-start;font-size:13px;display:flex;position:absolute;bottom:40px;left:12px}.zone-note svg{flex:none;margin-top:1px}.zone-note a{color:var(--warning-ink)}.variant .zone-flag{align-items:center;gap:var(--space-1);color:var(--warning-ink);font-size:13px;font-weight:600;display:inline-flex}.map-busy{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-weight:600;display:flex;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{border:3px solid var(--forest-tint);border-top-color:var(--forest);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.map-wrap .maplibregl-ctrl-top-right{top:62px}.start-marker,.end-marker{background:var(--ink);border:3px solid var(--surface);width:30px;height:30px;box-shadow:var(--shadow-float);cursor:grab;color:var(--surface);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.end-marker{background:var(--balise);color:var(--on-balise)}.start-marker:empty:before{content:"";background:var(--surface);width:16px;height:18px;-webkit-mask:url(/brand/tracy-symbole.svg) 50%/contain no-repeat;mask:url(/brand/tracy-symbole.svg) 50%/contain no-repeat}.icon-btn[aria-pressed=true]{border-color:var(--forest);background:var(--forest-tint);color:var(--forest-strong)}#end-list{right:0}.map-legend{gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-float);flex-direction:column;font-size:13px;display:flex}.map-legend>span{align-items:center;gap:var(--space-2);display:flex}.legend-dash{border-top:2px dashed var(--ink-muted);width:24px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.edit-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--ink);color:var(--surface);border-radius:var(--radius-xl);flex-wrap:wrap;display:flex}.edit-bar-text{align-items:center;gap:var(--space-3);display:flex}.edit-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.edit-actions .icon-btn{width:var(--touch-min);height:var(--touch-min);border-color:var(--border-control);color:var(--surface);background:0 0}.edit-actions .icon-btn:disabled{color:var(--border-control);cursor:not-allowed}.outline-light,.light{min-height:var(--touch-min);padding:0 var(--space-3);border-radius:var(--radius-md);font-size:14px;font-weight:600}.outline-light{border:1px solid var(--border-control);color:var(--surface);background:0 0}.light{background:var(--surface);color:var(--ink);border:0}.legend-dots{border-top:3px dotted var(--balise);width:24px}.legend-ring{border:2px solid var(--ink);box-sizing:border-box;border-radius:50%;width:14px;height:14px}.forced-marker{background:var(--surface);border:2.5px solid var(--ink);box-sizing:border-box;width:22px;height:22px;box-shadow:var(--shadow-float);cursor:grab;border-radius:50%}.forced-marker:before,.forced-marker:after{content:"";background:var(--ink);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.forced-marker:before{width:10px;height:2px}.forced-marker:after{width:2px;height:10px}.forced-marker.dragging{opacity:.8;cursor:grabbing}.edit-panel{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.edit-panel h3{margin:0 0 var(--space-3)}.compare{border-collapse:collapse;width:100%;font-size:15px}.compare th,.compare td{padding:var(--space-2) 0;text-align:left}.compare thead th{color:var(--ink-muted);padding:var(--space-1) 0;font-size:13px;font-weight:500}.compare tbody tr{border-top:1px solid var(--border)}.compare tbody th{font-weight:400}.compare td:last-child{font-weight:600}.history{padding-left:var(--space-5);gap:var(--space-2);flex-direction:column;margin:0;font-size:14px;display:flex}.history li[aria-current=step]{font-weight:600}.history li.undone{color:var(--ink-muted);text-decoration:line-through}.notices{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.notice{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.notice.warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-ink)}.notice.warning .notice-detail{color:var(--warning-ink)}.notice.error{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.notice.error .notice-detail{color:var(--danger)}.notice-head{gap:var(--space-3);align-items:flex-start;display:flex}.notice-icon{border-radius:var(--radius-md);background:var(--surface-sunken);width:32px;height:32px;color:var(--ink-muted);flex:none;justify-content:center;align-items:center;display:flex}.notice.warning .notice-icon{color:var(--warning-ink);background:0 0}.notice.error .notice-icon{color:var(--danger);background:0 0}.notice-title{margin:0;font-weight:600}.notice-detail{color:var(--ink-muted);margin:2px 0 0;font-size:14px}.notice-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.notice-actions button{height:var(--touch-min)}.progress{gap:var(--space-2);flex-direction:column;display:flex}.progress-track{border-radius:var(--radius-sm);background:var(--surface-sunken);height:8px;overflow:hidden}.progress-bar{background:var(--forest);width:0;height:100%;transition:width .3s}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.alert{padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);font-size:14px}.alert ul{padding-left:var(--space-5);margin:0}.alert.warn{align-items:flex-start;gap:var(--space-2);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-ink);display:flex}.alert.warn>svg{flex:none;margin-top:1px}.alert .link-btn{min-height:0;color:inherit;padding:0;text-decoration:underline}.alert.error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger)}.alert.ok{background:var(--forest-tint);border:1px solid var(--forest);color:var(--forest-strong)}.variants{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.variant{text-align:left;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--ink);flex-direction:column;display:flex}.variant[aria-pressed=true]{border:2px solid var(--variant-color);padding:calc(var(--space-4) - 1px)}.variant-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.variant-name{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:21px;font-weight:700;display:flex}.variant-status{color:var(--ink-muted);font-size:12px;font-weight:600}.variant-metrics{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.variant-metrics>span{flex-direction:column;display:flex}.variant .label{color:var(--ink-muted);font-size:12px}.swatch{background:var(--variant-color,var(--variant-a));border-radius:50%;flex:none;width:14px;height:14px}.details{gap:var(--space-3);flex-wrap:wrap;display:flex}.card{padding:var(--space-4);min-width:0}.card h3{margin:0;font-size:16px;font-weight:600}.card-head{justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.card p{margin:var(--space-1) 0 0}.profile-card{flex:2 420px}.profile{touch-action:none;cursor:crosshair;width:100%;height:auto;display:block}.profile-grid line{stroke:var(--border);stroke-width:1px}.profile-grid text,.profile-cursor text{fill:var(--ink-muted);font-size:11px;font-family:var(--font-sans)}.profile-cursor text{fill:var(--ink);font-size:12px;font-weight:600}.profile-area{fill-opacity:.14}.profile-line{fill:none;stroke-width:2.5px;stroke-linejoin:round}.profile-cursor line{stroke:var(--ink);stroke-width:1px;stroke-dasharray:3 3}.profile-cursor circle{fill:var(--surface);stroke:var(--ink);stroke-width:2px}.ways-card{gap:var(--space-3);flex-direction:column;flex:260px;display:flex}.ways-bar{border-radius:var(--radius-sm);background:var(--ground);height:14px;display:flex;overflow:hidden}.ways-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.ways-list li{align-items:center;gap:var(--space-2);display:flex}.ways-list li span:nth-child(2){flex:1}.ways-list .dot{border-radius:var(--radius-sm);flex:none;width:12px;height:12px}.ways-surface{padding-top:var(--space-3);border-top:1px solid var(--border);font-size:14px}.cursor-marker{background:var(--surface);border:3px solid var(--ink);width:16px;height:16px;box-shadow:var(--shadow-float);pointer-events:none;border-radius:50%}dialog{border-radius:var(--radius-xl);background:var(--surface);width:min(680px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--ink);border:0;padding:0}dialog::backdrop{background:var(--scrim)}.export{padding:var(--space-6);gap:var(--space-5);flex-direction:column;display:flex}.export-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.export-head h2{font-size:30px}.export-head p{margin:2px 0 0}.choice{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;border:1px solid var(--border-control);background:var(--surface);flex-direction:column;display:flex}.choice:has(input:checked){border:2px solid var(--forest);background:var(--forest-tint);padding:calc(var(--space-3) - 1px) calc(var(--space-4) - 1px)}.choice-title{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.options-box{gap:var(--space-3);padding:var(--space-4) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.toggle{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch-min);cursor:pointer;display:flex}.toggle input{width:20px;height:20px}.check{align-items:center;gap:var(--space-2);min-height:var(--touch-min);cursor:pointer;font-size:14px;display:flex}.range-row{align-items:center;gap:var(--space-3);font-size:14px;display:flex}.range-row input{flex:1}.range-row span{text-align:right;min-width:90px;font-weight:600}pre#gpx-preview{padding:var(--space-3) var(--space-4);background:var(--ink);color:var(--surface);border-radius:var(--radius-md);white-space:pre;min-height:100px;margin:0;font-family:monospace;font-size:12px;line-height:1.55;overflow-x:auto}.tags{gap:var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.tags span{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--ground)}.export-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}@media (width<=720px){.topbar{padding:var(--space-3) var(--space-4)}.layout{padding:var(--space-4);gap:var(--space-4)}.params{max-width:none}.map-wrap{height:60vh;min-height:360px}.map-topleft{flex-direction:column-reverse;max-width:calc(100% - 24px);top:auto;bottom:36px}.zone-note{top:60px;bottom:auto}.export{padding:var(--space-5) var(--space-4)}.actions{width:100%}.actions button{flex:auto}}.account-slot a{color:var(--ink);font-weight:600;text-decoration:none}.account-slot .avatar{width:var(--touch-min);height:var(--touch-min);border:1px solid var(--border);background:var(--ground);border-radius:50%;justify-content:center;align-items:center;display:flex}.account-slot .signin{height:var(--touch-min);padding:0 var(--space-4);border:1px solid var(--border-control);border-radius:var(--radius-md);align-items:center;display:flex}.account-slot a[aria-current=page]{border-color:var(--forest);background:var(--forest-tint);color:var(--forest-strong)}a.primary,a.secondary,a.dark{text-decoration:none}.page{max-width:1180px;padding:var(--space-8);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.page-card{padding:var(--space-8);width:100%;max-width:560px;margin:0 auto}.page-card h1{font-size:34px;line-height:1.1}.stack{gap:var(--space-5);flex-direction:column;display:flex}.big-btn{height:var(--button-primary);border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:var(--space-3);font-size:17px;font-weight:600;text-decoration:none;display:flex}.big-btn.primary{border:0}.big-btn.outline{height:var(--touch-min);border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:15px}.g-mark{border:2px solid var(--ink);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex}.or{align-items:center;gap:var(--space-3);color:var(--ink-muted);font-size:13px;display:flex}.or span{background:var(--border);flex:1;height:1px}.link-btn{min-height:var(--touch-min);color:var(--forest-strong);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:600}.password-input{display:flex;position:relative}.password-input input{padding-right:92px}.password-input .reveal{min-width:80px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--forest-strong);font:inherit;cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:600;position:absolute;top:1px;bottom:1px;right:1px}.password-input .reveal:hover{background:var(--forest-tint)}.small-link{padding:0;font-size:13px}.switch-auth{text-align:center;margin:0;font-size:15px}.switch-auth a{color:var(--forest-strong);font-weight:600}.alert a{color:inherit;font-weight:600}.password-zone{padding-top:var(--space-5);border-top:1px solid var(--border);gap:var(--space-4);flex-direction:column;display:flex}.password-zone p{margin:var(--space-1) 0 0;max-width:380px;font-size:14px}.zone-title{font-family:inherit;font-size:16px;font-weight:600}.sent{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex}.sent-icon{background:var(--forest-tint);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.sent p{max-width:360px;margin:0}#account{gap:var(--space-5);flex-direction:column;max-width:640px;display:flex}.facts{gap:var(--space-3) var(--space-4);grid-template-columns:160px minmax(0,1fr);margin:0;display:grid}.facts dt{color:var(--ink-muted)}.facts dd{overflow-wrap:anywhere;margin:0}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between;align-items:center}.danger-zone{padding-top:var(--space-5);border-top:1px solid var(--border);gap:var(--space-3);flex-direction:column;display:flex}.danger-zone p{max-width:380px;margin:0;font-size:14px}.danger-title{color:var(--danger);font-family:inherit;font-size:16px;font-weight:600}.danger-outline,.danger{min-height:var(--touch-min);padding:0 var(--space-4);border-radius:var(--radius-md);font:inherit;cursor:pointer;font-size:14px;font-weight:600}.danger-outline{border:1px solid var(--danger);background:var(--surface);color:var(--danger)}.danger{background:var(--danger);color:var(--surface);border:0}@media (width<=720px){.page{padding:var(--space-4)}.page-card{padding:var(--space-5)}.facts{grid-template-columns:1fr;gap:2px}.facts dd{margin-bottom:var(--space-3)}}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-head h1{font-size:34px}.page-head p{margin:0}.toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.search{align-items:center;gap:var(--space-2);max-width:360px;height:var(--touch-min);padding:0 var(--space-3);border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface);color:var(--ink-muted);flex:260px;display:flex}.search input{background:0 0;border:0;flex:1;min-width:0;height:auto;padding:0}.sort{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.sort label{color:var(--ink-muted);white-space:nowrap;font-size:14px}.sort select{width:auto}.route-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));display:grid}.route-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;display:flex;overflow:hidden}.thumb{background:var(--surface-sunken);position:relative}.thumb svg{display:block}.fav{right:var(--space-2);top:var(--space-2);width:var(--touch-min);height:var(--touch-min);background:var(--surface);border:0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.card-body{padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.card-title{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.card-title h2{overflow-wrap:anywhere;font-family:inherit;font-size:17px;font-weight:600}.card-title time{color:var(--ink-muted);flex:none;font-size:12px}.card-body p{color:var(--ink-muted);margin:0;font-size:14px}.card-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.small{min-height:var(--touch-min);height:var(--touch-min);padding:0 var(--space-3);font-size:14px}.icon-btn.small{width:var(--touch-min);padding:0}.empty{padding:calc(var(--space-8) + var(--space-4)) var(--space-6);text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty p{margin:0}#save-dialog{border-radius:var(--radius-xl);border:0;width:min(480px,100vw - 32px);padding:0}#save-dialog::backdrop{background:var(--scrim)}.save-form{padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.save-form p{margin:0}.row.end{justify-content:flex-end}@media (width<=720px){.sort{margin-left:0}:is(.grid-2:has(.checks),.grid-2:has(.range-legend)){grid-template-columns:minmax(0,1fr)}}.my-profiles{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.my-profiles .label-like{color:var(--ink-muted);font-size:12px;font-weight:600}.profiles-layout{gap:var(--space-5);flex-wrap:wrap;align-items:flex-start;display:flex}.profile-list{gap:var(--space-2);flex-direction:column;flex:280px;max-width:340px;display:flex}.profile-items{gap:var(--space-2);flex-direction:column;display:flex}.profile-item{text-align:left;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;flex-direction:column;display:flex}.profile-item[aria-current=true]{border:2px solid var(--forest);padding:calc(var(--space-4) - 1px)}.profile-item .top{justify-content:space-between;align-items:center;gap:var(--space-2);font-weight:600;display:flex}.profile-item .sub{color:var(--ink-muted);font-size:13px}.badge{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--forest-tint);color:var(--forest-strong);font-size:12px;font-weight:600}.profile-editor{min-width:0;padding:var(--space-6);gap:var(--space-5);flex-direction:column;flex:999 520px;display:flex}.profile-editor .priorities{max-width:560px}.editor-actions{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.editor-actions .danger-outline{margin-left:auto}.inline-number{align-items:center;gap:var(--space-2);display:flex}.inline-number input{width:100px}.pricing-page{gap:var(--space-6);max-width:1040px}.pricing-head{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.lead{max-width:560px;color:var(--ink-muted);margin:0;font-size:18px}.segmented.big{padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:var(--space-2)}.segmented.big button{min-height:var(--touch-min);padding:0 var(--space-4)}.launch-banner{justify-content:center;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-5);background:var(--ink);color:var(--surface);border-radius:var(--radius-xl);text-align:center;flex-wrap:wrap;display:flex}.launch-tag{padding:3px var(--space-3);border-radius:var(--radius-pill);background:var(--balise);color:var(--on-balise);font-size:13px;font-weight:700}.plans{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:stretch;display:grid}.plan{padding:var(--space-6);gap:var(--space-5);border-radius:var(--radius-xl);flex-direction:column;display:flex}.plan.featured{border:2px solid var(--forest);padding:calc(var(--space-6) - 1px)}.plan h2{font-family:inherit;font-size:18px;font-weight:600}.plan p{margin:var(--space-1) 0 0}.plan-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.price{align-items:baseline;gap:var(--space-2);display:flex}.price .amount{font-family:var(--font-display);font-size:48px;font-weight:700;line-height:1}.big-hint{font-size:14px}.ticks{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ticks li{gap:var(--space-3);display:flex}.ticks li:before{content:"";background:var(--forest);flex:none;width:20px;height:20px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") 50%/contain no-repeat}.ticks li.soon{color:var(--ink-muted)}.ticks li.soon:before{background:var(--ink-muted)}.plan .big-btn{margin-top:auto}.plan .hint.center{margin:calc(-1 * var(--space-2)) 0 0;text-align:center}.current-plan{padding:var(--space-6);gap:var(--space-3);border:2px solid var(--forest);flex-direction:column;display:flex}.current-plan h2{font-family:inherit;font-size:18px;font-weight:600}.current-plan p{margin:0}.compare-card{padding:var(--space-6)}.compare-card h2{margin-bottom:var(--space-3);font-family:inherit;font-size:18px;font-weight:600}.table-scroll{overflow-x:auto}.compare.offers{min-width:520px}.compare.offers thead tr{border-bottom:2px solid var(--ink)}.compare.offers thead th{color:var(--ink);padding:var(--space-3) var(--space-2);font-size:15px;font-weight:600}.compare.offers th,.compare.offers td{padding:var(--space-3) var(--space-2)}.compare.offers td:last-child,.compare.offers thead th:last-child{color:var(--forest-strong)}.grow{flex:auto}@media (width<=720px){.pricing-head h1{font-size:36px}}.quota{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-3);background:var(--ground);border-radius:var(--radius-lg);flex-wrap:wrap;font-size:14px;display:flex}.quota-plan{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:600}.quota-meter{gap:var(--space-1);display:flex}.quota-meter span{border-radius:var(--radius-sm);background:var(--forest);width:22px;height:8px}.quota-meter span.used{background:var(--border-control)}.locked-hint{font-size:13px;font-weight:600}#quota-dialog{border-radius:var(--radius-xl);border:0;width:min(460px,100vw - 32px);padding:0}#quota-dialog::backdrop{background:var(--scrim)}.quota-dialog{padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.quota-dialog h2{font-size:26px;line-height:1.15}.quota-dialog p{margin:var(--space-2) 0 0}.small-amount{font-size:32px!important}.locked-card{padding:var(--space-6);align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.locked-card p{margin:0}#hidden-note a{font-weight:600}a.primary:hover{color:var(--on-forest)}a.dark:hover,a.danger:hover{color:var(--surface)}a.secondary:hover,a.big-btn.outline:hover,a.light:hover,.account-slot a:hover{color:var(--ink)}.secondary:hover:not(:disabled),.big-btn.outline:hover:not(:disabled),.levels button:hover:not(:disabled),.chips button:hover:not([aria-pressed=true]){border-color:var(--ink-muted);background:var(--ground)}.dark:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 85%, var(--surface))}.icon-btn:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--ink-muted);background:var(--ground)}.icon-btn.ghost:hover:not(:disabled){border-color:#0000}.edit-actions .icon-btn:hover:not(:disabled){background:color-mix(in srgb, var(--surface) 12%, transparent);border-color:var(--surface)}.segmented button:hover:not([aria-pressed=true]),.layer-switch button:hover:not([aria-pressed=true]){background:color-mix(in srgb, var(--ink) 8%, transparent)}.segmented.big button:hover:not([aria-pressed=true]){background:var(--ground)}.dashed:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--forest);background:var(--forest-tint)}.light:hover:not(:disabled){background:var(--surface-sunken)}.outline-light:hover:not(:disabled){border-color:var(--surface);background:color-mix(in srgb, var(--surface) 8%, transparent)}.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 85%, var(--ink))}.danger-outline:hover:not(:disabled){background:var(--danger-bg)}.link-btn:hover{text-decoration:underline}.fav:hover{background:var(--surface);box-shadow:var(--shadow-float)}.variant:hover:not([aria-pressed=true]),.profile-item:hover:not([aria-current=true]){border-color:var(--ink-muted)}.choice:hover:not(:has(input:checked)){border-color:var(--ink-muted)}.account-slot .avatar:hover{border-color:var(--ink-muted);background:var(--surface)}.account-slot .signin:hover{border-color:var(--ink-muted);background:var(--ground)}.topbar nav a:hover:not([aria-current=page]){background:var(--ground);color:var(--ink)}.confirm-dialog{border-radius:var(--radius-xl);background:var(--surface);border:0;width:min(440px,100vw - 32px);padding:0}.confirm-dialog::backdrop{background:var(--scrim)}.confirm-dialog[open]{animation:.16s ease-out cd-in}@keyframes cd-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (prefers-reduced-motion:reduce){.confirm-dialog[open]{animation:none}}.cd-body{padding:var(--space-6) var(--space-6) var(--space-6);align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.cd-icon{background:var(--danger-bg);width:56px;height:56px;color:var(--danger);margin-bottom:var(--space-1);border-radius:50%;justify-content:center;align-items:center;display:flex}.cd-title{font-size:26px;line-height:1.15}.cd-message{color:var(--ink-muted);margin:0}.cd-details{padding:var(--space-3) var(--space-4);background:var(--ground);border-radius:var(--radius-md);gap:var(--space-1);flex-direction:column;width:100%;margin:0;font-size:14px;list-style:none;display:flex}.cd-error{text-align:left;width:100%}.cd-actions{gap:var(--space-2);width:100%;margin-top:var(--space-3);display:flex}.cd-actions button{height:var(--touch-min);flex:1 1 0}.primary{height:var(--button-primary);border-radius:var(--radius-lg);font-size:17px}.brand img{width:auto;height:32px;display:block}.logo-dark,[data-mode=dark] .logo-light{display:none}[data-mode=dark] .logo-dark{align-items:center;gap:var(--space-2);display:flex}.topbar nav{flex-wrap:wrap}.topbar nav a{min-height:var(--touch-min);align-items:center;display:flex}::placeholder{color:var(--ink-muted);opacity:1}.sent-icon,.fav{color:var(--forest)}.danger-icon{color:var(--danger)}.notice .secondary{flex:0 auto}.map-wrap .maplibregl-ctrl-group{background:var(--surface)}.map-wrap .maplibregl-ctrl-group button+button{border-top-color:var(--border)}[data-mode=dark] .map-wrap .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()}.map-wrap .maplibregl-ctrl.maplibregl-ctrl-attrib,.map-wrap .maplibregl-ctrl-attrib.maplibregl-compact{background:var(--surface);color:var(--ink-muted);font-family:var(--font-sans)}.map-wrap .maplibregl-ctrl-attrib a{color:inherit}[data-mode=dark] .map-wrap .maplibregl-ctrl-attrib-button{filter:invert()}.map-wrap .maplibregl-ctrl.maplibregl-ctrl-scale{background:var(--surface);border-color:var(--ink-muted);color:var(--ink);font-family:var(--font-sans)}@media (width<=720px){.submit{z-index:3;margin:0 calc(-1 * var(--space-5)) calc(-1 * var(--space-5));padding:var(--space-3) var(--space-5);background:var(--surface);border-top:1px solid var(--border);border-radius:0 0 var(--radius-xl) var(--radius-xl);position:sticky;bottom:0}.submit .primary{width:100%}.topbar{column-gap:var(--space-2)}.topbar nav{order:3;width:100%}}.lock-icon{margin-left:var(--space-1);vertical-align:-2px}
