.slug-race-dialog{box-sizing:border-box;width:min(520px,94vw);max-height:94dvh;overflow:auto;background:linear-gradient(145deg,#365e62,#193b40);color:#f2eee3;border:1px solid #bfa268;border-top:3px solid #e7c67b;border-radius:16px;padding:22px;font-family:inherit;box-shadow:0 18px 70px #0009}
.slug-race-dialog::backdrop{background:#061a24bd}.slug-race-dialog h2{margin:0 0 10px;font-size:24px;color:#ffe1a0}.slug-race-dialog p{line-height:1.5}
.slug-race-dialog label{display:block;margin:14px 0}.slug-race-dialog select,.slug-race-dialog input{box-sizing:border-box;display:block;width:100%;padding:11px;margin-top:6px;background:#183a40;color:#f2ead8;border:1px solid #789b94;border-radius:8px;font:inherit}.slug-race-dialog .tbtn{margin:6px 6px 0 0;padding:10px 14px;min-height:44px}
body.race-in-tank{overflow:hidden}.race-in-tank #ov{position:fixed!important;inset:0!important;z-index:50;padding:env(safe-area-inset-top) 0 0!important;box-sizing:border-box}
.race-in-tank #ov .ov-top{flex:0 0 auto;min-height:38px!important;padding:6px 14px!important}.race-in-tank #ov .ov-title{font-size:15px!important}.race-in-tank #ov .ov-body{padding:0!important;overflow:hidden}
.race-in-tank #ovBack,.race-in-tank #ov .ov-top .stat,.race-in-tank #ov .tank-side,.race-in-tank #ov .ov-decor,.race-in-tank #ov .mobileTankBar,.race-in-tank #ov .mobileTankZoom,.race-in-tank #tankDecorDock,.race-in-tank #newSlugTray{display:none!important}
.race-in-tank #tankCv{pointer-events:none;touch-action:none}
#raceTankHUD{position:absolute;inset:0;z-index:15;pointer-events:none;overflow:hidden}.race-tank-banner{position:absolute;top:12px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);box-sizing:border-box;padding:8px 20px;background:#17393fe8;border:1px solid #b69c66;border-radius:12px;text-align:center;color:#f3e8ca;white-space:nowrap;box-shadow:0 4px 16px #0004}.race-count{font-size:22px;line-height:1.25;font-weight:bold;color:#ffe19b}.race-tank-banner small{display:block;margin-top:3px;color:#c8dbd2;font-variant-numeric:tabular-nums}
.race-controls{position:absolute;bottom:calc(12px + env(safe-area-inset-bottom));left:16px;right:16px;display:flex;justify-content:space-between;gap:20px}.race-controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;width:clamp(100px,24vw,200px);height:70px;border:1px solid #c1a76d;border-bottom:4px solid #78623b;border-radius:14px;font:bold 22px sans-serif;background:linear-gradient(#3d696c,#23484e);color:#fff0c8;box-shadow:0 5px 18px #0005}.race-controls button.next{border-color:#ffe19b;box-shadow:0 0 0 2px #ffde8844}.race-controls button:disabled{opacity:.5}
.race-result{text-align:center;position:relative;width:min(510px,94vw)}.race-result h2{font-size:27px}.race-result-caption{margin:4px 0 10px;color:#c9ddd1}.race-podium{display:flex;align-items:flex-end;justify-content:center;gap:7px;max-width:390px;margin:12px auto}.race-podium-step{flex:1;min-width:0}.race-podium-name{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.race-podium-step.is-player .race-podium-name{font-weight:bold;color:#ffdf8b}.race-podium-step canvas{display:block;width:100%;height:auto;max-height:78px;object-fit:contain}.race-podium-block{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:7px 7px 0 0;border:1px solid #ffffff36;box-shadow:inset -8px 0 #00000015;color:#263736}.race-podium-block b{font-size:20px}.place-1 .race-podium-block{height:100px;background:linear-gradient(#f0d794,#b9964e)}.place-2 .race-podium-block{height:72px;background:linear-gradient(#d4e0dd,#899e9e)}.place-3 .race-podium-block{height:54px;background:linear-gradient(#d9aa82,#9a7052)}.race-medal{font-size:29px;line-height:1.2}
.race-receipt{display:grid;gap:4px;padding:12px;border:1px solid #cfb7775c;border-radius:10px;background:#102f365c}.race-receipt span,.race-receipt small{font-size:13px;color:#cedccf}.race-receipt strong{font-size:22px;color:#ffdf90}.race-taunt{font-size:13px;margin:10px 0}.race-result>.tbtn{width:100%;margin:0;background:#d5b260;color:#192928;border-color:#ffe2a0;font-weight:bold}
@media(max-width:420px){.slug-race-dialog{padding:16px}.race-result h2{font-size:23px}.race-count{font-size:20px}.race-controls button{height:64px;width:112px;font-size:20px}.race-receipt strong{font-size:20px}}
@media(max-height:500px){.race-result{padding:10px 16px;width:min(650px,96vw);display:grid;grid-template-columns:1fr 1fr;column-gap:16px;max-height:96dvh}.race-result h2,.race-result-caption{grid-column:1/-1;margin:0 0 4px;font-size:18px}.race-result-caption{font-size:12px}.race-podium{grid-column:1;grid-row:3/6;width:100%;margin:0}.race-podium-step canvas{max-height:48px}.place-1 .race-podium-block{height:70px}.place-2 .race-podium-block{height:54px}.place-3 .race-podium-block{height:40px}.race-medal{font-size:21px}.race-receipt{padding:7px}.race-receipt strong{font-size:17px}.race-taunt{font-size:11px;margin:5px 0}.race-result>.tbtn{padding:6px;min-height:38px}.race-controls button{height:50px}.race-tank-banner{top:6px;padding:5px 14px}.race-count{font-size:17px}}
/* ทัวร์นาเมนต์วิ่ง: ปุ่มข้ามตอนดูคู่บอท (แทนปุ่ม A/D) */
.race-controls button.race-skip{margin-left:auto;width:auto;height:52px;padding:0 20px;border-radius:12px;font-size:16px;font-weight:700;color:#1d2f31;background:linear-gradient(180deg,#f6dc98,#d6ae5c);border:1px solid #f6dc98;box-shadow:0 3px 0 #8a6a2c,0 6px 16px #0007}
/* ปุ่มเลือกเดิมพันด่วน (หน้ารับคำท้าแข่งวิ่ง) */
.race-bet-quick{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 6px}
.slug-race-dialog .race-bet-quick .tbtn{margin:0;min-height:40px;padding:8px 14px;font-size:14px;font-weight:600}
.slug-race-dialog .race-bet-quick .tbtn[aria-pressed=true]{background:linear-gradient(180deg,#f6dc98,#d6ae5c);color:#1d2f31;border-color:#f6dc98}
/* เกจพลัง + ปุ่ม J บล็อค / K วิ่งเร็ว (กลางระหว่างปุ่ม A กับ D) — 2026-09-18 */
.race-powers{flex:1;min-width:0;max-width:340px;align-self:flex-end;display:flex;flex-direction:column;gap:6px;padding:6px 8px;background:#10292ed9;border:1px solid #b69c6680;border-radius:12px;pointer-events:none}
.race-power-bar{height:10px;border-radius:5px;background:#0007;overflow:hidden}
.race-power-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6fc2cf,#ffd36b);transition:width .08s linear}
.race-powers.is-full{border-color:#ffd36b;box-shadow:0 0 0 2px #ffd36b55}
.race-powers.is-full .race-power-bar i{background:#ffd36b;animation:racePowerGlow .5s ease-in-out infinite alternate}
@keyframes racePowerGlow{to{filter:brightness(1.35)}}
.race-power-row{display:flex;gap:6px}
.race-controls button.race-power{flex:1;width:auto;height:48px;min-width:0;padding:0 6px;border-radius:10px;font:600 13px "IBM Plex Sans Thai",sans-serif;display:flex;align-items:center;justify-content:center;gap:6px}
.race-controls button.race-power b{font-size:20px}
.race-controls button.race-power-block:not(:disabled){background:linear-gradient(#b0473d,#7c2a24);border-color:#ffb0a0}
.race-controls button.race-power-boost:not(:disabled){background:linear-gradient(#3f9aa8,#256772);border-color:#9fe3ee}
.race-controls button.race-power.is-on{box-shadow:0 0 0 3px #9fe3ee88}
.race-controls button.race-power:disabled{opacity:.4}
@media(max-width:560px){.race-controls{gap:8px}.race-controls button.race-power span{display:none}.race-controls button.race-power{height:44px}}
@media(prefers-reduced-motion:reduce){.race-powers.is-full .race-power-bar i{animation:none}}
