.traffic-game-page{background:#cfeeff}.traffic-app{background:#eef9ff}.traffic-title-wrap{text-align:center;line-height:1}.traffic-subtitle{font-size:.72rem;font-weight:1000;color:#d9efff;margin-top:4px;text-transform:uppercase;letter-spacing:.05em}.traffic-score{min-width:58px;height:46px;padding:0 10px;border-radius:16px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;gap:5px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}.traffic-score strong{font-size:1.15rem}.traffic-hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 14px;background:#fff;border-bottom:1px solid #dceaf7;box-shadow:0 8px 20px rgba(14,80,149,.09);position:relative;z-index:4}.traffic-round{padding:9px 10px;border-radius:15px;background:#eaf5ff;color:#0a62bb;font-size:.72rem;font-weight:1000;white-space:nowrap}.traffic-question{text-align:center;font-size:.82rem;font-weight:1000;color:#164d85}.traffic-reset{width:44px;height:44px;border:0;border-radius:15px;background:#eef6ff;color:#0a6dd6;font-size:1.4rem;font-weight:1000;box-shadow:inset 0 0 0 2px #d6e9fb}.traffic-world{position:relative;min-height:690px;padding:28px 14px 150px;overflow:hidden;background:linear-gradient(#67c9ff 0 39%,#84d36c 39% 47%,#5b6470 47% 100%)}.traffic-sky{position:absolute;inset:0 0 auto;height:40%;pointer-events:none}.traffic-cloud{position:absolute;width:88px;height:29px;border-radius:999px;background:#fff;opacity:.94}.traffic-cloud:before,.traffic-cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.traffic-cloud:before{width:38px;height:38px;left:13px;top:-18px}.traffic-cloud:after{width:50px;height:50px;right:8px;top:-25px}.traffic-cloud.cloud-one{left:5%;top:44px}.traffic-cloud.cloud-two{right:7%;top:76px;transform:scale(.8)}.traffic-sun{position:absolute;right:22%;top:24px;width:52px;height:52px;border-radius:50%;background:#ffd63e;box-shadow:0 0 0 10px rgba(255,220,82,.18)}.traffic-road{position:absolute;left:0;right:0;top:47%;bottom:0;background:#59636d}.traffic-road span{position:absolute;top:46%;width:18%;height:9px;border-radius:999px;background:#fff;opacity:.86}.traffic-road span:nth-child(1){left:7%}.traffic-road span:nth-child(2){left:41%}.traffic-road span:nth-child(3){right:7%}.traffic-light-wrap{position:relative;z-index:3;width:124px;margin:0 auto}.traffic-light{width:112px;margin:auto;padding:11px;border-radius:25px;background:#222d39;border:5px solid #121a22;display:grid;gap:8px;box-shadow:0 12px 22px rgba(0,0,0,.24)}.traffic-bulb{width:68px;height:68px;border-radius:50%;margin:auto;background:#303c48;border:5px solid #121a22;box-shadow:inset 0 5px 12px rgba(255,255,255,.08)}.traffic-bulb.red.is-on{background:#f43e47;box-shadow:0 0 0 7px rgba(244,62,71,.22),0 0 30px #f43e47}.traffic-bulb.yellow.is-on{background:#ffd13d;box-shadow:0 0 0 7px rgba(255,209,61,.22),0 0 30px #ffd13d}.traffic-bulb.green.is-on{background:#35d36e;box-shadow:0 0 0 7px rgba(53,211,110,.22),0 0 30px #35d36e}.traffic-pole{width:18px;height:82px;margin:auto;background:#26313d;border-radius:0 0 8px 8px}.traffic-car{position:absolute;z-index:4;left:50%;top:52%;width:min(42%,230px);transform:translateX(-50%);transition:transform .55s ease}.traffic-car svg{width:100%;height:auto;filter:drop-shadow(0 10px 7px rgba(0,0,0,.3))}.traffic-car.do-go{transform:translateX(75vw)}.traffic-car.do-stop{animation:trafficBrake .4s ease}.traffic-car.do-slow{transform:translateX(-10%)}.traffic-actions{position:absolute;z-index:6;left:14px;right:14px;bottom:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:610px;margin:auto}.traffic-action{border:0;border-radius:22px;min-height:92px;padding:10px 5px;color:#fff;font-weight:1000;box-shadow:0 7px 0 rgba(0,0,0,.17);display:grid;place-items:center;gap:3px;transition:transform .15s}.traffic-action:active{transform:translateY(3px)}.traffic-action.stop{background:linear-gradient(#ff666d,#e8323c)}.traffic-action.slow{background:linear-gradient(#ffda4a,#e7a914);color:#6b4800}.traffic-action.go{background:linear-gradient(#50df82,#20ad57)}.action-icon{font-size:2rem;line-height:1}.traffic-action strong{font-size:.78rem}.traffic-action.is-wrong{animation:trafficShake .35s ease;outline:4px solid #fff}.traffic-action.is-correct{outline:5px solid #fff}.traffic-action.is-disabled{pointer-events:none;opacity:.65}.traffic-feedback{position:absolute;left:50%;bottom:137px;z-index:8;transform:translateX(-50%) translateY(12px);opacity:0;padding:10px 18px;border-radius:999px;background:#fff;font-weight:1000;box-shadow:0 9px 24px rgba(0,0,0,.2);transition:.2s;white-space:nowrap}.traffic-feedback.show{opacity:1;transform:translateX(-50%) translateY(0)}.traffic-feedback.good{color:#118949}.traffic-feedback.bad{color:#d82d3b}.traffic-finish{position:absolute;inset:0;z-index:20;background:rgba(5,35,72,.72);display:grid;place-items:center;padding:22px;backdrop-filter:blur(5px)}.traffic-finish-card{width:min(100%,390px);padding:28px 20px;border-radius:30px;background:#fff;text-align:center;box-shadow:0 22px 60px rgba(0,0,0,.32)}.traffic-finish-card h2{font-size:2rem;margin:5px 0;color:#0b326d}.traffic-finish-card p{margin:0;color:#6d7d97;font-weight:800}.traffic-finish-stars{font-size:1.55rem;margin:16px 0}.traffic-finish-card button{border:0;border-radius:18px;background:linear-gradient(#35c96b,#1cab52);color:#fff;padding:14px 20px;font-weight:1000;box-shadow:0 6px 0 #107d39}@keyframes trafficShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}@keyframes trafficBrake{0%,100%{transform:translateX(-50%)}45%{transform:translateX(-43%) rotate(-2deg)}}@media(max-width:430px){.traffic-world{min-height:640px}.traffic-actions{left:8px;right:8px;gap:6px}.traffic-action{min-height:82px;border-radius:18px}.traffic-hud{gap:6px;padding-left:8px;padding-right:8px}.traffic-round{padding:8px 7px}.traffic-question{font-size:.72rem}.traffic-reset{width:40px;height:40px}.traffic-bulb{width:58px;height:58px}.traffic-light{width:96px}.traffic-car{width:min(48%,210px)}}@media(prefers-reduced-motion:reduce){.traffic-car,.traffic-action,.traffic-feedback{animation:none!important;transition:none!important}}
