html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}*{box-sizing:border-box} :root{font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;color:#242522;background:#faf8ed;font-synthesis:none}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{border:2px solid #282923;background:#fffef6;border-radius:14px;min-height:44px;padding:10px 18px;font-weight:800;transition:transform .12s,background .12s}button:hover{background:#eeeecf}button:active{transform:translateY(2px)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ed5c96;outline-offset:4px}.primary{background:#d7fb54;box-shadow:0 4px 0 #292a22}.primary:hover{background:#c8ef37}.quiet{background:transparent;border-color:transparent;box-shadow:none}button.small{font-size:13px;padding:7px 12px;min-height:38px}a{color:inherit}.site-footer{height:36px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:13px;color:#626455;background:#faf8ed;border-top:2px solid #292a22}.site-footer a{color:#475be1;font-weight:800;text-decoration:none}.site-footer a:hover{text-decoration:underline}header{height:72px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#faf8ed;border-bottom:2px solid #292a22;position:relative;z-index:3}.brand{font-size:23px;letter-spacing:-1.2px;text-decoration:none;font-weight:950;white-space:nowrap;display:flex;gap:9px;align-items:center}.brand svg{width:37px;height:34px}nav{display:flex;gap:9px;align-items:center}#sound{min-width:44px;padding:8px}.stage{position:relative;height:calc(100dvh - 72px - 36px);min-height:520px;overflow:hidden;background:#d8e9ff}#world{width:100%;height:100%;display:block;touch-action:manipulation}.home-copy{position:absolute;left:5.2%;top:7%;pointer-events:none}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:850;margin:0 0 14px}h1{font-size:clamp(52px,6.2vw,88px);line-height:.96;letter-spacing:-5px;margin:0 0 20px;font-weight:950}h1 em{font-style:normal;color:#475be1}p{line-height:1.5}.home-copy p{font-size:19px;margin:0 0 22px}.home-actions{display:flex;gap:12px;pointer-events:auto}.home-actions button{font-size:20px;padding:15px 25px;min-width:144px}.bottom-bar{position:absolute;bottom:22px;left:5.2%;right:5.2%;display:flex;justify-content:space-between;align-items:end;gap:20px}.track-picker{display:flex;gap:8px;align-items:center;padding:10px;border:2px solid #292a22;background:#fffef6;border-radius:20px;box-shadow:0 4px 0 #292a22}.track-picker button{border-color:transparent;padding:10px 15px;font-size:14px;min-height:43px}.track-picker button.selected{background:#282923;color:#fffef6}.guest-note{font-size:12px;max-width:350px;text-align:right}.guest-note p{margin:0 0 6px;font-weight:700}.credits{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.credit{display:inline-flex;align-items:center;gap:5px;max-width:180px;font-size:12px;text-decoration:none}.credit span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credit img{width:22px;height:22px;border-radius:50%;border:1px solid #292a22}.race-ui{position:absolute;inset:0;pointer-events:none}.race-top{position:absolute;top:22px;left:5%;right:5%;display:flex;align-items:center;gap:14px}.race-top button{pointer-events:auto}.progress{height:16px;border:2px solid #292a22;border-radius:20px;background:#fffef6;flex:1;overflow:hidden}.progress i{display:block;height:100%;background:#d7fb54;width:0}.race-time{font-size:24px;font-weight:900;font-variant-numeric:tabular-nums;min-width:72px}.race-stars{font-weight:850;min-width:54px}.race-bottom{position:absolute;left:5%;right:5%;bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:15px}.race-tip{font-weight:700;font-size:16px;background:#fffef6e8;border-radius:15px;padding:12px 17px}.jump{pointer-events:auto;font-size:25px;min-width:170px;padding:17px 26px;touch-action:none;user-select:none}.countdown{position:absolute;top:26%;left:0;right:0;display:flex;justify-content:center;pointer-events:none}.countdown .cd-badge{font-size:clamp(38px,6.5vw,64px);font-weight:950;letter-spacing:-2px;line-height:1;white-space:nowrap;color:#292a22;background:#d7fb54;border:4px solid #292a22;border-radius:40px;padding:12px clamp(24px,5.5vw,56px);box-shadow:0 9px 0 #292a22;transform-origin:center;animation:cdPop .45s cubic-bezier(.18,.89,.32,1.3) both}.countdown.ready2 .cd-badge{background:#80d4df;animation-delay:.02s}.countdown.go .cd-badge{background:#ffed80;font-size:clamp(52px,9vw,92px);padding:20px clamp(34px,6.5vw,72px);animation:cdGo .55s cubic-bezier(.18,.89,.32,1.3) both}@keyframes cdPop{0%{transform:scale(.2) rotate(-4deg);opacity:0}60%{transform:scale(1.12) rotate(1deg);opacity:1}100%{transform:scale(1) rotate(0)}}@keyframes cdGo{0%{transform:scale(.3) rotate(-8deg);opacity:0}45%{transform:scale(1.35) rotate(2deg);opacity:1}70%{transform:scale(.95)}100%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.countdown .cd-badge{animation:none}}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#292a22;color:white;border-radius:14px;padding:13px 20px;font-size:14px;max-width:90vw;z-index:30;text-align:center;pointer-events:none}.modal-wrap{position:fixed;inset:0;background:#20272455;z-index:10;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}.modal{background:#faf8ed;border:2px solid #292a22;border-radius:26px;box-shadow:0 8px 0 #292a22;max-height:calc(100dvh - 48px);overflow:auto;width:680px;padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:10px}.modal h2{font-size:32px;letter-spacing:-1.4px;line-height:1.1;margin:4px 0 8px}.modal .sub{font-size:14px;margin:0 0 16px;color:#626455}.close{border:none;background:#e9e8dc;border-radius:50%;min-width:42px;padding:6px;font-size:24px;line-height:1}.draw-layout{display:grid;grid-template-columns:1fr 155px;gap:16px}#paper{background:#fffef8;border:2px solid #292a22;border-radius:18px;width:100%;aspect-ratio:4/3;display:block;touch-action:none;cursor:crosshair}.preview-box{border-radius:18px;background:#e7edcc;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.preview-box canvas{width:140px;height:150px}.preview-box p{font-size:12px;margin:0}.palette{display:flex;gap:8px;margin:13px 0;align-items:center;flex-wrap:wrap}.swatch{padding:0;width:34px;height:34px;min-height:34px;border:2px solid #292a22;border-radius:50%;position:relative}.swatch.selected:after{content:'';position:absolute;inset:-6px;border:2px solid #292a22;border-radius:50%}.draw-tools{display:flex;gap:6px;margin-left:auto}.edit-row{display:flex;align-items:center;gap:10px;margin:14px 0}.edit-row label{font-size:14px;font-weight:800}.edit-row input[type=text]{border:2px solid #292a22;border-radius:12px;padding:10px;width:100%;min-width:0;background:#fffef8}.eyes-label{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px!important}.eyes-label input{width:18px;height:18px;accent-color:#475be1}.modal-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.modal-actions .primary{flex:1}.privacy-note{font-size:12px;color:#626455;margin:14px 0 0}.gallery{width:870px}.gallery-tabs{display:flex;gap:9px;margin-bottom:18px}.gallery-tabs button.selected{background:#292a22;color:white}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.runner-card{border:2px solid #292a22;border-radius:18px;background:#fffef8;overflow:hidden;min-width:0}.runner-card canvas{width:100%;height:140px;background:#e7edcc;display:block}.runner-card .card-body{padding:12px}.runner-card h3{font-size:17px;line-height:1.2;margin:0 0 6px;overflow-wrap:anywhere}.runner-card .credit{max-width:100%;margin-bottom:10px}.card-actions{display:flex;gap:6px;flex-wrap:wrap}.card-actions button{font-size:12px;flex:1;padding:7px 10px;min-height:36px}.empty{padding:35px 12px;text-align:center;grid-column:1/-1;color:#626455}.gallery-more{margin:18px auto 0;display:block}.result{width:560px;text-align:center}.result .modal-head{justify-content:flex-end;margin:0}.result h2{font-size:43px}.result-medal{font-size:55px;line-height:1.1}.result-metrics{display:flex;justify-content:center;gap:30px;margin:20px 0}.result-metrics strong{font-size:30px;display:block}.result-metrics small{font-size:12px;color:#626455}.result .modal-actions{justify-content:center}.result .sub{margin-top:10px}.pause{width:380px;text-align:center}.pause button{display:block;width:100%;margin-top:12px}[hidden]{display:none!important}
@media(max-width:700px){header{height:62px;padding:0 16px}.brand{font-size:19px;letter-spacing:-1px}.brand svg{width:28px}nav{gap:4px}nav button{padding:8px 11px;font-size:13px}.stage{height:calc(100dvh - 62px - 36px);min-height:460px}.home-copy{top:5%;left:7%;right:7%}h1{font-size:clamp(40px,12vw,52px);letter-spacing:-2.5px;margin-bottom:15px}.home-copy p{font-size:16px;margin-bottom:18px}.home-actions button{font-size:17px;padding:12px 18px;min-width:125px}.eyebrow{font-size:10px;margin-bottom:12px}.bottom-bar{left:5%;right:5%;bottom:18px;align-items:center;flex-direction:column;gap:13px}.track-picker{padding:6px;gap:2px;width:100%;justify-content:center}.track-picker button{padding:10px 12px;font-size:12px;flex:1}.guest-note{text-align:center;font-size:11px;max-width:100%}.credits{justify-content:center}.credit{font-size:11px;max-width:160px}.race-top{left:4%;right:4%;gap:9px;top:16px}.race-time{font-size:20px;min-width:60px}.race-top button{padding:8px 10px}.race-tip{font-size:12px;max-width:155px;padding:10px}.race-bottom{left:4%;right:4%;bottom:24px}.jump{font-size:23px;min-width:140px;padding:19px}.modal-wrap{padding:12px}.modal{padding:19px;max-height:calc(100dvh - 24px);border-radius:21px}.modal h2{font-size:27px}.draw-layout{grid-template-columns:1fr}.preview-box{display:none}.swatch{width:30px;height:30px;min-height:30px}.palette{gap:10px}.draw-tools{width:100%;justify-content:flex-end;margin-top:5px}.edit-row{flex-wrap:wrap}.edit-row>label:first-child{display:none}.edit-row input[type=text]{flex:1;min-width:120px}.cards{grid-template-columns:repeat(2,1fr);gap:10px}.runner-card canvas{height:112px}.runner-card .card-body{padding:10px}.runner-card h3{font-size:15px}.result h2{font-size:34px}.result-metrics{gap:25px}.modal-actions button{font-size:14px;padding:10px 12px}.privacy-note{font-size:11px}.result-medal{font-size:44px}}
@media(max-height:530px) and (min-width:600px){header{height:56px}.stage{height:calc(100dvh - 56px - 36px);min-height:320px}.home-copy{top:5%}h1{font-size:48px;letter-spacing:-2px;margin-bottom:8px}.eyebrow{display:none}.home-copy p{font-size:14px;margin-bottom:10px}.home-actions button{padding:9px 20px;font-size:17px}.bottom-bar{bottom:12px}.guest-note{max-width:245px}.race-bottom{bottom:12px}.jump{padding:10px 22px}.modal{max-height:calc(100dvh - 24px)}.modal-wrap{padding:12px}}

@media(max-width:370px){header{padding:0 10px}.brand{font-size:16px;gap:5px}.brand svg{width:25px}nav button{padding:7px 9px;font-size:12px}.home-actions{gap:8px}.home-actions button{min-width:115px;padding:12px 14px;font-size:16px}.gallery-tabs{flex-wrap:wrap}.palette{gap:9px}}

#result-creature{width:150px;height:115px;display:block;margin:-15px auto 5px}

@media(max-height:530px) and (min-width:600px){.bottom-bar{flex-direction:row;align-items:end}.track-picker{width:auto;flex-shrink:0}.track-picker button{flex:initial;font-size:11px;padding:8px 10px}.guest-note{font-size:10px;max-width:220px}.credits{justify-content:flex-end}}
.result .sub{overflow-wrap:anywhere}
@media(max-width:370px){.home-actions button{font-size:15px;padding:12px 11px;white-space:nowrap}}

.styles{width:730px}.style-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.style-card{padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;min-width:0}.style-card.selected{background:#d7fb54;box-shadow:0 4px #292a22}.style-card strong{font-size:22px}.style-card>span:last-child{font-size:12px;line-height:1.5;font-weight:650}.style-icon{font-size:54px;line-height:1;width:80px;height:80px;border:2px solid #292a22;border-radius:50%;display:grid;place-items:center;background:#e0e9ff}.style-card:nth-child(2) .style-icon{background:#ffc177}.style-card:nth-child(3) .style-icon{background:#efa9dd}.style-detail{font-size:14px;min-height:44px;margin:20px 0 12px}.styles>.primary{width:100%;font-size:20px}.race-controls{display:flex;gap:10px;align-items:center;pointer-events:auto}.charge{background:#ffd283;min-width:142px;touch-action:manipulation}.charge.active{background:#ff9e48;box-shadow:0 3px #292a22}.race-controls .jump{white-space:nowrap}
@media(max-width:700px){.race-bottom:has(.charge:not([hidden])){flex-wrap:wrap;gap:8px}.race-bottom:has(.charge:not([hidden])) .race-tip{max-width:100%;padding:6px 10px}.race-controls{margin-left:auto}.charge{font-size:14px;min-width:128px;padding:16px 12px}.style-cards{grid-template-columns:1fr;gap:10px}.style-card{display:grid;grid-template-columns:52px 1fr;text-align:left;gap:3px 12px;padding:10px 12px}.style-icon{grid-row:span 2;width:50px;height:50px;font-size:38px}.style-card strong{font-size:19px}.style-card>span:last-child{font-size:12px}.style-card br{display:none}.style-detail{margin-top:14px;min-height:0}.styles .sub{margin-bottom:10px}}
@media(max-height:530px) and (min-width:600px){.style-cards{grid-template-columns:repeat(3,1fr)}.style-card{padding:8px;gap:5px;display:flex;text-align:center}.style-icon{width:40px;height:40px;font-size:30px}.style-card strong{font-size:17px}.style-detail{margin:12px 0 8px;min-height:0}.styles .modal-head{margin:0}.styles>.primary{padding:8px;font-size:17px}.race-bottom:has(.charge:not([hidden])){flex-wrap:nowrap}.charge{padding:10px;font-size:14px}.race-controls .jump{font-size:20px;min-width:120px}}

@media(max-width:700px) and (max-height:650px){.styles{padding:14px}.styles h2{font-size:24px}.styles .sub{font-size:12px;margin-bottom:8px}.styles .modal-head{gap:8px}.style-card{padding:8px 10px;grid-template-columns:40px 1fr;gap:2px 10px}.style-card strong{font-size:18px}.style-card>span:last-child{font-size:11px}.style-icon{width:40px;height:40px;font-size:30px}.style-cards{gap:8px}.style-detail{font-size:12px;line-height:1.4;margin:12px 0}.styles>.primary{font-size:17px;padding:10px}}

.difficulty-picker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}.difficulty-picker button{min-width:100px;padding:8px 16px}.difficulty-picker button.selected{background:#292a22;color:#fffef6}.difficulty-picker p{flex:1;font-size:12px;font-weight:650;margin:0 0 0 6px;min-width:150px}.race-standing{position:absolute;left:5%;top:80px;background:#fffef6;border:2px solid #292a22;border-radius:12px;padding:6px 12px;font-size:14px;font-weight:850}
@media(max-width:700px){.difficulty-picker{gap:6px;margin-bottom:12px}.difficulty-picker button{flex:1;min-width:0}.difficulty-picker p{flex-basis:100%;margin:2px 0 0;font-size:12px;text-align:center}.race-standing{left:4%;top:73px;font-size:12px;padding:5px 10px}}
@media(max-width:700px) and (max-height:650px){.styles .modal-head .sub{display:none}.styles h2{font-size:22px}.difficulty-picker{margin-bottom:8px}.style-detail{margin:8px 0;font-size:11px}.style-card{padding:6px 8px}.style-card>span:last-child{font-size:10px}.style-card strong{font-size:16px}.styles>.primary{padding:8px;min-height:44px}}
@media(max-height:530px) and (min-width:600px){.styles{padding:12px 18px}.styles .sub{display:none}.styles h2{font-size:24px}.difficulty-picker{margin:4px 0 8px;flex-wrap:nowrap}.difficulty-picker button{flex:initial;min-width:90px}.difficulty-picker p{flex:1;min-width:0;text-align:left;margin:0 0 0 6px}.style-icon{display:none}.style-card{gap:4px;min-height:62px}.style-detail{font-size:12px;margin:8px 0}.race-standing{top:76px}}

.editor-tabs{display:flex;gap:8px;margin:0 0 12px}.editor-tabs button{padding:8px 18px}.editor-tabs .selected,.part-tools .selected{background:#292a22;color:#fffef6}.part-tools{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 0}.part-tools button{font-size:13px;min-height:44px;padding:8px 12px}.part-tools #parts-reset{margin-left:auto}.part-help{font-size:12px;line-height:1.4;color:#626455;margin:8px 0}#paper:focus-visible{outline:3px solid #475be1;outline-offset:3px}
@media(max-width:370px){.part-tools{gap:4px}.part-tools button{padding:8px;font-size:12px}.part-tools #parts-reset{margin-left:0}.editor-tabs button{padding:8px 14px}}

#editor-wrap .modal{padding:20px}#editor-wrap .modal-head{margin-bottom:6px}#editor-wrap .sub{margin-bottom:4px}#editor-wrap .editor-tabs{margin-bottom:8px}#editor-wrap .edit-row{margin:10px 0}#editor-wrap .part-tools{margin-top:10px}
@media(min-width:701px){#editor-wrap #paper{max-width:360px;justify-self:center}}

.track-choices{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.player-tracks{font-size:13px;padding:8px 16px;min-height:40px;background:#fffef6}.selected-course{position:absolute;left:5.2%;top:calc(7% + 315px);display:flex;align-items:center;gap:10px;background:#fffef6;border:2px solid #292a22;border-radius:14px;padding:8px 10px;max-width:460px}.selected-course strong{font-size:14px;overflow-wrap:anywhere}.selected-course button{border:0;background:transparent;font-size:22px;padding:2px;flex-shrink:0}.selected-course .credit{font-size:11px}.style-course{font-size:12px;font-weight:750;margin:10px 0 0;overflow-wrap:anywhere}.race-course{position:absolute;left:5%;top:120px;max-width:270px;background:#fffef6e8;border:2px solid #292a22;border-radius:12px;padding:7px 10px;display:flex;flex-direction:column;gap:4px}.race-course strong{font-size:13px;overflow-wrap:anywhere}.race-course .credit{font-size:11px}.courses-modal{width:850px}#courses-make{display:block;width:100%;margin-top:18px}#courses-marathon{display:block;width:100%;margin-top:12px}.course-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.course-card{border:2px solid #292a22;border-radius:16px;overflow:hidden;background:#fffef6;padding-bottom:12px;min-width:0}.course-card canvas{width:100%;display:block}.course-card h3{font-size:17px;overflow-wrap:anywhere;margin:10px 12px 8px}.course-card>.credit{margin:0 12px 10px}.course-card>.card-actions{margin:0 12px}.course-editor{width:780px}.course-themes{display:flex;gap:8px;margin-bottom:18px}.course-themes button{flex:1;font-size:14px;padding:9px}.course-themes .selected{background:#292a22;color:#fffef6}.course-directions{display:flex;justify-content:space-between;font-size:11px;font-weight:850;margin-bottom:5px}.course-slots{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;padding:12px 8px;background:#e7edcc;border:2px solid #292a22;border-radius:14px}.course-slots button{min-width:0;padding:0;height:110px;border:1px solid #9caa80;border-radius:8px;background:#fffef6;position:relative;display:flex;align-items:end;justify-content:center;padding-bottom:23px}.course-slots button span{display:block;font-size:0;width:18px;background:#475be1;border:2px solid #292a22;border-radius:5px 5px 0 0;height:0}.course-slots button[data-height="0"] span{font-size:30px;color:#8b957b;border:0;background:transparent;height:35px}.course-slots button[data-height="1"] span{height:32px}.course-slots button[data-height="2"] span{height:65px}.course-slots small{position:absolute;bottom:4px;font-size:10px}.course-name-label{display:block;font-size:13px;font-weight:800;margin:16px 0 7px}#course-name{display:block;width:100%;border:2px solid #292a22;border-radius:12px;padding:10px;background:#fffef6;margin-bottom:16px}.result-course-credit{display:flex;justify-content:center}.result-course-credit:empty{display:none}
@media(max-width:700px){.track-choices{width:100%;align-items:center}.player-tracks{min-height:44px;width:100%;font-size:12px;padding:6px 10px}.bottom-bar{gap:8px;bottom:12px}.track-picker button{padding:9px 10px}.selected-course{left:7%;right:7%;top:calc(5% + 255px);padding:4px 8px;gap:6px}.selected-course strong{font-size:12px}.selected-course .credit{max-width:120px;font-size:10px}.selected-course .credit img{width:18px;height:18px}.race-course{left:4%;top:112px;max-width:200px}.race-course strong{font-size:12px}.course-cards{grid-template-columns:1fr}.course-slots{grid-template-columns:repeat(6,1fr);gap:5px;padding:8px}.course-slots button{height:92px;min-height:44px}.course-slots button[data-height="2"] span{height:51px}.course-slots button[data-height="1"] span{height:26px}.course-themes{gap:6px;margin-bottom:12px}.course-themes button{font-size:12px;padding:8px 5px}.course-editor .sub{font-size:13px}.course-editor h2{font-size:27px}.course-editor .modal-actions button{font-size:13px}.course-editor .privacy-note{margin-top:10px}.course-name-label{margin-top:12px}}
@media(max-height:650px) and (max-width:700px){.selected-course{top:calc(5% + 238px)}.selected-course .credit{max-width:100px}.selected-course strong{font-size:11px}.course-editor{padding:14px}.course-editor h2{font-size:23px}.course-editor .modal-head{margin-bottom:4px}.course-editor .sub{font-size:11px;margin-bottom:8px}.course-slots button{height:72px}.course-slots button[data-height="2"] span{height:40px}.course-slots button[data-height="1"] span{height:22px}.course-editor .privacy-note{font-size:10px}.style-course{font-size:10px;margin:6px 0}}
@media(max-height:530px) and (min-width:600px){.track-choices{width:auto;flex-direction:row;align-items:center;gap:6px}.player-tracks{font-size:11px;width:auto;max-width:170px;min-height:44px}.bottom-bar{flex-wrap:wrap;gap:5px}.selected-course{left:auto;right:5%;top:6%;max-width:40%;padding:4px 8px}.course-editor{padding:14px}.course-editor .modal-head{margin-bottom:4px}.course-editor h2{font-size:23px}.course-editor .sub{font-size:12px;margin-bottom:5px}.course-themes{margin-bottom:6px}.course-slots{grid-template-columns:repeat(12,1fr)}.course-slots button{height:66px}.course-slots button[data-height="2"] span{height:35px}.course-slots button[data-height="1"] span{height:20px}.course-editor .privacy-note{font-size:10px;margin-top:6px}.course-name-label{margin-top:8px}#course-name{margin-bottom:8px}.race-course{left:auto;right:5%;top:74px;max-width:210px}.style-course{font-size:10px}}

.track-choices .selected-course{position:static;max-width:460px;width:100%;margin:0;min-height:54px}.track-choices .selected-course strong{flex:1}#home-ui:has(#selected-course:not([hidden])) .track-picker [data-track]{display:none}
@media(max-width:370px){.course-slots{grid-template-columns:repeat(4,1fr)}.course-slots button{height:62px}.course-slots button[data-height="2"] span{height:32px}.course-slots button[data-height="1"] span{height:18px}}
@media(max-height:530px) and (min-width:600px){.track-choices .selected-course{width:340px;max-width:340px;min-height:54px}.track-choices .selected-course strong{font-size:12px}}

.moon .home-copy{color:#fffef6}.moon h1 em{color:#e5eb94}.moon .home-actions button{color:#242522}.moon .race-time,.moon .race-stars{color:#fffef6}

.track-picker .player-tracks{width:auto;max-width:none;min-width:0;margin:0;min-height:44px;font-size:12px;padding:9px 12px;border:0;border-radius:10px;background:#e0e9ff}#home-ui:has(#selected-course:not([hidden])) .track-choices{flex-direction:row;align-items:center}#home-ui:has(#selected-course:not([hidden])) .track-picker{flex-shrink:0}
@media(max-width:700px){.track-picker .player-tracks{padding:8px 6px;font-size:11px}.track-picker button{padding:8px 6px;font-size:11px}.credits{flex-wrap:nowrap;gap:8px}.guest-note .credit{max-width:calc((90vw - 8px)/2);min-width:0}.guest-note .credit img{flex-shrink:0}#home-ui:has(#selected-course:not([hidden])) .track-choices{flex-direction:column}.track-choices .selected-course{min-height:48px}}
@media(max-height:530px) and (min-width:600px){.track-picker .player-tracks{font-size:11px;padding:8px 10px}#home-ui:has(#selected-course:not([hidden])) .track-choices{flex-direction:row}.guest-note .credit{max-width:125px}}

/* The native picker keeps the whole color range available on touch and keyboard. */
.custom-pen{display:flex;flex-direction:column;align-items:center;gap:3px;width:46px;flex:none;font-size:11px;font-weight:800;line-height:1.1;cursor:pointer}
#custom-color{display:block;width:42px;height:34px;padding:3px;border:2px solid #292a22;border-radius:9px;background:#fffef8;cursor:pointer}
#custom-color::-webkit-color-swatch-wrapper{padding:0}
#custom-color::-webkit-color-swatch{border:0;border-radius:4px}
#custom-color::-moz-color-swatch{border:0;border-radius:4px}
.custom-pen.selected #custom-color{outline:2px solid #292a22;outline-offset:3px}
#custom-color:focus-visible{outline:3px solid #ed5c96;outline-offset:4px}
@media(max-width:370px){.palette{gap:6px}.custom-pen{width:42px}}

/* Four movement choices, with a held control for the automatic bounce. */
.styles{width:860px}.style-cards{grid-template-columns:repeat(4,1fr)}
.style-card:nth-child(4) .style-icon{background:#a6e2d3}.style-card>span:last-child{min-height:36px}
.brake{touch-action:none;user-select:none;-webkit-user-select:none;min-width:214px}.brake.active{background:#f5a3bd;transform:translateY(3px);box-shadow:0 2px #292a22}
#world{touch-action:none}
@media(max-width:700px){.style-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.style-card{display:flex;text-align:center;padding:12px 8px;gap:6px}.style-icon{width:42px;height:42px;font-size:32px}.style-card strong{font-size:19px}.style-card>span:last-child{font-size:11px;line-height:1.4}.style-card br{display:none}.brake{min-width:188px;font-size:20px;padding:18px 14px}}
@media(max-width:700px) and (max-height:650px){.style-card{padding:8px 5px;gap:4px}.style-icon{width:30px;height:30px;font-size:24px}.style-card strong{font-size:16px}.style-card>span:last-child{font-size:10px;min-height:28px}.style-detail{font-size:12px}}
@media(max-height:530px) and (min-width:600px){.style-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.style-card{display:flex;padding:8px 5px;gap:4px}.style-card>span:last-child{font-size:10px;min-height:28px}.brake{font-size:18px;min-width:182px;padding:12px}}

/* Keep brush weight visible without shrinking the drawing surface. */
.brush-tools{display:flex;gap:8px;align-items:center;margin:0 0 10px}.brush-tools>span{font-size:12px;font-weight:800;margin-right:4px}.brush-tools button{display:flex;gap:7px;align-items:center;justify-content:center;min-height:44px;padding:6px 12px;font-size:13px}.brush-tools button i{display:block;width:16px;border-radius:9px;background:currentColor}.brush-tools button.selected{background:#292a22;color:#fffef6}
@media(max-width:480px){.brush-tools{gap:6px}.brush-tools>span{display:none}.brush-tools button{flex:1;padding:6px 8px;gap:6px}}

/* A real course is visible before opening the collection. */
.course-pick{pointer-events:auto;width:360px;margin-top:18px;padding:9px 12px 10px;background:#fffef6;color:#292a22;border:2px solid #292a22;border-radius:16px;box-shadow:0 3px #292a22}
.pick-heading{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:850;margin-bottom:5px}
.pick-preview canvas{display:block;width:100%;height:40px;border:1px solid #292a22;border-radius:5px}
.pick-row{display:flex;align-items:center;gap:8px;margin-top:7px;min-width:0}.pick-info{flex:1;min-width:0}.pick-info>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.3}.pick-info .credit{max-width:100%;font-size:11px;line-height:1.2}.pick-info .credit img{width:18px;height:18px;flex-shrink:0}.pick-row button{min-height:44px;padding:8px 12px;font-size:13px;white-space:nowrap;background:#e0e9ff}.pick-row #course-pick-next{font-size:24px;width:44px;padding:3px;background:transparent}
@media(max-width:700px){.course-pick{width:100%;margin-top:12px;padding:8px 10px}.pick-preview canvas{height:35px}.pick-row{gap:6px;margin-top:5px}.pick-info>strong{font-size:14px}.pick-row button{padding:8px 10px}}
@media(max-width:700px) and (max-height:700px){#home-ui .home-copy{top:3%}#home-ui .eyebrow,#home-ui .home-copy>p{display:none}#home-ui h1{font-size:34px;letter-spacing:-1.5px;margin-bottom:12px}.course-pick{margin-top:10px;padding:6px 9px}.pick-heading{font-size:9px;margin-bottom:3px}.pick-preview canvas{height:28px}.pick-info>strong{font-size:12px}.pick-info .credit{font-size:10px}.pick-row{margin-top:3px}.pick-row button{font-size:12px;padding:7px 9px}}
@media(max-height:530px) and (min-width:600px){#home-ui .home-copy{top:4%;max-width:320px}#home-ui h1{font-size:29px;letter-spacing:-1px;margin-bottom:10px}#home-ui h1 br{display:none}#home-ui h1 em:before{content:' '}#home-ui .home-copy>p{display:none}#home-ui .home-actions button{font-size:14px;padding:8px 12px;min-width:120px}#home-ui .eyebrow{display:none}.course-pick{width:300px;margin-top:10px;padding:6px 9px}.pick-preview canvas{height:28px}.pick-heading{font-size:9px;margin-bottom:3px}.pick-info>strong{font-size:12px}.pick-info .credit{font-size:10px}.pick-row{margin-top:3px}}

@media(max-height:530px) and (min-width:600px){#home-ui .home-copy{top:3%}#home-ui h1{font-size:24px;margin-bottom:6px}.course-pick{margin-top:8px;padding:5px 9px}.pick-preview canvas{height:24px}}
@media(max-height:530px) and (min-width:600px) and (max-width:740px){.bottom-bar{flex-wrap:nowrap;gap:10px}.track-picker button,.track-picker .player-tracks{font-size:10px;padding:7px 5px}.guest-note{max-width:150px}.guest-note .credit{max-width:140px}#home-ui:has(#selected-course:not([hidden])) .bottom-bar{flex-wrap:wrap}}

/* Keep a selected track in one strip so the little runner keeps its legs. */
@media(max-width:740px){#home-ui:has(#selected-course:not([hidden])) .track-choices{flex-direction:row;gap:6px;min-width:0}#home-ui:has(#selected-course:not([hidden])) .selected-course{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:0 6px;flex:1;min-width:0;width:auto;max-width:none;min-height:56px;padding:5px 9px}.selected-course #course-label{grid-column:1;grid-row:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.selected-course #course-credit{grid-column:1;grid-row:2;min-width:0}.selected-course #course-credit .credit{max-width:100%;font-size:10px}.selected-course #course-clear-selection{grid-column:2;grid-row:1 / 3;min-height:44px}#home-ui:has(#selected-course:not([hidden])) .track-picker{width:auto;padding:4px}#home-ui:has(#selected-course:not([hidden])) .player-tracks{width:70px;white-space:normal;padding:5px;font-size:11px}}
@media(max-height:530px) and (min-width:600px) and (max-width:740px){#home-ui:has(#selected-course:not([hidden])) .bottom-bar{flex-wrap:nowrap}#home-ui:has(#selected-course:not([hidden])) .track-choices{flex:1}#home-ui:has(#selected-course:not([hidden])) .selected-course{max-width:300px}}

/* A chosen stroke can be corrected without removing later detail. */
.palette.erasing>.swatch,.palette.erasing>.custom-pen{display:none}.palette.erasing .draw-tools{width:auto;margin:0 0 0 auto}#erase-help{flex:1;min-width:170px;font-size:12px;line-height:1.4;margin:0;color:#626455}
@media(max-width:480px){.editor-tabs{gap:6px}.editor-tabs button{flex:1;padding:8px 6px;font-size:12px;white-space:nowrap}}

/* Five compact track choices keep the first action and guest drawings in place. */

@media(max-width:700px){.track-picker button,.track-picker .player-tracks{font-size:10px;padding:8px 4px;min-width:0}.track-picker{gap:1px}.track-picker .player-tracks{max-width:70px}}
@media(max-height:530px) and (min-width:600px){.track-picker button,.track-picker .player-tracks{font-size:10px;padding:7px 5px}.guest-note{max-width:175px}}

@media(max-height:530px) and (min-width:600px) and (max-width:740px){.track-choices{flex:1;min-width:0}.track-picker{width:100%;min-width:0;flex-shrink:1;padding:4px}.track-picker button,.track-picker .player-tracks{flex:1;white-space:normal;min-width:0;padding:6px 4px}.guest-note{flex:0 0 116px;max-width:116px}.guest-note .credits{flex-direction:column;align-items:flex-end;gap:2px}.guest-note .credit{max-width:116px}}

/* Show each lift's authored starting end without moving a tap target. */
.course-slots button[data-height="3"]::before,.course-slots button[data-height="4"]::before{content:"";position:absolute;top:8px;bottom:19px;left:50%;border-left:2px dashed #795ab378}
.course-slots button[data-height="3"] span,.course-slots button[data-height="4"] span{position:absolute;height:24px;background:#ba9edf;bottom:20px;display:flex;align-items:center;justify-content:center;font-size:21px;color:#fffef6;line-height:1;z-index:1}
.course-slots button[data-height="4"] span{top:8px;bottom:auto}

.face-tools{margin-top:10px}.face-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.face-row label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.face-row select{font:inherit;font-size:13px;min-height:40px;border:2px solid #292a22;border-radius:10px;background:#fffef6;color:#292a22;padding:5px 8px;max-width:120px}.face-row select:focus-visible{outline:3px solid #ed5c96;outline-offset:2px}#eye-options-title{font-size:12px;font-weight:800}#eye-color{width:42px;height:40px;padding:3px;border:2px solid #292a22;border-radius:10px;background:#fffef6}.face-row[hidden]{display:none}
@media(max-width:480px){.face-row{gap:6px}.face-row label{gap:4px}.face-row select{padding:5px 4px;font-size:12px}.part-tools button{padding:8px 10px}#eye-options-title{width:100%;margin-top:2px}}

@media(min-width:701px){#editor-wrap[data-mode=parts] #paper{max-width:300px}}
@media(max-width:480px){#eye-options{display:grid;grid-template-columns:1fr 1fr 52px;align-items:end;gap:6px}#eye-options[hidden]{display:none}#eye-options label{display:grid;gap:3px}#eye-options-title{grid-column:1/-1}#eye-options select{width:100%;max-width:none}}

/* Give placement its own large surface on wide screens. */
@media(min-width:800px) and (min-height:700px){
  #editor-wrap[data-mode=parts] .modal{width:min(884px,calc(100vw - 48px));display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto auto 94px 144px 96px 34px auto auto auto;column-gap:20px;row-gap:8px}
  #editor-wrap[data-mode=parts] .modal-head{grid-area:1/1/2/3;margin:0}
  #editor-wrap[data-mode=parts] .modal-head .sub{display:none}
  #editor-wrap[data-mode=parts] .editor-tabs{grid-area:2/1/3/3;margin:0}
  #editor-wrap[data-mode=parts] .draw-layout{display:contents}
  #editor-wrap[data-mode=parts] #paper{grid-area:3/1/7/2;max-width:480px;align-self:center}
  #editor-wrap[data-mode=parts] .part-tools{grid-area:3/2/4/3;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start}
  #editor-wrap[data-mode=parts] .part-tools button{padding:8px 4px;min-width:0}
  #editor-wrap[data-mode=parts] .part-tools #parts-reset{margin:0}
  #editor-wrap[data-mode=parts] .face-tools{grid-area:4/2/5/3;margin:0}
  #editor-wrap[data-mode=parts] .face-row{margin:0 0 8px}
  #editor-wrap[data-mode=parts] .face-row:first-child{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  #editor-wrap[data-mode=parts] .face-row:first-child label{display:grid;gap:3px;min-width:0}
  #editor-wrap[data-mode=parts] .face-row:first-child select{width:100%;max-width:none;min-width:0}
  #editor-wrap[data-mode=parts] #eye-options{display:grid;grid-template-columns:1fr 1fr 52px;align-items:end;gap:6px;margin-bottom:0}
  #editor-wrap[data-mode=parts] #eye-options-title{grid-column:1/-1}
  #editor-wrap[data-mode=parts] #eye-options label{display:grid;gap:3px}
  #editor-wrap[data-mode=parts] #eye-options select{width:100%;max-width:none}
  #editor-wrap[data-mode=parts] .preview-box{grid-area:5/2/6/3;flex-direction:row;gap:12px;min-height:96px}
  #editor-wrap[data-mode=parts] .preview-box canvas{width:84px;height:90px}
  #editor-wrap[data-mode=parts] #part-help{grid-area:6/2/7/3;margin:0}
  #editor-wrap[data-mode=parts] .edit-row{grid-area:7/1/8/3;margin:0}
  #editor-wrap[data-mode=parts] .modal-actions{grid-area:8/1/9/3}
  #editor-wrap[data-mode=parts] .privacy-note{grid-area:9/1/10/3;margin:0}
}

/* Settings */
.settings{width:440px}
.set-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 4px;border-top:2px solid #e5e4d6}
.set-row:first-of-type{border-top:0}
.set-copy{display:flex;flex-direction:column;gap:3px;min-width:0;cursor:pointer}
.set-copy strong{font-size:16px}
.set-copy span{font-size:12.5px;color:#626455;line-height:1.4}
.set-toggle{flex-shrink:0;position:relative;width:56px;height:32px;border:2px solid #292a22;border-radius:20px;background:#e5e4d6;padding:0;box-shadow:inset 0 2px 0 #00000022;min-height:0;transition:background .15s}
.set-toggle .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fffef6;border:2px solid #292a22;transition:transform .15s}
.set-toggle.on{background:#d7fb54}
.set-toggle.on .knob{transform:translateX(24px)}
#settings{min-width:44px;padding:8px;font-size:20px;line-height:1}
@media(max-width:700px){#settings{padding:8px 11px;font-size:17px}}
/* Lefty mode: swap jump controls and the tips box across the bottom bar. */
.lefty .race-bottom{flex-direction:row-reverse}
