:root{--text:#3f3b45;--text-h:#08060d;--bg:#fff;--bg-alt:#f7f6f4;--border:#e5e4e7;--accent:#aa3bff;--accent-bg:#aa3bff1f;--accent-border:#aa3bff99;--warn:#e05252;--warn-bg:#e052521a;--terrain-bg:#96642824;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#c7c3cc;--text-h:#f3f4f6;--bg:#16171d;--bg-alt:#1c1d24;--border:#2e303a;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--warn:#f28b8b;--warn-bg:#f28b8b1f;--terrain-bg:#d2a05a2e}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2,h3{color:var(--text-h);margin:0 0 .5em;font-weight:600}p{margin:0 0 .5em}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;padding:6px 10px}input[type=number]{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--border);border-radius:4px;width:100%;padding:4px 8px}fieldset{border:1px solid var(--border);border-radius:8px;margin:0}legend{color:var(--text-h);padding:0 6px;font-weight:600}.app{max-width:1400px;margin:0 auto;padding:16px 24px 48px}.app__header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.mode-toggle{border:1px solid var(--border);border-radius:8px;gap:4px;padding:2px;display:flex}.mode-toggle button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px}.mode-toggle button:disabled{opacity:.4;cursor:not-allowed}.mode-toggle button.active{background:var(--accent-bg);color:var(--text-h)}.page-carousel{flex-direction:column;gap:12px;display:flex}.page-carousel__track{scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;transition:height .2s;display:flex;overflow:auto hidden}.page-carousel__track::-webkit-scrollbar{display:none}.page-carousel__page{scroll-snap-align:start;flex-direction:column;flex:0 0 100%;gap:16px;min-width:100%;padding:0 2px;display:flex}.page-carousel__nav{background:var(--bg);z-index:5;justify-content:center;align-items:center;gap:12px;padding:8px 0;display:flex;position:sticky;bottom:0}.page-carousel__arrow{font:inherit;border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;font-size:20px;line-height:1}.page-carousel__arrow:disabled{opacity:.35;cursor:not-allowed}.page-carousel__dots{border:1px solid var(--border);border-radius:8px;gap:4px;padding:2px;display:flex}.page-carousel__dot{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:13px}.page-carousel__dot.active{background:var(--accent-bg);color:var(--text-h)}.placeholder{color:var(--text);opacity:.7;padding:32px 0}.gpx-upload__control{border:1px dashed var(--border);cursor:pointer;text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:20px 12px;display:flex}.gpx-upload__control input{display:none}.gpx-upload__error{color:var(--warn);margin-top:8px}.strava-import__connect{border:1px dashed var(--border);text-align:center;color:var(--text);border-radius:8px;justify-content:center;align-items:center;margin-top:8px;padding:20px 12px;text-decoration:none;display:flex}.strava-import{flex-direction:column;gap:8px;margin-top:8px;display:flex}.strava-import__header{opacity:.85;justify-content:space-between;align-items:center;font-size:13px;display:flex}.strava-import__link-row{gap:8px;display:flex}.strava-import__link-row input{flex:1;min-width:0}.strava-import input[type=text],.strava-import input[type=date],.strava-import input[type=number]{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px}.run-library__fit-notes{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.strava-import__or{opacity:.7;white-space:nowrap;font-size:13px}.strava-import__range-row{opacity:.85;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.strava-import__range-row input[type=number]{width:60px}.inputs-panel{flex-direction:column;gap:12px;display:flex}.inputs-panel fieldset{flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.field{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.field input[type=number]{max-width:100px}.field__label{flex:1}.field__hint{opacity:.6;text-align:right;min-width:90px;font-size:12px}.field--checkbox{justify-content:flex-start;gap:8px}.field--checkbox input{width:auto}.field__unit-select{font:inherit;background:var(--bg);min-width:70px;color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 4px;font-size:12px}.field-group-help{opacity:.75;margin:0 0 4px;font-size:13px;line-height:1.4}.field-group-note{color:var(--accent);margin:0;font-size:13px}.fatox-rows{flex-direction:column;gap:6px;display:flex}.fatox-units{opacity:.8;gap:16px;font-size:12px;display:flex}.fatox-units label{align-items:center;gap:6px;display:flex}.fatox-row{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto auto;align-items:center;gap:6px;font-size:13px;display:grid}.fatox-row input[type=number]{width:100%}.fatox-row__unit{opacity:.6;white-space:nowrap}.fatox-row__remove{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:4px;width:24px;height:24px;font-size:14px;line-height:1}.vo2max-row{grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:6px;font-size:13px;display:grid}.vo2max-row input,.vo2max-row select{width:100%}.fatox-add{border:1px dashed var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;margin-top:4px;padding:4px 10px;font-size:13px}.run-library-row{align-items:center;gap:8px;font-size:13px;display:flex}.run-library-row input[type=checkbox]{width:auto}.run-library-row__label{flex:1}.course-name{color:var(--text-h);font-weight:600}.course-stats{opacity:.75}.warning{background:var(--warn-bg);color:var(--warn);border-radius:6px;padding:8px 12px}.results-summary{background:var(--bg-alt);border-radius:8px;flex-wrap:wrap;align-items:center;gap:24px;padding:16px;display:flex}.results-summary--warn{background:var(--warn-bg)}.results-summary__stat{flex-direction:column;display:flex}.results-summary__label{opacity:.7;font-size:12px}.results-summary__value{color:var(--text-h);font-size:28px;font-weight:600}.results-summary__warning{color:var(--warn);flex-basis:100%;margin:0}.chart{border:1px solid var(--border);border-radius:8px;padding:12px 16px}.chart__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.chart__reset-zoom{font:inherit;border:1px solid var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.elevation-chart__legend-swatch{background:var(--terrain-bg);border:1px solid var(--border);vertical-align:middle;border-radius:2px;width:10px;height:10px;display:inline-block}.chart__canvas{touch-action:none;width:100%}.split-table{border:1px solid var(--border);border-radius:8px;padding:12px 16px;overflow-x:auto}.debug-stats-table{margin:12px 0;font-size:13px}.app__settings-button{border:1px solid var(--border);width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;font-size:20px;line-height:1}.settings-modal__overlay{z-index:10;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.settings-modal__card{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(640px,100%);max-height:90vh;display:flex}.settings-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.settings-modal__header h2{margin:0;font-size:18px}.settings-modal__close{border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;font-size:20px;line-height:1}.settings-modal__body{padding:16px;overflow-y:auto}
