.next-course{display:block;margin:12px auto 0}.next-course[hidden]{display:none}.game:has(dialog[open]) .hud{pointer-events:none}.game:has(dialog[open]) .tools{pointer-events:none}
.course-dialog{width:min(1040px,95vw);max-height:92svh;color:#fff1d7;background:#102836;border:1px solid #7c9ca65c;border-radius:18px;padding:26px;box-shadow:0 30px 100px #000b;overscroll-behavior:contain}.course-dialog::backdrop{background:#04101de0;backdrop-filter:blur(7px)}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:21px}.map-heading small{font-size:9px;letter-spacing:3px;color:#c7a979}.map-heading h2{font-size:28px;margin:8px 0 0}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.course-card{position:relative;text-align:left;overflow:hidden;border:1px solid #d7c69540;border-radius:12px;background:#0a202d;color:#fff3da;padding:0;transition:transform .2s,border-color .2s;isolation:isolate}.course-card:hover,.course-card:focus-visible{transform:translateY(-3px);border-color:#ffd691}.course-card img{display:block;width:100%;aspect-ratio:2.25;object-fit:cover;transition:transform .4s}.course-card:hover img{transform:scale(1.035)}.course-card .card-copy{display:block;padding:12px 14px}.course-card .card-number{position:absolute;top:9px;left:10px;padding:4px 7px;background:#091b2dd9;border:1px solid #ffffff30;border-radius:5px;font:11px Consolas,monospace}.course-card strong{display:block;font-size:18px;letter-spacing:1px}.course-card .card-tag{display:block;color:#bfd0d5;font-size:10px;margin:6px 0 8px}.course-card .card-record{display:flex;justify-content:space-between;color:#edcf96;font:10px Consolas,monospace}.item-guide{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;padding-top:20px;color:#bacfd6;font-size:11px}
.effects{position:absolute;left:4%;top:29%;z-index:2;pointer-events:none;display:flex;flex-direction:column;gap:7px}.effect-pill{padding:8px 12px;border-radius:30px;border:1px solid #c6ead36b;background:#082735e8;font-size:12px;font-weight:700;color:#d1ffee}.effect-pill.boost{border-color:#eac57f80;color:#ffe1a4}.fork{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);z-index:3;padding:12px;border:1px solid #e2cc9273;border-radius:13px;background:#0b263bf5;box-shadow:0 8px 35px #0007;text-align:center}.fork>span{font-size:12px;letter-spacing:2px;color:#e6cd9d}.fork>div{display:flex;gap:8px;margin-top:8px}.fork button{width:128px;min-height:52px;color:#e2e9e5;background:#1d3847;border:1px solid #718e9566;border-radius:7px;font-size:15px;font-weight:800;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.fork button small{display:block;font-size:10px;font-weight:400;margin-top:4px}.fork button[aria-pressed=true]{color:#312719;background:#f4d39d;border-color:#fff2bf}.fork[hidden]{display:none}
@media(max-width:950px){.course-dialog{padding:18px}.course-grid{gap:11px}.course-card strong{font-size:15px}.course-card .card-copy{padding:10px}.map-heading h2{font-size:24px}.item-guide{font-size:10px}.effects{top:28%}.effect-pill{font-size:10px;padding:5px 9px}.fork{padding:8px;bottom:5%}.fork>span{font-size:10px}.fork button{width:91px;min-height:46px;font-size:12px}.fork button small{font-size:8px}.fork>div{margin-top:5px;gap:5px}}
@media(orientation:landscape) and (max-height:600px){.course-dialog{max-height:96svh;padding:15px}.map-heading{margin-bottom:12px}.map-heading h2{font-size:20px}.course-card img{aspect-ratio:2.7}.course-card strong{font-size:14px}.course-card .card-copy{padding:8px}.item-guide{padding-top:12px}.ready .panel{padding-top:11px;padding-bottom:11px}.ready .panel .hint{display:none}.ready .panel .best{margin-top:7px}.ready .panel .secondary{margin:8px auto 0;padding:5px}.fork{bottom:5%;left:43%}.route{width:118px}.effects{top:29%}}
@media(max-width:550px) and (orientation:portrait){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-dialog{padding:14px}.course-card img{aspect-ratio:1.7}.course-card strong{font-size:13px}.course-card .card-tag,.course-card .card-record{font-size:8px}.map-heading small{font-size:7px;letter-spacing:1px}.map-heading h2{font-size:20px}.item-guide{display:grid;gap:7px}.brand h1{font-size:12px}.stats{gap:5px}.stat strong,.stat #lives{font-size:10px}.hud{inset:4% 2% auto}.effects{left:3%;top:28%}.effect-pill{font-size:7px;padding:3px 5px}.fork{left:36%;bottom:23%;padding:5px}.fork>span{font-size:8px;letter-spacing:0}.fork button{width:74px;min-height:44px;font-size:10px}.fork button small{font-size:7px}.next-course{min-width:145px;font-size:10px;padding:7px 12px;margin-top:6px}.panel:has(.next-course:not([hidden])) #choose-course{display:none}}
@media(orientation:landscape) and (max-height:600px){.cleared .panel{padding:12px 18px}.cleared .panel h2{font-size:23px;margin:6px 0}.cleared .results{margin:10px 0}.cleared .primary{display:inline-block;min-width:155px;margin:5px 3px;padding:10px 12px}.cleared .primary[hidden]{display:none}.cleared #choose-course{display:block;margin:5px auto 0}.cleared .panel .hint,.cleared .best{margin-top:7px}}
/* Thumb controls stay in the same place throughout a course, including between forks. */
.has-routes .jump-button{margin-left:auto}
.fork{left:3.5%;bottom:4%;transform:none;width:276px;box-sizing:border-box;padding:10px;background:#102d3ef2;border:2px solid #7ba3b4;border-radius:15px;text-align:left;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.fork>span{display:block;text-align:center;font-size:12px;letter-spacing:.8px;color:#e3eff3;font-weight:800}
.fork>div{display:flex;gap:8px;margin-top:7px}
.fork button{width:123px;min-height:64px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:17px;border-width:2px;touch-action:none}
.fork button b{font:800 32px/1 sans-serif}.fork button span{text-align:left}.fork button small{font-size:11px;margin-top:3px}.fork button:disabled{opacity:.4}
.fork.attention{border-color:#ffdd8b;box-shadow:0 0 0 4px #ffce7530,0 6px 35px #0008;animation:fork-glow 1s ease-in-out infinite alternate}
.fork-alert{position:absolute;top:24%;left:50%;transform:translateX(-50%);z-index:3;pointer-events:none;text-align:center;padding:10px 20px;border-radius:12px;background:#112e42ed;border:2px solid #ffd687;color:#ffdf9f;box-shadow:0 5px 24px #0008}
.fork-alert strong{display:block;font-size:22px;letter-spacing:1px}.fork-alert span{display:block;font-size:12px;margin-top:4px;color:#fff1d3}.fork-alert[hidden]{display:none}
.has-routes .route{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:185px}.has-routes .route-label{font-size:9px}.has-routes .route-note{display:none}
@keyframes fork-glow{to{box-shadow:0 0 0 7px #ffce7548,0 6px 35px #0008}}
/* Small persistent targets; the countdown appears only as a fork approaches. */
@media (orientation:landscape) and (max-height:600px), (max-width:550px) and (orientation:portrait){
 .fork,.fork.attention{width:142px;padding:0;border:0;background:none;box-shadow:none;animation:none}
 .fork>div{gap:6px;margin:0}
 .fork button{box-sizing:border-box;flex:0 0 68px;width:68px;height:44px;min-height:44px;padding:0;gap:4px;font-size:11px;box-shadow:0 2px 8px #0005}
 .fork button b{font-size:20px}.fork button small{display:none}
 .fork>span{display:none;position:absolute;bottom:49px;left:0;width:100%;font-size:10px;letter-spacing:0;text-shadow:0 1px 4px #000,0 1px 4px #000}
 .fork.attention>span{display:block}.fork.attention button{border-color:#ffdd8b}
}
@media(orientation:landscape) and (max-height:600px){.fork{left:3%;bottom:4%}.fork-alert{top:22%;padding:8px 15px}.fork-alert strong{font-size:17px}.fork-alert span{font-size:10px}.has-routes .route{left:55%;bottom:1px;width:110px}.has-routes .route-label{font-size:8px}.has-routes .route-label #zone-name{display:none}}
@media(max-width:550px) and (orientation:portrait){.game.has-routes{overflow:visible;margin-bottom:80px}.fork{left:0;bottom:-64px}.has-routes .bottom-hud{bottom:-72px;left:0;right:0}.has-routes .bottom-hud .jump-button{margin-left:auto;width:132px;height:60px}.has-routes .route{display:none}.fork-alert{top:27%;padding:4px 8px;min-width:180px}.fork-alert strong{font-size:12px}.fork-alert span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.fork.attention{animation:none}}
