@import"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap";@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;900&family=JetBrains+Mono:wght@500&display=swap";@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;800;900&display=swap";.navbar[data-v-b3272cd2]{display:flex;justify-content:space-between;align-items:center;padding:15px 40px;background:#05080d;font-family:Inter,sans-serif;border-bottom:1px solid #263640}.logo[data-v-b3272cd2]{font-size:1.5rem;font-weight:700;color:#bf5b04;cursor:pointer}.nav-links[data-v-b3272cd2]{display:flex;gap:25px}.nav-link[data-v-b3272cd2]{color:#65768c;text-decoration:none;transition:.3s;font-weight:500}.nav-link[data-v-b3272cd2]:hover,.router-link-active[data-v-b3272cd2]{color:#bf5b04}.nav-right[data-v-b3272cd2]{display:flex;align-items:center;gap:15px}.btn-text[data-v-b3272cd2]{color:#65768c;text-decoration:none;transition:.3s}.btn-text[data-v-b3272cd2]:hover{color:#fff}.btn[data-v-b3272cd2]{padding:8px 18px;background:#bf5b04;color:#fff;border-radius:6px;text-decoration:none;transition:.3s;border:none;cursor:pointer}.btn[data-v-b3272cd2]:hover{background:#733917}.btn-outline[data-v-b3272cd2]{padding:8px 18px;border:1px solid #BF5B04;color:#bf5b04;background:transparent;border-radius:6px;text-decoration:none;transition:.3s;cursor:pointer}.btn-outline[data-v-b3272cd2]:hover{background:#bf5b04;color:#fff}.language-wrapper[data-v-b3272cd2]{position:relative}.lang-btn[data-v-b3272cd2]{padding:6px 12px;background:#263640;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;align-items:center;gap:6px}.lang-dropdown[data-v-b3272cd2]{position:absolute;top:100%;right:0;background:#263640;border-radius:8px;z-index:100;margin-top:0;overflow:hidden}.lang-item[data-v-b3272cd2]{padding:8px 20px;cursor:pointer;color:#fff}.lang-item[data-v-b3272cd2]:hover{background:#bf5b04}.home-wrapper[data-v-b3fd1e7b]{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle at center,#0b1117,#05080d);color:#fff;text-align:center;padding:20px}.title[data-v-b3fd1e7b]{font-family:Nunito,sans-serif;font-size:5rem;font-weight:700;color:#bf5b04;text-shadow:0 0 20px rgba(191,91,4,.4)}.cursor[data-v-b3fd1e7b]{margin-left:5px;animation:blink-b3fd1e7b 1s infinite}.description[data-v-b3fd1e7b],.why[data-v-b3fd1e7b],.competitive[data-v-b3fd1e7b]{margin-top:20px;font-family:Inter,sans-serif;font-size:1.2rem;color:#65768c;max-width:600px}.cta-btn[data-v-b3fd1e7b]{margin-top:40px;padding:12px 28px;background:#bf5b04;color:#fff;font-family:Inter,sans-serif;font-weight:600;border-radius:8px;text-decoration:none;transition:all .3s ease}.cta-btn[data-v-b3fd1e7b]:hover{background:#733917;transform:translateY(-2px)}@keyframes blink-b3fd1e7b{50%{opacity:0}}.register-page[data-v-017736fc]{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#05080d;font-family:Nunito,sans-serif}.register-form[data-v-017736fc]{width:100%;max-width:380px;background:#0b1117;padding:40px;border-radius:12px;border:1px solid #263640;display:flex;flex-direction:column;gap:12px}.header[data-v-017736fc]{margin-bottom:20px;text-align:left}h1[data-v-017736fc]{font-size:2rem;font-weight:800;color:#fff;margin:0}label[data-v-017736fc]{color:#65768c;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-top:6px}#input[data-v-017736fc]{background:#121820;border:1px solid #263640;padding:12px 14px;border-radius:8px;color:#fff;font-family:Nunito,sans-serif;font-weight:600;font-size:1rem;transition:.2s ease}#input[data-v-017736fc]:focus{outline:none;border-color:#bf5b04}.register-button[data-v-017736fc]{margin-top:20px;padding:14px;background:#bf5b04;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:.3s}.register-button[data-v-017736fc]:hover{background:#733917}.footer[data-v-017736fc]{margin-top:15px;text-align:center}.sub-link[data-v-017736fc]{color:#65768c;text-decoration:none;font-size:.85rem;font-weight:600}.sub-link[data-v-017736fc]:hover{color:#bf5b04}.error[data-v-017736fc]{color:#ff4d4d;font-size:.8rem;text-align:center;font-weight:600}.login-page[data-v-2563a4fc]{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#05080d;font-family:Nunito,sans-serif}.auth-box[data-v-2563a4fc]{width:100%;max-width:380px;background:#0b1117;padding:40px;border-radius:12px;border:1px solid #263640}header[data-v-2563a4fc]{margin-bottom:30px;text-align:left}h1[data-v-2563a4fc]{font-size:2rem;font-weight:800;color:#fff;margin:0}.login-form[data-v-2563a4fc]{display:flex;flex-direction:column;gap:18px}.input-group[data-v-2563a4fc]{display:flex;flex-direction:column;gap:6px}label[data-v-2563a4fc]{color:#65768c;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}input[data-v-2563a4fc]{background:#121820;border:1px solid #263640;padding:12px 14px;border-radius:8px;color:#fff;font-family:Nunito,sans-serif;font-weight:600;font-size:1rem;transition:.2s ease}input[data-v-2563a4fc]:focus{outline:none;border-color:#bf5b04}.auth-btn[data-v-2563a4fc]{margin-top:10px;padding:14px;background:#bf5b04;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:.3s}.auth-btn[data-v-2563a4fc]:hover{background:#733917}footer[data-v-2563a4fc]{margin-top:25px;text-align:center}.sub-link[data-v-2563a4fc]{color:#65768c;text-decoration:none;font-size:.85rem;font-weight:600}.sub-link[data-v-2563a4fc]:hover{color:#bf5b04}.error-msg[data-v-2563a4fc]{color:#ff4d4d;font-size:.8rem;text-align:center;font-weight:600}.roadmap-container[data-v-a1d37bd3]{font-family:Nunito,sans-serif;background-color:#0b0e14;min-height:100vh;padding:60px 20px;display:flex;flex-direction:column;align-items:center;color:#f8fafc}.title[data-v-a1d37bd3]{color:#ff7e00;font-size:2.5rem;margin-bottom:5px;font-weight:800}.subtitle[data-v-a1d37bd3]{color:#64748b;margin-bottom:60px;font-weight:400}.state-msg[data-v-a1d37bd3]{color:#94a3b8;font-size:1.2rem;margin-top:40px}.state-msg.error[data-v-a1d37bd3]{color:#ef4444;border:1px dashed #ef4444;padding:15px;border-radius:8px;background:#ef44440d}.vertical-path[data-v-a1d37bd3]{position:relative;width:100%;max-width:600px;display:flex;flex-direction:column;gap:30px}.vertical-path[data-v-a1d37bd3]:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:4px;background:linear-gradient(to bottom,#ff7e00,#1e293b);transform:translate(-50%);z-index:0}.level-step[data-v-a1d37bd3]{display:flex;width:100%;z-index:1;position:relative}.level-step.left[data-v-a1d37bd3]{justify-content:flex-start}.level-step.right[data-v-a1d37bd3]{justify-content:flex-end}.level-card[data-v-a1d37bd3]{background:#1e293b;border:2px solid #334155;border-radius:12px;padding:15px 20px;width:240px;display:flex;align-items:center;gap:15px;cursor:pointer;transition:all .3s ease}.level-step.current .level-card[data-v-a1d37bd3]{border-color:#ff7e00;box-shadow:0 0 15px #ff7e004d}.level-step.locked[data-v-a1d37bd3]{opacity:.6;filter:grayscale(.5);cursor:not-allowed}.level-card[data-v-a1d37bd3]:not(.locked):hover{transform:scale(1.05);border-color:#ff7e00}.level-number[data-v-a1d37bd3]{background:#0b0e14;color:#ff7e00;width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;border:1px solid #ff7e00}.level-content h3[data-v-a1d37bd3]{font-size:1rem;margin:0;font-weight:700}.level-content p[data-v-a1d37bd3]{font-size:.8rem;color:#94a3b8;margin:2px 0 0;font-weight:400}@keyframes shake-a1d37bd3{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}}.shake-it .level-card[data-v-a1d37bd3]{animation:shake-a1d37bd3 .4s ease-in-out;border-color:#ef4444}.typing-container[data-v-4dfd256d]{background:#05080d;padding:40px;display:flex;flex-direction:column;align-items:center;gap:50px;min-height:100vh;font-family:Nunito,sans-serif}.game-viewport[data-v-4dfd256d]{position:relative;width:100%;max-width:850px;height:120px;background:#0b1117;border-radius:20px;border:1px solid #263640;overflow:hidden;display:flex;align-items:center}.text-track[data-v-4dfd256d]{position:absolute;left:50%;top:50%;display:flex;transition:transform .12s cubic-bezier(0,.5,.5,1);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:2.2rem}.char[data-v-4dfd256d]{width:25px;display:inline-block;text-align:center;color:#3d4f66}.char.correct[data-v-4dfd256d]{color:#bf5b04;opacity:.6}.char.current[data-v-4dfd256d]{color:#fff;text-shadow:0 0 10px white}.char.wrong[data-v-4dfd256d]{color:#ff4d4d;animation:shake-4dfd256d .1s infinite}.keyboard[data-v-4dfd256d]{display:flex;flex-direction:column;gap:8px;background:#0b1117;padding:25px;border-radius:18px;border:1px solid #263640}.keyboard-row[data-v-4dfd256d]{display:flex;flex-direction:row;gap:6px;justify-content:center}.key[data-v-4dfd256d]{position:relative;width:52px;height:52px;border-radius:10px;border:1px solid rgba(255,255,255,.05);display:flex;justify-content:center;align-items:center;transition:all .1s ease}.z1[data-v-4dfd256d],.z8[data-v-4dfd256d]{background:#3498db33;color:#3498db}.z2[data-v-4dfd256d],.z7[data-v-4dfd256d]{background:#9b59b633;color:#9b59b6}.z3[data-v-4dfd256d],.z6[data-v-4dfd256d]{background:#e74c3c33;color:#e74c3c}.z4[data-v-4dfd256d],.z5[data-v-4dfd256d]{background:#e67e2233;color:#e67e22}.spec[data-v-4dfd256d]{background:#1c2730;color:#4a5d75}.daumen[data-v-4dfd256d]{background:#263640;color:#65768c}.key.is-active[data-v-4dfd256d]{background:#bf5b04!important;color:#fff!important;transform:translateY(4px);box-shadow:0 0 20px #bf5b04cc}.spot-top-left[data-v-4dfd256d]{position:absolute;top:6px;left:8px;font-size:.7rem;opacity:.6}.spot-bottom-left[data-v-4dfd256d]{font-size:1rem;font-weight:800}.sahur-overlay[data-v-4dfd256d]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center}.sahur-img[data-v-4dfd256d]{width:500px;border-radius:20px;border:5px solid #BF5B04;animation:bounce-4dfd256d .5s infinite}.sahur-text[data-v-4dfd256d]{color:#fff;font-size:3rem;margin-top:20px;font-family:Nunito;font-weight:900;text-shadow:3px 3px 0 #BF5B04}@keyframes bounce-4dfd256d{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake-4dfd256d{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.app-container[data-v-3c77c9c8]{min-height:100vh;width:100vw;background-color:#0b0e14;overflow:hidden;display:flex;flex-direction:column}.league-page[data-v-3c77c9c8]{font-family:Nunito,sans-serif;flex:1;display:flex;color:#f8fafc;padding:40px 60px}.side-panel[data-v-3c77c9c8]{width:280px}.stats-card[data-v-3c77c9c8]{background:#1e293b;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.elo-section[data-v-3c77c9c8]{padding:20px}.elo-label[data-v-3c77c9c8]{display:block;font-size:.65rem;color:#64748b;font-weight:800;letter-spacing:1px}.elo-value[data-v-3c77c9c8]{font-size:2.2rem;font-weight:900;color:#ff7e00}.recent-matches[data-v-3c77c9c8]{padding:0 15px 15px}.matches-title[data-v-3c77c9c8]{font-size:.6rem;color:#475569;margin-bottom:10px;font-weight:900}.match-entry[data-v-3c77c9c8]{background:#0b0e144d;margin-bottom:5px;padding:8px 12px;border-radius:6px;display:flex;justify-content:space-between}.no-games[data-v-3c77c9c8]{color:#475569;font-size:.75rem;padding:8px 0}.plus[data-v-3c77c9c8]{color:#10b981}.minus[data-v-3c77c9c8]{color:#ef4444}.main-content[data-v-3c77c9c8]{flex-grow:1;padding-left:50px}.league-title[data-v-3c77c9c8]{color:#ff7e00;font-size:3.5rem;font-weight:900}.divider-main[data-v-3c77c9c8]{height:4px;background:#ff7e00;border-radius:4px;margin:5px 0 25px}.matchmaking-card[data-v-3c77c9c8]{background:#1e293b;border-radius:12px;padding:25px 40px;display:flex;align-items:center;justify-content:space-between}.ready-btn[data-v-3c77c9c8]{background:#ff7e00;border:none;color:#0b0e14;padding:14px 30px;font-size:1.2rem;font-weight:900;border-radius:8px;cursor:pointer;transition:.2s}.is-searching[data-v-3c77c9c8]{background:#c60;animation:pulse-3c77c9c8 1.5s infinite}.arena-container[data-v-3c77c9c8]{flex:1;display:flex;flex-direction:column;align-items:center;padding:40px;position:relative}.race-track[data-v-3c77c9c8]{width:100%;max-width:800px;margin-bottom:20px}.lane[data-v-3c77c9c8]{margin-bottom:20px}.lane-label[data-v-3c77c9c8]{font-size:.8rem;font-weight:800;color:#64748b;margin-bottom:5px}.bar-bg[data-v-3c77c9c8]{background:#1e293b;height:12px;border-radius:6px;overflow:hidden}.bar-fill[data-v-3c77c9c8]{height:100%;background:#ff7e00;transition:width .1s linear}.opponent-bar[data-v-3c77c9c8]{background:#64748b}.countdown-overlay[data-v-3c77c9c8]{position:absolute;inset:0;background:#0b0e14eb;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10}.connecting-spinner[data-v-3c77c9c8]{width:56px;height:56px;border:5px solid rgba(255,126,0,.2);border-top-color:#ff7e00;border-radius:50%;animation:spin-3c77c9c8 .9s linear infinite}@keyframes spin-3c77c9c8{to{transform:rotate(360deg)}}.grace-overlay[data-v-3c77c9c8]{background:#0b0e14cc}.countdown-number[data-v-3c77c9c8]{font-family:Nunito,sans-serif;font-size:9rem;font-weight:900;color:#ff7e00;line-height:1;animation:pop-3c77c9c8 .9s ease-out infinite}.countdown-label[data-v-3c77c9c8]{font-family:Nunito,sans-serif;font-size:.85rem;font-weight:800;color:#64748b;letter-spacing:3px;margin-top:16px;text-align:center;max-width:400px}.grace-bar[data-v-3c77c9c8]{width:100%;max-width:800px;margin-bottom:16px}.grace-label[data-v-3c77c9c8]{font-size:.75rem;font-weight:800;color:#f59e0b;margin-bottom:6px;display:block}.grace-bg[data-v-3c77c9c8]{background:#1e293b;height:8px;border-radius:4px;overflow:hidden}.grace-fill[data-v-3c77c9c8]{height:100%;background:#f59e0b;transition:width 1s linear}.results-screen[data-v-3c77c9c8]{flex:1;display:flex;justify-content:center;align-items:center}.result-card[data-v-3c77c9c8]{background:#1e293b;padding:50px;border-radius:20px;text-align:center;border:1px solid #ff7e00}.win-text[data-v-3c77c9c8]{color:#10b981;font-size:3rem;margin:0 0 16px}.lose-text[data-v-3c77c9c8]{color:#ef4444;font-size:3rem;margin:0 0 16px}.elo-res[data-v-3c77c9c8]{color:#ff7e00;font-weight:900;margin:10px 0 25px}.penalty-text[data-v-3c77c9c8]{color:#ef4444;font-size:.85rem;margin:2px 0}.opponent-time[data-v-3c77c9c8]{color:#64748b;font-size:.85rem;margin:4px 0}.disconnect-msg[data-v-3c77c9c8]{color:#94a3b8;font-size:.9rem;margin-bottom:16px}@keyframes pulse-3c77c9c8{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes pop-3c77c9c8{0%{transform:scale(1.15);opacity:.6}to{transform:scale(1);opacity:1}}.training-wrapper[data-v-713c6af7]{min-height:100vh;background:#05080d;display:flex;justify-content:center;align-items:center;color:#fff;font-family:Nunito,sans-serif}.menu-card[data-v-713c6af7]{background:#0b1117;padding:40px;border-radius:20px;border:1px solid #263640;text-align:center;width:420px}h1[data-v-713c6af7]{color:#bf5b04;margin-bottom:20px;font-weight:900;font-size:2.5rem}.bot-grid[data-v-713c6af7]{display:grid;gap:10px;margin-bottom:20px}.bot-card[data-v-713c6af7]{background:#1c2730;border:1px solid #263640;padding:15px;border-radius:10px;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.bot-wpm[data-v-713c6af7]{color:#bf5b04;font-weight:800}.custom-bot[data-v-713c6af7]{display:flex;gap:10px;margin-bottom:20px}.custom-bot input[data-v-713c6af7]{background:#121820;border:1px solid #263640;color:#fff;padding:10px;border-radius:8px;flex:1}.custom-bot button[data-v-713c6af7]{background:#bf5b04;border:none;color:#fff;padding:0 15px;border-radius:8px;cursor:pointer;font-weight:800}.arena[data-v-713c6af7]{width:100%;display:flex;flex-direction:column;align-items:center}.race-track[data-v-713c6af7]{width:100%;max-width:850px;margin-bottom:30px}.lane[data-v-713c6af7]{margin-bottom:12px}.lane-info[data-v-713c6af7]{font-size:.75rem;font-weight:800;color:#65768c;margin-bottom:4px}.bar-bg[data-v-713c6af7]{background:#1c2730;height:10px;border-radius:5px;overflow:hidden}.bar-fill[data-v-713c6af7]{height:100%;transition:width .1s linear}.player-fill[data-v-713c6af7]{background:#bf5b04;box-shadow:0 0 10px #bf5b04}.bot-fill[data-v-713c6af7]{background:#65768c}.win[data-v-713c6af7]{color:#42b883}.lose[data-v-713c6af7]{color:#e74c3c}.stats-summary[data-v-713c6af7]{margin:25px 0;font-size:1.1rem;color:#65768c}.stats-summary span[data-v-713c6af7]{color:#fff;font-weight:800}.penalty-info[data-v-713c6af7]{font-size:.9rem;margin-top:10px;opacity:.7}.mode-btn[data-v-713c6af7]{background:#bf5b04;color:#fff;border:none;padding:15px 30px;border-radius:10px;cursor:pointer;font-weight:800;margin-top:20px;width:100%}.page[data-v-89638b6a]{font-family:Nunito,sans-serif;background:#0b0e14;min-height:100vh;padding:60px 40px;display:flex;flex-direction:column;align-items:center;color:#f8fafc}.title[data-v-89638b6a]{font-size:2.5rem;font-weight:900;color:#ff7e00;margin-bottom:4px}.subtitle[data-v-89638b6a]{color:#64748b;font-size:.95rem;margin-bottom:50px}.loading[data-v-89638b6a]{color:#64748b;font-size:1.1rem;margin-top:60px}.board[data-v-89638b6a]{width:100%;max-width:700px}.table[data-v-89638b6a]{background:#1e293b;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.05)}.table-header[data-v-89638b6a]{display:grid;grid-template-columns:50px 1fr 120px 80px;padding:12px 20px;background:#0b0e14;font-size:.65rem;font-weight:900;color:#475569;letter-spacing:1px;text-transform:uppercase}.table-row[data-v-89638b6a]{display:grid;grid-template-columns:50px 1fr 120px 80px;padding:14px 20px;border-top:1px solid rgba(255,255,255,.04);transition:background .15s}.table-row[data-v-89638b6a]:hover{background:#ffffff08}.table-row.is-me[data-v-89638b6a]{background:#ff7e0014;border-left:3px solid #ff7e00}.col-rank[data-v-89638b6a]{color:#475569;font-weight:700;font-size:.9rem}.col-name[data-v-89638b6a]{font-weight:700;font-size:.95rem}.col-elo[data-v-89638b6a]{color:#ff7e00;font-weight:800;font-size:.95rem;text-align:right}.col-league[data-v-89638b6a]{font-size:.75rem;font-weight:800;letter-spacing:.5px}.league-bronze[data-v-89638b6a]{color:#b45309}.league-silver[data-v-89638b6a]{color:#94a3b8}.league-gold[data-v-89638b6a]{color:#f59e0b}.league-platinum[data-v-89638b6a]{color:#67e8f9}.league-diamond[data-v-89638b6a]{color:#a78bfa}.roadmaptyping-container[data-v-a3b46d0e]{width:100%;height:100%}html,body{margin:0;padding:0;height:100%;background-color:#05080d}*,*:before,*:after{box-sizing:border-box}
