:root{color-scheme:dark;--bg:#0d0f10;--panel:#171a1b;--line:#303638;--muted:#adb6b7;--lime:#c5ff3a;--orange:#ffb16f;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:#f7f9f3;background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{cursor:pointer}button{background:#202527;border:1px solid var(--line);color:inherit;padding:12px 16px;border-radius:9px;min-height:46px;font-weight:700;transition:background .15s,border-color .15s}button:hover{border-color:var(--lime);background:#2b3330}a{color:var(--lime)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}header{max-width:1440px;margin:auto;padding:24px 32px;display:flex;align-items:center;gap:24px}.brand{text-decoration:none;color:inherit;display:flex;gap:12px;align-items:center;font-size:23px;font-weight:900;letter-spacing:-.8px}.brand em{color:var(--lime);font-style:normal}.mark{background:var(--lime);color:#101410;padding:11px 9px;transform:skew(-8deg);border-radius:3px;font-size:20px;font-style:italic}.region,.version,.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:800}.region{color:var(--muted)}.version{margin-left:auto;color:var(--muted)}.tabs{max-width:1376px;padding:6px;margin:0 auto;display:flex;gap:6px;border:1px solid var(--line);background:#171a1b;border-radius:12px}.tabs button{background:none;border:0;flex:1;color:var(--muted);padding:14px 12px;display:flex;align-items:center;justify-content:center;gap:9px}.tabs button:hover{background:#252c2d}.tabs button[aria-current]{background:var(--lime);color:#152000}.navicon{font-size:23px;line-height:1}#saveCount{background:#303a25;color:var(--lime);padding:3px 7px;border-radius:5px;font-size:12px}.tabs button[aria-current] #saveCount{background:#162300}main{max-width:1440px;margin:auto;padding:24px 32px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{color:var(--lime)}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(36px,5vw,62px);line-height:1.08;letter-spacing:.2px;margin:12px 0 0;font-weight:900}h2{font-size:24px;letter-spacing:-.5px;margin:24px 0 14px}h3{font-size:21px;letter-spacing:-.3px;margin:0 0 8px}.ridehead{position:relative;min-height:210px;border-radius:14px;overflow:hidden;background:#202922;isolation:isolate;padding:26px 30px;margin-bottom:18px}.ridehead:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,10,.97) 0%,rgba(8,13,10,.78) 34%,rgba(8,13,10,.08) 72%),url('moto.jpg') 68% 48%/cover;z-index:-1}.ridehead:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:4px;background:var(--lime);z-index:-1}.ridehead h1{font-style:italic;margin:8px 0 18px}.ridehead h1 em{color:var(--lime);font-style:inherit}.primary{background:var(--lime);color:#162008;border-color:var(--lime);box-shadow:0 3px 0 #7f9b2b}.primary:hover{background:#d5ff76;color:#162008}.linkbutton{display:inline-block;text-decoration:none;border-radius:8px;padding:14px 17px;font-weight:700}.finder{background:var(--panel);padding:14px;border:1px solid var(--line);border-radius:12px}.searchrow,.filters{display:flex;gap:10px;flex-wrap:wrap}.searchrow{flex-wrap:nowrap;align-items:center}.searchlabel{flex:1;min-width:0}input,select,textarea{color:inherit;background:#0f1314;border:1px solid var(--line);border-radius:8px;padding:14px;width:100%;min-height:48px}select{width:auto;max-width:100%}.searchrow select{width:100%}.searchrow label:not(.searchlabel){width:160px}.searchrow input{font-size:16px}.morefilters summary{color:var(--muted);font-size:14px;cursor:pointer;padding:14px 0 2px;min-height:40px}.morefilters[open] summary{padding-bottom:14px}.filters input{flex:1;min-width:200px}.filters button[aria-pressed=true],#mapToggle[aria-pressed=true]{background:#344823;border-color:var(--lime);color:var(--lime)}.muted{color:var(--muted);font-size:14px;line-height:1.6}.workspace{display:block;margin-top:24px}.workspace.show-map{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px}.resulthead{display:flex;justify-content:space-between;align-items:center;color:#f7f9f3;font-size:17px;font-weight:700;margin-bottom:4px}.textbutton{border:0;background:none;font-size:14px;color:var(--muted);padding:8px;min-height:44px}.accessnote{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 17px}#trackList,#garageSaved{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.show-map #trackList{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:22px}.card{position:relative;display:flex;flex-direction:column;transition:border-color .15s,transform .15s;overflow:hidden}.card:hover{border-color:#89985a;transform:translateY(-2px)}.cardstrip{display:flex;align-items:center;gap:9px;margin:-2px 0 16px}.provincepill{font-size:12px;font-weight:800;letter-spacing:1px;padding:6px 8px;color:var(--lime);border:1px solid #485329;border-radius:5px;background:#263019}.cardlocation{color:var(--muted);font-size:14px;line-height:1.4;flex:1}.open{background:none;border:0;padding:0;min-height:0;text-align:left;font-size:22px;line-height:1.25;font-weight:800;color:inherit}.open:hover{color:var(--lime);background:none}.star{font-size:25px;padding:4px 8px;flex-shrink:0;border:0;background:none;min-width:44px;min-height:44px}.star[aria-pressed=true]{color:var(--lime)}.card p{color:var(--muted);line-height:1.6;font-size:14px;margin:8px 0 16px}.trackfeatures{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.trackfeatures span{font-size:12px;color:#cad1ce;border-radius:5px;background:#252c2c;padding:6px 8px;line-height:1.4}.cardactions{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.detailbutton{background:#c5ff3a;color:#152000;border-color:#c5ff3a;padding:10px 16px;min-height:44px;font-size:14px}.detailbutton:hover{background:#d5ff76}.cardactions a{font-weight:700;font-size:14px;text-decoration:none;padding:12px 0;min-height:44px}.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{color:var(--muted);font-size:12px;border:1px solid var(--line);padding:7px 9px;border-radius:5px;line-height:1.4}.badge.good{color:var(--lime);background:#293822;border-color:#485d36}.badge.orange{color:#ffd0a7;background:#3b2a1d;border-color:#69442c}.mapwrap{display:none;position:sticky;top:20px;align-self:start;min-width:0}.show-map .mapwrap{display:block}#map{height:580px;background:#232b24;border:1px solid var(--line);border-radius:12px;overflow:hidden;z-index:0}.mapfallback{padding:40px;color:var(--muted);text-align:center}.maplegend{display:flex;gap:18px;font-size:12px;color:var(--muted);margin-top:14px}.maplegend i{display:inline-block;width:10px;height:10px;border:2px solid #ff8c45;border-radius:100%;margin-right:5px}.maplegend i.exact{background:var(--lime);border-color:var(--lime)}.mapnote{font-size:12px;color:var(--muted);line-height:1.6}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#171a1b;color:#f4f7ee}.leaflet-popup-content{font:14px Arial}.leaflet-popup-content button{margin-top:10px}.leaflet-control-attribution{font-size:12px!important}.notice{padding:17px 20px;background:#322719;border:1px solid #625036;border-radius:10px;line-height:1.6;margin-bottom:22px;color:#f1d6b2}.twocol,.shopgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel p{color:var(--muted);line-height:1.6}.panel h2{margin-top:12px}.shopgrid{margin-top:20px;grid-template-columns:repeat(3,1fr)}.shopgrid .panel{display:flex;flex-direction:column}.shopgrid .actions{margin-top:auto;padding-top:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.actions a{text-decoration:none;border:1px solid var(--line);padding:13px 14px;border-radius:7px;font-size:14px;color:#f4f7ee;font-weight:700}.actions a:hover{border-color:var(--lime);color:var(--lime)}.brandpanel{margin-top:25px;border-left:5px solid var(--lime)}.profile{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px}.profile label,.planform label{font-size:14px;color:var(--muted)}label input,label textarea{margin-top:7px}.searchlabel input{margin:0}.profile button{align-self:end}.empty{padding:28px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);line-height:1.6;grid-column:1/-1}.plan{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:10px;padding:17px;margin:10px 0;background:var(--panel)}.plan strong{display:block;margin-bottom:6px}.plan .muted{margin:0}dialog{color:inherit;background:var(--bg);border:1px solid #526047;border-radius:16px;width:min(720px,calc(100% - 24px));max-height:92dvh;padding:26px}dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.detailtop{display:flex;justify-content:space-between;align-items:center}.detailtop button{background:none;border:0}.detailtitle{font-size:32px;margin:18px 0 7px;line-height:1.15}.detailmeta{color:var(--muted);line-height:1.6;margin-bottom:17px}.detailsection{border-top:1px solid var(--line);margin-top:24px;padding-top:2px}.detailsection p{line-height:1.6;color:var(--muted)}.forecast{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.weatherday{border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:15px 8px;text-align:center;font-size:14px}.weatherday strong{display:block;font-size:26px;margin:12px 0}.planform{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.planform input{width:100%}textarea{min-height:85px;resize:vertical}.footnote{color:var(--muted);font-size:12px;line-height:1.6}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--lime);color:#162008;padding:14px 20px;border-radius:8px;z-index:10000;font-weight:700;max-width:90vw;display:none}footer{max-width:1376px;margin:20px auto 0;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px;letter-spacing:1px;display:flex;justify-content:space-between}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;top:-60px;padding:15px;background:var(--lime);color:black;z-index:10000}.skip:focus{top:0}[hidden]{display:none!important}@media(max-width:1100px){.region{display:none}.tabs{margin:0 32px}#trackList,#garageSaved{grid-template-columns:repeat(2,minmax(0,1fr))}.show-map #trackList{grid-template-columns:1fr}.shopgrid{grid-template-columns:1fr 1fr}.workspace.show-map{grid-template-columns:1.1fr 1fr}#map{height:480px}.profile{grid-template-columns:1fr 1fr}}@media(max-width:700px){body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}header{padding:18px;gap:10px}.brand{font-size:19px}.mark{font-size:17px;padding:9px 7px}.version{font-size:12px;letter-spacing:.3px}.tabs{position:fixed;bottom:0;left:0;right:0;border-radius:16px 16px 0 0;z-index:1000;margin:0;padding:8px 6px calc(8px + env(safe-area-inset-bottom));gap:3px;background:#151a1bf5;backdrop-filter:blur(12px);border-bottom:0;box-shadow:0 -8px 28px #0006}.tabs button{font-size:12px;padding:8px 3px;flex-direction:column;gap:6px;min-height:58px;position:relative}.tabs .navicon{font-size:22px}.tabs #saveCount{position:absolute;right:8px;top:3px;font-size:12px;padding:1px 4px}main{padding:0 16px 18px}.pagehead{gap:10px;padding-top:20px}.ridehead{min-height:190px;padding:22px 20px}.ridehead:before{background-position:66% 48%;background-image:linear-gradient(90deg,rgba(8,13,10,.88) 0%,rgba(8,13,10,.5) 45%,rgba(8,13,10,.08) 100%),url('moto.jpg')}.ridehead h1{font-size:42px;max-width:220px;line-height:1.03;margin-bottom:17px}.ridehead .eyebrow{font-size:12px;letter-spacing:.5px}.ridehead .primary{font-size:14px;padding:11px 13px}.finder{padding:11px}.searchrow{flex-wrap:wrap;gap:9px}.searchrow .searchlabel{flex-basis:100%}.searchrow label:not(.searchlabel){flex:1;width:auto}.searchrow #mapToggle{flex:1;padding:11px;min-height:48px}.morefilters summary{font-size:14px}.filters label,.filters select{flex:1;width:100%}.filters button{font-size:14px;padding:10px}.workspace,.workspace.show-map{display:flex;flex-direction:column;gap:18px;margin-top:18px}.workspace.show-map .mapwrap{order:-1;position:static}#map{height:300px}#trackList,#garageSaved,.show-map #trackList{grid-template-columns:1fr;gap:12px}.card{padding:18px}.cardstrip{margin-bottom:10px}.card .open{font-size:23px}.card .surface{margin-bottom:12px}.trackfeatures{margin-bottom:15px}.cardactions{padding-top:12px}.twocol,.shopgrid,.profile{grid-template-columns:1fr}.eyebrow{font-size:12px}.shopgrid{margin-top:18px}footer{margin:0 18px;padding-bottom:20px;gap:15px;line-height:1.6}dialog{padding:20px}.detailtitle{font-size:28px}.planform{grid-template-columns:1fr}.plan{align-items:flex-start}.forecast{gap:6px}.weatherday{padding:12px 5px}.weatherday strong{font-size:22px}#toast{bottom:calc(96px + env(safe-area-inset-bottom))}.accessnote{font-size:14px}.resulthead{font-size:16px}}@media(prefers-reduced-motion:reduce){button,.card{transition:none}.card:hover{transform:none}}@media(max-width:360px){.brand{font-size:17px}.version{display:none}.tabs button{font-size:12px}.ridehead h1{font-size:36px}}

.coursemap{display:block;background:#fff;border-radius:12px;padding:16px;margin:16px 0;overflow:hidden}.coursemap img{display:block;width:100%;height:auto;min-height:140px;max-height:420px;object-fit:contain}

.layoutavailable{font-size:.875rem;font-weight:700;color:#477c08;margin:0 0 12px}

.bikeparts{margin-bottom:24px}.bikeidentity{font-size:1.25rem;font-weight:700}.partsearch{display:block;margin:20px 0;font-weight:600}.partsearch input{display:block;width:100%;margin-top:8px}.partsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.partstore{padding:16px;background:#f4f6f1;border-radius:12px}.partstore h3{margin:0 0 8px}.partstore .footnote{margin-bottom:0}.cataloglinks{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.cataloglinks a{padding:10px 14px;border:1px solid #ccd3c4;border-radius:8px}.bikeparts a{overflow-wrap:anywhere}@media(max-width:760px){.partsgrid{grid-template-columns:1fr}.cataloglinks{flex-direction:column}.cataloglinks a{display:block}}

.partstore{background:var(--bg);border:1px solid var(--line)}.card .layoutavailable{color:var(--lime)}.selectedweather{grid-column:1/-1;text-align:left;padding:18px}.planactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.planactions a{padding:12px;font-size:14px}.plan .textbutton{text-align:left;color:var(--lime);font-size:16px}@media(max-width:700px){.plan{flex-direction:column}.planactions{width:100%}.planactions button{font-size:14px}}

.ride-preview{display:flex;align-items:center;gap:20px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:18px}.ride-shortcut{display:flex;align-items:center;gap:14px;text-align:left;background:none;border:0;padding:4px;flex-shrink:0}.ride-calendar{display:grid;place-items:center;color:var(--lime);background:#293822;border-radius:9px;width:48px;height:48px;font-size:28px}.ride-shortcut strong{display:block;font-size:18px}.ride-shortcut span span{display:block;color:var(--muted);font-size:14px;font-weight:400;margin-top:5px}#homeRidePlan{border-left:1px solid var(--line);padding-left:20px;min-width:0}#homeRidePlan p{margin:0}#homeRidePlan .textbutton{display:block;color:var(--lime);font-size:16px;text-align:left;padding:8px 0}.location-feedback p:empty{display:none}.location-feedback button{padding-left:0;color:var(--lime)}button:disabled{cursor:wait;opacity:.65}@media(max-width:700px){.ride-preview{flex-direction:column;align-items:stretch;gap:8px;padding:14px}.ride-shortcut{width:100%}#homeRidePlan{border-left:0;border-top:1px solid var(--line);padding:10px 0 0}}

.part-search-form{display:flex;gap:12px;align-items:end;margin:20px 0 12px}.part-search-form .partsearch{flex:1;min-width:0;margin:0}.part-search-form button{flex-shrink:0;min-height:48px}#partSearchStatus{overflow-wrap:anywhere}.part-search-form input{min-width:0}@media(max-width:700px){.part-search-form{flex-direction:column;align-items:stretch}.part-search-form button{width:100%}}

.home-ride-details{border-left:1px solid var(--line);padding-left:20px;min-width:0;flex:1}#homeRidePlan{border:0;padding:0}#homePublishedEvent:not(:empty){margin-top:12px}#homePublishedEvent .textbutton{display:block;text-align:left;color:var(--lime);padding:8px 0}.published-events{margin:24px 0}.published-events .resulthead{gap:16px;flex-wrap:wrap}.published-event{margin:14px 0}.published-event h3{font-size:24px;margin:12px 0}.published-event p{line-height:1.6}@media(max-width:700px){.home-ride-details{border-left:0;border-top:1px solid var(--line);padding:10px 0 0}#homeRidePlan{border:0;padding:0}}

.town-search-feedback p:empty,.town-search-feedback .actions:empty{display:none}.town-search-feedback:has(#townStatus:empty) .town-attribution{display:none}.town-search-feedback{margin:10px 0}.town-search-feedback p{line-height:1.5}.town-search-feedback .actions button{min-height:44px}.town-attribution{font-size:13px}

.wind-summary{margin:16px 0;border-top:1px solid var(--line);padding-top:8px}.wind-summary p{font-size:16px;margin:9px 0;line-height:1.5}.hourly-weather summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--lime);font-size:16px}.weather-table-wrap{max-width:100%;overflow-x:auto}.weather-table-wrap table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;white-space:nowrap}.weather-table-wrap th,.weather-table-wrap td{padding:12px 10px;border-bottom:1px solid var(--line)}.weather-table-wrap th{color:var(--lime)}.hourly-weather{min-width:0}.selectedweather{min-width:0}

/* Keep long club names and email links inside narrow cards and dialogs. */
.card,.panel,.profile label,.actions a,.partstore,.cardlocation{min-width:0;overflow-wrap:anywhere}
.profile input,.profile textarea{min-width:0}
.shopgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.shopgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.shopgrid{grid-template-columns:minmax(0,1fr)}}

/* Narrow screens and enlarged text: allow flex/grid children to shrink and wrap. */
header{flex-wrap:wrap}.brand{min-width:0;max-width:100%}.brand>span:last-child{overflow-wrap:anywhere}.version{flex-shrink:0}
.results,.ridehead-copy,.detailsection,.planform label{min-width:0}
.detailtitle,.detailmeta,.wind-summary,.published-event h3{overflow-wrap:anywhere}
.planform{grid-template-columns:minmax(0,1fr) auto}.planform input{min-width:0;max-width:100%}
.filters input{min-width:min(200px,100%)}
@media(max-width:700px){
 .searchrow label:not(.searchlabel){flex:1 1 180px;min-width:0}
 .searchrow #mapToggle{flex:1 1 110px;min-width:0}
 .searchrow select{min-width:0;max-width:100%}
 .planform{grid-template-columns:minmax(0,1fr)}
 .tabs button{min-width:0;overflow-wrap:anywhere}
 .maplegend{flex-wrap:wrap;gap:8px 18px}
 footer{flex-wrap:wrap}
}
@media(max-width:440px){.version{display:none}}
/* Ride planning and the reserved sponsor space. */
.weekend{margin:24px 0}.weekend .filters{align-items:end}.weekend label,.report-form label{display:grid;gap:8px;font-size:1rem}.weekend-result{padding:20px 0;border-top:1px solid #ccd1c5}.weekend-result:first-child{margin-top:16px}.weekend-result h3{margin:8px 0}.weekend-result p{line-height:1.6}.report-form{display:grid;gap:16px;margin-top:16px}.report-form textarea{width:100%;min-height:110px}.report-form button{justify-self:start}.detailsection summary{cursor:pointer;font-size:1rem;font-weight:700}.sponsor-slot{margin:32px 0 12px;border-style:dashed;min-height:140px}.sponsor-slot h2{font-size:1.25rem;margin:8px 0}.sponsor-slot p{margin:8px 0}.report-status{margin:0}.weekend input,.weekend select{max-width:100%}@media(max-width:600px){.weekend .filters{display:grid}.weekend .filters>*{width:100%}.searchrow{flex-wrap:wrap}.sponsor-slot{padding:20px}}

.sponsor-slot{border-style:solid;border-left:5px solid #85b82b;background:#101410;color:#fff}.sponsor-slot .eyebrow{color:#baff46}.sponsor-slot .footnote{color:#d1d9cb}.sponsor-slot .actions a{background:#baff46;color:#101410;border-color:#baff46}

/* Original BanmanBoyz artwork stays intact behind the promo. */
.sponsor-slot{min-height:360px;display:flex;align-items:center;padding:32px;border-color:#534236;border-left-color:#baff46;background-color:#100f0e;background-image:linear-gradient(90deg,#100f0e 0%,#100f0e 32%,rgba(16,15,14,.85) 42%,rgba(16,15,14,0) 65%),url('banmanboyz-ad.jpg');background-size:100% 100%,auto 100%;background-repeat:no-repeat;background-position:center,right center;overflow:hidden}.sponsor-copy{max-width:35%}.sponsor-copy .actions{gap:10px}.sponsor-copy .eyebrow{line-height:1.6}.sponsor-copy h2{font-size:1.75rem}.sponsor-copy>p{line-height:1.6}.sponsor-copy .actions a{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){.sponsor-slot{display:block;min-height:0;padding:calc((100vw - 48px) * .666667 + 16px) 20px 24px;background-image:linear-gradient(180deg,rgba(16,15,14,0) 0%,rgba(16,15,14,0) 52%,#100f0e 74%),url('banmanboyz-ad.jpg');background-size:100% 100%,100% auto;background-position:center,center top}.sponsor-copy{max-width:none}.sponsor-copy .actions{display:flex;flex-wrap:wrap}}

.sponsor-copy .sponsor-tagline{margin-top:18px;color:var(--lime);font-size:1.25rem;font-weight:700;line-height:1.4}

.tester-feedback{border:1px solid var(--line);border-radius:10px;padding:0 16px;margin:0 0 20px;color:var(--muted)}.tester-feedback summary{cursor:pointer;min-height:48px;align-content:center;font-size:1rem;color:var(--lime);font-weight:700}.tester-feedback>p{font-size:1rem;line-height:1.6}.tester-feedback .report-form{margin-bottom:18px;max-width:640px;color:#f7f9f3}.tester-feedback select{width:100%;min-width:0}.tester-feedback .report-form button{max-width:100%}

/* Parts catalog: real product photography and dated retailer listings. */
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:28px}.catalog-toolbar h3{margin:0}.catalog-toolbar label{display:grid;gap:8px;font-size:1rem}.catalog-toolbar select{min-width:180px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0;background:var(--panel,#161c17)}.product-photo{aspect-ratio:4/3;background:#fff;display:grid;place-items:center;padding:18px;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:contain;display:block}.product-photo.image-missing img{display:none}.product-photo.image-missing::after{content:'Photo unavailable';color:#333;font-size:1rem}.product-content{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.product-content h4{font-size:1.125rem;line-height:1.45;margin:0;overflow-wrap:anywhere}.product-content p{margin:0;font-size:1rem;line-height:1.5}.product-content .product-meta,.product-content .product-check{font-size:.875rem;color:var(--muted)}.product-price{font-size:1.25rem!important;font-weight:700}.product-stock{font-size:.875rem;align-self:flex-start;padding:5px 10px;border:1px solid var(--line);border-radius:6px}.product-stock.listed{color:#c5ed8d;border-color:#536e37}.product-content .actions{margin-top:auto;padding-top:8px}.product-content .actions a{min-height:44px;display:inline-flex;align-items:center;font-size:1rem}.store-heading{margin-top:32px}.product-grid>.empty{grid-column:1/-1}.product-fit{color:var(--muted)}@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.product-grid{grid-template-columns:minmax(0,1fr)}.catalog-toolbar{align-items:flex-start}.catalog-toolbar label,.catalog-toolbar select{width:100%}.product-photo{aspect-ratio:16/9}}

.full-catalog-search{border:1px solid #536e37;border-left:4px solid var(--lime);border-radius:10px;padding:18px;margin:20px 0;background:#1a2416}.full-catalog-search[hidden]{display:none}.full-catalog-search h3{margin:0 0 8px;font-size:1.125rem}.full-catalog-search p{font-size:1rem;line-height:1.6;margin:0 0 12px}.full-catalog-search .actions a{min-height:44px;display:inline-flex;align-items:center;font-size:1rem}.product-price{overflow-wrap:anywhere}.product-check{margin-top:8px!important}

.product-option{display:grid;gap:8px;font-size:.875rem}.product-option select{width:100%;min-width:0;max-width:100%;font-size:1rem;padding:10px;border-radius:6px}.product-content .product-price{font-size:1.125rem!important}

/* Area-first track discovery */
.area-picker{margin-top:0}.area-picker h1{font-size:1.6rem;margin:0 0 1rem}.area-picker .searchrow{display:flex;flex-wrap:wrap;align-items:end}.area-picker .searchrow>label:nth-child(2){order:-1;display:grid;gap:.4rem;min-width:220px}.region{display:none}#trackWorkspace[hidden],#areaPrompt[hidden]{display:none!important}@media(max-width:640px){.area-picker .searchrow>label:nth-child(2){width:100%}.area-picker .searchlabel{width:100%}}

.account-link{margin-left:auto;text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:12px 14px;white-space:nowrap;font-weight:700}.account-panel{margin-bottom:24px}.account-panel h2{margin-top:0}.account-panel [role=status]{font-size:14px;line-height:1.6;color:var(--lime)}.bike-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bike-card [aria-pressed=true]{border-color:var(--lime);color:var(--lime)}#profileForm{margin-top:18px}@media(max-width:700px){.bike-list{grid-template-columns:1fr}.account-link{font-size:13px;padding:10px}}

/* LGR motocross whip banner */
header.lgr-banner{position:relative;display:block;padding:0;margin:16px auto 20px;max-width:1376px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#101410}
.lgr-banner-image{display:block;width:100%;height:auto;aspect-ratio:2048/683;object-fit:cover}
.lgr-banner-content{position:absolute;inset:auto 0 0;display:flex;align-items:center;gap:24px;padding:28px 30px;background:linear-gradient(transparent,rgba(8,12,10,.92))}
.lgr-banner .brand{font-size:clamp(23px,3vw,38px);text-shadow:0 2px 12px #000}
.lgr-banner .mark{font-size:24px;text-shadow:none}
.lgr-banner .region{display:none}
.lgr-banner .account-link{background:#101410e8;flex-shrink:0}
@media(max-width:1440px){header.lgr-banner{margin-left:32px;margin-right:32px}}
@media(max-width:700px){header.lgr-banner{margin:12px 16px 16px;border-radius:12px}.lgr-banner-content{position:static;padding:16px 14px;gap:10px;background:#141a17;border-top:1px solid #303638}.lgr-banner .brand{font-size:18px;letter-spacing:-.5px;gap:8px}.lgr-banner .mark{font-size:18px;padding:9px 7px}.lgr-banner .account-link{padding:10px;font-size:13px}}
@media(max-width:360px){.lgr-banner .brand{font-size:15px}.lgr-banner-content{padding:14px 10px}.lgr-banner .mark{font-size:16px}}

/* Local company advertisement preview. */
.integrity-ad{max-width:1376px;margin:20px auto 0;display:flex;align-items:center;gap:24px;padding:24px 28px;border:1px solid #3e4930;border-left:4px solid var(--lime);border-radius:12px;background:linear-gradient(115deg,#192017,#111514 64%,#202b18);position:relative;overflow:hidden}.integrity-ad-logo{flex-shrink:0;width:240px;overflow:hidden;border-radius:10px;background:#fff}.integrity-ad-logo img{display:block;width:100%;height:auto}.integrity-ad-copy{flex:1;min-width:0}.integrity-ad-meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;letter-spacing:1.2px;font-weight:700;flex-wrap:wrap}.integrity-ad-label{color:var(--lime);border:1px solid #536332;border-radius:4px;padding:4px 6px}.integrity-ad h2{font-size:26px;line-height:1.12;letter-spacing:-.5px;margin:12px 0 6px;font-weight:900}.integrity-ad h2 span{color:var(--lime)}.integrity-ad p{margin:0 0 10px;font-size:16px;color:#f7f9f3}.integrity-ad-brands{font-size:12px;color:var(--muted);line-height:1.6}.integrity-ad-actions{display:flex;flex-direction:column;gap:12px;text-align:center;flex-shrink:0}.integrity-ad-visit{display:flex;gap:14px;justify-content:center;align-items:center;min-height:46px;background:var(--lime);color:#101410;border-radius:8px;padding:12px 18px;font-weight:800;text-decoration:none}.integrity-ad-visit:hover{background:#d5ff78}.integrity-ad-call{font-size:13px;color:#c4cdbb;text-underline-offset:4px}@media(max-width:1440px){.integrity-ad{margin-left:32px;margin-right:32px}}@media(max-width:760px){.integrity-ad{margin:16px 16px 0;padding:18px;gap:14px;flex-wrap:wrap}.integrity-ad-logo{width:180px;max-width:100%}.integrity-ad h2{font-size:21px}.integrity-ad-meta{font-size:9px;gap:7px}.integrity-ad-copy{flex-basis:100%}.integrity-ad p{font-size:14px}.integrity-ad-brands{font-size:11px}.integrity-ad-actions{width:100%;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}.integrity-ad-visit{flex:1;font-size:13px;padding:12px}.integrity-ad-call{font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:center}}

/* Full-width sponsor logo with copy and links below. */
.integrity-ad{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px}.integrity-ad-logo{grid-column:1/-1;width:100%;aspect-ratio:828/340;border-radius:8px}.integrity-ad-logo img{width:100%;height:100%;object-fit:cover;object-position:center}.integrity-ad-copy{min-width:0}.integrity-ad-actions{align-self:center}@media(max-width:760px){.integrity-ad{grid-template-columns:minmax(0,1fr);gap:18px}.integrity-ad-logo{width:100%;max-width:none}.integrity-ad-actions{width:100%}.integrity-ad-copy{width:100%}}

/* Focus the home screen on finding a place to ride. */
header.lgr-banner{margin-top:12px;margin-bottom:16px}.lgr-banner-image{height:clamp(180px,23vw,300px);aspect-ratio:auto;object-position:center 45%}
.simple-finder{background:transparent;border:0;padding:0;margin:0 0 12px}.simple-finder h1{font-size:clamp(26px,3vw,38px);margin:0 0 16px}.simple-finder .searchrow{display:flex;flex-wrap:nowrap;align-items:stretch;gap:10px}.simple-finder .searchrow .searchlabel{flex:1;min-width:0;width:auto}.simple-finder .searchrow input{height:54px}.simple-finder #nearby{flex-shrink:0;box-shadow:none}.simple-finder .morefilters{margin-top:8px}.simple-finder .morefilters summary{display:list-item;width:fit-content;min-height:44px;padding:12px 4px;color:var(--muted);font-weight:700}.simple-finder .morefilters[open]{padding-bottom:14px}.simple-finder .filters{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:end}.simple-finder .filters label{display:grid;gap:8px;font-size:13px}.simple-finder .filters select{width:100%}
.town-search-feedback p:empty,.town-search-feedback .actions:empty{display:none}.town-search-feedback p:empty{margin:0}.location-feedback p:empty{margin:0}.simple-finder~.workspace{margin-top:8px}.directory-notes{margin:20px 0;color:var(--muted)}.directory-notes summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}.results>.accessnote{font-size:12px;margin:0 0 14px}.integrity-ad{margin:32px 0 20px;max-width:100%}.tester-feedback{margin:20px 0}.results>.actions{margin-top:24px}
@media(max-width:700px){header.lgr-banner{margin:12px 16px 20px}.lgr-banner-image{height:auto;aspect-ratio:3/1}.lgr-banner-content{position:absolute;inset:auto 0 0;padding:12px;background:linear-gradient(transparent,#080c0af2);border:0}.lgr-banner .brand{font-size:16px}.lgr-banner .mark{font-size:15px;padding:7px 6px}.lgr-banner .account-link{padding:8px;min-height:40px}.simple-finder .searchrow .searchlabel{flex-basis:auto;width:auto}.simple-finder #nearby{padding:12px;font-size:14px}.simple-finder .filters{display:grid;grid-template-columns:1fr}.simple-finder .filters>*{width:100%}.simple-finder h1{font-size:28px;margin-bottom:14px}.integrity-ad{margin:28px 0 20px}.simple-finder~.workspace{margin-top:4px}}

.suggest-track{margin:24px 0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.suggest-track summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}.suggest-track .report-form{max-width:640px}.suggest-track select{width:100%}

.socialupdates{border:1px solid #405b2d;border-left:4px solid var(--lime);border-radius:12px;padding:18px;background:#182116}.socialupdates h2{margin-top:0}.socialupdates .actions{display:flex;flex-wrap:wrap;gap:10px}.socialupdates .actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;font-weight:700;border-color:#58783b}.socialupdates .actions a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.socialpending{background:transparent;border-color:var(--line);border-left-width:1px}.socialpending p{color:var(--muted)}
.usage-notice{max-width:1200px;margin:0 auto;padding:0 20px 30px;color:var(--muted,#b9bdb5);font-size:.8rem}.usage-notice p{max-width:75ch;line-height:1.6}#ownerStatsLink[hidden]{display:none}
