/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.ttf)format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-1.ttf)format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-2.ttf)format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-3.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-4.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-5.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-6.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-7.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/font-8.ttf)format("truetype")}:root:root{color-scheme:light dark;--color-primary:#063a34;--color-primary-hover:#005448;--color-secondary:#65d034;--color-accent:#b9f12a;--color-background:#f4faf2;--color-surface:#fff;--color-text:#1f2937;--color-text-muted:#6b7280;--color-border:#dfe8e2;--radius-card:22px;--radius-input:13px;--radius-button:14px;--ui-surface-soft:#edf3ef;--ui-surface-raised:#fff;--ui-selected:#e7f4d5;--ui-link:#005448;--ui-topbar:#f3f6f4f0;--ui-nav:#fffffff7;--ui-shadow:0 5px 24px #0b2b1f09;--ui-hero:linear-gradient(135deg,#063a34,#075b44);--ui-danger-bg:#fff0ec;--ui-danger-text:#a53627;--ui-warning-bg:#fff5dc;--ui-warning-text:#835800;--ui-success-bg:#e7f5e8;--ui-success-text:#266c35;--ui-backdrop:#08181375;--ui-chart-grid:#dfe8e2;--ui-welcome-glow:#a8ed172e}html body{background:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px}html body h1{letter-spacing:-.055em;font-weight:800;line-height:1.14}html body :is(h2,h3,h4){letter-spacing:-.035em;font-weight:750}html body a,html body button,html body input,html body select,html body textarea{-webkit-tap-highlight-color:transparent}html body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-link);outline-offset:4px}html body input[type=checkbox],html body input[type=radio]{accent-color:var(--ui-link)}html body input::placeholder,html body textarea::placeholder{color:var(--color-text-muted);opacity:.8}html body input:not([type=checkbox]):not([type=radio]),html body select,html body textarea{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);border-radius:var(--radius-input);min-height:48px}html body .race-fields label,html body .race-leg-times label,html body .race-panel .panel-head label,html body label{color:var(--color-text)}html body .button{border-radius:var(--radius-button);letter-spacing:-.015em;min-height:48px;padding:13px 18px;font-size:13px;font-weight:750}html body .race-hero .button.primary,html body :is(.primary,.lime,.button-primary){color:#063c2e;background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 3px 10px #70a60c1f}html body .race-hero .button.primary:hover,html body :is(.primary,.lime,.button-primary):hover{background:#b8f13b;border-color:#b8f13b}html body .outline,html body .race-hero .button.outline{background:var(--color-surface);color:var(--ui-link);border-color:var(--color-border);box-shadow:none}html body .outline:hover{background:var(--ui-surface-soft);border-color:var(--ui-link)}html body .text-button{color:var(--ui-link);min-height:40px;font-size:12px}html body .sidebar{background:var(--color-surface);border-color:var(--color-border);padding-top:28px}html body .workspace-label{color:var(--color-text-muted);letter-spacing:.13em;font-size:9px}html body .nav-item{min-height:45px;color:var(--color-text-muted);border-radius:12px;gap:12px;font-size:12px}html body .nav-item:hover{background:var(--ui-surface-soft);color:var(--color-text)}html body .nav-item.active{background:var(--ui-selected);color:var(--ui-link);font-weight:750}html body .topbar{background:var(--ui-topbar);border-color:var(--color-border);-webkit-backdrop-filter:blur(18px);height:76px}html body .breadcrumb{color:var(--color-text-muted)}html body .breadcrumb strong{color:var(--color-text);font-weight:650}html body :is(.version,.sidebar-bottom>p,.account small){color:var(--color-text-muted)}html body .avatar{background:var(--ui-selected);color:var(--ui-link);border:1px solid var(--color-border)}html body .page-head{margin-bottom:25px}html body .page-head h1{margin-bottom:9px;font-size:clamp(28px,3vw,39px)}html body .page-head p{color:var(--color-text-muted);font-size:13px}html body .eyebrow,html body .step-label{color:var(--ui-link);letter-spacing:.12em;font-size:10px}html body :is(.panel,.card,.picker-card,.catalog-card,.catalog-event){background:var(--color-surface);border-color:var(--color-border);border-radius:var(--radius-card);box-shadow:var(--ui-shadow)}html body :is(.panel-head,.profile-line,.saved-item,.saved-row,.race-row,.history-record,.catalog-race,.race-leg,.race-checkpoint,.picker-facts,.picker-portion,.onboarding-actions){border-color:var(--color-border)}html body .panel-head{padding-top:22px;padding-bottom:22px}html body .panel-head h3{font-size:14px}html body .hero,html body .race-hero{background:var(--ui-hero);color:#f8fff5;border:1px solid #ffffff12;border-radius:24px;box-shadow:0 12px 32px #003f361a}html body .hero h2{letter-spacing:-.06em;font-weight:750}html body :is(.hero,.race-hero,.onboarding-aside) .eyebrow{color:#c3f282}html body .race-hero small,html body :is(.hero,.race-hero) p{color:#c4ddcd}html body .stat{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--ui-shadow);border-radius:19px}html body .stat>strong{color:var(--color-text);letter-spacing:-.05em;font-weight:750}html body :is(.muted,.stat-top,.stat>strong small,.empty-small p,.runner-level small,.profile-line,.runner-card>.muted,.section-heading>span,.terrain-stat,.climb small,.map-note,.map-legend,.race-leg small,.race-leg p,.race-nutrition-totals span,.catalog-card p,.catalog-card small,.catalog-race p,.history-record p,.profile-intake-summary p,.auth-hint,.auth-footnote,.choice-card small,.optional,.legacy-choice small,.onboarding-fieldset legend,.onboarding-steps li,.onboarding-top>span,.account-loading p,.account-email,.trust-line,footer){color:var(--color-text-muted)}html body :is(.profile-line strong,.terrain-stat strong,.saved-row strong,.race-row strong,.nutrition-period header,.climb,td strong,.prediction-copy h3,.big-time){color:var(--color-text)}html body :is(.count,.tag,.empty-icon,.runner-symbol,.light-card,.profile-intake-summary,.onboarding-summary,.legacy-choice,.nutrition-intake,.nutrition-course-stats span,.race-nutrition-totals>div,.race-score,.race-elevation,.portion-num,.terrain-tag,.onboarding-steps li>span){background:var(--ui-surface-soft);color:var(--color-text-muted);border-color:var(--color-border)}html body :is(.dropzone,.choice-card,.difficulty-choice,.entry-option,.picker-search,.picker-select,.picker-tabs button,.picker-flavors button,.race-checkpoint){background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}html body :is(.choice-card.chosen,.difficulty-choice.chosen,.entry-option.active,.picker-tabs button.active,.picker-flavors button[aria-pressed=true],.segment-picker button.selected,.race-selection,.onboarding-steps li.current>span){background:var(--ui-selected);color:var(--ui-link);border-color:var(--ui-link);box-shadow:none}html body .entry-option{border-width:1px;border-radius:20px;transition:border-color .18s,background-color .18s}html body .entry-option.active{box-shadow:inset 0 0 0 1px var(--ui-link)}html body .entry-option strong{font-size:17px}html body :is(.entry-option,.dropzone,.picker-photo) svg{color:var(--ui-link)}html body .dropzone{border-style:dashed;border-radius:18px}html body .auth-tabs,html body .race-tabs{background:var(--ui-surface-soft);border:1px solid var(--color-border);border-radius:15px;padding:5px}html body .auth-tabs button,html body .race-tabs button{color:var(--color-text-muted);border-radius:11px;min-height:44px}html body .auth-tabs button.active,html body .race-tabs button.active{color:var(--color-text);background:var(--ui-surface-raised);box-shadow:0 2px 7px #0000000d}html body .picker-photo{background:radial-gradient(ellipse at 15% 0,var(--ui-selected),transparent 75%),var(--ui-surface-soft)}html body .picker-card.selected{border-color:var(--ui-link)}html body .picker-select[aria-pressed=true]{background:var(--ui-link);border-color:var(--ui-link);color:var(--color-surface)}html body .product-visual-missing{background:var(--ui-surface-soft);color:var(--color-text-muted)}html body .saved-row{background:var(--color-surface);color:var(--color-text)}html body .saved-row:hover{background:var(--ui-surface-soft)}html body .light-card p,html body .model-details,html body .model-details summary,html body .prediction-panel p,html body .race-row small,html body .saved-row small,html body .saved-time{color:var(--color-text-muted)}html body .race-ocr,html body .saved-icon,html body .segment-detail,html body .segment-picker button,html body .share-link,html body .upload-icon{background:var(--ui-surface-soft);border-color:var(--color-border);color:var(--color-text-muted)}html body .light-card h3{color:var(--color-text)}html body .prediction-panel{background:var(--ui-selected);border-color:var(--color-border);border-radius:22px}html body .prediction-copy{color:var(--color-text-muted);border-color:var(--color-border)}html body .map-note{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}html body .leaflet-control-layers label,html body .leaflet-popup-content{color:#263b30}html body .form-panel hr,html body .restore-label,html body .share-preview,html body .shared-link-row{border-color:var(--color-border)}html body input[type=file]::file-selector-button{background:var(--ui-surface-soft);color:var(--ui-link);border-radius:8px;padding:8px 10px}html body .danger{background:var(--ui-danger-bg);color:var(--ui-danger-text);border-color:var(--ui-danger-text)}@supports (color:color-mix(in lab,red,red)){html body .danger{border-color:color-mix(in srgb,var(--ui-danger-text) 28%,transparent)}}html body .product-visual:not(.product-visual-missing){background-color:#fff}html body .picker-photo .product-visual:not(.product-visual-missing){background-color:#0000}html body .demo-banner,html body .demo-notice,html body .inline-note,html body .race-demo-banner,html body .ravito-undo{background:var(--ui-selected);border-color:var(--color-border);color:var(--ui-link);border-radius:17px}html body .demo-banner .eyebrow,html body .demo-banner p,html body .inline-note p{color:var(--ui-link)}html body .alert,html body .race-barrier{border-color:var(--color-border);background:var(--ui-surface-soft);color:var(--color-text);border-radius:15px}html body .alert.error,html body .button.ravito-delete,html body .error,html body .race-barrier.missed{background:var(--ui-danger-bg);color:var(--ui-danger-text);border-color:var(--ui-danger-text)}@supports (color:color-mix(in lab,red,red)){html body .alert.error,html body .button.ravito-delete,html body .error,html body .race-barrier.missed{border-color:color-mix(in srgb,var(--ui-danger-text) 28%,transparent)}}html body .race-barrier:not(.tight):not(.missed),html body .success{background:var(--ui-success-bg);color:var(--ui-success-text)}html body .race-barrier b{color:inherit}html body .race-barrier.tight{background:var(--ui-warning-bg);color:var(--ui-warning-text);border-color:var(--ui-warning-text)}@supports (color:color-mix(in lab,red,red)){html body .race-barrier.tight{border-color:color-mix(in srgb,var(--ui-warning-text) 28%,transparent)}}html body .stock-warning{color:var(--ui-warning-text)}html body :is(.onboarding-shell,.account-loading){background:var(--color-background);color:var(--color-text)}html body .onboarding-aside{background:var(--ui-hero)}html body .account-loading,html body .onboarding-steps li.current,html body .password-field button,html body .sync-indicator{color:var(--ui-link)}html body .sync-indicator.saving{color:var(--ui-warning-text)}html body .sync-indicator.conflict,html body .sync-indicator.error{color:var(--ui-danger-text)}html body .account-access .auth-main{padding-bottom:max(32px,env(safe-area-inset-bottom))}html body .account-access .auth-main>h1{letter-spacing:-.05em}html body th{background:var(--ui-surface-soft);letter-spacing:.02em;font-size:10px}html body td,html body th{color:var(--color-text-muted)}html body td{border-color:var(--color-border);font-size:12px}html body .table-panel tfoot td{background:var(--ui-surface-soft);color:var(--color-text)}html body .recharts-cartesian-grid line{stroke:var(--ui-chart-grid)}html body .recharts-cartesian-axis-tick text{fill:var(--color-text-muted)}html body .recharts-default-tooltip{color:var(--color-text);box-shadow:var(--ui-shadow);border-radius:12px;background:var(--color-surface)!important;border-color:var(--color-border)!important}html body .app-shell .bottom-navigation{background:var(--ui-nav);border-color:var(--color-border);-webkit-backdrop-filter:blur(22px);padding-top:8px;box-shadow:0 -5px 28px #051e160f}html body .app-shell .bottom-navigation button{min-height:52px;color:var(--color-text-muted);border-radius:15px;gap:5px;font-size:10px;font-weight:650}html body .app-shell .bottom-navigation button[aria-current=page]{background:var(--ui-selected);color:var(--ui-link)}html body .app-shell .bottom-navigation button[aria-current=page] svg{stroke-width:2.4px}html body .app-shell .bottom-sheet-backdrop{background:var(--ui-backdrop)}html body .app-shell .bottom-sheet{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:28px 28px 0 0;box-shadow:0 -12px 60px #00000024}html body .bottom-sheet-close{color:var(--color-text-muted)}html body .welcome-screen{min-height:100svh;padding:max(20px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 22%,var(--ui-welcome-glow),transparent 48%),var(--color-background)}html body .welcome-header{justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:auto;display:flex}html body .welcome-header .brand-logo{flex-shrink:1;width:156px;height:auto}html body .welcome-header .text-button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:100px;flex-shrink:0;min-height:42px;padding:9px 14px;font-size:12px}html body .welcome-main{text-align:center;max-width:1050px;margin:auto;padding:28px 0 0}html body .welcome-visual{isolation:isolate;border:1px solid var(--color-border);background:var(--ui-hero);border-radius:36px;place-items:center;width:min(100%,460px);height:clamp(190px,30svh,290px);margin:0 auto 26px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 55px #003f361f}html body .welcome-visual>svg{color:#b9f12a;width:100%;height:100%;position:absolute;inset:0}html body .welcome-visual .brand-logo{z-index:1;object-fit:contain;background:#fff;border-radius:28px;width:100px;height:100px;padding:12px;position:relative;box-shadow:0 14px 35px #00181129}html body .welcome-copy{max-width:540px;margin:0 auto}html body .welcome-copy .eyebrow{margin-bottom:14px}html body .welcome-copy h1{text-wrap:balance;margin-bottom:17px;font-size:clamp(34px,5.4vw,58px);line-height:1.08}html body .welcome-copy>p{color:var(--color-text-muted);text-wrap:balance;max-width:380px;margin:0 auto;font-size:15px;line-height:1.6}html body .welcome-features{flex-wrap:wrap;justify-content:center;gap:8px;margin:22px auto 26px;display:flex}html body .welcome-features>span{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:100px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:12px;display:inline-flex}html body .welcome-features svg{color:var(--ui-link);width:16px;height:16px}html body .welcome-actions{gap:7px;max-width:400px;margin:auto;display:grid}html body .welcome-actions .button{border-radius:17px;min-height:56px;font-size:15px}html body .welcome-actions .text-button{justify-content:center;font-size:13px}html body .welcome-caption{color:var(--color-text-muted);text-align:center;margin:11px auto 0;font-size:11px;line-height:1.5;display:block}html body .guest-strip{border:1px solid var(--color-border);background:var(--ui-selected);color:var(--ui-link);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 24px;padding:12px 15px;font-size:12px;display:flex}html body .guest-strip>span{align-items:center;gap:8px;line-height:1.45;display:flex}html body .guest-strip button{color:var(--ui-link);background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;flex-shrink:0;min-height:40px;padding:9px 12px;font-size:11px;font-weight:750}html body .guest-auth-page{background:var(--color-background);min-height:100svh}html body .guest-auth-back{z-index:2;margin:max(14px,env(safe-area-inset-top)) 22px 0;border:1px solid var(--color-border);background:var(--color-surface);color:var(--ui-link);border-radius:12px;min-height:44px;padding:9px 12px;position:relative}html body .guest-auth-page .account-access{min-height:calc(100svh - 72px)}html body .guest-auth-backdrop{z-index:2000;background:var(--ui-backdrop);place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}html body .guest-auth-dialog{border:1px solid var(--color-border);background:var(--color-surface);width:min(100%,560px);max-height:calc(100svh - 40px);color:var(--color-text);border-radius:28px;position:relative;overflow-y:auto;box-shadow:0 24px 90px #0003}html body .guest-auth-close{z-index:2;background:var(--ui-surface-soft);width:44px;height:44px;color:var(--color-text);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}html body .guest-auth-intro{padding:28px 28px 0}html body .guest-auth-intro p{color:var(--color-text-muted)}html body .guest-auth-dialog .account-access{background:0 0;min-height:0;display:block}html body .guest-auth-dialog .onboarding-aside{display:none}html body .guest-auth-dialog .auth-main{padding:24px 28px}html body .launch-screen{background:radial-gradient(ellipse at 50% 42%,var(--ui-welcome-glow),transparent 55%),var(--color-background);color:var(--color-text)}html body .launch-name,html body .launch-wordmark{color:var(--color-text);font-family:var(--font-heading);letter-spacing:-.05em;font-weight:800}html body .launch-caption,html body .launch-tagline{color:var(--color-text-muted)}@media (min-width:901px){html body .welcome-main{padding-top:clamp(34px,5vh,70px)}html body .welcome-visual{width:460px}}@media (max-width:900px){html body .topbar{height:64px;padding-inline:20px}html body .main-shell>main{padding-top:24px}html body .page-head h1{font-size:30px}html body .race-tabs{flex-wrap:nowrap}html body .race-tabs button{flex-shrink:0;padding-inline:15px;font-size:12px}html body .race-panel{padding:20px}html body .panel-head{padding:19px 20px}html body .onboarding-main{padding-inline:22px}html body .guest-strip{margin-bottom:20px}}@media (max-width:480px){html body .main-shell>main{padding-inline:16px}html body .hero{border-radius:22px;min-height:320px}html body .hero-content{padding:26px 22px}html body .hero h2{font-size:32px}html body .hero p{max-width:270px;font-size:12px}html body .race-hero{border-radius:22px;padding:23px 20px}html body .stat{padding:17px}html body .stat>strong{font-size:27px}html body .entry-option{padding:17px 18px}html body .welcome-main{padding-top:24px}html body .welcome-visual{border-radius:30px;height:clamp(170px,25svh,230px);margin-bottom:26px}html body .welcome-copy h1{font-size:clamp(33px,9.4vw,43px)}html body .welcome-copy>p{font-size:14px}html body .welcome-features{gap:6px;margin-block:20px 23px}html body .welcome-features>span{padding:8px 10px;font-size:11px}html body .welcome-header .brand-logo{width:140px}html body .guest-strip{gap:9px;padding:11px 12px;font-size:11px}}@media (prefers-color-scheme:dark){:root:root{--color-background:#0c1714;--color-surface:#14231e;--color-text:#ecf5ee;--color-text-muted:#a3b6ab;--color-border:#2a3d33;--color-secondary:#75cf73;--ui-surface-soft:#1c3026;--ui-surface-raised:#2a4034;--ui-selected:#263d23;--ui-link:#b4e778;--ui-topbar:#0c1714f0;--ui-nav:#14231ef7;--ui-shadow:0 5px 24px #00000014;--ui-hero:linear-gradient(135deg,#053d32,#16482e);--ui-danger-bg:#3a211e;--ui-danger-text:#ffb6a5;--ui-warning-bg:#342e1a;--ui-warning-text:#f2d18b;--ui-success-bg:#1c3528;--ui-success-text:#a7ddb2;--ui-backdrop:#000000a8;--ui-chart-grid:#2a3d33;--ui-welcome-glow:#6fba2f1f}html body .brand-logo-black,html body .brand-logo-horizontal,html body .brand-logo-mini,html body .brand-logo-principal{background:0 0;border-radius:0;padding:0}html body .brand .brand-logo{height:auto}html body .onboarding-aside .brand-logo-white{background:0 0}html body .climb svg,html body .panel-head h3 svg,html body .stat-top svg,html body .up{color:#b4e778}html body .hard,html body .race-leg-times small{color:#efb38f}html body .picker-source,html body .race-source-link,html body .success-text{color:var(--ui-link)}html body .product-visual:not(.product-visual-missing){border-radius:13px}html body .race-elevation polyline,html body .recharts-area-curve{stroke:#b4e778}html body .race-elevation line[stroke=\#e5eee7]{stroke:var(--ui-chart-grid)}html body .race-elevation rect{fill:#31492b}}@media (prefers-reduced-motion:reduce){html body *,html body :after,html body :before{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{:root:root{color-scheme:light;--color-background:#fff;--color-surface:#fff;--color-text:#111;--color-text-muted:#444;--color-border:#ccc;--ui-surface-soft:#f1f4ef;--ui-link:#063a34}html body .guest-strip,html body .launch-screen{display:none!important}}.brand-picture{display:contents}@media (prefers-color-scheme:dark){html body .brand-logo-icon{width:180px;height:auto}}.subscription-offers{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0;display:grid}.subscription-panel>.button{margin:8px 12px 8px 0}.topbar-brand .brand-logo{object-fit:contain;max-height:52px}:root:root{--layout-block-gap:24px;--layout-section-gap:32px;--layout-grid-gap:20px}html body .history-intro:has(+.hero),html body .race-panel:has(+.hero),html body .ravito-undo:has(+.hero){margin-block-end:0}html body .history-intro+.hero,html body .race-panel+.hero,html body .ravito-undo+.hero{margin-block-start:var(--layout-block-gap)}html body .hero.hero-compact{min-height:200px}html body .hero.hero-compact .hero-content{padding:24px 28px}html body .hero.hero-compact h2{max-width:24ch;margin-block:12px 10px;font-size:28px;line-height:1.2}html body .hero.hero-compact p{max-width:54ch;margin-block-end:16px;font-size:13px;line-height:1.55}html body .hero.hero-compact .hero-caption{margin-block-start:12px}html body .hero.hero-compact .mountain-art{opacity:.28;pointer-events:none;width:46%}html body .hero.hero-compact .mountain-label{display:none}html body .app-shell .bottom-sheet{overscroll-behavior:contain;max-height:min(80dvh,650px);overflow-y:auto}html body .history-intro{padding:24px}html body .history-intro>.eyebrow{margin-block-end:10px;line-height:1.5;display:block}html body .history-intro>h2{letter-spacing:-.04em;text-wrap:balance;max-width:40ch;margin-block:0 12px;font-size:clamp(22px,2.2vw,28px);line-height:1.23}html body .history-intro>p{max-width:76ch;color:var(--color-text-muted);margin-block:0 18px;line-height:1.65}html body .history-intro>:last-child{margin-block-end:0}html body .history-workspace{display:grid}html body .history-workspace,html body .race-planner,html body .race-section{gap:var(--layout-block-gap);min-width:0}html body .history-workspace>*,html body .race-planner>*,html body .race-section>*{min-width:0;margin-block:0}html body .analysis-grid,html body .dashboard-grid,html body .new-grid,html body .settings-grid{gap:var(--layout-grid-gap)}html body .hero+.section-heading{margin-block:var(--layout-section-gap) 16px}html body .course-entry+.button,html body .dashboard-grid+.demo-banner{margin-block-start:var(--layout-block-gap)}html body .course-entry>:last-child{margin-block-end:0}html body .main-shell main footer{margin-block-start:var(--layout-section-gap)}@media (min-width:901px){html body .hero.hero-compact .hero-content{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:24px;width:100%;display:grid}html body .hero.hero-compact .hero-caption,html body .hero.hero-compact .pill,html body .hero.hero-compact h2,html body .hero.hero-compact p{grid-column:1}html body .hero.hero-compact .pill{grid-row:1}html body .hero.hero-compact h2{grid-row:2}html body .hero.hero-compact p{grid-row:3;margin-block-end:0}html body .hero.hero-compact .hero-caption{grid-row:4}html body .hero.hero-compact .hero-content>.button{grid-area:2/2/span 2;align-self:center;max-width:220px}}@media (max-width:900px){:root:root{--layout-block-gap:20px;--layout-section-gap:28px;--layout-grid-gap:16px}html body .history-intro{padding:20px}html body .hero.hero-compact{min-height:230px}html body .hero.hero-compact .hero-content{width:100%;padding:22px}html body .hero.hero-compact h2{font-size:26px}html body .hero.hero-compact .mountain-art{opacity:.18;width:66%;right:-60px}html body .history-intro>h2{max-width:30ch;font-size:23px;line-height:1.27}html body .history-intro>p{margin-block-end:16px;font-size:13px}html body .history-intro>:last-child{margin-block-end:0}html body .history-intro>.button{text-align:center;width:100%;line-height:1.4}html body .main-shell main footer{gap:12px;padding-block:20px}}@media print{:root:root{--layout-block-gap:12px;--layout-section-gap:16px;--layout-grid-gap:12px}html body .history-intro{break-inside:avoid}}:root{--color-primary:#003f36;--color-primary-hover:#005448;--color-secondary:#38b84a;--color-accent:#a8ed17;--color-background:#f7faf6;--color-surface:#fff;--color-text:#122821;--color-text-muted:#6b7b72;--color-border:#e5eee7;--font-heading:"Manrope",sans-serif;--font-body:"Inter",sans-serif;--radius-card:16px;--radius-input:10px;--radius-button:12px;--spacing-unit:8px;--transition-fast:.18s ease;--forest:var(--color-primary);--ink:var(--color-text);--muted:var(--color-text-muted);--lime:var(--color-accent);--bg:var(--color-background);--line:var(--color-border)}*{box-sizing:border-box}body{background:var(--bg);font-family:var(--font-body);color:var(--ink);margin:0;font-size:14px}button,input,select{font:inherit}a,button,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #7eaa45}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1px;margin-bottom:10px;font-size:29px;line-height:1.25}h1,h2{font-weight:600}h2{letter-spacing:-.6px;font-size:23px}h3{font-size:15px;font-weight:600}p{line-height:1.65}small{font-size:12px}button svg{flex-shrink:0}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:1000;background:#fff;flex-direction:column;width:242px;padding:35px 20px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.4px;white-space:nowrap;align-items:center;margin:0 11px 48px;font-size:25px;font-weight:800;display:flex}.brand>span:not(.brand-mark):not(.brand-dot){font-weight:400}.brand-mark{margin-right:8px;display:flex}.brand-dot{background:#a0bc66;border-radius:50%;width:6px;height:6px;margin:15px 0 0 3px}.workspace-label{letter-spacing:1.7px;color:#9a9f94;margin:0 15px 19px;font-size:9px;font-weight:700}.sidebar nav{flex-direction:column;gap:7px;display:flex}.nav-item{color:#747e72;text-align:left;white-space:nowrap;background:0 0;border-radius:7px;align-items:center;gap:12px;padding:13px 14px;font-size:12px;display:flex}.nav-item:hover{color:#2b4a35;background:#f4f6ef}.nav-item.active{color:#33573e;background:#edf3e4;font-weight:700}.nav-dot{background:#89a95b;border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:45px}.local-badge{color:#68775f;align-items:center;gap:8px;margin-left:13px;font-size:10px;display:flex}.local-badge span{background:#84a762;border-radius:50%;width:6px;height:6px}.sidebar-bottom>p{color:#9b9f94;margin:8px 0 25px 13px;font-size:9px}.account{border-top:1px solid var(--line);gap:10px;padding:22px 0}.account,.avatar{align-items:center;display:flex}.avatar{background:#e8eddc;border:3px solid #fff;border-radius:50%;justify-content:center;width:37px;height:37px;font-size:12px;font-weight:700;box-shadow:0 0 0 1px #e8eadd}.account strong{font-size:11px;display:block}.account small{color:#90978a;margin-top:5px;font-size:9px;display:block}.account button{color:#8b9486;background:0 0;margin-left:auto}.main-shell{width:calc(100% - 242px);margin-left:242px}.topbar{border-bottom:1px solid var(--line);background:#ffffffb3;justify-content:space-between;height:78px;padding:0 43px}.breadcrumb,.topbar{align-items:center;display:flex}.breadcrumb{color:#91978c;gap:12px;font-size:11px}.breadcrumb strong{color:#4a5948;font-weight:500}.top-right{align-items:center;gap:22px;display:flex}.version{letter-spacing:1px;color:#9ba18e;font-size:9px}.small.avatar{width:30px;height:30px;font-size:10px}.mobile-menu{display:none}main{max-width:1560px;margin:auto;padding:39px 43px 0}.page-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px;display:flex}.eyebrow{letter-spacing:1.7px;color:#829174;margin-bottom:12px;font-size:9px;font-weight:700}.page-head p{color:#858d80;margin:0;font-size:12px}.button{border-radius:var(--radius-button);justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 17px;font-size:11px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.primary{background:var(--color-accent);color:var(--color-primary)}.primary:hover{background:#96d513}.lime{background:var(--lime);color:#213e2b}.lime:hover{background:#e0f3b3}.outline{color:#475c3c;background:#fff;border:1px solid #dfe5d6}.outline:hover{background:#f4f7ed}.wide{width:100%}.text-button{color:#537445;background:0 0;align-items:center;gap:9px;padding:8px 0;font-size:11px;font-weight:600;display:inline-flex}.hero{color:#fff;background:#1c402f;border-radius:12px;min-height:342px;display:flex;position:relative;overflow:hidden}.hero-content{z-index:2;width:70%;padding:32px 36px;position:relative}.pill{letter-spacing:1.4px;color:#dce7d0;align-items:center;gap:8px;font-size:8px;display:inline-flex}.pill span{background:#c6e78e;border-radius:50%;width:5px;height:5px}.hero h2{letter-spacing:-1.2px;margin:21px 0 16px;font-size:38px;font-weight:500;line-height:1.18}.hero h2 em{color:#d1e7a7;font-style:normal}.hero p{color:#b5c5ae;margin-bottom:20px;font-size:11px;line-height:1.8}.hero-caption{color:#9fb595;align-items:center;gap:6px;margin-top:16px;font-size:9px;display:flex}.hero-caption span{margin:0 5px}.mountain-art{width:53%;height:100%;position:absolute;bottom:-14px;right:-10px}.mountain-art>svg{object-fit:cover;width:100%;height:100%}.mountain-label{color:#a9bf9d;gap:10px;font-size:10px;line-height:1.5;display:flex;position:absolute;bottom:45px;right:50px}.mountain-label strong{color:#d1ddc9;font-weight:400}.section-heading{justify-content:space-between;align-items:center;margin:30px 0 16px;display:flex}.section-heading h2{letter-spacing:-.3px;margin:0;font-size:18px}.section-heading>span{color:#98a08e;font-size:10px}.panel{border:1px solid var(--line);border-radius:var(--radius-card);background:#fff}.dashboard-grid{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}.panel-head{border-bottom:1px solid #f0f1ea;justify-content:space-between;gap:10px;padding:20px 23px}.panel-head,.panel-head h3{align-items:center;display:flex}.panel-head h3{gap:9px;margin:0;font-size:12px}.panel-head h3 svg{color:#7b8f66}.count{color:#8a9876;background:#f2f5eb;border-radius:4px;padding:3px 7px;font-size:10px}.empty-small{text-align:center;padding:27px 20px}.empty-icon{color:#849672;background:#f2f5eb;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 15px;display:flex}.empty-small h3{margin-bottom:7px;font-size:13px}.empty-small p{color:#91988a;margin-bottom:10px;font-size:11px}.status-dot{background:#b3c498;border-radius:50%;width:6px;height:6px}.runner-card{padding-bottom:20px}.runner-level{gap:12px;padding:20px 23px 14px}.runner-level,.runner-symbol{align-items:center;display:flex}.runner-symbol{color:#7c9758;background:#f0f5e6;border-radius:50%;justify-content:center;width:45px;height:45px}.runner-level small{letter-spacing:1px;color:#9ba58d;margin-bottom:5px;font-size:8px;display:block}.runner-level strong{font-size:16px;font-weight:500}.profile-line{color:#8a9381;justify-content:space-between;align-items:center;margin:11px 23px;font-size:10px;display:flex}.profile-line strong{color:#4c5e41}.tag{color:#7d905f;background:#f1f5e9;border-radius:4px;padding:4px 7px;font-size:9px;font-weight:500;display:inline-block}.runner-card>.muted{margin:16px 23px;font-size:10px}.runner-card>.button{width:calc(100% - 46px);margin:0 23px}.muted{color:#8a9380;font-size:12px}.demo-banner{background:#eef2e5;border:1px solid #e2e8d6;border-radius:9px;gap:21px;margin-top:22px;padding:22px 25px}.demo-banner,.demo-compass{align-items:center;display:flex}.demo-compass{color:#849c60;border:1px solid #d6dfc5;border-radius:50%;flex-shrink:0;justify-content:center;width:52px;height:52px}.demo-banner .eyebrow{margin-bottom:8px;font-size:8px}.demo-banner h3{letter-spacing:-.2px;margin-bottom:6px;font-size:15px}.demo-banner p{color:#929d80;margin:0;font-size:10px}.demo-banner>.button{background:0 0;flex-shrink:0;margin-left:auto}.trust-line{color:#a2a891;justify-content:center;gap:8px;margin:22px 0 35px}.trust-line,footer{align-items:center;font-size:9px;display:flex}footer{border-top:1px solid var(--line);color:#a1a793;justify-content:space-between;gap:16px;margin-top:35px;padding:21px 0}.footer-brand{color:#7e8c70;gap:7px;font-size:11px;font-weight:600}.alert,.footer-brand{align-items:center;display:flex}.alert{border:1px solid;border-radius:8px;gap:10px;margin-bottom:20px;padding:14px 17px;font-size:12px}.alert button{color:inherit;background:0 0;margin-left:auto}.error{color:#9d4534;background:#fff3ec;border-color:#f3d6c5}.success{color:#4f713b;background:#eef6e5;border-color:#d9e9cb}.empty{text-align:center;min-height:350px;padding:70px 20px}.empty p{color:#909980}.empty .text-button{margin:15px auto;display:flex}.new-grid,.settings-grid{grid-template-columns:1.3fr 1fr;gap:24px;display:grid}.form-panel,.reference-card,.upload-panel{padding:28px}.step-label{color:#8d9c79;letter-spacing:1.5px;margin-bottom:20px;font-size:9px;display:block}.reference-card h2,.upload-panel h2{margin-bottom:12px}.dropzone{text-align:center;background:#f9fbf5;border:1.5px dashed #b7c5a2;border-radius:10px;margin-top:28px;padding:38px 20px}.dropzone h3{margin:20px 0 8px}.dropzone p{color:#8c9980;font-size:12px}.dropzone small{color:#9aa58e;margin-top:20px;font-size:10px;display:block}.upload-icon{color:#779451;background:#edf3e2;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:auto;display:flex}.inline-note{color:#7e8f6a;gap:10px;margin-top:22px;font-size:11px;display:flex}.inline-note svg{flex-shrink:0}.inline-note p{margin:0;font-size:11px}.reference-card p{margin-bottom:25px}label{color:#617253;margin:20px 0;font-size:11px;font-weight:600;display:block}input,select{color:#34452f;background:#fff;border:1px solid #dfe6d5;border-radius:6px;width:100%;min-height:42px;margin-top:9px;padding:12px 13px;font-size:13px;display:block}input[readonly]{background:#f2f5ed}input[type=file]{padding:9px;font-size:10px}input[type=file]::file-selector-button{color:#546c40;background:#eef3e5;border:0;border-radius:3px;margin-right:10px;padding:6px}.light-card{color:#7b925e;background:#edf2e4;border-radius:10px;margin-top:20px;padding:28px}.light-card h3{color:#415d31;margin-top:17px}.light-card p{font-size:12px}.course-title{justify-content:space-between;align-items:center;gap:20px;margin:25px 0;display:flex}.course-title h2{margin:0;font-size:25px}.course-title .eyebrow{margin-bottom:9px}.actions{flex-wrap:wrap;gap:10px;display:flex}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.prediction-context,.stats-grid{margin-bottom:24px}.prediction-context h3{margin-bottom:14px}.prediction-context p:last-child{margin-bottom:0}.prediction-scenarios{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.prediction-scenarios>div{border:1px solid var(--color-border);border-radius:var(--radius-input);flex-direction:column;gap:3px;padding:12px;display:flex}.prediction-scenarios>div:nth-child(2){background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}.prediction-scenarios span{font-size:12px}.prediction-scenarios strong{white-space:nowrap;font-size:clamp(15px,2vw,22px)}.strategy-comparison,.strategy-controls{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0;display:grid}.strategy-comparison>div,.strategy-controls label{border:1px solid var(--color-border);border-radius:var(--radius-input);flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.strategy-comparison strong,.strategy-controls label strong{color:var(--color-primary);font-size:18px}.strategy-controls input[type=range]{width:100%;accent-color:var(--color-secondary)}.strategy-comparison>div:nth-child(2){border-color:var(--color-secondary);background:var(--color-secondary)}@supports (color:color-mix(in lab,red,red)){.strategy-comparison>div:nth-child(2){background:color-mix(in srgb,var(--color-secondary) 9%,var(--color-surface))}}.strategy-comparison small{color:var(--color-text-muted)}.strategy-checkpoints{margin:14px 0 18px}.strategy-checkpoints>div{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.strategy-checkpoints strong{text-align:right}@media (max-width:380px){.prediction-scenarios{gap:6px}.prediction-scenarios>div{padding:8px}.prediction-scenarios strong{font-size:14px}}.stat{padding:20px}.stat-top{color:#8d9980;justify-content:space-between;gap:8px;margin-bottom:18px;font-size:10px;display:flex}.stat-top svg{color:#84986a;width:17px;height:17px}.stat>strong{letter-spacing:-.8px;white-space:nowrap;font-size:27px;font-weight:500;display:block}.stat>strong small{color:#97a18b;letter-spacing:0;margin-left:7px;font-size:12px;font-weight:400}.demo-notice{color:#6e8553;background:#edf3e0;border:1px solid #dce7cc;border-radius:7px;align-items:center;gap:10px;padding:10px 15px;font-size:10px;display:flex}.demo-notice .text-button{margin-left:auto}.analysis-grid{grid-template-columns:1.8fr 1fr;gap:20px;display:grid}.map-panel{overflow:hidden}.map-loading,.route-map{z-index:1;background:#e6ebde;width:100%;height:330px}.map-wrap{position:relative}.map-note{z-index:500;color:#667556;pointer-events:none;background:#ffffffde;border-radius:4px;max-width:65%;padding:7px;font-size:9px;position:absolute;bottom:15px;left:10px}.map-legend{color:#8c9980;gap:18px;padding:14px 20px;font-size:9px;display:flex}.map-legend span{align-items:center;gap:6px;display:flex}.map-legend i{width:16px;height:3px;display:inline-block}.green{background:#1d604a}.lime-bg{background:#a7c950}.orange{background:#e36c39}.terrain-card{padding:23px}.terrain-card>h3{margin-bottom:21px}.terrain-stat{color:#8c977e;border-bottom:1px solid #eff1e9;justify-content:space-between;padding:12px 0;font-size:11px;display:flex}.terrain-stat strong{color:#435c32;align-items:center;gap:6px;font-weight:500;display:flex}.climb-list{margin-top:25px}.climb-list .eyebrow{letter-spacing:1px;font-size:8px}.climb{text-align:left;color:#627b48;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:10px 0;font-size:10px;display:flex}.climb small{color:#9aa88a;margin-top:5px;font-size:9px;display:block}.climb:hover{background:#f8faf3}.profile-panel{margin-top:22px;overflow:hidden}.elevation{padding:8px 10px 0}.segment-picker{flex-wrap:wrap;gap:5px;padding:10px 25px 20px;display:flex}.segment-picker button{color:#7b8e63;background:#f0f4e8;border-radius:3px;min-width:24px;height:26px;font-size:9px}.segment-picker button.selected{color:#314c1e;background:#d9eca7}.segment-detail{background:#f3f7e9;flex-wrap:wrap;gap:20px;padding:17px 25px;font-size:11px;display:flex}.segment-detail p{color:#897;width:100%;margin:0;font-size:11px}.model-details{color:#839273;margin-top:22px;padding:20px 24px;font-size:12px;line-height:1.8}.model-details summary{cursor:pointer;color:#50673d;font-weight:600}.model-details p{margin:15px 0 0}.prediction-panel{background:#edf3e2;border:1px solid #e0e8d5;border-radius:10px;grid-template-columns:1fr 1fr;gap:45px;margin-bottom:24px;padding:30px;display:grid}.big-time{letter-spacing:-2px;color:#28452a;margin:22px 0 12px;font-size:54px;font-weight:500}.prediction-panel p{color:#7f916d;font-size:12px}.prediction-copy{color:#6d8850;border-left:1px solid #dce4cf;padding-left:35px}.prediction-copy h3{color:#3c5930;margin:15px 0 10px;font-size:20px;line-height:1.3}.table-panel{overflow:hidden}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}th{color:#97a18b;background:#f9faf5;padding:14px 16px;font-size:9px;font-weight:500}td{color:#829173;border-top:1px solid #eff1e9;padding:15px 16px;font-size:10px}td strong{color:#39592e}.portion-num{background:#f1f5e9;justify-content:center;align-items:center;width:22px;height:22px;margin-right:10px;display:inline-flex}.portion-num,.terrain-tag{border-radius:4px;font-size:9px}.terrain-tag{color:#859b70;background:#f0f4ea;padding:4px 6px}.terrain-tag.uphill{color:#9d9a4e;background:#f2f1dc}.up{color:#5e7c45}.hard{background:#fbf8ec}tbody tr:hover{background:#f2f6e8}.table-panel tfoot td{color:#4b6737;background:#edf3e2;font-weight:600}.form-panel h2{font-size:20px}.form-row{gap:15px;display:flex}.form-row label{width:50%;margin-top:0}.race-row{border-bottom:1px solid #e8edde;justify-content:space-between;align-items:center;padding:19px 0;display:flex}.race-row strong{font-size:13px}.race-row small{color:#899a76;margin:8px 0;font-size:11px;display:block}.icon-button{color:#a1aa93;background:0 0;padding:8px}.danger{color:#a6644a;background:#fbede6;border:1px solid #f0d7ca}.restore-label{border:1px dashed #dbe2cf;border-radius:7px;padding:15px}.form-panel hr{border:0;border-top:1px solid #e6ebdc;margin:25px 0}.success-text{color:#5c7d41;font-size:12px}.saved-row{text-align:left;background:#fff;border-bottom:1px solid #eff2e9;align-items:center;gap:12px;width:100%;padding:20px;display:flex}.saved-row:hover{background:#f9fbf5}.saved-row strong{font-size:12px;font-weight:500}.saved-row small{color:#9ca68f;margin-top:8px;font-size:10px;display:block}.saved-icon{color:#829966;background:#f1f5e9;border-radius:7px;padding:10px;display:flex}.saved-time{color:#7b8d63;white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.backdrop{display:none}.small-text{font-size:10px}@media (min-width:1600px){main{padding-top:50px}.hero{min-height:380px}.hero h2{font-size:44px}.hero-content{padding:40px}.hero p,.nav-item{font-size:13px}}@media (max-width:1200px){.sidebar{width:210px;padding-left:12px;padding-right:12px}.main-shell{width:calc(100% - 210px);margin-left:210px}main{padding:30px 25px 0}.topbar{padding:0 25px}.hero h2{font-size:32px}.hero-content{width:75%;padding:30px}.mountain-art{right:-60px}.page-head{align-items:flex-start}.page-head h1{font-size:25px}.page-head .button{flex-shrink:0}.stat>strong{font-size:22px}.analysis-grid{grid-template-columns:1.5fr 1fr}.demo-banner{gap:14px;padding:18px}.demo-banner h3{font-size:13px}.demo-banner>.button{font-size:10px}.trust-line{font-size:8px}.new-grid,.settings-grid{grid-template-columns:1.15fr 1fr}}@media (max-width:900px){.sidebar{width:185px}.main-shell{width:calc(100% - 185px);margin-left:185px}.brand{margin-left:5px;font-size:22px}.nav-item{gap:9px;padding:12px 9px;font-size:10px}.workspace-label{font-size:8px}.sidebar-bottom{padding-top:20px}.local-badge,.sidebar-bottom>p{font-size:8px}.analysis-grid,.dashboard-grid,.new-grid,.settings-grid{grid-template-columns:1fr}.hero h2{font-size:31px}.hero-content{width:100%}.mountain-art{opacity:.5;width:75%;right:-130px}.mountain-label{display:none}.demo-banner,.page-head{flex-wrap:wrap}.demo-banner>.button{margin-left:72px}.section-heading>span{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.prediction-panel{gap:20px;padding:25px}.prediction-copy{padding-left:20px}.big-time{font-size:38px}.prediction-copy h3{font-size:17px}.course-title{align-items:flex-start}.course-title,.demo-notice{flex-wrap:wrap}.demo-notice .text-button{margin-left:0}.demo-notice span{width:100%}footer>span:nth-child(2){display:none}.trust-line{line-height:1.6}.runner-card>.muted{font-size:11px}}@media (max-width:640px){.sidebar{width:242px;transition:transform .2s;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar.mobile-open .brand{font-size:25px}.sidebar.mobile-open .nav-item{padding:13px 14px;font-size:12px}.sidebar.mobile-open .local-badge{font-size:10px}.main-shell{width:100%;margin-left:0}.backdrop{z-index:999;background:#183e3060;display:block;position:fixed;inset:0}.topbar{height:65px;padding:0 20px}.topbar>div:first-child{align-items:center;gap:12px;display:flex}.mobile-menu{color:#546845;background:0 0;padding:0;display:flex}.breadcrumb{gap:6px}.breadcrumb,.breadcrumb>strong{font-size:10px}.version{display:none}.top-right{gap:0}main{padding:25px 18px 0}.page-head{gap:16px;margin-bottom:22px}.eyebrow{letter-spacing:1.3px;font-size:8px}.page-head h1{max-width:350px;font-size:25px}.page-head p{font-size:11px}.page-head>.button{width:100%}.hero{min-height:360px}.hero-content{padding:28px 24px}.hero h2{margin:25px 0 18px;font-size:30px;line-height:1.2}.hero p{max-width:260px;line-height:1.8}.hero p br{display:none}.pill{font-size:7px}.mountain-art{opacity:.4;width:90%;bottom:-45px;right:-130px}.hero-caption{font-size:8px}.section-heading h2{font-size:17px}.dashboard-grid{gap:17px}.demo-banner{gap:14px;padding:20px}.demo-compass{width:40px;height:40px}.demo-banner>div{width:calc(100% - 55px)}.demo-banner h3{line-height:1.4}.demo-banner p{font-size:10px}.demo-banner>.button{margin:3px 0 0 54px}.trust-line{align-items:flex-start;margin-bottom:20px;font-size:8px}.trust-line svg{flex-shrink:0}footer{gap:10px;margin-top:25px;font-size:8px}.form-panel,.reference-card,.upload-panel{padding:23px}.upload-panel h2{font-size:22px}.dropzone{padding:30px 12px}.new-grid{gap:18px}.course-title h2{font-size:23px}.actions .button{padding:11px 13px;font-size:10px}.stats-grid{gap:10px}.stat{padding:17px}.stat-top{min-height:23px;margin-bottom:10px;font-size:9px}.stat>strong{font-size:23px}.stat>strong small{margin-left:4px;font-size:10px}.panel-head{padding:18px}.map-legend,.small-text{font-size:8px}.map-legend{gap:12px;padding:14px}.route-map{height:290px}.prediction-panel{grid-template-columns:1fr;gap:25px;padding:24px}.big-time{font-size:48px}.prediction-copy{border-top:1px solid #dce4cf;border-left:0;padding:23px 0 0}.prediction-copy h3 br{display:none}.prediction-copy h3{font-size:19px}.prediction-copy>svg{display:none}.table-panel .panel-head{flex-wrap:wrap}.model-details{padding:18px;font-size:11px}.saved-time{gap:3px;font-size:10px}.saved-row{gap:9px;padding:16px}.saved-row strong{font-size:11px}.saved-row small{font-size:9px}.saved-icon{padding:8px}.segment-detail{gap:12px;padding:17px}.form-row{gap:10px}.breadcrumb>svg{width:10px}button{min-height:32px}.segment-picker button{min-width:30px;min-height:30px}}.mountain-label svg{flex-shrink:0;width:17px;height:17px}.mountain-label>div{min-width:100px}.onboarding-shell{background:#fbfcf8;grid-template-columns:minmax(300px,37%) 1fr;min-height:100vh;display:grid}.onboarding-aside{color:#fff;background:#1c402f;flex-direction:column;justify-content:space-between;min-height:100vh;padding:44px 50px;display:flex}.onboarding-aside .brand{color:#eef4e6;gap:7px;margin:0;font-size:29px}.onboarding-aside>div{padding:65px 0 35px}.onboarding-aside h1{letter-spacing:-1.8px;margin:28px 0;font-size:51px;font-weight:500;line-height:1.15}.onboarding-aside h1 em{color:#d6ed99;font-style:normal}.onboarding-aside p{color:#bbcdb1;max-width:300px;font-size:13px}.onboarding-private{margin:0;line-height:1.9;font-size:10px!important}.onboarding-trail{color:#a9c27e;align-items:center;gap:14px;margin-top:40px;display:flex}.onboarding-trail>span{border-top:2px dashed #8ca46f;width:70px;transform:rotate(-15deg)}.onboarding-main{width:100%;max-width:850px;margin:auto;padding:38px 64px 55px}.onboarding-top{justify-content:space-between;align-items:center;min-height:36px;margin-bottom:30px;display:flex}.onboarding-top>span{letter-spacing:1.6px;color:#859575;font-size:10px}.onboarding-steps{gap:24px;margin:0 0 42px;padding:0;list-style:none;display:flex}.onboarding-steps li{color:#9aa68e;align-items:center;gap:8px;font-size:10px;display:flex}.onboarding-steps li>span{border:1px solid #dce5d0;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;display:flex}.onboarding-steps li.current{color:#365c2c;font-weight:600}.onboarding-steps li.current>span{background:#e3eecf;border-color:#d3e2bb}.onboarding-form h2{letter-spacing:-1px;margin-bottom:12px;font-size:31px}.onboarding-form>.muted{margin-bottom:27px;font-size:12px}.onboarding-fieldset{border:0;margin:25px 0;padding:0}.onboarding-fieldset legend{color:#617253;margin-bottom:12px;font-size:11px;font-weight:600}.level-choices{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.choice-card{cursor:pointer;background:#fff;border:1px solid #e0e6d8;border-radius:8px;margin:0;padding:16px 12px;display:block}.choice-card.chosen,.difficulty-choice.chosen{background:#f0f6e5;border-color:#8aa661;box-shadow:0 0 0 1px #8aa661}.choice-card input{accent-color:#3b6130;width:16px;height:16px;min-height:16px;margin:0 0 13px}.choice-card strong{font-size:12px;display:block}.choice-card small{color:#8c9b7b;margin-top:7px;line-height:1.5;display:block}.choice-card small,.optional{font-size:10px;font-weight:400}.optional{color:#9aa68b}.difficulty-choices{gap:10px;display:grid}.difficulty-choice{cursor:pointer;background:#fff;border:1px solid #e0e6d8;border-radius:7px;align-items:center;gap:13px;margin:0;padding:13px 15px;font-size:12px;font-weight:500;display:flex}.difficulty-choice input{accent-color:#3b6130;width:16px;height:16px;min-height:16px;margin:0;padding:0}.onboarding-form textarea{width:100%;font:inherit;resize:vertical;color:#34452f;background:#fff;border:1px solid #dfe6d5;border-radius:6px;margin-top:9px;padding:12px 13px;font-size:12px;line-height:1.6;display:block}.onboarding-summary{color:#647d4c;background:#eef4e4;border-radius:9px;align-items:flex-start;gap:14px;margin-top:24px;padding:20px;display:flex}.onboarding-summary svg{flex-shrink:0}.onboarding-summary strong{font-size:12px}.onboarding-summary p{margin:9px 0 0;font-size:11px;line-height:1.8}.onboarding-actions{border-top:1px solid #e5eadf;justify-content:space-between;gap:12px;margin-top:30px;padding-top:24px;display:flex}.onboarding-actions .primary{margin-left:auto}.profile-intake-summary{background:#f4f7ed;border-radius:8px;margin:22px 0 16px;padding:18px}.profile-intake-summary>strong{font-size:12px}.profile-intake-summary p{color:#7d8e6c;overflow-wrap:anywhere;margin:9px 0 0;font-size:11px;line-height:1.7}.onboarding-form input:focus-visible,.onboarding-form textarea:focus-visible{outline-offset:3px;outline:3px solid #7eaa45}@media (max-width:1100px){.onboarding-aside{padding:35px}.onboarding-aside h1{font-size:40px}.onboarding-main{padding:30px 35px}.onboarding-steps{gap:15px}.onboarding-steps li{font-size:9px}}@media (max-width:760px){.onboarding-shell{display:block}.onboarding-aside{min-height:0;padding:22px 24px}.onboarding-aside .brand{font-size:25px}.onboarding-aside .onboarding-private,.onboarding-aside>div{display:none}.onboarding-main{max-width:600px;padding:25px 22px 38px}.onboarding-top{margin-bottom:20px}.onboarding-steps{justify-content:space-between;gap:14px;margin-bottom:32px}.onboarding-steps li{gap:5px;font-size:9px}.onboarding-steps li>span{flex-shrink:0;width:22px;height:22px}.onboarding-form h2{font-size:27px}.level-choices{gap:7px}.choice-card{padding:14px 9px}.choice-card strong{font-size:11px}.choice-card small{font-size:9px}.onboarding-actions .button{font-size:11px}.onboarding-top>span{font-size:9px}.onboarding-summary{padding:17px}.onboarding-form .eyebrow{font-size:8px}}@media (max-width:360px){.onboarding-main{padding-left:16px;padding-right:16px}.onboarding-steps{gap:8px}.onboarding-steps li{font-size:8px}}.auth-main{max-width:650px}.auth-main>h1{margin:15px 0;font-size:33px}.auth-main>.muted{margin-bottom:26px}.auth-tabs{background:#edf2e6;border-radius:8px;margin-bottom:23px;padding:4px;display:flex}.auth-tabs button{color:#7d8e68;background:0 0;border-radius:6px;width:50%;padding:12px 10px;font-size:12px}.auth-tabs button.active{color:#294c30;background:#fff;font-weight:600;box-shadow:0 2px 5px #223a1e0a}.auth-label{align-items:center;gap:8px;display:flex}.password-field{position:relative}.password-field input{padding-right:45px}.password-field button{color:#8b997c;background:0 0;padding:8px;position:absolute;top:5px;right:10px}.auth-hint{color:#9aa78b;margin-top:8px;font-size:10px;font-weight:400;display:block}.auth-footnote{color:#97a18b;margin-top:23px;font-size:10px;line-height:1.9}.legacy-choice{background:#f0f5e7;border-radius:8px;align-items:flex-start;gap:11px;padding:15px;font-size:11px;line-height:1.6;display:flex}.legacy-choice input{accent-color:#365e32;flex-shrink:0;width:16px;min-height:16px;margin:2px 0 0}.legacy-choice small{color:#8a9975;margin-top:7px;font-size:10px;font-weight:400;display:block}.account-benefits{color:#c9d9bb;margin:30px 0;padding:0;font-size:12px;list-style:none}.account-benefits li{align-items:center;gap:10px;margin:17px 0;display:flex}.account-loading{color:#5e7b48;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:30px;display:flex}.account-loading h1{margin:0;font-size:24px}.account-loading p{color:#99a28e;font-size:12px}.sync-indicator{white-space:nowrap;color:#799561;align-items:center;gap:6px;font-size:10px;display:flex}.sync-indicator:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.sync-indicator.saving{color:#ad9949}.sync-indicator.conflict,.sync-indicator.error{color:#bd7053}.logout-button{white-space:nowrap;font-size:10px}.account-recovery{flex-wrap:wrap;gap:10px;margin:-8px 0 20px;display:flex}.account-email{color:#71895a;overflow-wrap:anywhere;font-size:12px}.sidebar-bottom>p{font-size:8px}.auth-main form>.button{margin-top:9px}@media (max-width:760px){.auth-main>h1{font-size:29px}.auth-main{padding-top:30px}.auth-main>.eyebrow{line-height:1.7;display:block}.auth-footnote{font-size:10px}.top-right{gap:12px}.top-right .avatar{display:none}.logout-button,.sync-indicator{font-size:8px}.breadcrumb{gap:5px}.topbar{padding-left:15px;padding-right:15px}.onboarding-aside .brand{margin:0}}@media (max-width:390px){.topbar .breadcrumb{gap:3px;font-size:8px}.topbar .breadcrumb strong{font-size:8px}.topbar>div:first-child{gap:7px}.top-right{gap:8px}.sync-indicator{font-size:7px}.logout-button{font-size:8px}}@media (max-width:760px){.onboarding-aside>.brand{display:flex}}.auth-fields{border:0;min-width:0;margin:0;padding:0}.auth-fields:disabled{opacity:.55}.policy-page,.recovery-main{max-width:720px;margin:60px auto;padding:35px}.policy-page ol{padding-left:22px;line-height:2;list-style:decimal}.policy-page p{color:#7e9070;font-size:13px}.delete-account{margin-top:22px}.delete-account form{background:#fff9f4;border-radius:8px;padding:16px}.delete-account h3{font-size:14px}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}@media (max-width:760px){.policy-page,.recovery-main{margin:24px 18px;padding:24px}.policy-page h1,.recovery-main h1{font-size:25px}}.brand-word{font-weight:800}.brand-word span{font-weight:400}.race-planner{gap:20px;min-width:0;display:grid}.race-hero{color:#f4f8ec;background:#183f31;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;padding:30px;display:flex}.race-hero h2{letter-spacing:-1.5px;margin:12px 0;font-size:clamp(26px,3vw,42px)}.race-hero p{color:#e1ebd7}.race-hero small{color:#cad8bb;line-height:1.6}.race-hero .eyebrow{color:#cee59c}.race-hero .actions{justify-content:flex-end;max-width:250px}.race-hero .button.outline{background:#f6f8f0}.race-tabs{background:#edf1e6;border-radius:13px;flex-wrap:wrap;gap:6px;padding:6px;display:flex;overflow-x:auto}.ravito-card-actions,.ravito-undo{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.ravito-undo{background:#edf4dc;border-radius:12px;padding:16px}.button.ravito-delete{color:#922e22;background:#fff3f0;border:1px solid #e2b8b0}.race-tabs button{white-space:nowrap;color:#50604a;background:0 0;border:0;border-radius:9px;min-height:44px;padding:13px 17px;font-weight:650}.race-tabs button.active{color:#1d432f;background:#fff;box-shadow:0 2px 7px #1a392511}.race-section{gap:20px;min-width:0;display:grid}.ravito-add-heading{align-items:flex-start;gap:16px;display:flex}.ravito-add-heading>div{min-width:0}.ravito-add-icon{color:#005448;background:#e5f4da;border-radius:14px;flex:0 0 46px;place-items:center;height:46px;display:grid}.ravito-add-kicker{letter-spacing:.11em;color:#48765c;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.race-panel .ravito-add-heading h3{margin:0;line-height:1.25}.race-panel .ravito-add-heading p{color:#6b7b72;margin:7px 0 0;font-size:14px}.ravito-add .ravito-add-fields{margin:24px 0}.ravito-add-fields input{border-radius:10px;min-height:50px}.ravito-add-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.ravito-add-hint{color:#6b7b72;align-items:center;gap:8px;font-size:13px;line-height:1.4;display:flex}.ravito-add-hint svg{flex:none}.ravito-add-submit{justify-content:center;align-items:center;gap:8px;display:inline-flex}.race-panel .ravito-add-success{color:#18733e;margin:16px 0 0;font-weight:650}@media (max-width:600px){.ravito-add-heading{gap:12px}.ravito-add .ravito-add-fields{margin:20px 0}.ravito-add-submit{width:100%}}@media (prefers-color-scheme:dark){.ravito-add-icon{color:#b8ef76;background:#254337}.ravito-add-kicker{color:#aad3b2}.race-panel .ravito-add-heading p,.ravito-add-hint{color:#b4c8bb}.race-panel .ravito-add-success{color:#b8ef76}}.race-panel{min-width:0;padding:24px}.race-panel h3{margin:0 0 18px}.race-panel h3:not(:first-child){margin-top:26px}.race-panel p{line-height:1.6}.race-panel .panel-head h3{margin:0}.race-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0;display:grid}.race-fields label,.race-leg-times label,.race-panel .panel-head label{color:#4c5946;gap:8px;font-size:13px;font-weight:650;display:grid}.race-fields input,.race-fields select,.race-leg-times input,.race-panel select,.race-panel textarea{color:#213b2b;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #d9dfd1;border-radius:8px;padding:10px 12px}.race-panel textarea{resize:vertical;min-height:140px;margin-bottom:14px}.race-map{border-radius:12px;height:260px;margin:20px 0;overflow:hidden}.race-map>div{height:100%!important}.race-elevation{background:#f6f8f1;border-radius:10px;width:100%;max-height:200px;margin:16px 0;display:block}.race-point-pills{flex-wrap:wrap;gap:8px;display:flex}.race-point-pills .button{padding:9px 12px;font-size:12px}.race-selection{background:#eef4e0;border-radius:9px;padding:14px}.race-barriers{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.race-barrier{background:#f3f8eb;border:1px solid #d5e2c6;border-radius:12px;gap:9px;padding:18px;font-size:13px;display:grid}.race-barrier b{color:#32652d}.race-barrier.tight{background:#fff7e1;border-color:#eed59d}.race-barrier.tight b{color:#85600b}.race-barrier.missed{background:#fff0ec;border-color:#eebeb0}.race-barrier.missed b{color:#a83b20}.race-legs{gap:0;display:grid}.race-leg{border-bottom:1px solid #e5e9df;grid-template-columns:1.2fr 1fr 1fr;align-items:start;gap:20px;padding:22px 0;display:grid}.race-leg:last-child{border:0}.race-leg small{line-height:1.5;display:block}.race-leg p,.race-leg small{color:#6a7661;margin:8px 0}.race-leg .text-button{margin:7px 0;font-size:12px;display:block}.race-leg-times{grid-template-columns:1fr 1fr;gap:8px;display:grid}.race-leg-times small{color:#a13820;grid-column:1/-1}.race-checkpoint{border:1px solid #dde4d5;border-radius:12px;min-width:0;margin:22px 0;padding:18px}.race-checkpoint legend{padding:0 8px;font-weight:700}.race-checks{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.race-checks label{align-items:center;gap:8px;font-size:13px;display:flex}.race-checks input{width:18px;height:18px}.race-file{max-width:220px;margin-left:10px;font-size:12px;display:block}.race-nutrition-totals{grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0;display:grid}.race-nutrition-totals>div{background:#f0f5e7;border-radius:12px;gap:9px;padding:20px;display:grid}.race-nutrition-totals strong{font-size:20px}.race-nutrition-totals span{color:#637158;font-size:12px}.race-score{background:#edf4df;border-radius:12px;gap:16px;padding:24px;display:grid}.race-score>strong{font-size:30px}.print-only{display:none}.race-demo-page{max-width:1250px;margin:auto;padding:30px 24px}.race-demo-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.race-demo-header h1{margin:0}.race-demo-banner{color:#425a33;background:#eef4e1;border:1px solid #d9e6c5;border-radius:12px;margin-bottom:24px;padding:18px;line-height:1.6}@media (max-width:800px){.race-hero{padding:24px;display:block}.race-hero .actions{justify-content:flex-start;max-width:none;margin-top:20px}.race-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.race-leg{grid-template-columns:1fr 1fr}.race-leg>div:first-child{grid-column:1/-1}.race-panel{padding:18px}.race-nutrition-totals{grid-template-columns:1fr}.race-demo-header{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.race-fields,.race-leg{grid-template-columns:1fr}.race-hero h2{font-size:30px}.race-map{height:210px}.race-panel .panel-head{flex-direction:column;align-items:flex-start;gap:15px}.race-demo-page{padding:20px 12px}.race-hero .button{font-size:12px}}@media print{.mobile-nav,.race-demo-banner,.race-demo-header .button,.race-hero .actions,.race-leg-times,.race-map,.race-planner .no-print,.race-planner button,.race-point-pills,.race-tabs,.sidebar,.topbar,footer{display:none!important}.race-planner .print-only{display:grid}.race-planner{display:block}.race-hero{break-inside:avoid;border:1px solid #ccc;color:#111!important;background:#fff!important}.race-hero .eyebrow,.race-hero p,.race-hero small{color:#333!important}.race-panel{box-shadow:none;break-inside:auto;border:1px solid #ccc;margin:12px 0}.race-barrier,.race-leg,tr{break-inside:avoid}.race-panel table{font-size:9px;min-width:0!important}.table-scroll{overflow:visible}.race-demo-page{max-width:none;padding:0}body{background:#fff}.main-content{margin:0!important;padding:0!important}.race-elevation{max-height:130px}}.race-hero .button.primary{color:#193d2f;background:#d4ed8d;border-color:#d4ed8d}.race-ocr{background:#f4f7ed;border:1px solid #dfe7d4;border-radius:12px;margin:18px 0;padding:18px}.race-ocr p:last-child{margin-bottom:0}@media print{.main-shell{width:100%!important;margin:0!important}.course-title .actions,.demo-notice button{display:none!important}.race-hero .eyebrow{letter-spacing:1px}.race-section.print-only{display:block!important}.race-elevation{break-inside:avoid}}.manual-course{margin-bottom:24px}.manual-course h2{margin-top:12px;font-size:23px}.manual-course .race-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-maps-input{border:1px solid #d9dfd1;border-radius:8px;width:100%;min-height:44px;margin-top:8px;padding:10px 12px}.manual-course p{font-size:13px}@media (max-width:500px){.manual-course .race-fields{grid-template-columns:1fr}}.race-point-tools{flex-wrap:wrap;align-items:center;gap:16px;margin:12px 0;display:flex}.race-point-tools p{color:#50634f;flex:1;min-width:200px;font-size:.88rem}.adding-ravito .route-map{cursor:crosshair}.ravito-marker{background:0 0;border:0}.ravito-marker span{color:#fff;background:#c44e22;border:3px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid;box-shadow:0 2px 8px #173c3a66}.race-elevation[role=slider]{cursor:crosshair}.race-elevation g:focus-visible,.race-elevation:focus-visible{outline:3px solid #d26839}.share-content{max-width:900px;margin-top:18px}.share-content p{line-height:1.6}.share-link{background:#f2f5ec;border-radius:12px;margin-top:20px;padding:16px}.share-link label{gap:8px;display:grid}.share-link input{width:100%;min-width:0}.share-panel{margin:20px 0}.leaflet-control-layers label{font-size:12px;display:block}.race-checkpoint{scroll-margin-top:25px}.leaflet-control-layers input[type=radio]{vertical-align:middle;accent-color:#24533e;width:14px;height:14px;min-height:0;margin:0 6px 0 0;padding:0;display:inline-block}.leaflet-control-layers label{margin:4px 0;line-height:20px}.leaflet-control-layers label span{display:inline}.leaflet-control-layers{max-width:210px}.share-preview{border-top:1px solid #d9e1d2;margin:20px 0;padding-top:20px}.share-preview .race-map{height:300px}.share-preview .panel{box-shadow:none}@media print{.leaflet-control-layers,.leaflet-control-zoom,.race-point-tools,.share-panel{display:none!important}}.shared-link-row{border-top:1px solid #d9e1d2;margin:16px 0;padding:14px 0}.shared-link-row p{font-size:.85rem;line-height:1.5}.share-preview .table-scroll{overflow:auto}.race-map .map-wrap{flex-direction:column;height:100%;display:flex}.race-map .route-map{flex:1;height:100%;min-height:0}.race-map .map-note{bottom:25px}.shared-plan-view table{min-width:760px;font-size:12px}.shared-plan-view .table-scroll{overflow-x:auto}@media print{.shared-plan-view button{display:none!important}.shared-plan-view table{min-width:0;font-size:9px}}.history-intro{background:#eff5df;border-color:#c7d9a7}.history-intro p{line-height:1.6}.history-workspace textarea,.nutrition-assistant textarea{width:100%;min-height:90px;font:inherit;border:1px solid #d9dfd1;border-radius:8px;padding:12px}.history-check{align-items:center;gap:10px;margin:14px 0;line-height:1.5;display:flex}.history-check input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:0;margin:0;padding:0;display:inline-block}.history-record{border-top:1px solid #dde4d5;padding:18px 0}.history-record p{line-height:1.6}.history-record .button{margin-top:12px;display:block}.product-catalog{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:20px 0;display:grid}.catalog-card{border:1px solid #dde4d5;border-radius:10px;padding:16px}.catalog-card p{font-size:12px;line-height:1.6}.catalog-card small{line-height:1.5;display:block}.nutrition-assistant>p{line-height:1.6}.race-panel .actions label{margin:0}.race-panel .actions input[type=number]{max-width:160px}.history-workspace .race-fields{align-items:end}.history-workspace .form-panel{min-width:0}.avatar-editor{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.avatar-editor img,.profile-avatar{object-fit:cover;border:3px solid #d4e7b1;border-radius:50%}.avatar-placeholder{background:#eff5df;border-radius:50%;place-items:center;width:88px;height:88px;font-size:12px;display:grid}.athlete-fields{border-bottom:1px solid #dde4d5;padding:16px 0}.catalog-events{max-height:650px;margin:20px 0;overflow:auto}.catalog-event{border:1px solid #dde4d5;border-radius:10px;margin:10px 0;padding:16px}.catalog-event summary{cursor:pointer;font-weight:700;line-height:1.6}.catalog-race{border-top:1px solid #dde4d5;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.catalog-race p{font-size:12px;line-height:1.5}.manual-course textarea{width:100%;font:inherit;border:1px solid #dde4d5;border-radius:8px;padding:12px}.race-source-link{margin:15px 0}@media (max-width:600px){.catalog-race{flex-direction:column;align-items:start}.catalog-events{max-height:550px}}.brand-logo{object-fit:contain;width:190px;max-width:100%;height:auto;display:block}.brand-logo-icon{width:44px}.brand-logo-principal,.brand-logo-white{width:180px}.brand-logo-mini{width:145px}.brand .brand-logo{flex-shrink:0}.onboarding-aside>.brand{padding:0}.auth-mobile-brand,.logo-print{display:none}.auth-main>.text-button{align-items:center;min-height:44px;margin:12px 16px 0 0;display:inline-flex}.race-demo-header .brand-logo{width:180px;margin-bottom:12px}.shared-plan-view .brand-logo{margin:0 0 20px}@media (max-width:900px){.auth-mobile-brand{width:150px;margin:0 0 24px;display:block}}@media print{.logo-screen{display:none!important}.logo-print{width:100px;display:block}}.entry-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.entry-option{text-align:left;border:2px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:16px;gap:12px;min-height:130px;padding:24px;display:grid}.entry-option.active{border-color:var(--color-primary);background:#edf8df}.entry-option strong{font-size:18px;font-family:var(--font-heading)}.compact-note,.entry-option span{color:var(--color-text-muted);font-size:13px}.saved-item{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:8px 0;display:flex}.saved-item .saved-row{flex:1;min-width:0}.saved-item .saved-row strong{overflow-wrap:anywhere}.duration-fields{border:0;min-width:0;margin:0;padding:0}.nutrition-course-stats{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.nutrition-course-stats span{background:var(--color-background);border-radius:10px;padding:8px 12px}.nutrition-timeline{gap:16px;display:grid}.nutrition-milestone{background:var(--color-primary);color:#fff;border-radius:16px;justify-content:space-between;padding:20px;font-size:18px;display:flex}.nutrition-period{border:1px solid var(--color-border);border-radius:16px;padding:20px}.nutrition-period header{color:var(--color-primary);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:16px;display:flex}.nutrition-intake{background:var(--color-background);border-radius:12px;align-items:center;gap:16px;margin-bottom:12px;padding:16px;display:flex}.nutrition-intake>span{font-size:26px}.nutrition-intake p{margin:4px 0}.nutrition-intake small{display:block}.nutrition-drink{padding:8px 16px}.compact-details summary{padding:14px 0}.page-back{margin-bottom:16px}@media (max-width:700px){.entry-options{grid-template-columns:1fr;gap:10px}.entry-option{min-height:92px;padding:16px}.saved-item{flex-wrap:wrap;align-items:stretch}.saved-item .saved-row{flex-basis:100%}.nutrition-period{padding:14px}}h1,h2,h3,h4{font-family:var(--font-heading)}button,input,select,textarea{font-family:var(--font-body)}.button,a,button,input,select,textarea{transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.button-primary,.race-hero .button.primary{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent);border-radius:var(--radius-button);font-weight:700}.button-primary:hover,.lime:hover,.race-hero .button.primary:hover{background:#96d513}.card,.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:var(--color-border);border-radius:var(--radius-input);color:var(--color-text);background:var(--color-surface)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--color-primary-hover);outline-offset:3px}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary)}.hero,.race-hero{background-color:var(--color-primary)}.outline{border-color:var(--color-border);color:var(--color-primary)}.outline:hover{border-color:var(--color-secondary);background:#eaf5e8}.nav-item.active{background:var(--color-primary);color:var(--color-accent)}button:disabled{cursor:not-allowed}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important}}.assistance-editor-fields{border:0;min-width:0;margin:0;padding:0}.assistance-caption{color:var(--color-text-muted);margin:10px 0;display:block}.assistance-workspace .saved-item{flex-wrap:wrap;gap:12px}.assistance-workspace .nutrition-period header{flex-wrap:wrap;gap:8px}.nutrition-filter-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:16px 0;display:grid}.nutrition-filter-grid label{flex-direction:column;gap:8px;min-width:0;display:flex}.nutrition-filter-grid input,.nutrition-filter-grid select{width:100%;min-width:0}.catalogue-page{max-width:1200px;margin:auto;padding:24px}.catalogue-page .product-catalog{margin:24px 0}.catalogue-page .catalog-card{overflow-wrap:anywhere}.catalogue-page .catalog-card h2{font-size:1rem}.product-visual{object-fit:contain;background:#fff;border-radius:12px;width:100%;height:160px;margin-bottom:12px;display:block}.product-visual-missing{color:var(--color-text-muted);background:var(--color-background);justify-content:center;align-items:center;font-size:13px;display:flex}.pantry-search{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.pantry-search .button{white-space:normal;text-align:left}.stock-warning{color:#8b4300;margin-top:12px;display:block}.pantry-debrief{border-bottom:1px solid var(--color-border);padding:12px 0}.bottom-navigation,.bottom-sheet-backdrop{display:none}@media (max-width:900px){.bottom-navigation{z-index:90;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e5eee7;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #003f360a}.bottom-navigation button{color:#6b7b72;min-height:52px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:600;display:flex}.bottom-navigation button[aria-current=page]{color:#003f36;background:#eff9df}.app-shell .main-shell,main:has(>.bottom-navigation){padding-bottom:calc(82px + env(safe-area-inset-bottom))}.app-shell .mobile-menu{display:none}.bottom-sheet-backdrop{z-index:95;background:#12282166;display:block;position:fixed;inset:0}.bottom-sheet{padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;position:absolute;bottom:0;left:0;right:0}.bottom-sheet .nav-item{width:100%;min-height:48px}.bottom-sheet-close{float:right;background:0 0;border:0;min-width:44px;min-height:44px}}@media print{.bottom-navigation,.bottom-sheet-backdrop{display:none!important}}@media (max-width:900px){.app-shell .sidebar{display:none}.app-shell .main-shell{width:100%;margin-left:0}}.endurance-planner{gap:24px;display:grid}.sport-selector{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.sport-selector button{border:1px solid var(--color-border,#dfe8df);background:var(--color-surface,#fff);min-height:48px;color:inherit;cursor:pointer;border-radius:12px;padding:10px 14px;font-weight:700}.sport-selector button.active{background:var(--color-primary,#003f36);color:#fff;border-color:var(--color-primary,#003f36)}.endurance-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.endurance-form label{gap:7px;font-weight:700;display:grid}.endurance-form input,.endurance-form select{width:100%;min-height:48px;color:inherit;background:var(--color-surface,#fff);border:1px solid var(--color-border,#dfe8df);font:inherit;border-radius:10px;padding:11px 13px}.endurance-form .button{align-self:end;min-height:48px}.endurance-result{background:var(--color-accent,#a8ed17);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px;display:grid}@supports (color:color-mix(in lab,red,red)){.endurance-result{background:color-mix(in srgb,var(--color-accent,#a8ed17) 10%,var(--color-surface,#fff))}}.endurance-result>div{background:var(--color-surface,#fff);border-radius:12px;gap:5px;padding:14px;display:grid}.endurance-result span{color:var(--color-text-muted,#6b7b72);font-size:.88rem}.endurance-result strong{font-size:1.2rem}.endurance-result .button,.endurance-result p{grid-column:1/-1}.endurance-saved{margin-top:30px}.terrain-sections{border-top:1px solid var(--color-border,#e5eee7);margin:24px 0;padding-top:20px}.terrain-sections h4{margin:0 0 8px;font-size:1.05rem}.terrain-section-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:14px 0;display:grid}.terrain-section-list button{border:1px solid var(--color-border,#e5eee7);background:var(--color-surface,#fff);min-height:68px;color:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:5px;padding:12px;display:grid}.terrain-section-list button.selected{border-color:var(--color-secondary,#38b84a);background:var(--color-accent,#a8ed17)}@supports (color:color-mix(in lab,red,red)){.terrain-section-list button.selected{background:color-mix(in srgb,var(--color-accent,#a8ed17) 14%,var(--color-surface,#fff))}}.terrain-section-list button span{color:var(--color-text-muted,#6b7b72);font-size:.85rem}.terrain-section-editor{flex-wrap:wrap;align-items:end;gap:10px;margin-top:16px;display:flex}.terrain-section-editor label{gap:6px;font-weight:700;display:grid}.terrain-section-editor input{border:1px solid var(--color-border,#e5eee7);width:170px;min-height:44px;color:inherit;background:var(--color-surface,#fff);font:inherit;border-radius:10px;padding:9px 12px}.terrain-manual-breaks{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.gpx-import-summary{border-top:1px solid var(--color-border,#e5eee7);margin-top:18px;padding-top:14px;font-size:.88rem}.gpx-import-summary summary{cursor:pointer;font-weight:700}.gpx-import-summary p{overflow-wrap:anywhere;margin:8px 0}.gpx-import-summary code{overflow-wrap:anywhere;font-size:.75rem}.endurance-objective-edit{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px;display:grid}.endurance-objective-edit label{gap:7px;font-weight:700;display:grid}.endurance-objective-edit input,.endurance-objective-edit select{border:1px solid var(--color-border,#dfe8df);width:100%;min-height:44px;color:inherit;background:var(--color-surface,#fff);font:inherit;border-radius:10px;padding:9px 12px}.endurance-objective-edit .alert,.endurance-objective-edit .button-row{grid-column:1/-1}@media (max-width:720px){.endurance-form,.endurance-result,.sport-selector{grid-template-columns:1fr}.endurance-result .button,.endurance-result p{grid-column:auto}}.nutrition-picker{margin:20px 0}.picker-card-title,.picker-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.picker-heading h3{margin:0 0 6px;font-size:22px}.picker-card-title p,.picker-heading p{color:var(--color-text-muted);margin:0}.picker-search{border:1px solid var(--color-border);background:#fff;border-radius:12px;align-items:center;gap:10px;margin:16px 0;padding:0 12px;display:flex}.picker-search input{box-shadow:none;border:0;width:100%;min-width:0}.picker-tabs{gap:8px;padding:4px 0 12px;display:flex;overflow-x:auto}.picker-flavors button,.picker-tabs button{border:1px solid var(--color-border);min-height:44px;font:inherit;color:var(--color-text);background:#fff;border-radius:14px;flex-shrink:0;padding:12px 18px;font-weight:700}.picker-flavors button[aria-pressed=true],.picker-tabs button.active{border-color:var(--color-primary);color:var(--color-primary);background:#f3fbe7}.picker-count{color:var(--color-text-muted);font-size:13px}.picker-cards{grid-template-columns:repeat(auto-fill,minmax(275px,1fr));align-items:start;gap:20px;margin-bottom:20px;display:grid}.picker-card{border:1px solid var(--color-border);background:#fff;border-radius:24px;min-width:0;overflow:hidden}.picker-card.selected{border:2px solid var(--color-secondary)}.picker-photo{background:radial-gradient(at 20% 10%,#e5eee7 0,#0000 65%),#f4f7f3;padding:26px}.picker-photo .product-visual{background:0 0;height:180px;margin:0}.picker-card-body{padding:20px}.picker-card-title h4{overflow-wrap:anywhere;margin:0 0 8px;font-size:18px}.picker-select{border:1px solid var(--color-border);width:48px;height:48px;color:var(--color-primary);background:#fff;border-radius:14px;flex-shrink:0;place-items:center;font-size:28px;display:grid}.picker-select[aria-pressed=true]{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.picker-select:disabled{opacity:.4}.picker-serving{margin:16px 0;font-size:13px;display:block}.picker-facts{border-top:1px solid var(--color-border);margin:0;padding:14px 0}.picker-facts div{justify-content:space-between;gap:10px;padding:5px 0;display:flex}.picker-facts dt{color:var(--color-text-muted)}.picker-facts dd{text-align:right;margin:0;font-weight:700}.picker-flavors{flex-wrap:wrap;gap:8px;margin:12px 0 18px;display:flex}.picker-flavors button{white-space:normal;text-align:left;border-radius:100px;padding:8px 12px;font-size:12px}.picker-source{margin:12px 0;font-size:12px;display:block}.picker-portion{border-top:1px solid var(--color-border);gap:12px;padding-top:16px;display:grid}.picker-portion label{gap:6px;display:grid}.picker-portion .history-check{display:flex}@media (max-width:640px){.picker-cards{scroll-snap-type:x mandatory;align-items:flex-start;gap:12px;padding-bottom:16px;display:flex;overflow-x:auto}.picker-card{scroll-snap-align:start;flex:0 0 calc(100% - 18px)}.picker-card-body{padding:16px}.picker-photo{padding:20px}.picker-photo .product-visual{height:190px}.picker-tabs button{padding:10px 14px}.picker-heading h3{font-size:21px}}.picker-continue{z-index:20;position:sticky;bottom:16px;box-shadow:0 4px 20px #003f3622}@media (max-width:900px){.picker-continue{bottom:calc(76px + env(safe-area-inset-bottom));width:100%}}.native-app .mobile-menu,.native-app .sidebar{display:none}.native-app .main-shell{width:100%;padding-bottom:calc(82px + env(safe-area-inset-bottom));margin-left:0}@media (min-width:901px){.native-app .bottom-navigation{z-index:90;border-top:1px solid var(--color-border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.native-app .bottom-navigation button{min-height:52px;color:var(--color-text-muted);font:inherit;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;display:flex}.native-app .bottom-navigation button[aria-current=page]{color:var(--color-primary);background:#eff9df}.native-app .bottom-sheet-backdrop{z-index:95;background:#12282166;display:block;position:fixed;inset:0}.native-app .bottom-sheet{padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;position:absolute;bottom:0;left:0;right:0}.native-app .bottom-sheet .nav-item{width:100%;min-height:48px}.native-app .bottom-sheet-close{float:right;background:0 0;border:0;min-width:44px;min-height:44px}}.native-app input,.native-app select,.native-app textarea{font-size:16px}@media (max-width:900px){.account-access .onboarding-aside{display:none}.account-access .auth-main{margin:auto;padding:20px 22px 30px}.account-access .auth-main>.eyebrow{display:none}.account-access .auth-mobile-brand{width:190px;height:auto;margin-bottom:18px}.account-access .auth-main>h1{margin:10px 0;font-size:28px}.account-access .auth-main>.muted,.account-access .auth-tabs{margin-bottom:18px}}.native-app .account-access{display:block}.native-app .account-access .onboarding-aside{display:none}.native-app .account-access .auth-main{max-width:540px;margin:auto;padding-top:20px}.native-app .account-access .auth-mobile-brand{width:190px;height:auto;margin-bottom:18px;display:block}.native-app .account-access .auth-main>.eyebrow{display:none}.onboarding-optional-details{border:1px solid var(--color-border,#e5eee7);border-radius:12px;margin:1.5rem 0;padding:1rem}.onboarding-optional-details>summary{cursor:pointer;font-weight:700}.onboarding-optional-details[open]>summary{margin-bottom:1rem}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.launch-screen{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:#f7faf6;color:#003f36;animation:trailytics-launch-out 1.1s ease both}.launch-screen:before{content:"";position:absolute;width:min(92vw,500px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#a8ed1726 0,#38b84a10 42%,transparent 70%);pointer-events:none;animation:trailytics-launch-glow .95s ease-out both}.launch-screen__brand{display:grid;justify-items:center;gap:20px;animation:trailytics-launch-brand .6s cubic-bezier(.16,1,.3,1) both}.launch-screen__icon{display:grid;place-items:center;width:156px;height:156px;border:1px solid #003f3610;border-radius:38px;background:#fff;box-shadow:0 20px 60px #003f360d,0 2px 8px #003f3605}.launch-screen__icon img{display:block;width:136px;height:136px;object-fit:contain}.launch-screen__name{font-family:Manrope,sans-serif;font-size:30px;font-weight:800;line-height:1.1;letter-spacing:-1.1px}.launch-screen__skip{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px));display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid #003f3626;border-radius:100px;background:#ffffffc9;color:#003f36;font:600 13px/1.2 Inter,sans-serif;cursor:pointer}.launch-screen__skip:focus-visible{outline:3px solid #38b84a;outline-offset:4px}@keyframes trailytics-launch-brand{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes trailytics-launch-glow{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes trailytics-launch-out{0%,73%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden;pointer-events:none}}@media (prefers-color-scheme:dark){.launch-screen{background:#0b1714;color:#f0f7ef}.launch-screen__icon{border-color:#ffffff24;box-shadow:0 20px 72px #0000003d,0 0 60px #a8ed1710}.launch-screen__skip{border-color:#ffffff29;background:#172720;color:#f0f7ef}}@media (prefers-reduced-motion:reduce){.launch-screen{display:none;animation:none}.launch-screen:before,.launch-screen__brand{animation:none}}.launch-screen__dark-logo{display:none}@media (prefers-color-scheme:dark){.launch-screen__dark-logo{display:block;width:min(280px,80vw);height:auto}.launch-screen__icon,.launch-screen__name{display:none}}.launch-screen__brand .launch-screen__logo{display:block;width:min(280px,75vw);height:auto;object-fit:contain}:root{--motion-press:120ms;--motion-response:180ms;--motion-enter:300ms;--motion-ease:cubic-bezier(0.2,0.8,0.2,1)}.page-stage{animation:trailytics-page-enter var(--motion-enter) var(--motion-ease) backwards}html body :is(button,.button,a.saved-row,.entry-option,.choice-card,.difficulty-choice,.climb,summary){transition:background-color var(--motion-response) ease,border-color var(--motion-response) ease,color var(--motion-response) ease,box-shadow var(--motion-response) ease,scale var(--motion-press) var(--motion-ease),translate var(--motion-response) var(--motion-ease);-webkit-tap-highlight-color:transparent}html body :is(button:not(:disabled),.button:not(:disabled),a.saved-row,summary):active{scale:.975}@media (hover:hover) and (pointer:fine){html body :is(.button:not(:disabled),.entry-option:not(:disabled),.choice-card:not(:disabled),.difficulty-choice:not(:disabled),.saved-row,.climb):hover{translate:0 -2px}html body :is(.picker-card,.catalog-card):hover{border-color:var(--ui-link,var(--color-secondary));box-shadow:0 8px 24px #003f360c}}html body :is(.picker-card,.catalog-card){transition:border-color var(--motion-response) ease,box-shadow var(--motion-response) ease}.bottom-navigation button[aria-current=page]>svg,.nav-item.active>svg{animation:trailytics-nav-select .26s var(--motion-ease) backwards}.picker-select[aria-pressed=true]{animation:trailytics-selection .22s var(--motion-ease) backwards}:is(.alert,.ravito-undo,.account-recovery,.success-text){animation:trailytics-notice-enter .23s var(--motion-ease) backwards}:is(.nutrition-filters,.picker-portion,.segment-detail){animation:trailytics-notice-enter .22s var(--motion-ease) backwards}.bottom-sheet-backdrop,.guest-auth-backdrop{animation:trailytics-overlay-enter .18s ease-out backwards}.bottom-sheet{animation:trailytics-sheet-enter .3s var(--motion-ease) backwards}.guest-auth-dialog{animation:trailytics-dialog-enter .24s var(--motion-ease) backwards}details[open]>:not(summary){animation:trailytics-notice-enter .18s ease-out backwards}.motion-reveal{animation:trailytics-section-enter .36s var(--motion-ease) backwards}.motion-reveal:focus-within{animation:none}@keyframes trailytics-page-enter{0%{opacity:.86;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes trailytics-section-enter{0%{transform:translateY(10px)}to{transform:none}}@keyframes trailytics-nav-select{0%{transform:translateY(2px) scale(.92)}to{transform:none}}@keyframes trailytics-selection{0%{transform:scale(.92)}to{transform:none}}@keyframes trailytics-notice-enter{0%{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes trailytics-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes trailytics-sheet-enter{0%{transform:translateY(24px)}to{transform:none}}@keyframes trailytics-dialog-enter{0%{opacity:.8;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce),print{*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}html body :is(button,.button,a.saved-row,summary,.entry-option,.choice-card):is(:active,:hover){scale:none;translate:none;transform:none}}