:root{font-family:'Nunito Sans',system-ui,sans-serif;color:#304735;background:#f7f8ef;font-synthesis:none;--green:#355b41;--muted:#7e8976;--line:#e0e5d5;--cream:#fffef8;--font:'Nunito Sans',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #dbab58;outline-offset:4px}button{transition:background .18s,color .18s,transform .18s}.skip{position:fixed;top:-80px;left:20px;padding:12px;background:white;z-index:50}.skip:focus{top:10px}.site-header{max-width:1440px;margin:auto;padding:22px 5%;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;font-size:20px;font-weight:800;letter-spacing:-.8px;white-space:nowrap}.brand svg{height:42px;width:42px;margin-right:7px}.brand>span>span{font-weight:400}.brand i{color:#d99c51;font-size:19px;margin-left:4px;font-style:normal}.site-header nav{display:flex;gap:25px;margin-left:auto}.site-header nav a{text-decoration:none;color:#5c6d53;font-size:12px}.site-header nav a:hover{color:#304735}.language{margin-left:20px;text-decoration:none;font-size:10px;border:1px solid #dce2d0;padding:9px 12px;border-radius:30px;color:#65745c}main{max-width:1340px;padding:0 5%;margin:auto}.intro{text-align:center;padding:43px 0 34px}.kicker{font-size:10px;letter-spacing:2px;font-weight:700;color:#81906c;line-height:1.6}.intro .kicker{display:flex;align-items:center;justify-content:center;gap:8px}.kicker>span{height:6px;width:6px;background:#a8b97f;border-radius:50%}h1{font-size:clamp(36px,4.2vw,58px);line-height:1.08;letter-spacing:-2px;font-weight:800;margin:18px 0}.intro h1 em{color:#789467;font-style:normal}.intro>p{font-size:13px;color:#65735b;line-height:1.7;margin:15px 0 14px}.trust{display:flex;gap:20px;justify-content:center;color:#8c967f;font-size:9px}.race-layout{display:grid;grid-template-columns:310px 1fr;gap:24px;align-items:start}.panel{background:var(--cream);border:1px solid var(--line);border-radius:20px;box-shadow:0 9px 25px #394a3004}.setup{padding:22px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.panel-heading h2{font-size:17px;letter-spacing:-.4px;margin:0}.badge{border-radius:20px;padding:6px 10px;background:#edf1e2;font-size:10px;color:#72825d}.setup label:not(.check):not(.import){display:block;font-weight:700;font-size:11px;margin:15px 0 9px}.setup label small{display:block;font-weight:400;font-size:9px;color:#919a86;margin-top:6px}textarea{border:1px solid var(--line);background:#f8f9f0;color:#55674a;border-radius:11px;resize:vertical;width:100%;padding:10px 14px;font-size:12px;line-height:1.8;min-height:144px;height:152px;outline:none}textarea:focus{border-color:#9eaf85}.entry-note{font-size:9px;line-height:1.5;color:#89957d;margin:6px 0 0}.list-actions{display:flex;gap:10px;margin:8px 0}.list-actions button,.arena-footer button,.under-track button,.result-actions button{border:0;background:transparent;font-size:10px;color:#778568;padding:7px 0}.list-actions button:last-child{margin-left:auto}.list-actions button:hover,.under-track button:hover,.result-actions button:hover{color:#30563b;text-decoration:underline}.import{display:block;text-align:center;border:1px dashed #d4dcc5;border-radius:8px;padding:9px;font-size:10px;cursor:pointer;color:#7c8d67;background:#f9faf3}.import:hover{background:#edf1e2}.import.disabled{opacity:.5;pointer-events:none}select{width:100%;border:1px solid var(--line);background:#f9faf3;border-radius:9px;padding:10px;color:#5b6d4f;font-size:11px}.time-row{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.time-row label{margin:0!important}.time-row output{border-radius:6px;background:#eef1e0;color:#7c8b5d;padding:5px 8px;font-size:10px}input[type=range]{accent-color:#7f9c67;width:100%;height:5px;margin:18px 0 4px;cursor:pointer}.range-label{display:flex;justify-content:space-between;font-size:8px;color:#9aa18b}.check{display:flex;align-items:center;gap:8px;margin-top:17px;font-size:10px;color:#7a876d;cursor:pointer}.check input{accent-color:#658a57;margin:0;width:13px;height:13px}.remember{font-size:9px;margin-top:12px}.primary{width:100%;background:var(--green);border:1px solid var(--green);border-radius:11px;color:#fffef2;padding:15px 17px;font-size:13px;font-weight:700;box-shadow:0 4px 0 #274630;margin-top:21px;display:flex;justify-content:space-between;align-items:center}.primary:hover{background:#47704e;transform:translateY(-1px)}.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #274630}.hint{text-align:center;font-size:8px;color:#8b977c;margin:14px 0 0;line-height:1.5}#error{color:#ad5c44;font-size:11px;line-height:1.5;margin:8px 0 0}.arena{position:relative;overflow:hidden}.arena-toolbar{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9fb478;margin-right:8px}.arena-tools{display:flex;gap:10px;align-items:center}.arena-tools button{background:transparent;border:0;color:#80906b;font-size:22px;padding:0 3px}#timer{font-size:11px;display:inline-block;background:#f1f2e5;padding:7px 10px;border-radius:7px;font-variant-numeric:tabular-nums;min-width:50px;text-align:center}.scenery{height:135px;position:relative;background:#eaf2e4;overflow:hidden}.hill{position:absolute;border-radius:50% 50% 0 0;width:80%;height:140px;bottom:-100px;background:#d9e6c7}.hill-one{left:-20%;transform:rotate(10deg)}.hill-two{right:-20%;bottom:-88px;background:#cbdcb7;transform:rotate(-8deg)}.cloud{position:absolute;height:14px;width:65px;border-radius:30px;background:#fffef8;opacity:.85}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%;width:25px;height:25px;bottom:0;left:9px}.cloud:after{width:35px;height:35px;left:25px}.c1{top:43px;left:12%}.c2{top:56px;right:15%;transform:scale(.7)}.sun{position:absolute;top:14px;right:35%;font-size:50px;color:#d6bd77}.tree{position:absolute;bottom:6px;font-size:66px;color:#a7bf8e;line-height:1}.t1{left:8%}.t2{right:8%;font-size:46px;color:#b7c999}.scenery-label{position:absolute;bottom:13px;left:0;right:0;text-align:center;font-size:8px;color:#7c9565;letter-spacing:3px;font-weight:600}.track-labels{display:flex;justify-content:space-between;padding:11px 26px 2px;background:#edf2dd;font-size:7px;letter-spacing:2px;color:#8d9e72}.track{padding:2px 22px 14px;background:#edf2dd;max-height:505px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#b7c49a #edf2dd;min-height:100px}.lane{height:64px;position:relative;border-bottom:1px dashed #c9d8b1;margin-top:3px;background:linear-gradient(90deg,#e4edcc80,#e9efd740);border-radius:6px}.lane:nth-child(even){background:#e1eacb85}.lane:after{content:'';position:absolute;right:10px;top:0;height:100%;width:10px;background:conic-gradient(#87986d 25%,#fffef0 0 50%,#87986d 0 75%,#fffef0 0) 0 0/10px 10px;opacity:.5}.lane-number{position:absolute;left:3px;top:4px;font-size:7px;color:#afbc91}.runner{position:absolute;top:-4px;left:0;width:90px;text-align:center;z-index:2;will-change:transform}.runner svg{width:51px;height:51px;display:block;margin:auto;overflow:visible}.runner .runner-name{display:inline-block;max-width:90px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:9px;line-height:1.2;border-radius:8px;padding:3px 8px;background:#fffef0e8;color:#61744c;box-shadow:0 1px 3px #52653a09}.runner .runner-name b{font-size:7px;opacity:.5;margin-right:3px}.running .runner svg{animation:hop .2s infinite alternate ease-in-out;animation-delay:var(--delay)}.arena-footer{padding:13px 22px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8a9677}.arena-footer button{padding:5px 0}.under-track{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 5px;color:#96a086;font-size:9px}.under-track>span{display:flex;align-items:center;gap:5px}.under-track svg{width:28px;height:28px}.under-track button{font-size:9px;white-space:nowrap}.history{padding:14px 8px;color:#8e997e;font-size:10px}.history h2{font-size:10px;font-weight:600;letter-spacing:.2px}.history p{font-size:10px;color:#a2aa94}.history ol{display:flex;gap:8px;flex-wrap:wrap;padding:0;list-style:none}.history li{background:#eaf0df;border:1px solid #dee7cf;border-radius:9px;padding:5px 9px;display:flex;align-items:center;gap:5px;color:#6a8058;max-width:100%}.history li svg{width:23px;height:23px}.history li span{overflow-wrap:anywhere}.countdown{position:absolute;inset:0;z-index:7;background:#f4f8e6d9;backdrop-filter:blur(3px);font-weight:800;font-size:100px;color:#63814f;place-items:center}.countdown:not([hidden]){display:grid}.how{padding:70px 0 55px}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading h2,.copy-section h2,.faq>h2{font-size:29px;letter-spacing:-1px;line-height:1.2;margin:12px 0 24px}.handwritten{font-style:italic;color:#a9ac8f;font-size:14px;transform:rotate(-6deg);margin-bottom:30px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps article{padding-top:15px;border-top:1px solid #dce2ce}.step-number{font-size:11px;color:#a4af8c}.steps h3{font-size:15px;margin:15px 0 9px}.steps p,.copy-section p{font-size:12px;color:#65745a;line-height:1.9;margin:0}.copy-section{border-top:1px solid var(--line);padding:40px 0 50px}.copy-section>p{max-width:850px}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:27px}.mode-cards>a{border:1px solid var(--line);padding:23px;text-decoration:none;border-radius:15px;background:#fafbf4}.mode-cards>a:hover{background:#f0f4e5}.mode-cards span{font-size:27px}.mode-cards h3{font-size:16px;margin:15px 0 7px}.mode-cards b{display:block;margin-top:20px;font-size:10px;color:#69825a}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px;margin:30px 0}.info-grid h3{font-size:16px}.faq{max-width:790px;margin:0 auto;padding:30px 0 65px}.faq>h2{margin-bottom:30px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-size:13px;font-weight:600;cursor:pointer;list-style:none;position:relative;padding-right:25px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:5px;color:#9daa85}.faq details[open] summary:after{content:'−'}.faq p{font-size:12px;line-height:1.9;color:#617255;margin:15px 25px 0 0}footer{border-top:1px solid var(--line);padding:30px 5%;max-width:1340px;margin:auto;display:flex;gap:16px 25px;align-items:center;flex-wrap:wrap;color:#9aa28d;font-size:9px}.footer-brand{text-decoration:none;color:#5d7352;font-weight:700;font-size:14px;letter-spacing:-.4px}.footer-brand span{color:#d0a15f;margin-left:4px}footer nav{display:flex;gap:18px;margin-left:auto}footer nav a{text-decoration:none}footer small{font-size:8px}.article{max-width:850px;padding:65px 5% 85px}.article h1{font-size:48px;margin-top:18px}.article h2{font-size:20px;letter-spacing:-.5px;margin-top:35px}.article p{font-size:14px;line-height:1.95;color:#617154}.article .lead{font-size:17px;color:#869777}.article code{font-size:12px;overflow-wrap:anywhere}.inline{width:auto;display:inline-flex;gap:30px;text-decoration:none}.notice{padding:15px;background:#f3e4bd;border-radius:10px;font-size:13px}dialog{border:1px solid #dce4cd;border-radius:24px;padding:35px;max-width:450px;width:calc(100% - 32px);text-align:center;background:#fffef5;color:#36503a;box-shadow:0 20px 100px #172a2440}dialog::backdrop{background:#243f3255;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:28px;color:#a3ae94}#winner-animal svg{height:100px;width:100px;margin:15px auto 0}dialog h2{font-size:31px;letter-spacing:-1px;margin:10px 0;overflow-wrap:anywhere}#winner-note{font-size:11px;color:#8e9c7d}#podium{list-style:none;display:flex;justify-content:center;gap:20px;padding:0;margin:25px 0}#podium li{font-size:11px;max-width:100px;overflow-wrap:anywhere}#podium li svg{width:38px;height:38px;display:block;margin:auto}#podium li strong{display:block;margin:5px}dialog .primary{justify-content:center}.result-actions{display:flex;gap:20px;justify-content:center;margin-top:15px}.result-actions button{font-size:11px}#result-message{font-size:11px;color:#839473;min-height:1em}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#355b41;color:white;padding:12px 20px;border-radius:12px;font-size:12px;z-index:40;max-width:90vw;text-align:center}.confetti{position:fixed;top:-20px;z-index:30;width:8px;height:15px;pointer-events:none;animation:fall 3s ease-in forwards;background:var(--color);border-radius:3px}.arena:fullscreen{display:flex;flex-direction:column;background:var(--cream);border-radius:0;border:0}.arena:fullscreen .track{max-height:none;flex:1}.arena:fullscreen .scenery{flex-shrink:0}.arena:fullscreen .lane{height:75px}.arena:fullscreen .runner svg{width:60px;height:60px}.arena:fullscreen .runner{top:0}.arena:fullscreen .arena-toolbar{font-size:17px}.arena:fullscreen .arena-footer{padding:20px}@keyframes hop{to{transform:translateY(-5px) rotate(3deg)}}@keyframes fall{to{transform:translateY(105vh) rotate(540deg)}}@media(min-width:1450px){.intro{padding-top:48px}.race-layout{grid-template-columns:320px 1fr}.scenery{height:150px}}@media(max-width:950px){.site-header nav{gap:15px}.site-header nav a{font-size:10px}.brand{font-size:17px}.language{margin-left:0}.race-layout{grid-template-columns:275px 1fr;gap:18px}.setup{padding:19px}.arena-toolbar{padding:16px}.under-track{align-items:start}.under-track>span{max-width:65%}.handwritten{display:none}footer>p{display:none}}@media(max-width:700px){.site-header{padding:14px 5%;gap:10px}.site-header nav{display:none}.language{margin-left:auto;font-size:9px;padding:8px}.brand{font-size:17px}.brand svg{width:35px;height:35px}main{padding:0 16px}.intro{padding:33px 0 27px}h1{font-size:37px;letter-spacing:-1.5px}.intro>p{font-size:12px;max-width:320px;margin:15px auto}.kicker{font-size:8px;letter-spacing:1.5px}.trust{gap:12px;font-size:8px;flex-wrap:wrap}.race-layout{grid-template-columns:1fr}.setup{padding:20px}.panel-heading{margin-bottom:15px}textarea{height:128px;min-height:110px}.setup label small{display:inline;margin-left:8px;font-size:8px}.setup .primary{margin-top:17px}.scenery{height:105px}.track{max-height:430px;padding:2px 12px 12px}.track-labels{padding:10px 17px 2px}.runner{width:72px}.runner .runner-name{max-width:72px;font-size:8px;padding:3px 5px}.runner svg{height:47px;width:47px}.lane{height:60px}.arena-toolbar{font-size:10px}.under-track{font-size:8px;gap:5px}.under-track button{font-size:8px}.how{padding:45px 0 35px}.section-heading h2,.copy-section h2,.faq>h2{font-size:25px}.steps{grid-template-columns:1fr;gap:20px}.steps article{display:grid;grid-template-columns:30px 1fr;gap:0 10px}.steps h3{margin:0 0 8px}.steps p{grid-column:2}.step-number{margin-top:4px}.mode-cards{grid-template-columns:1fr;gap:12px}.mode-cards>a{padding:20px}.mode-cards span{float:left;margin-right:17px}.mode-cards h3{margin:0 0 7px}.mode-cards b{margin-top:12px}.copy-section{padding:30px 0}.faq{padding:20px 0 40px}.faq summary{font-size:12px}footer{padding:25px 20px;gap:18px}footer nav{margin-left:0;width:100%;gap:20px}footer small{margin-left:auto}.article{padding:40px 22px 60px}.article h1{font-size:38px}dialog{padding:30px 23px}.arena:fullscreen .scenery{height:70px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.running .runner svg,.confetti{animation:none}button{transition:none}.confetti{display:none}}

/* Keep the picker close to the fold on laptop displays. */
@media(min-width:701px){.intro{padding:28px 0 25px}.intro h1{font-size:clamp(34px,3.1vw,45px);line-height:1.12;margin:14px 0}.intro h1 br{display:none}.intro h1 em:before{content:" "}.intro>p{margin:10px 0 12px}.scenery{height:110px}.setup{padding:20px}.panel-heading{margin-bottom:15px}.setup textarea{height:132px;min-height:110px}}
@media(max-width:700px){.list-actions button,.arena-footer button,.under-track button{min-height:40px}.check{min-height:28px}.setup label:not(.check):not(.import){font-size:12px}.faq summary{line-height:1.6}}

/* Vietnamese marks need room above the line and a complete, consistent font. */
html[lang=vi] h1{line-height:1.3;letter-spacing:-.025em}html[lang=vi] .intro h1 em{display:inline-block}html[lang=vi] .runner-name{line-height:1.5}.animal-call{border:0;padding:0;background:transparent;display:block;margin:auto;cursor:pointer;border-radius:50%;line-height:1}.animal-call:hover{background:#ffffff66}.animal-call:focus-visible{outline-offset:0}.animal-call:active{transform:scale(.94)}


.sound-note{font-size:10px;color:#6b7e5a;line-height:1.6;margin:6px 0 0}

.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:20px 0 0;font-size:11px;line-height:1.6;color:#65745a}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs+ .intro{padding-top:18px}.intro>p{max-width:760px;margin-left:auto;margin-right:auto}audio{max-width:100%}

.change-crew{width:100%;min-height:38px;border:1px solid #dce4cd;border-radius:9px;background:#eef3e4;color:#526d46;font-size:11px;margin-top:8px;padding:9px 12px}.change-crew:hover{background:#e3edda}
