*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Manrope,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{border-width:0}.visible{visibility:visible}.block{display:block}.inline{display:inline}.table{display:table}.hidden{display:none}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--ink:#0b1c22;--ink-soft:#182930;--rail:#071b23;--paper:#f7f7f4;--white:#ffffff;--muted:#667078;--line:#d8dcda;--route:#075dba;--alpine:#2f6b42;--ochre:#d39a26;--clay:#b75b2a;--violet:#8d3dd0;--header-height:56px;color-scheme:light}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{color:var(--ink);background:var(--paper);font-family:Manrope,system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}svg{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #5fe3df;outline-offset:3px}.app-header{height:var(--header-height);background:var(--rail);color:#f8faf9;gap:68px;padding:0 12px 0 18px;position:relative;z-index:50;border-bottom:1px solid rgba(255,255,255,.09)}.app-header,.brand{display:flex;align-items:center}.brand{min-height:44px;font-size:22px;line-height:1;letter-spacing:-.04em;font-weight:700}.primary-nav{align-self:stretch;display:flex;align-items:stretch;gap:38px}.primary-nav a{min-width:44px;display:flex;align-items:center;justify-content:center;position:relative;color:#dbe1df;font-size:13px;font-weight:500}.primary-nav a.is-active,.primary-nav a:hover{color:#fff}.primary-nav a.is-active:after{content:"";height:2px;background:#5fe3df;position:absolute;left:0;right:0;bottom:0}.active-bike-control{margin-left:auto;height:44px;min-width:262px;border:1px solid rgba(255,255,255,.14);background:#0c252e;color:white;border-radius:5px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:0 12px;font-size:12px;cursor:pointer}.active-bike-control:hover{background:#12313a}.active-bike-control>svg:first-child{width:35px;height:25px;color:#b78553}.active-bike-control>span{max-width:176px;text-align:left;line-height:1.22}.active-bike-control>svg:last-child{margin-left:auto;width:14px}.mobile-menu-button{display:none;border:0;background:transparent;color:white;padding:8px}.app-header.theme-light{background:#fbfbf8;color:var(--ink);border-color:var(--line)}.app-header.theme-light .primary-nav a{color:#3d484e}.app-header.theme-light .primary-nav a.is-active{color:var(--ink)}.app-header.theme-light .primary-nav a.is-active:after{background:var(--alpine)}.app-header.theme-light .active-bike-control{background:transparent;color:var(--ink);border-color:var(--line)}.app-header.theme-light .active-bike-control:hover{background:#f0f2ef}.active-bike-menu{margin-left:auto;position:relative}.active-bike-menu .active-bike-control{margin-left:0}.active-bike-popover{position:absolute;top:calc(100% + 7px);right:0;width:330px;padding:8px;color:var(--ink);background:#fbfbf8;border:1px solid #ccd2cf;border-radius:6px;box-shadow:0 16px 38px rgba(3,18,23,.24);z-index:80}.active-bike-popover header{display:grid;gap:2px;padding:9px 10px 10px;border-bottom:1px solid var(--line)}.active-bike-popover header span{text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:700}.active-bike-popover header small{color:var(--muted);font-size:10px}.active-bike-popover>button{width:100%;min-height:56px;border:0;border-bottom:1px solid #e2e5e2;background:transparent;display:flex;align-items:center;gap:12px;padding:9px 10px;text-align:left;cursor:pointer}.active-bike-popover>button:hover{background:#f0f2ef}.active-bike-popover>button>span{min-width:0;display:grid;gap:3px}.active-bike-popover>button strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.active-bike-popover>button small{color:var(--muted);font-size:9px}.active-bike-popover>button>svg{margin-left:auto;color:var(--alpine);width:17px;height:17px}.active-bike-demo-note,.active-bike-error{margin:0;padding:9px 10px;color:#667277;border-bottom:1px solid #e2e5e2;font-size:9px;line-height:1.45}.active-bike-error{color:#8b412d;background:#f7ece7}.active-bike-popover>a{min-height:46px;display:flex;align-items:center;gap:9px;padding:0 10px;color:var(--route);font-size:11px;font-weight:600}.active-bike-popover>a svg{width:16px;height:16px}.danger-button,.primary-button,.secondary-button{min-height:44px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 17px;border:1px solid transparent;font-size:11px;font-weight:600;cursor:pointer}.primary-button{background:var(--alpine);border-color:var(--alpine);color:white}.primary-button:hover{background:#285b38}.secondary-button{background:transparent;border-color:#cdd3d0;color:var(--ink)}.secondary-button:hover{background:#eef1ee}.secondary-button.on-dark{color:white;border-color:rgba(255,255,255,.27)}.secondary-button.on-dark:hover{background:rgba(255,255,255,.08)}.danger-button{color:white;background:#974526;border-color:#974526}.danger-button:disabled,.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:wait}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer;border-radius:4px}.icon-button:hover{background:#eef1ee}.icon-button svg{width:20px;height:20px}.garage-page{min-height:100dvh;background:#edf0ed}.garage-intro{max-width:1440px;margin:0 auto;padding:42px 36px 30px;display:flex;align-items:flex-end;justify-content:space-between;gap:36px}.garage-intro>div:first-child{max-width:760px}.eyebrow{display:block;color:var(--alpine);text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:700}.garage-intro h1{margin:9px 0 13px;font:400 48px/.98 "Source Serif 4",serif;letter-spacing:-.025em}.garage-intro p{max-width:690px;margin:0;color:#526067;line-height:1.65;font-size:13px}.garage-engine-note{width:292px;display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #bfc7c3;border-bottom:1px solid #bfc7c3}.garage-engine-note>svg{width:25px;height:25px;color:var(--alpine);flex:0 0 auto}.garage-engine-note>span{display:grid;gap:3px;color:#657077;font-size:9px}.garage-engine-note strong{color:var(--ink);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.garage-status-strip{max-width:1368px;min-height:58px;margin:0 auto 14px;padding:8px 14px;display:flex;align-items:center;gap:11px;background:#f8f9f6;border:1px solid #d0d6d2}.status-mark{width:34px;height:34px;display:grid;place-items:center;background:#e2e7e3;color:#526268;border-radius:50%}.status-mark.is-cloud{color:var(--alpine);background:#e0ebe2}.status-mark svg{width:18px;height:18px}.garage-status-strip>div:nth-child(2){display:grid;gap:2px}.garage-status-strip strong{font-size:10px;text-transform:uppercase;letter-spacing:.055em}.garage-status-strip span{font-size:10px;color:var(--muted)}.garage-status-strip>a,.garage-status-strip>button{margin-left:auto;min-height:44px;display:flex;align-items:center;gap:8px;color:var(--route);font-size:10px;font-weight:600}.garage-status-strip>button{border:0;background:transparent;cursor:pointer}.garage-status-strip>a svg{width:15px}.garage-notice{position:fixed;top:70px;left:50%;translate:-50% 0;z-index:90;min-width:320px;max-width:calc(100vw - 32px);min-height:44px;display:flex;align-items:center;gap:18px;padding:9px 10px 9px 14px;color:white;background:#14323a;border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 24px rgba(4,20,26,.2);font-size:10px}.garage-notice button{margin-left:auto;width:32px;height:32px;border:0;background:transparent;color:white;font-size:20px;cursor:pointer}.garage-notice .retry-button{width:auto;min-width:52px;padding:0 10px;border:1px solid rgba(255,255,255,.36);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.garage-workbench{max-width:1368px;min-height:694px;margin:0 auto 44px;display:grid;grid-template-columns:342px minmax(0,1fr);background:#fbfbf8;border:1px solid #cdd3d0;box-shadow:0 10px 35px rgba(9,28,34,.08)}.garage-index{min-width:0;color:#f4f6f5;background:var(--rail);border-right:1px solid rgba(255,255,255,.08)}.garage-index>header{min-height:80px;padding:14px 16px;display:flex;align-items:center;gap:15px;border-bottom:1px solid rgba(255,255,255,.13)}.garage-index>header>div{display:flex;align-items:baseline;gap:9px}.garage-index>header span{color:#b7c2c1;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.garage-index>header strong{font:400 25px/1 "Source Serif 4",serif}.garage-index>header button{margin-left:auto;min-height:44px;border:1px solid rgba(255,255,255,.22);border-radius:4px;display:flex;align-items:center;gap:7px;padding:0 11px;color:white;background:transparent;font-size:10px;cursor:pointer}.garage-index>header button:hover{background:rgba(255,255,255,.08)}.garage-index>header button svg{width:15px;height:15px}.garage-bike-list{display:grid}.garage-bike-row,.garage-empty-row{width:100%;min-height:94px;display:grid;grid-template-columns:28px 48px minmax(0,1fr);align-items:center;gap:9px;padding:13px 14px;color:white;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.12);text-align:left;cursor:pointer;position:relative}.garage-bike-row:before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:transparent}.garage-bike-row:hover{background:rgba(255,255,255,.045)}.garage-bike-row.is-selected{background:#0e2b34}.garage-bike-row.is-selected:before{background:#5fe3df}.garage-bike-number{align-self:start;padding-top:5px;color:#7e9296;font-size:8px;letter-spacing:.05em}.garage-bike-icon{width:44px;height:44px;display:grid;place-items:center;color:#b78553;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);border-radius:50%}.garage-bike-icon svg{width:30px;height:24px}.garage-bike-copy{min-width:0;display:grid;gap:5px}.garage-bike-copy strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:400 16px/1.1 "Source Serif 4",serif}.garage-bike-copy small{color:#aab8b8;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.active-bike-tag{grid-column:3;justify-self:start;display:flex;align-items:center;gap:5px;color:#79d495;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.active-bike-tag svg{width:12px;height:12px}.garage-empty-row{grid-template-columns:50px 1fr 20px;min-height:110px}.garage-empty-row>svg:first-child{width:37px;height:37px;color:#b78553}.garage-empty-row>span{display:grid;gap:5px}.garage-empty-row strong{font:400 17px/1.1 "Source Serif 4",serif}.garage-empty-row small{color:#9babab;font-size:9px}.garage-empty-row>svg:last-child{width:16px}.archived-bikes{margin:18px 14px;border-top:1px solid rgba(255,255,255,.14)}.archived-bikes summary{min-height:46px;list-style:none;display:flex;align-items:center;gap:8px;color:#b9c3c3;text-transform:uppercase;letter-spacing:.06em;font-size:9px;cursor:pointer}.archived-bikes summary::-webkit-details-marker{display:none}.archived-bikes summary span{display:inline-grid;place-items:center;min-width:20px;min-height:20px;border:1px solid rgba(255,255,255,.18);border-radius:50%}.archived-bikes>div{display:grid;gap:6px}.archived-bikes>div>div{min-height:58px;display:grid;grid-template-columns:1fr auto 36px;align-items:center;gap:7px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.09)}.archived-bikes>div span{min-width:0;display:grid;gap:3px}.archived-bikes strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.archived-bikes small{color:#84989b;font-size:8px}.archived-bikes button{min-height:36px;border:0;background:transparent;color:#c7d1d0;font-size:9px;cursor:pointer}.archived-bikes button.danger-text{width:36px;display:grid;place-items:center;color:#d79379}.archived-bikes button svg{width:15px}.garage-list-skeleton{padding:18px 14px;display:grid;gap:14px}.garage-list-skeleton i{display:block;height:64px;background:rgba(255,255,255,.055);border-radius:3px}.garage-detail{min-width:0;background:#fbfbf8}.garage-bike-hero{min-height:262px;display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:24px;padding:32px 36px;color:white;background:#0c252e;border-bottom:1px solid #06171d}.garage-bike-silhouette{width:176px;height:142px;display:grid;place-items:center;color:#b78553;border-right:1px solid rgba(255,255,255,.14)}.garage-bike-silhouette svg{width:144px;height:100px}.garage-bike-title{min-width:0}.garage-bike-title>span{min-height:22px;display:flex;align-items:center;gap:6px;color:#82d69d;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:700}.garage-bike-title>span svg{width:14px}.garage-bike-title h2{margin:8px 0 9px;font:400 38px/1.04 "Source Serif 4",serif;letter-spacing:-.02em}.garage-bike-title p{margin:0;color:#b9c5c4;font-size:10px}.garage-hero-actions{display:grid;gap:8px;min-width:155px}.garage-hero-actions a,.garage-hero-actions button{width:100%}.garage-specification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.garage-specification-grid>section{padding:28px 34px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.garage-specification-grid>section:last-child{border-right:0}.garage-specification-grid section>header{display:flex;align-items:center;gap:11px;margin-bottom:17px}.garage-specification-grid section>header>svg{width:25px;height:25px;color:var(--alpine)}.garage-specification-grid header>span{display:grid;gap:2px}.garage-specification-grid header strong{text-transform:uppercase;letter-spacing:.055em;font-size:10px}.garage-specification-grid header small{color:var(--muted);font-size:9px}.garage-specification-grid dl{margin:0}.garage-specification-grid dl>div{min-height:44px;display:grid;grid-template-columns:minmax(100px,.8fr) 1fr;align-items:center;gap:16px;border-top:1px solid #e0e3e0;font-size:9px}.garage-specification-grid dt{color:#697378}.garage-specification-grid dd{margin:0;display:grid;gap:2px}.garage-specification-grid dd strong{font-size:10px;font-weight:600}.garage-specification-grid dd small{color:var(--alpine);font-size:8px}.garage-modifications{padding:25px 34px;border-bottom:1px solid var(--line)}.garage-modifications>header{display:flex;align-items:flex-start;gap:12px}.garage-modifications>header svg{width:23px;height:23px;color:var(--alpine)}.garage-modifications h3{margin:0 0 4px;font:400 19px/1.2 "Source Serif 4",serif}.garage-empty-copy,.garage-modifications header p{margin:0;color:var(--muted);font-size:9px}.garage-modifications ul{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0 0 35px;padding:0;list-style:none}.garage-modifications li{padding:7px 9px;color:#345440;background:#e7eee8;border:1px solid #d1ded3;border-radius:3px;font-size:9px}.garage-modifications>.garage-empty-copy{margin:16px 0 0 35px}.garage-impact-note{margin:24px 34px;min-height:72px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:13px;padding:13px 15px;background:#edf2ed;border-left:3px solid var(--alpine)}.garage-impact-note>svg{width:26px;height:26px;color:var(--alpine)}.garage-impact-note>div{display:grid;gap:3px}.garage-impact-note strong{text-transform:uppercase;letter-spacing:.045em;font-size:9px}.garage-impact-note p{margin:0;color:#5a666b;font-size:9px;line-height:1.4}.garage-impact-note>a{min-height:44px;display:flex;align-items:center;gap:7px;color:var(--route);font-size:9px;font-weight:600}.garage-impact-note>a svg{width:14px}.garage-record-actions{min-height:56px;display:flex;align-items:center;padding:0 34px;border-top:1px solid var(--line)}.garage-record-actions>span{color:#8a9497;text-transform:uppercase;letter-spacing:.05em;font-size:8px}.garage-record-actions button{margin-left:auto;min-height:44px;display:flex;align-items:center;gap:7px;border:0;color:#7d4937;background:transparent;font-size:9px;cursor:pointer}.garage-record-actions button svg{width:16px}.garage-empty-detail{min-height:690px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:60px clamp(34px,8vw,110px);background:#fbfbf8}.garage-empty-detail>svg{width:88px;height:66px;color:#b78553}.garage-empty-detail>span{margin-top:28px;color:var(--alpine);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.garage-empty-detail h2{max-width:560px;margin:9px 0 14px;font:400 42px/1.05 "Source Serif 4",serif}.garage-empty-detail p{max-width:520px;margin:0 0 24px;color:#5e696e;line-height:1.6;font-size:12px}.bike-form{min-height:692px;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.bike-form-heading{min-height:128px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 34px 22px;border-bottom:1px solid var(--line)}.bike-form-heading>div{max-width:620px}.bike-form-heading>div>span{color:var(--alpine);text-transform:uppercase;letter-spacing:.09em;font-size:8px;font-weight:700}.bike-form-heading h2{margin:7px 0;font:400 30px/1.05 "Source Serif 4",serif}.bike-form-heading p{margin:0;color:var(--muted);font-size:10px}.bike-form-scroll{padding:6px 34px 24px}.bike-form fieldset{margin:0;padding:25px 0 23px;border:0;border-bottom:1px solid var(--line)}.bike-form fieldset:last-child{border-bottom:0}.bike-form legend{width:100%;margin-bottom:15px;color:#34434a;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:700}.bike-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.bike-form-grid.identity-grid{grid-template-columns:1fr 1.5fr .6fr 1fr}.bike-form-grid.chassis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{min-width:0;display:grid;align-content:start;gap:6px}.form-field>span:first-child{min-height:15px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#35434a;font-size:9px;font-weight:600}.form-field>span:first-child small{color:#879094;font-size:8px;font-weight:400}.field-control{min-height:44px;display:flex;align-items:stretch;position:relative}.field-control input,.field-control select,.field-control textarea{width:100%;min-width:0;min-height:44px;border:1px solid #c9d0cd;border-radius:3px;background:white;color:var(--ink);padding:0 11px;outline:0;font-size:11px}.field-control textarea{min-height:92px;resize:vertical;padding-top:10px;line-height:1.5}.field-control select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;padding-right:10px}.field-control input:focus,.field-control select:focus,.field-control textarea:focus{border-color:#438161;box-shadow:0 0 0 2px rgba(47,107,66,.14)}.field-control em{min-width:34px;display:grid;place-items:center;position:absolute;right:1px;top:1px;bottom:1px;color:#778186;background:#f0f2ef;border-left:1px solid #d5d9d6;font-style:normal;font-size:8px;pointer-events:none}.form-field:has(.field-control em) input{padding-right:42px}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:#b75b2a}.field-error{color:#9c4426;font-size:8px;line-height:1.3}.bike-form-actions{min-height:70px;padding:10px 34px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);background:#f3f5f2}.bike-form-actions>p,.bike-form-actions>span{margin:0 auto 0 0;color:#6a7579;font-size:9px}.bike-form-actions>p{color:#9c4426}.bike-form-actions svg{width:15px}.confirmation-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:rgba(3,18,23,.68)}.confirmation-dialog{width:min(460px,100%);padding:27px;background:#fbfbf8;border:1px solid #c8d0cc;box-shadow:0 18px 55px rgba(2,14,18,.35)}.confirmation-dialog>span{color:#975033;text-transform:uppercase;letter-spacing:.09em;font-size:8px;font-weight:700}.confirmation-dialog h2{margin:8px 0 12px;font:400 28px/1.12 "Source Serif 4",serif}.confirmation-dialog p{margin:0;color:#59666b;font-size:11px;line-height:1.6}.confirmation-dialog>div{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}.auth-page{min-height:100dvh;display:grid;grid-template-columns:minmax(360px,42fr) minmax(520px,58fr);background:#f6f7f4}.auth-brand-panel{min-height:100dvh;padding:24px 32px 30px;display:flex;flex-direction:column;color:white;background:var(--rail)}.auth-brand-panel>.brand{align-self:flex-start}.auth-brand-panel>div{margin:auto 0;max-width:480px}.auth-brand-panel>div>svg{width:74px;height:74px;margin-bottom:30px;color:#b78553}.auth-brand-panel>div>span{text-transform:uppercase;letter-spacing:.11em;color:#9cb0b2;font-size:8px}.auth-brand-panel h2{margin:12px 0 16px;font:400 43px/1.05 "Source Serif 4",serif}.auth-brand-panel p{max-width:390px;margin:0;color:#b6c2c2;font-size:12px;line-height:1.65}.auth-brand-panel>small{color:#8fa2a4;text-transform:uppercase;letter-spacing:.11em;font-size:8px}.auth-form-panel{display:grid;place-items:center;padding:44px}.auth-panel{width:min(440px,100%)}.auth-back-link{min-height:44px;display:inline-flex;align-items:center;gap:8px;margin-bottom:47px;color:#506067;font-size:9px}.auth-back-link svg{width:15px}.auth-panel h1{margin:10px 0 16px;font:400 40px/1.04 "Source Serif 4",serif;letter-spacing:-.02em}.auth-panel>p{margin:0;color:#5e696e;font-size:11px;line-height:1.7}.auth-config-notice{min-height:66px;margin-top:22px;display:flex;align-items:center;gap:12px;padding:11px 13px;background:#e9eeea;border-left:3px solid var(--alpine)}.auth-config-notice>svg{width:24px;height:24px;color:var(--alpine)}.auth-config-notice>div{display:grid;gap:3px}.auth-config-notice strong{text-transform:uppercase;letter-spacing:.055em;font-size:9px}.auth-config-notice span{color:#5d686d;font-size:9px;line-height:1.4}.auth-form{display:grid;gap:13px;margin-top:27px}.auth-form label{display:grid;gap:7px}.auth-form label>span:first-child{color:#38464d;font-size:9px;font-weight:600}.auth-form label>span:nth-child(2){height:48px;display:flex;align-items:center;border:1px solid #c9d0cd;background:white}.auth-form label svg{width:18px;height:18px;margin:0 10px 0 13px;color:#6c787c}.auth-form input{min-width:0;flex:1;height:46px;border:0;outline:0;background:transparent;font-size:11px}.auth-form label>small{color:#9c4426;font-size:8px}.auth-form .primary-button{width:100%;justify-content:space-between;height:48px}.auth-form .primary-button svg{width:16px}.auth-divider{height:43px;display:flex;align-items:center;gap:10px;color:#8b9497;font-size:8px}.auth-divider:after,.auth-divider:before{content:"";height:1px;flex:1;background:#d6dbd8}.google-auth-button{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #c7cfcb;border-radius:4px;background:white;font-size:10px;font-weight:600;cursor:pointer}.google-auth-button:disabled{opacity:.45;cursor:not-allowed}.google-auth-button svg{width:18px;height:18px}.auth-message{margin-top:14px!important;padding:10px 12px;border-left:3px solid;background:white}.auth-message.is-success{color:#315d3d;border-color:var(--alpine)}.auth-message.is-error{color:#943f22;border-color:var(--clay)}.auth-privacy{margin-top:19px!important;color:#7a8488!important;font-size:8px!important}.auth-demo-link{min-height:44px;margin-top:12px;display:inline-flex;align-items:center;gap:8px;color:var(--route);font-size:10px;font-weight:600}.auth-demo-link svg{width:14px}.assessment-preview-note{display:inline-flex;min-height:32px;align-items:center;margin-top:7px;color:var(--route);font-size:9px}@media (max-width:1120px){.garage-intro,.garage-status-strip,.garage-workbench{margin-left:22px;margin-right:22px}.garage-workbench{grid-template-columns:296px minmax(0,1fr)}.garage-bike-hero{grid-template-columns:120px minmax(0,1fr);padding:28px}.garage-bike-silhouette{width:110px;height:105px}.garage-bike-silhouette svg{width:98px;height:74px}.garage-hero-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.garage-bike-title h2{font-size:32px}.bike-form-grid.identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.garage-intro{align-items:flex-start}.garage-engine-note{width:230px}.garage-workbench{grid-template-columns:260px minmax(0,1fr)}.garage-bike-row{grid-template-columns:25px 1fr}.garage-bike-icon{display:none}.active-bike-tag{grid-column:2}.garage-specification-grid{grid-template-columns:1fr}.garage-specification-grid>section{border-right:0}.bike-form-grid,.bike-form-grid.chassis-grid{grid-template-columns:1fr}.auth-page{grid-template-columns:36fr 64fr}.auth-brand-panel{padding-left:24px;padding-right:24px}.auth-brand-panel h2{font-size:35px}}@media (max-width:700px){.active-bike-menu{display:none}.garage-intro{margin:0;padding:28px 20px 22px;display:block}.garage-intro h1{font-size:40px}.garage-intro p{font-size:11px}.garage-engine-note{width:100%;margin-top:24px}.garage-status-strip{margin:0 12px 10px}.garage-status-strip>a{font-size:9px}.garage-workbench{min-height:0;margin:0 12px 28px;display:block}.garage-index{border-right:0}.garage-index>header{min-height:68px}.garage-bike-row{min-height:82px;grid-template-columns:28px 44px minmax(0,1fr)}.garage-bike-icon{display:grid;width:40px;height:40px}.garage-bike-icon svg{width:27px}.active-bike-tag{grid-column:3}.garage-bike-hero{min-height:360px;display:flex;align-items:flex-start;flex-direction:column;gap:12px;padding:26px 22px}.garage-bike-silhouette{width:100%;height:112px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13);justify-content:flex-start}.garage-bike-silhouette svg{width:116px;height:82px}.garage-bike-title h2{font-size:31px}.garage-hero-actions{width:100%;margin-top:auto;grid-template-columns:1fr 1fr}.garage-modifications,.garage-specification-grid>section{padding-left:20px;padding-right:20px}.garage-impact-note{margin:18px 20px;grid-template-columns:30px 1fr}.garage-impact-note>a{grid-column:2}.garage-record-actions{padding:0 20px}.garage-empty-detail{min-height:480px;padding:44px 24px}.garage-empty-detail h2{font-size:35px}.bike-form{min-height:0}.bike-form-heading{min-height:112px;padding:22px 20px 18px}.bike-form-heading h2{font-size:27px}.bike-form-scroll{padding:3px 20px 18px}.bike-form-grid,.bike-form-grid.chassis-grid,.bike-form-grid.identity-grid{grid-template-columns:1fr}.bike-form-actions{position:sticky;bottom:0;z-index:8;min-height:78px;padding:10px 20px}.bike-form-actions>p,.bike-form-actions>span{display:none}.bike-form-actions .secondary-button{margin-left:auto}.confirmation-dialog{padding:23px 20px}.auth-page{display:block}.auth-brand-panel{min-height:132px;padding:18px 20px}.auth-brand-panel>.brand{min-height:36px}.auth-brand-panel>div{margin:auto 0 0}.auth-brand-panel>div>h2,.auth-brand-panel>div>p,.auth-brand-panel>div>svg{display:none}.auth-brand-panel>div>span{font-size:7px}.auth-brand-panel>small{display:none}.auth-form-panel{padding:28px 20px 40px}.auth-back-link{margin-bottom:28px}.auth-panel h1{font-size:35px}}.explore-page{height:100dvh;overflow:hidden;background:var(--rail)}.explore-layout{height:calc(100dvh - var(--header-height));display:grid;grid-template-columns:240px minmax(0,1fr) 384px;grid-template-rows:minmax(0,1fr) 196px;grid-template-areas:"filters map details" "rail rail rail"}.explore-map-region{grid-area:map;min-width:0;min-height:0;position:relative}.desktop-checkpoint-panel{grid-area:details;min-width:0;min-height:0;overflow:hidden;background:var(--paper);border-left:1px solid #d3d8d5}.mobile-map-controls,.mobile-sheet{display:none}.filter-rail{grid-area:filters;min-height:0;position:relative;overflow:hidden;background:var(--rail);color:#f3f5f4;padding:18px 13px;border-right:1px solid rgba(255,255,255,.09)}.search-control{height:44px;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.28);border-radius:4px;padding:0 8px;background:rgba(255,255,255,.025)}.search-control>svg{width:18px;height:18px;flex:0 0 auto;color:#e8eeee}.search-control input{width:100%;min-width:0;border:0;outline:0;color:#fff;background:transparent;font-size:11px}.search-control input::-moz-placeholder{color:#b8c1c2;opacity:1}.search-control input::placeholder{color:#b8c1c2;opacity:1}.search-control kbd{font-size:9px;color:#9da9aa;border:1px solid rgba(255,255,255,.2);border-radius:2px;padding:1px 4px}.filter-heading{display:flex;justify-content:space-between;align-items:center;padding:25px 4px 8px;color:#d5dcdc;text-transform:uppercase;font-size:10px;letter-spacing:.045em}.filter-heading button{min-width:44px;min-height:44px;margin:-12px 0;border:0;color:#bdc6c6;background:transparent;text-transform:none;font-size:10px;padding:3px 0;cursor:pointer}.filter-heading button:hover{color:white}.filter-select{height:48px;display:grid;grid-template-columns:26px minmax(0,1fr) minmax(0,auto) 14px;align-items:center;border-bottom:1px solid rgba(255,255,255,.15);gap:7px;cursor:pointer;position:relative}.filter-icon svg{width:21px;height:21px;color:#f4f7f5}.filter-label{font-size:12px;font-weight:500}.filter-value{grid-column:3;min-width:0;max-width:104px;overflow:hidden;color:#bac4c4;font-size:10px;text-align:right;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.filter-select select{position:absolute;inset:0;z-index:1;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;opacity:0;background:transparent;cursor:pointer}.filter-select>svg{grid-column:4;width:13px;height:13px;color:#d9dfde;pointer-events:none}.filter-select:focus-within{border-bottom-color:#72b892;box-shadow:inset 0 -2px #72b892}.filter-select:has(select:disabled){cursor:default;opacity:.58}.filter-select select:disabled{cursor:default}.filter-context-note{margin:-1px 0 3px;padding:7px 4px 8px 33px;color:#aebaba;border-bottom:1px solid rgba(255,255,255,.1);font-size:8px;line-height:1.4}.map-legend{margin-top:12px;border-bottom:1px solid rgba(255,255,255,.13)}.map-legend summary{list-style:none;height:44px;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;color:#c7d0d0;font-size:10px;letter-spacing:.05em;padding:0 4px;cursor:pointer}.map-legend summary::-webkit-details-marker{display:none}.map-legend summary svg{width:13px;transition:transform .18s ease}.map-legend[open] summary svg{transform:rotate(180deg)}.map-legend>div{display:grid;gap:10px;color:#d5dcdc;font-size:10px;padding:0 5px 15px}.map-legend>div span{display:flex;align-items:center;gap:9px}.map-legend i{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-style:normal}.legend-marker svg{width:16px}.legend-ring{border:3px solid var(--alpine);border-radius:50%}.legend-state{border-radius:50%;background:var(--alpine);color:white}.legend-state svg{width:12px}.demo-notice{border:1px solid rgba(255,255,255,.18);border-radius:7px;display:flex;align-items:flex-start;gap:10px;color:#dfe6e4;text-transform:uppercase;letter-spacing:.035em;font-size:9px;line-height:1.55;padding:12px}.filter-rail>.demo-notice{position:absolute;left:13px;right:13px;bottom:22px}.demo-notice svg{width:20px;height:20px;flex:0 0 auto}.demo-notice.is-compact{border-color:rgba(255,255,255,.2);background:var(--rail);color:white;text-transform:none;font-size:11px;line-height:1.2;align-items:center;padding:10px 12px}.map-stage{position:absolute;inset:0;overflow:hidden;background:#e8ece7}.map-stage .maplibregl-map{width:100%;height:100%;font-family:Manrope,sans-serif}.map-stage .maplibregl-ctrl-bottom-left{left:7px;bottom:63px}.map-stage .maplibregl-ctrl-group{box-shadow:0 1px 5px rgba(11,28,34,.2);border:1px solid #cdd2d0;border-radius:5px;overflow:hidden}.map-stage .maplibregl-ctrl button{width:44px;height:44px}.map-stage .maplibregl-ctrl-scale{background:rgba(247,247,244,.82);border-color:var(--ink);color:var(--ink);font-size:9px}.map-stage .maplibregl-ctrl-attrib{font-size:9px}.map-loading{display:grid;place-items:center;color:#5c686d;letter-spacing:.03em}.map-demo-notice{position:absolute;right:16px;bottom:16px;z-index:4}.checkpoint-marker{--marker-ring:var(--alpine);width:44px;height:44px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.marker-core{width:34px;height:34px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 3px var(--marker-ring),0 3px 10px rgba(9,25,31,.25);display:grid;place-items:center;color:white;transition:transform .15s ease,box-shadow .15s ease}.marker-core>svg{width:16px;height:16px}.checkpoint-marker.tone-blue .marker-core{background:#144d88}.checkpoint-marker.tone-clay .marker-core{background:var(--clay)}.checkpoint-marker.tone-green .marker-core{background:var(--alpine)}.checkpoint-marker.tone-violet .marker-core{background:var(--violet)}.checkpoint-marker.tone-ochre .marker-core{background:#a9752c}.checkpoint-marker.is-hovered .marker-core,.checkpoint-marker:hover .marker-core{transform:scale(1.12)}.checkpoint-marker.is-hovered,.checkpoint-marker:hover{z-index:2}.checkpoint-marker.is-selected{z-index:3}.checkpoint-marker.is-selected .marker-core{width:40px;height:40px;background:var(--rail);color:var(--ochre);box-shadow:0 0 0 4px white,0 0 0 7px var(--route),0 4px 16px rgba(9,25,31,.3)}.marker-favorite,.marker-visited{position:absolute;display:grid;place-items:center;border-radius:50%}.marker-favorite{width:16px;height:16px;top:-9px;right:-8px;color:var(--ochre);background:var(--rail)}.marker-favorite svg{width:11px}.marker-visited{width:16px;height:16px;right:-8px;bottom:-7px;color:white;background:var(--alpine);border:2px solid white}.marker-visited svg{width:9px}.checkpoint-panel{height:100%;min-height:0;background:var(--paper);display:flex;flex-direction:column;overflow:hidden}.checkpoint-panel.is-empty{overflow-y:auto}.empty-panel-copy{padding:58px 36px}.checkpoint-panel-heading h2,.empty-panel-copy h2{font-family:"Source Serif 4",Georgia,serif;font-weight:400;letter-spacing:-.025em;margin:0}.empty-panel-copy h2{font-size:33px;line-height:1.1;white-space:nowrap}.empty-panel-copy>p{font-size:15px;line-height:1.75;max-width:285px;color:#445159;margin:16px 0 38px}.assessing-bike{height:57px;display:grid;grid-template-columns:42px auto 1fr;align-items:center;gap:10px;border-bottom:1px solid var(--line);font-size:12px}.assessing-bike svg{width:34px;height:27px}.assessing-bike span{color:var(--muted)}.assessing-bike strong{font-weight:500}.empty-panel-copy ul{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:30px;color:#59646b}.empty-panel-copy li{display:flex;align-items:center;gap:20px;font-size:14px}.empty-panel-copy li svg{width:25px;height:25px}.checkpoint-panel-heading{min-height:106px;padding:24px 21px 18px;display:flex;justify-content:space-between;gap:12px;flex:0 0 auto}.checkpoint-panel-heading h2{font-size:34px;line-height:1.06}.checkpoint-panel-heading p{margin:10px 0 0;font-size:12px}.checkpoint-panel-heading p span{margin:0 9px;color:#909797}.checkpoint-panel-heading button{width:44px;height:44px;margin-right:-12px;padding:13px;border:0;background:transparent;cursor:pointer;flex:0 0 auto}.checkpoint-panel-photo{margin:0;position:relative;min-height:215px;flex:0 0 215px;overflow:hidden;background:#d5d9d5}.checkpoint-panel-photo img{-o-object-fit:cover;object-fit:cover}.checkpoint-panel-content{padding:21px 21px 10px;overflow-y:auto;overscroll-behavior:contain}.why-ride-section{padding-bottom:19px}.why-ride-section h3{text-transform:uppercase;font-size:10px;letter-spacing:.055em;font-weight:600;color:#455158;margin:0 0 8px}.why-ride-section p{font-size:12px;line-height:1.65;margin:0;color:#3e494f}.bike-verdict{border-top:1px solid var(--line);padding:18px 0 15px;display:grid;grid-template-columns:26px 1fr;gap:10px}.verdict-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:white;margin-top:1px}.verdict-icon.is-positive{background:var(--alpine)}.verdict-icon.is-caution{background:#b37c26}.verdict-icon svg{width:14px}.bike-verdict h3{font-size:14.5px;line-height:1.35;margin:0;font-weight:600;letter-spacing:-.012em}.bike-verdict p{font-size:11px;line-height:1.55;color:#5b666d;margin:9px 0 0}.bike-verdict p span{margin:0 5px}.bike-verdict .verdict-icon.is-neutral{color:#667277;background:#e7ebe8}.bike-verdict a{display:inline-flex;min-height:32px;align-items:center;margin-top:5px;color:var(--route);font-size:10px;font-weight:600}.checkpoint-facts{margin:0;padding:0;border-top:1px solid var(--line)}.checkpoint-facts>div{min-height:46px;display:grid;grid-template-columns:125px 1fr;align-items:center;border-bottom:1px solid var(--line);font-size:10.5px}.checkpoint-facts dt{display:flex;align-items:center;gap:9px;color:#59646a}.checkpoint-facts dt svg{width:18px;height:18px}.checkpoint-facts dd{margin:0;color:#515b61}.checkpoint-facts dd strong{color:var(--ink);font-weight:600}.checkpoint-facts dd span{margin:0 5px;color:#9ba1a2}.checkpoint-facts .difficulty-value{color:var(--route)}.rating-explainer{border-bottom:1px solid var(--line)}.rating-explainer summary{min-height:44px;list-style:none;cursor:pointer;padding:14px 0;font-size:11px;font-weight:600;color:var(--route)}.rating-explainer summary::-webkit-details-marker{display:none}.rating-explainer[open] summary{padding-bottom:7px}.rating-explainer>div{padding:0 0 16px;font-size:10px}.rating-equation{margin:0 0 10px;padding:10px;background:#eef1ef;font-variant-numeric:tabular-nums}.rating-equation strong{display:inline;color:var(--route)}.rating-explainer dl{margin:0}.rating-explainer dl>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.rating-explainer dd{margin:0;text-align:right}.assessment-disclaimer{color:#687176;line-height:1.5;margin:10px 0 0}.checkpoint-actions{min-height:59px;flex:0 0 auto;border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr .9fr 1.2fr;background:var(--paper)}.checkpoint-actions a,.checkpoint-actions button{min-width:0;border:0;border-right:1px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;padding:8px 6px;cursor:pointer}.checkpoint-actions>:last-child{border-right:0}.checkpoint-actions svg{width:18px;height:18px}.checkpoint-actions .favorite svg{color:var(--ochre)}.checkpoint-actions .visited svg{border-radius:50%;color:white;background:var(--alpine);padding:3px}.checkpoint-actions .action-arrow{width:12px;margin-left:-3px;opacity:.55}.checkpoint-actions a:hover,.checkpoint-actions button:hover{background:#ecefeb}.checkpoint-rail{grid-area:rail;min-width:0;min-height:0;background:#061820;padding:12px 24px 16px;overflow:hidden;border-top:1px solid rgba(255,255,255,.1)}.checkpoint-rail-scroll{display:flex;height:100%;gap:11px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}.checkpoint-rail-scroll::-webkit-scrollbar{display:none}.checkpoint-card{flex:0 0 calc((100% - 33px) / 4);min-width:0;max-width:none;border-radius:6px;overflow:hidden;scroll-snap-align:start;position:relative;border:2px solid transparent;transition:border-color .14s ease,transform .14s ease}.checkpoint-card.is-selected{border-color:#0f8cf4}.checkpoint-card.is-hovered{transform:translateY(-2px)}.checkpoint-card button{width:100%;height:100%;border:0;padding:0;display:block;position:relative;overflow:hidden;color:white;background:#10242c;cursor:pointer;text-align:left}.checkpoint-card img{-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.checkpoint-card:hover img{transform:scale(1.025)}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,12,16,.04) 25%,rgba(3,12,16,.84))}.card-category{position:absolute;top:9px;left:9px;width:28px;height:28px;border-radius:50%;border:2px solid white;display:grid;place-items:center;color:white}.card-category svg{width:14px;height:14px}.card-category.tone-blue{background:#144d88}.card-category.tone-clay{background:var(--clay)}.card-category.tone-green{background:var(--alpine)}.card-category.tone-violet{background:var(--violet)}.card-category.tone-ochre{background:#a9752c}.card-states{position:absolute;right:9px;top:8px;display:flex;align-items:center;gap:7px}.card-states>svg{width:22px;height:22px}.card-states .favorite{color:var(--ochre);filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.card-states .visited{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--alpine);color:white}.card-states .visited svg{width:14px}.card-copy{position:absolute;left:16px;right:16px;bottom:10px;display:grid}.card-copy strong{font-family:"Source Serif 4",Georgia,serif;font-size:22px;line-height:1.1;font-weight:400}.card-copy small,.card-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-copy small{margin-top:5px;font-size:10px}.card-copy small i{margin:0 8px;font-style:normal}.suitability-track{margin-top:10px;width:100%;height:3px;border-radius:3px;background:rgba(255,255,255,.22);overflow:hidden}.suitability-track i{height:100%;display:block;background:#1591f2;border-radius:inherit}.suitability-track.is-neutral{background:rgba(255,255,255,.14)}.rail-empty{min-width:100%;display:grid;place-items:center;align-content:center;color:#eef2f1;gap:6px;text-align:center}.rail-empty span{font-size:11px;color:#aebbbb}.filter-drawer-backdrop,.mobile-nav-backdrop{position:fixed;inset:0;z-index:80;background:rgba(2,12,16,.48)}.filter-drawer-backdrop>div{height:100%;width:min(360px,92vw)}.filter-rail.is-drawer{display:block;height:100%;padding:24px 20px;overflow-y:auto;box-shadow:20px 0 45px rgba(0,0,0,.25)}.drawer-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.drawer-heading>div{display:grid;gap:4px}.drawer-heading span{font-family:"Source Serif 4",serif;font-size:28px}.drawer-heading small{color:#aeb9b8}.drawer-heading button{width:44px;height:44px;background:transparent;color:white;border:1px solid rgba(255,255,255,.2);border-radius:4px;display:grid;place-items:center}.drawer-heading button svg{width:20px}.drawer-apply{width:100%;height:48px;border:0;border-radius:4px;margin-top:28px;background:var(--alpine);color:white;font-weight:600}.mobile-nav-drawer{margin-left:auto;width:min(320px,84vw);height:100%;background:var(--rail);color:white;padding:20px;display:grid;align-content:start;gap:8px;box-shadow:-20px 0 45px rgba(0,0,0,.3)}.mobile-nav-drawer button{justify-self:end;width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:white}.mobile-nav-drawer a{font-family:"Source Serif 4",serif;font-size:26px;border-bottom:1px solid rgba(255,255,255,.12);padding:16px 3px}.placeholder-page{min-height:100dvh;background:var(--paper)}.placeholder-page>section{max-width:780px;margin:0 auto;padding:120px 30px}.placeholder-page>section>p{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--alpine)}.placeholder-page h1{font:400 58px/1 "Source Serif 4",serif;margin:10px 0 22px}.placeholder-page section div{font-size:17px;color:#58636a}.placeholder-page section a{display:inline-block;margin-top:38px;color:var(--route);border-bottom:1px solid}.explore-loading{min-height:100dvh;display:grid;place-items:center;background:var(--rail);color:white}.checkpoint-detail-page{min-height:100dvh;background:#fbfbf8}.detail-layout{min-height:calc(100dvh - var(--header-height));display:grid;grid-template-columns:minmax(0,1fr) 370px}.detail-main{min-width:0;border-right:1px solid var(--line)}.detail-hero{height:283px;position:relative;overflow:hidden;background:#6f7e79;color:white}.detail-hero>img{-o-object-fit:cover;object-fit:cover}.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,12,16,.06) 35%,rgba(3,12,16,.7));pointer-events:none}.detail-hero-top{position:absolute;z-index:2;top:17px;left:26px;right:20px;display:flex;align-items:center;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.detail-hero-top a{text-transform:none;letter-spacing:0;display:inline-flex;align-items:center;gap:6px;font-size:11px}.detail-hero-top a svg{width:15px}.detail-hero-copy{position:absolute;z-index:2;bottom:23px;left:26px}.detail-hero-copy h1{font:400 39px/1.05 "Source Serif 4",serif;letter-spacing:-.025em;margin:0}.detail-hero-copy p{font-size:14px;margin:10px 0 8px}.detail-hero-copy>span{display:inline-block;border:1px solid rgba(255,255,255,.75);border-radius:3px;padding:4px 8px;font-size:10px}.detail-content{padding:0 26px 30px}.detail-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;padding:18px 0 20px;border-bottom:1px solid var(--line)}.bike-assessment-rail>h2,.detail-content h2{margin:0;font:400 20px/1.2 "Source Serif 4",serif}.detail-intro>div:first-child p{margin:12px 0 0;color:#4d585e;line-height:1.75;font-size:12px;max-width:580px}.rating-list{display:grid;align-content:start;gap:8px;padding-top:1px}.rating-list>div{display:grid;grid-template-columns:132px minmax(90px,1fr) 63px;align-items:center;gap:9px;font-size:10px}.difficulty-meter>i,.rating-list i{height:4px;background:#dddeda;border-radius:3px;overflow:hidden}.difficulty-meter>i b,.rating-list i b{height:100%;display:block;background:var(--alpine)}.rating-list strong{text-align:right;font-weight:500;color:var(--alpine)}.difficulty-meter small,.rating-list small{color:#606a6e;font-weight:400}.detail-section{padding:14px 0 16px;border-bottom:1px solid var(--line)}.detail-section>h2{font-family:Manrope,sans-serif;font-size:11px;font-weight:600;margin-bottom:12px}.road-surface-section{display:grid;grid-template-columns:minmax(250px,.8fr) 1.6fr;-moz-column-gap:26px;column-gap:26px}.road-surface-section>h2{grid-column:1/-1}.surface-bar{height:5px;display:flex;border-radius:4px;overflow:hidden;background:#dadbd8}.surface-bar i{height:100%}.paved{background:#1d3435}.broken{background:repeating-linear-gradient(90deg,#75817c 0 4px,#dfe2df 4px 7px)}.gravel{background:#8a8b84}.dirt{background:#9e6645}.sand{background:#c7a468}.rocky{background:#545c5d}.surface-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px;font-size:9px;grid-column:1}.surface-legend span{display:flex;align-items:center;gap:7px}.surface-legend i{width:17px;height:3px}.road-risk-grid{grid-column:2;grid-row:2/span 2;display:grid;grid-template-columns:repeat(5,1fr);align-self:stretch}.road-risk-grid>div{padding:0 15px;border-left:1px solid var(--line);display:grid;align-content:center;gap:10px;text-transform:capitalize}.road-risk-grid strong{font-size:9px;font-weight:600}.road-risk-grid span{display:flex;align-items:center;gap:7px;font-size:9px}.risk-dot{width:9px;height:9px;border-radius:50%;border:2px solid #787f7d}.risk-low,.risk-none{border-color:var(--alpine)}.risk-moderate{border-color:#d07f10}.risk-high{border-color:var(--clay)}.logistics-grid{display:grid;grid-template-columns:repeat(6,1fr)}.logistics-grid>div{display:grid;grid-template-columns:22px 1fr;gap:7px;padding-right:12px}.logistics-grid>div>svg{width:17px;height:17px;margin-top:1px}.logistics-grid span{display:grid;gap:4px;min-width:0}.logistics-grid strong{font-size:9px;font-weight:600}.logistics-grid small{color:#586268;font-size:9px;line-height:1.35;overflow-wrap:anywhere;text-transform:capitalize}.season-grid{display:grid;grid-template-columns:.8fr 1fr .75fr .75fr 1.9fr}.season-grid>div{min-width:0;display:grid;grid-template-columns:auto 1fr;-moz-column-gap:6px;column-gap:6px;row-gap:5px;border-right:1px solid var(--line);padding:0 17px}.season-grid>div:first-child{padding-left:0}.season-grid>div:last-child{border-right:0}.season-grid svg{width:13px;height:13px;color:#9d6e1f}.season-grid strong{font-size:9px;font-weight:600}.season-grid span{grid-column:1/-1;color:#4e595e;font-size:9px;line-height:1.35;text-transform:capitalize}.rider-intelligence{padding:15px 0 0}.rider-intelligence>header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px}.rider-intelligence header>div{display:flex;align-items:baseline;gap:12px}.rider-intelligence header h2{font-size:17px}.rider-intelligence header span{font-size:8px;color:#687276}.rider-intelligence header em{font:italic 11px "Source Serif 4",serif;color:#5b6467}.report-table-wrap{overflow-x:auto}.rider-intelligence table{width:100%;border-collapse:collapse;min-width:760px;font-size:8.5px}.rider-intelligence th{text-align:left;padding:6px 8px;border-bottom:1px solid #aeb4b1;font-weight:600}.rider-intelligence td{padding:7px 8px;border-bottom:1px solid var(--line);color:#49545a;text-transform:capitalize}.rider-intelligence td:first-child,.rider-intelligence th:first-child{padding-left:0}.bike-assessment-rail{position:sticky;top:0;align-self:start;height:calc(100dvh - var(--header-height));overflow-y:auto;padding:22px 24px 28px;background:#fbfbf8}.bike-assessment-rail>h2{font-size:20px}.bike-name{display:flex;align-items:center;gap:10px;margin:18px 0;font-size:11px}.bike-name svg{width:26px;height:26px}.detail-verdict{min-height:45px;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #adbea9;background:#f0f4ed;color:#35583b;border-radius:4px;font-size:11px}.detail-verdict svg{width:18px;height:18px;padding:3px;background:var(--alpine);color:white;border-radius:50%}.difficulty-meter{padding:20px 0 0}.difficulty-meter>div{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;font-size:10px}.difficulty-meter strong{color:#cf7d19;font-size:13px;font-weight:500}.difficulty-meter>i{display:block;height:6px}.calculation-section{margin-top:22px}.assessment-cautions h3,.calculation-section h3{font-size:10px;font-weight:600;margin:0 0 8px}.calculation-section dl{margin:0;font-size:10px}.assessment-meta>div,.calculation-section dl>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.assessment-meta dd,.calculation-section dd{margin:0}.calculation-total{border-top:1px solid var(--line);margin-top:5px;padding-top:10px!important;font-weight:600}.assessment-cautions{margin-top:19px}.assessment-cautions ul{margin:0;padding-left:16px;color:#505b60;font-size:9px;line-height:1.55}.assessment-meta{margin:18px 0 0;padding:10px 0;border-bottom:1px solid var(--line);font-size:9px}.assessment-meta dd{color:#a96f20;text-transform:capitalize}.rail-disclaimer{font-size:9px;line-height:1.6;color:#697276;margin:13px 0 20px}.detail-actions{display:grid;gap:5px}.detail-actions button{height:44px;display:flex;align-items:center;gap:9px;padding:0 10px;border:1px solid var(--line);background:transparent;border-radius:4px;text-align:left;font-size:10px;cursor:pointer}.detail-actions button svg{width:17px;height:17px}.detail-actions button.primary{color:white;background:#2e643d;border-color:#2e643d}.detail-actions button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:1000px){.detail-layout{grid-template-columns:1fr 320px}.detail-intro{gap:20px}.detail-intro,.road-surface-section{grid-template-columns:1fr}.road-risk-grid{grid-column:1;grid-row:auto;margin-top:16px}.logistics-grid{gap:18px}.logistics-grid,.season-grid{grid-template-columns:repeat(3,1fr)}.season-grid{row-gap:17px}}@media (max-width:760px){.app-header.theme-light .mobile-menu-button{color:var(--ink)}.detail-layout{display:block}.detail-main{border-right:0}.detail-hero{height:310px}.detail-hero-top{left:18px;right:18px}.detail-hero-top>span{font-size:8px}.detail-hero-copy{left:20px;bottom:20px}.detail-hero-copy h1{font-size:35px}.detail-content{padding:0 20px 30px}.detail-intro{padding-top:22px}.rating-list>div{grid-template-columns:125px 1fr 58px}.road-risk-grid{grid-template-columns:repeat(2,1fr);gap:0}.road-risk-grid>div{min-height:60px;border-bottom:1px solid var(--line)}.logistics-grid,.season-grid{grid-template-columns:repeat(2,1fr)}.rider-intelligence>header{align-items:flex-start;flex-direction:column}.rider-intelligence header>div{display:grid}.bike-assessment-rail{position:static;height:auto;border-top:7px solid var(--rail);padding:28px 20px}}@media (max-width:1100px){.app-header{gap:44px}.primary-nav{gap:28px}.active-bike-control{min-width:220px}.active-bike-year{display:none}.explore-layout{grid-template-columns:minmax(0,60fr) minmax(330px,40fr);grid-template-rows:minmax(0,1fr) 164px;grid-template-areas:"map details" "rail rail"}.filter-rail:not(.is-drawer){display:none}.mobile-map-controls{display:block}.mobile-map-controls .mobile-bike,.mobile-map-controls .mobile-search{display:none}.mobile-filter-button{position:absolute;left:16px;top:18px;z-index:5;min-height:48px;border:0;border-radius:6px;background:var(--rail);color:white;display:flex;align-items:center;gap:10px;padding:0 17px;font-weight:600;box-shadow:0 4px 14px rgba(5,20,25,.18)}.mobile-filter-button svg{width:21px}.checkpoint-rail{padding:10px 18px 13px}.checkpoint-card{flex-basis:300px}.card-copy strong{font-size:20px}}@media (max-width:700px){:root{--header-height:58px}.app-header{padding:0 20px}.brand{font-size:23px}.app-header .active-bike-control,.primary-nav{display:none}.mobile-menu-button{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;cursor:pointer}.mobile-menu-button svg{width:28px;height:28px}.explore-layout{display:grid;grid-template-columns:100%;grid-template-rows:minmax(0,1fr) 124px 106px;grid-template-areas:"map" "rail" "sheet";height:calc(100dvh - var(--header-height))}.desktop-checkpoint-panel{display:none}.explore-map-region{min-height:0}.mobile-map-controls{display:block;position:absolute;inset:0;pointer-events:none;z-index:6}.mobile-map-controls>*{pointer-events:auto}.mobile-bike,.mobile-filter-button,.mobile-search{position:absolute;background:var(--rail);color:white;border:1px solid rgba(255,255,255,.12);border-radius:6px;min-height:48px;box-shadow:0 4px 14px rgba(5,20,25,.2)}.mobile-search{display:flex!important;align-items:center;gap:10px;top:15px;left:12px;width:154px;padding:0 13px}.mobile-search svg{width:23px;height:23px;flex:0 0 auto}.mobile-search input{min-width:0;width:100%;background:transparent;border:0;outline:0;color:white;font-size:12px}.mobile-search input::-moz-placeholder{color:white;opacity:.95}.mobile-search input::placeholder{color:white;opacity:.95}.mobile-bike{display:flex!important;align-items:center;gap:8px;top:15px;right:12px;height:48px;max-width:calc(100% - 180px);padding:0 10px}.mobile-bike>svg:first-child{width:27px;height:22px;color:#b78553;flex:0 0 auto}.mobile-bike>span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-bike>svg:last-child{width:13px;flex:0 0 auto}.mobile-filter-button{top:72px;left:12px;min-height:45px;padding:0 14px;font-size:12px}.mobile-filter-button svg{width:19px}.map-demo-notice{right:10px;bottom:10px}.demo-notice.is-compact{font-size:9px;padding:8px 10px}.demo-notice.is-compact svg{width:18px;height:18px}.map-stage .maplibregl-ctrl-bottom-left{left:4px;bottom:58px}.map-stage .maplibregl-ctrl-group button{width:44px;height:44px}.checkpoint-marker .marker-core{width:30px;height:30px}.checkpoint-marker.is-selected .marker-core{width:36px;height:36px}.checkpoint-rail{padding:9px 10px 10px}.checkpoint-rail-scroll{gap:7px}.checkpoint-card{flex:0 0 min(75vw,286px);max-width:none;border-radius:6px}.card-category{width:23px;height:23px;top:7px;left:7px}.card-category svg{width:11px}.card-states{top:6px;right:7px}.card-states>svg{width:18px;height:18px}.card-states .visited{width:20px;height:20px}.card-copy{left:11px;right:11px;bottom:7px}.card-copy strong{font-size:17px}.card-copy small{font-size:8px;margin-top:3px}.card-copy small i{margin:0 5px}.suitability-track{margin-top:6px;height:2px}.mobile-sheet{grid-area:sheet;position:relative;display:block;background:var(--paper);z-index:20;border-radius:22px 22px 0 0;box-shadow:0 -7px 24px rgba(5,20,25,.13);min-height:0}.mobile-sheet.is-peek{padding:14px 22px}.sheet-handle{display:block;width:42px;height:5px;border-radius:5px;background:#c2c5c3;margin:0 auto}.mobile-sheet-empty{display:flex;align-items:center;gap:18px;margin-top:17px;padding:0 1px}.mobile-sheet-empty>svg{width:25px;height:25px;color:#54616a}.mobile-sheet-empty>div{display:grid;gap:2px}.mobile-sheet-empty strong{font:400 18px/1.2 "Source Serif 4",serif}.mobile-sheet-empty span{font-size:12px;color:#667078}.mobile-sheet.is-checkpoint{position:fixed;left:0;right:0;bottom:0;transition:height .24s ease;overflow:hidden}.mobile-sheet.is-checkpoint.is-expanded{height:min(57dvh,520px)}.mobile-sheet.is-checkpoint.is-collapsed{height:112px}.sheet-handle-button{position:absolute;top:0;left:0;width:100%;height:28px;z-index:4;border:0;background:var(--paper);padding-top:9px;border-radius:22px 22px 0 0}.mobile-sheet .checkpoint-panel{padding-top:28px}.mobile-sheet .checkpoint-panel-heading{min-height:auto;padding:6px 22px 10px}.mobile-sheet .checkpoint-panel-heading h2{font-size:28px}.mobile-sheet .checkpoint-panel-heading p{font-size:10px;margin-top:6px}.mobile-sheet .checkpoint-panel-photo{flex-basis:110px;min-height:110px;margin:0 22px;border-radius:7px}.mobile-sheet .checkpoint-panel-content{padding:14px 22px 6px}.mobile-sheet .why-ride-section{display:none}.mobile-sheet .bike-verdict{border-top:0;padding-top:0}.mobile-sheet .bike-verdict h3{font-size:15px}.mobile-sheet .bike-verdict p{font-size:12px}.mobile-sheet .checkpoint-facts>div{grid-template-columns:135px 1fr;font-size:10.5px;min-height:40px}.mobile-sheet .rating-explainer{display:none}.mobile-sheet .checkpoint-actions{min-height:64px}.mobile-sheet .checkpoint-actions a,.mobile-sheet .checkpoint-actions button{font-size:10px}.collapsed-checkpoint{margin-top:28px;width:100%;height:84px;border:0;background:transparent;padding:8px 22px 14px;text-align:left;display:grid;align-content:center;gap:7px}.collapsed-checkpoint>span{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.collapsed-checkpoint strong{font:400 22px/1 "Source Serif 4",serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapsed-checkpoint small{color:#6c7579}.collapsed-checkpoint em{color:var(--alpine);font-style:normal;font-size:11px}}@media (max-width:380px){.mobile-search{width:140px}.mobile-bike{max-width:calc(100% - 164px)}.checkpoint-card{flex-basis:74vw}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}