.header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header__container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.header__title{font-size:2rem;font-weight:700;margin:0;text-shadow:2px 2px 4px #0000004d}.header__nav{display:flex;gap:2rem}.header__nav-link{border-radius:25px;color:#fff;font-size:1.1rem;font-weight:500;overflow:hidden;padding:.5rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.header__nav-link:before{background:#fff3;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%}.header__nav-link:hover:before{left:0}.header__nav-link:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.header__nav-link--active{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d}@media (max-width:768px){.header__container{flex-direction:column;gap:1rem;padding:0 1rem}.header__title{font-size:1.5rem}.header__nav{gap:1rem}.header__nav-link{font-size:1rem;padding:.4rem .8rem}}@media (max-width:500px){.header__title{font-size:1.2rem}.header__nav{gap:.5rem}.header__nav-link{font-size:.9rem;padding:.3rem .6rem}}.car-item{background:#fff;border:2px solid #0000;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:1.5rem;transition:all .3s ease}.car-item:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.car-item--selected{border-color:#667eea;box-shadow:0 4px 15px #667eea4d}.car-item__controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.car-item__name{color:#333;flex:1 1;font-size:1.2rem;font-weight:600;min-width:150px}.car-item__btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase;transition:all .3s ease}.car-item__btn:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.car-item__btn:active:not(:disabled){transform:translateY(0)}.car-item__btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.car-item__btn--select{background:#ffc107;color:#333}.car-item__btn--remove{background:#f44336;color:#fff}.car-item__btn--start{background:#4caf50}.car-item__btn--start,.car-item__btn--stop{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:1rem;font-weight:700;height:40px;justify-content:center;width:40px}.car-item__btn--stop{background:#f44336}.car-item__btn--reset{background:#9c27b0}.car-item__btn--drive,.car-item__btn--reset{border-radius:6px;color:#fff;font-size:.8rem;min-width:60px;padding:.5rem .8rem}.car-item__btn--drive{background:#ff5722}.car-item__btn--loading{animation:pulse 1s ease-in-out infinite;cursor:not-allowed;opacity:.7}.car-item__race-track{align-items:center;display:flex;gap:1rem}.car-item__start-controls{display:flex;flex-shrink:0;gap:.5rem}.car-item__track{align-items:center;background:linear-gradient(90deg,#f0f0f0,#e0e0e0 50%,#f0f0f0);border:2px dashed #ccc;border-radius:30px;display:flex;flex:1 1;height:60px;justify-content:flex-start;overflow:hidden;padding:0 .5rem 0 1rem;position:relative}.car-item__car-container{display:inline-block;position:relative;width:100%}.car-item__car{display:inline-block;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3));font-size:2rem;position:relative;transition:transform .1s ease;z-index:2}.car-item__car--driving{filter:drop-shadow(4px 4px 8px rgba(0,0,0,.4))}.car-item__car--clickable{cursor:pointer}.car-item__car--clickable:hover{filter:drop-shadow(2px 2px 6px rgba(0,0,0,.4));transform:scale(1.1)}.car-item__color-picker{background:#fff;border:2px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;left:50%;padding:4px;position:absolute;top:-10px;transform:translateX(-50%);z-index:10}.car-item__color-picker input[type=color]{background:none;border:none;border-radius:4px;cursor:pointer;height:40px;width:40px}.car-item__color-picker input[type=color]::-webkit-color-swatch-wrapper{border:none;border-radius:4px;padding:0}.car-item__color-picker input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.car-item__car--finished{animation:bounce .6s ease-in-out;filter:drop-shadow(4px 4px 12px rgba(76,175,80,.6))}.car-item__car--stopped{animation-play-state:paused}.car-item__finish-line{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3));font-size:2rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}.car-item__status{animation:pulse 1s ease-in-out infinite;border-radius:20px;font-weight:600;margin-top:.5rem;padding:.5rem 1rem;text-align:center}.car-item__status--finished{background:#e8f5e8;border:2px solid #4caf50;color:#2e7d32}.car-item__status-indicator{border-radius:12px;color:#fff;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.car-item__error{animation:shake .5s ease-in-out;background:#ffebee;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:.5rem 1rem}.car-item__status-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:1rem;padding:.75rem}.car-item__status-details{color:#495057;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem}.car-item__status-details span{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:.25rem .5rem}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes bounce{0%,to{transform:translateX(100%) scale(1)}25%{transform:translateX(100%) scale(1.1)}50%{transform:translateX(100%) scale(1.05)}75%{transform:translateX(100%) scale(1.08)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@media (max-width:768px){.car-item__controls{align-items:stretch;flex-direction:column;gap:.5rem}.car-item__name{min-width:auto;text-align:center}.car-item__race-track{flex-direction:column;gap:1rem}.car-item__start-controls{justify-content:center}.car-item__track{width:100%}}@media (max-width:500px){.car-item{padding:1rem}.car-item__btn{font-size:.8rem;padding:.4rem .8rem}.car-item__btn--start,.car-item__btn--stop{font-size:.9rem;height:35px;width:35px}.car-item__btn--drive,.car-item__btn--reset{font-size:.7rem;min-width:50px;padding:.4rem .6rem}.car-item__status-indicator{font-size:.7rem;padding:.2rem .5rem}.car-item__status-details{gap:.5rem}.car-item__status-details span{font-size:.8rem;padding:.2rem .4rem}.car-item__car,.car-item__finish-line{font-size:1.5rem}.car-item__track{height:50px}}.garage{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:calc(100vh - 80px);padding:2rem 0}.garage__container{margin:0 auto;max-width:1200px;padding:0 2rem}.garage__loading{align-items:center;color:#666;display:flex;font-size:1.5rem;height:50vh;justify-content:center}.garage__header{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.garage__title{color:#333;font-size:2.5rem;font-weight:700;margin:0}.garage__page-info{color:#666;font-size:1.2rem;font-weight:500}.garage__winner-banner{animation:celebration 2s ease-in-out infinite alternate;background:linear-gradient(135deg,gold,orange);border-radius:15px;box-shadow:0 4px 15px #ffd7004d;color:#333;font-size:1.5rem;font-weight:700;margin-bottom:2rem;padding:1.5rem;text-align:center}@keyframes celebration{0%{box-shadow:0 4px 15px #ffd7004d;transform:scale(1)}to{box-shadow:0 8px 25px #ffd70080;transform:scale(1.02)}}.garage__controls{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-bottom:2rem;padding:2rem}.garage__control-panel{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem}.garage__car-controls{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:300px}.garage__input{border:2px solid #e1e5e9;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.garage__input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.garage__color-picker{background:none;border:2px solid #e1e5e9;border-radius:8px;cursor:pointer;height:40px;width:50px}.garage__btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.garage__btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.garage__btn:active{transform:translateY(0)}.garage__btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.garage__btn--create{background:#4caf50;color:#fff}.garage__btn--update{background:#2196f3;color:#fff}.garage__btn--race{background:#ff5722;color:#fff}.garage__btn--reset{background:#9e9e9e;color:#fff}.garage__btn--generate{background:#9c27b0;color:#fff}.garage__btn--small{font-size:.9rem;padding:.5rem 1rem}.garage__btn--select{background:#ffc107;color:#333}.garage__btn--remove{background:#f44336;color:#fff}.garage__btn--start{background:#4caf50}.garage__btn--start,.garage__btn--stop{align-items:center;border-radius:50%;color:#fff;display:flex;font-weight:700;height:40px;justify-content:center;width:40px}.garage__btn--stop{background:#f44336}.garage__race-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.garage__cars{display:flex;flex-direction:column;gap:1.5rem}.garage__empty{color:#666;font-size:1.2rem;padding:4rem 2rem;text-align:center}.garage__car-item,.garage__empty{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a}.garage__car-item{padding:1.5rem;transition:transform .3s ease}.garage__car-item:hover{transform:translateY(-2px)}.garage__car-controls-row{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.garage__car-name{color:#333;font-size:1.2rem;font-weight:600}.garage__race-track{align-items:center;display:flex;gap:1rem}.garage__car-start{display:flex;gap:.5rem}.garage__track{align-items:center;background:linear-gradient(90deg,#f0f0f0,#e0e0e0 50%,#f0f0f0);border:2px dashed #ccc;border-radius:30px;display:flex;flex:1 1;height:60px;justify-content:space-between;overflow:hidden;padding:0 1rem;position:relative}.garage__car{font-size:2rem;transition:transform .1s ease;z-index:2}.garage__finish-line{font-size:2rem;z-index:1}.garage__pagination{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;gap:2rem;justify-content:center;margin-top:2rem;padding:1.5rem}.garage__page-indicator{color:#333;font-size:1.1rem;font-weight:600}.garage__btn--next,.garage__btn--prev{background:#667eea;color:#fff}@media (max-width:768px){.garage__container{padding:0 1rem}.garage__header{flex-direction:column;gap:1rem;text-align:center}.garage__title{font-size:2rem}.garage__control-panel{flex-direction:column;gap:1rem}.garage__car-controls{min-width:auto}.garage__race-controls{flex-direction:column}.garage__car-controls-row{flex-wrap:wrap}.garage__race-track{flex-direction:column;gap:1rem}.garage__track{width:100%}}@media (max-width:500px){.garage{padding:1rem 0}.garage__title{font-size:1.5rem}.garage__car-controls{align-items:stretch;flex-direction:column}.garage__btn,.garage__input{width:100%}}.winners{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:calc(100vh - 80px);padding:2rem 0}.winners__container{margin:0 auto;max-width:1200px;padding:0 2rem}.winners__loading{align-items:center;color:#666;display:flex;font-size:1.5rem;height:50vh;justify-content:center}.winners__header{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.winners__title{align-items:center;color:#333;display:flex;font-size:2.5rem;font-weight:700;gap:.5rem;margin:0}.winners__title:before{content:"🏆";font-size:2rem}.winners__page-info{color:#666;font-size:1.2rem;font-weight:500}.winners__empty{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:4rem 2rem;text-align:center}.winners__empty-content h2{color:#333;font-size:2rem;margin-bottom:1rem}.winners__empty-content p{color:#666;font-size:1.2rem;margin:0}.winners__table-container{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;margin-bottom:2rem;overflow:hidden}.winners__table{border-collapse:collapse;font-size:1rem;width:100%}.winners__th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.1rem;font-weight:600;letter-spacing:.5px;padding:1.5rem 1rem;text-align:left;text-transform:uppercase}.winners__th--sortable{cursor:pointer;position:relative;transition:background-color .3s ease;-webkit-user-select:none;user-select:none}.winners__th--sortable:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)}.winners__th--sortable:active{transform:translateY(1px)}.winners__tr{transition:background-color .3s ease}.winners__tr:nth-child(2n){background-color:#f8f9fa}.winners__tr:hover{background-color:#e3f2fd;box-shadow:0 2px 8px #0000001a;transform:scale(1.01)}.winners__td{border-bottom:1px solid #e1e5e9;padding:1.5rem 1rem;vertical-align:middle}.winners__td--name{color:#333;font-size:1.1rem;font-weight:600}.winners__td--wins{color:#4caf50;font-size:1.2rem;font-weight:700;text-align:center}.winners__td--time{color:#ff5722;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;text-align:center}.winners__car-icon{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3));font-size:2rem;text-align:center}.winners__pagination{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;gap:1rem;justify-content:center;padding:1.5rem}.winners__page-numbers{display:flex;gap:.5rem}.winners__btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.winners__btn:hover:not(:disabled){background:#5a6fd8;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.winners__btn:active:not(:disabled){transform:translateY(0)}.winners__btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.winners__btn--page{align-items:center;border-radius:50%;display:flex;height:45px;justify-content:center;padding:0;width:45px}.winners__btn--active{background:#764ba2;box-shadow:0 4px 12px #764ba24d}.winners__btn--next,.winners__btn--prev{min-width:100px}@media (max-width:768px){.winners__container{padding:0 1rem}.winners__header{flex-direction:column;gap:1rem;text-align:center}.winners__title{font-size:2rem}.winners__table-container{overflow-x:auto}.winners__table{min-width:600px}.winners__td,.winners__th{padding:1rem .5rem}.winners__pagination{flex-direction:column;gap:1rem}.winners__page-numbers{order:-1}}@media (max-width:500px){.winners{padding:1rem 0}.winners__title{font-size:1.5rem}.winners__table{font-size:.9rem;min-width:500px}.winners__td,.winners__th{padding:.75rem .25rem}.winners__btn{font-size:.9rem;padding:.5rem 1rem}.winners__btn--page{height:40px;width:40px}.winners__btn--next,.winners__btn--prev{min-width:80px}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.winners__tr{animation:slideIn .3s ease forwards}.winners__tr:first-child{animation-delay:.1s}.winners__tr:nth-child(2){animation-delay:.2s}.winners__tr:nth-child(3){animation-delay:.3s}.winners__tr:nth-child(4){animation-delay:.4s}.winners__tr:nth-child(5){animation-delay:.5s}.winners__tr:nth-child(6){animation-delay:.6s}.winners__tr:nth-child(7){animation-delay:.7s}.winners__tr:nth-child(8){animation-delay:.8s}.winners__tr:nth-child(9){animation-delay:.9s}.winners__tr:nth-child(10){animation-delay:1s}.App{display:flex;flex-direction:column;min-height:100vh}.App__main{display:flex;flex:1 1;flex-direction:column}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}button,input{font-family:inherit}
/*# sourceMappingURL=main.049189b7.css.map*/