:root{--paper:#faf8f3;--ink:#171717;--red:#d60027;--yellow:#ffd83d;--muted:#66645f;--line:#d9d6cd;--body:'Barlow',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',sans-serif;color-scheme:light;font-family:var(--body);font-size:18px;color:var(--ink);background:var(--paper)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700}p{line-height:1.55}em{font-style:normal;color:var(--red)}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-100px;z-index:99;padding:15px;background:var(--yellow)}.skip-link:focus{top:15px}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:var(--paper);gap:24px;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{width:112px;height:78px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.brand img{width:106px;mix-blend-mode:multiply}.site-header nav{display:flex;gap:32px;align-items:center}.site-header nav a{font-size:16px;font-weight:600;min-height:44px;display:flex;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:58px;padding:14px 27px;border:1px solid transparent;border-radius:6px;font-weight:700;line-height:1.2;transition:transform .18s,background .18s;white-space:normal}.button span[aria-hidden]{font-size:24px;font-weight:400}.button.primary{background:var(--red);color:#fff}.button.small{min-height:48px;padding:10px 22px;font-size:16px}.button.outline{border-color:var(--line);background:transparent}.button.light{background:var(--paper);color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:15px;min-height:48px;font-size:16px;font-weight:600;border-bottom:1px solid currentColor;padding:8px 0}.button:active{transform:scale(.97)}
.hero{display:grid;grid-template-columns:48% 52%;min-height:650px;position:relative}.hero-copy{padding:58px 8.4% 56px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.045em;display:flex;align-items:center;gap:12px;line-height:1.4}.eyebrow-line{height:1px;width:25px;background:var(--red);flex-shrink:0}.hero h1{font-size:clamp(66px,6.9vw,112px);line-height:.91;letter-spacing:-.025em;margin:33px 0 25px}.hero h1 em{white-space:nowrap}.hero-intro{font-size:20px;color:#4c4b47}.hero-date{display:flex;align-items:center;gap:22px;margin:30px 0}.hero-date strong{font-family:var(--display);font-size:34px;line-height:1.2;border-bottom:5px solid var(--yellow);white-space:nowrap}.hero-date span{font-size:16px;line-height:1.4}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.hero-note{font-size:14px;color:var(--muted);margin-top:14px}.hero-photo{position:relative;min-width:0;overflow:hidden;background:#3b4730}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:54% center;position:absolute;inset:0}.distance-bib{position:absolute;right:32px;top:32px;background:var(--yellow);padding:18px 26px 20px;transform:rotate(5deg);text-align:center;box-shadow:0 5px 30px #17171718}.distance-bib strong{display:block;font-family:var(--display);font-size:88px;line-height:.88;font-weight:800;letter-spacing:-.045em}.distance-bib span{font-size:14px;font-weight:700;display:block;margin-top:8px}.photo-year{position:absolute;right:28px;bottom:24px;font-size:14px;letter-spacing:.04em;background:var(--ink);color:white;padding:8px 12px}.race-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:var(--paper);padding:30px 4%;gap:0}.race-strip>div{display:flex;flex-direction:column;padding:0 10%;border-left:1px solid #4c4b47}.race-strip>div:first-child{border:0;padding-left:0}.race-strip strong{font-family:var(--display);font-size:34px;line-height:1.1;font-weight:600}.race-strip span{font-size:14px;letter-spacing:.055em;margin-top:6px;color:#ccc9c1}.footer-inner{padding:60px 4%;background:var(--ink);color:var(--paper)}.footer-title{font:700 60px/.95 var(--display)}.footer-title>span{color:var(--yellow)}
.wrap{width:min(1400px,88%);margin-inline:auto}.section{padding-block:110px}.section-label{margin-bottom:25px}.section-label>span{color:var(--red);border-top:2px solid currentColor;padding-top:5px;min-width:30px;margin-right:6px}h2{font-size:clamp(44px,4.8vw,74px);line-height:.98;letter-spacing:-.018em}h3{font-size:28px;line-height:1.15}.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center}.story-copy>p:not(.eyebrow){margin-top:24px;max-width:510px}.story-copy>.text-link{margin-top:20px}.story-image{margin:0;min-width:0}.story-image img{width:100%;aspect-ratio:1.28;object-fit:cover;object-position:center}.story-image figcaption{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:14px;font-weight:600}.story-image figcaption span{font-weight:400;color:var(--muted)}
.route-section{padding:86px 0;background:#efede6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.route-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}.route-distance{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.route-distance>div:not(.course-line){display:flex;align-items:baseline;gap:12px;line-height:.8;margin:38px 0 30px}.route-distance strong{font:800 clamp(200px,24vw,360px)/.75 var(--display);letter-spacing:-.06em;color:var(--red)}.route-distance>div>span{font:600 60px/1 var(--display)}.route-distance>p{font-size:14px;letter-spacing:.04em;font-weight:600}.course-line{height:8px;background:#d2cfc5;margin:5px 0 25px;position:relative;overflow:hidden}.course-line span{display:block;height:100%;background:var(--red);transform:scaleX(var(--line-progress,1));transform-origin:left}.route-copy h2{font-size:clamp(42px,3.5vw,60px)}.route-copy>p:not(.eyebrow){margin-top:24px}.route-facts{margin:25px 0 0}.route-facts>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #cfccc3;padding:13px 0}.route-facts dt{color:#5c5a54}.route-facts dd{margin:0;font-weight:600;text-align:right}.fine-print{font-size:14px;line-height:1.5;color:var(--muted)}.route-copy>.text-link{margin-top:16px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:55px}.countdown{min-width:265px}.countdown>p{font-size:14px;letter-spacing:.07em;font-weight:600}.countdown-numbers{display:flex;align-items:flex-start;gap:17px;margin:15px 0}.countdown-numbers strong{font:600 58px/.9 var(--display);font-variant-numeric:tabular-nums}.countdown-numbers span{display:block;text-align:center;font-size:14px;margin-top:6px;color:var(--muted)}.countdown-numbers b{font:400 38px/1 var(--display);color:var(--red)}.countdown-date{font-size:14px;color:var(--muted)}.schedule{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:70px}.schedule article{padding:28px 45px 0 0;border-top:2px solid var(--line);position:relative}.schedule-marker{position:absolute;top:-8px;left:0;height:14px;width:14px;border-radius:50%;background:var(--red);border:3px solid var(--paper)}.schedule time{font:600 56px/1 var(--display);color:var(--red)}.schedule h3{margin:15px 0 12px}.schedule p{color:#5c5a54;font-size:17px;max-width:310px}.day-bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:60px;padding-top:35px;border-top:1px solid var(--line)}.day-bottom h3{font-size:26px;margin-bottom:10px}.inline-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.day-bottom .inline-actions{margin-top:18px}.services ul{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;padding:0;margin:20px 0 0;gap:18px;font-size:17px}.services li{padding-left:21px;position:relative}.services li:before{content:'+';position:absolute;left:0;font-weight:700;color:var(--red)}
.signup-section{background:var(--ink);color:var(--paper);padding:95px 0}.signup-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:8%}.signup-section h2 em{color:var(--yellow)}.signup-section .section-label>span{color:var(--yellow)}.signup-section h2+p{margin-top:25px;color:#d3d0c8}.price-block{display:flex;gap:35px;align-items:center;margin-top:38px;padding-top:28px;border-top:1px solid #45443f}.price{min-width:200px}.price>span{font-size:14px;font-weight:600;letter-spacing:.04em}.price strong{font:600 94px/1 var(--display);display:block;margin-top:9px}.price strong small{font:400 40px/1 var(--display);vertical-align:top;margin:12px 0 0 8px;display:inline-block}.price p{font-size:14px;color:#cfcdc5}.price-details{font-size:16px;color:#d3d0c8;border-left:1px solid #45443f;padding-left:25px}.price-details p+p{margin-top:16px}.price-validity{color:#c5c2b9;margin:24px 0 27px}.signup-section .button.primary{background:var(--yellow);color:var(--ink)}.signup-section .text-link{font-size:16px}.faq h3{font:600 30px/1.2 var(--display);margin-bottom:25px}.faq details{border-top:1px solid #4b4943}.faq details:last-child{border-bottom:1px solid #4b4943}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:22px 0;list-style:none;font-size:18px;font-weight:600;min-height:64px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:26px;font-weight:400;color:var(--yellow)}.faq details[open] summary span{transform:rotate(45deg)}.faq details>div{padding:0 0 24px;color:#d6d3cb;font-size:16px}.faq details p+p{margin-top:14px}.faq details .text-link{font-size:16px;overflow-wrap:anywhere}
.gallery-section{padding-bottom:85px}.gallery-intro{margin-bottom:18px;font-size:17px}.gallery-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.gallery-controls .text-link{margin-left:10px}.icon-button{border:1px solid #aaa69c;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-size:24px;flex-shrink:0}.icon-button:disabled{opacity:.38}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:25px;padding:0 6% 20px;scroll-padding-inline:6%;scrollbar-width:thin;scrollbar-color:var(--red) #e8e5dc}.gallery-item{display:block;flex:0 0 450px;scroll-snap-align:start;min-width:0}.gallery-item img{width:100%;height:360px;object-fit:cover;transition:transform .35s}.gallery-item.portrait{flex-basis:285px}.gallery-item.portrait img{object-position:center 60%}.gallery-item>span{display:flex;align-items:center;justify-content:space-between;font-size:14px;letter-spacing:.03em;font-weight:600;padding:16px 0}.gallery-item b{font-size:24px;font-weight:400}.gallery-item:focus-visible{outline-offset:-3px}
.game-section{background:var(--red);color:#fff;padding:85px 0;overflow:hidden}.game-invitation{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.game-section .section-label>span{color:#fff}.game-section h2{font-size:clamp(78px,9vw,140px);line-height:.87;letter-spacing:-.025em}.game-section h2>span{color:var(--yellow)}.game-intro>p{font-size:24px}.game-intro .game-hint{font-size:17px;margin:20px 0 28px;max-width:460px}.button.yellow{background:var(--yellow);color:var(--ink)}.rhythm-decoration{height:56px;display:flex;align-items:center;gap:9px;margin-bottom:30px}.rhythm-decoration i{width:10px;height:35%;background:var(--yellow);display:block}.rhythm-decoration i:nth-child(3n+1){height:70%}.rhythm-decoration i:nth-child(3n+2){height:100%}.rhythm-decoration i:nth-child(2n){background:#fff}.final-call{text-align:center;padding-block:90px}.final-call .eyebrow{justify-content:center}.final-call h2{margin:25px 0 35px;font-size:clamp(45px,5vw,78px)}.footer-top{display:grid;grid-template-columns:.8fr 1.2fr .8fr;gap:40px}.footer-top>div>p:not(.eyebrow){font-size:16px;color:#c8c5bc;margin-top:16px}.footer-top .eyebrow{color:#c8c5bc;margin-bottom:14px}.footer-contact{font:600 clamp(22px,2.4vw,34px)/1.2 var(--display);display:flex;gap:20px;align-items:center;min-height:48px;overflow-wrap:anywhere}.footer-phone{display:inline-flex;align-items:center;min-height:48px;font-size:20px}.footer-links{display:flex;flex-direction:column;align-items:flex-start}.footer-links>a{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:16px}.footer-bottom{border-top:1px solid #48463f;margin-top:50px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#c8c5bc}.footer-bottom p{font-size:14px}.plain-button{color:inherit;border:0;background:none;min-height:44px;font-size:14px;padding:8px 0}.mobile-signup{position:fixed;bottom:0;left:0;right:0;z-index:15;background:var(--paper);border-top:1px solid var(--line);padding:12px 5% max(12px,env(safe-area-inset-bottom));display:none;align-items:center;justify-content:space-between;gap:16px}.mobile-signup>span{font-weight:700;font-size:16px}.mobile-signup small{display:block;font-weight:400;font-size:14px;margin-top:3px}.event-notice{padding:20px 25px;margin-top:30px;background:var(--yellow);font-weight:600}
dialog{border:0;padding:0;color:var(--ink);background:var(--paper);max-height:calc(100dvh - 32px);max-width:calc(100vw - 32px);border-radius:8px;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#10100fea}.dialog-close{display:flex;align-items:center;justify-content:center;position:absolute;right:15px;top:15px;z-index:2;width:48px;height:48px;border:1px solid #6d6b65;background:var(--paper);color:var(--ink);border-radius:50%;font-size:32px;line-height:1}.photo-dialog{background:#111;color:#fff;overflow:hidden;width:min(1100px,calc(100vw - 40px))}.photo-dialog>img{width:100%;height:calc(100dvh - 142px);max-height:780px;object-fit:contain}.photo-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px}.photo-dialog-bottom p{font-size:16px;text-align:center}.photo-dialog .icon-button{border-color:#aaa}.game-dialog{width:640px;min-height:400px}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:28px 30px;border-bottom:1px solid var(--line);min-height:92px}.dialog-top .dialog-close{top:20px;right:25px}.game-dialog #game-content{padding:35px 35px 40px}.game-dialog h2{font-size:62px;line-height:.95;margin-bottom:20px}.game-dialog p{font-size:17px}.game-dialog .button{margin-top:25px}.privacy-dialog{width:630px;padding:45px}.privacy-dialog h2{font-size:42px;margin:22px 0}.privacy-dialog p{font-size:17px;margin-bottom:18px}.privacy-dialog .text-link{font-size:17px}.privacy-dialog .button{margin-top:10px}.loading-title{padding-right:35px}
@media(hover:hover) and (pointer:fine){.gallery-item:hover img{transform:translateY(-5px)}.icon-button:hover:not(:disabled){background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.signup-section .text-link:hover,.footer-links a:hover{color:var(--yellow)}.game-section .button:hover{background:var(--paper)}.gallery-track a:hover{color:var(--red)}}
@media(max-width:1050px){.section{padding-block:80px}.wrap{width:88%}.story,.route-layout,.signup-layout{gap:6%}.story{grid-template-columns:1fr 1fr}.story-image img{aspect-ratio:.86}.story-image figcaption{flex-direction:column;gap:8px}.route-distance strong{font-size:240px}.route-copy h2{font-size:43px}.signup-layout{grid-template-columns:1fr 1fr}.price-block{gap:20px;align-items:flex-start;flex-direction:column}.price-details{border-left:0;padding-left:0}.price{min-width:0}.footer-top{grid-template-columns:1fr 1.1fr}.footer-links{grid-column:1/-1;flex-direction:row;gap:24px}.footer-bottom{flex-wrap:wrap}.gallery-item{flex-basis:380px}.gallery-item img{height:320px}.gallery-item.portrait{flex-basis:235px}.schedule article{padding-right:25px}}
@media(max-width:700px){.wrap{width:88%}.section{padding-block:65px}h2{font-size:48px}.section-label{margin-bottom:22px}.story,.route-layout,.signup-layout,.game-invitation,.day-bottom{grid-template-columns:1fr;gap:36px}.story-copy>p:not(.eyebrow){font-size:18px;margin-top:20px}.story-image img{aspect-ratio:1.15}.story-image figcaption{font-size:14px}.route-section{padding-block:60px}.route-distance>div:not(.course-line){margin:30px 0 25px}.route-distance strong{font-size:210px}.route-distance>div>span{font-size:45px}.route-distance{padding-bottom:25px}.route-copy h2{font-size:43px}.route-facts{font-size:17px}.section-heading{flex-direction:column;align-items:flex-start;gap:36px;margin-bottom:35px}.countdown{border-left:3px solid var(--yellow);padding-left:20px}.countdown-numbers strong{font-size:50px}.schedule{grid-template-columns:1fr;margin-top:40px}.schedule article{border:0;border-left:2px solid var(--line);margin-left:5px;padding:0 0 35px 30px;display:grid;grid-template-columns:90px 1fr;column-gap:16px}.schedule article:last-child{padding-bottom:0}.schedule-marker{top:8px;left:-8px}.schedule time{font-size:40px;grid-row:1/3}.schedule h3{font-size:25px;margin:0 0 8px}.schedule p{grid-column:2;font-size:16px}.day-bottom{margin-top:40px;padding-top:30px;gap:35px}.day-bottom .inline-actions{gap:8px 20px}.day-bottom .text-link{font-size:16px}.services ul{gap:18px 14px;font-size:16px}.signup-section{padding-block:65px}.price-block{flex-direction:row;gap:22px}.price-details{font-size:16px}.price>span{font-size:14px}.price{min-width:135px}.price strong{font-size:85px}.signup-layout{gap:50px}.faq summary{font-size:17px;gap:12px}.faq h3{font-size:28px}.gallery-track{gap:18px}.gallery-item{flex-basis:82vw}.gallery-item img{height:300px}.gallery-item.portrait{flex-basis:61vw}.gallery-controls .text-link{font-size:16px;margin-left:6px}.gallery-section{padding-bottom:55px}.game-section{padding-block:60px}.game-section h2{font-size:90px}.game-intro>p{font-size:21px}.game-intro .game-hint{font-size:17px}.rhythm-decoration{height:40px;margin-bottom:20px}.final-call{padding-block:65px}.final-call h2{font-size:48px}.final-call .eyebrow{font-size:14px}.footer-inner{padding:45px 6% 115px}.footer-top{grid-template-columns:1fr;gap:30px}.footer-links{grid-column:auto;flex-direction:column;gap:0}.footer-contact{font-size:28px}.footer-bottom{display:block;margin-top:35px}.footer-bottom>*+*{margin-top:10px}.mobile-signup:not([hidden]){display:flex}.photo-dialog-bottom{padding:12px;gap:10px}.photo-dialog-bottom p{font-size:14px}.photo-dialog .dialog-close{top:10px;right:10px}.game-dialog #game-content{padding:28px 24px 30px}.game-dialog h2{font-size:48px}.dialog-top{padding:24px;min-height:85px}.dialog-top .dialog-close{right:18px;top:18px}.privacy-dialog{padding:65px 25px 30px}.privacy-dialog h2{font-size:38px}}
@media(max-width:360px){.price-block{flex-direction:column}.schedule article{grid-template-columns:78px 1fr;padding-left:22px;gap:12px}.schedule time{font-size:36px}.game-section h2{font-size:76px}.final-call h2{font-size:42px}.gallery-controls{gap:8px}.gallery-controls .text-link{margin-left:0}.route-copy h2{font-size:38px}}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px)}.button.primary:hover{background:#b90022}.text-link:hover,.site-header nav a:hover{color:var(--red)}}
@media(min-width:1900px){.hero{min-height:760px}.hero-copy{padding-left:max(8.4%,calc((100vw - 1920px)/2));padding-right:8%}.hero h1{font-size:120px}.hero-intro{font-size:24px}}
@media(max-width:1050px){.site-header nav{gap:20px}.hero-copy{padding:44px 7%}.hero h1{font-size:clamp(60px,7.7vw,80px)}.hero-date{flex-direction:column;align-items:flex-start;gap:10px}.hero-actions{gap:14px}.hero-actions .button{padding-inline:18px}.hero .eyebrow{flex-wrap:wrap}.race-strip strong{font-size:28px}}
@media(max-width:700px){html{scroll-padding-top:88px}.site-header{height:76px;padding:0 5%;gap:14px}.site-header nav{display:none}.brand{width:102px;height:70px}.brand img{width:96px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:35px 6% 34px}.hero .eyebrow{font-size:14px;gap:7px;letter-spacing:0}.eyebrow-line{width:14px}.hero h1{font-size:clamp(54px,13.9vw,94px);margin:26px 0 20px}.hero-intro{font-size:18px}.hero-date{flex-direction:row;align-items:center;gap:18px;margin:22px 0}.hero-date strong{font-size:30px}.hero-date span{font-size:14px}.hero-actions{gap:18px}.hero-actions .button{min-height:54px;padding-inline:20px}.hero-actions .text-link{font-size:14px}.hero-photo{height:360px;flex:none}.hero-photo>img{object-position:center 56%}.distance-bib{top:22px;right:24px;padding:14px 20px}.distance-bib strong{font-size:62px}.distance-bib span{font-size:14px}.photo-year{right:18px;bottom:15px}.race-strip{grid-template-columns:repeat(2,1fr);padding:26px 6%;row-gap:26px}.race-strip>div{padding-left:18px}.race-strip>div:nth-child(3){border:0;padding-left:0}.race-strip strong{font-size:30px}.race-strip span{font-size:14px;letter-spacing:0}}
@media(max-width:360px){.hero-date{flex-direction:column;align-items:flex-start;gap:10px}.hero-actions{gap:12px}.hero-copy{padding-inline:5%}.hero .eyebrow-line{display:none}.hero .eyebrow{max-width:265px}.hero-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.game-kicker{font-size:14px!important;font-weight:700;letter-spacing:.06em;color:var(--red);margin-bottom:18px}.game-modes{border:0;padding:0;margin:28px 0 18px}.game-modes legend{font-weight:600;font-size:16px;margin-bottom:12px}.game-modes label{display:grid;grid-template-columns:22px 1fr;gap:4px 10px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:6px;cursor:pointer;min-height:76px;font-size:17px;font-weight:600}.game-modes label+label{margin-top:10px}.game-modes label:has(input:checked){border-color:var(--red);background:#fff}.game-modes label span{grid-column:2;font-size:14px;font-weight:400;color:var(--muted)}.game-modes input{width:20px;height:20px;margin:0;accent-color:var(--red)}.sound-option{min-height:44px;display:flex;align-items:center;gap:12px;font-size:16px;cursor:pointer}.sound-option input{width:20px;height:20px;accent-color:var(--red)}.game-start-row{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.game-start-row .plain-button{font-size:16px;margin-top:25px}.game-access-note{font-size:14px!important;color:var(--muted);margin-top:22px}.game-scoreline{display:flex;justify-content:space-between;gap:20px;font-size:16px;font-weight:600}.beat-boxes{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:25px 0 20px}.beat-boxes span{display:flex;align-items:center;justify-content:center;background:#e9e6dc;color:#57554f;font-size:14px;min-height:34px;border-bottom:3px solid #aaa69c}.beat-boxes span.is-current{border-color:var(--red)}.beat-boxes span.is-hit{background:var(--yellow);color:var(--ink);border-color:var(--ink)}.beat-boxes span.is-missed{border-color:#aaa;color:#777}.game-cue{font:700 46px/1 var(--display)!important;text-align:center;margin-top:25px;min-height:48px;color:var(--red)}.game-feedback{font-size:16px!important;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;margin:8px 0 16px}.game-tap{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;min-height:155px;background:var(--ink);color:#fff;border:3px solid var(--ink);border-radius:6px;font:700 36px/1 var(--display);transition:transform .1s}.game-tap span{font:400 16px/1.4 var(--body);margin-top:10px}.game-tap.on-beat{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.game-tap:active:not(:disabled){transform:scale(.98)}.game-tap:disabled{background:#e1ded5;border-color:#e1ded5;color:#6a675f}.game-controls{display:flex;justify-content:space-between;align-items:center;gap:20px}.game-controls .button{margin-top:20px;min-width:130px}.game-controls .plain-button{margin-top:20px;font-size:16px}.game-result-score{display:flex;align-items:baseline;gap:16px;margin:15px 0 25px}.game-result-score strong{font:700 100px/.9 var(--display);color:var(--red)}.game-result-score span{font:600 26px/1.2 var(--display)}.game-result-bridge{font-weight:600;margin-top:25px}.game-setup .button{min-width:155px}.game-result .button{min-width:155px}.site-header nav a[aria-current]{color:var(--red)}
.game-dialog .dialog-top{position:sticky;top:0;z-index:3;background:var(--paper)}.beat-boxes span.is-missed{color:#5d5a52}
@media(prefers-reduced-motion:no-preference){.hero h1{animation:hero-enter .65s ease-out both}.hero-date{animation:hero-enter .75s .08s ease-out both}@keyframes hero-enter{from{transform:translateY(12px)}to{transform:translateY(0)}}}
@media(max-width:700px){.game-dialog{max-height:calc(100dvh - 20px);max-width:calc(100vw - 20px)}.game-dialog #game-content{padding:25px 20px 30px}.game-dialog h2{font-size:44px}.game-cue{font-size:37px!important}.game-tap{min-height:135px;font-size:30px}.beat-boxes{gap:4px}.beat-boxes span{font-size:14px;min-height:28px}.game-controls .button{min-width:108px;padding:14px}.game-start-row{gap:18px}.game-start-row .plain-button{margin-top:10px}.game-access-note{margin-top:20px}.game-modes{margin-top:20px}.game-result-score strong{font-size:82px}.game-result-score span{font-size:23px}}
.mobile-menu{display:none}.rhythm-decoration i{transform-origin:center}
@media(prefers-reduced-motion:no-preference){.rhythm-decoration i{animation:rhythm-run .9s ease-in-out infinite alternate}.rhythm-decoration i:nth-child(2){animation-delay:-.72s}.rhythm-decoration i:nth-child(3){animation-delay:-.54s}.rhythm-decoration i:nth-child(4){animation-delay:-.36s}.rhythm-decoration i:nth-child(5){animation-delay:-.18s}.rhythm-decoration i:nth-child(6){animation-delay:0s}.rhythm-decoration i:nth-child(7){animation-delay:-.18s}.rhythm-decoration i:nth-child(8){animation-delay:-.36s}.rhythm-decoration i:nth-child(9){animation-delay:-.54s}.rhythm-decoration i:nth-child(10){animation-delay:-.72s}@keyframes rhythm-run{from{transform:scaleY(.42)}to{transform:scaleY(1.08)}}}
@media(max-width:700px){.site-header>.desktop-nav,.site-header>.header-signup{display:none}.mobile-menu{display:block;position:relative;margin-left:auto}.mobile-menu summary{list-style:none;min-width:84px;min-height:52px;padding:10px 12px;display:flex;align-items:center;justify-content:flex-end;gap:12px;cursor:pointer;font-weight:700;font-size:16px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.mobile-menu summary::-webkit-details-marker{display:none}.menu-bars{width:24px;height:20px;display:flex;flex-direction:column;justify-content:space-between}.menu-bars i{display:block;width:24px;height:2px;background:var(--ink);transform-origin:center;transition:transform .2s,opacity .2s}.mobile-menu[open] .menu-bars i:first-child{transform:translateY(9px) rotate(45deg)}.mobile-menu[open] .menu-bars i:nth-child(2){opacity:0}.mobile-menu[open] .menu-bars i:last-child{transform:translateY(-9px) rotate(-45deg)}.site-header .mobile-menu nav{display:flex;position:absolute;right:0;top:calc(100% + 10px);width:min(290px,calc(100vw - 24px));padding:8px 18px;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 45px #0003}.site-header .mobile-menu nav a{min-height:50px;border-bottom:1px solid var(--line);font-size:17px}.site-header .mobile-menu nav a:last-child{border-bottom:0}.mobile-menu summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}}
