body.bit101-games [data-scene-game="road"]{
    --road-sky:#0d4752;
    --road-cream:#ffd46a;
    --road-teal:#29dcd5;
    --road-deep:#062d38;
    --road-sun:#ffd35c;
    background:
        radial-gradient(circle at 76% 16%,rgba(255,211,92,.42) 0 6%,transparent 6.4%),
        radial-gradient(circle at 18% 30%,rgba(41,220,213,.18),transparent 28%),
        linear-gradient(180deg,var(--road-sky),var(--road-deep));
}

body.bit101-games .road-scene{
    position:absolute;
    inset:0;
    overflow:hidden;
    contain:strict;
    pointer-events:none;
    isolation:isolate;
    background:
        radial-gradient(circle at 76% 16%,rgba(255,211,92,.42) 0 6%,transparent 6.4%),
        linear-gradient(180deg,#125463 0 52%,#062d38 100%);
}

body.bit101-games .road-scene__canvas{
    display:block;
    width:100%;
    height:100%;
    pointer-events:none;
    image-rendering:auto;
    touch-action:none;
}

body.bit101-games .road-scene__canvas[hidden]{
    display:none;
}

body.bit101-games .road-scene__recovery{
    position:absolute;
    z-index:3;
    left:50%;
    top:50%;
    display:grid;
    width:min(360px,calc(100% - 48px));
    translate:-50% -50%;
    gap:7px;
    padding:18px 20px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:20px;
    background:rgba(6,45,56,.92);
    box-shadow:0 18px 48px rgba(0,0,0,.32);
    color:#f4ffff;
    text-align:center;
}

body.bit101-games .road-scene__recovery[hidden]{
    display:none;
}

body.bit101-games .road-scene__recovery strong{
    font-size:clamp(18px,3vw,25px);
}

body.bit101-games .road-scene__recovery span{
    color:#d6f4f2;
    font-size:clamp(13px,2vw,16px);
    line-height:1.4;
}

body.bit101-games [data-scene-game="road"][data-road-paused="true"] .road-scene__canvas{
    filter:saturate(.8) brightness(.86);
}

body.bit101-games [data-scene-game="road"][data-reduced-motion="true"] .road-scene__canvas{
    filter:saturate(.94);
}

body.bit101-games [data-scene-game="road"][data-road-renderer="fallback"]{
    background:
        linear-gradient(112deg,transparent 0 43%,rgba(41,220,213,.28) 43% 44%,transparent 44%),
        linear-gradient(248deg,transparent 0 43%,rgba(41,220,213,.28) 43% 44%,transparent 44%),
        linear-gradient(180deg,#125463 0 48%,#062d38 48% 100%);
}

body.bit101-games [data-scene-game="road"][data-road-renderer="fallback"]::before{
    content:none;
}

body.bit101-games [data-scene-game="road"][data-road-renderer="fallback"]::before,
body.bit101-games [data-scene-game="road"][data-road-renderer="fallback"]::after{
    position:absolute;
    z-index:2;
    left:50%;
    top:56%;
    translate:-50% -50%;
    color:#fff1a5;
    font:900 clamp(22px,5vw,54px)/1 Roboto,Arial,sans-serif;
    letter-spacing:.08em;
    text-shadow:0 0 18px rgba(255,211,92,.72);
}

body.bit101-games [data-scene-game="road"][data-road-renderer="fallback"]::after{
    color:#d6fffa;
    font:900 clamp(20px,4vw,42px)/1 Roboto,Arial,sans-serif;
    letter-spacing:.42em;
    text-shadow:0 0 18px rgba(41,220,213,.76);
    content:none;
}

body.bit101-games .game-shell[data-game-id="road"] [data-bit101-numeral-enhanced="true"]{
    font-variant-numeric:normal;
}

body.bit101-games .game-shell[data-game-id="road"] .bit101-numeral-source{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
    border:0;
}

body.bit101-games .game-shell[data-game-id="road"] .bit101-numeral-visual{
    display:inline-flex;
    align-items:baseline;
    justify-content:center;
    white-space:pre-wrap;
}

body.bit101-games .game-shell[data-game-id="road"] .game-expression .bit101-numeral-run{
    font-size:1.08em;
    color:inherit;
    filter:drop-shadow(0 2px 1px rgba(0,0,0,.26));
}

body.bit101-games .game-shell[data-game-id="road"] .game-status .bit101-numeral-run{
    font-size:1.02em;
    color:#fff3b0;
    vertical-align:-.1em;
}

body.bit101-games .game-shell[data-game-id="road"] .game-tutorial__equation .bit101-numeral-run{
    color:#095f66;
    filter:drop-shadow(0 1px 0 rgba(255,255,255,.8));
}

body.bit101-games .game-shell[data-game-id="road"] .game-renderer-fallback .bit101-numeral-run{
    color:#fff1a5;
    filter:drop-shadow(0 0 8px rgba(255,211,92,.58));
}

body.bit101-games .game-shell[data-game-id="road"] .game-result__card>p .bit101-numeral-run{
    margin-inline:.04em;
    color:#096f72;
    font-size:1.02em;
}

/* The Road selector preview is the visual authority for these two controls. */
body.bit101-games .game-shell[data-game-id="road"] .game-steering{
    right:max(clamp(24px,2.6vw,40px),env(safe-area-inset-right));
    left:max(clamp(24px,2.6vw,40px),env(safe-area-inset-left));
}

body.bit101-games .game-shell[data-game-id="road"] .game-steer{
    width:clamp(82px,13vw,200px);
    height:clamp(82px,13vw,200px);
}

body.bit101-games .game-shell[data-game-id="road"] .game-direction-icon{
    width:100%;
    height:100%;
}

@media (hover:hover){
    body.bit101-games .game-shell[data-game-id="road"] .game-steer:not(:disabled):hover{
        filter:brightness(1.08);
    }

}

body.bit101-games .game-shell[data-game-id="road"] .game-steer:not(:disabled):active{
    filter:brightness(.94);
}

body.bit101-games .game-shell[data-game-id="road"] .game-steer:focus-visible{
    outline:4px solid rgba(255,217,91,.98);
    outline-offset:4px;
}

@media(max-height:420px) and (orientation:landscape){
    body.bit101-games .game-shell[data-game-id="road"] .game-steer{
        width:clamp(72px,13vw,104px);
        height:clamp(72px,13vw,104px);
    }
}

@media(max-height:420px) and (orientation:landscape){
    body.bit101-games .road-scene{
        background:linear-gradient(180deg,#125463 0 42%,#062d38 42% 100%);
    }
}

@media(prefers-reduced-motion:reduce){
    body.bit101-games .road-scene__canvas{transition:none}
}
