:root{font-family:'Baloo 2','Nunito',system-ui,'Noto Sans',sans-serif;color:#f4efd4;background:#152a34;font-size:15px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#376775,#152a34 75%);min-height:100dvh}button,input,select{font:inherit}button,select{border:1px solid #bdd4cb;background:#325260;color:#fff3d3;border-radius:10px;padding:8px 13px;min-height:40px}button{cursor:pointer;line-height:1.15;transition:transform .12s,background .12s}button:hover{background:#466b77;transform:translateY(-1px)}button:active{transform:scale(.96)}button:disabled{opacity:.45;cursor:default;transform:none}.primary{background:#b77951;font-weight:800}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffdc89;outline-offset:3px}[hidden]{display:none!important}#app{max-width:1280px;padding:10px;min-height:100dvh;margin:auto;display:flex;flex-direction:column;gap:7px}header{display:flex;align-items:center;justify-content:space-between;gap:10px}header small{color:#ffe09b;letter-spacing:.15em;font-size:.66rem;font-weight:800}h1{font-size:1.8rem;line-height:1.03;margin:3px 0 0}nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}nav button{font-size:.83rem;padding:7px 10px;min-height:35px}#hud{display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:.93rem}#blueName{color:#9fd1fb}#redName{color:#f0ad94}#scoreHud{font-size:1.7rem;min-width:82px;text-align:center;line-height:1}#timeHud{font-variant-numeric:tabular-nums;color:#ffe497;background:#172b38;padding:4px 12px;border-radius:8px}#court{position:relative;align-self:center;border:2px solid #b5c7b2;border-radius:18px;overflow:hidden;background:#172c35;max-width:100%;flex-shrink:0}canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}#callout{position:absolute;top:33%;left:10%;width:80%;text-align:center;pointer-events:none;font-weight:900;font-size:clamp(18px,4vw,42px);text-shadow:2px 3px #1a374b;margin:0;color:#fff4bb}#boostHud{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}#boostHud label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem}progress{width:170px;height:15px;accent-color:#edc767}#boostNum0,#boostNum1{min-width:24px}.blue{color:#a6d8f3}.coral{color:#ecab91}#touchControls{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:920px;width:100%;align-self:center}#steerPad{position:relative;width:180px;height:84px;border:2px solid #95cbd7;background:#203c49;border-radius:30px;touch-action:none;user-select:none;padding:7px 15px;text-align:center;flex-shrink:0}#steerPad span{font-size:.8rem}#steerPad b{display:block;margin-top:25px;font-size:.75rem;color:#b2d7df}#thumb{position:absolute;width:36px;height:36px;left:calc(50% - 18px);top:34px;background:#e5d69b;border:4px solid #a68b52;border-radius:50%;pointer-events:none}.pedals{display:flex;gap:10px}#boostButton,#brakeButton{min-height:70px;min-width:100px;max-width:200px;font-size:1.05rem;font-weight:800;touch-action:none;user-select:none}#boostButton{background:#bf805a}#brakeButton{background:#415b74}.held{box-shadow:inset 0 0 0 3px #ffe599}#hint,#notice{font-size:.8rem;margin:0;text-align:center;color:#d5dfca}#notice:empty{display:none}dialog{width:min(540px,94vw);max-height:94dvh;overflow:auto;border:1px solid #a6c5b6;background:#223d46;color:#fff0d4;border-radius:20px;padding:20px;box-shadow:0 20px 60px #04101699}dialog::backdrop{background:#081b2aaa;backdrop-filter:blur(3px)}dialog h2{text-align:center;line-height:1.12;margin:13px 0}dialog p{margin:10px 0;line-height:1.4}dialog button{margin:5px 3px}.cover{width:100%;border-radius:13px;display:block}#menu>label{display:flex;align-items:center;justify-content:space-between;gap:8px}#menu>p{font-size:.9rem;margin:7px 0}#garage{display:flex;align-items:center;gap:18px;margin:10px 0}#garage img{width:80px;height:62px;object-fit:contain}#garage label{display:grid;gap:4px;flex:1}#garage small{font-size:.85rem}details{margin:12px 0;border-top:1px solid #8ba8a577;padding-top:10px}summary{cursor:pointer;font-weight:800}.settings{display:grid;gap:12px;margin-top:10px}.settings label{display:flex;align-items:center;justify-content:space-between;gap:10px}select{max-width:70%;min-width:125px}#carSelect{max-width:100%}input[type=checkbox]{width:20px;height:20px;accent-color:#efb46b}.medal{width:74px;display:block;margin:0 auto}#result{text-align:center}#carGuide>div{display:flex;align-items:center;gap:12px;margin:10px 0}#carGuide img{width:70px;height:56px;object-fit:contain}#carGuide span{font-size:.9rem}@media(max-width:600px){:root{font-size:14px}h1{font-size:1.5rem}#app{padding:8px;gap:6px}nav{max-width:170px}nav button{font-size:.78rem;padding:6px 8px}#hud{gap:8px;font-size:.82rem}#scoreHud{font-size:1.5rem;min-width:65px}#steerPad{width:130px;height:80px}#boostButton,#brakeButton{min-width:70px;min-height:75px;max-width:115px;font-size:.87rem;padding:7px}#touchControls{gap:8px}.pedals{gap:6px}progress{width:135px}dialog{padding:16px}.cover{max-height:190px;object-fit:cover}}@media(orientation:landscape) and (max-height:520px){#app{display:grid;grid-template-columns:1fr 172px;grid-template-rows:auto auto 1fr auto;gap:5px;padding:7px}header{grid-column:1/-1}h1{font-size:1.25rem}header small{font-size:.58rem}#hud{grid-column:1;grid-row:2;gap:10px;font-size:.8rem}#scoreHud{font-size:1.3rem}#court{grid-column:1;grid-row:3;justify-self:center}#boostHud{grid-column:2;grid-row:2;font-size:.8rem;gap:4px}#boostHud progress{width:68px}#boostHud label{font-size:.72rem;gap:4px}#touchControls{grid-column:2;grid-row:3;flex-direction:column;gap:8px;justify-content:center}#steerPad{width:155px;height:70px}#steerPad #thumb{top:28px;width:30px;height:30px;left:calc(50% - 15px)}#steerPad b{margin-top:19px}.pedals{gap:5px}#boostButton,#brakeButton{min-width:72px;max-width:80px;min-height:72px;font-size:.8rem;padding:6px}#hint{grid-column:1/-1;grid-row:4;font-size:.65rem}#notice{grid-column:1/-1}nav button{min-height:29px;font-size:.73rem}dialog{max-height:92dvh}.cover{max-height:130px;object-fit:cover}}@media(prefers-reduced-motion:reduce){button{transition:none}}
