:root{font-family:Momo Trust Display,system-ui,-apple-system,sans-serif;font-size:18px;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#0d0d0d;overflow-y:scroll}html::-webkit-scrollbar,body::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:#0f0f0f}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#242424,#151515);border-radius:10px;border:2px solid #0f0f0f}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#2a2a2a,#1a1a1a)}html,body{scrollbar-width:thin;scrollbar-color:#1f1f1f #0f0f0f}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{width:100%;margin:0 auto;padding-top:calc(2rem + 48px);text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.navbar{--accent: #8ACF8A;--accent-glow: rgba(138,207,138,.35);--bg: rgba(15,15,15,.85);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);background:var(--bg);border-bottom:1px solid rgba(255,255,255,.06);position:fixed;top:0;left:0;right:0;z-index:10000;pointer-events:auto;display:flex;justify-content:center;animation:navFade .5s ease}.nav-container{width:100%;max-width:1280px;padding:0 28px;height:60px;display:flex;align-items:center;justify-content:space-between}.logo-brand{display:flex;align-items:center;gap:10px;text-decoration:none;position:relative;transition:transform .35s ease}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:.5px;background:linear-gradient(90deg,#fff,#cfe9cf 55%,#8acf8a);-webkit-background-clip:text;background-clip:text;color:transparent}.nav-logo-img{height:40px;width:40px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));transition:transform .4s ease}.logo-brand:hover .nav-logo-img{transform:scale(1.08) rotate(-4deg)}.logo-brand:hover .logo-text{filter:brightness(1.15)}.spin-on-hover:hover{transform:rotate(-2deg) scale(1.02)}.nav-links{display:flex;align-items:center;gap:4px}.nav-link{position:relative;padding:8px 14px;text-decoration:none;color:#ddd;font-size:.95rem;font-weight:500;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .25s ease,background .25s ease}.nav-link:hover{color:#fff;background:#ffffff0d}.nav-link.active{color:#fff;background:#8acf8a1f}.nav-underline{position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.65,.05,.36,1);border-radius:4px;box-shadow:0 0 6px var(--accent-glow)}.nav-link:hover .nav-underline,.nav-link.active .nav-underline{transform:scaleX(1)}.nav-auth-group{display:flex;align-items:center;margin-left:12px;gap:10px}.user-info{background:#ffffff0f;padding:6px 12px;border-radius:20px;font-size:.85rem;color:#eaeaea;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeSlide .6s ease}.logout-btn{background:var(--accent);color:#0f2a0f;font-weight:600;border:none;padding:8px 16px;border-radius:14px;cursor:pointer;position:relative;isolation:isolate;transition:background .35s ease,transform .25s ease;box-shadow:0 3px 10px -2px var(--accent-glow)}.logout-btn:hover{background:#74bd74;transform:translateY(-2px)}.logout-btn:active{transform:translateY(0)}@keyframes navFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlide{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@media(max-width:820px){.nav-container{padding:0 16px;height:56px}.nav-link{padding:6px 10px;font-size:.8rem}.logo-text{font-size:1.05rem}.nav-logo-img{height:34px;width:34px}.user-info{display:none}}@media(max-width:540px){.nav-links{gap:2px}.logout-btn{padding:6px 12px;font-size:.75rem}}.upload-container{background:#0d0d0d;padding:30px 24px;text-align:center;animation:fadeIn .6s ease;--page-scale: .75;transform:scale(var(--page-scale));transform-origin:top center;max-width:1400px;margin:0 auto;overflow-x:hidden}.upload-container h1{margin:0 0 12px;font-size:2.75rem;font-weight:800;letter-spacing:.5px;background:linear-gradient(90deg,#d9f6d9,#9dd49d,#d9f6d9);-webkit-background-clip:text;background-clip:text;color:transparent;animation:slideDown .7s ease}.upload-subtitle{font-size:1.5rem;line-height:1.6;font-weight:500;color:#b7c3b7;margin-bottom:40px;animation:slideDown .8s ease}.upload-form{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:700px;margin:0 auto}.upload-form input[type=text]{width:100%;padding:16px 20px;background:#161616;border:1px solid #232323;border-radius:14px;font-size:1rem;color:#e6e6e6;font-family:inherit;transition:all .3s ease;animation:slideUp .8s ease}.upload-form input[type=text]:focus{outline:none;border-color:#3b7a3b;box-shadow:0 0 0 3px #3b7a3b26;transform:translateY(-2px)}.upload-form input[type=text]::placeholder{color:#6a6a6a}.dropzone{position:relative;width:100%;border:2px dashed #2a2a2a;border-radius:16px;background:#161616;padding:50px 30px;transition:all .35s cubic-bezier(.4,0,.2,1);animation:slideUp .9s ease}.dropzone:hover{border-color:#3b7a3b;background:#1a1a1a;box-shadow:0 10px 30px -12px #3b7a3b40;transform:translateY(-4px)}.dropzone.active{border-color:#4a9a4a;background:#1e1e1e;box-shadow:0 0 0 4px #3b7a3b33;transform:scale(1.02)}.hidden-input{display:none}.file-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;width:100%;cursor:pointer;padding:20px;transition:transform .3s ease}.file-label:hover{transform:scale(1.03)}.file-label svg{transition:all .4s ease;color:#4a4a4a}.dropzone:hover .file-label svg{color:#5a9a5a;transform:scale(1.1) rotate(5deg)}.file-label-text{margin-top:8px}.file-label-text strong{font-size:1.35rem;line-height:1.4;color:#d1e8d1;font-weight:700;display:block;margin-bottom:6px}.file-name{margin-top:12px;padding:8px 16px;background:#3b7a3b26;border-radius:10px;font-size:.9rem;color:#9dd49d;font-weight:600;animation:bounceIn .5s ease}.upload-button-inside{padding:14px 48px;background:linear-gradient(135deg,#3b7a3b,#2f612f);color:#f1fff1;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:20px;box-shadow:0 8px 20px -8px #3b7a3b80;position:relative;overflow:hidden}.upload-button-inside:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.upload-button-inside:hover:before{width:300px;height:300px}.upload-button-inside:hover:not(:disabled){background:linear-gradient(135deg,#4a9a4a,#3b7a3b);transform:translateY(-3px);box-shadow:0 12px 28px -10px #3b7a3ba6}.upload-button-inside:active:not(:disabled){transform:translateY(-1px)}.upload-button-inside:disabled{background:#2a2a2a;color:#6a6a6a;cursor:not-allowed;opacity:.5;box-shadow:none}@keyframes bounceIn{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media(max-width:640px){.upload-container{padding:84px 16px 28px;transform:none}.upload-container h1{font-size:2rem}.dropzone{padding:40px 20px}.upload-button-inside{padding:12px 36px;font-size:.95rem}}.home-page{background:#0d0d0d;min-height:100vh;color:#e6e6e6;display:flex;flex-direction:column}.home-hero{padding:96px 24px 30px;text-align:center;background:linear-gradient(180deg,#0d0d0d,#121212 55%,#0d0d0d)}.home-logo-wrapper{display:flex;justify-content:center;margin-bottom:14px}.home-logo{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(59,122,59,.25));border-radius:14px}.home-logo:hover{transform:translateY(-2px) scale(1.02);transition:transform .25s ease}.home-title{margin:0;font-size:2.75rem;font-weight:800;letter-spacing:.5px;background:linear-gradient(90deg,#d9f6d9,#9dd49d,#d9f6d9);-webkit-background-clip:text;background-clip:text;color:transparent}.home-sub{margin:10px 0 22px;color:#b7c3b7;font-size:1.5rem;line-height:1.6;font-weight:500}.home-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.hero-btn{text-decoration:none;padding:12px 22px;border-radius:999px;font-weight:700;font-size:.95rem;transition:background .25s ease,box-shadow .25s ease}.hero-btn.accent{background:#3b7a3b;color:#f1fff1;box-shadow:0 8px 22px -10px #3b7a3b8c}.hero-btn.accent:hover{background:#2f612f}.hero-btn.outline{border:1px solid #2e2e2e;color:#e6e6e6;background:#1a1a1a}.hero-btn.outline:hover{background:#222}.challenge-section{width:100%;max-width:1200px;margin:30px auto 60px;padding:0 20px}.empty{text-align:center;padding:40px 0;color:#8b938b}.challenge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.challenge-card{background:#161616;border:1px solid #232323;border-radius:16px;padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.challenge-card:hover{border-color:#2d2d2d;box-shadow:0 10px 26px -16px #000000a6}.video-shell{aspect-ratio:9/16;background:#0b0b0b;border-radius:10px;overflow:hidden}.challenge-video{width:100%;height:100%;object-fit:cover;display:block}.challenge-video::-webkit-media-controls{display:none!important}.placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#777}.challenge-title{margin:0;font-size:1rem;font-weight:600;color:#d1e8d1}.challenge-meta{margin:0;font-size:.75rem;color:#8b938b;letter-spacing:.5px}.play-btn{align-self:center;text-align:center;text-decoration:none;background:#245524;color:#eaffea;padding:6px 12px;font-size:.8rem;font-weight:700;border-radius:10px;transition:background .25s ease,transform .25s ease}.play-btn:hover{background:#2f6b2f;transform:translateY(-2px);color:#eaffea}.play-btn:focus,.play-btn:active{color:#eaffea}.animate-on-scroll{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.leaderboard-section{max-width:1200px;margin:60px auto;padding:0 20px}.site-footer{margin-top:auto;background:#121212;border-top:1px solid #1f1f1f;padding:36px 24px 42px;color:#9ea49e;font-size:.8rem}.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:18px;align-items:center}.brand{font-size:1.1rem;font-weight:700;letter-spacing:.5px;color:#d1e8d1}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{color:#b7c3b7;text-decoration:none;font-size:.75rem}.footer-links a:hover{color:#d1e8d1}.copy{font-size:.7rem}@media(max-width:640px){.home-title{font-size:2.1rem}.home-logo{width:72px;height:72px}.challenge-grid{gap:16px}}.lb{margin-top:16px;font-family:Momo Trust Display,system-ui,-apple-system,sans-serif}.lb__title{margin:0 0 16px;font-size:1.4rem;font-weight:700;color:#d1e8d1;letter-spacing:.3px}.lb__tableWrap{border:1px solid #232323;border-radius:14px;overflow:hidden;background:#161616;box-shadow:0 4px 16px #0000004d}.lb__table{width:100%;border-collapse:collapse}.lb__table thead th{text-align:left;padding:14px 16px;font-weight:700;color:#9dd49d;background:#1a1a1a;border-bottom:1px solid #2a2a2a;font-size:.95rem;letter-spacing:.5px}.lb__table tbody td{padding:14px 16px;border-bottom:1px solid #1e1e1e;color:#b7c3b7}.lb__table tbody tr{transition:background .2s ease}.lb__table tbody tr:hover{background:#1a1a1a}.lb__rank{color:#e6e6e6;font-weight:600}.lb__medal{display:inline-block;min-width:1.5rem;text-align:center}.w-rank{width:60px}.w-pp{width:70px}.w-watch{width:100px}.lb__watchBtn{padding:8px 14px;border-radius:10px;border:1px solid #2a2a2a;background:#232323;color:#d1e8d1;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s ease}.lb__watchBtn:hover{background:#2a2a2a;border-color:#3b7a3b;transform:translateY(-2px);box-shadow:0 4px 12px #3b7a3b4d}.lb__empty{text-align:center;color:#6a6a6a;padding:24px;font-style:italic}.lb__modalOverlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;animation:fadeIn .3s ease}.lb__modal{width:100%;max-width:920px;background:#161616;border:1px solid #232323;border-radius:16px;padding:20px;box-shadow:0 20px 60px #00000080;animation:slideUp .4s ease}.lb__modalHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.lb__modalTitle{margin:0;font-size:1.3rem;font-weight:700;color:#d1e8d1}.lb__close{border:none;background:#232323;color:#b7c3b7;font-size:24px;cursor:pointer;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.lb__close:hover{background:#2a2a2a;color:#d9f6d9;transform:rotate(90deg)}.lb__videos{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lb__videoLabel{margin:0 0 10px;color:#9dd49d;font-weight:700;font-size:1rem;letter-spacing:.3px}.lb__video{width:100%;aspect-ratio:9 / 16;object-fit:cover;border-radius:12px;outline:none;background:#0d0d0d;border:1px solid #232323;max-height:400px}.lb__scoreText{margin-top:16px;color:#e6e6e6;padding:12px;background:#1a1a1a;border-radius:10px;border:1px solid #232323}.lb__scoreTag{background:#3b7a3b26;border:1px solid #2a2a2a;border-radius:8px;padding:4px 10px;margin-right:8px;font-family:Momo Trust Display,system-ui,-apple-system,sans-serif;font-size:.9rem;color:#9dd49d;font-weight:600}.lb__pp-cell{text-align:center}.lb__pp-badge{display:inline-block;background:linear-gradient(135deg,#4ade80,#22c55e);color:#0d0d0d;font-size:.75rem;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.3px}.lb__pp-none{color:#6a6a6a;font-size:.8rem}@media(max-width:768px){.lb__videos{grid-template-columns:1fr}.lb__video{max-height:450px}.lb__modal{padding:16px}.lb__modalTitle{font-size:1.1rem}}.challenge{max-width:1000px;margin:0 auto;padding:66px 20px 20px;font-family:Momo Trust Display,system-ui,-apple-system,sans-serif;background:#0d0d0d;min-height:100vh;color:#e6e6e6;animation:fadeIn .6s ease;transform:scale(.9);transform-origin:top center}.challenge__header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px;animation:slideDown .7s ease}.challenge__title{margin:0;font-size:1.8rem;font-weight:800;letter-spacing:.5px;background:linear-gradient(90deg,#d9f6d9,#9dd49d,#d9f6d9);-webkit-background-clip:text;background-clip:text;color:transparent}.challenge__meta{margin:8px 0 0;color:#8b938b;font-size:.95rem}.challenge__pane{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-bottom:20px;animation:slideUp .8s ease}.pane__left,.pane__right{border:1px solid #232323;border-radius:14px;padding:14px;background:#161616;transition:all .3s ease}.pane__left:hover,.pane__right:hover{border-color:#2a2a2a;transform:translateY(-2px);box-shadow:0 8px 24px #0006}.pane__label{margin:0 0 10px;color:#d1e8d1;font-weight:700;font-size:.95rem;letter-spacing:.3px}.pane__video{width:100%;aspect-ratio:9 / 16;object-fit:cover;border-radius:12px;outline:none;background:#0d0d0d;transition:transform .3s ease;height:auto;max-width:280px;margin:0 auto;display:block;transform:scaleX(-1)}.video-controls{max-width:350px;margin:8px auto 0;display:flex;align-items:center;gap:4px;font-size:.7rem;background:#141414;padding:6px 10px;border-radius:10px;border:1px solid #232323}.video-controls button{background:#2f612f;border:none;color:#d9f6d9;padding:4px 8px;font-size:.7rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.video-controls button:hover{background:#3b7a3b}.video-controls input[type=range]{flex:1;accent-color:#3b7a3b;cursor:pointer}.video-time{min-width:70px;text-align:right;color:#8b938b;white-space:nowrap;font-size:.65rem}.video-container canvas{transform:scaleX(-1)}.pane__video:hover{transform:scaleX(-1) scale(1.01)}.input{width:100%;padding:14px 18px;margin:10px 0;border:1px solid #232323;border-radius:12px;font-size:.95rem;background:#0d0d0d;color:#e6e6e6;font-family:inherit;transition:all .3s ease}.input:focus{outline:none;border-color:#3b7a3b;box-shadow:0 0 0 3px #3b7a3b26;transform:translateY(-2px)}.input::placeholder{color:#6a6a6a}.btn{width:100%;padding:12px 18px;border:none;background:linear-gradient(135deg,#3b7a3b,#2f612f);color:#f1fff1;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 20px -8px #3b7a3b80;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn:hover:before{width:300px;height:300px}.btn:hover:not(:disabled){background:linear-gradient(135deg,#4a9a4a,#3b7a3b);transform:translateY(-3px);box-shadow:0 12px 28px -10px #3b7a3ba6}.btn:active:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;background:#2a2a2a;color:#6a6a6a;box-shadow:none}.error{color:#ff6b6b;margin-top:12px;padding:10px 14px;background:#ff6b6b1a;border-radius:8px;border-left:3px solid #ff6b6b;font-size:.9rem;animation:shake .4s ease}.challenge__leaderboard{margin-top:20px;animation:slideUp .9s ease}.video-container{position:relative;width:100%;max-width:280px;margin:0 auto 16px;overflow:hidden;border-radius:12px}.countdown-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0d0d0de6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#d9f6d9;font-size:4rem;font-weight:800;border-radius:12px;z-index:5;animation:pulse 1s ease-in-out infinite;overflow:hidden;pointer-events:none}.score-overlay{position:absolute;top:10px;right:10px;padding:8px 14px;background:#0d0d0dd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#9dd49d;font-size:1.1rem;font-weight:700;border-radius:8px;border:1px solid rgba(59,122,59,.5);z-index:3;animation:fadeIn .3s ease;pointer-events:none}.btn-stop{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 20px -8px #dc262680}.btn-stop:hover:not(:disabled){background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 12px 28px -10px #dc2626a6}.preview{margin-top:16px;border-top:1px solid #232323;padding-top:16px}.preview-score{margin:8px 0 12px;padding:12px 16px;background:#3b7a3b26;border:1px solid #2a2a2a;border-radius:10px;color:#d1e8d1;font-size:1.05rem;text-align:center}.preview-score strong{color:#9dd49d;font-size:1.2rem}.loading-message{padding:10px 14px;background:#3b7a3b26;border:1px solid #2a2a2a;border-radius:10px;color:#9dd49d;font-size:.9rem;text-align:center;margin-bottom:12px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@media(max-width:768px){.challenge{padding:70px 16px 24px}.challenge__title{font-size:1.8rem}.challenge__pane{grid-template-columns:1fr;gap:20px}.countdown-overlay{font-size:3.5rem}.pane__left,.pane__right{padding:16px}}@media(max-width:480px){.challenge__title{font-size:1.5rem}.countdown-overlay{font-size:2.5rem}.btn{padding:12px 18px;font-size:.95rem}}.global-leaderboard{max-width:900px;margin:0 auto;padding:40px 24px;background:linear-gradient(135deg,#0d0d0d,#1a1a1a);border-radius:20px;box-shadow:0 10px 40px #00000080;opacity:0;visibility:hidden}.global-leaderboard.animate-fade-in{animation:fadeIn .8s ease forwards;visibility:visible}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;flex-wrap:wrap;gap:16px;opacity:0}.leaderboard-header.animate-slide-down{animation:slideDown .7s ease .2s forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.leaderboard-header h2{margin:0;background:linear-gradient(90deg,#d9f6d9,#9dd49d,#d9f6d9);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2rem;font-weight:800;letter-spacing:.5px;text-shadow:0 2px 8px rgba(157,212,157,.3)}.leaderboard-controls{display:flex;align-items:center;gap:12px}.time-filters{display:flex;gap:4px;background:#1a1a1a;border-radius:8px;padding:4px}.filter-btn{padding:8px 16px;border:none;background:transparent;color:#9dd49d;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.filter-btn:hover{background:#2a2a2a;color:#d9f6d9}.filter-btn.active{background:#3b7a3b;color:#fff;box-shadow:0 2px 8px #3b7a3b4d}.refresh-btn{padding:8px 12px;border:none;background:#2a2a2a;color:#9dd49d;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s ease}.refresh-btn:hover{background:#3b7a3b;color:#fff;transform:rotate(90deg)}.user-rank-card{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#3b7a3b,#2f612f);border:2px solid #4ade80;border-radius:14px;padding:20px 24px;box-shadow:0 6px 20px #4ade8033;transition:box-shadow .3s ease;opacity:0}.user-rank-card.animate-slide-up{animation:slideUp .7s ease .3s forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-rank-card:hover{box-shadow:0 8px 28px #4ade8059;transform:translateY(-2px)}.rank-info{display:flex;align-items:center;gap:16px}.user-position{font-size:1.5rem;font-weight:800;color:#fff;background:#ffffff1a;padding:8px 12px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-details{display:flex;flex-direction:column}.rank-label{font-size:.9rem;color:#d9f6d9;font-weight:600}.percentile{font-size:.8rem;color:#9dd49d}.total-players{font-size:.85rem;color:#9dd49d;opacity:.8}.leaderboard-list{display:flex;flex-direction:column;gap:12px;margin-top:24px;opacity:0;animation:fadeIn .5s ease .4s forwards}.leaderboard-item{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#1a1a1a,#161616);border:1px solid #2a2a2a;border-radius:14px;padding:18px 20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;opacity:0;transform:translate(-20px)}.leaderboard-item.visible{animation:slideInLeft .5s ease forwards}@keyframes slideInLeft{to{opacity:1;transform:translate(0)}}.leaderboard-item:nth-child(1){animation-delay:.1s}.leaderboard-item:nth-child(2){animation-delay:.15s}.leaderboard-item:nth-child(3){animation-delay:.2s}.leaderboard-item:nth-child(4){animation-delay:.25s}.leaderboard-item:nth-child(5){animation-delay:.3s}.leaderboard-item:nth-child(n+6){animation-delay:.35s}.leaderboard-item:hover{background:linear-gradient(135deg,#2a2a2a,#252525);border-color:#3b7a3b;transform:translateY(-3px) scale(1.01);box-shadow:0 12px 32px #3b7a3b40}.leaderboard-item.current-user{background:linear-gradient(135deg,#3b7a3b26,#2d5a2d1a);border-color:#4ade80;box-shadow:0 6px 20px #4ade8033}.leaderboard-item.current-user:hover{box-shadow:0 12px 32px #4ade8059}.rank-position{flex-shrink:0;width:60px;text-align:center}.position-badge{font-size:1.2rem;font-weight:800;color:#d9f6d9}.player-info{flex:1;min-width:0}.player-name{font-size:1rem;font-weight:700;color:#d9f6d9;margin-bottom:4px;display:flex;align-items:center;gap:8px}.you-badge{background:#4ade80;color:#0d0d0d;font-size:.7rem;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.5px}.player-tier{display:flex;align-items:center}.tier-badge{font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:4px}.player-stats{display:flex;align-items:center;gap:16px}.pp-score{display:flex;flex-direction:column;align-items:center;text-align:center}.pp-value{font-size:1.1rem;font-weight:800;color:#4ade80}.pp-label{font-size:.7rem;color:#9dd49d;letter-spacing:.5px}.recent-activity{display:flex;flex-direction:column}.recent-scores{display:flex;gap:6px}.recent-score{display:flex;flex-direction:column;align-items:center;background:#3b7a3b1a;border-radius:6px;padding:4px 6px;min-width:40px}.score-value{font-size:.75rem;font-weight:600;color:#d9f6d9}.score-pp{font-size:.65rem;color:#4ade80}.view-profile{flex-shrink:0;opacity:.5;transition:opacity .2s ease}.leaderboard-item:hover .view-profile{opacity:1}.profile-arrow{font-size:1.2rem;color:#9dd49d}.leaderboard-footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid #2a2a2a;opacity:0;animation:fadeIn .8s ease .5s forwards}.leaderboard-footer p{margin:0 0 12px;color:#9dd49d;font-size:.9rem}.view-more-btn{background:linear-gradient(135deg,#3b7a3b,#2d5a2d);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3b7a3b33}.view-more-btn:hover{background:linear-gradient(135deg,#4ade80,#3b7a3b);transform:translateY(-2px);box-shadow:0 6px 20px #3b7a3b4d}.loading-state{text-align:center;padding:40px 20px}.loading-spinner{width:40px;height:40px;border:3px solid #2a2a2a;border-top:3px solid #4ade80;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-state p{color:#9dd49d;font-size:.9rem}.empty-state{text-align:center;padding:40px 20px;color:#9dd49d;font-size:1rem}@media(max-width:768px){.global-leaderboard{padding:16px;margin:0 16px}.leaderboard-header{flex-direction:column;align-items:stretch}.leaderboard-controls{justify-content:space-between}.time-filters{flex:1}.filter-btn{flex:1;text-align:center}.leaderboard-item{padding:12px;gap:12px}.player-stats{flex-direction:column;gap:8px;align-items:center}.recent-scores{justify-content:center}.user-rank-card{flex-direction:column;gap:12px;text-align:center}}.leaderboard-page{padding:10px 20px 40px;max-width:1200px;margin:0 auto}.page-header{display:none}.page-header h1{margin:0;color:#d9f6d9;font-size:2rem}.page-header .subtitle{color:#9dd49d;margin-top:6px}.leaderboard-main{display:flex;justify-content:center}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#000 0% 100%);padding:1rem}.auth-card{width:100%;max-width:400px;background:#181c18;padding:2rem;border-radius:1rem;box-shadow:0 4px 16px -1px #00000059,0 2px 8px -1px #0000002e;border:1px solid #243f00}.auth-logo{text-align:center;margin-bottom:1rem}.auth-brand{font-size:2rem;font-weight:700;background:linear-gradient(90deg,#d9f6d9,#9dd49d,#d9f6d9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-title{font-size:1.5rem;font-weight:600;text-align:center;margin-bottom:1.5rem;color:#e6e6e6}.auth-btn{width:100%;padding:.75rem 1rem;border-radius:.5rem;font-size:1rem;font-weight:500;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-google{background:#fff;border:1px solid #e5e7eb;color:#374151;margin-bottom:1rem}.auth-btn-google:hover:not(:disabled){background:#f9fafb}.auth-btn-google{background:#232323;border:1px solid #333;color:#e6e6e6;margin-bottom:1rem}.auth-btn-google:hover:not(:disabled){background:#181c18}.google-icon{width:1.25rem;height:1.25rem}.auth-btn-primary{background:#3b82f6;color:#fff}.auth-btn-primary:hover:not(:disabled){background:#2563eb}.auth-btn-primary{background:#4a7d10;color:#fff}.auth-btn-primary:hover:not(:disabled){background:#243f00}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;gap:.5rem}.auth-divider-line{flex:1;height:1px;background:#e5e7eb}.auth-divider-text{font-size:.75rem;text-transform:uppercase;color:#9ca3af;padding:0 .5rem}.auth-divider-line{background:#243f00}.auth-divider-text{color:#8b938b}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input-group{display:flex;flex-direction:column;gap:.375rem}.auth-label{font-size:.875rem;font-weight:500;color:#374151}.auth-label{color:#e6e6e6}.auth-input{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:all .2s;box-sizing:border-box}.auth-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.auth-input:disabled{background:#f3f4f6;cursor:not-allowed}.auth-input{border:1px solid #243f00;background:#232323;color:#e6e6e6}.auth-input:focus{border-color:#4a7d10;box-shadow:0 0 0 3px #4a7d101a}.auth-input:disabled{background:#181c18;color:#888}.auth-error{padding:.75rem;background:#fee2e2;border:1px solid #fecaca;border-radius:.375rem;color:#991b1b;font-size:.875rem}.auth-switch{text-align:center;font-size:.875rem;color:#6b7280;margin-top:.5rem}.auth-switch{color:#8b938b}.auth-link{color:#2563eb;font-weight:500;background:none;border:none;cursor:pointer;padding:0;text-decoration:none}.auth-link:hover:not(:disabled){text-decoration:underline}.auth-link:disabled{opacity:.6;cursor:not-allowed}.auth-link{color:#4a7d10}@media(max-width:640px){.auth-card{padding:1.5rem}.auth-title{font-size:1.25rem}}.profile-container{background:#0d0d0d;min-height:100vh;width:100%;display:flex;flex-direction:column;padding-top:46px;color:#e6e6e6;overflow-x:hidden;--page-scale: .88;transform:scale(var(--page-scale));transform-origin:top center;max-width:1400px;margin-left:auto;margin-right:auto;animation:fadeIn .6s ease}.profile-header{max-width:1080px;width:100%;margin:0 auto;padding:12px 20px 6px;display:flex;align-items:flex-start;gap:24px;animation:slideDown .7s ease}.profile-avatar{width:100px;height:100px;border-radius:50%;overflow:hidden;border:2px solid #232323;position:relative;cursor:pointer;transition:border-color .3s ease;flex-shrink:0}.profile-avatar:hover{border-color:#3b7a3b}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#3b7a3b,#245524);display:flex;align-items:center;justify-content:center;font-size:48px;color:#d9f6d9;font-weight:700}.profile-avatar-change{position:absolute;bottom:0;left:0;right:0;background:#000000d9;color:#d9f6d9;padding:8px;text-align:center;font-size:12px;cursor:pointer;transition:background .3s ease}.profile-avatar-change:hover{background:#3b7a3be6}.profile-avatar-change input{display:none}.profile-info{flex:1;min-width:0}.profile-edit-form{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.profile-edit-form input{flex:1;min-width:200px;padding:10px 14px;background:#161616;border:1px solid #232323;border-radius:10px;font-size:16px;color:#e6e6e6;font-family:inherit;transition:border-color .3s ease}.profile-edit-form input:focus{outline:none;border-color:#3b7a3b}.profile-username-display{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.profile-username-display h1{font-size:26px;font-weight:700;margin:0;color:#d1e8d1;word-break:break-word}.profile-btn-save{padding:8px 16px;background:#3b7a3b;color:#f1fff1;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:background .3s ease}.profile-btn-save:hover{background:#2f612f}.profile-btn-cancel{padding:8px 16px;background:#232323;color:#b7c3b7;border:none;border-radius:10px;cursor:pointer;transition:background .3s ease}.profile-btn-cancel:hover{background:#2a2a2a}.profile-btn-edit{padding:6px 16px;background:#232323;color:#d1e8d1;border:1px solid #2a2a2a;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease}.profile-btn-edit:hover{background:#2a2a2a;border-color:#3b7a3b}.profile-stats{display:flex;gap:32px;margin-top:8px;flex-wrap:wrap;opacity:0;animation:fadeIn .5s ease .2s forwards}.profile-stat{text-align:left}.profile-stat.highlight{background:#4ade801a;border:1px solid rgba(74,222,128,.3);border-radius:8px;padding:8px;text-align:center}.profile-stat-number{font-size:18px;font-weight:700;color:#d9f6d9}.profile-stat.highlight .profile-stat-number{color:#4ade80}.profile-stat-label{font-size:14px;color:#8b938b}.profile-ranking{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;padding:12px 20px;background:#0003;border:1px solid #2a2a2a;border-radius:12px;flex-wrap:wrap;opacity:0;animation:fadeIn .5s ease .3s forwards}.rank-tier{display:flex;align-items:center;gap:6px}.tier-icon{font-size:1.2rem}.tier-name{font-size:.9rem;font-weight:700;text-transform:capitalize}.rank-position{display:flex;flex-direction:column;align-items:center;gap:2px}.rank-text{font-size:1rem;font-weight:800;color:#d9f6d9}.rank-percentile{font-size:.75rem;color:#9dd49d}.streak-info{display:flex;align-items:center;gap:4px;background:#ffa5001a;border:1px solid rgba(255,165,0,.3);border-radius:8px;padding:4px 8px}.streak-icon{font-size:1rem}.streak-text{font-size:.8rem;color:orange;font-weight:600}.profile-stats-loading{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:#9dd49d;font-size:.9rem}.loading-spinner{width:16px;height:16px;border:2px solid #2a2a2a;border-top:2px solid #4ade80;border-radius:50%;animation:spin 1s linear infinite}.profile-tabs{display:flex;gap:12px;margin:0 auto;max-width:1080px;width:100%;padding:0 20px;border:none;animation:slideDown .8s ease}.profile-tab{padding:8px 16px;background:#161616;border:1px solid #2a2a2a;color:#b7c3b7;font-weight:600;cursor:pointer;font-size:14px;border-radius:12px;line-height:1.2;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .2s ease}.profile-tab:hover{background:#202020;color:#d9f6d9;border-color:#3b7a3b}.profile-tab.active{background:#1c1c1c;color:#eaffea;border-color:#3b7a3b;transform:translateY(-1px)}.profile-content{padding:16px 20px 50px;width:100%;max-width:1080px;margin:0 auto;box-sizing:border-box}.profile-empty-state{text-align:center;padding:60px 20px;color:#6a6a6a}.profile-empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.profile-empty-title{font-size:18px;font-weight:600;margin-bottom:8px;color:#b7c3b7}.profile-empty-description{font-size:14px;color:#8b938b}.profile-video-grid{padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;width:100%;box-sizing:border-box;animation:slideUp .9s ease}.profile-video-card{background:#161616;border:1px solid #232323;border-radius:14px;padding:10px 10px 12px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;cursor:pointer;transition:all .3s ease}.profile-video-card:hover{border-color:#2d2d2d;box-shadow:0 10px 26px -16px #000000a6}.profile-video-shell{aspect-ratio:9/16;background:#0b0b0b;border-radius:10px;overflow:hidden}.profile-video-card video{width:100%;height:100%;object-fit:cover;display:block}.profile-video-card video::-webkit-media-controls{display:none!important}.profile-video-title{margin:0;font-size:.9rem;font-weight:600;color:#d1e8d1}.profile-video-meta{margin:0;font-size:.7rem;color:#8b938b;letter-spacing:.4px}.profile-video-stats{display:flex;flex-direction:column;gap:4px;flex:1}.profile-video-score{font-size:.7rem;color:#d9f6d9;font-weight:600;margin:0}.profile-video-pp{font-size:.65rem;color:#9dd49d;font-weight:600;margin:0}.profile-video-actions{display:flex;align-items:center;gap:10px;margin:0 auto}.profile-compete-btn{align-self:center;text-align:center;text-decoration:none;background:#245524;color:#eaffea;padding:6px 12px;font-size:.8rem;font-weight:700;border-radius:10px;transition:background .25s ease,transform .25s ease}.profile-delete-btn{align-self:center;text-align:center;text-decoration:none;background:transparent;color:#fff6;padding:4px 8px;font-size:1.2rem;font-weight:300;border:none;border-radius:4px;transition:all .2s ease;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.profile-delete-btn:hover{background:#ff46461a;color:#f55;transform:scale(1.1)}.profile-compete-btn:hover{background:#2f6b2f;transform:translateY(-2px);color:#eaffea}.profile-compete-btn:focus,.profile-compete-btn:active{color:#eaffea}.profile-loading{text-align:center;padding:100px 20px;color:#6a6a6a;font-size:18px}@media(max-width:768px){.profile-header{flex-direction:column;align-items:center;text-align:center;gap:20px}.profile-username-display{justify-content:center}.profile-username-display h1{font-size:24px}.profile-stats{justify-content:center}.profile-video-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.profile-tabs,.profile-content{padding-left:16px;padding-right:16px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
