:root{--navy:#081f3f;--blue:#20a4f3;--ice:#f4faff;--orange:#ff3f00;--ink:#0f0821;--muted:#6b778c;--line:#cdcdcd;--green:#5cbb5e;--white:#fff;--danger:#bd2d19;--shadow:0 18px 50px #081f3f1a;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;margin:0;font-family:Poppins,system-ui,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);line-height:1.15}h1{letter-spacing:-.055em;font-size:clamp(2.2rem,7vw,4.7rem)}h2{letter-spacing:-.035em;font-size:clamp(1.75rem,4vw,3rem)}h3{font-size:1.15rem}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}::selection{color:var(--navy);background:#bfe7ff}.skip-link{z-index:100;color:var(--white);background:var(--navy);padding:10px 14px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.container{width:min(1160px,100% - 40px);margin-inline:auto}.section{padding:72px 0}.section--ice{background:var(--ice)}.section--navy{color:var(--white);background:var(--navy)}.section--navy h2,.section--navy h3{color:var(--white)}.eyebrow{color:var(--orange);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:16px;font-size:.78rem;font-weight:800;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:24px;height:3px}.lede{max-width:680px;color:var(--muted);font-size:clamp(1rem,2vw,1.2rem)}.muted{color:var(--muted)}.kicker{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:700}.stack{gap:24px;display:grid}.cluster{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.split{gap:36px;display:grid}.grid{gap:20px;display:grid}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}.divider{background:#e4eaf0;border:0;height:1px;margin:24px 0}.site-header{z-index:30;background:#fffffff7;border-bottom:1px solid #cdcdcd8c;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:74px;display:flex}.brand{flex-shrink:0;align-items:center;display:inline-flex}.brand img{width:155px;height:auto}.desktop-nav{align-items:center;gap:4px;display:none}.nav-link{min-height:44px;color:var(--navy);align-items:center;padding:0 13px;font-size:.92rem;font-weight:600;display:inline-flex}.nav-link:hover,.nav-link[aria-current=page]{color:var(--blue)}.header-actions{align-items:center;gap:8px;display:none}.menu-button{border:1px solid var(--line);width:46px;height:46px;color:var(--navy);background:var(--white);cursor:pointer;border-radius:10px;place-items:center;display:inline-grid}.mobile-nav{background:var(--white);border-top:1px solid #e4eaf0;padding:8px 20px 20px}.mobile-nav .nav-link{width:100%;padding:8px 0}.mobile-nav .button{width:100%;margin-top:8px}.button{cursor:pointer;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:10px 18px;font-weight:700;line-height:1.1;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.button--primary{color:var(--white);background:var(--orange);box-shadow:0 9px 22px #ff3f0033}.button--primary:hover{background:#dd3700}.button--secondary{color:var(--white);background:var(--navy)}.button--secondary:hover{background:#113663}.button--outline{border-color:var(--navy);color:var(--navy);background:0 0}.button--outline:hover{color:var(--white);background:var(--navy)}.button--ghost{color:var(--navy);background:0 0}.button--danger{color:var(--danger);background:#fff7f6;border-color:#f0b9b2}.button--small{min-height:40px;padding:8px 13px;font-size:.87rem}.icon-button{cursor:pointer;border:0;border-radius:10px;place-items:center;width:44px;height:44px;display:inline-grid}.flash-region{z-index:50;width:min(420px,100% - 40px);position:fixed;top:88px;right:20px}.flash{color:var(--navy);background:var(--white);box-shadow:var(--shadow);border-radius:12px;align-items:flex-start;gap:12px;padding:15px 18px;display:flex}.flash--notice{border-left:5px solid var(--green)}.flash--alert{border-left:5px solid var(--orange)}.hero{min-height:680px;color:var(--white);background:var(--navy);align-items:center;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg,#081f3ff7 0%,#081f3fd4 48%,#081f3f33 100%),url(/vite/assets/welcome-bg-PrMUGJuX.jpg) 50%/cover;position:absolute;inset:0}.hero-inner{z-index:1;padding:84px 0;position:relative}.hero h1{max-width:790px;color:var(--white);margin-bottom:24px}.hero p{color:#dbeeff;max-width:640px;margin-bottom:32px;font-size:clamp(1.05rem,2vw,1.3rem)}.hero-stats{background:#fff3;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:580px;margin-top:48px;display:grid}.hero-stat{background:#081f3fd1;padding:18px 20px}.hero-stat strong{color:var(--white);font-size:1.3rem;display:block}.hero-stat span{color:#acdfff;font-size:.8rem}.page-hero{color:var(--white);background:var(--navy);padding:64px 0 50px}.page-hero h1{max-width:830px;color:var(--white);margin:0 0 18px;font-size:clamp(2.1rem,6vw,4rem)}.page-hero p{color:#dbeeff;max-width:720px;margin:0;font-size:1.08rem}.page-hero .eyebrow{color:#74ccff}.card{border-radius:var(--radius);background:var(--white);border:1px solid #e0e7ee;box-shadow:0 9px 30px #081f3f0f}.card-body{padding:24px}.feature-card{min-height:100%;padding:28px}.feature-icon{width:48px;height:48px;color:var(--white);background:var(--blue);border-radius:12px;place-items:center;margin-bottom:22px;display:grid}.feature-card:nth-child(2) .feature-icon{background:var(--orange)}.feature-card:nth-child(3) .feature-icon{background:var(--green)}.feature-card p{color:var(--muted);margin:0}.image-panel{border-radius:var(--radius);min-height:350px;box-shadow:var(--shadow);background-position:50%;background-size:cover}.race-card{flex-direction:column;min-height:100%;display:flex;overflow:hidden}.race-card-media{background:var(--navy);height:205px;position:relative;overflow:hidden}.race-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .28s}.race-card:hover .race-card-media img{transform:scale(1.025)}.race-card-status{z-index:4;position:absolute;top:14px;left:14px}.race-card-map-preview,.race-card-map-placeholder{background:#dceaf4;width:100%;height:100%;position:relative;overflow:hidden}.race-card-map-placeholder{background:linear-gradient(135deg,#dceaf4,#eef5f9)}.race-card-body{flex-direction:column;flex:1;padding:22px;display:flex}.race-card-body h3{margin-bottom:8px}.race-meta{color:var(--muted);gap:10px;margin:18px 0 22px;font-size:.9rem;display:grid}.race-meta span{align-items:center;gap:9px;display:flex}.race-card-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.badge{letter-spacing:.035em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.badge--active,.badge--registered,.badge--approved,.badge--settled{color:#124c13;background:#e0f5e1}.badge--draft,.badge--pending,.badge--pending-approval{color:#674600;background:#fff2c9}.badge--finished,.badge--cancelled{color:#4b5669;background:#edf0f3}.badge--error,.badge--failed,.badge--rejected{color:#862112;background:#fde6e2}.badge--upcoming,.badge--published{color:#07527f;background:#dff2fe}.race-card-slide{opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;position:absolute;inset:0;transform:translate(10px)}.race-card-slide.is-active{opacity:1;pointer-events:auto;transform:none}.race-card:hover .race-card-slide.is-active>img{transform:scale(1.025)}.race-card-carousel{z-index:4;align-items:center;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.race-card-carousel button{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid}.race-card-carousel button span{background:#081f3f7a;border:1px solid #ffffffe6;border-radius:50%;width:7px;height:7px;transition:width .18s,background .18s;box-shadow:0 1px 4px #081f3f4d}.race-card-carousel button.is-active span{background:var(--white);border-radius:99px;width:19px}.race-card-carousel button:focus-visible{outline:2px solid var(--white);outline-offset:-4px;border-radius:50%}.course-preview{background:#dce9f1;width:100%;height:100%;position:relative;overflow:hidden}.course-preview svg{width:100%;height:100%;display:block}.course-preview__grid path{fill:none;stroke:#9fb4c3;stroke-width:.7px;opacity:.62}.course-preview__shadow{fill:none;stroke:#081f3f47;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round}.course-preview__route{fill:none;stroke:var(--orange);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.course-preview__marker{fill:var(--white);stroke:var(--navy);stroke-width:3px}.course-preview__marker--finish{fill:var(--orange)}.course-preview__label{z-index:3;color:var(--navy);letter-spacing:.07em;text-transform:uppercase;background:#ffffffe6;border:1px solid #ffffffb8;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:800;position:absolute;top:14px;right:14px;box-shadow:0 2px 8px #081f3f29}.course-preview__fallback,.course-preview__photorealistic{transition:opacity .22s;position:absolute;inset:0}.course-preview__fallback{z-index:1}.course-preview__fallback.is-hidden{opacity:0;pointer-events:none}.course-preview__photorealistic{z-index:2;opacity:0}.course-preview__photorealistic.is-ready{opacity:1}.course-preview__photorealistic>gmp-map-3d{width:100%;height:100%;display:block}.course-preview__loading{z-index:3;color:var(--white);background:#081f3fe6;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:700;position:absolute;bottom:14px;left:14px}.race-cover-picker{min-height:190px;color:var(--navy);cursor:pointer;background:#f3f7fa;border:1px dashed #9fb1c0;border-radius:12px;place-items:center;transition:border-color .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden}.race-cover-picker:hover,.race-cover-picker:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px #081f3f14}.race-cover-picker>img{object-fit:cover;width:100%;height:240px}.race-cover-picker__empty{text-align:center;justify-items:center;gap:7px;padding:30px;display:grid}.race-cover-picker__empty small{color:var(--muted);font-weight:500}.race-cover-picker__action{min-height:44px;color:var(--white);background:var(--navy);box-shadow:var(--shadow);border-radius:9px;align-items:center;gap:7px;padding:9px 13px;font-size:.82rem;font-weight:800;display:flex;position:absolute;bottom:12px;right:12px}@media (prefers-reduced-motion:reduce){.race-card-slide,.race-card-media img,.race-card-carousel button span{transition:none}}.filters{margin-bottom:28px;padding:20px}.filter-grid{gap:16px;display:grid}.field{gap:7px;display:grid}.field label,.field-label{color:var(--navy);font-size:.86rem;font-weight:700}.input,.select,.textarea{width:100%;min-height:48px;color:var(--ink);background:var(--white);border:1px solid #b8c2cd;border-radius:9px;padding:11px 13px}.textarea{resize:vertical;min-height:130px}.input::placeholder,.textarea::placeholder{color:#7f8999}.input:focus,.select:focus,.textarea:focus{border-color:var(--blue);outline:3px solid #20a4f333}.field-error{color:var(--danger);margin:0;font-size:.8rem}.field-hint{color:var(--muted);font-size:.8rem}.checkbox-row{align-items:flex-start;gap:12px;min-height:44px;display:flex}.checkbox-row input{width:20px;height:20px;accent-color:var(--blue);margin-top:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.location-fields{background:var(--ice);border:1px solid #d8e2eb;border-radius:14px;grid-column:1/-1;min-width:0;margin:4px 0 0;padding:18px}.location-fields legend{color:var(--navy);padding:0 8px;font-size:.95rem;font-weight:800}.location-fields__intro{color:var(--muted);margin:0 0 16px;font-size:.82rem}.location-fields__grid{gap:18px;display:grid}.location-step{flex-direction:column;gap:7px;min-width:0;display:flex;position:relative}.location-step__label{color:var(--navy);align-items:center;gap:8px;font-size:.86rem;font-weight:700;display:flex}.location-step__number{width:24px;height:24px;color:var(--white);background:var(--navy);border-radius:50%;flex:0 0 24px;place-items:center;font-size:.72rem;font-weight:800;transition:background .18s;display:grid}.location-step--complete .location-step__number{background:var(--green)}.location-combobox{position:relative}.location-combobox__input{padding-right:70px}.location-combobox__input:disabled{cursor:not-allowed;color:#718096;background:#edf2f6}.location-derived__input{color:#52677d;background:#edf2f6}.location-combobox__actions{z-index:1;color:#60738a;pointer-events:none;align-items:center;gap:4px;height:48px;display:flex;position:absolute;top:0;right:12px}.location-combobox__clear{color:#53657a;cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:7px;place-items:center;width:32px;height:32px;padding:0;display:grid}.location-combobox__clear:hover{color:var(--navy);background:#e7f3fc}.location-combobox__menu{z-index:20;background:var(--white);border:1px solid #b9c8d6;border-radius:10px;width:100%;max-height:260px;padding:5px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 14px 35px #081f3f29}.location-combobox__option{min-height:48px;color:var(--navy);cursor:pointer;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:8px 11px;display:flex}.location-combobox__option span{min-width:0}.location-combobox__option strong{font-size:.88rem;display:block}.location-combobox__option small{color:var(--muted);font-size:.72rem;font-weight:600;display:block}.location-combobox__option--active{background:#e5f4fd}.location-combobox__message{min-height:48px;color:var(--muted);align-items:center;gap:8px;padding:10px;font-size:.82rem;display:flex}.location-combobox__message--error{color:var(--danger)}.location-combobox__message button{min-height:36px;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:7px;margin-left:auto;padding:5px 9px;font-weight:700}.location-combobox__spinner{animation:.8s linear infinite location-spin}.location-fields__source{color:var(--muted);margin:16px 0 0;font-size:.75rem}.location-fields__source a{text-underline-offset:2px;text-decoration:underline}.location-fields__source a:hover{color:var(--navy)}@keyframes location-spin{to{transform:rotate(360deg)}}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.metric-card{padding:20px}.metric-icon{color:var(--blue)}.metric-card strong{color:var(--navy);margin:10px 0 2px;font-size:clamp(1.3rem,4vw,2rem);display:block}.metric-card span{color:var(--muted);font-size:.8rem}.table-shell{border-radius:var(--radius);background:var(--white);border:1px solid #e0e7ee;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th{color:#486079;background:var(--ice);text-align:left;text-transform:uppercase;letter-spacing:.06em;padding:14px 16px;font-size:.75rem}.data-table td{vertical-align:middle;border-top:1px solid #e7ecf1;padding:16px}.data-table tr:hover td{background:#fbfdff}.competitor{align-items:center;gap:12px;font-weight:700;display:flex}.avatar{width:40px;height:40px;color:var(--white);background:var(--blue);border-radius:50%;flex:0 0 40px;place-items:center;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.rank{width:38px;color:var(--navy);text-align:center;font-size:1.15rem;font-weight:800}.movement{align-items:center;gap:4px;font-weight:700;display:inline-flex}.movement--up{color:#348136}.movement--down{color:var(--danger)}.tabs{border-bottom:1px solid #dfe6ec;gap:2px;display:flex;overflow-x:auto}.tab{min-height:46px;color:var(--muted);border-bottom:3px solid #0000;flex:none;align-items:center;padding:0 16px;font-size:.88rem;font-weight:700;display:inline-flex}.tab:hover,.tab--active{border-color:var(--blue);color:var(--navy)}.race-stats{margin:28px 0}.race-detail-grid{gap:28px;min-width:0;display:grid}.race-detail-map,.race-detail-content,.course-views,.course-views__terrain,.route-map-shell{min-width:0;max-width:100%}.map-placeholder{border-radius:var(--radius);min-height:360px;color:var(--white);background:var(--navy);place-items:center;display:grid;overflow:hidden}.map-placeholder img{object-fit:cover;opacity:.66;width:100%;height:100%}.race-aside{padding:24px}.definition-list{gap:0;margin:0;display:grid}.definition-list div{border-bottom:1px solid #e7ecf1;justify-content:space-between;gap:20px;padding:13px 0;display:flex}.definition-list dt{color:var(--muted)}.definition-list dd{min-width:0;color:var(--navy);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:700}.auth-page{background:var(--ice);place-items:center;min-height:calc(100vh - 74px);padding:48px 0;display:grid}.auth-card{text-align:center;width:min(520px,100% - 40px);padding:30px}.auth-card .brand-mark{width:64px;margin:0 auto 22px}.auth-primary-button{width:100%;margin:12px 0 18px}.auth-code-input{text-align:center;letter-spacing:.35em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.auth-note{color:var(--muted);font-size:.84rem}.steps{counter-reset:steps;background:#d7e0e9;gap:1px;display:grid}.step{background:var(--white);padding:30px 24px 30px 72px;position:relative}.step:before{width:34px;height:34px;color:var(--white);background:var(--blue);counter-increment:steps;content:counter(steps);border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;top:27px;left:24px}.step p{color:var(--muted);margin:0}.accordion{border-top:1px solid #dde5ec}.accordion details{border-bottom:1px solid #dde5ec}.accordion summary{min-height:60px;color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;gap:20px;font-weight:700;list-style:none;display:flex}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{color:var(--blue);content:"+";font-size:1.5rem}.accordion details[open] summary:after{content:"−"}.accordion details p{color:var(--muted);padding:0 30px 22px 0}.profile-layout,.dashboard-layout{gap:24px;display:grid}.profile-card{text-align:center;padding:24px}.profile-card .avatar{width:90px;height:90px;margin:0 auto 16px}.side-nav{gap:6px;padding:8px;display:flex;overflow-x:auto}.side-nav a{color:#53657a;border-radius:8px;flex:none;align-items:center;gap:10px;min-height:44px;padding:9px 13px;font-size:.86rem;font-weight:700;display:flex}.side-nav a:hover,.side-nav a[aria-current=page]{color:var(--navy);background:var(--ice)}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:28px;display:flex}.admin-header h1{margin:0;font-size:clamp(2rem,5vw,3rem)}.admin-table-actions{gap:6px;display:flex}.activity-item{border-bottom:1px solid #e2e8ee;gap:16px;padding:20px;display:grid}.activity-item:last-child{border-bottom:0}.activity-result{color:var(--navy);font-size:1.25rem;font-weight:800}.status-timeline{gap:0;margin:24px 0;display:grid}.status-step{grid-template-columns:34px 1fr;gap:14px;min-height:74px;display:grid;position:relative}.status-step:before{content:"";background:#dbe2e9;width:2px;position:absolute;top:34px;bottom:0;left:16px}.status-step:last-child:before{display:none}.status-dot{color:#6f7a89;background:var(--white);border:2px solid #c7d0d9;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.status-step--complete .status-dot{border-color:var(--green);color:var(--white);background:var(--green)}.status-step h3{margin:3px 0 4px;font-size:1rem}.status-step p{color:var(--muted);font-size:.84rem}.empty-state{border-radius:var(--radius);text-align:center;background:var(--ice);border:1px dashed #bdc8d2;padding:56px 24px}.empty-state svg{color:var(--blue)}.empty-state h3{margin:14px 0 8px}.pagination{justify-content:center;align-items:center;gap:8px;margin-top:30px;display:flex}.pagination a,.pagination span{border:1px solid #ccd5dd;border-radius:8px;place-items:center;min-width:44px;min-height:44px;font-weight:700;display:grid}.pagination .is-current{border-color:var(--navy);color:var(--white);background:var(--navy)}.pagination .is-disabled{color:#9ba4ae;pointer-events:none}.cta-band{border-radius:var(--radius);color:var(--white);background:var(--blue);gap:24px;padding:34px;display:grid}.cta-band h2,.cta-band p{color:var(--white);margin:0}.team-card{overflow:hidden}.team-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.team-card .card-body p{color:var(--muted)}.legal-copy{max-width:780px}.legal-copy h2{margin-top:42px;font-size:1.55rem}.legal-copy li,.legal-copy p{color:#42536a}.site-footer{color:#dbe7f4;background:#061832;padding:50px 0 28px}.footer-grid{gap:34px;display:grid}.footer-brand img{filter:brightness(0)invert();width:150px}.footer-brand p{color:#9fb1c5;max-width:360px;margin-top:18px}.footer-links{gap:9px;display:grid}.footer-links strong{color:var(--white);margin-bottom:5px}.footer-links a{color:#b9c9d8;min-height:35px}.footer-links a:hover{color:var(--blue)}.footer-bottom{color:#8fa1b6;border-top:1px solid #29405c;margin-top:38px;padding-top:24px;font-size:.8rem}.route-map-shell{border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);border:1px solid #dbe4ec;overflow:hidden}.route-map{background:#dceaf4;width:100%;max-width:100%;min-height:380px}.route-map-caption{min-height:44px;color:var(--muted);align-items:center;gap:8px;padding:8px 14px;font-size:.78rem;display:flex}.route-map-caption svg{flex:none}.route-map-shell--compact{width:100%;height:100%;box-shadow:none;border:0;border-radius:0}.route-map--compact{height:100%;min-height:0}.map-config-error{border-radius:var(--radius);color:#862112;background:#fff7f5;border:1px solid #f2b8ad;justify-content:center;align-items:center;gap:14px;min-height:260px;padding:28px;display:flex}.map-config-error p{color:#862112;margin:4px 0 0}.map-config-error--compact{border:0;border-radius:0;width:100%;height:100%;min-height:0;padding:18px;font-size:.76rem}.map-config-error--compact svg{flex:none}.economics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.economics-item{text-align:center;background:var(--ice);border:1px solid #e0e7ee;border-radius:10px;padding:14px 10px}.economics-item strong{color:var(--navy);font-size:1.2rem;display:block}.economics-item span{color:var(--muted);font-size:.72rem}.course-views{gap:10px;display:grid}.course-views__switch{background:#eaf0f5;border:1px solid #cfdae3;border-radius:12px;gap:5px;width:max-content;max-width:100%;padding:5px;display:flex}.course-views__switch button{color:#53677d;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:8px 14px;font-weight:800;display:flex}.course-views__switch button.is-active{color:var(--white);background:var(--navy);box-shadow:0 4px 12px #081f3f2e}.course-views__switch button:disabled{cursor:not-allowed;opacity:.45}.course-views__switch button:focus-visible{outline-offset:2px;outline:3px solid #20a4f352}.course-views__terrain{border-radius:var(--radius);height:clamp(360px,48vw,520px);box-shadow:var(--shadow);background:#dceaf4;border:1px solid #dbe4ec;overflow:hidden}.course-preview__loading--error{color:#862112;background:#fff7f5f0}.race-form-shell{max-width:1120px;margin:0 auto}.race-form-stack{gap:22px;display:grid}.race-form-section{padding:clamp(20px,4vw,32px)}.race-form-section__heading{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.race-form-section__heading h2{margin:0 0 4px;font-size:clamp(1.3rem,3vw,1.7rem)}.race-form-section__heading p{color:var(--muted);margin:0}.race-form-section__number{width:34px;height:34px;color:var(--white);background:var(--navy);border-radius:50%;flex:0 0 34px;place-items:center;font-size:.9rem;font-weight:800;display:grid}.course-activity{max-width:260px;margin:0 0 18px}.course-builder{background:#f7fafc;border:1px solid #cfdbe5;border-radius:16px;overflow:hidden}.course-builder__top{background:var(--white);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 22px 16px;display:flex}.course-builder__top .eyebrow{margin-bottom:8px}.course-builder__top h2{margin:0 0 5px;font-size:1.3rem}.course-builder__top p{max-width:650px;color:var(--muted);margin:0;font-size:.9rem}.course-builder__stats{text-align:right;background:var(--navy);border-radius:12px;min-width:130px;padding:10px 14px}.course-builder__stats strong,.course-builder__stats span{display:block}.course-builder__stats strong{color:var(--white);font-variant-numeric:tabular-nums;font-size:1.2rem}.course-builder__stats span{color:#aed8f5;font-size:.72rem}.course-builder__toolbar{background:#eef3f7;border-top:1px solid #e2e8ee;border-bottom:1px solid #cbd8e3;gap:10px;padding:12px;display:grid}.route-mode{grid-template-columns:1fr 1fr;gap:6px;display:grid}.route-mode button{color:#4c6076;background:var(--white);cursor:pointer;border:1px solid #b8c8d5;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:9px 12px;font-weight:700;display:flex}.route-mode button.is-active{border-color:var(--navy);color:var(--white);background:var(--navy);box-shadow:0 5px 14px #081f3f2e}.course-search{gap:7px;display:flex}.course-search .input{min-width:0}.course-builder__actions{align-items:center;gap:6px;display:flex}.course-builder__actions .icon-button{color:var(--navy);background:var(--white);border:1px solid #c5d1dc}.course-builder__actions .icon-button:disabled{cursor:not-allowed;opacity:.42}.course-builder__clear{color:var(--danger)!important;margin-left:auto!important}.course-builder__map-wrap{background:#dce8ef;min-height:500px;position:relative}.course-builder__map{position:absolute;inset:0}.course-builder__map-error{z-index:4;text-align:center;color:#862112;background:#fff6f4;align-content:center;justify-items:center;gap:7px;padding:30px;display:grid;position:absolute;inset:0}.course-builder__map-error strong{font-size:1.1rem}.course-builder__map-error span{color:#7a3d34;max-width:560px}.course-builder__map-wrap.is-routing:after{content:"";pointer-events:none;background:#ffffff2e;position:absolute;inset:0}.course-builder__loading{z-index:2;color:var(--white);background:var(--navy);box-shadow:var(--shadow);border-radius:999px;padding:10px 15px;font-size:.82rem;font-weight:700;position:absolute;top:18px;left:50%;transform:translate(-50%)}.course-builder__hint{z-index:1;width:min(330px,100% - 32px);color:var(--navy);box-shadow:var(--shadow);pointer-events:none;background:#fffffff0;border:1px solid #ffffffb3;border-radius:12px;grid-template-columns:auto 1fr;gap:2px 10px;padding:13px 15px;display:grid;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.course-builder__hint svg{color:var(--orange);grid-row:1/3;align-self:center}.course-builder__hint span{color:var(--muted);font-size:.76rem}.course-builder__legend{color:#53677d;background:var(--white);flex-wrap:wrap;gap:12px 22px;padding:12px 18px;font-size:.76rem;font-weight:700;display:flex}.course-builder__legend span{align-items:center;gap:7px;display:flex}.legend-line{border-radius:99px;width:28px;height:4px;display:inline-block}.legend-line--road{background:var(--orange)}.legend-line--direct{background:repeating-linear-gradient(90deg,var(--navy) 0 5px,transparent 5px 9px)}.legend-dot{border:2px solid var(--white);border-radius:50%;width:11px;height:11px;display:inline-block;box-shadow:0 0 0 1px #8796a7}.legend-dot--start{background:var(--green)}.legend-dot--finish{background:var(--orange)}.course-builder__message{color:#765800;background:#fff9df;border-top:1px solid #e1e8ee;margin:0;padding:12px 18px;font-size:.82rem}.course-builder__message--error{color:#862112;background:#fff2ef}.course-builder__help{color:var(--muted);background:#f8fafc;border-top:1px solid #e1e8ee;margin:0;padding:14px 18px;font-size:.82rem}.race-form-footer{z-index:18;background:#fffffff7;border:1px solid #cad6df;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex;position:sticky;bottom:12px;box-shadow:0 15px 42px #081f3f2b}.race-form-footer>div:first-child strong,.race-form-footer>div:first-child span{display:block}.race-form-footer>div:first-child strong{color:var(--navy)}.race-form-footer>div:first-child span{color:var(--muted);font-size:.78rem}@media (width>=640px){.container{width:min(1160px,100% - 64px)}.grid--2,.grid--3,.grid--4,.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-stats,.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-item{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(90px,.5fr));align-items:center}.footer-grid{grid-template-columns:2fr 1fr 1fr}.cta-band{grid-template-columns:1fr auto;align-items:center}.location-fields__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.location-fields__grid .location-step:first-child{grid-column:1/-1}.course-builder__toolbar{grid-template-columns:minmax(290px,.8fr) minmax(260px,1.2fr);align-items:center}.course-builder__actions{grid-column:1/-1}.route-mode{min-width:290px}.race-form-footer .cluster{justify-content:flex-end}}@media (width>=768px) and (width<=899px){.race-detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);grid-template-areas:"map aside""content content";align-items:start}.race-detail-map{grid-area:map}.race-detail-content{grid-area:content}.race-detail-grid>.race-aside{grid-area:aside}}@media (width<=639px){.course-builder__map-wrap{min-height:420px}.course-builder__map-wrap.has-error{min-height:300px}.course-search{grid-column:1/-1}.course-builder__actions{flex-wrap:wrap;justify-content:flex-start}.course-builder__add-center{width:100%}.race-form-footer{position:static;box-shadow:0 8px 24px #081f3f17}.race-form-footer,.race-form-footer .cluster{width:100%}.race-form-footer .button{flex:1}.race-form-footer .button--ghost{flex:none}}@media (width>=900px){.section{padding:96px 0}.desktop-nav,.header-actions{display:flex}.menu-button,.mobile-nav{display:none}.split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:70px}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.race-detail-grid{grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);grid-template-areas:"map aside""content aside";align-items:start}.race-detail-map{grid-area:map}.race-detail-content{grid-area:content}.race-detail-grid>.race-aside{grid-area:aside;position:sticky;top:98px}.profile-layout{grid-template-columns:280px minmax(0,1fr);align-items:start}.dashboard-layout{grid-template-columns:220px minmax(0,1fr);align-items:start}.side-nav{display:grid;position:sticky;top:98px;overflow:visible}.side-nav a{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.course-builder .button--small{min-height:44px}.course-builder .route-mode,.course-builder .course-search,.course-builder__actions{gap:8px}.course-builder__toolbar{background:#f3f7fa;gap:12px}.route-mode{gap:8px}.route-mode button{text-align:left;background:#fff;border-color:#c8d5df;justify-content:flex-start;min-height:72px;padding:12px 14px}.route-mode button>span,.course-import>span{gap:3px;min-width:0;display:grid}.route-mode button strong,.route-mode button small,.course-import strong,.course-import small{display:block}.route-mode button small,.course-import small{color:#64768a;font-size:.72rem;font-weight:500;line-height:1.35}.route-mode button.is-active small{color:#c7d9e9}.course-import{min-height:72px;color:var(--navy);cursor:pointer;background:#fff;border:1px dashed #9fb1c0;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s,background .16s,box-shadow .16s;display:flex}.course-import:hover,.course-import:focus-within{border-color:var(--navy);background:#f9fbfd;box-shadow:0 0 0 3px #081f3f14}.course-import.is-loading{cursor:progress;opacity:.7}.course-import__preview{color:var(--navy);background:#fff;border:1px solid #cbd7e1;border-radius:10px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.course-import__preview>svg{color:var(--navy)}.course-import__preview strong,.course-import__preview span,.course-import__preview small{display:block}.course-import__preview span,.course-import__preview small{color:var(--muted);margin-top:2px;font-size:.76rem;line-height:1.4}.course-import__preview-actions{align-items:center;gap:8px;display:flex}.course-import__preview .icon-button{color:var(--navy);background:#fff;border:1px solid #c5d1dc}.course-search{grid-column:1/-1}.course-builder__actions{padding-top:2px}.course-builder__action-divider{background:#c6d2dc;width:1px;height:28px;margin:0 2px}.course-point-panel{color:var(--navy);background:#f7fafc;border-bottom:1px solid #dbe3ea;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.course-point-panel>svg{color:var(--navy)}.course-point-panel strong,.course-point-panel span{display:block}.course-point-panel span{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:.72rem}.course-point-panel .icon-button{color:var(--navy);background:#fff;border:1px solid #c5d1dc}.legend-line--trace,.legend-dot--start{background:var(--navy)}.course-builder__message--import{color:var(--navy);background:#eef4f8}@media (width<=639px){.course-builder__top{padding:18px 16px 14px}.course-builder__stats{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.course-builder__toolbar{padding:10px}.route-mode{grid-template-columns:1fr}.course-import__preview{grid-template-columns:auto minmax(0,1fr)}.course-import__preview-actions{grid-column:1/-1}.course-import__preview-actions .button{flex:1}.course-point-panel{grid-template-columns:auto minmax(0,1fr) auto}.course-point-panel .button{grid-column:1/-1;width:100%}.course-builder__action-divider{display:none}.course-builder__actions .icon-button{flex:0 0 44px}.course-builder__clear{margin-left:0!important}.course-builder__map-wrap{min-height:460px}}.course-builder__map-wrap .course-point-panel{z-index:3;width:min(620px,100% - 32px);box-shadow:var(--shadow);background:#fffffff5;border:1px solid #ffffffd9;border-radius:12px;position:absolute;top:60px;bottom:auto;left:50%;transform:translate(-50%)}.tries-link{min-width:44px;min-height:44px;color:var(--blue);text-underline-offset:3px;border-radius:8px;place-items:center;font-weight:800;text-decoration:underline;display:inline-grid}.tries-link:hover{color:var(--navy);background:var(--ice)}.try-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0;display:grid}.try-list{gap:14px;display:grid}.try-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:18px;display:grid;position:relative;overflow:hidden}.try-card--best{border-color:#a9dbaa;box-shadow:0 9px 30px #5cbb5e1f}.try-card--best:before{background:var(--green);content:"";width:5px;height:100%;position:absolute;top:0;left:0}.try-card__place{width:54px;height:54px;color:var(--white);background:var(--navy);border-radius:13px;align-content:center;place-items:center;line-height:1.1;display:grid}.try-card__place span{text-transform:uppercase;font-size:.65rem;font-weight:700}.try-card__place strong{font-size:1.15rem}.try-card__main{gap:6px;min-width:0;display:grid}.try-card__main .muted{align-items:center;gap:7px;font-size:.82rem;display:flex}.try-card__time{color:var(--navy);font-variant-numeric:tabular-nums;font-size:clamp(1.35rem,5vw,1.8rem);line-height:1.1}.try-card__route{color:#53677d;align-items:center;gap:5px;font-size:.75rem;font-weight:700;display:inline-flex}.try-card__action{grid-column:1/-1;width:100%}.try-back-link{min-height:44px;color:var(--navy);align-items:center;gap:7px;margin:20px 0;font-weight:700;display:inline-flex}.try-back-link:hover{color:var(--blue)}.try-detail-stats{margin-bottom:28px}.try-detail-grid{gap:24px;display:grid}.try-section-title{margin-bottom:12px;font-size:clamp(1.45rem,4vw,1.8rem)}.try-detail-aside h2{font-size:1.35rem}.try-timeline{margin:22px 0 0}.try-timeline svg{width:100%;height:auto;display:block;overflow:visible}.try-timeline__grid line{stroke:#dbe4ec;stroke-width:1px}.try-timeline__line{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.try-timeline__line--speed{stroke:var(--blue)}.try-timeline__line--altitude{stroke:var(--orange);stroke-width:3px}.try-timeline figcaption{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;font-size:.72rem;display:flex}.try-timeline__legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:flex}.try-timeline__key{border-radius:99px;width:18px;height:3px;display:inline-block}.try-timeline__key--speed{background:var(--blue)}.try-timeline__key--altitude{background:var(--orange);margin-left:6px}.try-timeline__empty{min-height:150px;color:var(--muted);text-align:center;background:var(--ice);border:1px dashed #bdc8d2;border-radius:12px;place-items:center;padding:24px;display:grid}@media (width>=640px){.try-summary-grid{max-width:570px}.try-card{grid-template-columns:auto minmax(0,1fr) auto;padding:20px 22px}.try-card__action{grid-column:auto;width:auto}.try-detail-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,.7fr);align-items:start}.try-detail-aside{position:sticky;top:98px}}@media (width<=639px){.race-show-section{padding:40px 0}.race-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:visible}.race-tabs .tab{text-align:center;justify-content:center;min-width:0;padding:0 8px}.race-stats{margin:22px 0}.race-detail-grid{gap:20px}.race-aside{padding:20px}.course-views__switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.course-views__switch button{min-width:0;padding:8px}.course-views__terrain{height:clamp(280px,88vw,360px)}.route-map:not(.route-map--compact){min-height:clamp(280px,88vw,360px)}.route-map--compact{height:100%;min-height:0}.definition-list div{gap:12px}.economics-grid{gap:6px}.economics-item{padding:12px 6px}.try-summary-grid .metric-card{padding:16px}.try-card__main .cluster{gap:7px}.try-card__place{width:48px;height:48px}.try-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.try-detail-stats .metric-card{padding:15px}.try-detail-stats .metric-card strong{font-size:1.2rem}.try-timeline{margin-inline:-8px}.try-timeline figcaption{padding-inline:8px}}
