.game-field{background:#29353d;-webkit-touch-callout:none}
.meter-panel{position:absolute;z-index:5;left:50%;top:17%;width:min(82%,350px);transform:translateX(-50%);padding:10px 14px 8px;border:1px solid #85919a;border-radius:9px;background:#12191fe8;box-shadow:0 8px 24px #0008;text-align:center}.meter-heading{font-weight:700;color:#fff2d3}.meter{position:relative;height:24px;margin:8px 0 2px;border:2px solid #d8dedf;border-radius:14px;overflow:hidden;background:linear-gradient(90deg,#3977a8 0%,#60ad76 36%,#e4c657 68%,#c9473f 100%)}.meter-zone.good{position:absolute;left:35%;width:30%;height:100%;border-left:2px solid #ffe895;border-right:2px solid #ffe895;background:#fff2a51f}.meter-zone.just{position:absolute;left:46%;width:8%;height:100%;border-left:2px solid #fff2ad;border-right:2px solid #fff2ad;background:#fff0a85c}.meter.power .meter-zone{display:none}.meter-needle{position:absolute;top:-4px;left:0;width:4px;height:32px;background:#fff;box-shadow:0 0 5px #000;transform:translateX(-2px)}.meter-scale{display:flex;justify-content:space-between;color:#aeb8bd;font-size:9px;line-height:1.2}.meter-scale span:nth-child(2){color:#ffe69a}.meter-value{font:700 17px Georgia,serif;color:#fff0c6;font-variant-numeric:tabular-nums}
.action-button{position:absolute;z-index:6;left:50%;bottom:7%;min-width:154px;transform:translateX(-50%);box-shadow:0 6px 22px #0008}.judge{position:absolute;z-index:7;left:50%;top:34%;transform:translate(-50%,-50%) rotate(-4deg);font:900 34px Georgia,serif;letter-spacing:.08em;color:#fff1a8;text-shadow:0 2px 0 #783b21,0 0 15px #000}

@media(max-width:350px){.meter-panel{top:14%}}
.leg-controls{display:grid;grid-template-columns:1fr 1.08fr 1fr;grid-template-rows:44px 44px;gap:6px 8px;width:min(100%,480px);margin:8px auto 0;touch-action:none}
.leg-controls button{position:relative;min-height:44px;padding:5px 4px;border:2px solid #7090a0;border-radius:7px;background:#32576b;color:#fff0d1;font:700 12px/1.35 "Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#left-lift{grid-column:1;grid-row:1}#left-extend{grid-column:1;grid-row:2}
#right-lift{grid-column:3;grid-row:1}#right-extend{grid-column:3;grid-row:2}
#right-lift,#right-extend{background:#654738;border-color:#a18062}
#jump{grid-column:2;grid-row:1 / 3;align-self:stretch;height:94px;min-height:94px;background:#77582c;border-color:#c8a466}
.leg-controls button.next{border-color:#ffe4a5;box-shadow:0 0 0 1px #ffe4a5}
.leg-controls button:active:not(:disabled){filter:brightness(1.14)}
.leg-controls button .button-gesture{position:absolute;z-index:2;top:1px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;line-height:11px;font-weight:800;color:#fff1cc;text-shadow:0 1px 2px #000;pointer-events:none}
.leg-controls .button-label{display:block;padding-top:6px}
.leg-controls button.held{background:#d5a345;color:#1b2022;border-color:#ffedbc;transform:translateY(2px)}

.race-restart{position:absolute;z-index:30;top:8px;right:8px;min-height:34px;padding:6px 10px;border:1px solid #b7c2c7;border-radius:6px;background:#111a21e8;color:#f5ead6;font-size:11px}
.game-scoreboard>[data-scoreboard-item]:nth-child(2) [data-scoreboard-value]{font:700 15px/1.45 inherit;color:#f2bd63;letter-spacing:.08em}
.start-call{position:absolute;z-index:4;left:50%;top:52px;transform:translateX(-50%);width:auto;max-width:88%;margin:0;padding:7px 16px;border:1px solid #ffffff38;border-radius:5px;background:#101820d9;color:#fff;text-align:center;pointer-events:none;box-shadow:0 5px 18px #0007;animation:race-call .18s ease-out}.start-call strong{display:block;font-size:clamp(27px,7vw,40px);line-height:1.05;letter-spacing:.025em;white-space:nowrap;text-shadow:0 2px 8px #000}
@keyframes race-call{from{opacity:0;transform:translateX(-50%) scale(.96)}to{opacity:1;transform:translateX(-50%) scale(1)}}
.game-page .leg-controls{margin-top:8px}

.race-restart[hidden]{display:none!important}
