@keyframes pop{0%{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}@keyframes obj{30%{transform:scale(1.08)}}@keyframes blink{50%{opacity:.35}}@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(255,212,0,.5)}}@keyframes cardIn{0%{transform:translateX(120%) rotate(6deg)}to{transform:none}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}22%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-70%)}}@keyframes fl{to{transform:translateY(-60px);opacity:0}}@keyframes cd{0%{transform:scale(2.2);opacity:0}25%{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@keyframes star{0%{transform:scale(0) rotate(-90deg)}to{transform:none}}@keyframes rot{50%{transform:rotate(90deg)}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,button,html{color:#fff;touch-action:none}#c,body,html{width:100%;height:100%}body,html{overflow:hidden;background:#111;font-family:"Trebuchet MS","Segoe UI",Roboto,system-ui,sans-serif;user-select:none;-webkit-user-select:none;overscroll-behavior:none}#c{display:block}.hidden{display:none!important}button{font:inherit;border:0;cursor:pointer}#c,#loading,.screen{position:fixed;inset:0}#loading,.screen{display:grid}#loading{place-content:center;font-size:22px;font-weight:800;background:#111;z-index:50}#loading small{display:block;font-size:12px;opacity:.6}.screen{place-items:center;z-index:20;background:radial-gradient(ellipse at center,rgba(20,10,40,.35),rgba(0,0,0,.72));padding:10px}#loading,.panel{text-align:center}.panel{background:linear-gradient(160deg,rgba(28,22,44,.94),rgba(12,12,16,.96));border:2px solid rgba(255,255,255,.08);border-radius:22px;padding:clamp(14px,3vmin,28px);box-shadow:0 20px 60px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08);max-width:min(560px,96vw);max-height:96vh;overflow:auto;animation:pop .35s cubic-bezier(.2,1.4,.4,1)}.flagbar{display:flex;height:6px;border-radius:3px;overflow:hidden;margin:0 auto 10px;width:120px}.flagbar i{flex:1}.flagbar i:nth-child(1){background:#111;border:1px solid #333}.flagbar i:nth-child(2){background:#c8102e}.flagbar i:nth-child(3){background:#006b3f}h1{font-size:clamp(34px,8vmin,62px);font-weight:900;letter-spacing:1px;line-height:1;font-style:italic;text-shadow:3px 3px 0#c8102e,6px 6px 0 rgba(0,0,0,.4)}.level-card .lv,h1 span{background:#ffd400;color:#111}h1 span{display:inline-block;margin-left:8px;font-size:.55em;padding:2px 8px;border-radius:8px;transform:translateY(-.5em) rotate(-6deg);text-shadow:none;font-style:normal}.tag{opacity:.8;margin:8px 0 12px;font-size:clamp(12px,2.6vmin,16px)}.level-card{display:flex;gap:12px;align-items:center;text-align:left;background:linear-gradient(90deg,#8e6bd1,#5b3fa8);border-radius:14px;padding:10px 14px;margin-bottom:12px}.level-card .lv{font-weight:900;border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.1;text-align:center;min-width:64px}.level-card small{opacity:.9}.big{display:block;width:100%;font-size:clamp(18px,4vmin,26px);font-weight:900;padding:12px 18px;border-radius:16px;background:linear-gradient(180deg,#19b35a,#007a3d);box-shadow:0 5px 0#004d26,0 10px 20px rgba(0,0,0,.4);margin:6px 0 10px;transition:transform .08s}.big:active{transform:translateY(4px);box-shadow:0 1px 0#004d26}.big small{font-size:.5em;opacity:.8;margin-left:6px}.row{display:flex;gap:8px;justify-content:center}.row button:not(.big){flex:1;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.1);font-weight:700}.row .big{flex:2;margin:0}.fine{font-size:10px;opacity:.5;margin-top:10px}.how-panel{max-width:min(760px,96vw);text-align:left}.how-panel h2{text-align:center;margin-bottom:8px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:clamp(11px,2.4vmin,14px)}.cols h4{color:#ffd400;margin:6px 0 4px}.cols ul{padding-left:16px}.cols li{margin:3px 0}@media (max-aspect-ratio:1/1){.cols{grid-template-columns:1fr}}.small{min-width:280px}#hud{position:fixed;inset:0;z-index:10;pointer-events:none}#hud #wheel,#hud .pedal,#hud button{pointer-events:auto}#topbar{position:absolute;top:max(6px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));display:flex;gap:6px;align-items:center}.pill,.tbtn{background:rgba(0,0,0,.55);border-radius:12px}.pill{padding:4px 10px;display:flex;flex-direction:column;line-height:1.05;min-width:62px;backdrop-filter:blur(4px)}.pill span{font-size:9px;opacity:.65;letter-spacing:1px}.pill b{font-size:clamp(14px,3.4vmin,20px)}#objective,#rotateHint button{border-radius:10px;font-weight:800}#objective{flex:1;text-align:center;background:linear-gradient(90deg,rgba(142,107,209,0),rgba(142,107,209,.85) 15%,rgba(91,63,168,.85) 85%,rgba(91,63,168,0));padding:6px 20px;font-size:clamp(11px,2.8vmin,16px);text-shadow:0 1px 2px #000;transition:transform .2s}#objective.bump{animation:obj .5s}.tbtn{width:44px;height:38px;font-weight:900;font-size:12px;display:grid;place-items:center}.pz{display:block;width:12px;height:14px;border-left:4px solid #fff;border-right:4px solid #fff}#nav{position:absolute;top:calc(max(6px,env(safe-area-inset-top)) + 50px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}#navArrow{width:clamp(28px,7vmin,42px);height:clamp(28px,7vmin,42px)}#navArrow svg,#wheel svg{width:100%;height:100%}#navDist{font-size:11px;font-weight:800;background:rgba(0,0,0,.5);padding:1px 6px;border-radius:6px}#mirrorFrame{position:absolute;border:5px solid #1a1a1a;border-radius:16px;box-shadow:0 6px 18px rgba(0,0,0,.5),inset 0 0 0 2px #555;animation:pop .2s}#mirrorFrame span{bottom:-18px;font-size:10px;font-weight:900;padding:1px 6px;border-radius:5px}#speedo,.spd{display:flex;align-items:center}#mirrorFrame span,#speedo{position:absolute;left:50%;transform:translateX(-50%)}#speedo{bottom:max(8px,env(safe-area-inset-bottom));gap:8px;background:rgba(0,0,0,.6);border-radius:18px;padding:6px 12px;backdrop-filter:blur(4px)}#gear,#limit{font-weight:900;display:grid;place-items:center}#limit{width:38px;height:38px;border-radius:50%;background:#fff;border:5px solid #d00;color:#111;font-size:14px}.spd{flex-direction:column;min-width:56px;line-height:1}.spd b{font-size:clamp(24px,6vmin,36px);font-variant-numeric:tabular-nums;transition:color .2s}.spd small{font-size:9px;opacity:.7}#speedo.warn .spd b{color:#ffb000}#speedo.over .spd b{color:#f34}#speedo.over #limit,#speedo.over .spd b{animation:blink .4s infinite}#gear{font-size:18px;width:30px;height:30px;border-radius:8px;background:#222}#gear.r{background:#d00}#ctrl{position:absolute;inset:0;pointer-events:none}#indL,#wheel{left:max(10px,env(safe-area-inset-left))}#wheel,.ind{position:absolute}#wheel{bottom:max(10px,env(safe-area-inset-bottom));width:clamp(120px,40vmin,210px);height:clamp(120px,40vmin,210px);border-radius:50%;touch-action:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}#wheel svg{transition:none}.ind{width:clamp(50px,13vmin,70px);height:clamp(38px,10vmin,52px);border-radius:14px;background:rgba(0,0,0,.55);display:grid;place-items:center}.ind svg{width:60%;fill:#5a4a20}.ind.on svg{fill:#ffb000;filter:drop-shadow(0 0 6px #ffb000)}.ind.on.blk svg{fill:#5a4a20;filter:none}#indL{bottom:calc(max(10px,env(safe-area-inset-bottom)) + clamp(120px,40vmin,210px) + 10px)}#indR{right:max(10px,env(safe-area-inset-right));bottom:calc(max(10px,env(safe-area-inset-bottom)) + clamp(110px,34vmin,190px) + 10px)}.pedal,.sbtn{position:absolute;font-weight:900;font-size:clamp(10px,2.6vmin,13px)}.sbtn{background:rgba(0,0,0,.6);border-radius:12px;padding:0 10px;height:clamp(34px,9vmin,44px);border:2px solid rgba(255,255,255,.15)}#mirrorFrame span,.sbtn.act,.sbtn:active{background:#ffd400;color:#111}#mirror{left:calc(max(10px,env(safe-area-inset-left)) + clamp(50px,13vmin,70px) + 8px);bottom:calc(max(10px,env(safe-area-inset-bottom)) + clamp(120px,40vmin,210px) + 12px);border-color:#ffd400}#mirror.need{animation:pulse .8s infinite}#horn{right:calc(max(10px,env(safe-area-inset-right)) + clamp(50px,13vmin,70px) + 8px);bottom:calc(max(10px,env(safe-area-inset-bottom)) + clamp(110px,34vmin,190px) + 12px)}#gearBtn{right:calc(max(10px,env(safe-area-inset-right)) + 2*clamp(60px,15vmin,92px) + 22px);bottom:max(14px,env(safe-area-inset-bottom))}.pedal{bottom:max(10px,env(safe-area-inset-bottom));width:clamp(60px,15vmin,92px);height:clamp(110px,34vmin,190px);border-radius:14px;background:linear-gradient(180deg,#3c3c3c,#1d1d1d);border:2px solid #555;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;touch-action:none;transition:transform .06s;background-image:repeating-linear-gradient(0deg,transparent 0 12px,rgba(255,255,255,.07) 12px 16px),linear-gradient(180deg,#3c3c3c,#1d1d1d);box-shadow:0 6px 12px rgba(0,0,0,.45)}#gas{right:max(10px,env(safe-area-inset-right));border-color:#19b35a}#brake{right:calc(max(10px,env(safe-area-inset-right)) + clamp(60px,15vmin,92px) + 12px);height:clamp(90px,28vmin,150px);border-color:#d33}.pedal.on{transform:perspective(300px) rotateX(18deg) scale(.96);filter:brightness(1.4)}#card{position:absolute;top:calc(max(6px,env(safe-area-inset-top)) + 48px);right:max(10px,env(safe-area-inset-right));width:min(380px,44vw);background:#fff8e1;color:#222;border-radius:14px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.5);border-left:8px solid #d00;animation:cardIn .4s cubic-bezier(.2,1.5,.4,1);font-size:clamp(10px,2.4vmin,13px)}#card .ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}#cardTag{background:#d00;color:#fff;font-weight:900;padding:1px 8px;border-radius:6px;font-size:.9em}#cardPts{color:#d00;font-size:1.4em}#card h3{font-size:1.15em;margin:2px 0 4px}#card blockquote{font-style:italic;border-left:3px solid #c9b48a;padding-left:8px;margin:2px 0 4px;line-height:1.3}#card cite{display:block;font-size:.8em;opacity:.65;font-style:normal}#floaters div,#toast{position:absolute;font-weight:900;white-space:nowrap}#toast{left:50%;top:38%;transform:translate(-50%,-50%);font-size:clamp(20px,6vmin,40px);text-shadow:0 3px 0#000,0 0 20px rgba(0,0,0,.5);opacity:0;text-align:center}#toast.show{animation:toast 1.6s ease-out}#toast small{display:block;font-size:.45em}#flash{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(255,0,0,.55));opacity:0;transition:opacity .4s}#flash.on{opacity:1;transition:none}#floaters div{font-size:18px;text-shadow:0 2px 0#000;animation:fl 1.2s ease-out forwards}#countdown,#endTitle{font-style:italic;font-weight:900}#countdown{position:fixed;inset:0;display:grid;place-items:center;z-index:15;pointer-events:none;font-size:clamp(70px,22vmin,160px);text-shadow:5px 5px 0#c8102e,0 0 30px rgba(0,0,0,.6)}#countdown.go,#stars i.on{color:#ffd400}#countdown span{animation:cd .9s ease-out forwards}.end-panel{min-width:min(460px,94vw)}#endTitle{font-size:clamp(26px,6vmin,40px);text-shadow:3px 3px 0#c8102e}#stars{font-size:clamp(38px,10vmin,60px);letter-spacing:6px;margin:2px 0}#stars i{font-style:normal;color:#333;display:inline-block;text-shadow:0 3px 0#000}#stars i.on{animation:star .5s cubic-bezier(.2,1.8,.4,1) both}#endScore{font-size:clamp(28px,7vmin,44px);font-weight:900}#endBreak{font-size:12px;opacity:.75;margin-bottom:8px}#endList{text-align:left;max-height:34vh;overflow:auto;background:rgba(0,0,0,.3);border-radius:12px;padding:8px 10px;margin-bottom:10px;font-size:clamp(10px,2.4vmin,13px)}#endList .m{border-bottom:1px solid rgba(255,255,255,.08);padding:5px 0}#endList .m b{color:#ff6b6b}#endList .m i{display:block;opacity:.75;font-size:.92em}#endList .m small{opacity:.5}#endList .ok{color:#7dff9b;text-align:center;padding:8px}#rotateHint{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:rgba(0,0,0,.82);text-align:center;font-size:15px;padding:20px}#rotateHint button{margin-top:12px;padding:8px 22px;background:#19b35a}.ph{width:44px;height:74px;border:4px solid #fff;border-radius:10px;margin:0 auto 14px;animation:rot 1.6s ease-in-out infinite}@media (orientation:portrait){#card{width:auto;left:10px;right:10px;top:calc(max(6px,env(safe-area-inset-top)) + 96px)}#topbar{flex-wrap:wrap}#objective{order:5;flex-basis:100%}#nav{top:calc(max(6px,env(safe-area-inset-top)) + 92px)}#speedo{bottom:calc(max(10px,env(safe-area-inset-bottom)) + clamp(110px,34vmin,190px) + 70px)}}