:root{--paper:#fff0d0;--yellow:#ffd231;--red:#c82431;--navy:#102c49;--deep:#0a223b;--mono:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;color:var(--paper);font-family:var(--sans);background:linear-gradient(#082948ed,#071f37f2),url(art/paper.webp) center/384px;background-color:var(--deep)}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,canvas:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}button:hover{filter:brightness(1.1)}[hidden]{display:none!important}.shell{max-width:1512px;padding:0 clamp(18px,5vw,76px);margin:auto}.mast,.preline,.tools,.brand,.brand span,.legend-title,footer,.tag,.start,.hint-icon,.telemetry>div,.hints>div,.guide-head,.game-foot,.game-foot>span{display:flex;align-items:center}.mast{height:84px;justify-content:space-between;border-bottom:1px solid #7797a65e}.brand{gap:16px}.brand img{width:123px;height:49px;object-fit:contain}.brand i{height:29px;width:1px;background:#7193a1;transform:skew(-14deg)}.brand span{font:italic 900 21px/1 var(--sans);letter-spacing:-.9px;color:#fff1d9}.tools{gap:12px}.tools button{min-height:37px;display:flex;align-items:center;gap:9px;background:transparent;border:1px solid #6d8799;border-radius:3px;padding:7px 12px;font:700 13px/1 var(--sans)}.tools button:hover{background:#173c58}.tools .speaker{width:19px;height:19px}.question{border:1.7px solid currentColor;width:16px;height:16px;border-radius:50%;font:bold 12px/14px var(--sans);text-align:center}.mute,.muted .waves{display:none}.muted .mute{display:block}.preline{justify-content:space-between;margin:25px 0 13px;font:600 10px/1.5 var(--mono);letter-spacing:1.7px;color:#b1c5cf}.preline>span{display:flex;align-items:center;gap:12px}.preline i{font-style:normal;color:#688898}.preline strong{color:var(--paper);font-weight:600}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 3px #ffce2420}.checker,.tiny-check{display:inline-block;flex:none;width:35px;height:12px;background:repeating-conic-gradient(currentColor 0 25%,transparent 0 50%) 0 0/9px 9px;transform:skew(-12deg)}.tiny-check{height:10px;width:30px;background-size:10px 10px;color:var(--paper)}.cabinet{border:1px solid #e5d3a9;box-shadow:4px 5px 0 #04182c;border-radius:4px;overflow:hidden;background:#0e365a}.poster{position:relative;isolation:isolate;overflow:hidden;min-height:430px;height:clamp(430px,38.8vw,555px);background:#084c91}.scenery{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,55,111,.64) 0%,rgba(9,65,123,.13) 42%,transparent 72%),url(art/park.webp) center 74%/cover no-repeat}.poster:after{content:"";z-index:3;pointer-events:none;position:absolute;inset:0;opacity:.12;background-image:url(art/paper.webp);background-size:360px;mix-blend-mode:soft-light}.poster-car{width:70%;height:auto;position:absolute;right:-1%;bottom:-3.5%;overflow:visible}.poster-copy{position:relative;z-index:2;width:48%;padding:clamp(26px,3vw,48px) 0 25px clamp(26px,3.65vw,58px)}.tag{font:700 10px/1 var(--mono);letter-spacing:1.6px;color:var(--paper);gap:12px}.tag .checker{color:var(--yellow)}h1{margin:17px 0 0 -7px;width:100%}h1 img{width:100%;max-height:clamp(190px,17.9vw,270px);object-fit:contain;object-position:left center;display:block;filter:drop-shadow(2px 3px 0 #061e3870)}.poster-copy p{font-size:clamp(14px,1.17vw,18px);line-height:1.55;font-weight:570;margin:14px 0 22px;color:#fff1da;text-shadow:1px 1px 2px #0b3254}.start,.action{border:2px solid #262a35;background:var(--yellow);color:#14283d;box-shadow:3px 4px 0 #b6212d,4px 5px 0 #152c42;border-radius:2px}.start{gap:13px;padding:12px 22px;font:900 italic 22px/1.1 var(--sans);transform:skew(-5deg)}.start span{font:700 23px/1 var(--sans);margin-left:18px}.play{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:12px solid #132e45}.start:active,.action:active{translate:2px 2px;box-shadow:1px 2px #b6212d}.machine-no{position:absolute;right:23px;top:23px;display:flex;align-items:center;gap:6px;border:1px solid #d9e4dc9c;border-radius:50%;padding:4px 11px;transform:rotate(-7deg);font:900 italic 14px var(--sans);color:var(--paper)}.machine-no span{border-left:1px solid;padding-left:5px}.poster-sign{position:absolute;right:23px;bottom:15px;font:700 9px/1 var(--mono);letter-spacing:1.7px;display:flex;gap:8px;align-items:center}.poster-sign i{display:inline-block;width:28px;height:7px;background:repeating-linear-gradient(115deg,var(--yellow) 0 3px,transparent 3px 6px)}.telemetry{display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(180deg,#143958,#0c2a44);border-top:2px solid var(--paper);padding:17px 0}.telemetry>div{gap:15px;justify-content:center}.telemetry>div+div{border-left:1px solid #768e9859}.info-icon{height:34px;width:34px;color:var(--yellow)}.info-icon svg{height:100%;width:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round}small,.race-hud small{display:block;font:600 10px/1.4 var(--mono);letter-spacing:1.6px;color:#b5c9d3}.telemetry strong,.race-hud b{font:800 italic 24px/1.2 var(--sans);font-variant-numeric:tabular-nums}.legend{padding:27px 0 23px}.legend-title{gap:12px}.legend-title .checker{color:var(--yellow);width:25px;height:12px;background-size:8px 8px}.legend-title h2{font:italic bold 24px/1.2 var(--serif);margin:0}.hints{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:18px 0 0}.hints>div{gap:14px}.hints strong,.hints span:not(.hint-icon){display:block}.hints strong{font-size:14px}.hints span:not(.hint-icon){font-size:13px;line-height:1.6;color:#b9ccd5}.hint-icon{flex:none;justify-content:center;align-self:center;width:37px;height:37px;color:var(--yellow)}.jump-icon{font:900 italic 37px/1 var(--sans);border-bottom:3px solid var(--yellow);height:32px;transform:skew(-9deg)}.disc-icon,.record-disc{box-shadow:inset 0 0 0 2px #f6a320,inset 0 0 0 4px #ffd54a,inset 0 0 0 5px #ad6922,inset 0 0 0 7px #ffc42d;background:radial-gradient(circle at 50% 50%,#102d49 0 9%,#fff0ac 10% 16%,#d49517 17% 28%,#ffce39 29% 39%,#edac23 40% 43%,#ffd947 44%);border:2px solid #152c45;transform:rotate(-18deg) scaleX(.86);border-radius:50%}.chevrons{font:900 italic 54px/1 Georgia;transform:translateY(-4px)}kbd{font:700 .83em var(--mono);border:1px solid #7794a3;border-bottom-width:2px;border-radius:4px;padding:1px 4px;background:#193950;color:#ffefd5}footer{justify-content:space-between;color:#95b1c1;border-top:1px solid #7797a650;padding:17px 0 22px;font:600 9px/1.3 var(--mono);letter-spacing:1.45px}footer i{color:var(--yellow);font-style:normal;margin:0 6px}.race-hud{display:flex;align-items:center;gap:clamp(24px,8vw,120px);background:#102f4d;border-bottom:2px solid var(--paper);padding:10px 20px}.race-hud b{font-size:22px}.race-hud button{margin-left:auto;width:40px;height:38px;border:1px solid #90a4b0;background:#183f61;border-radius:3px;font-weight:900}.viewport{height:clamp(340px,35vw,525px);position:relative;overflow:hidden;background:#11579a}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.game-foot{border-top:2px solid var(--paper);background:#102f4d;gap:16px;padding:9px 20px}.game-foot>span{gap:6px;font-size:13px}.record-disc{display:inline-block;width:24px;height:24px}.game-foot button{font:800 12px var(--mono);background:var(--yellow);color:var(--navy);border:1px solid var(--paper);border-radius:3px;padding:10px 15px}.progress-track{flex:1;height:5px;background:#385871;border-radius:99px;overflow:hidden}.progress-track i{height:100%;background:var(--yellow);display:block;width:0}#callout{position:absolute;top:15px;left:50%;transform:translateX(-50%);color:var(--yellow);background:#112c46ea;font:800 italic clamp(14px,2.2vw,22px) var(--sans);padding:5px 13px;border:1px solid #ffe2a7;white-space:nowrap;pointer-events:none;transition:opacity .16s}#callout:empty{opacity:0}#count{position:absolute;left:0;right:0;top:18%;text-align:center;pointer-events:none;color:var(--yellow);font:italic 900 clamp(65px,10vw,133px)/1 var(--sans);text-shadow:3px 4px #cb2636,6px 7px #102947}.glass{position:absolute;inset:0;background:#062543c9;display:grid;place-items:center;padding:10px}.paper-card,dialog{color:var(--navy);background:#fff0cf;border:2px solid #152e46;box-shadow:4px 5px 0 #bd2532;border-radius:3px}.paper-card{width:min(340px,94%);padding:24px;text-align:center}.darktag{color:#88402f;justify-content:center;font-size:9px}.paper-card h2,dialog h2{font:italic 800 38px/1.05 var(--serif);margin:12px 0 18px}.action{display:block;width:100%;padding:11px 18px;font:italic 800 17px var(--sans)}.action b{margin-left:12px}.textbtn{background:none;color:#294862;border:0;text-decoration:underline;text-underline-offset:3px;font-size:13px;padding:12px 4px 0}.finish-card img{width:88px;height:65px;object-fit:contain;display:block;margin:0 auto 6px}.finish-card{padding:14px 22px}.finish-card h2{font-size:32px;margin:7px 0}.finish-card p{font-size:13px;margin:6px 0}.finish-card>strong{font:900 italic 35px var(--sans)}.finish-card>small{color:#43566a;font-size:9px;margin:-2px 0 10px}dialog{padding:24px;width:min(445px,calc(100% - 30px));max-height:90dvh}dialog::backdrop{background:#051e38cc}.guide-head{justify-content:space-between}.guide-head button{width:35px;height:35px;color:var(--navy);border:1px solid #9a9684;border-radius:50%;font:400 23px/1 var(--sans);background:none}dialog h2{font-size:38px;margin:14px 0 8px}dialog p,dd{font-size:14px;line-height:1.5}dt{font-weight:800;font-size:14px}dd{margin:2px 0 12px}
@media(min-width:1600px){.poster-copy{padding-top:44px}}
@media(max-width:820px){.shell{padding:0 18px}.mast{height:66px}.preline{margin:20px 0 11px}.poster{height:400px;min-height:0}.poster-copy{width:49%;padding:28px 0 16px 24px}.poster-copy p{font-size:14px}.poster-car{width:73%;right:-4%;bottom:0}.telemetry{padding:13px 0}.telemetry strong{font-size:21px}.info-icon{width:28px;height:28px}.hints>div{gap:8px}.hints span:not(.hint-icon){font-size:12px}.wide{display:none}.viewport{height:395px}}
@media(max-width:590px){.shell{padding:0 12px}.mast{height:61px}.brand{gap:9px}.brand img{width:83px;height:36px}.brand i{height:21px}.brand span{font-size:16px}.tools{gap:7px}.tools button{font-size:11px;padding:6px 9px;gap:5px;min-height:33px}.preline{margin:15px 1px 9px;font-size:8px;letter-spacing:1px}.preline>span{gap:7px}.edition .tiny-check{display:none}.poster{height:clamp(451px,118vw,561px)}.poster-copy{padding:21px 17px;width:100%;height:100%;pointer-events:none}.poster-copy button{pointer-events:auto}.tag{font-size:8px;letter-spacing:1px;gap:8px}.tag .checker{height:10px;width:26px;background-size:8px 8px}h1{width:69%;margin:11px 0 0 -3px}h1 img{max-height:165px}.poster-copy p{position:absolute;bottom:15px;left:17px;max-width:51%;font-size:12px;line-height:1.4;margin:0;color:var(--paper)}.poster-copy .start{position:absolute;bottom:14px;right:12px;padding:10px 12px;font-size:16px;gap:7px}.start span{margin-left:4px;font-size:18px}.play{border-top-width:5px;border-bottom-width:5px;border-left-width:9px}.poster-car{width:106%;right:-7%;bottom:7%}.scenery{background-size:auto 100%;background-position:49% center}.machine-no{right:12px;top:14px;transform:rotate(-7deg) scale(.83);transform-origin:top right}.poster-sign{display:none}.telemetry{padding:11px 0}.telemetry>div{gap:4px}.telemetry .info-icon{width:20px;height:20px}.telemetry small{font-size:7px;letter-spacing:.7px}.telemetry strong{font-size:17px}.legend{padding:21px 3px 18px}.legend-title h2{font-size:21px}.hints{grid-template-columns:1fr;gap:12px;padding-top:14px}.hints>div{gap:12px}.hints strong{font-size:13px}.hints span:not(.hint-icon){font-size:12px}.hint-icon{width:28px;height:28px}.jump-icon{font-size:27px;height:25px}.chevrons{font-size:41px}.race-hud{justify-content:space-between;gap:8px;padding:9px 10px}.race-hud b{font-size:16px}.race-hud small{font-size:8px}.race-hud button{margin-left:0;width:35px;height:34px}.viewport{height:clamp(320px,54dvh,480px)}.game-foot{padding:8px;gap:8px}.game-foot>span{font-size:11px}.game-foot button{padding:10px;font-size:11px}footer{font-size:7px;letter-spacing:1px}.finish-card{padding:10px 20px}}
@media(max-height:560px) and (min-width:591px){body.playing .mast,body.playing .preline,body.playing .legend,body.playing footer{display:none}body.playing .viewport{height:calc(100dvh - 108px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(min-width:591px){h1{width:94%}}
@media(max-width:590px){
 .poster-copy p{position:static;max-width:84%;margin:6px 0 0;font-size:12px;line-height:1.4}
 .poster-copy .start{left:16px;right:auto;min-width:145px;justify-content:center;bottom:15px}
 .poster-bolide{transform:translate(412px,339px) rotate(-13deg)}
 .poster-sign{display:flex;right:13px;bottom:26px;font-size:7px;letter-spacing:1px}
}
@media(max-width:360px){#soundLabel{display:none}.tools button{min-width:35px;justify-content:center}}
.telemetry label{display:block;font:600 10px/1.4 var(--mono);letter-spacing:1.6px;color:#b5c9d3}
#format{font:800 italic 20px/1.25 var(--sans);color:var(--paper);background:#11324d;border:0;border-bottom:1px solid #7f9cac;cursor:pointer;border-radius:0;padding:0 2px 1px 0;max-width:100%}
#format:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.mode-hud{display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap;color:#ffe29d}
.mode-hud #modeText{font:800 10px/1 var(--mono);letter-spacing:1px}
#beatLight{--beat:0;display:block;width:10px;height:10px;background:currentColor;transform:scale(calc(.72 + var(--beat) * .4));opacity:calc(.4 + var(--beat) * .6);clip-path:polygon(50% 0,65% 34%,100% 50%,65% 66%,50% 100%,35% 66%,0 50%,35% 34%)}
.race-hud{gap:clamp(14px,5vw,76px)}.race-hud button{margin-left:0}
#race[data-mode="1"] .race-hud,#race[data-mode="1"] .game-foot{background:#341449;border-color:#d7ff6d}
#race[data-mode="1"] .mode-hud{color:#d7ff6d}
#race[data-mode="2"] .race-hud,#race[data-mode="2"] .game-foot{background:#0d3c4b;border-color:#7dfff5}
#race[data-mode="2"] .mode-hud{color:#7dfff5}
.deck-note{font-size:13px;margin:-5px 0 17px;color:#395166}
@media(max-width:590px){.telemetry label{font-size:7px;letter-spacing:.7px}#format{font-size:clamp(12px,3.3vw,17px)}.race-hud{gap:5px}.mode-hud{gap:3px}.mode-hud #modeText{font-size:7px;letter-spacing:0}.mode-hud #beatLight{width:7px;height:7px}.race-hud button{width:31px}.race-hud b{font-size:15px}}
@media(prefers-reduced-motion:reduce){#beatLight{transform:none;opacity:.9}}

@media(max-width:590px){.race-hud{column-gap:clamp(7px,2.2vw,12px)}}
#race[data-phase="rock"] .race-hud,#race[data-phase="rock"] .game-foot{background:#452b40;border-color:#ffcb66}
#race[data-phase="bridge"] .race-hud{background:#324561}
@media(max-width:590px){.mode-hud #modeText{font-size:8px;max-width:76px;white-space:normal;text-align:right;line-height:1.15}.race-hud{column-gap:8px}}

#approach{font:700 11px var(--mono);color:#ffe091;white-space:nowrap;min-width:0}#approach:empty{display:none}
.touch-control{display:none}
.progress-track i{width:100%;transform:scaleX(0);transform-origin:left}
@media (pointer:coarse) and (orientation:portrait), (max-width:600px) and (orientation:portrait){
  .desk-control{display:none}.touch-control{display:inline}
  .mast .tools button{min-height:42px}
  .poster-copy p{max-width:90%}
  body.playing{overflow:hidden;overscroll-behavior:none}
  body.playing .shell{
    display:flex;flex-direction:column;height:100vh;height:100dvh;
    padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    box-sizing:border-box;
  }
  body.playing .mast{height:52px;min-height:52px}
  body.playing main{display:flex;flex-direction:column;flex:1;min-height:0}
  body.playing .preline{flex:none;margin:8px 2px;line-height:1.4}
  body.playing .legend,body.playing footer{display:none}
  body.playing .cabinet{display:flex;flex-direction:column;flex:1;min-height:0}
  body.playing #race{display:grid;grid-template-rows:auto minmax(0,1fr) auto;flex:1;min-height:0}
  body.playing .viewport{height:auto;min-height:0}
  .race-hud{padding:6px 8px;align-items:center}.race-hud button{height:42px;min-width:42px}
  .game-foot{display:grid;grid-template-columns:auto auto minmax(15px,1fr);gap:5px 10px;padding:8px 12px 10px}
  .game-foot .progress-track{grid-column:3}.game-foot #jump{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:16px;width:100%;min-height:54px;border:2px solid #192f48;border-radius:3px;box-shadow:2px 3px 0 #b32230;font:900 italic 19px/1 var(--sans);touch-action:none;user-select:none;-webkit-user-select:none}
  #jump .touch-control{display:block;color:#26394a;max-width:119px;text-align:left;font:700 10px/1.25 var(--sans);letter-spacing:0}
  .game-foot #jump:active{transform:translate(1px,2px);box-shadow:1px 1px 0 #b32230}
  .poster-copy .start{min-height:44px}
  @supports not (height:100dvh){body.playing .shell{height:-webkit-fill-available}}
}

.start:disabled{cursor:progress;filter:saturate(.75)}

.race-hud,.game-foot,.mode-hud{transition:background-color .42s ease,border-color .42s ease,color .42s ease}
.flight-cue{position:absolute;z-index:1;left:50%;top:12px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 18px);padding:7px 12px;background:#112e49ed;border:1px solid #f2dba1;border-radius:3px;color:#ffedce;pointer-events:none}
.flight-cue b{font:900 italic 13px var(--sans);color:var(--yellow);white-space:nowrap}.flight-cue span{font:600 12px var(--sans)}
#race[data-input="flight"] #callout,#race[data-input="landing"] #callout{top:52px}
#race .glass{z-index:4}
@media(max-width:600px){.flight-cue{gap:6px;padding:6px 8px}.flight-cue b{font-size:10px}.flight-cue span{font-size:11px}.race-hud b{font-size:17px}.race-hud small{font-size:8.5px}.game-foot>span{font-size:12px}.mode-hud #modeText{font-size:8.5px}}
#race[data-results="true"] .game-foot,#race[data-results="true"] .race-hud{display:none}
#finish{background:linear-gradient(120deg,#08243ef5,#15395deb);overflow:auto}
.finish-board{width:min(740px,96%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,38px);padding:clamp(14px,2.4vw,30px);background:#ffefd1;color:#142f48;border:2px solid #143047;border-radius:4px;box-shadow:4px 5px 0 #bc2936}
.record-sleeve{position:relative;width:100%;max-width:285px;justify-self:center;line-height:0;box-shadow:3px 4px 0 #a93235}
.record-sleeve img{width:100%;height:auto;display:block}.wink-eye{position:absolute;left:25.4%;top:59.9%;width:10.55%;height:4.55%;background:url(art/wink-strip.webp) 0 0 / 100% 2100% no-repeat;animation:lid-close .15s steps(20,end) 1.04s forwards,lid-open .27s steps(20,end) 1.53s forwards}
@keyframes lid-close{from{background-position-y:0%}to{background-position-y:100%}}@keyframes lid-open{from{background-position-y:100%}to{background-position-y:0%}}
.finish-info{text-align:left}.finish-info .tag{justify-content:flex-start}.finish-info h2{font:italic 900 clamp(27px,3.3vw,46px)/1 var(--serif);margin:7px 0}.finish-info p{font-size:13px;margin:8px 0 14px}
.finish-info #finishTime{font:700 10px var(--mono);letter-spacing:1px;margin:10px 0 15px;color:#6b4537}
.score-band strong{font:900 italic clamp(25px,3vw,40px)/1 var(--sans);font-variant-numeric:tabular-nums}.score-band small{display:inline;margin-left:5px;color:#425b68;font-size:8px}
.tail-music{display:block;background:transparent;color:#324b59;border:0;margin:9px 0 0;padding:3px 0;font:700 11px var(--mono);cursor:pointer}
@media(max-width:600px) and (orientation:portrait){
  body.playing #race[data-results="true"]{grid-template-rows:minmax(0,1fr)}
  .finish-board{grid-template-columns:1fr;gap:12px;padding:14px;width:min(330px,95%)}
  .record-sleeve{max-width:min(53vw,25dvh)}.finish-info{text-align:center}.finish-info .tag{justify-content:center}
  .finish-info #finishTime{margin:5px 0}.finish-info p{margin:6px 0 8px}.tail-music{margin:7px auto 0}
}
@media(max-height:540px){.finish-board{padding:8px 15px;gap:12px}.record-sleeve{max-width:min(23vw,40dvh)}.finish-info h2{font-size:24px}.finish-info #finishTime,.finish-info p,.tail-music{margin:3px 0}.score-band strong{font-size:23px}.finish-info .action{padding:7px}}

/* A quiet lobby; the course takes the whole screen after Play. */
.mast .brand{gap:0}
main>.cabinet{margin-top:22px}
.poster-copy p{font-size:clamp(15px,1.5vw,20px);line-height:1.5}
.quick-guide{margin:19px 0 23px;text-align:center;font-size:13px;line-height:1.7;color:#b9cbd4}
.quick-guide kbd{margin-right:3px}
.personal-best{font-size:10px;font-weight:500;letter-spacing:0;text-transform:none}
.personal-best strong{font-weight:700;font-variant-numeric:tabular-nums;color:#e7dabc;margin-left:7px}
.guide-head h2{margin:0;font-size:30px}
body.playing{overflow:hidden;overscroll-behavior:none}
body.playing .shell{display:block;position:relative;max-width:none;width:100%;height:100vh;height:100dvh;padding:0}
body.playing main,body.playing .cabinet,body.playing #race{display:block;height:100%;width:100%;min-height:0}
body.playing .cabinet{margin:0;border:0;box-shadow:none;border-radius:0}
body.playing .viewport{height:100%;min-height:0}
body.playing .quick-guide,body.playing footer,body.playing .brand{display:none}
body.playing .mast{display:block;position:absolute;right:max(66px,calc(env(safe-area-inset-right) + 66px));top:max(16px,env(safe-area-inset-top));z-index:5;height:40px;min-height:0;border:0}
body.playing .tools{gap:8px}
body.playing #soundLabel,body.playing #help>span:last-child{display:none}
body.playing .tools button,body.playing #pause{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;display:flex;justify-content:center;align-items:center;background:#102d4780;border:1px solid #c9dddf50;border-radius:50%}
body.playing #race .race-hud{position:absolute;z-index:2;top:max(16px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));height:40px;display:flex;gap:12px;align-items:center;justify-content:initial;border:0;background:none;padding:0;pointer-events:none}
.live-score{flex:1;text-shadow:0 1px 4px #102c49}
#race .race-hud small{font-size:8px;letter-spacing:1.6px;color:#e3e5d5}
#race .race-hud b{font-size:24px;line-height:1.15;color:#fff0cb}
#time{font:700 15px var(--mono);font-variant-numeric:tabular-nums;color:#fff0cb;text-shadow:0 1px 4px #102c49;margin-right:148px}
body.playing #pause{position:absolute;right:0;top:0;pointer-events:auto;font-size:15px;color:#fff0cb}
#race .game-foot{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;justify-content:flex-end;gap:16px;padding:0 22px max(19px,env(safe-area-inset-bottom));border:0;background:none;pointer-events:none}
#race .progress-track{position:absolute;left:0;bottom:0;width:100%;height:2px;opacity:.7;border-radius:0}
#race .game-foot #jump{display:block;grid-column:auto;width:190px;min-height:52px;padding:9px 14px;border:1px solid #ffe3a88c;border-radius:5px;background:#123553dc;color:#fff0cb;box-shadow:none;font:900 italic 16px/1.2 var(--sans);pointer-events:auto;touch-action:none}
#race #jump small{display:block;max-width:none;color:#c8d4ce;font:500 10px/1.3 var(--sans);margin-top:4px;text-align:center;letter-spacing:0}
#race .game-foot #jump:active{transform:translateY(1px);background:#24516a}
#approach{padding:5px 8px;align-self:center;border-radius:3px;background:#102d47ba}
#race #callout,#race[data-input="flight"] #callout,#race[data-input="landing"] #callout{top:calc(max(16px,env(safe-area-inset-top)) + 58px);font-size:15px;padding:5px 10px;border:0;border-radius:3px}
#race .flight-cue{top:calc(max(16px,env(safe-area-inset-top)) + 58px);border:0;gap:7px}
#race[data-input="flight"]:has(.flight-cue:not([hidden])) #callout,#race[data-input="landing"] #callout{top:calc(max(16px,env(safe-area-inset-top)) + 96px)}
@media(max-width:600px){
  main>.cabinet{margin-top:13px}.quick-guide{max-width:290px;margin:14px auto 18px;font-size:12px;line-height:1.7}
  .poster-copy p{font-size:15px;margin-top:10px}
  .personal-best{font-size:9px}.personal-best strong{margin-left:5px}
  body.playing #race .race-hud{left:max(14px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}
  body.playing .mast{right:max(60px,calc(env(safe-area-inset-right) + 60px))}
  #race .race-hud b{font-size:22px}
  #time{margin-right:144px;font-size:13px}
  #race .game-foot{justify-content:center;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  #race .game-foot #jump{width:220px;min-height:54px}
  #approach{position:absolute;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 65px);left:50%;transform:translateX(-50%)}
}
@media(max-height:540px) and (orientation:landscape){
  body.playing .mast,body.playing #race .race-hud{top:max(10px,env(safe-area-inset-top))}
  #race .game-foot{padding-bottom:10px}
}
body.playing #race[data-results="true"] .race-hud,body.playing #race[data-results="true"] .game-foot{display:none}
@media(pointer:coarse){.desk-control{display:none}.touch-control{display:inline}}
