*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Fredoka One",cursive;--font-body:"Nunito",sans-serif;--bg-dark:#0f0f23;--bg-card:#1a1a35;--white:#fff;--shadow:0 8px 32px #0000004d}body{background:#0f0f23;background:var(--bg-dark);color:#fff;color:var(--white);font-family:Nunito,sans-serif;font-family:var(--font-body);user-select:none;-webkit-user-select:none}.app,body{overflow:hidden}.app{height:100vh;width:100vw}.welcome-screen{align-items:center;background:radial-gradient(ellipse at center,#1a1a45 0,#0a0a20 100%);display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.welcome-bg{inset:0;overflow:hidden;pointer-events:none;position:absolute}.bg-vehicle{animation:floatVehicle 6s ease-in-out infinite alternate;filter:blur(1px);opacity:.15;position:absolute}@keyframes floatVehicle{0%{transform:translateY(0) rotate(-5deg)}to{transform:translateY(-20px) rotate(5deg)}}.welcome-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:32px;box-shadow:0 20px 80px #00000080;max-width:460px;padding:48px 40px;position:relative;text-align:center;width:90%;z-index:1}.welcome-logo{margin-bottom:16px}.logo-icon{animation:bounce 1s ease-in-out infinite alternate;display:block;font-size:56px}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.logo-title{color:#fff;color:var(--white);font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:42px;line-height:1.1;text-shadow:0 0 30px #ffffff4d}.logo-accent{color:#ffe66d;text-shadow:0 0 20px #ffe66d88}.welcome-sub{color:#ffffffb3;font-size:16px;margin-bottom:24px}.skill-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:28px}.skill-badge{border-radius:20px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;padding:6px 14px}.name-label{color:#fffc;display:block;font-size:14px;font-weight:700;margin-bottom:8px;text-align:left}.name-input{background:#ffffff14;border:2px solid #fff3;border-radius:16px;color:#fff;color:var(--white);font-family:Nunito,sans-serif;font-family:var(--font-body);font-size:18px;outline:none;padding:14px 18px;transition:border-color .2s;width:100%}.name-input:focus{border-color:#ffe66d}.name-input::placeholder{color:#ffffff59}.name-input-wrap{margin-bottom:24px}.shake{animation:shake .6s ease}@keyframes shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}.start-btn{background:linear-gradient(135deg,#ffe66d,#ff8e53);border:none;border-radius:20px;box-shadow:0 6px 24px #ffe66d66;color:#333;cursor:pointer;font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:22px;padding:18px;transition:transform .15s,box-shadow .15s;width:100%}.start-btn:hover{box-shadow:0 10px 32px #ffe66d80;transform:translateY(-3px)}.start-btn:active{transform:translateY(0)}.map-screen{background:radial-gradient(ellipse at top,#1a2a4a 0,#0a0a20 100%);height:100%;overflow-y:auto;padding:24px}.map-header,.map-screen{align-items:center;display:flex;flex-direction:column;width:100%}.map-header{gap:8px;margin-bottom:32px;max-width:640px}.map-player{align-items:center;background:#ffffff12;border-radius:20px;display:flex;gap:12px;padding:10px 20px}.map-player-icon{font-size:28px}.map-player-name{font-size:16px;font-weight:800}.map-player-score{color:#ffe66d;font-size:13px}.map-title{font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:32px}.level-road{display:flex;flex-direction:column;gap:0;max-width:540px;width:100%}.level-node{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;cursor:pointer;display:flex;gap:16px;margin-bottom:12px;padding:18px 24px;position:relative;transition:transform .15s,background .2s}.level-node.unlocked:hover{background:#ffffff1a;transform:translateX(6px)}.level-node.locked{cursor:not-allowed;opacity:.5}.level-node.done{background:#ffffff14}.level-node-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:26px;height:56px;justify-content:center;width:56px}.level-node-name{font-size:17px;font-weight:800;margin-bottom:8px}.level-node-stages{display:flex;gap:6px}.stage-dot{background:#fff3;border-radius:50%;height:16px;transition:background .2s;width:16px}.stage-dot.done{background:#ffe66d}.road-segment{background:#ffffff26;bottom:-12px;height:12px;left:50px;position:absolute;width:3px}.stage-select{align-items:center;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:24px;width:100%}.back-btn{align-self:flex-start;background:#ffffff1a;border:none;border-radius:12px;color:#fff;cursor:pointer;font-family:Nunito,sans-serif;font-family:var(--font-body);font-size:15px;font-weight:700;margin-bottom:20px;padding:10px 20px;transition:background .2s}.back-btn:hover{background:#fff3}.stage-select-header{margin-bottom:28px;text-align:center}.stage-select-header h2{font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:30px;margin:8px 0 4px}.stage-select-header p{color:#ffffffb3;font-size:15px}.stages-grid{display:flex;flex-direction:column;gap:14px;max-width:520px;width:100%}.stage-card{align-items:center;background:#ffffff0f;border:2px solid;border-radius:20px;cursor:pointer;display:flex;gap:16px;padding:16px 20px;transition:transform .15s,background .2s}.stage-card.unlocked:hover{background:#ffffff1a;transform:scale(1.02)}.stage-card.locked{cursor:not-allowed;opacity:.5}.stage-card-num{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:20px;height:48px;justify-content:center;width:48px}.stage-card-title{font-size:16px;font-weight:800}.stage-card-desc{color:#ffffffb3;font-size:14px;margin:2px 0}.stage-card-meta{color:#ffffff80;display:flex;font-size:12px;gap:12px;margin-top:4px}.stage-wrapper{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative;width:100vw}.hud{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0006;border-bottom:1px solid #ffffff1a;display:flex;flex-shrink:0;justify-content:space-between;padding:12px 20px;z-index:10}.hud-left,.hud-right{flex:1 1}.hud-right{align-items:center;display:flex;gap:10px;justify-content:flex-end}.sound-btn{background:#ffffff1a;border:none;border-radius:10px;cursor:pointer;flex-shrink:0;font-size:20px;line-height:1;padding:4px 8px;transition:background .15s,transform .1s}.sound-btn:hover{background:#ffffff38;transform:scale(1.1)}.sound-btn:active{transform:scale(.93)}.hud-center{align-items:center;display:flex;flex:2 1;flex-direction:column;gap:4px}.player-tag{background:#ffffff1a;border-radius:12px;font-size:14px;font-weight:700;padding:4px 12px}.progress-bar{background:#ffffff26;border-radius:10px;height:10px;max-width:240px;overflow:hidden;width:100%}.progress-fill{border-radius:10px;height:100%;transition:width .3s ease}.score-display{color:#ffe66d;font-size:15px;font-weight:800}.timer{font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:20px}.timer-danger{animation:pulse .5s ease-in-out infinite alternate;color:#ff6b6b}@keyframes pulse{0%{opacity:1}to{opacity:.4}}.stage-instruction{flex-shrink:0;padding:10px 20px;text-align:center}.instruction-badge{border-radius:20px;color:#fff;display:inline-block;font-size:15px;font-weight:800;padding:8px 22px}.mixed-hint{display:flex;font-size:13px;font-weight:600;gap:24px;justify-content:center;margin-top:6px}.hint-left{color:#74b9ff}.hint-right{color:#ff8e53}.speed-control{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:8px}.speed-label{color:#ffffffd9;font-size:13px;font-weight:700;min-width:110px;text-align:right}.speed-slider{appearance:none;background:#fff3;border-radius:6px;cursor:pointer;height:6px;outline:none;width:160px}.speed-slider::-webkit-slider-thumb{appearance:none;background:#ffe66d;border-radius:50%;box-shadow:0 2px 8px #ffe66d99;cursor:pointer;height:20px;-webkit-transition:transform .1s;transition:transform .1s;width:20px}.speed-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.speed-slider::-moz-range-thumb{background:#ffe66d;border:none;border-radius:50%;box-shadow:0 2px 8px #ffe66d99;cursor:pointer;height:20px;width:20px}.combo-popup{animation:comboPop .8s ease forwards;color:#ffe66d;font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:36px;left:50%;pointer-events:none;position:fixed;text-shadow:0 0 30px #ffe66d;top:50%;transform:translate(-50%,-50%);z-index:100}@keyframes comboPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}40%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-60%) scale(1)}}.play-area{cursor:crosshair;flex:1 1;overflow:hidden;position:relative}.vehicle-target{align-items:center;border:3px solid;border-radius:20px;cursor:pointer;display:flex;flex-direction:column;height:80px;justify-content:center;position:absolute;transition:transform .1s;-webkit-user-select:none;user-select:none;width:80px;z-index:5}.vehicle-target:hover{transform:scale(1.1)}.vehicle-target:active{transform:scale(.92)}.vehicle-emoji{font-size:36px}.click-indicator,.vehicle-emoji{line-height:1;pointer-events:none}.click-indicator{font-size:16px}.particle{animation:particleFly .8s ease forwards;font-size:28px;pointer-events:none;position:absolute;z-index:20}@keyframes particleFly{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-60px) scale(1.5)}}.drag-area{flex:1 1;overflow:hidden;position:relative}.draggable-vehicle{align-items:center;border:3px solid;border-radius:20px;cursor:grab;display:flex;flex-direction:column;font-size:36px;height:90px;justify-content:center;position:absolute;transition:transform .1s,opacity .2s;width:90px;z-index:5}.draggable-vehicle:hover{transform:scale(1.1)}.draggable-vehicle.dragging{cursor:grabbing;opacity:.5}.vehicle-name-small{color:#fff;font-size:10px;font-weight:700;margin-top:2px}.garage{align-items:center;background:#ffffff0d;border:3px dashed;border-radius:20px;display:flex;flex-direction:column;height:90px;justify-content:center;position:absolute;transition:background .2s,transform .2s;width:90px;z-index:4}.garage:hover{background:#ffffff1f;transform:scale(1.05)}.garage.garage-done{background:#ffffff26;border-style:solid}.garage-emoji{font-size:28px;opacity:.5}.garage-label{color:#fff9;font-size:11px;font-weight:700}.garage-done-inner{font-size:32px}.result-screen{align-items:center;display:flex;height:100%;justify-content:center;padding:24px;width:100%}.result-screen.success{background:radial-gradient(ellipse at center,#1a3a2a 0,#0a1a10 100%)}.result-screen.fail{background:radial-gradient(ellipse at center,#3a1a1a 0,#1a0a0a 100%)}.result-card{animation:slideUp .5s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:32px;box-shadow:0 8px 32px #0000004d;box-shadow:var(--shadow);max-width:400px;padding:48px 40px;text-align:center;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.result-emoji{animation:bounce 1s ease-in-out infinite alternate;display:block;font-size:72px;margin-bottom:8px}.result-title{font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:40px;margin-bottom:4px}.result-player{color:#ffffffb3;font-size:16px;margin-bottom:20px}.result-score{background:#ffffff12;border-radius:20px;margin-bottom:12px;padding:16px}.result-score-label{color:#fff9;display:block;font-size:13px}.result-score-value{font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:48px}.result-level{color:#ffffff80;font-size:14px;margin-bottom:28px}.result-buttons{display:flex;flex-direction:column;gap:12px}.result-btn{border:none;border-radius:16px;cursor:pointer;font-family:Nunito,sans-serif;font-family:var(--font-body);font-size:16px;font-weight:800;padding:14px 20px;transition:transform .15s}.result-btn:hover{transform:scale(1.03)}.result-btn:active{transform:scale(.97)}.next-btn{color:#fff}.retry-btn{background:#ffffff1a;color:#fff}.map-btn{background:#ffffff0f;color:#fffc}.complete-screen{align-items:center;background:radial-gradient(ellipse at center,#2a1a4a 0,#0a0a20 100%);display:flex;height:100%;justify-content:center;padding:24px;width:100%}.complete-card{animation:slideUp .6s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff12;border:1px solid #ffffff26;border-radius:32px;box-shadow:0 20px 80px #a29bfe4d;max-width:440px;padding:52px 44px;text-align:center;width:100%}.complete-trophy{animation:spin 3s ease-in-out infinite alternate;display:block;font-size:96px}@keyframes spin{0%{transform:rotate(-10deg) scale(1)}50%{transform:rotate(10deg) scale(1.1)}to{transform:rotate(-10deg) scale(1)}}.complete-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ffe66d,#ff8e53);-webkit-background-clip:text;font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:56px;margin:8px 0}.complete-player{font-size:20px;font-weight:800;margin-bottom:8px}.complete-sub{color:#fff9;font-size:15px;margin-bottom:24px}.complete-score{background:#ffe66d1a;border-radius:20px;margin-bottom:20px;padding:18px}.complete-score span:first-child{color:#fff9;display:block;font-size:13px}.complete-score-val{color:#ffe66d;font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:44px}.complete-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:28px}.complete-badges span{background:#ffffff1a;border-radius:20px;font-size:14px;font-weight:700;padding:8px 16px}.complete-btn{background:linear-gradient(135deg,#a29bfe,#6c5ce7);border:none;border-radius:20px;box-shadow:0 6px 24px #a29bfe66;color:#fff;cursor:pointer;font-family:Fredoka One,cursive;font-family:var(--font-display);font-size:22px;padding:18px;transition:transform .15s;width:100%}.complete-btn:hover{transform:scale(1.03)}@media (max-width:480px){.welcome-card{padding:32px 24px}.logo-title{font-size:32px}.vehicle-target{height:64px;width:64px}.vehicle-emoji{font-size:28px}.draggable-vehicle,.garage{height:72px;width:72px}.result-card{padding:32px 24px}.complete-card{padding:36px 24px}.complete-title{font-size:42px}}
/*# sourceMappingURL=main.ebb46190.css.map*/