:root{--navy:#071426;--navy2:#0b1d35;--panel:#102842;--coral:#ff6846;--sky:#44bdf2;--gold:#f6c453;--cream:#fff5dd;--magenta:#d94f9d;--ink:#101a2b;--muted:#607083;--paper:#f7f1e4;--white:#fffdf7;--line:#cdd7dc;--focus:#169de0;--max:1240px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-size:17px;line-height:1.55;overflow-x:hidden;background:var(--paper)}a{color:inherit;text-decoration-thickness:2px;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}.skip{position:fixed;top:-6rem;left:1rem;background:var(--cream);color:var(--navy);padding:.8rem 1rem;z-index:100}.skip:focus{top:1rem}.course-progress{position:fixed;top:0;left:0;right:0;height:4px;background:#172943;z-index:60}.course-progress span{display:block;width:var(--scroll,0%);height:100%;background:linear-gradient(90deg,var(--sky),var(--coral),var(--gold))}.course-progress i{position:absolute;left:calc(var(--scroll,0%) - 7px);top:-3px;width:10px;height:10px;background:var(--cream);box-shadow:4px 0 var(--coral),0 4px var(--coral);image-rendering:pixelated}.site-header{height:78px;display:flex;align-items:center;gap:2rem;padding:0 max(22px,calc((100% - var(--max))/2));background:rgba(7,20,38,.97);color:var(--cream);border-bottom:2px solid #1e3b59;position:sticky;top:0;z-index:50;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}.brand img,.footer-brand img{image-rendering:pixelated}.brand b{display:block;font-size:1.22rem;letter-spacing:-.02em}.brand small{display:block;color:#91cfea;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;margin-top:.1rem}.site-header nav{display:flex;align-items:center;gap:1.4rem}.site-header nav a{text-decoration:none;font-size:.88rem;font-weight:720}.site-header nav a:hover{color:var(--sky)}.site-header nav span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 .3rem;background:var(--coral);color:#fff;border-radius:2px}.header-search{margin-left:auto;background:var(--coral);color:#fff;text-decoration:none;font-weight:850;padding:.65rem 1rem;box-shadow:4px 4px 0 #421e2a}.menu-toggle{display:none;background:transparent;color:var(--cream);border:1px solid #496078;padding:.55rem .75rem}.hero{position:relative;isolation:isolate;min-height:700px;max-width:none!important;padding:74px max(24px,calc((100% - var(--max))/2)) 52px!important;background:linear-gradient(90deg,rgba(7,20,38,.98) 0%,rgba(7,20,38,.88) 48%,rgba(7,20,38,.18) 77%),url('/art/start-line.svg') center bottom/cover no-repeat;color:var(--cream);overflow:hidden}.hero:after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:160px;background:url('/art/course-strip.svg') center bottom/auto 160px repeat-x;opacity:.28;animation:courseMove 28s linear infinite}.hero h1,.results-head h1,.event h1,.legal h1{font-family:Georgia,serif;font-size:clamp(3.2rem,7vw,6.5rem);font-weight:500;letter-spacing:-.045em;line-height:.92;max-width:820px;margin:.12em 0 .2em}.hero-copy{max-width:680px;font-size:1.15rem;color:#c9dfec}.kicker,.eyebrow{font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--coral)}.hero .kicker{display:inline-block;background:var(--coral);color:#fff;padding:.4rem .58rem;box-shadow:4px 4px 0 #3e1d29}.search{display:grid;grid-template-columns:minmax(220px,2fr) .82fr .82fr 1fr .8fr .8fr;gap:2px;margin-top:30px;background:#223d59;border:2px solid #294c6b;box-shadow:8px 8px 0 rgba(0,0,0,.32);position:relative}.search label{background:var(--white);padding:.65rem .75rem;min-width:0;color:var(--ink)}.search label span{display:block;color:var(--muted);font-size:.66rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.search input,.search select{width:100%;border:0;background:transparent;color:var(--ink);min-height:38px;padding:.25rem 0}.search button{border:0;min-height:56px;font-weight:850;padding:.7rem 1rem}.search-submit{background:var(--coral);color:white}.near{background:var(--sky);color:var(--navy)}.more-filters{display:none;background:var(--panel);color:var(--cream)}.start-lights{position:absolute;right:10px;top:-23px;display:flex;gap:6px}.start-lights i{width:12px;height:12px;background:#3c4f5d;box-shadow:2px 2px 0 #000}.search.is-starting .start-lights i:nth-child(1){background:var(--coral)}.search.is-starting .start-lights i:nth-child(2){background:var(--gold)}.search.is-starting .start-lights i:nth-child(3){background:var(--sky)}.location{position:relative}.suggestions{position:absolute;left:-2px;right:-2px;top:100%;background:var(--white);box-shadow:8px 10px 0 #07142666;z-index:20}.suggestions button{width:100%;display:flex;justify-content:space-between;background:var(--white);color:var(--ink);border:0;border-bottom:1px solid var(--line);padding:.75rem}.geo-status{grid-column:1/-1;margin:0;background:var(--navy);color:#c9dfec;padding:0 .7rem}.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;max-width:980px}.chips a{background:var(--cream);color:var(--navy);border:0;text-decoration:none;font-size:.82rem;font-weight:850;padding:.55rem .8rem;box-shadow:3px 3px 0 var(--coral);transition:transform .15s}.chips a:hover{transform:translate(-2px,-2px)}main>section,.crumbs,.event,.notice{max-width:var(--max);margin-inline:auto;padding-inline:24px}section{padding-top:72px;padding-bottom:72px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.section-head h2,section>h2,.event h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,3.7rem);font-weight:500;line-height:1;margin:.1rem 0}.race-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.race-card{position:relative;background:var(--white);border:2px solid var(--navy);box-shadow:6px 6px 0 #93a7ac;overflow:hidden;transition:transform .16s,box-shadow .16s}.race-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 #789099}.bib-top{display:flex;justify-content:space-between;background:var(--navy);color:var(--cream);padding:.42rem .65rem;font:800 .66rem/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.12em}.bib-top b{color:var(--sky)}.race-card-body{display:grid;grid-template-columns:62px 1fr auto;gap:1rem;padding:1.1rem}.race-card time{border-right:2px dashed #b9c5c9;text-align:center}.race-card time b{display:block;color:var(--coral);font-size:.68rem;text-transform:uppercase}.race-card time span{display:block;font:500 1.7rem/1 Georgia,serif;margin-top:.2rem}.race-card h3{margin:.08rem 0 .35rem;font-size:1.08rem;line-height:1.25}.race-card p{margin:.1rem 0}.race-card .eyebrow{font-size:.64rem}.distances{font-size:.82rem;color:var(--muted)}.view-event{display:inline-block;margin-top:.65rem;color:#245f81;font-size:.8rem;font-weight:850}.save,.share,.secondary{border:2px solid var(--navy);background:var(--cream);color:var(--navy);font-weight:850;padding:.45rem .65rem;align-self:start;min-height:42px}.save.active{background:var(--gold);box-shadow:3px 3px 0 var(--coral)}.dark{position:relative;max-width:none!important;background:var(--navy);color:var(--cream);padding:216px max(24px,calc((100% - var(--max))/2)) 78px!important;overflow:hidden}.dark:before{content:"";position:absolute;top:0;left:0;right:0;height:160px;background:url('/art/course-strip.svg') center/auto 160px repeat-x;image-rendering:pixelated}.type-grid{display:grid;grid-template-columns:repeat(5,1fr);border:2px solid #34506a}.type-grid a{min-height:154px;display:flex;flex-direction:column;padding:1rem;text-decoration:none;border-right:1px solid #34506a;border-bottom:1px solid #34506a;background:linear-gradient(160deg,#102842,#0a1c30);transition:background .15s}.type-grid a:hover{background:#173c5b}.type-grid span{font:800 .66rem ui-monospace,monospace;color:var(--sky)}.type-grid strong{font-size:1.05rem;margin-top:auto}.type-grid small{color:#9fc4d7}.link-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--navy)}.link-grid a{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:.7rem;border-bottom:1px solid #bcc9ca;text-decoration:none}.link-grid a:hover{background:var(--white)}.link-grid b{display:grid;place-items:center;min-width:38px;height:28px;background:var(--navy);color:var(--sky);font:800 .72rem ui-monospace,monospace}.states{grid-template-columns:repeat(6,1fr)}#states{position:relative}#states:before{content:"USA COURSE MAP";display:block;width:max-content;margin-bottom:1rem;background:var(--gold);padding:.35rem .55rem;box-shadow:4px 4px 0 var(--navy);font:900 .7rem ui-monospace,monospace;letter-spacing:.1em}.alerts{max-width:none!important;display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;padding:220px max(24px,calc((100% - var(--max))/2)) 80px!important;background:var(--navy) url('/art/finish-line.svg') center top/auto 300px no-repeat;color:var(--cream)}.alert-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:var(--white);color:var(--ink);padding:1.25rem;border:3px solid var(--gold);box-shadow:8px 8px 0 #0008}.alert-form label{font-size:.72rem;font-weight:850}.alert-form input,.alert-form select{display:block;width:100%;margin-top:.3rem;padding:.68rem;border:1px solid var(--line);background:#fff}.alert-form button{border:0;background:var(--coral);color:#fff;font-weight:850;padding:.8rem}.alert-form p{grid-column:1/-1;color:var(--muted);font-size:.8rem}.results-head{position:relative;max-width:none!important;padding:74px max(24px,calc((100% - var(--max))/2)) 30px!important;background:var(--navy);color:var(--cream);border-bottom:10px solid var(--sky)}.results-head:after{content:"";position:absolute;right:max(20px,calc((100% - var(--max))/2));top:42px;width:180px;height:76px;background:linear-gradient(#071426,#071426) padding-box;border:4px solid var(--gold);box-shadow:5px 5px 0 #000;color:var(--gold)}.results-head h1{font-size:clamp(3rem,6vw,5.2rem)}.results-head>p:not(.kicker){color:#b9d2df}.results-head .search{max-width:var(--max)}.active-filters{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:1rem}.active-filters b{background:var(--cream);color:var(--navy);padding:.35rem .5rem;font:800 .72rem ui-monospace,monospace}.active-filters a{color:var(--sky);font-weight:850}.pager{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:2.5rem;background:var(--navy);color:var(--cream);padding:1rem;border-bottom:6px solid var(--sky)}.pager:before{content:"🏃";position:absolute;left:calc(var(--page-progress,50%) - 12px);top:-26px}.pager>*:last-child{text-align:right}.empty{position:relative;border:3px dashed #82969e;padding:4rem 2rem;text-align:center;background:var(--white)}.empty:before{content:"NO RACES AT THIS CHECKPOINT";display:block;color:var(--coral);font:900 .68rem ui-monospace,monospace;letter-spacing:.1em}.crumbs{padding-top:1.5rem;color:var(--muted);font-size:.82rem}.event{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:5rem;padding-top:2.2rem}.event:before{content:"ILLUSTRATIVE COURSE ARTWORK · CONFIRM DETAILS WITH THE ORGANIZER";grid-column:1/-1;display:block;min-height:150px;padding:106px 1rem 1rem;background:var(--navy) url('/art/course-strip.svg') center/auto 160px repeat-x;color:var(--cream);font:900 .68rem ui-monospace,monospace;letter-spacing:.08em;border:3px solid var(--navy)}.event h1{font-size:clamp(3rem,6vw,5.2rem)}.event-date{font-size:1.18rem;font-weight:800}.event-main{min-width:0}.event aside{align-self:start;background:var(--white);border:3px solid var(--navy);box-shadow:8px 8px 0 #91a6ac;padding:1.2rem}.event aside>*{display:block;width:100%;margin-bottom:1rem}.register{background:var(--coral);color:#fff;text-align:center;text-decoration:none;font-weight:900;padding:.85rem;box-shadow:4px 4px 0 var(--navy)}.disclosure{font-size:.76rem;color:var(--muted)}dt{color:#507089;font:900 .68rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}dd{margin:0 0 1rem}.prose{max-width:72ch}.prose img{max-width:100%}.notice{margin-top:2rem;margin-bottom:3rem;padding-top:1rem;padding-bottom:1rem;border-left:5px solid var(--gold);background:var(--white)}.danger{border-color:#c92e3f}.legal{min-height:55vh}.site-footer{padding:58px max(24px,calc((100% - var(--max))/2));background:#030b15;color:#d9e9ef;display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:8px solid var(--coral)}.footer-brand{display:flex;align-items:center;gap:1rem}.footer-brand strong{font-size:1.35rem}.footer-brand p{margin:.15rem 0;color:var(--sky);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.site-footer nav{display:flex;flex-wrap:wrap;gap:1rem 1.4rem}.site-footer small{grid-column:1/-1;color:#91a8b5}.loading-track{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);display:flex;align-items:center;gap:.8rem;background:var(--navy);color:var(--cream);border:2px solid var(--sky);padding:.65rem 1rem;z-index:100;transition:transform .18s}.loading-track.active{transform:translate(-50%,0)}.loading-track i{width:12px;height:18px;background:var(--coral);box-shadow:8px -6px var(--cream),8px 6px var(--sky);animation:runnerStep .35s steps(2) infinite}.loading-track span{font-size:.78rem;font-weight:800}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@keyframes courseMove{to{background-position-x:-1200px}}@keyframes runnerStep{50%{transform:translateY(-3px)}}@media(max-width:1050px){.search{grid-template-columns:2fr 1fr 1fr}.type-grid{grid-template-columns:repeat(3,1fr)}.states{grid-template-columns:repeat(4,1fr)}.site-header nav{gap:.8rem}.results-head:after{display:none}}@media(max-width:780px){body{font-size:16px}.site-header{height:68px}.brand small,.header-search{display:none}.menu-toggle{display:block;margin-left:auto}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--navy);padding:1rem 22px;border-bottom:3px solid var(--sky);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{min-height:44px;display:flex;align-items:center;justify-content:space-between}.hero{min-height:650px;padding-top:40px!important;background:linear-gradient(rgba(7,20,38,.92),rgba(7,20,38,.7)),url('/art/start-line.svg') 62% bottom/auto 520px no-repeat}.hero-copy{font-size:1rem}.search{grid-template-columns:1fr 1fr}.search .location,.search .geo-status,.search .more-filters{grid-column:1/-1}.optional-control{display:none}.search.filters-open .optional-control{display:block}.more-filters{display:block}.search label{padding:.5rem .65rem}.search input,.search select{min-height:34px}.search button{min-height:48px}.race-list,.alerts,.event{grid-template-columns:1fr}.race-card-body{grid-template-columns:54px minmax(0,1fr)}.race-card .save{grid-column:2;justify-self:start}.type-grid,.link-grid,.states{grid-template-columns:1fr 1fr}.alerts{gap:2rem;padding-top:190px!important}.event{gap:2rem}.site-footer{grid-template-columns:1fr}}@media(max-width:430px){.hero h1{font-size:2.7rem}.hero{min-height:650px;padding-inline:18px!important;padding-bottom:34px!important}.chips{gap:.38rem}.chips a{font-size:.7rem;padding:.45rem .58rem}.type-grid,.link-grid,.states,.alert-form{grid-template-columns:1fr}.race-list{gap:14px}.race-card{box-shadow:4px 4px 0 #93a7ac}.race-card-body{padding:.9rem}.event:before{margin-inline:-6px}.empty{padding:3rem 1rem}.loading-track{width:calc(100% - 28px);justify-content:center}.site-footer{padding-inline:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.course-progress i,.loading-track i{display:none}.hero:after{background-position:center}}
.header-search,.search-submit,.alert-form button,.register,.hero .kicker{color:var(--navy)!important}.results-head:after{content:"LIVE\A CACHED NATIONAL INVENTORY"!important;display:grid!important;place-items:center;white-space:pre;text-align:center;color:var(--gold);font:900 .68rem/1.7 ui-monospace,monospace;letter-spacing:.08em}@media(prefers-reduced-motion:reduce){.hero:after{animation:none!important}}

/* Living race-world enhancement */
:root{--coral:#ff7252;--sky:#56cfff;--gold:#ffd15c;--cream:#f8fbf7;--magenta:#f05aad;--world-scroll:0;--scene-shift:0px}
html.animations-paused *{animation-play-state:paused!important}
body{font-size:18px}.site-header{height:84px}.brand b{font-size:1.42rem}.brand small{font-size:.7rem}.site-header nav a{font-size:1rem;min-height:46px;display:flex;align-items:center}.header-search{padding:.78rem 1.15rem;font-size:1rem}.course-progress{height:7px}.course-progress .pixel-runner{top:-12px}
.pixel-runner{position:relative;display:inline-block;width:18px;height:24px;background:var(--coral);box-shadow:6px -8px 0 #8c553c,6px -12px 0 #241b28,9px 5px 0 var(--sky),-4px 10px 0 var(--gold),8px 15px 0 var(--cream);image-rendering:pixelated;transform-origin:50% 100%;animation:runnerCycle .42s steps(2,end) infinite}.runner-mini{width:9px;height:12px;box-shadow:3px -4px 0 #8c553c,3px -7px 0 #241b28,5px 3px 0 var(--sky),-3px 6px 0 var(--gold),5px 8px 0 var(--cream)}
.pixel-runner{width:14px;height:19px;background:var(--coral);box-shadow:none}.pixel-runner:before{content:"";position:absolute;left:3px;top:-11px;width:10px;height:10px;background:#9a5d40;box-shadow:3px -3px 0 #211827}.pixel-runner:after{content:"";position:absolute;left:-5px;top:5px;width:8px;height:15px;background:var(--sky);transform:rotate(28deg);box-shadow:14px 2px 0 var(--gold)}.runner-mini{width:8px;height:11px}.runner-mini:before{left:2px;top:-7px;width:6px;height:6px;box-shadow:2px -2px 0 #211827}.runner-mini:after{left:-3px;top:3px;width:5px;height:9px;box-shadow:8px 1px 0 var(--gold)}
.hero{min-height:720px;padding-top:68px!important;background:#15466b url('/art/start-line.svg') center bottom/cover no-repeat}.hero:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,#47bce9 0 32%,#ffad72 67%,#09213b 68%);animation:sunrise 2.4s ease-out both}.hero:after{z-index:-1;opacity:.75;height:175px;animation:courseMove 16s linear infinite}.hero-content{position:relative;z-index:5}.hero h1{font-size:clamp(4.2rem,8.2vw,7.6rem);max-width:920px;text-shadow:5px 5px 0 #071426;line-height:.88}.hero-copy{font-size:1.32rem;color:#fff;max-width:760px;text-shadow:2px 2px 0 #071426}.hero-copy strong{color:var(--gold);font-size:1.14em}.hero-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}.sun{position:absolute;right:12%;top:9%;width:86px;height:86px;background:var(--gold);box-shadow:0 0 0 14px #ffd15c35,0 0 60px #ff895c;animation:sunPulse 4s steps(3) infinite}.cloud{position:absolute;width:96px;height:22px;background:#fff;box-shadow:24px -15px 0 #fff,48px -4px 0 #e8f8ff;opacity:.8;animation:cloudDrift 28s linear infinite}.cloud-a{top:13%;left:-130px}.cloud-b{top:26%;left:-180px;animation-duration:38s;animation-delay:-13s;transform:scale(.72)}.birds{position:absolute;right:28%;top:20%;width:8px;height:4px;background:#09213b;box-shadow:12px 5px #09213b,25px -3px #09213b;animation:birdsFly 12s linear infinite}.start-gate{position:absolute;right:8%;top:17%;width:250px;height:110px;border:12px solid var(--cream);border-bottom:0;box-shadow:8px 0 var(--navy),-8px 0 var(--navy);display:grid;place-items:start center;padding-top:8px;color:var(--navy);background:repeating-linear-gradient(90deg,var(--coral) 0 28px,var(--cream) 28px 56px)}.start-gate span{font:950 1.2rem ui-monospace,monospace;background:var(--navy);color:var(--cream);padding:.25rem 1rem}.start-gate b{font:950 1.05rem ui-monospace,monospace;background:#06101c;color:var(--gold);padding:.35rem .7rem;letter-spacing:.12em}.flag{position:absolute;top:-26px;width:28px;height:20px;background:var(--magenta);animation:flagWave .55s steps(2) infinite}.flag.left{left:-12px}.flag.right{right:-12px}.runner-pack{position:absolute;right:17%;bottom:124px;display:flex;gap:38px;z-index:3}.runner-pack .pixel-runner{transform:scale(1.65);animation-name:startRun}.runner-b{filter:hue-rotate(95deg);animation-delay:.09s!important}.runner-c{filter:hue-rotate(210deg);animation-delay:.18s!important}.course-lane{position:absolute;left:0;right:0;top:-28px;height:56px;border-block:5px solid var(--cream);background:#1f3449;box-shadow:0 8px 0 #0a1422;z-index:4}.course-lane:after{content:"";position:absolute;left:0;right:0;top:24px;border-top:4px dashed var(--gold)}.course-lane span{position:absolute;right:3%;top:10px;background:var(--cream);color:var(--navy);padding:.2rem .55rem;font:900 .68rem ui-monospace,monospace}.course-lane .course-runner{position:absolute;left:var(--section-runner,7%);top:13px;z-index:2;transition:left .5s ease-out}
.search{margin-top:34px;border-width:4px;box-shadow:10px 10px 0 #071426}.search label{padding:.82rem .9rem}.search label span{font-size:.73rem}.search input,.search select{min-height:44px;font-size:1.02rem}.search button{min-height:64px;font-size:1rem}.start-lights{top:-30px}.start-lights i{width:17px;height:17px}.hero.scene-active .start-lights i:nth-child(1){animation:lightsOn .3s .1s both}.hero.scene-active .start-lights i:nth-child(2){animation:lightsOn .3s .4s both}.hero.scene-active .start-lights i:nth-child(3){animation:greenLight .3s .7s both}.chips a{font-size:.92rem;padding:.66rem .9rem;min-height:44px;display:inline-flex;align-items:center}
.race-world>section:not(.hero){position:relative;padding-top:105px;padding-bottom:105px}.section-head h2,section>h2{font-size:clamp(3rem,5.2vw,5rem)}.section-head{margin-bottom:2rem}.scene-sub{font-size:1.08rem;color:#526a79;margin:.6rem 0 0}.section-action{font-weight:900;color:#174f72;font-size:1rem}.checkpoint{background:linear-gradient(180deg,#fff3cd 0 16%,var(--paper) 16%)}.scene-props .city-block{position:absolute;right:3%;top:22px;width:170px;height:74px;background:#23577a;box-shadow:30px -25px #2d7299,70px -10px #173e5e,104px -40px #317fa7}.scene-props .city-block:after{content:"";position:absolute;inset:12px;background:repeating-linear-gradient(90deg,var(--gold) 0 7px,transparent 7px 18px)}.checkpoint-flag{position:absolute;left:3%;top:20px;width:6px;height:58px;background:var(--navy)}.checkpoint-flag:after{content:"1";position:absolute;left:6px;top:0;width:44px;height:32px;background:var(--coral);color:var(--navy);font:900 1rem/32px ui-monospace;text-align:center;transform:scaleX(0);transform-origin:left}.scene-active .checkpoint-flag:after{animation:flagRaise .45s steps(4) forwards}
.race-list{gap:28px}.race-card{min-height:260px;border-width:3px;border-radius:2px;box-shadow:9px 9px 0 #879ba3;background:var(--white);overflow:visible}.race-card:before,.race-card:after{content:"";position:absolute;top:46px;width:12px;height:12px;background:var(--paper);border:2px solid var(--navy);border-radius:50%;z-index:2}.race-card:before{left:12px}.race-card:after{right:12px}.race-card:hover,.race-card:focus-within{transform:translate(-5px,-6px) rotate(-.25deg);box-shadow:14px 15px 0 #718892}.bib-top{padding:.62rem 1.8rem;font-size:.76rem;border-bottom:6px solid var(--card-accent,var(--coral))}.bib-top b{display:flex;gap:.45rem;align-items:center}.bib-top b i{width:9px;height:9px;background:var(--card-accent,var(--sky));box-shadow:0 0 0 4px color-mix(in srgb,var(--card-accent,var(--sky)) 30%,transparent)}.race-card:hover .bib-top b i,.race-card:focus-within .bib-top b i{animation:chipBlink .35s steps(2) 3}.race-card-body{grid-template-columns:78px minmax(0,1fr) auto;gap:1.35rem;padding:1.5rem}.race-card time span{font-size:2.4rem}.race-card time b{font-size:.78rem}.race-card h3{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.14;margin:.18rem 0 .55rem}.race-card .eyebrow{font-size:.74rem}.distances{font-size:.95rem}.view-event{font-size:.96rem;margin-top:.85rem;text-decoration:none;background:var(--navy);color:var(--cream);padding:.58rem .75rem;display:inline-flex;gap:.55rem;align-items:center}.race-card:hover .view-event .pixel-runner,.race-card:focus-within .view-event .pixel-runner{transform:translateX(5px)}.race-card .save{min-height:48px;padding:.6rem .75rem}.race-card .save.stamping{animation:stamp .28s steps(3)}.terrain-trail{--card-accent:#3f9b63}.terrain-cycle{--card-accent:var(--sky)}.terrain-virtual{--card-accent:var(--magenta)}.terrain-coast{--card-accent:#39b9d7}.terrain-sunset{--card-accent:#ff9a4f}.terrain-city{--card-accent:var(--coral)}[data-reveal]{opacity:0;transform:translateY(25px)}[data-reveal].revealed{opacity:1;transform:none;transition:opacity .45s ease-out,transform .45s ease-out}.race-list [data-reveal]:nth-child(2){transition-delay:.07s}.race-list [data-reveal]:nth-child(3){transition-delay:.14s}.race-list [data-reveal]:nth-child(4){transition-delay:.21s}
.dark{background:#08182d;color:var(--cream);padding-top:140px!important}.dark:before{opacity:.75}.dark .scene-sub{color:#b8d7e7}.type-grid{gap:12px;border:0;grid-template-columns:repeat(5,1fr)}.type-grid a{position:relative;min-height:215px;border:2px solid #3d607b;background:#102c48;overflow:hidden;box-shadow:5px 5px 0 #020912}.type-grid a:after{content:"";position:absolute;left:0;right:0;bottom:48px;height:35px;background:repeating-linear-gradient(90deg,var(--card-accent,var(--coral)) 0 20px,#193c57 20px 36px);transform:translateX(0)}.type-grid a:hover:after,.type-grid a:focus-visible:after{animation:terrainMove .7s steps(4) infinite}.type-grid a i{position:absolute;left:18px;top:45px;width:46px;height:46px;background:var(--card-accent,var(--coral));box-shadow:42px 15px #244f6c,84px -8px #39738f}.type-grid a strong{font-size:1.28rem;z-index:2}.type-grid a small{font-size:.82rem;color:var(--gold);z-index:2}.type-grid .type-trail,.type-grid .type-ultra{--card-accent:#5db878}.type-grid .type-cycling{--card-accent:var(--sky)}.type-grid .type-triathlon,.type-grid .type-virtual{--card-accent:var(--magenta)}
.city-tour{max-width:none!important;padding-inline:max(24px,calc((100% - var(--max))/2))!important;background:#61c8ee;color:var(--navy);overflow:hidden}.city-tour:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 94px,#ffffff20 94px 96px);pointer-events:none}.city-rail{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.city-rail a{min-height:230px;padding:1rem;display:flex;flex-direction:column;justify-content:flex-end;background:#fff3d5;border:3px solid var(--navy);box-shadow:7px 7px 0 #215374;text-decoration:none;overflow:hidden}.city-rail strong{font-size:1.2rem}.city-rail b{color:#ae315f}.city-rail span{font:900 .68rem ui-monospace;letter-spacing:.1em}.city-silhouette{position:absolute;top:24px;left:15px;width:32px;height:75px;background:#123653;box-shadow:38px 20px #1c5275,75px -12px #17425f,112px 30px #28769a}.city-silhouette:after{content:"";position:absolute;inset:10px;background:repeating-linear-gradient(0deg,var(--gold) 0 5px,transparent 5px 13px)}
.recent-scene{background:#fff3de}.timing-marquee{height:82px;margin-bottom:26px;background:#06101c;color:var(--gold);border:5px solid var(--navy);display:flex;align-items:center;gap:2rem;padding:0 1.3rem;font:900 .9rem ui-monospace;letter-spacing:.12em;box-shadow:8px 8px 0 #d1a34d;overflow:hidden}.timing-marquee span{background:var(--coral);color:var(--navy);padding:.5rem}.timing-marquee b{transform:rotateX(90deg)}.scene-active .timing-marquee b{animation:boardFlip .55s .15s steps(4) forwards}.desk-volunteer{margin-left:auto;width:14px;height:20px;background:var(--sky);box-shadow:5px -7px #8c553c,5px -11px #231824;animation:volunteerIdle 1.2s steps(2) infinite}
.states-tour{max-width:none!important;padding-inline:max(24px,calc((100% - var(--max))/2))!important;display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;background:#e9f7f7}.states-copy h2{margin:.15rem 0;font-family:Georgia,serif;font-size:clamp(3rem,5vw,5rem);line-height:.95}.state-search{display:block;font-weight:850;margin-top:1.5rem}.state-search input{display:block;width:100%;max-width:420px;min-height:52px;margin-top:.35rem;padding:.65rem;border:3px solid var(--navy);background:#fff}.pixel-map{position:relative;min-height:340px;background:var(--navy);clip-path:polygon(4% 15%,24% 10%,31% 22%,47% 16%,55% 25%,74% 19%,96% 32%,90% 52%,73% 59%,67% 84%,55% 69%,37% 73%,23% 58%,8% 61%);filter:drop-shadow(10px 10px 0 #7699a4)}.region{position:absolute;padding:.45rem;background:var(--gold);color:var(--navy);font:900 .68rem ui-monospace}.region.west{left:12%;top:35%}.region.midwest{left:42%;top:33%}.region.south{left:52%;top:59%}.region.northeast{right:9%;top:36%}.map-runner{position:absolute;left:18%;top:52%;animation:mapTour 7s steps(8) infinite}.featured-states{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.featured-states a{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.2rem .7rem;background:var(--cream);border:2px solid var(--navy);padding:.75rem;text-decoration:none;box-shadow:4px 4px 0 #8fa7ad}.featured-states span{grid-row:1/3;font:900 1.3rem ui-monospace;color:#ad315e}.featured-states b{font-size:1rem}.featured-states small{font-size:.72rem}.all-states{grid-column:1/-1;background:#fff;border:2px solid var(--navy)}.all-states summary{padding:1rem;font-weight:900;cursor:pointer}.state-directory{display:grid;grid-template-columns:repeat(8,1fr);padding:1rem;border-top:2px solid var(--navy)}.state-directory a{display:flex;justify-content:space-between;padding:.55rem;text-decoration:none;border-bottom:1px solid #ccd7db}.state-directory a[hidden],.featured-states a[hidden]{display:none}
.alerts{position:relative;min-height:720px;padding-top:300px!important;background-color:#08182d;background-size:auto 340px;overflow:hidden}.finish-world{position:absolute;left:0;right:0;top:70px;height:245px}.finish-runner{position:absolute;left:17%;bottom:42px;transform:scale(2)}.scene-active .finish-runner{animation:finishSprint 1.35s steps(8) forwards}.finish-tape{position:absolute;left:72%;bottom:58px;width:130px;height:7px;background:var(--cream)}.scene-active .finish-tape{animation:tapeBreak .3s 1.15s steps(2) forwards}.medal{position:absolute;right:12%;top:32px;width:46px;height:46px;border-radius:50%;background:var(--gold);border:6px solid #e0982f;transform:scale(0)}.medal:before{content:"★";display:grid;place-items:center;height:100%;color:var(--navy)}.scene-active .medal{animation:medalPop .4s 1.45s steps(4) forwards}.confetti{position:absolute;right:7%;top:10px;width:6px;height:6px;background:var(--coral);box-shadow:30px 25px var(--sky),56px 4px var(--gold),82px 34px var(--magenta),116px 2px var(--coral),145px 28px var(--sky);opacity:0}.scene-active .confetti{animation:confettiOnce .8s 1.35s steps(5)}
@keyframes runnerCycle{50%{transform:translateY(-3px) rotate(3deg)}}@keyframes startRun{0%,55%{transform:scale(1.65) translateX(0)}70%{transform:scale(1.65) translateX(-4px) rotate(-4deg)}100%{transform:scale(1.65) translateX(80px)}}@keyframes sunrise{from{filter:saturate(.65) brightness(.72)}to{filter:saturate(1.15) brightness(1)}}@keyframes sunPulse{50%{box-shadow:0 0 0 20px #ffd15c25,0 0 80px #ff895c}}@keyframes cloudDrift{to{left:110%}}@keyframes birdsFly{50%{transform:translate(-35px,8px)}to{transform:translate(-70px,0)}}@keyframes flagWave{50%{transform:skewY(10deg)}}@keyframes lightsOn{to{background:var(--coral);box-shadow:0 0 12px var(--coral)}}@keyframes greenLight{to{background:#65e08e;box-shadow:0 0 14px #65e08e}}@keyframes flagRaise{to{transform:scaleX(1)}}@keyframes chipBlink{50%{filter:brightness(2)}}@keyframes stamp{50%{transform:scale(1.18) rotate(-4deg)}}@keyframes terrainMove{to{transform:translateX(-56px)}}@keyframes boardFlip{to{transform:rotateX(0)}}@keyframes volunteerIdle{50%{transform:translateY(-2px)}}@keyframes mapTour{25%{left:40%;top:40%}50%{left:64%;top:61%}75%{left:78%;top:40%}100%{left:18%;top:52%}}@keyframes finishSprint{to{left:76%}}@keyframes tapeBreak{to{transform:rotate(18deg) translateY(20px);opacity:.35}}@keyframes medalPop{to{transform:scale(1)}}@keyframes confettiOnce{30%{opacity:1;transform:translateY(10px)}100%{opacity:0;transform:translateY(70px)}}
@media(max-width:1050px){.hero h1{font-size:5.2rem}.start-gate{right:3%;transform:scale(.8)}.type-grid{grid-template-columns:repeat(3,1fr)}.city-rail{grid-template-columns:repeat(2,1fr)}.featured-states{grid-template-columns:repeat(4,1fr)}.state-directory{grid-template-columns:repeat(6,1fr)}}
@media(max-width:780px){body{font-size:17px}.site-header{height:72px}.site-header nav{top:72px}.brand b{font-size:1.3rem}.menu-toggle{min-height:48px;font-size:1rem}.hero{min-height:760px;padding-top:34px!important}.hero h1{font-size:3.55rem}.hero-copy{font-size:1.08rem}.start-gate{top:23px;right:-42px;transform:scale(.48)}.runner-pack{right:18%;bottom:132px;transform:scale(.75)}.search{margin-top:24px}.search label span{font-size:.76rem}.search input,.search select{min-height:42px}.race-world>section:not(.hero){padding-top:88px;padding-bottom:78px}.section-head{align-items:start;flex-direction:column;gap:.8rem}.race-card{min-height:0}.race-card-body{grid-template-columns:68px minmax(0,1fr)}.race-card h3{font-size:1.42rem}.race-card .save{grid-column:2}.type-grid{grid-template-columns:1fr 1fr}.type-grid a{min-height:180px}.city-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 6px 14px}.city-rail a{min-width:82vw;scroll-snap-align:center}.states-tour{grid-template-columns:1fr}.pixel-map{min-height:260px}.featured-states{grid-template-columns:repeat(2,1fr)}.state-directory{grid-template-columns:repeat(3,1fr)}.alerts{padding-top:260px!important;min-height:850px}.finish-world{top:40px}.scene-props{display:none}}
@media(max-width:430px){.hero{min-height:780px}.hero h1{font-size:3rem}.hero-copy{font-size:1rem}.search{grid-template-columns:1fr 1fr}.search button{min-height:54px}.chips a{font-size:.82rem}.race-list{gap:22px}.race-card-body{grid-template-columns:56px minmax(0,1fr);gap:.8rem;padding:1.15rem}.race-card time span{font-size:2rem}.race-card h3{font-size:1.3rem}.type-grid{grid-template-columns:1fr}.type-grid a{min-height:160px}.featured-states{grid-template-columns:1fr 1fr}.state-directory{grid-template-columns:1fr 1fr}.pixel-map{min-height:220px}.alerts{padding-top:230px!important}.finish-runner{left:8%}.scene-active .finish-runner{animation-name:finishSprintMobile}.course-lane span{right:8px}}@keyframes finishSprintMobile{to{left:66%}}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important}.pixel-runner,.cloud,.sun,.birds,.flag,.hero:before,.hero:after,.type-grid a:after,.desk-volunteer,.map-runner,.finish-runner,.finish-tape,.medal,.confetti,.start-lights i{animation:none!important;transition:none!important}.runner-pack .pixel-runner{transform:scale(1.65)}.finish-runner{left:62%;transform:scale(2)}.finish-tape{opacity:.35;transform:rotate(18deg)}.medal{transform:scale(1)}.timing-marquee b{transform:none}.checkpoint-flag:after{transform:scaleX(1)}.course-lane .course-runner{left:7%!important}.city-rail{scroll-behavior:auto}}
.alerts h2{font-family:Georgia,serif;font-size:clamp(3rem,5vw,5rem);font-weight:500;line-height:.95;margin:.15rem 0 .45rem}.map-runner{left:18%;top:52%}@keyframes mapTour{25%{transform:translate(120px,-35px)}50%{transform:translate(280px,30px)}75%{transform:translate(410px,-25px)}100%{transform:translate(0,0)}}@keyframes finishSprint{to{transform:translateX(59vw) scale(2)}}@keyframes finishSprintMobile{to{transform:translateX(58vw) scale(2)}}
.cloud-a{--cloud-scale:1}.cloud-b{--cloud-scale:.72}@keyframes cloudDrift{to{transform:translateX(calc(100vw + 320px)) scale(var(--cloud-scale,1))}}

/* Performance-health palette */
:root{--navy:#071a2b;--navy2:#0b2845;--panel:#10395f;--coral:#f04438;--sky:#2c8cff;--gold:#ffc247;--cream:#f7fbfd;--magenta:#00a896;--ink:#102133;--muted:#526675;--paper:#f3f7fa;--white:#fff;--line:#c7d5df;--focus:#1463ff;--health:#00a896;--recovery:#7ccb46}
body{background:var(--paper)}.site-header{background:rgba(7,26,43,.98);border-bottom-color:#16476d}.brand small{color:#76c7ff}.site-header nav a:hover{color:#73c5ff}.site-header nav span{background:var(--health);color:#fff}.header-search{background:var(--sky);box-shadow:4px 4px 0 #001e52;color:#fff!important}.course-progress span{background:linear-gradient(90deg,var(--health),var(--sky),var(--coral),var(--gold))}
.hero{background-color:#2378d7}.hero:before{background:linear-gradient(180deg,#1677e8 0 33%,#67c4ed 33% 61%,#c8eff5 61% 68%,#0b2845 68%)}.sun{background:var(--gold);box-shadow:0 0 0 14px #ffc24735,0 0 54px #ffc247}.hero h1{text-shadow:5px 5px 0 #061728}.hero-copy{color:#fff;text-shadow:2px 2px 0 #061728}.hero .kicker{background:var(--coral);box-shadow:4px 4px 0 #681811;color:#fff!important}.start-gate{background:repeating-linear-gradient(90deg,var(--sky) 0 28px,var(--cream) 28px 56px)}.flag{background:var(--coral)}.runner-b{filter:hue-rotate(155deg) saturate(.85)}.runner-c{filter:hue-rotate(55deg) saturate(1.1)}.search{background:#16476d;border-color:#28628d}.search-submit{background:var(--coral);color:#fff!important}.near{background:var(--health);color:#fff}.chips a{background:#fff;color:var(--navy);box-shadow:3px 3px 0 var(--sky)}
.checkpoint{background:linear-gradient(180deg,#dff5ef 0 16%,var(--paper) 16%)}.scene-props .city-block{background:#1463ff;box-shadow:30px -25px #2c8cff,70px -10px #0c4cb5,104px -40px #00a896}.checkpoint-flag:after{background:var(--coral);color:#fff}.kicker,.eyebrow{color:#d63429}.section-action,.view-event{color:#0d58bd}
.race-card{background:#fff;box-shadow:9px 9px 0 #9bb0bd}.race-card:hover,.race-card:focus-within{box-shadow:14px 15px 0 #7f98a8}.bib-top{background:var(--navy)}.race-card time b{color:#d63429}.view-event{background:var(--sky);color:#fff}.save,.share,.secondary{background:#f7fbfd}.save.active{background:#dff5ef;box-shadow:3px 3px 0 var(--health);border-color:var(--health)}.terrain-trail{--card-accent:#38a169}.terrain-cycle{--card-accent:#1463ff}.terrain-virtual{--card-accent:#00a896}.terrain-coast{--card-accent:#00a6c7}.terrain-sunset{--card-accent:#f04438}.terrain-city{--card-accent:#1463ff}
.dark{background:#071a2b}.dark:before{filter:hue-rotate(12deg) saturate(1.15)}.type-grid a{background:#0d3152;border-color:#245d86;box-shadow:5px 5px 0 #03111e}.type-grid a:after{background:repeating-linear-gradient(90deg,var(--card-accent,var(--sky)) 0 20px,#17476b 20px 36px)}.type-grid a i{background:var(--card-accent,var(--sky));box-shadow:42px 15px #1463ff,84px -8px #00a896}.type-grid .type-trail,.type-grid .type-ultra{--card-accent:#38a169}.type-grid .type-cycling{--card-accent:#2c8cff}.type-grid .type-triathlon,.type-grid .type-virtual{--card-accent:#00a896}
.city-tour{background:#00a896;color:#071a2b}.city-rail a{background:#fff;border-color:#071a2b;box-shadow:7px 7px 0 #056b61}.city-rail b{color:#0d58bd}.city-silhouette{background:#0b2845;box-shadow:38px 20px #1463ff,75px -12px #0d4f75,112px 30px #2c8cff}.recent-scene{background:#eef5fa}.timing-marquee{background:#071a2b;color:#ffc247;box-shadow:8px 8px 0 #7f98a8}.timing-marquee span{background:#f04438;color:#fff}.states-tour{background:#e9f7f5}.pixel-map{background:#0b2845;filter:drop-shadow(10px 10px 0 #7da6aa)}.region{background:#fff;color:#071a2b;border:3px solid #00a896}.featured-states a{background:#fff;box-shadow:4px 4px 0 #88aaa7}.featured-states span{color:#0d58bd}.alerts{background-color:#071a2b}.alert-form{border-color:#00a896;box-shadow:8px 8px 0 #020b12}.alert-form button{background:#2c8cff;color:#fff!important}.medal{background:#ffc247;border-color:#d89500}.site-footer{background:#03111e;border-top-color:#00a896}.footer-brand p{color:#62d5c8}.loading-track{border-color:#00a896}.loading-track i{background:#f04438}.results-head{background:#071a2b;border-bottom-color:#00a896}.results-head:after{border-color:#00a896;color:#ffc247}.active-filters b{background:#fff}.register{background:#2c8cff;color:#fff!important}
@keyframes sunPulse{50%{box-shadow:0 0 0 20px #ffc24725,0 0 72px #ffc247}}@keyframes lightsOn{to{background:#f04438;box-shadow:0 0 12px #f04438}}@keyframes greenLight{to{background:#7ccb46;box-shadow:0 0 14px #7ccb46}}
.city-tour .scene-sub{color:#073e47}

/* Cute, clean pixel-world reset */
:root{--navy:#102a43;--navy2:#34475f;--panel:#eef5fb;--coral:#ff7c78;--sky:#4da3ff;--gold:#f4b942;--cream:#f8fcff;--magenta:#8fb9c9;--ink:#102a43;--muted:#64758a;--paper:#f8fbfd;--white:#fff;--line:#dce7ee;--focus:#496fd0;--health:#6ecbb8;--recovery:#91cf72;--shadow:#d7e3ea}
body{background:#f8fbfd;color:var(--ink)}.site-header{height:76px;background:#102a43f5;border-bottom:0;box-shadow:0 4px 0 #4da3ff}.brand b{font-size:1.3rem}.brand small{color:#c8eefe}.site-header nav{gap:1.15rem}.site-header nav a{font-size:.94rem}.site-header nav a:hover{color:#f4b942}.site-header nav span{background:#ff7c78;color:#102a43}.header-search{background:#4da3ff;color:#102a43!important;border-radius:10px;box-shadow:3px 3px 0 #49637d}.course-progress{height:5px;background:#e9f3f8}.course-progress span{background:linear-gradient(90deg,#6ecbb8,#4da3ff,#8fb9c9,#ff7c78)}
.hero{min-height:660px;padding-top:58px!important;background:#bfeafb!important;color:#102a43;border-bottom:0}.hero:before{background:linear-gradient(180deg,#4da3ff 0 65%,#dff4ee 65% 72%,#547188 72%)!important;filter:none!important}.hero:after{height:126px;opacity:.25;animation-duration:30s}.hero h1{max-width:780px;font-size:clamp(3.7rem,7vw,6rem);line-height:.92;color:#102a43;text-shadow:4px 4px 0 #fff}.hero-copy{max-width:650px;font-size:1.14rem;color:#34475f;text-shadow:none}.hero-copy strong{color:#496fd0}.hero .kicker{background:#fff;color:#49637d!important;border:2px solid #49637d;border-radius:8px;box-shadow:3px 3px 0 #8fb9c9}.hero-sky .sun{width:64px;height:64px;right:15%;background:#f4b942;box-shadow:0 0 0 10px #fff3b8}.cloud{opacity:.9;transform:scale(.82)}.birds{opacity:.45}.start-gate{width:190px;height:86px;right:10%;top:14%;border-width:8px;border-radius:8px;background:repeating-linear-gradient(90deg,#ffb3aa 0 24px,#fff 24px 48px);box-shadow:5px 0 #49637d,-5px 0 #49637d}.start-gate span{font-size:.92rem;border-radius:4px}.start-gate b{font-size:.78rem;border-radius:4px}.flag{background:#ff7c78}.runner-pack{right:18%;bottom:105px;gap:30px;transform:scale(.8)}.runner-pack .runner-c{display:none}.pixel-runner{background:#ff7c78}.pixel-runner:after{background:#2563eb;box-shadow:14px 2px 0 #f4b942}.runner-b{filter:hue-rotate(85deg) saturate(.72)}
.search{max-width:1120px;margin-top:26px;gap:8px;padding:8px;background:#fff;border:2px solid #c9dce8;border-radius:16px;box-shadow:0 10px 0 #7995a722}.search label{padding:.7rem .8rem;border-radius:10px;background:#f8fbfd}.search label span{font-size:.69rem;color:#64758a}.search input,.search select{min-height:40px}.search button{min-height:54px;border-radius:10px}.near{background:#dff4ee;color:#285e57}.search-submit{background:#2563eb;color:#fff!important}.more-filters{background:#eaf4ff;color:#405071}.start-lights{right:14px;top:-21px}.start-lights i{width:11px;height:11px;box-shadow:none;border-radius:2px}.chips{gap:.5rem;margin-top:.85rem}.chips a{min-height:40px;padding:.5rem .72rem;background:#fff;color:#3c4e63;border:1px solid #d4e2ea;border-radius:999px;box-shadow:none;font-size:.84rem}.chips a:hover{background:#fff2ef;transform:translateY(-2px)}
.course-lane{height:42px;top:-21px;border-block:3px solid #fff;background:#7893a5;box-shadow:none;opacity:.82}.course-lane:after{top:18px;border-top:3px dashed #fff}.course-lane span{top:7px;background:#fff;border-radius:6px;color:#64758a}.race-world>section:not(.hero){padding-top:84px;padding-bottom:84px}.section-head{align-items:center;margin-bottom:1.35rem}.section-head h2,section>h2{font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-size:clamp(2.4rem,4vw,3.6rem);font-weight:800;letter-spacing:-.035em;line-height:1.02}.kicker,.eyebrow{color:#d95f5b}.scene-sub{font-size:.98rem;color:#64758a}.section-action{color:#496fd0;font-size:.92rem}.scene-props{display:none}.checkpoint{background:#fff}
.race-list{gap:18px}.race-list .race-card:nth-child(n+5){display:none}.race-card{min-height:210px;border:1px solid #d7e3ea;border-radius:18px;box-shadow:0 8px 0 #dce7ee;overflow:hidden}.race-card:before,.race-card:after{display:none}.race-card:hover,.race-card:focus-within{transform:translateY(-4px);box-shadow:0 12px 0 #cbdce6}.bib-top{padding:.5rem 1rem;border:0;background:#eef5fb;color:#52667b;font-size:.68rem}.bib-top b{color:#52667b}.bib-top b i{background:var(--card-accent,#4da3ff);box-shadow:none;border-radius:50%}.race-card-body{grid-template-columns:66px minmax(0,1fr) auto;gap:1rem;padding:1.15rem}.race-card time{border-right:1px dashed #c7d5df}.race-card time b{color:#d95f5b}.race-card time span{font-size:2rem}.race-card h3{font-size:1.3rem;line-height:1.2}.race-card .eyebrow{font-size:.68rem}.distances{font-size:.87rem}.view-event{margin-top:.7rem;padding:.48rem .68rem;background:#2563eb;color:#fff;border-radius:9px;font-size:.88rem}.race-card .save{min-height:42px;border:1px solid #cbd9e1;border-radius:9px;background:#fff;padding:.5rem .65rem}.save.active{background:#e1f5ee;box-shadow:none;border-color:#6ecbb8}.terrain-trail{--card-accent:#91cf72}.terrain-cycle{--card-accent:#4da3ff}.terrain-virtual{--card-accent:#8fb9c9}.terrain-coast{--card-accent:#6ecbb8}.terrain-sunset{--card-accent:#f6c177}.terrain-city{--card-accent:#8ea9ef}
.dark{padding-top:105px!important;background:#eaf4ff;color:#102a43}.dark:before{height:92px;opacity:.14}.dark .scene-sub{color:#64758a}.type-grid{grid-template-columns:repeat(5,1fr);gap:12px}.type-grid a{min-height:142px;padding:.85rem;background:#fff;border:1px solid #d8e1ef;border-radius:16px;box-shadow:0 6px 0 #dce4f2;color:#102a43}.type-grid a i{top:38px;width:30px;height:30px;border-radius:5px;background:var(--card-accent,#4da3ff);box-shadow:30px 10px #dff4ee,58px -4px #ffdca1}.type-grid a:after{height:20px;bottom:40px;opacity:.35}.type-grid a strong{font-size:1.02rem}.type-grid a small{font-size:.72rem;color:#64758a}.type-grid a:hover,.type-grid a:focus-visible{transform:translateY(-3px);background:#fff}.type-grid a:nth-child(n+7){display:none}
.city-tour{background:#e8f7f3;color:#102a43}.city-tour .scene-sub{color:#64758a}.city-rail{gap:14px}.city-rail a{position:relative;min-height:168px;background:#fff;border:1px solid #cfe5df;border-radius:18px;box-shadow:0 7px 0 #cfe8e1}.city-rail a:nth-child(n+5){display:none}.city-silhouette{top:18px;left:20px;transform:scale(.48);transform-origin:left top;background:#2563eb;box-shadow:38px 20px #4da3ff,75px -12px #8fb9c9,112px 30px #6ecbb8}.city-rail strong{font-size:1.06rem}.city-rail b{color:#547087;font-size:.84rem}
.recent-scene{background:#fff}.recent-scene .race-list .race-card:nth-child(n+4){display:none}.timing-marquee{height:58px;margin-bottom:20px;padding:0 1rem;background:#34475f;border:0;border-radius:12px;box-shadow:none;font-size:.76rem}.timing-marquee span{background:#ff7a3d;color:#102a43;border-radius:6px}.desk-volunteer{animation-duration:1.8s}
.states-tour{padding-top:90px!important;grid-template-columns:1fr 1fr;background:#eaf4ff}.states-copy h2{font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-size:clamp(2.5rem,4vw,3.8rem);font-weight:800}.state-search input{max-width:360px;min-height:48px;border:1px solid #cfc5e8;border-radius:10px}.pixel-map{min-height:260px;background:#8fb9c9;filter:drop-shadow(8px 8px 0 #ddd5f1)}.region{padding:.35rem;background:#fff;border:0;border-radius:6px;color:#526278;font-size:.58rem}.featured-states{grid-template-columns:repeat(6,1fr);gap:8px}.featured-states a{padding:.6rem;background:#fff;border:1px solid #d8d0e9;border-radius:12px;box-shadow:none}.featured-states a:nth-child(n+7){display:none}.featured-states span{font-size:1rem;color:#2563eb}.featured-states b{font-size:.86rem}.all-states{border:1px solid #d8d0e9;border-radius:12px}.all-states summary{padding:.85rem;color:#5e527f}.state-directory{border-top:1px solid #ddd5ed}
.alerts{min-height:610px;padding-top:235px!important;background-color:#34475f;background-size:auto 255px}.finish-world{top:30px;transform:scale(.82);transform-origin:center top}.alerts h2{font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-size:clamp(2.6rem,4vw,3.8rem);font-weight:800}.alert-form{gap:.75rem;padding:1rem;border:0;border-radius:18px;box-shadow:0 9px 0 #1f2d3d}.alert-form input,.alert-form select{border:1px solid #d7e3ea;border-radius:8px}.alert-form button{background:#4da3ff;color:#102a43!important;border-radius:9px}.site-footer{background:#102a43;border-top:6px solid #8fb9c9}.footer-brand p{color:#c8eefe}
.results-head{background:#34475f;border-bottom:6px solid #4da3ff}.results-head h1,.event h1,.legal h1{font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-weight:800;letter-spacing:-.04em}.results-head:after{border-color:#4da3ff}.register{background:#2563eb}.loading-track{border-color:#8fb9c9;border-radius:12px}
@media(max-width:1050px){.type-grid{grid-template-columns:repeat(3,1fr)}.featured-states{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.site-header{height:70px}.site-header nav{top:70px}.hero{min-height:720px;padding-top:36px!important}.hero h1{font-size:3.25rem}.start-gate{right:-28px;top:30px;transform:scale(.48)}.runner-pack{right:16%;bottom:110px;transform:scale(.62)}.search{gap:5px;padding:6px;border-radius:13px}.race-world>section:not(.hero){padding-top:72px;padding-bottom:68px}.race-card-body{grid-template-columns:56px minmax(0,1fr)}.type-grid{grid-template-columns:1fr 1fr}.city-rail a{min-width:76vw}.states-tour{grid-template-columns:1fr}.featured-states{grid-template-columns:repeat(3,1fr)}.pixel-map{min-height:210px}.alerts{padding-top:210px!important}.finish-world{transform:scale(.67);transform-origin:left top}}
@media(max-width:430px){.hero{min-height:730px}.hero h1{font-size:2.75rem}.hero-copy{font-size:.98rem}.chips a:nth-child(n+6){display:none}.race-card h3{font-size:1.2rem}.type-grid{grid-template-columns:1fr 1fr}.type-grid a{min-height:130px}.city-rail a{min-width:82vw}.featured-states{grid-template-columns:1fr 1fr}.alerts{min-height:780px;padding-top:185px!important}}
main:not(.race-world) .race-list .race-card:nth-child(n+5){display:block}
@media(min-width:781px){.search>.near{grid-column:1/4}.search>.search-submit{grid-column:4/7}.type-grid{grid-template-columns:repeat(3,1fr)}}

/* Race Passport product */
.product-nav{position:sticky;top:76px;z-index:45;display:flex;justify-content:center;gap:.35rem;padding:.55rem max(20px,calc((100% - var(--max))/2));background:#fff;border-bottom:1px solid #dce7ee;box-shadow:0 5px 18px #102a430d}.product-nav a{padding:.45rem .7rem;border-radius:999px;text-decoration:none;font-size:.82rem;font-weight:800;color:#526278}.product-nav a:hover,.product-nav a:focus-visible{background:#eaf4ff;color:#496fd0}.product-home>section,.dashboard>section,.passport-page,.passport-explainer,.account-shell{max-width:var(--max);margin-inline:auto;padding-inline:24px}.passport-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:4rem;align-items:center;padding-top:74px;padding-bottom:70px;background:#dff4ee;border-radius:0 0 32px 32px;overflow:hidden}.passport-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:20px;background:repeating-linear-gradient(90deg,#4da3ff 0 28px,#fff 28px 56px);opacity:.75}.passport-hero h1,.dashboard-head h1,.passport-explainer h1,.account-shell h1{font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-size:clamp(3.4rem,6vw,6rem);font-weight:850;letter-spacing:-.055em;line-height:.9;margin:.1em 0 .25em}.passport-hero>div>p:not(.kicker){max-width:680px;font-size:1.16rem;color:#526278}.passport-hero .search{grid-template-columns:1.4fr .8fr 1fr;box-shadow:none;margin-top:1.6rem}.passport-hero .search .optional-control{display:none}.passport-hero .search>.near{grid-column:auto}.passport-hero .search>.search-submit{grid-column:auto}.passport-hero .search>.more-filters{display:none}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.25rem}.hero-actions a,.primary{display:inline-flex;align-items:center;min-height:48px;padding:.65rem .9rem;border-radius:10px;font-weight:850}.hero-actions a.primary,.primary{background:#2563eb;color:#fff;text-decoration:none;box-shadow:0 5px 0 #ccd5ef}.passport-preview{position:relative;min-height:380px;padding:2rem;background:#fff;border:2px solid #526278;border-radius:18px 18px 28px 28px;box-shadow:12px 14px 0 #b8dbd2;transform:rotate(2deg)}.passport-preview:before{content:"";position:absolute;inset:12px;border:2px dashed #d5e3e9;border-radius:12px}.passport-preview>span,.passport-preview>strong,.passport-preview>p,.passport-preview>.stamp-row{position:relative;display:block}.passport-preview>span{font:900 .68rem ui-monospace;letter-spacing:.14em;color:#d95f5b}.passport-preview>strong{font-size:1.8rem;margin-top:1rem}.passport-preview>p{color:#64758a}.passport-avatar{position:relative;display:block;width:82px;height:96px;margin:2.1rem auto 1rem;background:#4da3ff;border-radius:10px;box-shadow:0 0 0 8px #eef8fb}.passport-avatar:before{content:"";position:absolute;left:26px;top:-20px;width:32px;height:32px;background:#9a654a;box-shadow:8px -5px #34475f}.passport-avatar:after{content:"";position:absolute;left:16px;bottom:10px;width:20px;height:44px;background:#ff7c78;box-shadow:31px 0 #2563eb}.stamp-row{display:flex!important;flex-wrap:wrap;gap:.55rem}.stamp-row b,.sample-passport span{display:grid;place-items:center;min-width:66px;min-height:66px;padding:.5rem;border:3px double #8fb9c9;border-radius:50%;color:#2563eb;font:900 .66rem ui-monospace;text-align:center;transform:rotate(-5deg)}.stamp-row b:nth-child(2){border-color:#6ecbb8;color:#357a6c;transform:rotate(4deg)}.stamp-row b:nth-child(3){border-color:#ff7a3d;color:#b34f4b;transform:rotate(-2deg)}
.product-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:60px;padding-bottom:60px}.product-steps article{padding:1.2rem;background:#fff;border:1px solid #dce7ee;border-radius:16px}.product-steps span{display:grid;place-items:center;width:36px;height:36px;background:#eaf4ff;border-radius:10px;color:#5d6fa6;font:900 .74rem ui-monospace}.product-steps h2{font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-size:1.25rem;margin:1rem 0 .4rem}.product-steps p{margin:0;color:#64758a;font-size:.9rem}.passport-story{padding-top:74px;padding-bottom:74px}.product-demo{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-demo article{min-height:215px;padding:1.3rem;background:#fff;border:1px solid #dce7ee;border-radius:18px;box-shadow:0 7px 0 #e4edf2}.product-demo h3{font-size:1.35rem}.mini-timeline{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;align-items:center;margin-top:2rem}.mini-timeline i{width:16px;height:16px;background:#6ecbb8;border-radius:50%;box-shadow:0 0 0 5px #dff4ee}.mini-timeline span{border-top:3px dotted #b7cbd7;padding-top:1.5rem;font-size:.7rem}.organizer-invite{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:70px!important;padding-top:38px!important;padding-bottom:38px!important;background:#eaf4ff;border-radius:22px}.organizer-invite h2{margin:.1rem 0}.organizer-invite a{padding:.75rem 1rem;background:#fff;border-radius:10px;font-weight:850;text-decoration:none}
.account-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;padding-top:72px;padding-bottom:80px}.account-shell>div>p{color:#64758a}.account-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-shell form,.compare-form{display:grid;gap:.85rem;padding:1.3rem;background:#fff;border:1px solid #dce7ee;border-radius:18px;box-shadow:0 7px 0 #e3ebf0}.account-shell form h2{margin:.1rem 0}.account-shell label,.compare-form label{font-size:.76rem;font-weight:850;color:#526278}.account-shell input,.account-shell select,.account-shell textarea,.compare-form input{display:block;width:100%;min-height:46px;margin-top:.3rem;padding:.65rem;border:1px solid #cddbe4;border-radius:8px;background:#fbfdfe}.account-shell textarea{min-height:100px}.account-shell button,.compare-form button,.recommendation-card button,.season-card button,.privacy-control button,.notification-list button{min-height:44px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-weight:850;padding:.55rem .75rem}.account-shell form p,.account-shell form small{font-size:.76rem;color:#64758a}.danger-zone{grid-column:2;background:#fff7ed!important;border-color:#f3c5c2!important}.danger-zone button{background:#c54139}.product-message{grid-column:1/-1;padding:.75rem 1rem;border-radius:10px}.product-message.success{background:#e2f5ee;color:#285e57}.product-message.error{background:#fff0ef;color:#9f312b}
.dashboard-head{max-width:none!important;padding:72px max(24px,calc((100% - var(--max))/2)) 42px!important;background:#eaf4ff}.dashboard-head>p:not(.kicker){max-width:760px}.season-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.5rem}.season-stats span{min-width:130px;padding:.75rem 1rem;background:#fff;border-radius:12px;color:#64758a}.season-stats b{display:block;color:#102a43;font-size:1.5rem}.season-list,.recommendation-list,.notification-list{display:grid;gap:14px}.season-card,.recommendation-card,.notification-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:1.1rem;background:#fff;border:1px solid #dce7ee;border-radius:16px}.season-card h3,.recommendation-card h3,.notification-list h2{margin:.1rem 0;font-size:1.18rem}.season-card p,.recommendation-card p{margin:.25rem 0;color:#64758a}.season-card form{display:flex;align-items:end;gap:.5rem}.season-card label{font-size:.7rem;font-weight:850}.season-card select,.recommendation-card select{display:block;min-height:40px;border:1px solid #cedce4;border-radius:7px;background:#fff}.recommendation-card{grid-template-columns:1fr auto auto}.recommendation-card ul{margin:.5rem 0;padding-left:1.2rem;font-size:.85rem;color:#526278}.recommendation-card form{display:flex;gap:.4rem;align-items:center}.recommendation-card .secondary{background:#eaf4ff;color:#526278}.product-empty{border:1px dashed #b8cbd7;border-radius:16px}.passport-page{padding-top:62px;padding-bottom:80px}.passport-cover{padding:2.4rem;background:#dff4ee;border-radius:24px;border:2px solid #9bcabe}.passport-cover h1{font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-size:clamp(2.7rem,5vw,5rem);margin:.15rem 0}.passport-cover>p:first-child{font:900 .7rem ui-monospace;letter-spacing:.13em}.passport-cover small{display:block;margin-top:1rem;color:#526278}.passport-totals{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.passport-totals span{min-width:120px;padding:.7rem;background:#fff;border-radius:10px}.passport-totals b{display:block;font-size:1.5rem}.passport-pages{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:24px}.passport-pages article{padding:1.5rem;background:#fff;border:1px solid #dce7ee;border-radius:18px}.passport-stamps,.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.passport-stamps>span,.achievement-grid>span{min-height:126px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:.7rem;border:2px dashed #8fb9c9;border-radius:50%;color:#66588e}.passport-stamps small,.passport-stamps i,.achievement-grid small{font-size:.64rem}.passport-stamps i{margin-top:.3rem;color:#947f84}.achievement-grid>span{border-radius:16px;border-style:solid}.achievement-grid b{font-size:1.7rem;color:#ff7a3d}.achievement-grid strong{font-size:.84rem}.achievement-grid.all{grid-template-columns:repeat(5,1fr)}.achievement-grid .locked{filter:grayscale(1);opacity:.55}.privacy-control{display:flex;align-items:center;gap:1rem;margin-top:20px;padding:1rem;background:#eaf4ff;border-radius:14px}.privacy-control p{margin-left:auto;font-size:.76rem;color:#64758a}.passport-explainer{padding-top:90px;padding-bottom:100px;text-align:center}.passport-explainer>p{max-width:720px;margin-inline:auto}.sample-passport{display:flex;justify-content:center;gap:1rem;margin:2rem 0}.sample-passport span{display:grid}
.compare-form{grid-template-columns:1fr auto;max-width:760px;margin-top:1.5rem}.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.compare-grid article{padding:1.3rem;background:#fff;border:1px solid #dce7ee;border-radius:18px}.compare-grid h2{font-size:1.35rem}.compare-grid dt{margin-top:.8rem}.compare-grid dd{margin-bottom:.4rem}.notification-list article{grid-template-columns:100px 1fr auto}.notification-list article>span{font:900 .66rem ui-monospace;color:#2563eb;text-transform:uppercase}.notification-list article small{color:#64758a}.state-directory,.all-states{content-visibility:auto}
@media(max-width:950px){.passport-hero{grid-template-columns:1fr}.passport-preview{max-width:460px}.product-steps{grid-template-columns:1fr 1fr}.product-demo{grid-template-columns:1fr}.account-shell{grid-template-columns:1fr}.danger-zone{grid-column:auto}.compare-grid{grid-template-columns:1fr}.achievement-grid.all{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.product-nav{top:70px;justify-content:flex-start;overflow-x:auto;white-space:nowrap}.product-nav a{min-height:40px;display:flex;align-items:center}.passport-hero{padding-top:46px;padding-bottom:54px;gap:2rem}.passport-hero h1,.dashboard-head h1,.passport-explainer h1,.account-shell h1{font-size:3.1rem}.passport-hero .search{grid-template-columns:1fr 1fr}.passport-hero .search .location{grid-column:1/-1}.passport-preview{min-height:330px;transform:none}.account-panels{grid-template-columns:1fr}.season-card,.recommendation-card,.notification-list article{grid-template-columns:1fr}.season-card form,.recommendation-card form{justify-content:start}.passport-pages{grid-template-columns:1fr}.passport-stamps,.achievement-grid{grid-template-columns:repeat(2,1fr)}.privacy-control{align-items:flex-start;flex-direction:column}.privacy-control p{margin-left:0}.organizer-invite{align-items:flex-start;flex-direction:column}.notification-list article{grid-template-columns:1fr}.compare-form{grid-template-columns:1fr}}
@media(max-width:430px){.product-steps{grid-template-columns:1fr}.passport-hero h1,.dashboard-head h1,.passport-explainer h1,.account-shell h1{font-size:2.65rem}.passport-preview{min-height:300px;padding:1.3rem}.passport-avatar{transform:scale(.8);margin-block:1.2rem}.season-stats{display:grid;grid-template-columns:1fr 1fr}.season-stats span{min-width:0}.achievement-grid.all{grid-template-columns:1fr 1fr}.account-shell{padding-inline:18px}.product-home>section,.dashboard>section,.passport-page,.passport-explainer{padding-inline:18px}}

/* Exact small-screen containment for the product shell. */
@media(max-width:430px){
  .site-header{gap:.65rem;padding-inline:16px}
  .site-header .brand{min-width:0}
  .site-header .brand b{font-size:1.12rem}
  .menu-toggle{flex:0 0 auto;padding:.5rem .6rem;font-size:.82rem}
  .product-nav{position:relative;top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;padding:.45rem 16px;overflow:visible;white-space:normal}
  .product-nav a{justify-content:center;min-width:0;min-height:34px;padding:.3rem .35rem;text-align:center;font-size:.72rem}
  .passport-hero>*{min-width:0}
  .passport-hero h1{overflow-wrap:anywhere}
  .passport-hero>div>p:not(.kicker){max-width:100%}
  .passport-hero .search{width:100%;min-width:0;grid-template-columns:1fr}
  .passport-hero .search .location,.passport-hero .search>.near,.passport-hero .search>.search-submit{grid-column:1}
  .passport-hero .search label,.passport-hero .search button{min-width:0}
  .hero-actions{align-items:stretch;flex-direction:column}
  .hero-actions a{justify-content:center;text-align:center}
}

/* Keep the start-line runners planted; the course moves beneath them. */
.runner-pack .pixel-runner{animation:runnerJog .56s steps(2,end) infinite}
.runner-pack .runner-b{animation-delay:-.28s!important}
@keyframes runnerJog{
  0%,100%{transform:scale(1.65) translateY(0) rotate(-1deg)}
  50%{transform:scale(1.65) translateY(-4px) rotate(1deg)}
}
@media(prefers-reduced-motion:reduce){.runner-pack .pixel-runner{animation:none!important;transform:scale(1.65)}}
.site-header .saved-link{gap:.42rem}
.site-header .saved-link [data-saved-count]{margin-left:0}
.loading-track:not(.active){opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,calc(100% + 72px))}
.loading-track.active{opacity:1;visibility:visible}
.creation-credit{grid-column:1/-1;margin:0;padding-top:1.25rem;border-top:1px solid #294158;color:#b9cbd4;font-size:.84rem}
.creation-credit a{color:#4da3ff;font-weight:800}
.account-shell.auth-focused{grid-template-columns:minmax(0,.9fr) minmax(380px,.7fr)}
.account-shell:has(.account-panel){grid-template-columns:minmax(0,.9fr) minmax(380px,.7fr);align-items:center}
.account-panel{width:100%;max-width:520px;justify-self:end}
.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:12px;padding:5px;background:#e9f1f5;border-radius:14px}
.auth-switch a{display:grid;place-items:center;min-height:46px;padding:.55rem;border-radius:10px;color:#526278;font-weight:850;text-decoration:none}
.auth-switch a[aria-current="page"]{background:#fff;color:#102a43;box-shadow:0 3px 8px #102a4318}
.account-panel form{min-height:0;padding:1.65rem}
.account-panel form>p:first-of-type{margin-top:-.35rem}
@media(max-width:950px){.account-panel{max-width:620px;justify-self:stretch}.account-shell.auth-focused,.account-shell:has(.account-panel){grid-template-columns:1fr}}
.account-shell label:has(input[type="checkbox"]){display:flex;align-items:flex-start;gap:.7rem;line-height:1.35;cursor:pointer}
.account-shell input[type="checkbox"]{display:inline-block;flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:.05rem 0 0;padding:0;accent-color:#2563eb}
.account-shell form>label:has(input[type="checkbox"]){padding:.65rem .15rem;margin-top:.15rem}
.header-account{margin-left:auto;min-height:44px;display:inline-flex;align-items:center;padding:.55rem .75rem;border:1px solid #4da3ff;border-radius:9px;color:#fff;text-decoration:none;font-weight:850}
.header-account+.header-search{margin-left:0}
.compare-head>p:not(.kicker){max-width:720px;color:#64758a}
.compare-picker{display:grid;gap:1rem;margin-top:1.5rem}
.compare-picker fieldset{min-width:0;margin:0;padding:1rem;border:1px solid #cfdee6;border-radius:16px;background:#fff}
.compare-picker legend{padding:0 .45rem;color:#526278;font-weight:850}
.compare-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.compare-choice{display:flex;align-items:flex-start;gap:.7rem;min-width:0;padding:.85rem;border:1px solid #d8e5eb;border-radius:12px;background:#fbfdfe;cursor:pointer}
.compare-choice:has(input:checked){border-color:#2563eb;background:#eaf4ff;box-shadow:0 0 0 2px #2563eb33}
.compare-choice input{flex:0 0 20px;width:20px;height:20px;margin:.15rem 0 0;accent-color:#2563eb}
.compare-choice span,.compare-choice strong,.compare-choice small{display:block;min-width:0}
.compare-choice strong{line-height:1.25}.compare-choice small{margin-top:.25rem;color:#64758a}
.compare-picker details{padding:1rem;border:1px dashed #b9cad4;border-radius:12px;background:#f7fafb}
.compare-picker summary{cursor:pointer;font-weight:800;color:#526278}
.compare-picker details label{display:block;margin-top:.8rem;font-size:.76rem;font-weight:800;color:#526278}
.compare-picker details input{display:block;width:100%;min-height:44px;margin-top:.35rem;padding:.65rem;border:1px solid #cddbe4;border-radius:8px}
.compare-picker>button{justify-self:start;min-height:48px;padding:.65rem 1rem;border:0;border-radius:9px;background:#2563eb;color:#fff;font-weight:850}
.compare-picker>p{margin:0;color:#64758a}
.passport-sharing{margin-top:1.2rem;padding:1.25rem;border:1px solid #cfe5df;border-radius:16px;background:#f4fbf8}
.passport-sharing h2{margin-top:0}.passport-sharing>div{display:flex;flex-wrap:wrap;gap:.7rem}
.passport-sharing a,.passport-sharing button,.passport-share{display:inline-flex;align-items:center;min-height:44px;padding:.6rem .8rem;border:0;border-radius:8px;background:#2563eb;color:#fff;text-decoration:none;font-weight:850}
.passport-cover .passport-share{position:relative;margin-top:1rem;background:#fff;color:#102a43}
.achievement-grid a{font-size:.72rem;font-weight:850;color:#496fd0}
@media(max-width:780px){.header-account{margin-left:auto;font-size:.8rem;padding:.45rem .55rem}.menu-toggle{margin-left:0}.compare-choices{grid-template-columns:1fr}}
.import-offer{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:760px;margin-top:1.2rem;padding:1rem;background:#fff;border:1px solid #cbd9e1;border-radius:14px}.import-offer p{margin:.15rem 0;color:#64758a}.import-offer button,.season-add{min-height:44px;padding:.6rem .8rem;border:0;border-radius:9px;background:#6ecbb8;color:#102a43;font-weight:850}.season-add{width:100%;margin-bottom:1rem}.calendar-stamped{box-shadow:0 0 0 4px #f4b942}
.event-product-tools{display:grid!important;gap:.55rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dce7ee}.event-product-tools a{padding:.6rem;background:#eaf4ff;border-radius:8px;text-decoration:none;font-size:.78rem;font-weight:800}

/* Community expansion: race-centered, accessible, and intentionally compact. */
.race-community-hero,.community-checkin,.runner-profile-head{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(1.25rem,4vw,3rem);background:#eef7ff;border-bottom:1px solid #cbdce8}
.race-community-hero h1,.runner-profile-head h1{max-width:900px;margin:.2rem 0;font-size:clamp(2.3rem,6vw,5.5rem);line-height:.94}.race-community-hero .register{flex:0 0 auto}
.community-checkin{align-items:flex-end;background:#effaf5}.community-counts{display:flex;gap:.7rem}.community-counts span{min-width:108px;padding:.9rem;background:#fff;border:1px solid #cfe2da;border-radius:14px;text-transform:capitalize}.community-counts b{display:block;font-size:1.7rem;color:#287967}.community-checkin form{display:flex;align-items:end;gap:.55rem}.community-checkin label{font-weight:800}.community-checkin select{display:block;min-height:44px;margin-top:.3rem;padding:.55rem;border:1px solid #bcd3ca;border-radius:8px;background:#fff}
.runner-row{display:flex;gap:.75rem;overflow:auto;padding:.5rem 0 1rem}.runner-row>a{display:grid;justify-items:center;flex:0 0 130px;gap:.25rem;padding:1rem;border:1px solid #d6e2e9;border-radius:14px;background:#fff;text-align:center;text-decoration:none}.runner-row small{text-transform:capitalize;color:#607487}
.runner-avatar{display:block;width:54px;height:54px;object-fit:cover;border:4px solid #183c36;border-radius:8px;background:#ffcc68 center/cover no-repeat;image-rendering:pixelated}.pixel-avatar{background:linear-gradient(#102a43 0 28%,transparent 28%),linear-gradient(90deg,#36b37e 0 28%,#ffcc68 28% 70%,#ff7a3d 70%)}
.discussion{max-width:980px;margin:auto}.post-composer{display:grid;gap:.7rem;margin:1rem 0 1.5rem;padding:1rem;border:1px solid #cbdce4;border-radius:16px;background:#fff}.post-composer label{font-weight:850}.post-composer textarea,.community-post textarea{display:block;width:100%;min-height:95px;margin-top:.35rem;padding:.8rem;border:1px solid #b9ccd7;border-radius:9px;resize:vertical}.post-composer button{justify-self:start}
.community-feed{display:grid;gap:1rem;margin-top:1.2rem}.community-post{padding:1.1rem;border:1px solid #d5e1e7;border-radius:16px;background:#fff;box-shadow:0 5px 0 #d9e6e9}.community-post header{display:flex;align-items:center;gap:.7rem}.community-post header div{display:grid}.community-post header small{color:#687b8e}.community-post>p{white-space:pre-wrap;line-height:1.65}.community-post footer{display:flex;align-items:center;gap:1rem;border-top:1px solid #e3ebef;padding-top:.7rem}.community-post footer form{margin:0}.community-post footer button{min-height:38px}.race-context{display:inline-block;margin-top:.8rem;padding:.3rem .55rem;border-radius:6px;background:#eaf4ff;font-weight:800;text-decoration:none}
.community-comment{display:flex;gap:.8rem;margin:1rem 0;padding:1rem;border-left:4px solid #36b37e;background:#fff}.community-comment.reply{margin-left:3rem;border-color:#8fb9c9}.community-comment>div{flex:1}.community-comment p{white-space:pre-wrap}.runner-profile-head{justify-content:flex-start}.runner-profile-head>.runner-avatar{width:100px;height:100px}.runner-profile-head form{margin-left:auto}.result-list{display:grid;gap:.6rem}.result-list article{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #d7e3e8;border-radius:12px;background:#fff}
.avatar-upload{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.6rem;margin:1rem 0;padding:1rem;border:1px solid #d6e2e8;border-radius:14px;background:#fff}.avatar-upload .runner-avatar{grid-row:1/4}.avatar-upload label,.avatar-upload button,.avatar-upload small{grid-column:2}.avatar-upload input{min-height:0;padding:.35rem}.avatar-upload button{justify-self:start}
.finish-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:min(100%,560px);padding:1rem;border:1px solid #cfe2da;border-radius:14px;background:#fff}.finish-details h3,.finish-details>p{grid-column:1/-1;margin:0}.finish-details label{font-size:.78rem}.finish-details input,.finish-details textarea{display:block;width:100%;min-height:42px;margin-top:.25rem;padding:.55rem;border:1px solid #bfd1d8;border-radius:8px}.finish-details label:has(input[type="checkbox"]){display:flex;align-items:center;gap:.5rem}.finish-details input[type="checkbox"]{width:20px;min-height:20px;margin:0}
@media(max-width:780px){.race-community-hero,.community-checkin,.runner-profile-head{align-items:stretch;flex-direction:column}.race-community-hero .register{align-self:stretch;text-align:center}.community-counts{display:grid;grid-template-columns:repeat(3,1fr)}.community-counts span{min-width:0;padding:.65rem}.community-checkin form{align-items:stretch;flex-direction:column}.runner-profile-head form{margin:0}.community-comment.reply{margin-left:1rem}.result-list article{flex-direction:column}.community-post footer{align-items:flex-start;flex-wrap:wrap}.finish-details{grid-template-columns:1fr}}
@media(max-width:390px){.community-counts{gap:.35rem}.community-counts span{font-size:.72rem}.community-counts b{font-size:1.35rem}.community-post,.post-composer{padding:.8rem}.runner-row>a{flex-basis:112px}}

/* Phase 2: personalized race dashboard and living community. */
.runner-dashboard{background:#f7fafc}.dashboard-welcome{padding-bottom:1.5rem;background:linear-gradient(135deg,#eef3ff,#effaf5)}.dashboard-welcome nav,.dashboard-actions,.dashboard-race-grid article nav,.post-race-prompt>div{display:flex;flex-wrap:wrap;gap:.65rem}.dashboard-welcome nav a,.dashboard-race-grid nav a,.post-race-prompt a{padding:.55rem .7rem;border-radius:8px;background:#fff;text-decoration:none;font-weight:800}.dashboard-welcome nav b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#ff7a3d;color:#fff}
.next-race-board{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;background:#203a52;color:#fff;border-block:6px solid #4da3ff}.next-race-board h2{max-width:850px;font-size:clamp(2rem,5vw,4.4rem);margin:.25rem 0}.next-race-board h2 a{color:#fff;text-decoration:none}.countdown{display:inline-flex;align-items:baseline;gap:.55rem;margin:.8rem 0;padding:.65rem 1rem;border:3px solid #f4b942;background:#14283c;font-family:monospace}.countdown b{font-size:2rem;color:#f4b942}.dashboard-actions{max-width:220px}.dashboard-actions a{display:block;width:100%;padding:.7rem;border:1px solid #4da3ff;border-radius:8px;color:#fff;text-align:center;text-decoration:none;font-weight:850}.dashboard-actions .primary{background:#4da3ff;color:#203a52}
.dashboard-race-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dashboard-race-grid article{padding:1rem;border:1px solid #d3e0e6;border-radius:15px;background:#fff;box-shadow:0 5px 0 #dce8eb}.dashboard-race-grid article>span,.topic-badge{display:inline-block;padding:.25rem .5rem;border-radius:999px;background:#eaf4ff;color:#496fd0;font-size:.72rem;font-weight:900;text-transform:uppercase}.dashboard-race-grid .status-registered>span{background:#dff6ee;color:#277a68}
.post-race-prompt,.honest-empty{padding:1.25rem;border:1px dashed #b8cbd4;border-radius:16px;background:#fffdf5}.post-race-prompt{border-style:solid;border-color:#ffca66;background:#fff8e8}.post-race-prompt h2{margin:.25rem 0}.post-race-prompt a{border:1px solid #e5b957}
.community-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:.6rem;max-width:720px;margin-top:1rem}.community-search label{font-weight:850}.community-search input,.community-search select{display:block;width:100%;min-height:46px;margin-top:.3rem;padding:.65rem;border:1px solid #bfd0d8;border-radius:9px;background:#fff}
.notification-center{display:grid;gap:.7rem}.notification-center article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.8rem;padding:1rem;border:1px solid #d6e3e9;border-radius:13px;background:#fff}.notification-center article>span{width:10px;height:10px;border-radius:50%;background:#b8c6ce}.notification-center .unread{border-color:#6ecbb8;background:#f4fcf9}.notification-center .unread>span{background:#ff7a3d;box-shadow:0 0 0 4px #ffe4df}.notification-center p{margin:.2rem 0;color:#5f7285}.notification-center form{margin:0}
.runner-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.runner-directory article{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid #d6e2e8;border-radius:14px;background:#fff}.runner-directory h2{margin:0;font-size:1.15rem}.runner-directory p{margin:.2rem 0}.profile-actions{display:grid;gap:.5rem;margin-left:auto}.profile-actions form{margin:0}
.race-history,.activity-log{display:grid;gap:.65rem}.race-history article,.activity-log article{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid #d5e2e8;border-radius:12px;background:#fff}.race-history time{display:grid;font-family:monospace;font-weight:900;color:#277a68}.race-history time small{color:#63768a}.race-history h3{margin:0}.race-history p{margin:.25rem 0}.activity-log article{grid-template-columns:auto minmax(0,1fr) auto}.activity-log article>span{font-size:1.4rem;color:#ff7a3d}
.onboarding{max-width:850px;margin:auto}.onboarding>p,.onboarding>h1{text-align:center}.onboarding form{display:grid;gap:1rem;padding:1.5rem;border:1px solid #cfe0e7;border-radius:18px;background:#fff}.onboarding fieldset{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;border:0}.onboarding fieldset label{padding:.75rem;border:1px solid #d4e0e6;border-radius:9px;background:#f8fbfc}.onboarding-location{display:grid;grid-template-columns:2fr 1fr;gap:.7rem}.onboarding-location input{display:block;width:100%;min-height:46px;margin-top:.3rem;padding:.65rem;border:1px solid #bfd0d8;border-radius:8px}
.achievement-badge{display:grid;align-content:start;gap:.45rem;min-height:230px;padding:1rem;border:1px solid #d5e0e6;border-radius:14px;background:#fff}.achievement-badge.locked{filter:grayscale(.85);opacity:.64}.pixel-medal{display:grid;place-items:center;width:64px;height:64px;border:6px solid #183c36;background:#f4b942;color:#ff7a3d;font-size:2rem;box-shadow:6px 6px 0 #8fb9c9}.achievement-badge p{margin:0}.achievement-badge time{font-size:.75rem;color:#617387}.achievement-unlock{max-width:460px;padding:2rem;border:6px solid #183c36;border-radius:16px;text-align:center;background:#fffdf5;box-shadow:12px 12px 0 #36b37e}.achievement-unlock::backdrop{background:#14283ccc}.achievement-unlock .pixel-medal{margin:1rem auto}.achievement-unlock[open]{animation:unlock-pop .35s ease-out}@keyframes unlock-pop{from{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}
@media(max-width:900px){.next-race-board{grid-template-columns:1fr}.dashboard-actions{max-width:none}.dashboard-race-grid,.runner-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dashboard-race-grid,.runner-directory,.community-search{grid-template-columns:1fr}.notification-center article{grid-template-columns:auto minmax(0,1fr)}.notification-center article>a,.notification-center article>form{grid-column:2}.race-history article,.activity-log article{grid-template-columns:70px minmax(0,1fr)}.race-history article>span,.activity-log article>time{grid-column:2}.onboarding fieldset{grid-template-columns:repeat(2,1fr)}.onboarding-location{grid-template-columns:1fr}.profile-actions{margin:0;width:100%}}
@media(prefers-reduced-motion:reduce){.achievement-unlock[open]{animation:none}}
@media(max-width:1050px) and (min-width:781px){.menu-toggle{display:block;margin-left:auto}.site-header{gap:.8rem}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:1rem 22px;border-bottom:3px solid #4da3ff;background:#102a43;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{min-height:44px;display:flex;align-items:center;justify-content:space-between}.header-account{margin-left:0}}
.quiet-community{max-width:280px;margin:0;color:#365d55;font-weight:750}.runner-row.grouped-runners{display:grid;overflow:visible}.runner-status-group>div{display:flex;gap:.75rem;overflow:auto;padding:.25rem 0 .75rem}.runner-status-group>div>a{display:grid;justify-items:center;flex:0 0 130px;gap:.25rem;padding:1rem;border:1px solid #d6e2e9;border-radius:14px;background:#fff;text-align:center;text-decoration:none}.runner-status-group h3{margin:.5rem 0;color:#277a68;text-transform:capitalize}
/* Phase 3: race intelligence */
.race-companion>section{margin-block:1.5rem}.race-overview{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:2rem;background:linear-gradient(135deg,#eef7ff,#f7f4ff);border:1px solid var(--line);border-radius:24px;padding:clamp(1.25rem,3vw,2.5rem)}.race-overview aside{display:flex;flex-direction:column;gap:.8rem}.official-label,.knowledge-label{display:inline-flex;width:max-content;padding:.35rem .55rem;border-radius:6px;background:#dce9f4;color:#314d67;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.knowledge-label{background:#dff7ee;color:#176b58}.community-race,.runner-guide,.race-tools,.contribution-card,.prep-grid>div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1rem,2vw,2rem);box-shadow:0 8px 0 #deebef}.guide-list{display:grid;gap:1rem}.guide-tip{border:1px solid #cde4dc;border-left:6px solid #63c9ad;border-radius:14px;padding:1rem;background:#fbfffd}.guide-tip>div,.guide-tip footer{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.guide-tip footer{font-size:.85rem;color:var(--muted)}.guide-tip form{display:inline}.text-button{background:none!important;color:var(--ink)!important;border:0!important;box-shadow:none!important;padding:.2rem;text-decoration:underline}.community-disclaimer{font-size:.88rem;color:var(--muted);margin-top:1rem}.race-tools{display:flex;gap:1rem;flex-wrap:wrap}.race-tools a,.next-actions a{font-weight:800}.form-shell{max-width:760px;margin-inline:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1.2rem,3vw,2.5rem);box-shadow:0 9px 0 #deebef}.form-shell form,.contribution-card form{display:grid;gap:1rem}.form-shell label,.contribution-card label,.prep-grid label{display:grid;gap:.4rem;font-weight:800}.form-shell input,.form-shell select,.form-shell textarea,.contribution-card select,.contribution-card textarea,.prep-grid input,.prep-grid textarea,.admin-queue input,.admin-queue select{width:100%;min-width:0;padding:.8rem;border:1px solid #bfd1dc;border-radius:9px;background:#fff;font:inherit}.form-shell textarea,.contribution-card textarea,.prep-grid textarea{min-height:8rem}.field-pair,.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.check-row{grid-template-columns:auto 1fr!important;align-items:center;padding:.65rem;border-bottom:1px solid var(--line)}.check-row input{width:1.25rem;height:1.25rem}.tag-picker{display:flex;gap:.6rem;flex-wrap:wrap}.tag-picker label{display:flex;padding:.55rem .75rem;background:#eef7ff;border-radius:999px}.tag-picker input{width:auto}.next-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.admin-queue{display:grid;gap:1rem}.admin-queue article{display:grid;gap:.5rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:12px}.admin-queue form{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem}.guide-hero:after,.prep-hero:after,.finish-recap:after{content:'↟';display:grid;place-items:center;width:54px;height:54px;background:#ffd36d;border:6px solid #253a54;box-shadow:8px 8px 0 #63c9ad;font-size:2rem}
@media(max-width:820px){.race-overview,.field-pair,.prep-grid{grid-template-columns:1fr}.race-overview aside{width:100%}.admin-queue form{grid-template-columns:1fr}.race-tools{display:grid}.guide-tip footer{align-items:flex-start}.guide-hero:after,.prep-hero:after,.finish-recap:after{display:none}}
html{overflow-x:clip}

/* Phase 4.1: RunnerUp's colorful pixel running world. */
:root{--ru-ink:#102a43;--ru-sky:#4da3ff;--ru-sun:#f4b942;--ru-coral:#ff7a3d;--ru-pink:#6ccf9f;--ru-lav:#8fb9c9;--ru-mint:#36b37e;--ru-peach:#f6c177;--ru-cream:#f8fbf7;--ru-paper:#f8fbff;--ru-shadow:#b8d7d0}
body{color:var(--ru-ink);background:linear-gradient(180deg,#f8fbff,#fff9ee 50%,#f6f2ff);font-size:17px}
.site-header{background:#102a43f5;border-bottom:5px solid var(--ru-sky);box-shadow:0 5px 0 #8fb9c9;backdrop-filter:none}.site-header nav a,.header-account{border-radius:999px;padding:.45rem .7rem}.site-header nav a:hover,.site-header nav a:focus-visible{background:#fff;color:#102a43}.header-search{background:var(--ru-sun)!important;border-radius:10px;color:#102a43!important;box-shadow:4px 4px 0 var(--ru-coral)}
.product-nav{background:#f8fbf7;border-bottom:3px solid #e4daf7;box-shadow:0 5px 0 #e8f5f1}.product-nav a{border-radius:999px}.product-nav a:hover{background:#e6f7ff;color:#102a43}
.passport-hero{position:relative;min-height:650px;align-items:start;padding-top:58px!important;padding-bottom:250px!important;background:linear-gradient(90deg,#f8fbf7f2 0 48%,#f8fbf730 72%),url('/art/runnerup-world.svg') center bottom/cover no-repeat;border-bottom:12px solid #102a43;overflow:hidden}.passport-hero:after{content:'MILE 0  ·  YOUR ADVENTURE STARTS HERE';position:absolute;left:0;right:0;bottom:0;padding:.55rem;text-align:center;background:#102a43;color:#f4b942;font:900 .72rem ui-monospace,monospace;letter-spacing:.1em}.passport-hero>div:first-child{position:relative;z-index:2;max-width:820px}.passport-hero h1{font-size:clamp(3.2rem,7vw,6.7rem);line-height:.88;color:#102a43;text-shadow:5px 5px 0 #fff}.passport-hero>div:first-child>p:not(.kicker){max-width:650px;font-size:1.2rem}.passport-preview{transform:rotate(3deg);border:5px solid #102a43!important;background:#fff!important;box-shadow:12px 12px 0 #8fb9c9!important}
.starting-board{border:4px solid #102a43!important;border-radius:16px!important;overflow:visible;background:#102a43!important;box-shadow:9px 9px 0 #36b37e!important}.starting-board label{background:#fff!important}.search-submit{background:var(--ru-coral)!important}.near{background:var(--ru-sky)!important}.hero-actions a,.primary,button{border-radius:9px}.hero-actions .primary,.primary{background:#2563eb!important;color:#fff!important;box-shadow:4px 4px 0 #102a43}
.product-steps{gap:1.2rem;background:#fff3e1}.product-steps article{position:relative;border:3px solid #102a43!important;border-radius:18px!important;background:#fff!important;box-shadow:8px 8px 0 var(--step-color,#f4b942)!important}.product-steps article:nth-child(2){--step-color:#36b37e}.product-steps article:nth-child(3){--step-color:#6ccf9f}.product-steps article:nth-child(4){--step-color:#8fb9c9}.product-steps article>span{background:var(--step-color)!important;border:3px solid #102a43!important}
.race-list{gap:24px}.race-card{border:3px solid #102a43;border-radius:18px 18px 8px 8px;background:#fff;box-shadow:8px 8px 0 var(--card-accent,#b8d7d0);overflow:hidden}.race-card:hover,.race-card:focus-within{transform:translate(-3px,-4px) rotate(-.15deg);box-shadow:12px 13px 0 var(--card-accent,#b8d7d0)}.bib-top{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:48px;padding:.6rem 1rem;background:#102a43;border-bottom:6px solid var(--card-accent)}.bib-top b{justify-self:end}.distance-mark{padding:.22rem .48rem;background:var(--ru-sun);color:#102a43;border-radius:5px;font:950 .7rem ui-monospace,monospace;letter-spacing:.04em}.race-card-body{padding:1.25rem}.race-card time{border:3px solid #102a43;border-radius:8px;background:#fff5d9;padding:.45rem}.race-card .save{border-radius:999px;background:#fff}.view-event{border-radius:8px;background:#102a43!important;color:#fff!important}.terrain-trail{--card-accent:#36b37e}.terrain-cycle{--card-accent:#4da3ff}.terrain-virtual{--card-accent:#8fb9c9}.terrain-city{--card-accent:#6ccf9f}.terrain-coast{--card-accent:#4da3ff}.terrain-sunset{--card-accent:#f6c177}
.race-companion{background:linear-gradient(180deg,#e8f8ff,#f8fbf7 34%,#f2fbf7)}.race-overview,.race-community-hero{position:relative;overflow:hidden;border:4px solid #102a43!important;border-radius:24px!important;background:linear-gradient(135deg,#4da3ff 0 54%,#f8fbf7 54%)!important;box-shadow:12px 12px 0 #8fb9c9!important}.race-overview:before,.race-community-hero:before{content:'RACE HQ';position:absolute;right:24px;top:20px;padding:.4rem .65rem;background:#102a43;color:#f4b942;font:950 .78rem ui-monospace,monospace;letter-spacing:.12em}.race-overview h1,.race-community-hero h1{max-width:850px;font-size:clamp(2.5rem,6vw,5.8rem);line-height:.9}.official-label{background:#fff;border:2px solid #102a43}.community-race{border-color:#36b37e!important;background:#effaf5!important}.runner-guide{border-color:#8fb9c9!important;background:#f7f3ff!important}.community-checkin{border:3px solid #102a43!important;border-radius:20px;background:#eafaf4!important;box-shadow:8px 8px 0 #36b37e}.community-counts span,.season-stats span{border:2px solid #102a43!important;border-radius:12px!important;box-shadow:4px 4px 0 #f4b942}
.countdown{border:5px solid #102a43!important;border-radius:8px;background:#182c42!important;box-shadow:7px 7px 0 #ff7a3d}.countdown b{font:950 2.2rem ui-monospace,monospace;color:#f4b942}
.runner-dashboard{background:linear-gradient(180deg,#eaf6ff,#f8fbf7)}.dashboard-welcome{position:relative;border-bottom:5px solid #8fb9c9;background:linear-gradient(120deg,#dff4ff,#eaf4ff 55%,#fff2db)}.dashboard-welcome:after{content:'YOUR RUNNING ADVENTURE';display:inline-block;margin-top:1rem;padding:.35rem .55rem;background:#102a43;color:#f4b942;font:900 .7rem ui-monospace,monospace;letter-spacing:.1em}.dashboard-race-grid article{border:3px solid #102a43;border-radius:18px;box-shadow:7px 7px 0 #36b37e}.race-history{position:relative;padding-left:24px}.race-history:before{content:'';position:absolute;left:8px;top:0;bottom:0;width:6px;background:repeating-linear-gradient(#8fb9c9 0 14px,#fff 14px 24px)}
.achievement-grid{align-items:stretch}.achievement-badge,.achievement-grid>span{position:relative;border:3px solid #102a43!important;border-radius:14px!important;background:#f8fbf7!important;box-shadow:7px 7px 0 #8fb9c9!important}.achievement-badge:nth-child(3n+2),.achievement-grid>span:nth-child(3n+2){box-shadow-color:#36b37e!important}.achievement-badge:nth-child(3n),.achievement-grid>span:nth-child(3n){box-shadow-color:#6ccf9f!important}.achievement-badge.locked{background:#e9eef2!important;opacity:.68}.achievement-grid:before{content:'TROPHY ROOM';grid-column:1/-1;padding:1rem;border:5px solid #102a43;background:linear-gradient(90deg,#f4b942,#f6c177,#6ccf9f,#8fb9c9);color:#102a43;text-align:center;font:950 clamp(1.4rem,4vw,2.6rem) ui-monospace,monospace;letter-spacing:.08em;box-shadow:9px 9px 0 #102a43}.achievement-unlock{border-radius:20px;background:linear-gradient(145deg,#f8fbf7,#eaf4ff);box-shadow:12px 12px 0 #36b37e}.achievement-unlock[open]:after{content:'✦  ·  ✦  ·  ✦';display:block;color:#ff7a3d;animation:particleGlow .8s steps(2) 3}@keyframes particleGlow{50%{transform:translateY(-4px);color:#8fb9c9}}
.dashboard-head:has(+section .community-feed),main:has(.community-feed) .dashboard-head{position:relative;background:linear-gradient(135deg,#ffe7f1,#e7f8ff 50%,#ebfbf5);border-bottom:5px solid #6ccf9f}.dashboard-head:has(+section .community-feed):after{content:'RUNNER VILLAGE';position:absolute;right:24px;bottom:18px;padding:.35rem .55rem;background:#102a43;color:#f4b942;font:900 .7rem ui-monospace,monospace}.community-post{border:3px solid #102a43;border-radius:18px;background:#fff;box-shadow:7px 7px 0 #f6c177}.community-post:nth-child(3n+2){box-shadow-color:#36b37e}.community-post:nth-child(3n){box-shadow-color:#8fb9c9}.community-comment{border:2px solid #102a43;border-left:8px solid #36b37e;border-radius:12px;box-shadow:5px 5px 0 #dceee9}
.runner-profile-head{position:relative;border:5px solid #102a43!important;border-radius:24px;background:linear-gradient(120deg,#f8fbf7,#e8f8ff)!important;box-shadow:10px 10px 0 #6ccf9f}.runner-profile-head:before{content:'RUNNER ID';position:absolute;right:20px;top:18px;padding:.35rem .55rem;background:#102a43;color:#f4b942;font:900 .7rem ui-monospace,monospace}.runner-profile-head>.runner-avatar{border-width:6px;box-shadow:7px 7px 0 #36b37e}
.empty,.honest-empty,.course-error,.support-hero{position:relative;border:4px dashed #102a43!important;border-radius:20px;background:#f8fbf7!important;box-shadow:8px 8px 0 #8fb9c9;padding:clamp(2rem,6vw,5rem);text-align:center}.empty:before{content:'OPEN COURSE';color:#ff7a3d}.course-error h1,.support-hero h1{font-size:clamp(2.6rem,7vw,5.5rem);line-height:.92}.pixel-sign{display:block;width:84px;height:64px;margin:0 auto 1rem;background:#f4b942;border:6px solid #102a43;box-shadow:8px 8px 0 #36b37e;position:relative}.pixel-sign:before{content:'?';display:grid;place-items:center;height:100%;font:950 2rem ui-monospace,monospace}.support-paths{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.support-paths a{padding:.8rem 1rem;border:3px solid #102a43;border-radius:10px;background:#fff;box-shadow:4px 4px 0 #36b37e;font-weight:850;text-decoration:none}
.loading-track{border:4px solid #102a43;border-radius:12px;background:#f8fbf7;color:#102a43;box-shadow:7px 7px 0 #36b37e}.loading-track:before{content:'';width:60px;height:6px;background:repeating-linear-gradient(90deg,#102a43 0 12px,transparent 12px 20px)}
.form-shell,.account-panel form{border:3px solid #102a43!important;border-radius:18px!important;box-shadow:8px 8px 0 #36b37e!important}.starting-line-auth{background:linear-gradient(135deg,#dff5ff,#fff3dc 55%,#eaf4ff)}.auth-world{position:relative}.pixel-start-arch{display:block;width:160px;height:100px;border:14px solid #102a43;border-bottom:0;background:repeating-linear-gradient(90deg,#ff7a3d 0 20px,#f8fbf7 20px 40px);box-shadow:7px 0 #36b37e,-7px 0 #8fb9c9;margin-bottom:1.4rem}.policy-check{display:grid!important;grid-template-columns:auto 1fr!important}.policy-check input{width:20px!important}
.site-footer{background:#102a43;border-top:10px solid #8fb9c9}.site-footer:before{content:'FINISH STRONG  ·  FIND THE NEXT START';grid-column:1/-1;padding:.6rem;background:#f4b942;color:#102a43;text-align:center;font:950 .74rem ui-monospace,monospace;letter-spacing:.1em}
button,.register,.section-action,.header-search{transition:transform .12s,box-shadow .12s}button:active,.register:active,.section-action:active,.header-search:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #102a43!important}.save.stamping{animation:stampPop .3s steps(3)}@keyframes stampPop{50%{transform:scale(1.12) rotate(-3deg)}}
@media(max-width:780px){.passport-hero{min-height:680px;padding:34px 18px 210px!important;background:linear-gradient(#f8fbf7f5,#f8fbf788 60%),url('/art/runnerup-world.svg') 58% bottom/auto 330px no-repeat}.passport-preview{display:none}.passport-hero h1{font-size:3.35rem}.starting-board{grid-template-columns:1fr!important}.bib-top{grid-template-columns:1fr auto}.bib-top .distance-mark{grid-column:2}.bib-top b{display:none}.race-card-body{grid-template-columns:64px minmax(0,1fr)}.race-card .save{grid-column:2;min-height:48px}.race-overview:before,.race-community-hero:before{position:static;display:inline-block;margin-bottom:1rem}.runner-profile-head:before{position:static;align-self:flex-start}.support-hero{padding:2rem 1rem}.achievement-grid:before{font-size:1.35rem}}
@media(max-width:390px){.passport-hero h1{font-size:2.85rem}.passport-hero>div:first-child>p:not(.kicker){font-size:1rem}.race-card{box-shadow:5px 5px 0 var(--card-accent)}.race-card-body{padding:.85rem}.community-counts{grid-template-columns:1fr 1fr 1fr}.site-header{padding-inline:14px}.header-account{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.achievement-unlock[open]:after,.save.stamping{animation:none!important}}
.community-race form{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.community-race form label{display:grid;gap:.35rem;font-weight:850}.community-race form select{min-height:46px;padding:.65rem;border:2px solid #102a43;border-radius:9px;background:#fff}.community-race form button{min-height:46px;padding:.65rem .9rem;border:2px solid #102a43;background:#f4b942;color:#102a43;font-weight:900;box-shadow:4px 4px 0 #36b37e}
@media(max-width:620px){.community-race form,.community-race form label,.community-race form select,.community-race form button{width:100%}}

/* Phase 4.1e — full-bleed product world, compact navigation, and calm motion. */
@media(min-width:1061px){
  .site-header{height:74px;gap:clamp(.6rem,1.3vw,1.5rem);padding-inline:clamp(22px,3vw,64px)}
  .site-header .brand{flex:0 0 auto}.site-header .brand b{font-size:1.25rem;white-space:nowrap}
  .site-header nav{flex:1;justify-content:center;gap:clamp(.2rem,.75vw,.8rem);min-width:0}
  .site-header nav a{min-height:38px;padding:.38rem .58rem!important;font-size:clamp(.76rem,.72vw,.9rem)!important;line-height:1.1;white-space:nowrap}
  .header-account{flex:0 0 auto;margin-left:0!important;min-height:40px;padding:.45rem .75rem!important;border:1px solid #4da3ff;font-size:.86rem;white-space:nowrap}
  .header-search{flex:0 0 auto;margin-left:0!important;min-height:42px;padding:.55rem .85rem!important;font-size:.88rem!important;white-space:nowrap}
}
body:has(.product-home) .product-nav{display:none}
.product-home{width:100%;max-width:none;margin:0}
.product-home>section{width:100%;max-width:none;margin-inline:0;padding-inline:clamp(24px,5vw,96px)}
.product-home .passport-hero{width:100%;max-width:none!important;min-height:min(780px,calc(100vh - 74px));grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr);gap:clamp(2.5rem,5vw,7rem);padding:clamp(64px,7vh,110px) clamp(28px,6vw,120px) 245px!important;border-radius:0}
.passport-hero>div:first-child{max-width:980px}.passport-hero h1{max-width:900px;font-size:clamp(4rem,6vw,7.2rem)}
.passport-hero>div:first-child>p:not(.kicker){max-width:780px;font-size:clamp(1.05rem,1.25vw,1.3rem)}
.passport-hero .starting-board{width:min(100%,1050px)}.passport-hero .hero-actions{gap:1.25rem}
.passport-preview{justify-self:end;width:min(100%,620px);min-height:440px}
.product-home .product-steps,.product-home .passport-story,.product-home>section:not(.passport-hero){padding-top:clamp(64px,7vw,110px);padding-bottom:clamp(64px,7vw,110px)}
.product-home .organizer-invite{margin-bottom:0!important;border-radius:0}

@keyframes heroArrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes passportFloat{0%,100%{transform:rotate(1.5deg) translateY(0)}50%{transform:rotate(-.5deg) translateY(-10px)}}
@keyframes stampHello{0%,84%,100%{transform:rotate(-5deg) translateY(0)}90%{transform:rotate(-2deg) translateY(-5px)}}
@keyframes worldDrift{0%,100%{background-position:center bottom}50%{background-position:52% bottom}}
.passport-hero>div:first-child{animation:heroArrive .65s cubic-bezier(.2,.75,.25,1) both}
.passport-hero .starting-board{animation:heroArrive .7s .14s cubic-bezier(.2,.75,.25,1) both}
.passport-preview{animation:passportFloat 5.5s ease-in-out infinite}
.passport-preview .stamp-row b{animation:stampHello 5s ease-in-out infinite}.passport-preview .stamp-row b:nth-child(2){animation-delay:.35s}.passport-preview .stamp-row b:nth-child(3){animation-delay:.7s}
.passport-hero{animation:worldDrift 16s ease-in-out infinite}
.product-steps article,.product-demo article,.race-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.product-steps article:hover,.product-demo article:hover{transform:translateY(-6px);box-shadow:8px 12px 0 #b8d7d0!important}
.hero-actions a{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.hero-actions a:hover{transform:translateY(-3px)}

@media(max-width:1060px){body:has(.product-home) .product-nav{display:none}.product-home .passport-hero{grid-template-columns:1fr;min-height:auto;padding-inline:clamp(20px,5vw,52px)!important}.passport-preview{justify-self:start;width:min(100%,520px)}}
@media(max-width:780px){.product-home .passport-hero{padding-bottom:210px!important}.passport-hero h1{font-size:clamp(3rem,13vw,4.6rem)}}
@media(prefers-reduced-motion:reduce){.passport-hero>div:first-child,.passport-hero .starting-board,.passport-preview,.passport-preview .stamp-row b,.passport-hero{animation:none!important}}

/* 8bitrun.com — energetic arcade palette derived from the official logo. */
:root{
  --ru-ink:#070629;--ru-sky:#19bfff;--ru-sun:#ffd21a;--ru-coral:#ff397f;
  --ru-pink:#ff5aa5;--ru-lav:#a63cff;--ru-mint:#23d18b;--ru-peach:#ff8a24;
  --ru-cream:#fffaf0;--ru-paper:#ffffff;--ru-shadow:#19257a;
  --ink:#070629;--muted:#4d527c;--line:#dce7ff;--paper:#ffffff;
}
body{background:linear-gradient(180deg,#f4fbff 0,#fff8d8 46%,#f7efff 100%)}
.site-header{background:#070629f7;border-bottom-color:#19bfff;box-shadow:0 5px 0 #a63cff}
.site-header .brand b{color:#fff;text-shadow:2px 2px 0 #a63cff}.site-header nav a:hover,.site-header nav a:focus-visible{background:#ffd21a;color:#070629}
.site-header .brand img,.site-footer .footer-brand img{object-fit:contain;background:#070629;border-radius:8px}
.site-header .brand span{display:none}
.site-header .brand img{width:118px;height:64px;border-radius:0}
.site-footer .footer-brand strong{display:none}
.site-footer .footer-brand img{width:190px;height:126px;border-radius:0}
.header-account{border-color:#19bfff!important;color:#fff!important}.header-account:hover{background:#19bfff!important;color:#070629!important}
.header-search{background:#ffd21a!important;color:#070629!important;box-shadow:4px 4px 0 #ff397f!important}
.course-progress{background:#ffd21a}.course-progress span{background:linear-gradient(90deg,#19bfff,#a63cff,#ff397f,#ffd21a)}
.passport-hero{background:radial-gradient(circle at 72% 28%,#19bfff33,transparent 30%),linear-gradient(105deg,#f9fdff 0 52%,#e7f8ff 52% 72%,#fff1b8 72%);border-bottom-color:#070629}
.passport-hero:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(#19bfff 1px,transparent 1px),linear-gradient(90deg,#19bfff 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent 0 42%,#000)}
.passport-hero:after{background:#070629;color:#ffd21a;content:'LEVEL 01  ·  FIND YOUR NEXT STARTING LINE'}
.passport-hero h1{text-shadow:5px 5px 0 #fff,9px 9px 0 #19bfff}.kicker,.eyebrow{color:#ff397f!important}
.eightbit-hero-logo{position:relative;z-index:2;align-self:center;justify-self:end;width:min(100%,720px);filter:drop-shadow(0 18px 0 #07062933);animation:logoPowerUp 5.5s ease-in-out infinite}
.eightbit-hero-logo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.eightbit-hero-logo span{display:block;width:max-content;max-width:92%;margin:-6% auto 0;padding:.65rem 1rem;border:4px solid #fff;background:#070629;color:#ffd21a;box-shadow:6px 6px 0 #ff397f;font:950 clamp(.65rem,1vw,.9rem) ui-monospace,monospace;letter-spacing:.08em;text-align:center}
@keyframes logoPowerUp{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-12px) rotate(-1deg)}}
.starting-board{border-color:#070629!important;background:#070629!important;box-shadow:9px 9px 0 #a63cff!important}.search-submit{background:#ff397f!important}.near{background:#19bfff!important;color:#070629!important}
.hero-actions .primary,.primary{background:#a63cff!important;box-shadow:5px 5px 0 #ff397f!important}.hero-actions>a:not(.primary){text-decoration-color:#19bfff;text-decoration-thickness:4px;text-underline-offset:7px}
.product-steps{background:linear-gradient(90deg,#fff4b9,#ffe8f3,#eae0ff,#dff8ff)}
.product-steps article{border-color:#070629!important;box-shadow:8px 8px 0 var(--step-color,#ffd21a)!important}.product-steps article:nth-child(2){--step-color:#19bfff}.product-steps article:nth-child(3){--step-color:#ff397f}.product-steps article:nth-child(4){--step-color:#a63cff}
.product-steps article>span{color:#070629!important}.product-demo article,.race-card,.form-shell,.community-post{border-color:#070629!important}.race-card{--card-accent:#19bfff}.race-card:nth-child(4n+2){--card-accent:#ff397f}.race-card:nth-child(4n+3){--card-accent:#ffd21a}.race-card:nth-child(4n){--card-accent:#a63cff}
.bib-top,.view-event{background:#070629!important}.distance-mark{background:#ffd21a}.site-footer{background:#070629;border-top-color:#a63cff}.site-footer:before{background:linear-gradient(90deg,#ffd21a,#ff8a24,#ff397f,#a63cff,#19bfff);color:#070629;content:'8BITRUN.COM  ·  FIND YOUR NEXT STARTING LINE'}
@media(max-width:1060px){.eightbit-hero-logo{justify-self:center;width:min(100%,610px)}}
@media(max-width:780px){.eightbit-hero-logo{width:min(100%,480px);margin-top:1rem}.eightbit-hero-logo span{margin-top:-3%;border-width:3px}.passport-hero:before{mask-image:none;opacity:.08}}
@media(max-width:780px){.site-header .brand img{width:94px;height:52px}.site-footer .footer-brand img{width:156px;height:104px}}
/* 8bitrun logo-first navigation sizing. */
.site-header .brand img{width:160px;height:88px}
.site-footer .footer-brand img{width:240px;height:160px}
@media(min-width:1061px){.site-header{height:96px}.site-header .brand img{width:160px;height:88px}}
@media(max-width:780px){
  .site-header{height:88px;gap:8px;padding:6px 12px}
  .site-header .brand{flex:1 1 auto;min-width:0}
  .site-header .brand img{width:136px;height:76px;max-width:100%}
  .menu-toggle{order:2;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-left:auto!important;min-width:54px;min-height:44px;padding:7px 9px!important;border:2px solid #19bfff;border-radius:10px;font-size:.76rem!important;font-weight:900}
  .menu-toggle i,.menu-toggle i:before,.menu-toggle i:after{display:block;width:18px;height:3px;background:#ffd21a;content:''}
  .menu-toggle i{position:relative}.menu-toggle i:before{position:absolute;top:-6px}.menu-toggle i:after{position:absolute;top:6px}
  .menu-toggle[aria-expanded="true"] i{background:transparent}.menu-toggle[aria-expanded="true"] i:before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] i:after{top:0;transform:rotate(-45deg)}
  .header-account{order:3;min-height:44px!important;margin-left:0!important;padding:7px 10px!important;font-size:.76rem!important;white-space:nowrap}
  .site-header nav{top:88px;padding:12px;border-bottom:5px solid #a63cff;box-shadow:0 8px 0 #19bfff}
  .site-header nav a{padding:12px 14px;border:2px solid #25245a;border-radius:8px;background:#11113b}
  .site-footer .footer-brand img{width:210px;height:140px}
}

/* Keep the guest community action clear of the discussion panel. */
.community-race>a[href^="/account"],.community-checkin>a[href^="/account"]{
  display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;
  margin:1.4rem 0 2rem;padding:.8rem 1.1rem;border:2px solid #070629;border-radius:10px;
  background:#ffd21a;color:#070629;box-shadow:5px 5px 0 #ff397f;font-weight:900;text-decoration:none;
}
.community-race>a[href^="/account"]+.honest-empty,.community-checkin>a[href^="/account"]+.honest-empty{margin-top:0}
@media(max-width:620px){.community-race>a[href^="/account"],.community-checkin>a[href^="/account"]{width:100%;margin-bottom:1.5rem}}
@media(max-width:360px){.site-header .brand img{width:118px;height:68px}.menu-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.menu-toggle{min-width:44px}.header-account{padding-inline:8px!important}}

/* Fluid modern shell — internal pages use the full viewport, not the legacy 1240px box. */
:root{--page-gutter:clamp(20px,4vw,96px);--section-space:clamp(56px,6vw,104px)}
main:not(.product-home){width:100%;max-width:none;margin:0}
main:not(.product-home)>section,
main:not(.product-home)>.crumbs,
main:not(.product-home)>.event,
main:not(.product-home)>.notice,
.runner-dashboard>section,
.race-companion>section{width:100%;max-width:none;margin-inline:0;padding-inline:var(--page-gutter)}
main:not(.product-home)>section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.results-head,.dashboard-head,.dashboard-welcome{max-width:none!important;padding-inline:var(--page-gutter)!important}
.results-head .search,.dashboard-head>*,.dashboard-welcome>*{max-width:none}
.race-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:clamp(18px,2vw,32px)}
.dashboard-race-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.community-feed,.guide-list,.recommendation-list,.notification-center,.race-history{width:100%;max-width:none}
.empty,.honest-empty,.course-error,.support-hero{width:100%;max-width:none;border:1px solid #cfdcf4!important;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f5fbff 58%,#fff8cf 100%)!important;box-shadow:0 18px 50px #07062912,8px 8px 0 #19bfff55!important;padding:clamp(44px,5vw,86px)!important}
.form-shell,.contribution-card{width:min(100% - (var(--page-gutter) * 2),980px);max-width:980px!important;margin-inline:auto!important}
.contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.account-shell{width:100%;max-width:none!important;padding-inline:var(--page-gutter)!important}
.event,.race-overview,.race-community-hero{max-width:none!important}
.site-footer{width:100%;max-width:none;padding:clamp(48px,5vw,86px) var(--page-gutter);grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);column-gap:clamp(40px,7vw,140px);row-gap:32px}
.site-footer:before{margin-inline:calc(var(--page-gutter) * -1);width:calc(100% + (var(--page-gutter) * 2))}
.site-footer nav{align-content:start}.site-footer small,.site-footer .creation-credit{max-width:none}
@media(min-width:1800px){
  .race-list{grid-template-columns:repeat(4,minmax(0,1fr))}
  .dashboard-race-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .season-list,.recommendation-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .season-card,.recommendation-card{grid-template-columns:minmax(0,1fr);align-content:start}
  .season-card form,.recommendation-card form{justify-content:flex-start}
  .community-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .community-feed>.empty,.community-feed>.honest-empty{grid-column:1/-1}
  .season-stats{max-width:1100px}
}
@media(max-width:780px){
  :root{--page-gutter:18px;--section-space:52px}
  .site-footer{grid-template-columns:1fr;padding-inline:20px}
  .site-footer:before{margin-inline:-20px;width:calc(100% + 40px)}
  .empty,.honest-empty,.course-error,.support-hero{padding:36px 22px!important;border-radius:20px}
  .form-shell,.contribution-card{width:calc(100% - 36px)}
}
@media(prefers-reduced-motion:reduce){.eightbit-hero-logo{animation:none!important}}
