*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#0b0b0b;color:#fff;animation:pageLoad .5s ease-out;min-height:100vh;display:flex;flex-direction:column}#root{min-height:100vh;display:flex;flex-direction:column}main{flex:1}html{scroll-behavior:smooth}@keyframes pageLoad{0%{opacity:0}to{opacity:1}}nav{background:linear-gradient(135deg,#0a0a0a,#1a1a1a);padding:0 20px;display:flex;justify-content:center;align-items:center;gap:5px;position:sticky;top:0;z-index:1000;box-shadow:0 4px 20px #c300004d;min-height:60px}.nav-links{display:flex;gap:5px;align-items:center}nav a.menu,nav button.menu{color:#fff;font-weight:600;cursor:pointer;opacity:.85;text-decoration:none;padding:18px 22px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:14px;text-transform:uppercase;letter-spacing:1.5px;border-radius:4px;overflow:hidden;background:none;border:none;font-family:inherit}nav a.menu:before,nav button.menu:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#c3000033,#ff32321a);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:-1;border-radius:4px}nav a.menu:hover:before,nav button.menu:hover:before{transform:scaleX(1);transform-origin:left}nav a.menu:after,nav button.menu:after{content:"";position:absolute;bottom:8px;left:50%;width:0;height:3px;background:linear-gradient(90deg,#c30000,#f44);transition:all .3s cubic-bezier(.4,0,.2,1);transform:translate(-50%);border-radius:2px}nav a.menu:hover:after,nav button.menu:hover:after{width:60%}nav a.menu:hover,nav button.menu:hover{opacity:1;color:#f66;transform:translateY(-2px);text-shadow:0 0 20px rgba(195,0,0,.5)}nav a.menu.active,nav button.menu.active{color:#f44;opacity:1;background:#c3000026}nav a.menu.active:after,nav button.menu.active:after{width:70%;background:linear-gradient(90deg,#f44,#f66);box-shadow:0 0 10px #ff444480}.nav-brand{display:none;color:#f44;font-weight:700;font-size:18px;letter-spacing:2px}.hamburger{display:none;flex-direction:column;cursor:pointer;padding:10px;z-index:1001;gap:5px;background:none;border:none}.hamburger span{width:28px;height:3px;background:#fff;border-radius:3px;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger:hover span{background:#f44}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}@media (max-width: 768px){nav{padding:15px 20px;justify-content:space-between}.nav-brand{display:block}.hamburger{display:flex}.nav-links{position:fixed;top:60px;left:0;right:0;background:linear-gradient(180deg,#0a0a0a,#151515);flex-direction:column;gap:0;padding:0;max-height:0;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 30px #00000080}.nav-links.open{max-height:400px;padding:10px 0}nav a.menu,nav button.menu{width:100%;text-align:center;padding:18px 20px;border-radius:0;border-bottom:1px solid rgba(255,255,255,.05)}nav a.menu:last-child,nav button.menu:last-child{border-bottom:none}nav a.menu:after,nav button.menu:after{bottom:0;height:2px}nav a.menu:hover,nav button.menu:hover{transform:none;background:#c3000033}}header{background:linear-gradient(#000000b3,#000000b3),url(/bmw-m2-banner.jpg);background-size:cover;background-position:center;background-attachment:fixed;padding:200px 20px;text-align:center;position:relative;overflow:hidden}header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.5) 100%);pointer-events:none}header h1{font-size:48px;animation:titleGlow 3s ease-in-out infinite;position:relative;z-index:1;margin:0 0 10px}header h2{color:#c30000;animation:subtitleSlide 1s ease-out forwards;position:relative;z-index:1;border:none;padding:0;margin:0 0 10px}header h2:after{display:none}header p{position:relative;z-index:1;animation:fadeInUp 1.2s ease-out forwards;margin:0}@keyframes titleGlow{0%,to{text-shadow:0 0 20px rgba(195,0,0,.5)}50%{text-shadow:0 0 40px rgba(195,0,0,.8),0 0 60px rgba(195,0,0,.4)}}@keyframes subtitleSlide{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn{background:linear-gradient(135deg,#c30000,#a00000);color:#fff;padding:16px 35px;border-radius:8px;display:inline-block;margin-top:25px;font-weight:700;border:none;cursor:pointer;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);text-decoration:none;text-transform:uppercase;letter-spacing:2px;font-size:14px;z-index:1}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease;z-index:-1}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px #c3000080;background:linear-gradient(135deg,#d40000,#b00000)}.btn:active{transform:translateY(-1px);box-shadow:0 5px 15px #c3000066}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn:disabled:hover{transform:none;box-shadow:none}.btn-secondary{background:linear-gradient(135deg,#333,#222)}.btn-secondary:hover{background:linear-gradient(135deg,#444,#333);box-shadow:0 10px 30px #00000080}.btn-small{padding:8px 16px;font-size:12px;margin-top:0}section{padding:70px 20px;max-width:1100px;margin:auto;animation:sectionReveal .6s ease-out forwards}@keyframes sectionReveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}h2{border-left:5px solid #c30000;padding-left:15px;margin-bottom:25px;position:relative;transition:all .3s ease}h2:after{content:"";position:absolute;bottom:-5px;left:15px;width:0;height:2px;background:linear-gradient(90deg,#c30000,transparent);transition:width .5s ease}h2:hover:after{width:50%}.card{background:linear-gradient(145deg,#1a1a1a,#161616);padding:20px;border-radius:12px;margin-bottom:15px;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(195,0,0,.1)}.card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(195,0,0,.1),transparent);transition:left .5s ease}.card:hover:before{left:100%}.card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 15px 40px #c300004d;border-color:#c3000066;background:linear-gradient(145deg,#1e1e1e,#1a1a1a)}.card:active{transform:translateY(-2px) scale(1.01)}.top3{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;perspective:1000px}.top3 .card{width:220px;text-align:center;padding:30px 20px;transform-style:preserve-3d;animation:floatIn .8s ease-out forwards;opacity:0;cursor:pointer}.top3 .card:nth-child(1){animation-delay:.2s;background:linear-gradient(145deg,#2a2a00,#1a1a00);border:2px solid rgba(255,215,0,.3)}.top3 .card:nth-child(1):hover{box-shadow:0 0 50px #ffd70066;border-color:#ffd70099}.top3 .card:nth-child(2){animation-delay:.4s;background:linear-gradient(145deg,#252525,#1a1a1a);border:2px solid rgba(192,192,192,.3)}.top3 .card:nth-child(2):hover{box-shadow:0 0 50px #c0c0c066;border-color:#c0c0c099}.top3 .card:nth-child(3){animation-delay:.6s;background:linear-gradient(145deg,#2a1a0a,#1a1000);border:2px solid rgba(205,127,50,.3)}.top3 .card:nth-child(3):hover{box-shadow:0 0 50px #cd7f3266;border-color:#cd7f3299}@keyframes floatIn{0%{opacity:0;transform:translateY(50px) rotateX(20deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}p.notice{text-align:center;font-size:18px;margin-top:15px;color:#fc0;animation:pulse 2s ease-in-out infinite;padding:15px;background:#ffcc001a;border-radius:8px;border:1px solid rgba(255,204,0,.2)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}ol.ranking{font-size:20px;line-height:2;counter-reset:ranking;list-style:none;padding-left:0;margin:0}ol.ranking li{counter-increment:ranking;padding:15px 20px 15px 70px;margin-bottom:10px;background:linear-gradient(145deg,#1a1a1a,#161616);border-radius:10px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(195,0,0,.1);cursor:pointer}ol.ranking li:before{content:counter(ranking);position:absolute;left:15px;top:50%;transform:translateY(-50%);width:40px;height:40px;background:linear-gradient(135deg,#c30000,#a00000);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;transition:all .3s ease}ol.ranking li:hover{transform:translate(10px);background:linear-gradient(145deg,#1e1e1e,#1a1a1a);box-shadow:0 5px 20px #c3000033;border-color:#c300004d}ol.ranking li:hover:before{transform:translateY(-50%) scale(1.1);box-shadow:0 0 15px #c3000080}ol.ranking li:nth-child(1):before{background:linear-gradient(135deg,gold,orange)}ol.ranking li:nth-child(2):before{background:linear-gradient(135deg,silver,#a0a0a0)}ol.ranking li:nth-child(3):before{background:linear-gradient(135deg,#cd7f32,sienna)}ul.rules{list-style:none;padding-left:0;margin:0}ul.rules li{padding:18px 20px 18px 50px;margin-bottom:12px;background:linear-gradient(145deg,#1a1a1a,#161616);border-radius:10px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid rgba(195,0,0,.1)}ul.rules li:before{content:"✓";position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#00c300;font-weight:700;font-size:18px;transition:all .3s ease}ul.rules li:hover{transform:translate(10px);background:linear-gradient(145deg,#1e1e1e,#1a1a1a);box-shadow:0 5px 20px #00c3001a;border-color:#00c3004d}ul.rules li:hover:before{transform:translateY(-50%) scale(1.2);color:#0f0}form{animation:formSlideIn .6s ease-out forwards;max-width:500px}@keyframes formSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}form input,form select{width:100%;padding:15px 18px;margin-bottom:15px;border:2px solid rgba(195,0,0,.2);border-radius:8px;background:#1a1a1a;color:#fff;font-size:16px;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none}form input:focus,form select:focus{border-color:#c30000;box-shadow:0 0 20px #c300004d;background:#1e1e1e;transform:scale(1.02)}form input:hover,form select:hover{border-color:#c3000066;background:#1c1c1c}form input::placeholder{color:#ffffff80;transition:all .3s ease}form input:focus::placeholder{opacity:0;transform:translate(10px)}form select option{background:#1a1a1a;color:#fff}footer{background:linear-gradient(180deg,#0a0a0a,#000);text-align:center;padding:30px;position:relative;overflow:hidden}footer:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#c30000,transparent)}.particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:hidden}.particle{position:absolute;width:4px;height:4px;background:#c3000099;border-radius:50%;animation:particleFloat 15s linear infinite}@keyframes particleFloat{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) rotate(720deg);opacity:0}}.stage-card{opacity:0;animation:stageSlideIn .5s ease-out forwards}@keyframes stageSlideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.points-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;max-width:800px}.points-rest{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;max-width:600px;margin:0 auto}.points-box{background:linear-gradient(145deg,#1a1a1a,#141414);border:1px solid #333;border-radius:8px;padding:12px 20px;text-align:center;min-width:70px;opacity:0;animation:pointsBoxIn .5s ease-out forwards;transition:all .3s ease;cursor:default}.points-box:hover{transform:translateY(-3px) scale(1.05);border-color:#c3000080;box-shadow:0 5px 20px #c3000033;background:linear-gradient(145deg,#1e1e1e,#1a1a1a)}.points-box-place{font-size:12px;color:#666;transition:color .3s ease}.points-box:hover .points-box-place{color:#888}.points-box-value{font-size:18px;font-weight:700;transition:color .3s ease}.points-box:hover .points-box-value{color:#c30000}@keyframes pointsBoxIn{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.iracing-info{margin-top:50px;padding:15px 20px;text-align:center;background:linear-gradient(145deg,#ffcc0026,#ffcc000d);border:2px solid rgba(255,204,0,.4);border-radius:10px;color:#fc0;font-weight:700;animation:infoSlideIn .6s ease-out,infoPulse 2.5s ease-in-out infinite .6s}.iracing-info strong{color:#fff}@keyframes infoSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes infoPulse{0%,to{box-shadow:0 0 10px #fc03;border-color:#fc06}50%{box-shadow:0 0 25px #ffcc0080;border-color:#ffcc00b3}}.points-grid .card{text-align:center;padding:15px}.loading{text-align:center;padding:40px;color:#888}.loading-spinner{display:inline-block;width:40px;height:40px;border:3px solid rgba(195,0,0,.3);border-radius:50%;border-top-color:#c30000;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{background:#ff00001a;border:1px solid rgba(255,0,0,.3);color:#f66;padding:15px;border-radius:8px;margin-bottom:15px}.success{background:#00ff001a;border:1px solid rgba(0,255,0,.3);color:#6f6;padding:15px;border-radius:8px;margin-bottom:15px}.admin-container{min-height:100vh;display:flex}.admin-sidebar{width:250px;background:#111;padding:20px;border-right:1px solid #333;display:flex;flex-direction:column;position:relative}.admin-sidebar h2{border:none;padding:0;margin-bottom:30px;font-size:18px;color:#c30000}.admin-sidebar h2:after{display:none}.admin-sidebar .close-btn{display:none;background:none;border:none;color:#888;font-size:24px;cursor:pointer;position:absolute;top:15px;right:15px}.admin-sidebar .close-btn:hover{color:#fff}.admin-sidebar nav{display:flex;flex-direction:column;gap:5px;background:none;padding:0;position:static;box-shadow:none;min-height:auto}.admin-sidebar nav a{display:block;color:#ccc;text-decoration:none;padding:12px 15px;border-radius:6px;font-size:14px}.admin-sidebar nav a:hover{background:#222;color:#fff}.admin-sidebar nav a.active{background:#222;color:#fff;border-left:3px solid #c30000}.admin-content{flex:1;padding:30px;overflow-y:auto;background:#0b0b0b}.admin-content h2{border:none;padding:0;margin-bottom:20px}.admin-content h2:after{display:none}.admin-content .card{background:#1a1a1a;border:1px solid #333}.admin-content .card:before{display:none}.admin-content .card:hover{transform:none;box-shadow:none;border-color:#444}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-table{width:100%;border-collapse:collapse;background:#1a1a1a;border-radius:8px;overflow:hidden}.admin-table th,.admin-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #333}.admin-table th{background:#222;font-weight:600;color:#ccc;font-size:13px;text-transform:uppercase}.admin-table tr:hover{background:#222}.admin-table input{background:#222;border:1px solid rgba(195,0,0,.3);color:#fff;padding:8px 12px;border-radius:4px;width:80px}.admin-table input:focus{outline:none;border-color:#c30000}.status-pending{color:#fc0}.status-approved{color:#0c0}.status-rejected{color:#c00}.admin-actions{display:flex;gap:8px}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center}.admin-login-box{background:#111;padding:40px;border-radius:12px;width:100%;max-width:400px;border:1px solid rgba(195,0,0,.2)}.admin-login-box h1{text-align:center;margin-bottom:30px}.counter-badge{display:inline-block;background:#c300004d;padding:5px 15px;border-radius:20px;font-size:14px;margin-left:10px}.counter-badge.full{background:#ff00004d;color:#f66}.admin-mobile-header{display:none;background:#111;padding:15px 20px;justify-content:space-between;align-items:center;border-bottom:1px solid #333}.admin-mobile-header h2{margin:0;font-size:16px;color:#c30000;border:none;padding:0}.admin-mobile-header h2:after{display:none}.admin-menu-toggle{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:5px}.admin-sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:998}.admin-sidebar-overlay.open{display:block}@media (max-width: 768px){.admin-mobile-header{display:flex}.admin-container{flex-direction:column}.admin-sidebar{position:fixed;top:0;left:-280px;width:280px;height:100vh;z-index:999;transition:left .3s ease;padding-top:20px}.admin-sidebar.open{left:0}.admin-sidebar .close-btn{display:block}.admin-content{padding:20px 15px;min-height:calc(100vh - 60px)}.admin-header{flex-direction:column;align-items:flex-start;gap:15px}.admin-header h2{font-size:20px}.admin-table-wrapper{overflow-x:auto;margin:0 -15px;padding:0 15px}.admin-table{min-width:500px}.admin-table th,.admin-table td{padding:10px 12px;font-size:13px}.admin-actions{flex-direction:column;gap:5px}.admin-actions .btn{width:100%;text-align:center}.admin-login-box{margin:20px;padding:30px 20px}.admin-content .card form{max-width:100%}.admin-content .card form>div{grid-template-columns:1fr!important}}.seasons-list{display:flex;flex-direction:column;gap:15px}.season-card{background:linear-gradient(145deg,#1a1a1a,#0d0d0d);border:1px solid #333;border-radius:12px;overflow:hidden;transition:border-color .3s ease}.season-card:hover{border-color:#c30000}.season-header{display:flex;justify-content:space-between;align-items:center;padding:20px;cursor:pointer;transition:background .3s ease}.season-header:hover{background:#c300001a}.season-info h3{margin:0 0 5px;font-size:18px;color:#fff}.season-info p{margin:0;color:#888;font-size:14px}.season-status{display:flex;align-items:center;gap:15px}.badge{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.badge.active{background:#00c85333;color:#00c853;border:1px solid rgba(0,200,83,.3)}.badge.archived{background:#96969633;color:#999;border:1px solid rgba(150,150,150,.3)}.expand-icon{font-size:24px;color:#c30000;font-weight:700;width:30px;text-align:center}.season-details{padding:0 20px 20px;border-top:1px solid #333;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.season-section{margin-top:20px}.season-section h4{color:#c30000;margin:0 0 15px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.mini-standings{display:flex;flex-direction:column;gap:6px}.mini-standings.scrollable{max-height:350px;overflow-y:auto;padding-right:10px}.mini-standings.scrollable::-webkit-scrollbar{width:6px}.mini-standings.scrollable::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.mini-standings.scrollable::-webkit-scrollbar-thumb{background:#c30000;border-radius:3px}.mini-standings.scrollable::-webkit-scrollbar-thumb:hover{background:#e00}.mini-standing{display:flex;align-items:center;padding:8px 15px;background:#222;border-radius:6px}.standing-pos{color:#c30000;font-weight:700;width:30px}.standing-name{flex:1;color:#fff}.standing-points{color:#888;font-size:13px}.no-data{color:#666;font-style:italic;margin:0}
