@font-face{font-display:swap;font-family:Display Filled;font-style:normal;font-weight:700;src:url(../../../fonts/display-filled.woff2) format("woff2")}@font-face{font-display:swap;font-family:Display Outline;font-style:normal;font-weight:700;src:url(../../../fonts/display-outline.woff2) format("woff2")}@font-face{font-display:swap;font-family:Cupertino Symbols;font-style:normal;font-weight:400 700;src:url(../../../fonts/cupertino-symbols.woff2) format("woff2")}:root{color-scheme:dark;--bg: #08090e;--surface: #0f1520;--surface-raised: #141c28;--line: rgba(148, 166, 192, .14);--line-strong: rgba(148, 166, 192, .26);--text: #e8edf5;--muted: #6e7e96;--accent: #ff5e30;--accent-hi: #ff8060;--accent-text: #ffa183;--accent-lo: rgba(255, 94, 48, .13);--teal: #45c2b0;--teal-hi: #24907f;--teal-lo: rgba(69, 194, 176, .12);--violet: #6c60f0;--success-bg: rgba(74, 200, 156, .12);--success-border: rgba(74, 200, 156, .22);--success-text: #7ee8c0;--danger-bg: rgba(224, 88, 90, .12);--danger-border: rgba(224, 88, 90, .22);--danger-text: #f09a9b;--shadow: 0 2px 12px rgba(0, 0, 0, .36);--shadow-lg: 0 6px 32px rgba(0, 0, 0, .46);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 56px;--sp-14: 72px;--t-xs: .75rem;--t-sm: .875rem;--t-md: 1rem;--t-lg: 1.125rem;--t-xl: 1.375rem;--t-2xl: 1.75rem;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display-filled: "Display Filled", Impact, "Arial Narrow", var(--font-body);--font-display-outline: "Display Outline", Impact, "Arial Narrow", var(--font-body);--display-title-xl: 4.8rem;--display-title-lg: 4.2rem;--display-title-md: 3.4rem;--display-title-sm: 2.35rem;--display-section-title: 2rem;--display-card-title: 2.2rem;--display-card-title-sm: 1.85rem;--display-small-title: 1.35rem;--display-kicker: .95rem;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--page-max: 1200px;--content-max: 960px;--narrow-max: 680px;--topbar-h: 56px;--page-pad: var(--sp-6);--card-pad: var(--sp-5);--ctrl-h: 40px;font-family:var(--font-body);font-size:16px;font-synthesis:none;line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}@media(max-width:820px){:root{--display-title-xl: 3.5rem;--display-title-lg: 3.1rem;--display-title-md: 2.75rem;--display-title-sm: 2.1rem;--display-section-title: 1.75rem;--display-card-title: 1.95rem;--display-card-title-sm: 1.65rem;--display-small-title: 1.25rem}}@media(max-width:480px){:root{--display-title-xl: 2.8rem;--display-title-lg: 2.55rem;--display-title-md: 2.35rem;--display-title-sm: 1.95rem;--display-section-title: 1.55rem;--display-card-title: 1.7rem;--display-card-title-sm: 1.5rem}}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth}body{background-color:var(--bg);background-image:radial-gradient(ellipse 60% 40% at 0% 0%,rgba(108,96,240,.1) 0%,transparent 60%),radial-gradient(ellipse 50% 35% at 100% 0%,rgba(255,94,48,.08) 0%,transparent 55%);background-attachment:fixed;color:var(--text);margin:0;min-width:320px;overflow-x:clip}h1,h2,h3,p,dl,ul,ol{margin-top:0}h1{margin-bottom:var(--sp-3)}h2{font-family:var(--font-display-filled);font-size:var(--display-section-title);font-weight:700;letter-spacing:0;line-height:.98;margin-bottom:var(--sp-3);text-transform:uppercase;text-wrap:balance}h3{font-family:var(--font-display-filled);font-size:var(--display-small-title);font-weight:700;letter-spacing:0;line-height:1;margin-bottom:var(--sp-2);text-transform:uppercase;text-wrap:balance}a{color:inherit}button,input,select,textarea{font:inherit}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.empty{color:var(--muted);font-size:var(--t-sm);margin-bottom:0}.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.carousel-card-copy p,.route-description,.admin-row p,.empty,.form-note,.feature-card p{color:var(--muted);font-size:var(--t-sm);margin-bottom:0}.form-hint{color:var(--muted);display:block;font-size:var(--t-sm);margin-top:var(--sp-1)}.form-warning{background:var(--surface-2, var(--surface));border:1px solid var(--warning-border, var(--line));border-left:3px solid var(--warning, var(--accent));border-radius:var(--r-sm);color:var(--warning-text, var(--ink));font-size:var(--t-sm);margin:0;padding:var(--sp-2) var(--sp-3)}.print-only{display:none!important}button,.button-link{align-items:center;border-radius:var(--r-sm);display:inline-flex;font-size:var(--t-sm);font-weight:700;gap:var(--sp-2);justify-content:center;min-height:var(--ctrl-h);padding:0 var(--sp-4);text-decoration:none;transition:opacity .12s ease,transform .12s ease;white-space:nowrap}button{background:var(--accent);border:1px solid transparent;color:#fff;cursor:pointer}button:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.4}button.danger{background:#b84040}button.success{background:var(--teal-hi);color:#041210}button.secondary-action{background:transparent;border-color:var(--line-strong);color:var(--text)}button.secondary-action:hover:not(:disabled){background:var(--surface-raised)}.button-link{background:var(--teal);border:1px solid transparent;color:#041210}.button-link:hover{opacity:.88;transform:translateY(-1px)}.button-link.primary{background:var(--teal);border-color:transparent;color:#041210}.button-link.primary:hover{opacity:.88;transform:translateY(-1px)}.button-link.secondary{background:transparent;border-color:var(--teal);color:var(--teal)}.button-link.secondary:hover{background:var(--teal-lo);border-color:var(--teal)}.button-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);display:grid;gap:var(--sp-4);padding:var(--sp-5)}.form.compact{background:transparent;border:none;box-shadow:none;padding:0}.form label,.inline-form label,.route-edit-form label,.proposal-edit-form label,.route-edit-grid label{display:grid;gap:var(--sp-2)}.form label>span:not(.sr-only),.inline-form label>span:not(.sr-only),.route-edit-form label>span:not(.sr-only),.proposal-edit-form label>span:not(.sr-only),.route-edit-grid label>span:not(.sr-only){color:var(--muted);font-family:var(--font-body);font-size:var(--t-sm);font-weight:600;letter-spacing:0;line-height:1.3;text-transform:none}.form input,.form select,.form textarea,.inline-form input,.inline-form select,.inline-form textarea,.route-edit-form input,.route-edit-form select,.route-edit-form textarea,.proposal-edit-form input,.proposal-edit-form select,.proposal-edit-form textarea,.route-edit-grid input,.route-edit-grid select,.route-edit-grid textarea{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text);font-size:var(--t-sm);height:var(--ctrl-h);padding:0 var(--sp-3);transition:border-color .12s ease,box-shadow .12s ease;width:100%}.form input::placeholder,.form textarea::placeholder,.inline-form input::placeholder,.inline-form textarea::placeholder,.route-edit-form input::placeholder,.route-edit-form textarea::placeholder,.proposal-edit-form input::placeholder,.proposal-edit-form textarea::placeholder,.route-edit-grid input::placeholder,.route-edit-grid textarea::placeholder{color:var(--muted)}.form input:hover:not(:focus),.form select:hover:not(:focus),.form textarea:hover:not(:focus),.inline-form input:hover:not(:focus),.inline-form select:hover:not(:focus),.inline-form textarea:hover:not(:focus),.route-edit-form input:hover:not(:focus),.route-edit-form select:hover:not(:focus),.route-edit-form textarea:hover:not(:focus),.proposal-edit-form input:hover:not(:focus),.proposal-edit-form select:hover:not(:focus),.proposal-edit-form textarea:hover:not(:focus),.route-edit-grid input:hover:not(:focus),.route-edit-grid select:hover:not(:focus),.route-edit-grid textarea:hover:not(:focus){border-color:#94a6c066}.form input:focus,.form select:focus,.form textarea:focus,.inline-form input:focus,.inline-form select:focus,.inline-form textarea:focus,.route-edit-form input:focus,.route-edit-form select:focus,.route-edit-form textarea:focus,.proposal-edit-form input:focus,.proposal-edit-form select:focus,.proposal-edit-form textarea:focus,.route-edit-grid input:focus,.route-edit-grid select:focus,.route-edit-grid textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-lo);outline:none}.form select,.inline-form select,.route-edit-form select,.proposal-edit-form select,.route-edit-grid select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%236e7e96' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right var(--sp-3) center;background-repeat:no-repeat;background-size:12px 8px;cursor:pointer;padding-right:calc(var(--sp-3) * 2 + 12px)}.form select option,.inline-form select option,.route-edit-form select option,.proposal-edit-form select option,.route-edit-grid select option{background:var(--surface);color:var(--text)}.form textarea,.inline-form textarea,.route-edit-form textarea,.proposal-edit-form textarea,.route-edit-grid textarea{height:auto;min-height:96px;padding-block:var(--sp-3);resize:vertical;line-height:1.5}.form input[type=file]{cursor:pointer;height:auto;padding:var(--sp-2)}.form input[type=file]::file-selector-button{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);cursor:pointer;font-family:var(--font-body);font-size:var(--t-xs);font-weight:700;letter-spacing:0;margin-right:var(--sp-3);padding:var(--sp-1) var(--sp-3);text-transform:uppercase;transition:border-color .12s ease,background .12s ease}.form input[type=file]::file-selector-button:hover{background:var(--surface);border-color:var(--line-strong)}.form input[type=datetime-local],.inline-form input[type=datetime-local]{color-scheme:dark}.form label.check,.inline-form label.check,.route-edit-form label.check,.proposal-edit-form label.check,.route-edit-grid label.check,label.check{align-items:center;display:flex;flex-direction:row;gap:var(--sp-2)}label.check input{accent-color:var(--accent);flex:0 0 auto;height:16px;margin:0;width:16px}label.check>span{color:var(--text);flex:1 1 auto;font-family:var(--font-body);font-size:var(--t-sm);font-weight:600;letter-spacing:0;line-height:1.4;text-transform:none}.inline-form{align-items:end;display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.inline-form>.button-row{align-self:end;grid-column:1 / -1}.inline-form--token{align-items:end;grid-template-columns:minmax(0,1fr) auto}.inline-form--token>.button-row{grid-column:auto}.route-edit-grid{display:grid;gap:var(--sp-3);grid-template-columns:1fr 180px}.route-edit-grid .wide{grid-column:1 / -1}.checklist-required-badge{background:var(--accent-lo);border-radius:var(--r-sm);color:var(--accent-hi);font-size:var(--t-xs);font-weight:800;letter-spacing:0;padding:2px var(--sp-2);text-transform:uppercase}.eyebrow{color:var(--accent-text);font-family:var(--font-display-filled);font-size:var(--display-kicker);font-weight:700;letter-spacing:0;line-height:1;margin-bottom:var(--sp-2);text-transform:uppercase}.section-lead{color:var(--muted);font-size:var(--t-lg);line-height:1.5;margin-bottom:0;max-width:58ch}.section-heading{align-items:start;display:flex;gap:var(--sp-4);justify-content:space-between}.section-heading h2{font-size:var(--display-section-title);margin-bottom:0}.section-eyebrow{color:var(--accent-text);font-family:var(--font-display-filled);font-size:var(--display-section-title);font-weight:700;letter-spacing:0;line-height:1.1;margin-bottom:var(--sp-3);text-transform:uppercase}.section-heading>div:first-child{flex:1 1 auto;min-width:0}.section-actions{flex:0 0 auto}.page-hero{border-bottom:1px solid var(--line);padding:var(--sp-14) 0 var(--sp-12);width:100%}@media(max-width:720px){.page-hero{padding-top:var(--sp-14)}}.page-hero h1{font-family:var(--font-display-filled);font-size:var(--display-title-md);font-weight:700;letter-spacing:0;line-height:.9;margin-bottom:var(--sp-2);text-transform:uppercase;text-wrap:balance}.page-hero .section-lead{margin-top:var(--sp-2)}.page-hero-actions{margin-top:var(--sp-4)}.page-hero.has-footer{padding-bottom:0}.page-hero-footer{border-top:1px solid var(--line);margin-top:var(--sp-8);padding-block:var(--sp-3)}@media(max-width:720px){.page-hero-footer{margin-top:var(--sp-6)}}.brand-title{display:inline-block;line-height:.95;text-transform:uppercase;white-space:nowrap}.brand-title-outline,.brand-title-filled{display:block;font-weight:700}.brand-title-space{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.brand-title-outline{font-family:var(--font-display-outline)}.brand-title-filled{font-family:var(--font-display-filled)}.sf-symbol{display:inline-block;font-family:Cupertino Symbols,system-ui,sans-serif;font-feature-settings:"liga" 1,"calt" 1;font-style:normal;font-weight:inherit;line-height:1;vertical-align:-.1em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.difficulty-bikes{align-items:center;display:inline-flex;font-size:1.05em;gap:.12em;line-height:1}.difficulty-bikes .sf-symbol.is-filled{color:var(--accent)}.difficulty-bikes .sf-symbol.is-empty{color:var(--line-strong);opacity:.55}.stat-symbol{color:var(--muted);margin-right:.35em;vertical-align:-.08em}.feature-card{align-content:start;background:var(--surface-raised);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-md);display:grid;gap:var(--sp-3);padding:var(--sp-5)}.feature-card .eyebrow{margin-bottom:0}.feature-card h2{font-family:var(--font-display-filled);font-size:var(--display-card-title);font-weight:700;letter-spacing:0;line-height:.9;margin-bottom:0;text-transform:uppercase;text-wrap:balance}.feature-card p{color:var(--muted);font-size:var(--t-sm);margin-bottom:0}.grid-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow)}.panel{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-5)}.disclosure{border-left-color:var(--line-strong)}details.disclosure[open]{border-left-color:var(--accent)}.disclosure-summary{align-items:center;cursor:pointer;display:flex;gap:var(--sp-3);justify-content:space-between;list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.disclosure-summary::-webkit-details-marker{display:none}.disclosure-summary-content{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:var(--sp-3) var(--sp-4);min-width:0}.disclosure-summary-title{color:var(--text);font-family:var(--font-display-filled);font-size:var(--t-xl);font-weight:700;letter-spacing:0;line-height:1;min-width:0;overflow-wrap:anywhere;text-transform:uppercase;text-box:trim-both cap alphabetic;-webkit-text-box-trim:trim-both;-webkit-text-box-edge:cap alphabetic}.disclosure-summary-aside{align-items:center;color:var(--muted);display:inline-flex;flex:0 1 auto;flex-wrap:wrap;font-family:var(--font-body);font-size:var(--t-xs);font-weight:700;gap:var(--sp-2);letter-spacing:0;line-height:1.2;text-transform:none}.disclosure-summary:after{color:var(--muted);content:"+";flex:0 0 auto;font-size:var(--t-xl);font-weight:300;line-height:1}details[open] .disclosure-summary:after{content:"−"}.disclosure-body{margin-top:var(--sp-4)}.notice{border-radius:var(--r-md);border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-text);font-size:var(--t-sm);padding:var(--sp-3) var(--sp-4)}.notice.error,.error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.carousel-section{display:grid;gap:var(--sp-4);min-width:0;padding:0;width:100%}.carousel-section>*{min-width:0}.carousel-rail-bleed{--rail-fade: clamp(24px, 6vw, 96px);--rail-fade-left: 0px;--rail-fade-right: 0px;--rail-bleed: max(var(--page-pad), calc((100vw - var(--page-max)) / 2 + var(--page-pad)));margin-left:calc(-1 * var(--rail-bleed));margin-right:calc(-1 * var(--rail-bleed));min-width:0;position:relative;width:calc(100% + 2 * var(--rail-bleed))}.carousel-rail-bleed.has-overflow{--rail-fade-left: var(--rail-fade);--rail-fade-right: var(--rail-fade)}.carousel-rail-bleed.at-start{--rail-fade-left: 0px}.carousel-rail-bleed.at-end{--rail-fade-right: 0px}.carousel-rail-bleed>.carousel-shell{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--rail-fade-left),#000 calc(100% - var(--rail-fade-right)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--rail-fade-left),#000 calc(100% - var(--rail-fade-right)),transparent 100%)}.carousel-controls{align-items:center;display:flex;flex-shrink:0;gap:var(--sp-3)}.carousel-counter{color:var(--muted);font-size:var(--t-xs);font-weight:700;letter-spacing:0;white-space:nowrap}.carousel-nav{display:flex;gap:var(--sp-2)}.carousel-button{min-width:var(--ctrl-h);padding-inline:0}.carousel-shell{min-height:260px}.carousel-shell--rail{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding-block:10px 14px;padding-left:max(var(--page-pad),calc((100vw - var(--page-max)) / 2 + var(--page-pad)));padding-right:max(var(--page-pad),calc((100vw - var(--page-max)) / 2 + var(--page-pad)));scroll-behavior:smooth;scroll-padding-left:max(var(--page-pad),calc((100vw - var(--page-max)) / 2 + var(--page-pad)));scroll-snap-type:x mandatory;scrollbar-width:thin;touch-action:pan-x;width:100%}.carousel-track{display:flex;gap:var(--sp-4);min-width:100%;width:max-content}.carousel-track--rides .carousel-card{flex:0 0 auto;min-width:min(42rem,calc(100vw - (var(--page-pad) * 2)));width:min(42rem,calc(100vw - (var(--page-pad) * 2)))}.carousel-track--routes .carousel-card{flex:0 0 auto;min-width:min(34rem,calc(100vw - (var(--page-pad) * 2)));width:min(34rem,calc(100vw - (var(--page-pad) * 2)))}.carousel-card{background:linear-gradient(180deg,#121821fa,#0a0f16fa),var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-md);display:grid;gap:var(--sp-4);grid-template-columns:1fr;grid-template-rows:1fr auto;isolation:isolate;min-height:100%;overflow:hidden;padding:var(--card-pad);position:relative;scroll-snap-align:start;scroll-snap-stop:always;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.carousel-card .carousel-card-actions{align-self:end;justify-self:start}.carousel-card-link{border-radius:inherit;inset:0;position:absolute;text-indent:-9999px;z-index:1}.carousel-card-link:focus-visible{outline:none}.carousel-card:hover,.carousel-card:has(.carousel-card-link:focus-visible){border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-lo);transform:translateY(-1px)}.carousel-card:before{background:linear-gradient(90deg,rgba(5,8,12,.96),rgba(5,8,12,.92) 38%,rgba(5,8,12,.68) 62%,transparent);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.carousel-card.selected{border-color:var(--teal)}.carousel-card--route{min-height:320px}.carousel-card--route:before{background:linear-gradient(90deg,rgba(5,8,12,.96),rgba(5,8,12,.84) 32%,rgba(5,8,12,.52) 56%,rgba(5,8,12,.18) 76%,transparent)}.carousel-card--route .carousel-card-copy,.carousel-card--route .carousel-card-actions{max-width:min(56%,50rem)}.carousel-card--route .carousel-card-copy h3{font-size:var(--display-card-title)}.carousel-card--route .carousel-card-copy p{color:#e8edf5d6}.carousel-card--route .carousel-card-preview{inset:0;width:auto}.carousel-card--route .carousel-card-preview-overlay{background:linear-gradient(180deg,#ffffff05,#05080c2e),radial-gradient(circle at top right,rgba(122,109,255,.18),transparent 42%)}.time-changed{border-color:#ff5e305c}.carousel-card--ride{gap:var(--sp-6);grid-template-columns:minmax(0,1fr) minmax(0,320px);grid-template-rows:1fr auto;min-height:320px}.carousel-card--ride:before{display:none}.carousel-card--ride .ride-card-info{align-content:start;display:grid;gap:var(--sp-3);grid-column:1;grid-row:1;pointer-events:none;position:relative;z-index:2}.carousel-card--ride .carousel-card-actions{align-self:end;display:flex;flex-wrap:wrap;gap:var(--sp-2);grid-column:1;grid-row:2;justify-self:start;max-width:none}.carousel-card--ride .ride-card-info h3{font-family:var(--font-display-filled);font-size:var(--display-card-title-sm);font-weight:700;letter-spacing:0;line-height:1;margin-bottom:0;text-transform:uppercase;text-wrap:balance}.carousel-card--ride .ride-card-info p{color:var(--muted);font-size:var(--t-sm);margin-bottom:0}.carousel-card--ride .ride-card-media{display:grid;gap:var(--sp-3);grid-column:2;grid-row:1 / -1;grid-template-rows:1fr auto;min-height:0}.carousel-card--ride .ride-card-media{pointer-events:none}.carousel-card--ride .ride-card-map{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-sm);isolation:isolate;min-height:0;overflow:hidden;position:relative}.carousel-card--ride .ride-card-map>div,.carousel-card--ride .ride-card-map .map-canvas,.carousel-card--ride .ride-card-map .map-canvas-content,.carousel-card--ride .ride-card-map .map-fallback{height:100%;inset:0;min-height:0;position:absolute;width:100%}.carousel-card--ride .ride-card-map-empty{background:linear-gradient(135deg,rgba(255,106,61,.12),transparent),linear-gradient(315deg,rgba(82,208,191,.12),transparent);height:100%;position:relative;width:100%}.carousel-card--ride .ride-card-date{align-items:center;background:var(--accent);border-radius:var(--r-sm);color:#1a0a04;display:grid;gap:var(--sp-1);justify-items:center;padding:var(--sp-3) var(--sp-4);text-align:center}.carousel-card--ride .ride-card-date-value{font-family:var(--font-display-filled);font-size:var(--t-lg);font-weight:700;letter-spacing:0;line-height:1.05;text-transform:uppercase;text-wrap:balance}.carousel-card--ride .ride-card-date-note{color:#1a0a04c7;font-family:var(--font-display-filled);font-size:var(--t-xs);font-weight:700;letter-spacing:0;text-transform:uppercase}.carousel-card--ride .carousel-card-actions{grid-column:1;grid-row:2;max-width:none}.carousel-card-copy{display:grid;align-content:start;gap:var(--sp-2);max-width:min(56%,50rem);pointer-events:none;position:relative;z-index:2}.carousel-card-copy h3{font-family:var(--font-display-filled);font-size:var(--display-card-title-sm);font-weight:700;letter-spacing:0;line-height:1;margin-bottom:0;text-transform:uppercase;text-wrap:balance}.carousel-card-preview{inset:0 0 0 auto;min-height:100%;overflow:hidden;pointer-events:none;position:absolute;width:min(42%,420px);z-index:0}.carousel-card-preview-map,.carousel-card-preview-map .map-canvas,.carousel-card-preview-map .map-canvas-content,.carousel-card-preview-map .map-fallback{height:100%;inset:0;min-height:0;position:absolute;width:100%}.carousel-card-preview-map{z-index:0}.carousel-card-preview-overlay{background:linear-gradient(180deg,#ffffff08,#05080c3d),radial-gradient(circle at top right,rgba(122,109,255,.16),transparent 46%);inset:0;pointer-events:none;position:absolute;z-index:1}.carousel-card-preview .map-fallback-content{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.carousel-card-preview .route-preview{height:auto;max-width:none;width:100%}.carousel-card-preview-empty{background:linear-gradient(135deg,rgba(255,106,61,.12),transparent),linear-gradient(315deg,rgba(82,208,191,.12),transparent);height:100%;inset:0;position:absolute;width:100%}.carousel-card-actions{align-content:end;display:grid;gap:var(--sp-3);justify-items:start;max-width:min(56%,38rem);position:relative;z-index:3}.carousel-card-actions a{pointer-events:auto}.carousel-stats{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2);max-width:100%;min-width:0}.carousel-stats div{background:#08090eb8;border:1px solid var(--line);border-radius:var(--r-sm);flex:0 1 auto;max-width:100%;min-width:0;padding:var(--sp-2) var(--sp-3)}.carousel-stats dd{overflow-wrap:anywhere}.carousel-stats dt{color:var(--muted);font-size:var(--t-xs);font-weight:700;letter-spacing:0;text-transform:uppercase}.carousel-stats dd{font-size:var(--t-md);font-weight:700;margin:var(--sp-1) 0 0}@media(max-width:1100px){.carousel-card-preview{width:min(40%,340px)}.carousel-card-copy,.carousel-card-actions{max-width:min(60%,32rem)}.carousel-card--route .carousel-card-copy,.carousel-card--route .carousel-card-actions{max-width:min(56%,28rem)}}@media(max-width:820px){.carousel-card{min-height:360px}.carousel-card:before{background:linear-gradient(180deg,rgba(5,8,12,.96),rgba(5,8,12,.9) 40%,rgba(5,8,12,.62) 70%,transparent)}.carousel-card--route:before{background:linear-gradient(180deg,#05080cf5,#05080ce0 36%,#05080c94 66%,#05080c2e)}.carousel-card-copy,.carousel-card-actions{max-width:none}.carousel-card-preview{inset:auto 0 0;min-height:46%;width:100%}.carousel-card--route .carousel-card-preview{inset:0;min-height:100%;width:auto}}@media(max-width:720px){.carousel-track--rides .carousel-card,.carousel-track--routes .carousel-card{min-width:calc(100vw - var(--page-pad) * 2);width:calc(100vw - var(--page-pad) * 2)}.carousel-card,.carousel-card--route,.carousel-card--ride{gap:var(--sp-3);grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0;padding:var(--sp-4)}.carousel-card--ride .ride-card-info,.carousel-card--ride .ride-card-media,.carousel-card--ride .carousel-card-actions{grid-column:1;grid-row:auto}.carousel-card--ride .ride-card-info{order:1}.carousel-card--ride .ride-card-media{order:2;display:grid;gap:var(--sp-3)}.carousel-card--ride .carousel-card-actions{order:3}.carousel-card--ride .ride-card-map{aspect-ratio:16 / 9;border-radius:var(--r-sm);overflow:hidden}.carousel-card:before,.carousel-card--route:before{display:none}.carousel-card-copy,.carousel-card-actions,.carousel-card--route .carousel-card-copy,.carousel-card--route .carousel-card-actions{max-width:none}.carousel-card-preview,.carousel-card--route .carousel-card-preview{aspect-ratio:16 / 9;border-radius:var(--r-sm);contain:paint;height:auto;inset:auto;isolation:isolate;max-width:100%;min-height:0;min-width:0;overflow:hidden;position:relative;width:100%}.carousel-card-preview-map,.carousel-card-preview-map .map-canvas,.carousel-card-preview-map .map-canvas-content,.carousel-card-preview-map .map-fallback,.carousel-card-preview-overlay{border-radius:inherit}.carousel-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}dialog.confirm-dialog,dialog.keyboard-help{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);color:var(--text);max-width:min(440px,calc(100vw - var(--sp-6)));padding:var(--sp-5);width:100%}dialog::backdrop{background:#08090e9e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog-title{font-family:var(--font-display-filled);font-size:var(--display-small-title);margin:0 0 var(--sp-3)}.confirm-dialog-body{color:var(--muted);margin:0 0 var(--sp-4)}.confirm-dialog-actions{justify-content:flex-end}.keyboard-help{max-width:min(520px,calc(100vw - var(--sp-6)))}.keyboard-help-header{align-items:center;display:flex;gap:var(--sp-3);justify-content:space-between;margin-bottom:var(--sp-3)}.keyboard-help-header h2{margin:0}.keyboard-help-list{display:grid;gap:var(--sp-2);list-style:none;margin:0;padding:0}.keyboard-help-list li{align-items:center;display:flex;gap:var(--sp-3);justify-content:space-between}.keyboard-help-keys{align-items:center;display:inline-flex;gap:var(--sp-1)}.keyboard-help-sep{color:var(--muted);font-size:var(--t-xs);text-transform:uppercase}kbd{background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--r-sm);font-family:ui-monospace,SFMono-Regular,monospace;font-size:var(--t-xs);font-weight:700;padding:2px var(--sp-2)}.keyboard-help-label{color:var(--muted);font-size:var(--t-sm)}.topbar{align-items:center;background:#08090ee0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:grid;gap:var(--sp-4);grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);height:var(--topbar-h);max-width:100%;padding:0 var(--sp-6);position:sticky;top:0;width:100%;z-index:100}.brand{color:var(--text);font-family:var(--font-display-filled);font-size:1.05rem;font-weight:700;letter-spacing:0;line-height:1.2;padding:.15em 0;text-decoration:none;text-transform:uppercase;white-space:nowrap}.nav{display:flex;gap:var(--sp-1);justify-content:center;min-width:0;overflow-x:auto;scrollbar-width:thin}.brand{min-width:0;overflow:visible;text-overflow:ellipsis}.nav a{border:1px solid transparent;border-radius:var(--r-sm);color:var(--muted);font-size:var(--t-sm);font-weight:600;padding:var(--sp-2) var(--sp-3);text-decoration:none;white-space:nowrap}.nav a:hover,.nav a.active{background:#ffffff0d;border-color:var(--line);color:var(--text)}.locale{display:flex}.locale select{-webkit-appearance:none;appearance:none;background-color:var(--surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%236e7e96' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right var(--sp-3) center;background-repeat:no-repeat;background-size:12px 8px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);font-size:1.05rem;font-weight:600;height:var(--ctrl-h);line-height:1;min-width:3.6rem;padding:0 var(--sp-8, 34px) 0 var(--sp-3);text-align:center;text-transform:none}@media(max-width:720px){.topbar{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none;grid-template-columns:auto;height:auto;padding:var(--sp-5) var(--sp-5);pointer-events:none;position:absolute;top:0;left:0;right:auto;width:auto;z-index:100}.topbar .brand{pointer-events:auto}.topbar .nav,.topbar .locale,.topbar--home{display:none}}.site-footer{border-top:1px solid var(--line);display:none;padding:var(--sp-10) 0 var(--sp-12);width:100%}.site-footer-inner{display:grid;gap:var(--sp-6)}.site-footer-nav{display:flex;flex-direction:column;gap:var(--sp-2)}.site-footer-nav a{color:var(--text);font-family:var(--font-display-filled);font-size:var(--display-small-title);font-weight:700;letter-spacing:0;line-height:1;text-decoration:none;text-transform:uppercase}.site-footer-nav a.active{color:var(--accent-hi)}.site-footer-locale{display:flex}.site-footer-locale select{-webkit-appearance:none;appearance:none;background-color:var(--surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%236e7e96' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right var(--sp-3) center;background-repeat:no-repeat;background-size:12px 8px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);font-size:1.05rem;font-weight:600;height:var(--ctrl-h);line-height:1;min-width:3.6rem;padding:0 var(--sp-8, 34px) 0 var(--sp-3);text-align:center;text-transform:none}@media(max-width:720px){.site-footer{display:block}}.page{display:grid;gap:var(--sp-12);grid-auto-columns:minmax(0,1fr);padding-bottom:var(--sp-14);width:100%}.page>*{min-width:0}.contained{margin-left:auto;margin-right:auto;max-width:var(--page-max);padding-left:var(--page-pad);padding-right:var(--page-pad);width:100%}.contained-content{margin-left:auto;margin-right:auto;max-width:var(--content-max);padding-left:var(--page-pad);padding-right:var(--page-pad);width:100%}.contained-narrow{margin-left:auto;margin-right:auto;max-width:var(--narrow-max);padding-left:var(--page-pad);padding-right:var(--page-pad);width:100%}.page-intro{display:grid;gap:var(--sp-3);margin-bottom:var(--sp-2)}.page-intro-actions{margin-top:var(--sp-3)}.hero-band{background:radial-gradient(ellipse 120% 80% at 0% 0%,rgba(108,96,240,.12) 0%,transparent 60%),radial-gradient(ellipse 90% 60% at 100% 0%,rgba(255,94,48,.1) 0%,transparent 55%),var(--surface);border-bottom:1px solid var(--line);padding:var(--sp-14) 0 var(--sp-12);width:100%}.hero-panel{display:grid;gap:var(--sp-8);grid-template-columns:minmax(0,1fr) minmax(0,360px);align-items:center}.hero-copy{display:grid;align-content:start;gap:var(--sp-3)}.hero-copy h1{font-family:var(--font-display-filled);font-size:var(--display-title-xl);font-weight:700;letter-spacing:0;line-height:.95;margin-bottom:0;text-transform:uppercase;text-wrap:balance}.hero-metrics{display:grid;gap:var(--sp-3);grid-template-columns:repeat(3,1fr);margin-top:var(--sp-4)}.hero-metrics div{background:#ffffff08;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.hero-metrics dt{color:var(--muted);font-size:var(--t-xs);font-weight:700;letter-spacing:0;text-transform:uppercase}.hero-metrics dd{font-size:var(--t-lg);font-weight:700;margin:var(--sp-1) 0 0}.feature-card{align-content:start;background:var(--surface-raised);border:1px solid var(--teal);border-radius:var(--r-md);color:inherit;cursor:pointer;display:grid;gap:var(--sp-4);padding:var(--sp-6);text-decoration:none;transition:background-color .14s ease,box-shadow .14s ease,transform .14s ease}a.feature-card:hover,a.feature-card:focus-visible{background-color:var(--teal-lo);box-shadow:0 0 0 4px var(--teal-lo);transform:translateY(-1px)}.feature-card--empty{cursor:default}.feature-card h2{font-family:var(--font-display-filled);font-size:var(--display-card-title-sm);font-weight:700;letter-spacing:0;line-height:1;margin-bottom:0;text-transform:uppercase;text-wrap:balance}.feature-card-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.feature-card .feature-date{color:var(--accent-hi);font-family:var(--font-display-filled);font-size:var(--t-md);font-weight:700;letter-spacing:0;margin-bottom:0;text-align:right;text-transform:uppercase}.feature-meta{border-top:1px solid var(--line);display:grid;gap:var(--sp-1);padding-top:var(--sp-3)}.feature-meta span{color:var(--muted);font-size:var(--t-xs);font-weight:700;letter-spacing:0;text-transform:uppercase}.feature-meta strong{font-size:var(--t-md);font-weight:700}.home-grid{display:grid;gap:var(--sp-12);grid-template-columns:1fr}@media(max-width:820px){.hero-panel{grid-template-columns:1fr}.hero-metrics{grid-template-columns:repeat(3,1fr)}}.route-hero{border-bottom:1px solid var(--line);color:#fff;isolation:isolate;min-height:480px;overflow:hidden;position:relative;width:100%}.route-hero:after{background:linear-gradient(180deg,#05080c1a,#05080c8c 60%,#05080ceb);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.route-hero-map,.route-hero-map .map-canvas,.route-hero-map .map-canvas-content{height:100%;inset:0;min-height:420px;position:absolute;width:100%}.route-hero-map,.route-hero-map .map-canvas-content{z-index:0}.route-hero-overlay{bottom:var(--sp-8);left:0;position:absolute;right:0;z-index:2}.route-hero-overlay .eyebrow{color:var(--accent-text);margin-bottom:var(--sp-4);text-shadow:0 1px 2px rgba(0,0,0,.55)}.route-hero-overlay .ride-hero-date{color:#fff;font-family:var(--font-display-filled);font-size:clamp(1.75rem,4.5vw,2.5rem);font-weight:700;letter-spacing:0;line-height:1.05;margin-bottom:var(--sp-3);text-transform:uppercase}.route-hero-overlay h1{font-family:var(--font-display-filled);font-size:var(--display-title-lg);font-weight:700;letter-spacing:0;line-height:.95;margin-bottom:var(--sp-3);text-transform:uppercase;text-wrap:balance}.route-hero-overlay p{color:#e8edf5d9;font-size:var(--t-md);margin-bottom:0;max-width:60ch}.route-body-grid{display:grid;gap:var(--sp-6);grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-areas:"map details" "map duration" "elevation elevation"}.route-body-grid>*{min-width:0}.route-body-grid--ride{grid-template-areas:"join join" "map details" "map duration" "elevation elevation"}.route-body-grid__join{grid-area:join}.route-body-grid__map{display:grid;gap:var(--sp-3);grid-area:map;grid-template-rows:auto 1fr;min-height:540px}.route-body-grid__details{grid-area:details}.route-body-grid__duration{grid-area:duration}.route-body-grid__elevation{grid-area:elevation}.route-body-grid__map .map-shell,.route-body-grid__map .map-canvas{height:100%;min-height:540px}.ride-join-block{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:grid;gap:var(--sp-6);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);padding:var(--sp-6)}.ride-join-block-heading{display:grid;gap:var(--sp-2)}.ride-join-block-heading h2{margin-bottom:0}.ride-join-block-heading p{color:var(--muted);font-size:var(--t-md);line-height:1.5;margin-bottom:0;max-width:40ch}.ride-organizers{display:grid;gap:var(--sp-2);margin-top:var(--sp-2)}.ride-organizers-label{color:var(--muted);font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.ride-organizers-list{display:flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none;margin:0;padding:0}.ride-organizer-badge{align-items:center;background:var(--surface-raised, var(--surface));border:1px solid var(--accent);border-radius:999px;box-shadow:0 1px 3px #08090e2e;color:var(--text);display:inline-flex;font-size:var(--t-sm);font-weight:600;gap:var(--sp-2);padding:.3rem .85rem .3rem .3rem}.ride-organizer-badge-avatar{align-items:center;background:var(--accent);border-radius:999px;color:#fff;display:inline-flex;font-family:var(--font-display-filled);font-size:var(--t-xs);font-weight:800;height:1.7rem;justify-content:center;letter-spacing:0;line-height:1;padding-top:2px;text-transform:uppercase;width:1.7rem}.ride-organizer-badge-name{letter-spacing:.01em}.ride-join-block-body{display:grid;gap:var(--sp-4);min-width:0}.route-map-panel{display:grid}.route-map-toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:space-between}.route-map-toolbar-copy h2{color:var(--text);font-family:var(--font-display-filled);font-size:var(--display-small-title);font-weight:700;letter-spacing:0;line-height:1;margin:0;text-transform:uppercase}.map-mark-controls{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.map-mark-controls button{background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;font-size:var(--t-xs);font-weight:800;min-height:34px;padding:.45rem .8rem}.map-mark-controls button.is-active{background:var(--accent-lo);border-color:var(--accent);color:var(--accent-hi)}.ride-context{background:var(--surface-2, var(--surface));border:1px solid var(--line);border-radius:var(--r-md);display:grid;gap:var(--sp-2);grid-template-columns:1fr;margin:0;padding:var(--sp-3) var(--sp-4)}.ride-context>div{display:grid;gap:var(--sp-1);grid-template-columns:minmax(8ch,max-content) 1fr;align-items:baseline}.ride-context dt{color:var(--muted);font-size:var(--t-sm);font-weight:500;margin:0}.ride-context dd{font-size:var(--t-md);font-weight:600;margin:0}.ride-join-block .form{background:transparent;border:none;box-shadow:none;padding:0}.ride-join-block .notice{margin:0}.route-info-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-5)}.route-info-block h2{font-size:var(--display-small-title)}.route-block-heading{margin-bottom:var(--sp-4);max-width:74ch}.route-block-heading .eyebrow{margin-bottom:var(--sp-1)}.route-block-heading p:last-child{color:var(--muted);font-size:var(--t-sm);line-height:1.55;margin-bottom:0}.climb-filter{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.climb-filter button{background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;font-size:var(--t-xs);font-weight:800;min-height:34px;padding:.45rem .8rem}.climb-filter button.active{background:var(--accent-lo);border-color:var(--accent);color:var(--accent-hi)}.route-description{color:var(--muted);font-size:var(--t-sm);line-height:1.55;margin-bottom:var(--sp-4)}.stats-list{display:grid;gap:var(--sp-2);margin:0 0 var(--sp-5)}.stats-list div{align-items:baseline;border-bottom:1px solid var(--line);display:grid;gap:var(--sp-4);grid-template-columns:1fr auto;padding-bottom:var(--sp-2)}.stats-list div:last-child{border-bottom:none;padding-bottom:0}.stats-list dt{color:var(--muted);font-size:var(--t-sm)}.stats-list dd{font-size:var(--t-sm);font-weight:700;margin:0}.compact-list{margin-bottom:0}.route-elevation-block{margin-top:0}.elevation-chart{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;padding:var(--sp-3) var(--sp-3) var(--sp-2);position:relative}.elevation-chart svg{cursor:crosshair;display:block;height:clamp(220px,32vw,320px);overflow:visible;touch-action:none;width:100%}.elevation-grid-line{stroke:#1421341c;stroke-width:1}.elevation-grid-line--distance{stroke:#14213414;stroke-dasharray:3 6}.elevation-axis-label{fill:var(--muted);font-size:11px;text-anchor:end}.elevation-axis-label--distance{font-size:10px;text-anchor:middle}.elevation-climb-band{fill:#d34f2f24}.elevation-climb-tags{height:0;left:calc(54px + var(--sp-3));pointer-events:none;position:absolute;right:calc(18px + var(--sp-3));top:var(--sp-2)}.elevation-hover-line{pointer-events:none;stroke:var(--accent);stroke-dasharray:4 4;stroke-width:1.4;vector-effect:non-scaling-stroke}.elevation-hover-dot{fill:var(--accent);pointer-events:none;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.elevation-hover-readout{align-items:baseline;background:#08090eeb;border:1px solid var(--accent);border-radius:var(--r-sm);color:#fff;display:inline-flex;font-size:var(--t-xs);font-weight:700;gap:var(--sp-2);letter-spacing:.02em;padding:.3rem .5rem;pointer-events:none;position:absolute;top:var(--sp-2);transform:translate(-50%);white-space:nowrap}.elevation-hover-readout[data-side=right]{transform:translate(-100%)}.elevation-hover-readout-distance{color:var(--accent-hi)}.elevation-hover-readout-elevation{font-variant-numeric:tabular-nums}.elevation-climb-label{background:#08090ed1;border:1px solid var(--line-strong);border-radius:999px;color:var(--text);font-size:11px;font-weight:800;line-height:1;padding:.3rem .48rem;position:absolute;transform:translate(-50%);white-space:nowrap}.elevation-area{fill:url(#elevation-area-fill)}.elevation-line{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3;vector-effect:non-scaling-stroke}.elevation-chart-meta{color:var(--muted);display:flex;font-size:var(--t-xs);justify-content:space-between;padding-left:calc(54px + var(--sp-3))}.climb-table-wrap{margin-top:var(--sp-4);max-width:100%;overflow-x:auto}.climb-table{border-collapse:collapse;min-width:620px;width:100%}.climb-table th,.climb-table td{border-bottom:1px solid var(--line);font-size:var(--t-sm);padding:var(--sp-2) var(--sp-2);text-align:left}.climb-table tr:last-child td{border-bottom:none}.climb-table th{color:var(--muted);font-weight:700}.climb-pill{background:var(--accent);border-radius:999px;color:#fff;display:inline-flex;font-size:var(--t-xs);font-weight:800;line-height:1;padding:.45rem .65rem;white-space:nowrap}@media(max-width:1024px){.route-body-grid,.route-body-grid--ride{grid-template-columns:1fr;grid-template-areas:"map" "details" "duration" "elevation"}.route-body-grid--ride{grid-template-areas:"join" "map" "details" "duration" "elevation"}.route-body-grid__map{min-height:0}.ride-join-block{grid-template-columns:1fr}}@media(max-width:720px){.route-hero{min-height:360px;padding-top:var(--sp-12)}.route-hero-overlay{bottom:var(--sp-5)}.route-hero-overlay h1{line-height:.92;word-break:normal}.route-hero-overlay p{font-size:var(--t-sm)}.route-body-grid__map .map-shell,.route-body-grid__map .map-canvas{min-height:320px}.map-shell{min-height:280px}.ride-join-block{padding:var(--sp-5)}}.map-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);min-height:420px;overflow:hidden;width:100%}.organization-page,.checklist-page{display:grid;gap:var(--sp-6);padding-top:0}.rules-doc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-6)}.rules-doc-header{align-items:baseline;border-bottom:1px solid var(--line-strong);justify-content:space-between;margin-bottom:var(--sp-5);padding-bottom:var(--sp-3)}.rules-content{color:var(--text);font-size:var(--t-md);line-height:1.6}.rules-content>*+*{margin-top:var(--sp-3)}.rules-content h1,.rules-content h2,.rules-content h3,.rules-content h4{font-family:var(--font-display-filled);font-weight:700;letter-spacing:0;line-height:1.1;margin-bottom:var(--sp-2);text-transform:uppercase}.rules-content h1+*,.rules-content h2+*,.rules-content h3+*,.rules-content h4+*{margin-top:var(--sp-2)}.rules-content h1{font-size:var(--display-section-title)}.rules-content h2{font-size:var(--display-small-title)}.rules-content h3{color:var(--accent-hi);font-size:var(--display-kicker)}.rules-content h4{color:var(--muted);font-size:var(--t-sm)}.rules-content p{margin-bottom:0}.rules-content ul,.rules-content ol{margin-bottom:0;padding-left:var(--sp-5)}.rules-content ul li,.rules-content ol li{margin-bottom:var(--sp-1)}.rules-content blockquote{border-left:3px solid var(--accent);color:var(--muted);font-style:italic;margin:0;padding:var(--sp-2) var(--sp-4)}.rules-content code{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-sm);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;padding:.1rem .35rem}.rules-content a{color:var(--accent-hi);text-decoration:underline;text-underline-offset:2px}.rules-content a:hover{color:var(--accent)}.organization-checklist-lead{margin-bottom:var(--sp-4)}.organization-checklist .checklist-doc{background:transparent;border:none;box-shadow:none;padding:0}.admin-rules-form{display:grid;gap:var(--sp-3)}.admin-rules-textarea textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--t-sm);line-height:1.5;min-height:220px;resize:vertical}.admin-rules-preview{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5)}.ride-join-rules-link{align-self:start;justify-self:start;margin-top:var(--sp-2);width:fit-content}@media(max-width:720px){.ride-join-rules-link{align-self:stretch;justify-self:stretch;width:100%}}.checklist-doc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--sp-6)}.checklist-doc-header{align-items:baseline;border-bottom:1px solid var(--line-strong);justify-content:space-between;margin-bottom:var(--sp-5);padding-bottom:var(--sp-3)}.checklist-grid{display:grid;gap:var(--sp-5);grid-template-columns:repeat(2,1fr)}.checklist-section-heading{border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--font-display-filled);font-size:var(--display-kicker);font-weight:700;letter-spacing:0;line-height:1;margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);text-transform:uppercase}.checklist-list{list-style:none;margin:0;padding:0}.checklist-item{align-items:center;display:flex;gap:var(--sp-3);padding:var(--sp-2) 0}.checklist-item+.checklist-item{border-top:1px solid var(--line)}.checklist-box{border:1.5px solid var(--line-strong);border-radius:var(--r-sm);display:inline-block;flex-shrink:0;height:18px;width:18px}.checklist-item--required .checklist-box{border-color:var(--accent)}.admin-layout{display:grid;gap:var(--sp-6)}.admin-token{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);display:grid;gap:var(--sp-3);padding:var(--sp-5)}.panel-grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(2,1fr)}.admin-list{display:grid;gap:var(--sp-3)}.admin-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);align-items:start;display:grid;gap:var(--sp-4);grid-template-columns:1fr auto;padding:var(--sp-5);transition:border-color .12s ease,box-shadow .12s ease}.admin-row:hover{border-color:var(--line-strong)}.admin-row.is-selected{border-color:var(--teal);box-shadow:var(--shadow),0 0 0 1px var(--teal-lo)}.admin-row>strong,.admin-row form>strong{color:var(--text);display:block;font-family:var(--font-display-filled);font-size:var(--display-small-title);font-weight:700;letter-spacing:0;line-height:1.05;text-transform:uppercase}.admin-row>p,.admin-row form>p{color:var(--muted);font-size:var(--t-sm);line-height:1.5;margin:var(--sp-1) 0 0}.admin-row-leader{align-items:start;display:flex;gap:var(--sp-3);min-width:0}.admin-row-leader>div{display:grid;gap:var(--sp-1);min-width:0}.admin-row-leader strong{color:var(--text);font-family:var(--font-display-filled);font-size:var(--display-small-title);font-weight:700;letter-spacing:0;line-height:1.05;text-transform:uppercase}.admin-row-leader p{color:var(--muted);font-size:var(--t-sm);line-height:1.5;margin:0}.admin-row-checkbox{padding-top:var(--sp-1)}.admin-row-meta{color:var(--muted);font-size:var(--t-sm)}.admin-row-meta .below-min{background:var(--accent-lo);border-radius:var(--r-sm);color:var(--accent-hi);font-weight:700;padding:2px var(--sp-2)}.route-admin-row{display:block}.admin-row-disclosure{border-left-color:var(--line-strong)}.admin-row-disclosure[open]{border-left-color:var(--accent)}.admin-meta-badge{align-items:center;background:var(--surface-raised);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-family:var(--font-display-filled);font-size:var(--t-xs);font-weight:700;letter-spacing:0;line-height:1;padding:6px var(--sp-2) 2px;text-transform:uppercase;white-space:nowrap}.admin-meta-badge--state{background:var(--teal-lo);border-color:var(--teal);color:var(--teal)}.admin-meta-badge--state.is-draft{background:transparent;border-color:var(--line);color:var(--muted)}.admin-meta-stats{color:var(--muted);font-family:var(--font-body);font-size:var(--t-xs);font-weight:600;letter-spacing:0;text-transform:none;white-space:nowrap}.route-edit-form,.proposal-edit-form{display:grid;gap:var(--sp-4);margin-top:var(--sp-3)}.admin-checklist-section{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-md);display:grid;gap:var(--sp-3);margin-bottom:var(--sp-5);padding:var(--sp-4)}.admin-checklist-section h3{color:var(--accent-hi);font-family:var(--font-display-filled);font-size:var(--display-kicker);font-weight:700;letter-spacing:0;line-height:1;margin:0;text-transform:uppercase}.admin-checklist-list{display:grid;gap:0;list-style:none;margin:0;padding:0}.admin-checklist-item{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-2) 0}.admin-checklist-item:last-child{border-bottom:none}.admin-checklist-item-label{color:var(--text);flex:1 1 auto;font-size:var(--t-sm);line-height:1.4;min-width:0;overflow-wrap:anywhere}.admin-checklist-toggle,.admin-checklist-delete{align-items:center;background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);display:inline-flex;flex:0 0 auto;height:28px;justify-content:center;min-height:28px;min-width:28px;padding:0;width:28px}.admin-checklist-toggle svg,.admin-checklist-delete svg{display:block;fill:none;height:14px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:14px}.admin-checklist-toggle svg circle{fill:currentColor;stroke:none}.admin-checklist-toggle:hover:not(:disabled),.admin-checklist-delete:hover:not(:disabled){border-color:var(--line-strong);color:var(--text);opacity:1;transform:none}.admin-checklist-item.is-required .admin-checklist-toggle{background:var(--accent-lo);border-color:var(--accent);color:var(--accent-hi)}.admin-checklist-delete:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.admin-checklist-form{align-items:center;border-top:1px solid var(--line);display:grid;gap:var(--sp-2);grid-template-columns:minmax(0,1fr) auto auto;margin-top:var(--sp-1);padding-top:var(--sp-3)}.admin-checklist-form-input input{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text);font-size:var(--t-sm);height:32px;padding:0 var(--sp-3);width:100%}.admin-checklist-form-input input::placeholder{color:var(--muted)}.admin-checklist-form-input input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-lo);outline:none}.admin-checklist-form .check{white-space:nowrap}.admin-checklist-form button[type=submit]{font-size:var(--t-xs);min-height:32px;padding:0 var(--sp-3)}@media(max-width:720px){.admin-checklist-form{grid-template-columns:1fr}}.admin-tablist{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-wrap:wrap;gap:var(--sp-1);padding:var(--sp-2)}.page-hero-footer .admin-tablist{background:transparent;border:none;border-radius:0;margin-inline:calc(var(--sp-3) * -1);overflow-x:auto;padding:0 var(--sp-3);scrollbar-width:thin;flex-wrap:nowrap;gap:var(--sp-2)}.page-hero-footer .admin-tablist-item{flex:0 0 auto}.admin-tablist-item{background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--muted);font-size:var(--t-sm);font-weight:700;gap:var(--sp-2);min-height:36px;padding:0 var(--sp-3)}.admin-tablist-item:hover:not(:disabled){background:var(--surface-raised);color:var(--text);opacity:1;transform:none}.admin-tablist-item.is-active{background:var(--surface-raised);border-color:var(--line-strong);color:var(--text)}.admin-tablist-badge{background:var(--accent-lo);border-radius:999px;color:var(--accent-hi);font-size:var(--t-xs);font-weight:800;min-width:20px;padding:0 var(--sp-2);text-align:center}.admin-tab-panel{display:grid;gap:var(--sp-5)}.admin-panel{display:grid;gap:var(--sp-6)}.admin-panel-header{align-items:end;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:space-between;padding-bottom:var(--sp-3)}.admin-panel-header h2{color:var(--text);font-family:var(--font-display-filled);font-size:var(--display-section-title);font-weight:700;letter-spacing:0;line-height:1;margin:0;text-transform:uppercase}.admin-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-3)}.admin-toolbar-search{display:flex;flex:1 1 240px;min-width:0}.admin-toolbar-search input{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text);font-size:var(--t-sm);height:var(--ctrl-h);padding:0 var(--sp-3);width:100%}.admin-toolbar-search input::placeholder{color:var(--muted)}.admin-toolbar-search input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-lo);outline:none}.filter-chips{display:inline-flex;flex-wrap:wrap;gap:var(--sp-2)}.filter-chip{background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--muted);font-size:var(--t-xs);font-weight:800;letter-spacing:0;min-height:34px;padding:0 var(--sp-3)}.filter-chip:hover:not(:disabled){border-color:var(--line-strong);color:var(--text);opacity:1;transform:none}.filter-chip.is-active{background:var(--accent-lo);border-color:var(--accent);color:var(--accent-hi)}.admin-bulk-bar{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:space-between;padding:var(--sp-3) var(--sp-4);transition:border-color .12s ease,box-shadow .12s ease}.admin-bulk-bar.has-selection{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-lo)}.admin-attendance-groups{display:grid;gap:var(--sp-4)}.admin-attendance-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.admin-attendance-group-meta{color:var(--muted);font-size:var(--t-sm);margin:0 0 var(--sp-3) 0}.admin-dashboard{display:grid;gap:var(--sp-4)}.admin-dashboard-title{color:var(--text);font-family:var(--font-display-filled);font-size:var(--display-section-title);font-weight:700;letter-spacing:0;line-height:1;margin:0;text-transform:uppercase}.admin-stat-grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-stat-card{align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:var(--sp-2);height:auto;min-height:112px;padding:var(--sp-5);text-align:left;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.admin-stat-card:hover:not(:disabled){border-color:var(--teal);box-shadow:var(--shadow),0 0 0 4px var(--teal-lo);opacity:1;transform:translateY(-1px)}.admin-stat-card.is-accent{border-left:3px solid var(--accent)}.admin-stat-value{color:var(--accent-hi);font-family:var(--font-display-filled);font-size:var(--display-card-title);line-height:1}.admin-stat-card:not(.is-accent) .admin-stat-value{color:var(--text)}.admin-stat-label{color:var(--muted);font-family:var(--font-display-filled);font-size:var(--display-kicker);font-weight:700;letter-spacing:0;line-height:1.1;text-transform:uppercase}.form-section{border:none;border-top:1px solid var(--line);display:grid;gap:var(--sp-3);margin:0;padding:var(--sp-4) 0 0}.form-section:first-of-type{border-top:none;padding-top:0}.form-section legend{color:var(--accent-hi);font-family:var(--font-body);font-size:var(--t-xs);font-weight:800;letter-spacing:.08em;line-height:1;padding:0;text-transform:uppercase}.form-section-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-section-grid .wide{grid-column:1 / -1}.organizer-picker{border:1px solid var(--line);border-radius:var(--r-sm);display:grid;gap:var(--sp-2);margin:0;min-width:0;padding:var(--sp-3)}.organizer-picker legend{color:var(--muted);font-family:var(--font-body);font-size:var(--t-sm);font-weight:600;padding:0 var(--sp-1)}.organizer-picker-options{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.organizer-picker .check{background:var(--surface-raised);border:1px solid var(--line);border-radius:999px;display:inline-flex;flex:0 0 auto;padding:.45rem .75rem}.organizer-picker .empty{margin:0}.organizer-picker--compact{grid-column:1 / -1}.admin-rules-workbench{display:grid;gap:var(--sp-3)}.admin-rules-textarea textarea{min-height:320px;width:100%}.admin-rules-preview{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-md);max-height:480px;overflow:auto;padding:var(--sp-4)}@media(min-width:820px){.admin-rules-workbench.is-split{grid-template-columns:1fr 1fr}}@media(max-width:720px){.admin-row{grid-template-columns:1fr;padding:var(--sp-4)}.admin-tablist{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tablist-item{flex-shrink:0}.admin-panel-header{align-items:flex-start;flex-direction:column}.admin-toolbar{width:100%}}.form-page{display:grid;gap:var(--sp-4)}.map-canvas{background-color:#131c26;background-position:center;min-height:420px;position:relative;width:100%}.map-canvas-content{inset:0;min-height:inherit;position:absolute;width:100%}.map-canvas--hero,.map-canvas--preview{min-height:0}.map-canvas--locked{cursor:default}.map-canvas--locked .map-canvas-content{pointer-events:none}.map-fallback{align-items:center;display:flex;justify-content:center;min-height:420px;padding:var(--sp-6)}.map-fallback-content{text-align:center}.route-preview{height:auto;max-width:400px;width:100%}.route-preview rect{fill:#111921}.route-preview polyline{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.route-marker{background:transparent;border:none;box-sizing:border-box;display:block}.route-marker .route-marker-bubble{align-items:center;border-radius:999px;box-sizing:border-box;box-shadow:0 2px 6px #08090e73;color:#fff;display:inline-flex;font-family:var(--font-display-filled);font-variant-numeric:tabular-nums;font-weight:800;height:100%;justify-content:center;letter-spacing:0;line-height:1;text-transform:uppercase;transform:scale(var(--marker-scale, 1));transform-origin:center center;transition:transform .16s ease,opacity .16s ease;width:100%}.route-marker--start .route-marker-bubble{background:var(--teal);border:2px solid #ffffff;color:#041210;font-size:12px}.route-marker--finish .route-marker-bubble{background:#f25f33;border:2px solid #ffffff;color:#fff;font-size:12px}.route-marker--km .route-marker-bubble{background:#0b0d12;border:2px solid #ffffff;color:#fff;font-size:12px;font-weight:800;letter-spacing:.01em}.route-marker--climb .route-marker-bubble{background:#f25f33;border:2px solid #ffffff;color:#fff;font-size:13px;font-weight:800}.route-marker--hover{pointer-events:none}.route-marker--hover .route-marker-bubble{background:var(--accent, #f25f33);border:3px solid #ffffff;box-shadow:0 0 0 2px #08090e8c,0 4px 10px #08090e80;height:100%;width:100%}[data-zoom-band=far] .route-marker--km,[data-zoom-band=far] .route-marker--climb{opacity:1}[data-zoom-band=mid] .route-marker--km .route-marker-bubble,[data-zoom-band=mid] .route-marker--climb .route-marker-bubble{font-size:12px}[data-zoom-band=near] .route-marker--km .route-marker-bubble,[data-zoom-band=near] .route-marker--climb .route-marker-bubble{font-size:14px}@page{size:A4 portrait;margin:10mm}@media print{.no-print,.topbar,.site-footer{display:none!important}.print-only{display:flex!important}body{background:#fff;color:#000}.page{max-width:100%;padding:0}.organization-page{display:block}.organization-page,.checklist-page{gap:var(--sp-4)}.organization-page>.rules-doc{display:none!important}.organization-checklist>.print-only{display:block!important}.rules-doc,.checklist-doc{background:#fff;border:none;border-radius:0;box-shadow:none;padding:0}.checklist-doc{margin:0 auto;max-width:190mm}.checklist-doc-header{align-items:end;border-bottom-width:1px;gap:6mm;margin-bottom:4mm;padding-bottom:2mm}.rules-content{color:#000}.rules-content blockquote{border-left-color:#555;color:#333}.rules-content code{background:#f5f5f5;border-color:#ccc}.rules-content a{color:#000}.checklist-section-heading{border-bottom-color:#bbb;color:#555;font-size:10.5pt;margin-bottom:2mm;padding-bottom:1.5mm}.checklist-box{border-color:#333;border-width:1px;height:4mm;width:4mm}.checklist-item+.checklist-item{border-top-color:#ddd}.checklist-grid{align-items:start;column-gap:7mm;grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:4mm}.checklist-section{break-inside:avoid;page-break-inside:avoid}.checklist-list{font-size:9.5pt}.checklist-item{gap:2.5mm;line-height:1.25;padding:1.4mm 0}}@media(max-width:1100px){.hero-panel,.home-grid,.route-detail-grid,.panel-grid{grid-template-columns:1fr}}@media(max-width:820px){:root{--page-pad: var(--sp-4);--card-pad: var(--sp-4)}.topbar{gap:var(--sp-2);grid-template-columns:auto 1fr auto;padding-inline:var(--sp-4)}.nav{justify-content:start}.hero-panel{padding:var(--sp-5)}.hero-copy h1{font-size:var(--display-title-md)}.hero-metrics{grid-template-columns:1fr}.route-hero,.route-hero-map,.route-hero-map .map-canvas,.route-hero-map .map-canvas-content{min-height:280px}.route-hero-overlay{bottom:var(--sp-4);left:var(--sp-4);max-width:calc(100% - var(--sp-8))}.map-shell,.map-canvas{min-height:320px}.route-detail-map .map-shell,.route-detail-map .map-canvas{min-height:380px}.inline-form,.inline-form--token,.admin-row,.route-edit-grid,.checklist-grid{grid-template-columns:1fr}.section-heading{flex-direction:column}}
