*{box-sizing:border-box}body{margin:0;background:#edf3f2;color:#17394a;font:16px/1.45 system-ui,sans-serif}header{background:#163e52;color:#f4f5ec;display:flex;align-items:center;justify-content:space-between;padding:10px max(4%,calc((100vw - 980px)/2));min-height:53px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:2px}.brand i{color:#ff795b;font:900 italic 24px monospace}button{cursor:pointer;font:inherit;color:inherit}header button,#close{border:0;background:none}header button{font-size:13px}header b{margin-left:4px}.mast{display:flex;justify-content:space-between;align-items:center;margin:24px 0 20px}.ridge{width:22%;color:#71949c}.kicker,.coursebar,.caption,small,footer,.steer button{font:700 11px/1.45 ui-monospace,monospace;letter-spacing:1.1px}.kicker{display:flex;align-items:center;gap:8px}.kicker span,.coursebar i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e46147}main{width:min(960px,94%);margin:auto}h1{margin:4px 0;font:900 italic clamp(57px,7vw,86px)/1 Georgia,serif;letter-spacing:-.08em}h1 span{color:#d9583c}.mast p{margin:6px 0;color:#476474}.arena{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:start}.piste,aside{border-radius:12px;overflow:hidden;border:1px solid #aac0c4}.piste{background:#dbe9e8}.coursebar{background:#e4eeec;display:flex;justify-content:space-between;padding:9px 14px}.coursebar i{width:7px;height:7px;margin-right:4px}canvas{display:block;width:100%;height:min(50vh,433px);touch-action:none}.steer{display:flex;background:#193f50;gap:1px}.steer button{width:50%;font-size:15px;border:0;background:#265366;color:white;padding:13px;touch-action:none;user-select:none;-webkit-user-select:none}.steer button:active,.steer button.held{background:#c14d34}.steer button:disabled{opacity:.65}aside{background:#fbfcf6;padding:25px}h2{font:700 31px/1.1 Georgia,serif;letter-spacing:-1px;margin:12px 0}.time{font:700 clamp(40px,5vw,64px)/1.2 ui-monospace,monospace;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.caption,small{color:#536d75}.stats{border-block:1px solid #c5d3d3;display:flex;gap:30px;margin:20px 0;padding:14px 0}.stats b{display:block;font:700 21px monospace}aside p{font-size:15px}.action{border:0;border-radius:6px;background:#c84f35;color:white;width:100%;font-weight:750;padding:13px}footer{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.4px;margin:13px 0;color:#526d77}dialog{border:1px solid #92adb1;border-radius:12px;padding:23px;max-width:min(90vw,420px);color:inherit}dialog::backdrop{background:#13334399}#close{float:right}textarea{width:100%;height:115px}#notice{font-size:14px;margin-top:8px}[hidden]{display:none!important}@media(max-width:680px){.arena{display:flex;flex-direction:column;gap:8px}.piste,aside{width:100%}.mast{margin:10px 0}.mast h1{font-size:48px}.mast p{font-size:13px}.ridge{width:24%}header{min-height:42px;padding-block:5px}aside{padding:12px 15px;display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;align-items:center}aside .kicker{display:none}aside h2{margin:0;font-size:22px}.time{text-align:right;font-size:29px}.caption{text-align:right;grid-column:2;grid-row:2}.stats{grid-row:2/4;grid-column:1;margin:0;padding:2px 0;border:0;gap:15px}.stats small{font-size:8px}.stats b{font-size:16px}aside p,.action,#notice{grid-column:1/-1}aside p{margin:5px 0;font-size:13px}canvas{height:min(42dvh,360px)}.steer button{padding:10px}footer{margin:8px 0}}

.piste,.piste *,.racing,.racing *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.racing .arena,.deck,.deck *{touch-action:none}.deck{display:grid;grid-template-columns:repeat(2,1fr);background:#193f50;padding:0;border-top:2px solid #163e52}.pad{display:grid;grid-template-columns:1fr 1fr}.pad button{min-height:76px;display:grid;align-content:center;justify-items:center;gap:2px;border:none;background:#255365;color:#fff;font:800 26px/1 system-ui;box-shadow:inset -1px 0 0 #ffffff22}.pad button small{color:inherit;font-size:11px}.pad #brake{background:#814831}.pad #tuck{background:#34674d}.pad button.held,.pad button:active{background:#f7d084!important;color:#163e52}.pad button:focus-visible{outline:3px solid #ffc875;outline-offset:-4px}.coursebar b{font-variant-numeric:tabular-nums}#speed{color:#285f54}.racing canvas{touch-action:none}
@media(max-width:680px),(max-height:520px) and (orientation:landscape){body.racing{overflow:hidden;overscroll-behavior:none}.racing .arena{position:fixed;inset:0;z-index:3;display:flex;flex-direction:column;gap:0;background:#183e50;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.racing aside{order:-1;display:flex;align-items:center;justify-content:space-around;width:100%;padding:5px 8px;border:0;border-radius:0}.racing aside .kicker,.racing aside h2,.racing aside .caption,.racing aside p,.racing aside #notice{display:none}.racing aside .time{font-size:24px}.racing aside .stats{border:none;padding:0;margin:0;gap:12px}.racing .stats small{font-size:8px}.racing .stats b{font-size:14px}.racing .piste{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;border:0;border-radius:0}.racing canvas{flex:1;height:0;min-height:0;width:100%}.racing .deck{flex:none}.racing .pad button{min-height:clamp(62px,11dvh,90px)}}
