:root{--sky:#59c9f4;--blue:#1166b5;--navy:#063d78;--cream:#fffef7;--green:#33c74a;--shadow:0 10px 24px #003d6a35}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;background:var(--sky);color:#083d75}button,input,select{font:inherit}button{cursor:pointer}.screen{position:absolute;inset:0;display:none}.screen.active{display:block}.hidden{display:none!important}
/* START */
.start-screen{background:#61c9f1}.start-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.start-hit{position:absolute;left:20%;right:20%;bottom:12.4%;height:13%;border:0;background:transparent}.reset-hit{position:absolute;left:28%;right:28%;bottom:5.5%;height:5.5%;border:0;background:transparent}
/* SETUP */
.setup-screen{background:linear-gradient(#57c5f0,#dff8ff);padding:calc(env(safe-area-inset-top) + 14px) 14px calc(env(safe-area-inset-bottom) + 14px);overflow:auto}.setup-card{position:relative;max-width:680px;min-height:100%;margin:auto;background:#fffef9;border-radius:34px;padding:20px 20px 28px;box-shadow:0 14px 40px #0a5c8e30;text-align:center}.round-back{position:absolute;left:16px;top:16px;width:54px;height:54px;border-radius:50%;border:3px solid #fff;background:#31aee9;color:white;font-size:42px;line-height:40px;box-shadow:0 5px 0 #0d70aa}.setup-card h1{margin:24px 0 2px;font-size:clamp(30px,8vw,48px);line-height:.9}.setup-card h1 small{display:block;color:#0b4e94;font-size:.62em}.setup-card h1 strong{display:block;color:#f3c500;text-shadow:0 3px 0 #0b4e94}.setup-preview{height:min(35vh,300px);display:flex;align-items:center;justify-content:center;position:relative}.setup-preview img{display:block;width:min(64vw,360px);max-height:100%;object-fit:contain;filter:drop-shadow(0 14px 12px #2348)}.girl-bow{display:none;position:absolute;right:14%;top:18%;font-size:42px;filter:drop-shadow(0 3px 2px #0002)}.girl .girl-bow,.scene-car.girl .girl-bow{display:block}.gender-picker{display:flex;gap:12px;justify-content:center;margin:0 auto 14px}.gender{min-width:42%;padding:12px 18px;border-radius:22px;border:4px solid #d7d7d7;background:#f7f7f7;color:#188adc;font-size:22px}.gender.active{border-color:#1c9be8;background:#e4f5ff}.name-label{display:block;font-weight:900;font-size:18px;margin:8px 0}.setup-card input{width:min(92%,520px);height:62px;border:4px solid #d6b988;border-radius:20px;text-align:center;font-size:28px;font-weight:900;outline:none;background:white}.color-picker{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:18px auto}.color{width:54px;height:54px;border-radius:50%;border:5px solid white;background:var(--sw);box-shadow:0 0 0 3px #b7a184}.color.active{box-shadow:0 0 0 5px #24bb43,0 6px 12px #0002}.main-btn{border:4px solid white;border-radius:25px;background:linear-gradient(#59e33e,#14ad31);box-shadow:0 7px 0 #087f22;color:white;font-weight:1000;text-shadow:0 2px 2px #07561f55}.setup-done{width:min(90%,500px);font-size:28px;padding:17px}.compact{padding:11px 22px;font-size:19px;border-radius:20px}
/* GAME SHELL */
.game-screen{display:none;background:var(--sky);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.game-screen.active{display:flex;flex-direction:column}.game-header{height:146px;flex:0 0 146px;background:rgba(255,255,255,.95);box-shadow:0 4px 14px #0f548525;z-index:50}.header-row{height:64px;display:grid;grid-template-columns:56px 1fr 50px 56px;align-items:center;gap:6px;padding:6px 10px}.scene-title{text-align:center;font-weight:1000;font-size:27px;letter-spacing:.5px}.icon-btn,.weather-chip{height:50px;width:50px;border:3px solid white;border-radius:50%;background:#4dbcf0;color:white;font-size:27px;box-shadow:0 5px 0 #087db6}.weather-chip{background:#fff;color:#222;font-size:24px}.meters{height:82px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:5px 9px 9px}.meter{position:relative;border:3px solid #d7e8f2;background:#fff;border-radius:16px;padding:7px 5px 5px 35px;min-width:0}.meter>span{position:absolute;left:5px;top:9px;font-size:25px}.meter i{display:block;height:18px;background:#dbe4e9;border-radius:10px;border:2px solid #aebdc5;overflow:hidden}.meter em{display:block;height:100%;width:50%;background:#35c85c;border-radius:8px;transition:width .3s}.meter.clean em{background:#49bced}.meter.energy em{background:#ffc844}.meter.joy em{background:#f477ae}.meter b{display:block;text-align:center;font-size:11px;margin-top:3px}.scene{position:relative;flex:1;min-height:0;overflow:hidden;background:#53c6f0}.scene-view{position:absolute;inset:0;display:none;overflow:hidden}.scene-view.active-view{display:block}.speech{position:absolute;z-index:34;left:12px;top:10px;max-width:min(68%,420px);min-height:54px;border:4px solid #0b4f8c;border-radius:25px;background:#fff;color:#073b70;font-size:19px;font-weight:900;padding:10px 45px 10px 15px;box-shadow:0 7px 14px #02446d33}.speech:after{content:"";position:absolute;left:50px;bottom:-14px;border:8px solid transparent;border-top-color:#0b4f8c}.speech small{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.scene-car{position:absolute;z-index:18;pointer-events:none;filter:drop-shadow(0 15px 12px #002b4a35);transform-origin:50% 70%}.scene-car .car-art{width:100%;height:auto;display:block}.scene-car .girl-bow{font-size:32px}.scene-actions{position:absolute;z-index:29;left:12px;right:12px;bottom:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.scene-actions button{min-height:68px;border:3px solid white;border-radius:18px;background:#ffffffef;color:#0b447b;font-size:24px;font-weight:900;box-shadow:0 5px 0 #b4d2df;display:flex;flex-direction:column;align-items:center;justify-content:center}.scene-actions span{font-size:12px;margin-top:2px}.simple-sky{position:absolute;inset:0;background:linear-gradient(#59c9f4 0 56%,#74d759 56%)}.landscape-hills{position:absolute;left:-10%;right:-10%;bottom:20%;height:38%;background:radial-gradient(90% 70% at 20% 100%,#3cae45 0 55%,transparent 56%),radial-gradient(80% 80% at 65% 100%,#58bf51 0 55%,transparent 56%),radial-gradient(70% 80% at 95% 100%,#2f9d42 0 55%,transparent 56%)}.scene-road{position:absolute;left:-10%;right:-10%;bottom:-6%;height:34%;background:#40484e;border-top:10px solid white;transform:skewY(-2deg)}.scene-road:after{content:"";position:absolute;left:0;right:0;top:52%;height:7px;background:repeating-linear-gradient(90deg,#ffd62e 0 42px,transparent 42px 80px)}
/* GARAGE */
.garage-photo{position:absolute;inset:0;background:url('assets/scenes/garage.jpg?v=4') center/cover no-repeat}.garage-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,#0b233f2c)}.garage-car-shell{width:min(58vw,430px);left:50%;top:48%;transform:translate(-50%,-50%)}.garage-actions{bottom:10px}
/* GAS */
.gas-station{position:absolute;z-index:6;width:min(82vw,650px);max-height:60%;object-fit:contain;left:50%;top:9%;transform:translateX(-50%);filter:drop-shadow(0 10px 10px #003d6530)}.gas-car-shell{width:min(46vw,350px);left:13%;bottom:11%}.fuel-hose{display:none;position:absolute;z-index:19;left:47%;bottom:34%;width:34%;height:8px;border-radius:8px;background:#171717;transform:rotate(20deg);transform-origin:left center}.fuel-hose.active{display:block;animation:hosePulse .5s infinite alternate}@keyframes hosePulse{to{transform:rotate(18deg) scaleX(1.03)}}.action-card{position:absolute;z-index:30;right:14px;bottom:10px;width:min(46%,330px);background:#ffffffee;border:3px solid white;border-radius:22px;padding:12px;box-shadow:var(--shadow)}.action-copy{display:flex;justify-content:space-between;font-weight:900}.big-progress{margin:8px 0}.big-progress i{display:block;height:18px;border-radius:10px;background:#d6e0e4;overflow:hidden}.big-progress em{display:block;height:100%;background:#34c44f;border-radius:10px}.gas-panel .main-btn{width:100%}
/* WASH */
.wash-bg{background:linear-gradient(#55c7ef 0 62%,#d8eef5 62%)}.carwash-building{position:absolute;z-index:5;width:min(95vw,740px);max-height:76%;object-fit:contain;left:50%;top:8%;transform:translateX(-50%);filter:drop-shadow(0 12px 10px #003d6530)}.wash-car-shell{width:min(48vw,360px);left:50%;top:56%;transform:translate(-50%,-50%)}.wash-fx{position:absolute;inset:0;z-index:20;pointer-events:none}.foam-bubble{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#d7f7ff 70%);box-shadow:0 0 8px #fff}.water-drop{position:absolute;width:5px;height:36px;background:#90eaff;border-radius:50%;animation:fall .65s linear infinite}@keyframes fall{to{transform:translateY(110vh)}}.air-streak{position:absolute;height:5px;border-radius:4px;background:#fff9;animation:air .65s linear infinite}@keyframes air{to{transform:translateX(150vw)}}.wash-controls{bottom:8px}.wash-controls button.done{background:#d7ffd9;box-shadow:0 5px 0 #50b15b}
/* TRACK */
.track-landscape{position:absolute;inset:0;background:linear-gradient(#55c9f4 0 54%,#82dc5c 54%)}.track-cloud{position:absolute;width:100px;height:30px;background:#fff;border-radius:40px;opacity:.9}.track-cloud:before,.track-cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.track-cloud:before{width:48px;height:48px;left:16px;top:-23px}.track-cloud:after{width:58px;height:58px;right:10px;top:-30px}.track-cloud.c1{top:15%;left:8%}.track-cloud.c2{top:21%;right:8%;transform:scale(.7)}.track-trees{position:absolute;left:0;right:0;bottom:28%;height:19%;background:radial-gradient(circle at 5% 100%,#229844 0 24px,transparent 25px),radial-gradient(circle at 15% 100%,#39a84b 0 34px,transparent 35px),radial-gradient(circle at 85% 100%,#249543 0 30px,transparent 31px),radial-gradient(circle at 95% 100%,#3eaf51 0 40px,transparent 41px)}.track-ribbon{position:absolute;height:18%;background:#f58225;border:8px solid #2b80c5;border-radius:45px;box-shadow:inset 0 0 0 6px #ffbe42,0 10px 20px #004b7830}.track-ribbon.back{left:-6%;right:28%;top:39%;transform:rotate(-8deg)}.track-ribbon.front{left:7%;right:-9%;bottom:15%;transform:rotate(6deg)}.track-loop{position:absolute;z-index:4;width:min(44vw,340px);aspect-ratio:1;border:25px solid #f58225;border-radius:50%;right:4%;top:27%;box-shadow:0 0 0 8px #2b80c5,inset 0 0 0 6px #ffbe42}.track-loop span{position:absolute;inset:16px;border:4px dashed #fff8;border-radius:50%}.track-ramp{position:absolute;z-index:5;left:37%;bottom:20%;width:33%;height:20%;background:linear-gradient(160deg,transparent 0 45%,#f58225 46% 65%,#2b80c5 66%);transform:skewX(-8deg)}.finish-gate{position:absolute;z-index:7;right:10%;bottom:19%;background:#fff;border:5px solid #333;border-radius:12px;padding:6px 10px;color:#222;font-weight:1000;display:flex;gap:8px;align-items:center}.race-car-shell{width:min(38vw,300px);left:8%;bottom:17%}.race-controls{position:absolute;z-index:30;left:12px;right:12px;bottom:8px;display:flex;gap:10px}.race-controls .main-btn{flex:1}.result-pill{flex:1;background:#fff;border-radius:20px;border:3px solid #d5edf8;display:flex;align-items:center;justify-content:center;font-weight:900}
/* BISTRO */
.bistro-sky{background:linear-gradient(#59c9f4 0 60%,#72d75b 60%)}.bistro-building{position:absolute;z-index:5;width:min(78vw,570px);max-height:61%;object-fit:contain;left:50%;top:8%;transform:translateX(-50%);filter:drop-shadow(0 10px 12px #003d6530)}.bistro-car-shell{width:min(40vw,315px);left:5%;bottom:19%}.delivery-truck{position:absolute;z-index:15;width:min(48vw,360px);right:-60%;bottom:18%;transition:right .65s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 12px 10px #003d6530)}.delivery-truck.show{right:2%}.cargo-rack{position:absolute;left:28%;right:0;top:-16%;height:38%;display:flex;align-items:flex-end;justify-content:center}.cargo-rack img{width:30%;max-height:100%;object-fit:contain;filter:drop-shadow(0 3px 2px #0003)}.food-tray{position:absolute;z-index:31;left:8px;right:8px;bottom:7px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:#fffdf6e8;padding:6px;border-radius:18px;box-shadow:var(--shadow)}.food-item,.deliver-mini{border:3px solid #e1edf2;background:white;border-radius:14px;min-height:70px;color:#0b447b;font-weight:900}.food-item.selected{border-color:#37c450;background:#e7ffe9}.food-item img{display:block;height:42px;max-width:100%;object-fit:contain;margin:auto}.food-item b{font-size:11px}.deliver-mini{background:linear-gradient(#63e84c,#19b234);color:#fff;text-shadow:0 1px 2px #075}.deliver-mini:disabled{filter:grayscale(1);opacity:.6}
/* CITY */
.city-sky{position:absolute;inset:0;background:linear-gradient(#54c6f0 0 50%,#aee5ff 50% 61%,#8fd45d 61%)}.city-blocks{position:absolute;left:0;right:0;top:18%;height:40%;display:flex;align-items:flex-end;justify-content:space-around;padding:0 4%}.city-blocks span{width:14%;height:55%;background:#ffd978;border:5px solid #fff1c8;border-radius:10px 10px 0 0;box-shadow:inset 0 0 0 3px #cf8b58}.city-blocks span:nth-child(2){height:80%;background:#f7a18e}.city-blocks span:nth-child(3){height:65%;background:#a3d8ff}.city-blocks span:nth-child(4){height:90%;background:#ffe7a4}.city-blocks span:nth-child(5){height:72%;background:#c7a5f5}.city-blocks span:nth-child(6){height:58%;background:#a7e0b2}.city-square{position:absolute;left:0;right:0;top:54%;height:19%;background:#e6d4b3;border-top:5px solid #fff}.fountain{position:absolute;left:50%;top:3%;transform:translateX(-50%);font-size:70px}.city-road{position:absolute;left:-8%;right:-8%;bottom:0;height:34%;background:#444b52;transform:skewY(-2deg);border-top:9px solid white}.city-road:after{content:"";position:absolute;left:0;right:0;top:50%;height:7px;background:repeating-linear-gradient(90deg,#ffd52e 0 50px,transparent 50px 95px)}.city-car-shell{width:min(39vw,300px);left:7%;bottom:13%}.city-truck{position:absolute;z-index:8;width:min(36vw,280px);right:4%;bottom:21%;filter:drop-shadow(0 10px 8px #003d6530)}.city-controls{bottom:8px}
/* SLEEP */
.sleep-overlay{position:absolute;inset:0;z-index:80;background:linear-gradient(#07193f,#152a64 68%,#111c34);display:flex;align-items:center;justify-content:center}.night-sky{position:absolute;inset:0}.night-sky i{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff}.night-sky i:nth-child(1){left:15%;top:18%}.night-sky i:nth-child(2){left:72%;top:13%}.night-sky i:nth-child(3){left:32%;top:34%}.night-sky i:nth-child(4){left:85%;top:42%}.night-sky i:nth-child(5){left:54%;top:25%}.night-sky span{position:absolute;right:12%;top:10%;font-size:70px}.sleep-garage{position:absolute;left:0;right:0;bottom:0;height:48%;background:url('assets/scenes/garage.jpg?v=4') center bottom/cover no-repeat;filter:brightness(.28) saturate(.7)}.sleep-card{position:relative;z-index:5;width:min(84%,460px);text-align:center;color:white}.sleep-card img{width:min(70vw,360px);display:block;margin:0 auto 8px;filter:drop-shadow(0 15px 12px #0008)}.sleep-card b,.sleep-card small{display:block}.sleep-card b{font-size:28px}.sleep-card small{margin:6px 0 18px}.zzz{font-size:42px;font-weight:1000;animation:floatz 1.4s ease-in-out infinite alternate}@keyframes floatz{to{transform:translateY(-8px)}}
/* DOCK */
.scene-dock{flex:0 0 94px;height:94px;background:#edf9ff;border-top:4px solid white;display:flex;gap:7px;overflow-x:auto;padding:7px 8px calc(7px + env(safe-area-inset-bottom));z-index:55;scrollbar-width:none}.scene-dock::-webkit-scrollbar{display:none}.dock-btn{flex:0 0 95px;border:3px solid #d6e9f2;border-radius:18px;background:#fff;color:#0b447b;font-weight:900;box-shadow:0 5px 0 #c0d8e2}.dock-btn span{display:block;font-size:26px}.dock-btn b{font-size:11px}.dock-btn.active{background:#dff7e2;border-color:#39c653;box-shadow:0 5px 0 #27903a}
/* WEATHER */
.weather-layer{position:absolute;inset:0;z-index:25;pointer-events:none}.weather-layer.rain{background-image:repeating-linear-gradient(105deg,transparent 0 18px,#d7f3ff99 18px 21px,transparent 21px 42px);animation:rainmove .45s linear infinite}.weather-layer.snow{background-image:radial-gradient(circle,#fff 0 3px,transparent 4px),radial-gradient(circle,#fff 0 2px,transparent 3px);background-size:52px 52px,37px 37px;animation:snowmove 4s linear infinite}.weather-layer.storm{background:linear-gradient(#28375444,#15203b55);animation:storm 2.8s infinite}@keyframes rainmove{to{background-position:0 42px}}@keyframes snowmove{to{background-position:25px 52px,-18px 37px}}@keyframes storm{48%,52%{background:#ffffff44}50%{background:#fff9}}
/* MODAL */
.modal{position:fixed;inset:0;z-index:200;background:#001d3c88;display:flex;align-items:center;justify-content:center;padding:20px}.settings-card{position:relative;width:min(92vw,520px);background:white;border-radius:26px;padding:24px;box-shadow:0 20px 50px #0005}.settings-card h2{margin:0 0 14px;font-size:30px}.modal-close{position:absolute;right:12px;top:10px;border:0;background:#e8f6fc;color:#0b477c;border-radius:50%;width:42px;height:42px;font-size:28px}.toggle-row{display:flex;justify-content:space-between;align-items:center;font-weight:900;font-size:19px;padding:11px 0}.toggle-row input{display:none}.toggle-row i{width:58px;height:32px;border-radius:20px;background:#bbb;position:relative}.toggle-row i:after{content:"";position:absolute;width:26px;height:26px;left:3px;top:3px;border-radius:50%;background:white;transition:left .2s}.toggle-row input:checked+i{background:#35c84f}.toggle-row input:checked+i:after{left:29px}.voice-picker-wrap{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;background:#f0f8fc;padding:10px;border-radius:14px}.voice-picker-wrap label{grid-column:1/-1;font-size:13px;font-weight:900}.voice-picker-wrap select{min-width:0;border:2px solid #bee0ee;border-radius:10px;padding:8px;background:white}.voice-picker-wrap button{border:0;border-radius:10px;padding:9px;background:#128bd0;color:white;font-weight:900}.voice-note{font-size:12px;line-height:1.35;color:#4e6575}.sub-btn{width:100%;border:0;border-radius:15px;background:#e5f5fd;color:#0b5d99;font-weight:900;padding:12px;margin-top:9px}
/* transitions */
.scene-view.entering .scene-car{animation:carEnter .55s ease-out}.scene-view.leaving .scene-car{animation:carExit .38s ease-in forwards}@keyframes carEnter{from{transform:translateX(-120vw) scale(.85)}to{transform:translateX(0) scale(1)}}@keyframes carExit{to{transform:translateX(125vw) scale(.88)}}
@media (min-width:800px){.game-header{height:132px;flex-basis:132px}.meters{height:68px}.scene-dock{height:92px;flex-basis:92px;justify-content:center}.dock-btn{flex-basis:130px}.garage-car-shell{width:420px}.speech{font-size:21px}.scene-actions{left:50%;right:auto;transform:translateX(-50%);width:min(700px,90%)}}
@media (max-height:720px){.game-header{height:122px;flex-basis:122px}.header-row{height:54px}.meters{height:68px}.scene-dock{height:82px;flex-basis:82px}.dock-btn{flex-basis:86px}.garage-car-shell{width:min(50vw,350px)}.scene-actions button{min-height:58px}.speech{font-size:16px;min-height:48px}.food-item,.deliver-mini{min-height:60px}}

/* ===== V6 POLISH ===== */
/* Tankování: žádná čára/hadice přes scénu, jen pistole + kapky */
.fuel-hose{display:none!important}.fuel-nozzle{position:absolute;z-index:20;left:47%;bottom:31%;font-size:42px;filter:drop-shadow(0 5px 4px #003d6540);transform:rotate(-12deg);opacity:.92}.fuel-nozzle.active{animation:nozzleBounce .45s ease-in-out infinite alternate}@keyframes nozzleBounce{to{transform:rotate(-7deg) translateY(-3px)}}
.fuel-drops{position:absolute;z-index:21;left:47%;bottom:28%;width:24%;height:26%;pointer-events:none}.fuel-drop{position:absolute;width:13px;height:18px;border-radius:60% 45% 60% 45%;background:linear-gradient(145deg,#fff08a,#ffc51b 55%,#f28c00);box-shadow:0 2px 4px #a85d0055;transform:rotate(45deg);animation:fuelDrop .72s ease-in forwards}@keyframes fuelDrop{0%{opacity:0;transform:translate(0,-8px) rotate(45deg) scale(.6)}25%{opacity:1}100%{opacity:0;transform:translate(75px,62px) rotate(45deg) scale(1)}}

/* Autodráha V6: skutečný asfaltový okruh, 3D rampy a závodní okolí */
.track-landscape{background:linear-gradient(#59c9f4 0 48%,#b9edff 48% 53%,#6fd052 53% 100%)}.track-trees{bottom:37%;height:15%}.race-park{position:absolute;inset:24% 2% 10%;z-index:3;perspective:700px}.track-oval{position:absolute;left:2%;right:2%;top:15%;height:66%;border-radius:50%;background:#474d55;transform:rotate(-5deg);box-shadow:0 0 0 12px #f4f4f4,0 0 0 20px #e53935,0 14px 20px #174d2738,inset 0 0 0 5px #2c3138}.track-inner{position:absolute;inset:24%;border-radius:50%;background:linear-gradient(#75d657,#4eb73f);box-shadow:0 0 0 7px #f4f4f4,0 0 0 13px #e53935}.lane-dashes{position:absolute;inset:12%;border:4px dashed #fff9;border-radius:50%}.grandstand{position:absolute;right:6%;top:-8%;width:31%;height:21%;border-radius:10px 10px 3px 3px;background:repeating-linear-gradient(0deg,#f4f7fb 0 8px,#9cc7dd 8px 15px);border:4px solid #2776a6;transform:skewX(-8deg);display:flex;justify-content:space-around;align-items:flex-start;padding-top:2px;font-size:18px;box-shadow:0 7px 8px #174d2730}.tire-wall{position:absolute;left:4%;top:9%;font-size:20px;letter-spacing:-2px;color:#20262c;text-shadow:0 2px #fff;transform:rotate(-6deg)}
.ramp{position:absolute;z-index:8;width:21%;height:17%;filter:drop-shadow(0 8px 5px #173b243c)}.ramp:before{content:"";position:absolute;inset:0;clip-path:polygon(0 100%,100% 100%,82% 12%,20% 32%);background:linear-gradient(100deg,#176da8 0 14%,#ffb22e 15% 27%,#f47a22 28% 73%,#ffcf43 74% 87%,#176da8 88%);border-radius:5px}.ramp:after{content:"";position:absolute;left:19%;right:17%;bottom:22%;height:5px;background:repeating-linear-gradient(90deg,#fff 0 15px,transparent 15px 27px);transform:rotate(-8deg)}.ramp-one{left:32%;bottom:9%;transform:rotate(-4deg)}.ramp-two{right:19%;top:22%;transform:scale(.78) rotate(174deg)}
.finish-line{position:absolute;z-index:7;left:10%;bottom:23%;width:20%;height:9%;transform:rotate(-8deg);background:conic-gradient(#fff 25%,#222 0 50%,#fff 0 75%,#222 0) 0/20px 20px;border:3px solid #fff}.finish-gate{right:auto;left:8%;bottom:31%;transform:rotate(-7deg);font-size:12px;padding:4px 8px}.race-car-shell{z-index:12;width:min(31vw,250px);left:8%;bottom:18%}.race-controls{z-index:40}.track-ribbon,.track-loop,.track-ramp{display:none!important}

/* Bistro: kamion stojí vedle auta, ne přes něj */
.bistro-car-shell{width:min(35vw,280px);left:4%;bottom:19%}.delivery-truck{z-index:14;width:min(37vw,285px);right:-48%;bottom:25%;}.delivery-truck.show{right:3%}

/* Představení Bleska/Jiskry */
.car-intro{position:absolute;inset:0;z-index:100;background:linear-gradient(#5acbf5ee,#dff7ffee 56%,#7bd95fee);display:flex;align-items:center;justify-content:center;padding:18px}.car-intro.hidden{display:none}.car-intro-card{position:relative;width:min(88%,480px);background:#fff;border:5px solid #fff;border-radius:32px;text-align:center;padding:18px 18px 20px;box-shadow:0 16px 40px #004a7760}.car-intro-card:before{content:"";position:absolute;inset:5px;border:3px solid #ccecf8;border-radius:24px;pointer-events:none}.car-intro-card img{position:relative;width:min(68vw,340px);max-height:34vh;object-fit:contain;filter:drop-shadow(0 12px 8px #00476a35);z-index:2}.intro-bow{display:none;position:absolute;z-index:3;top:20%;right:23%;font-size:34px}.car-intro.girl .intro-bow{display:block}.car-intro h2{position:relative;margin:2px 0 4px;color:#0b447b;font-size:clamp(25px,7vw,38px);font-weight:1000}.car-intro p{position:relative;margin:0 auto 15px;color:#42637a;font-weight:800;max-width:360px}.car-intro .main-btn{position:relative;width:100%;z-index:2}.intro-spark{position:absolute;right:18px;top:12px;font-size:30px}
/* V7 visual polish */
.garage-car-shell{top:auto;bottom:22%;transform:translateX(-50%);filter:drop-shadow(0 7px 5px #142b3a55)}
.race-park{inset:20% 1% 11%;perspective:900px}
.track-oval,.track-inner,.lane-dashes,.ramp,.finish-gate{display:none!important}
.track-course{position:absolute;left:-5%;right:-4%;top:10%;height:72%;border-radius:48% 52% 45% 55%;background:#444b54;transform:rotate(-7deg) perspective(600px) rotateX(7deg);box-shadow:0 0 0 9px #fff,0 0 0 18px #e8423a,0 16px 18px #194b2d44,inset 0 0 0 5px #252a30}
.course-grass{position:absolute;inset:23% 25%;border-radius:50%;background:linear-gradient(145deg,#7de15c,#49b840);box-shadow:0 0 0 8px #fff,0 0 0 15px #e8423a}
.course-line{position:absolute;inset:11%;border:5px dashed #fff9;border-radius:50%}
.jump-ramp{position:absolute;z-index:14;width:27%;height:18%;filter:drop-shadow(0 9px 5px #123a2955)}
.jump-ramp:before{content:"";position:absolute;inset:0;clip-path:polygon(3% 94%,96% 100%,78% 8%,28% 20%);background:linear-gradient(100deg,#176fa8 0 15%,#ffcb38 16% 28%,#f57c22 29% 72%,#ffd548 73% 86%,#176fa8 87%);border:4px solid #fff}
.jump-ramp:after{content:"";position:absolute;left:26%;right:16%;top:49%;height:7px;background:repeating-linear-gradient(90deg,#fff 0 17px,transparent 17px 31px);transform:rotate(-7deg)}
.jump-ramp b{position:absolute;z-index:2;left:48%;top:27%;font-size:23px;color:#fff;transform:rotate(-7deg)}
.ramp-one{left:34%;bottom:5%;transform:rotate(-3deg) scale(1.1)}
.ramp-two{right:14%;top:17%;transform:rotate(169deg) scale(.88)}
.finish-arch{position:absolute;z-index:13;left:6%;bottom:30%;display:flex;align-items:center;gap:4px;padding:4px 8px;border:5px solid #fff;border-radius:15px;background:linear-gradient(#218ed0,#0a5e9d);color:#fff;box-shadow:0 6px 8px #0003;transform:rotate(-7deg);font-size:12px}.finish-arch b{font-size:14px}.finish-line{left:8%;bottom:22%;width:22%;height:10%}
.tire-wall{display:flex;gap:2px;left:5%;top:6%;transform:rotate(-7deg)}.tire-wall i{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#6d7780 0 24%,#15191d 25% 60%,#31373d 61%);box-shadow:0 2px 2px #0004}
.grandstand{right:4%;top:-4%;width:34%;height:20%;background:linear-gradient(#fff 0 20%,#9ed8ef 20% 38%,#fff 38% 56%,#9ed8ef 56% 74%,#fff 74%);border-width:5px;box-shadow:0 9px 0 #155f8b,0 12px 12px #0002}
.race-car-shell{width:min(29vw,235px);left:7%;bottom:18%;filter:drop-shadow(0 7px 5px #173b2c55)}
.scene-dock{gap:8px;padding-top:8px}.dock-btn{flex-basis:100px;overflow:hidden;padding:4px;background:linear-gradient(#fff,#f8fdff);border:3px solid #c9e3ef;box-shadow:0 5px 0 #a9cfdf}.dock-btn.active{background:linear-gradient(#edfff0,#d8f7df);border-color:#35c557}.dock-art{display:block!important;width:68px;height:45px;margin:0 auto 2px;border-radius:12px;background-position:center!important;background-repeat:no-repeat!important;background-size:cover!important;box-shadow:inset 0 0 0 2px #fff8}.garage-art{background-image:url('assets/scenes/garage.jpg?v=7')}.gas-art{background-image:url('assets/objects/gas-station.png?v=7');background-size:contain!important}.wash-art{background-image:url('assets/objects/carwash.png?v=7');background-size:contain!important}.bistro-art{background-image:url('assets/objects/bistro.png?v=7');background-size:contain!important}.track-art{background:linear-gradient(145deg,#67d9f6 0 42%,#65cc4d 42%)!important;position:relative}.track-art:after{content:"";position:absolute;left:8px;right:8px;top:14px;height:16px;border:7px solid #454b52;border-radius:50%;box-shadow:0 0 0 3px #fff}.city-art{background:linear-gradient(#6dd3f4 0 48%,#75cf55 48%)!important;position:relative}.city-art:after{content:"🏠🏢";position:absolute;inset:6px 0 0;text-align:center;font-size:24px}.dock-btn b{font-size:12px}

/* ===== V8: výběr auta první, Jiskra, počasí, nová dráha ===== */

.setup-screen.active{display:block}
.setup-card .round-back{display:none}
/* Mašle je fyzicky na střeše auta, ne vedle obrázku */
.setup-preview .girl-bow{right:27%;top:20%;font-size:48px;transform:rotate(7deg);z-index:5}
.scene-car .girl-bow{right:18%;top:3%;font-size:34px;transform:rotate(8deg);z-index:8}
.car-intro .intro-bow{right:27%;top:18%;font-size:42px;transform:rotate(7deg)}
/* počasí má vlastní jednoznačný výběr */
.weather-card{position:relative;width:min(90vw,520px);background:#fff;border-radius:30px;padding:22px;box-shadow:0 18px 45px #003b6660;text-align:center}.weather-card h2{margin:4px 0 18px;color:#0b4e94;font-size:30px}.weather-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.weather-grid button{border:4px solid #d5e9f3;border-radius:22px;background:#f8fdff;padding:16px 8px;color:#0b4e94;font-size:18px;font-weight:900;box-shadow:0 5px 0 #b5d6e5}.weather-grid button span{display:block;font-size:48px;margin-bottom:5px}.weather-grid button.active{border-color:#39c95a;background:#eaffed;box-shadow:0 5px 0 #1b9d3b}
/* dráha: výraznější závodní areál a opravdové nájezdy */
.track-view{background:linear-gradient(#59c9f4 0 39%,#83d95d 39% 100%)}
.race-park{inset:19% 1% 11%}
.track-course{left:-9%;right:-8%;top:7%;height:76%;border-radius:46% 54% 44% 56%;background:#3e454c;transform:rotate(-6deg) perspective(650px) rotateX(9deg);box-shadow:0 0 0 8px #f9f9f9,0 0 0 17px #e33c36,0 18px 22px #174d2748,inset 0 0 0 4px #20262b}
.course-grass{inset:24% 27%;background:radial-gradient(circle at 55% 40%,#8be86a,#4fbd42 72%);box-shadow:0 0 0 7px #fff,0 0 0 14px #e33c36}
.course-line{inset:10%;border-width:4px}
.jump-ramp{display:block!important;width:30%;height:23%;z-index:20}
.jump-ramp:before{clip-path:polygon(0 100%,100% 100%,78% 4%,26% 24%);background:linear-gradient(102deg,#176fa8 0 14%,#ffd548 14% 25%,#f47b20 25% 75%,#ffd548 75% 87%,#176fa8 87%);border:5px solid #fff;box-shadow:inset 0 -9px 0 #c65316}
.jump-ramp:after{top:52%;height:8px}
.ramp-one{left:33%;bottom:1%;transform:rotate(-3deg) scale(1.18)}
.ramp-two{right:12%;top:10%;transform:rotate(166deg) scale(1.02)}
.finish-arch{left:4%;bottom:28%;transform:rotate(-6deg) scale(1.1)}
.race-car-shell{width:min(30vw,240px);left:6%;bottom:18%;transform:none!important}
