@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--ink:#172c24;--deep:#183a2e;--muted:#54665d;--line:#dce4d9;--paper:#f6f8f2;--white:#fff;--lime:#d9ee9b;--pale:#edf3e9;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}.wrap{width:min(1192px,calc(100% - 72px));margin-inline:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}header{background:#fff;border-bottom:1px solid var(--line)}.top{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:18px}.brand{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:800;white-space:nowrap;letter-spacing:-.05em}.brand span{color:#687f59}.top nav{display:flex;align-items:center;gap:9px}.top nav a{padding:10px 13px;font-size:13px;font-weight:600;color:var(--muted);border-radius:8px;white-space:nowrap}.top nav a.active{color:var(--deep);background:#eaf2e7}.top nav span{padding:2px 5px;border-radius:5px;background:#dfeadc;font-size:10px}.personal,.eyebrow{font-size:10px;font-weight:700;letter-spacing:.13em}.personal{color:#426449;border:1px solid #dce7d8;border-radius:24px;padding:8px 11px;white-space:nowrap}.hero{position:relative;isolation:isolate;overflow:hidden;background:#172f29;margin:24px 0 18px;border-radius:19px;color:#fff;min-height:336px;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0e2923f7 0%,#102c24df 29%,#112f2580 62%,#0f2b2822);z-index:-1}.hero-content{padding:31px 45px}.eyebrow{color:var(--lime);margin:0 0 14px;display:flex;align-items:center;gap:8px}.eyebrow span{width:7px;height:7px;border-radius:50%;background:var(--lime)}h1{font-size:clamp(40px,5.5vw,72px);letter-spacing:-.075em;line-height:1.03;margin:0;font-weight:800}.intro{color:#e1ece4;font-size:14px;line-height:1.65;max-width:460px;margin:15px 0 19px}.hero-link,.primary{display:inline-flex;align-items:center;gap:10px;background:var(--lime);color:#1c362b;padding:10px 14px;font-size:12px;font-weight:700;border-radius:7px;border:1px solid transparent}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat,.card,.panel,.filterbar,.sheet{background:#fff;border:1px solid var(--line);border-radius:12px}.stat{display:flex;align-items:center;gap:13px;padding:14px 17px}.stat-icon{display:grid;place-items:center;background:#eef3e9;width:39px;height:39px;border-radius:9px;color:#345946;font-size:20px}.stat b{font-size:20px;display:block;letter-spacing:-.05em}.stat small,.sub,.quiet{color:var(--muted);font-size:12px;line-height:1.55}.section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:29px 0 14px}.section-head h2{font-size:27px;letter-spacing:-.055em;margin:0 0 5px}.section-head p{margin:0}.filterbar{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:9px;padding:11px;margin-bottom:13px}input,select,textarea{width:100%;min-width:0;border:1px solid #d7e0d6;border-radius:7px;background:#fbfcfa;color:var(--ink);padding:9px 10px;font-size:13px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--deep);flex:none;margin:0}label{font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{padding:15px;display:flex;flex-direction:column;gap:9px}.card-top,.card-actions,.pills,.inline{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.card-top{justify-content:space-between}.badge{font-size:10px;font-weight:700;padding:5px 8px;border-radius:22px;background:#eef1ec;color:#505e55;white-space:nowrap}.badge.open{background:#e2f0dd;color:#23653c}.badge.check{background:#f7efda;color:#765515}.badge.closed{background:#f8e8e4;color:#823e30}.card h3{font-size:17px;letter-spacing:-.04em;margin:2px 0 0}.card .location{font-size:12px;color:var(--muted);margin:0;min-height:18px}.race-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 4px;padding:9px 0;border-block:1px solid #edf0eb;margin:0}.race-meta dt{font-size:10px;color:var(--muted);margin-bottom:3px}.race-meta dd{margin:0;font-size:12px;font-weight:600}.pill{background:#eff3eb;color:#375345;padding:4px 7px;border-radius:5px;font-size:11px;font-weight:600}.card-actions{margin-top:auto;padding-top:4px;justify-content:space-between}.card-actions label,.tick{display:flex;align-items:center;gap:7px}.secondary,.textbtn{border:1px solid #dce4d9;background:#fff;padding:8px 10px;color:var(--deep);border-radius:7px;font-weight:600;font-size:12px}.secondary:hover,.textbtn:hover{background:#edf3e8}.source{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:#315841}.noticebar{margin:13px 0;font-size:11px;color:var(--muted);line-height:1.6}.panel{padding:17px;margin-bottom:14px}.table-scroll{overflow:auto}.sheet{overflow:hidden}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th,td{padding:12px;border-bottom:1px solid #e9eee7;vertical-align:top}thead{background:#eaf1e7}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}.compare-table td{min-width:145px}.compare-table th:first-child{min-width:110px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.tabs button[aria-pressed=true]{background:var(--deep);color:#fff}.plan-cols{display:grid;grid-template-columns:1fr 1.25fr;gap:14px}.panel h3{margin:0 0 9px;font-size:17px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.field{display:flex;flex-direction:column;gap:5px}.field span{font-size:12px;font-weight:600}.field.wide{grid-column:1/-1}.checklist{list-style:none;padding:0;margin:10px 0}.checklist li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf0eb}.addrow{display:flex;gap:7px}.addrow button{white-space:nowrap}.totals{margin-top:13px;background:#eef5e7;padding:12px;border-radius:8px;line-height:1.75;font-size:13px}.panel summary{cursor:pointer;font-weight:600;font-size:13px}.segment-table input{min-width:82px}.segment-table input[type=text]{min-width:130px}footer{border-top:1px solid var(--line);padding:16px 0 25px;margin-top:25px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}dialog{width:min(620px,calc(100% - 26px));border:1px solid var(--line);border-radius:14px;padding:20px;color:var(--ink);max-height:90dvh}dialog::backdrop{background:#102820a8}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.dialog-head h2{margin:0;font-size:22px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.dialog-note{background:#f1f5ec;border-radius:7px;padding:9px;font-size:12px;line-height:1.55}#notice:not(:empty){position:fixed;bottom:16px;right:16px;background:var(--deep);color:#fff;padding:12px 16px;border-radius:8px;font-size:13px;z-index:2}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:900px){.wrap{width:calc(100% - 36px)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.personal{display:none}.plan-cols{grid-template-columns:1fr}}@media(max-width:570px){.wrap{width:calc(100% - 24px)}.top{flex-wrap:wrap;justify-content:center;gap:6px;padding:8px 0}.top nav{width:100%;justify-content:center}.top nav a{padding:7px 8px;font-size:12px}.hero{margin-top:13px;min-height:286px}.hero-content{padding:25px 17px}.hero:before{background:linear-gradient(90deg,#0e2923ef,#102c24a2)}.intro{font-size:13px}.stats{gap:5px}.stat{padding:8px;gap:5px;align-items:flex-start;flex-direction:column}.stat-icon{display:none}.stat small{font-size:10px}.grid{grid-template-columns:1fr}.filterbar{grid-template-columns:1fr 1fr}.filterbar label:first-child{grid-column:1/-1}.section-head{align-items:flex-start}.section-head h2{font-size:22px}.section-head>.secondary{white-space:nowrap}.formgrid{gap:9px}.panel{padding:12px}}
#page{scroll-margin-top:16px}.race-source{font-size:11px;color:var(--muted);line-height:1.55}.race-source summary{cursor:pointer;width:max-content}.race-source p{margin:5px 0 0}
@media(min-width:901px){.filterbar{grid-template-columns:minmax(160px,2fr) repeat(4,minmax(110px,1fr))}}
@media(min-width:571px) and (max-width:900px){.filterbar{grid-template-columns:repeat(4,1fr)}.filterbar label:first-child{grid-column:1/-1}}

.race-type.road{background:#e4eef9;color:#284f75}

.ticket-action{margin-top:auto;min-height:37px;display:flex;align-items:center}
.card .card-actions{margin-top:0}
.registration-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.registration-link.primary{background:#e2efb5;color:#213b2d}

.hero{min-height:390px}
.hero-photos{position:absolute;inset:0 0 0 30%;z-index:-2}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 94%}
.hero::before{background:linear-gradient(90deg,#172f29 21%,#172f29e6 32%,#172f294f 53%,transparent 68%)}
@media(max-width:700px){
 .hero{min-height:470px;align-items:flex-start}
 .hero-photos{inset:0}
 .hero-photo{object-position:57% 94%}
 .hero::before{background:linear-gradient(180deg,#0c221fe8 0%,#0c221fc4 29%,#0c221f24 55%,transparent 76%)}
}

.race-type-filters{display:flex;gap:8px;margin:0 0 12px}
.race-type-filters button{min-height:44px;min-width:100px;padding:8px 18px;border:1px solid #9aad9c;border-radius:9px;background:#fff;color:var(--deep);font-weight:800;font-size:15px}
.race-type-filters button:hover{background:#eaf1e7}
.race-type-filters button[aria-pressed="true"]{border-color:var(--deep);background:var(--deep);color:#fff;box-shadow:0 2px 5px #183a2e28}
@media(max-width:570px){.race-type-filters button{flex:1;min-width:0}}

.card-scenery{
 height:clamp(78px,9vw,112px);margin:-15px -15px 1px;border-radius:11px 11px 0 0;
 background-color:#d7e3d6;background-position:64% center;background-size:cover;
 background-image:linear-gradient(#18342b16,#18342b30),var(--scenery);
}
.card-scenery[data-scenery="trail"]{--scenery:url(card-trail.webp)}
.card-scenery[data-scenery="road"]{--scenery:url(card-road.webp)}
.card-scenery[data-scenery="city-trail"]{--scenery:url(card-city-trail.webp)}
@media(max-width:570px){.card-scenery{height:94px}}
.album-item{padding:12px 0;border-bottom:1px solid var(--line)}
.album-item:last-child{border-bottom:0}
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px}
.album-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.album-feedback{color:var(--muted);font-size:13px;min-height:1em}
#new-album-name[hidden]{display:none}
#new-album-name{margin-top:10px}
@media(max-width:570px){.top nav{flex-wrap:wrap;gap:4px}.top nav a{padding-inline:6px}}
.album-rejected{margin:0 0 12px;padding-left:20px;font-size:13px;color:#8a2c1b;overflow-wrap:anywhere}
.album-feedback{overflow-wrap:anywhere}
.album-item summary{display:list-item}
.album-item summary>span{vertical-align:middle}
.album-cover{width:72px;height:48px;object-fit:contain;background:#eef3e9;border-radius:6px;margin:0 10px;vertical-align:middle}
.album-manage{margin-top:12px}
.album-grid video{display:block;width:100%;aspect-ratio:4/3;background:#142d25;border-radius:8px}
.album-select{max-height:45dvh;overflow:auto;margin:8px 0 12px}
.album-select-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px;padding:5px}
.album-select-item :is(img,video){grid-column:1/-1}
.album-select-item:has(input:checked){background:#e2efcf;border-radius:8px}
.album-select-item video{pointer-events:none}
#album-actions[hidden]{display:none}
.album-lock-form{max-width:350px;margin:auto}
.album-lock-form button{margin-top:10px}
.card-actions{justify-content:flex-end}
