@import"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap";.logo-container{display:flex;align-items:center;gap:12px;transition:all .3s ease}.logo-container:hover{transform:translateY(-1px)}.logo-container:hover .logo-icon{transform:scale(1.05)}.logo-container:hover .logo-key-glow{animation:keyGlowPulse .8s ease-in-out infinite}.logo-container:hover .logo-cursor{opacity:1}.logo-icon{position:relative;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.logo-image{border-radius:0;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(226,183,20,.2));transition:all .3s ease}.logo-container:hover .logo-image{filter:drop-shadow(0 4px 8px rgba(226,183,20,.4));transform:scale(1.05)}.logo-text{display:flex;flex-direction:column;gap:2px}.logo-title{display:flex;align-items:baseline;gap:6px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;line-height:1}.logo-typing{color:#e6edf3;transition:color .3s ease}.logo-genius{color:#e2b714;position:relative;transition:all .3s ease}.logo-container:hover .logo-genius{text-shadow:0 0 20px rgba(226,183,20,.5)}.logo-tagline{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;font-weight:500;color:#6e7681;letter-spacing:1.5px;text-transform:uppercase;transition:color .3s ease}.logo-container:hover .logo-tagline{color:#8b949e}.logo-sm .logo-image{width:28px;height:28px}.logo-sm .logo-title{font-size:14px;gap:4px}.logo-sm .logo-tagline{font-size:8px;letter-spacing:1px}.logo-sm{gap:8px}.logo-md .logo-image{width:38px;height:38px}.logo-md .logo-title{font-size:18px}.logo-md .logo-tagline{font-size:10px}.logo-lg .logo-image{width:56px;height:56px}.logo-lg .logo-title{font-size:26px;gap:8px}.logo-lg .logo-tagline{font-size:11px;letter-spacing:2px}.logo-lg{gap:16px}@media (max-width: 768px){.logo-md .logo-image{width:32px;height:32px}.logo-md .logo-title{font-size:16px}.logo-md .logo-tagline{font-size:9px}.logo-md{gap:10px}}@media (max-width: 480px){.logo-md .logo-image{width:28px;height:28px}.logo-md .logo-title{font-size:14px}.logo-md .logo-tagline{display:none}.logo-md{gap:8px}}.lang-switcher{position:relative;display:inline-block}.lang-trigger{font-family:Inter,sans-serif;font-weight:500;font-size:13px;color:#9ca3af;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.lang-trigger:hover{color:#fff;background:rgba(255,255,255,.06);border-color:#ffffff26;transform:none;box-shadow:none}.lang-icon{font-size:14px;transition:color .2s ease}.lang-trigger:hover .lang-icon{color:#fff;filter:none}.lang-current{font-size:12px;letter-spacing:1px}.lang-menu{position:fixed;min-width:160px;background:rgba(15,20,25,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:6px;box-shadow:0 10px 25px -5px #00000080;z-index:20020;animation:menuSlideIn .2s ease}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lang-option{font-family:Inter,sans-serif;font-weight:500;font-size:13px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease;text-align:left;margin-bottom:2px}.lang-option:last-child{margin-bottom:0}.lang-option:hover{background:rgba(255,255,255,.06);color:#fff;border-color:transparent}.lang-option.active{background:rgba(255,255,255,.08);color:#e2b714;border-color:transparent}.lang-option.active:hover{background:rgba(255,255,255,.12);box-shadow:none}.lang-label{flex:1}.lang-check{font-size:12px;color:#e2b714;filter:none;animation:none}@media (max-width: 600px){.lang-trigger{font-size:12px;padding:6px 10px}.lang-icon{font-size:13px}.lang-current{font-size:11px}.lang-menu{min-width:140px}.lang-option{font-size:12px;padding:8px 12px}}.game-header{position:fixed;top:0;left:0;right:0;z-index:10000;padding:8px 24px;background:rgba(15,20,25,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}.header-content{width:100%;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.header-primary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px}.header-logo{cursor:pointer;display:flex;align-items:center;flex-shrink:0}.header-nav{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-center-nav{display:flex;align-items:center;gap:4px;padding:4px;background:rgba(255,255,255,.03);border-radius:12px;border:1px solid rgba(255,255,255,.06)}.header-nav-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:none;border-radius:8px;color:#646669;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.header-nav-item:hover{color:#fff;background:rgba(255,255,255,.06)}.header-nav-item.active{color:#e2b714;background:rgba(226,183,20,.1)}.header-nav-item.active .header-nav-icon{color:#e2b714}.header-nav-icon{display:flex;align-items:center;justify-content:center;font-size:14px;transition:color .2s ease}.header-nav-label{transition:opacity .2s ease}.profile-stats-btn{display:flex;align-items:center;gap:10px;padding:8px 14px;background:rgba(255,255,255,.04);border:none;border-radius:8px;cursor:pointer;transition:all .15s ease}.profile-stats-btn:hover{background:rgba(255,255,255,.08)}.profile-stats-btn:hover .profile-icon{color:#e2b714}.profile-stats-btn:hover .profile-username{color:#fff}.profile-stats-btn.active{background:rgba(226,183,20,.1)}.profile-stats-btn.active .profile-icon{color:#e2b714}.profile-stats-btn.active .profile-username{color:#fff}.profile-icon{display:flex;align-items:center;justify-content:center;font-size:14px;color:#646669;transition:color .15s ease}.profile-username{font-size:14px;font-weight:500;color:#646669;transition:color .15s ease;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-link,.action-button{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500;font-size:13px;color:#9ca3af;text-decoration:none;background:transparent;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s ease;padding:8px 14px;border-radius:8px;display:flex;align-items:center;gap:6px}.action-button.blog-link,.action-button.blog-link:visited{color:#9ca3af}.action-button.blog-link:active{color:#9ca3af;background:transparent;border-color:#ffffff1a}.nav-link:hover,.action-button:hover{color:#fff;background:rgba(255,255,255,.06);border-color:#ffffff26}.action-button.reset-button{color:#ef4444;border-color:#ef444433}.action-button.reset-button:hover{background:rgba(239,68,68,.1);border-color:#ef44444d;color:#f87171}.action-button.login-button{color:#9ca3af;border-color:#ffffff1a;background:transparent}.action-button.login-button:hover{background:rgba(255,255,255,.06);border-color:#ffffff26;color:#fff}.action-button.user-button{color:#9ca3af;border-color:#ffffff1a;padding:8px;border-radius:8px}.action-button.user-button:hover{color:#ef4444;background:rgba(239,68,68,.1);border-color:#ef44444d}.game-stats{display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(0,0,0,.3);padding:12px 24px;border-radius:12px;border:1px solid var(--glass-border);position:relative;overflow:hidden}.game-stats:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--neon-blue),var(--neon-purple));box-shadow:0 0 10px var(--neon-blue)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.stat-label{font-family:Inter,sans-serif;font-size:10px;text-transform:uppercase;color:var(--text-secondary);letter-spacing:1px;font-weight:500}.stat-value{font-family:Outfit,sans-serif;font-size:20px;font-weight:700;color:var(--text-primary);line-height:1}.stat-item.highlighted .stat-value{color:var(--neon-green);text-shadow:0 0 10px rgba(10,255,10,.5);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{text-shadow:0 0 10px rgba(10,255,10,.5)}50%{text-shadow:0 0 20px rgba(10,255,10,.8)}}.stat-progress-container{width:100%;height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.stat-progress-bar{height:100%;background:linear-gradient(90deg,var(--neon-blue),var(--neon-purple));box-shadow:0 0 8px var(--neon-blue);transition:width .5s cubic-bezier(.4,0,.2,1);position:relative}.stat-progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translate(-100%);animation:shimmer 2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.sound-toggle{min-width:auto}.sound-toggle-button{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;transition:all .3s ease;padding:4px;display:flex;align-items:center}.sound-toggle-button:hover{color:var(--neon-blue);transform:scale(1.2);filter:drop-shadow(0 0 8px var(--neon-blue))}@media (max-width: 1100px){.header-nav-label{display:none}.header-nav-item{padding:10px 12px}.header-nav-icon{font-size:16px}}@media (max-width: 900px){.game-header{padding:10px 16px}.header-center-nav{gap:2px;padding:3px}.header-nav-item{padding:8px 10px}.header-nav{gap:8px}.nav-link,.action-button{font-size:12px;padding:6px 12px}.profile-avatar{width:32px;height:32px}.avatar-letter{font-size:13px}.wpm-indicator{min-width:20px;height:14px;font-size:9px}.game-stats{gap:12px;padding:10px 16px;flex-wrap:wrap}.stat-item{min-width:60px}.stat-value{font-size:16px}.stat-label{font-size:9px}}@media (max-width: 700px){.header-center-nav{display:none}}@media (max-width: 600px){.game-header{padding:8px 12px}.header-content{gap:12px}.header-primary{gap:8px}.header-nav{gap:6px}.streak-badge{padding:3px 8px}.streak-fire{font-size:12px}.streak-count{font-size:11px}.profile-avatar{width:28px;height:28px}.avatar-letter{font-size:11px}.wpm-indicator{min-width:18px;height:12px;font-size:8px;bottom:-3px;right:-3px}.nav-link,.action-button{font-size:11px;padding:6px 10px}.login-button span{display:none}}:root{--bg-darkest: #050508;--bg-dark: #0c0c12;--bg-medium: #12141c;--text-light: rgba(255, 255, 255, .95);--text-medium: rgba(255, 255, 255, .6);--text-dark: rgba(255, 255, 255, .4);--accent-cyan: rgba(255, 255, 255, .8);--accent-green: rgba(255, 255, 255, .7);--accent-red: #e57373;--accent-pink: rgba(255, 255, 255, .7);--accent-blue: rgba(255, 255, 255, .75);--accent-purple: rgba(255, 255, 255, .7);--font-sans: "Inter", sans-serif;--font-mono: "Roboto Mono", monospace}body.race-page-dark{background:#050508;color:#fffffff2;background-attachment:fixed}body.race-page-dark:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(255,255,255,.02),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(255,255,255,.015),transparent),radial-gradient(ellipse 50% 30% at 0% 100%,rgba(255,255,255,.01),transparent);pointer-events:none;z-index:0}body.race-page-dark:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.008) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.008) 1px,transparent 1px);background-size:80px 80px;pointer-events:none;z-index:0}.race-page{display:flex;flex-direction:column;min-height:100vh;height:auto;overflow-x:hidden;overflow-y:auto;background-color:transparent;color:#fffffff2;font-family:var(--font-sans);padding:0;box-sizing:border-box;transition:padding-left .3s ease;position:relative;z-index:1}.race-page.dark-mode{background:transparent}.race-page.sidebar-collapsed{padding-left:0}.race-container{flex-grow:1;display:flex;flex-direction:column;position:relative;z-index:5;width:100%;max-width:90vw;margin:0 auto;padding:1rem 2rem 2rem;overflow:visible}.sidebar-mobile-toggle{display:none;position:fixed;left:10px;top:70px;z-index:2001;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);color:#ffffffe6;width:36px;height:36px;border-radius:50%;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 5px #0003}@media (max-width: 1200px){.race-container{max-width:calc(100vw - 280px);padding:1rem}.race-page.sidebar-collapsed .race-container{max-width:calc(100vw - 80px);margin-left:auto;margin-right:auto}}@media (max-width: 768px){.race-page,.race-page.sidebar-collapsed{padding-left:0}.sidebar-mobile-toggle{display:none}.race-container{width:100%;max-width:100%;padding:.5rem}.sentence-display{min-width:unset;width:95%}}.race-dashboard{margin:.5rem 0 1rem}.canvas-container{position:relative;width:100%;height:auto;min-height:150px;border-radius:12px;overflow:hidden;border:none!important;box-shadow:0 10px 15px -3px #0006}.race-canvas{display:block;width:100%;height:auto}.race-hud{position:absolute;top:10px;left:10px;display:flex;gap:10px;background:rgba(12,12,18,.7);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 10px;backdrop-filter:blur(4px)}.race-hud .hud-item{display:flex;gap:6px;align-items:baseline}.race-hud .hud-label{font-size:.75rem;color:#fff6;text-transform:uppercase;letter-spacing:.06em}.race-hud .hud-value{font-size:1rem;font-weight:700;color:#ffffffe6}.typing-area{flex-grow:0;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:120px;background-color:transparent!important;border:none!important;box-shadow:none!important;padding:15px 0;position:relative;width:100%}.typing-content{width:100%;display:flex;justify-content:center;position:relative}.sentence-display{overflow-x:hidden;width:100%;max-width:100%;min-width:600px;padding:1.5rem 2rem;background-color:transparent!important;border-radius:16px;border:none!important;margin:0 auto;font-family:Roboto Mono,monospace;font-size:2.2rem;font-weight:400;letter-spacing:0;line-height:1.2em;color:#ffffff73!important;box-shadow:none;white-space:nowrap!important;position:relative;min-height:90px;display:flex;align-items:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0}.shortcuts-hint{display:flex;gap:16px;justify-content:center;align-items:center;color:#fff6;font-size:.9rem;margin-top:10px;opacity:.85}.shortcuts-hint span{padding:4px 8px;border-radius:6px;background:rgba(12,12,18,.6);border:1px solid rgba(255,255,255,.1)}.sentence-text-wrapper{display:inline-block;transition:transform .18s ease-out;color:#fff6;white-space:nowrap;position:relative}.race-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:20}.race-overlay .race-start,.race-overlay .countdown{pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.race-overlay .race-start{background:rgba(12,12,18,.75);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem 3rem;backdrop-filter:blur(12px);box-shadow:0 20px 50px #0009,inset 0 0 0 1px #ffffff0d;max-width:500px}.sentence-display span{display:inline-block;font-weight:400;transition:color .1s ease;letter-spacing:0;position:relative;padding:0 .5px}.sentence-display .char-correct{color:#fffffff2!important}.sentence-display .char-incorrect{color:#e57373;background:none;border-radius:0;text-decoration:none}.sentence-display .char-pending{color:#ffffff59!important}.sentence-display .in-current-word:not(.char-correct):not(.char-incorrect){text-decoration:none}.sentence-display .char-current{border-bottom:3px solid rgba(255,255,255,.7)!important;border-radius:4px;padding:2px 1px;margin:0 -1px;animation:cursor-blink 1s ease-in-out infinite;background-color:#ffffff1a!important;position:relative;box-shadow:0 0 15px #ffffff1a!important;color:#fffffff2!important}.caret{position:absolute;height:1.2em;width:2px;background-color:#fffc;animation:blink 1s infinite;z-index:1;transition:left 80ms ease-out;pointer-events:none;top:50%;transform:translateY(-50%)}.caret.error{background:#f87171;box-shadow:0 0 8px #f8717199}.sentence-display.has-error .char-current{border-bottom-color:#f87171;background-color:#f8717126;animation:shake .4s cubic-bezier(.36,.07,.19,.97) both,cursor-blink 1s ease-in-out infinite}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.sentence-display .race-start{padding:1rem 0;background:none;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.race-overlay .race-start h2{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#fff 0%,#a5b4fc 100%);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0;text-shadow:0 2px 10px rgba(255,255,255,.1)}.race-overlay .race-start .start-button{border-radius:12px;padding:1rem 3rem;font-weight:700;font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05))!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:0 10px 30px #0006,inset 0 0 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1)}.race-overlay .race-start .start-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.18)!important;box-shadow:0 14px 34px #0000008c}.race-overlay .race-start .start-button:active{transform:translateY(0) scale(.99);box-shadow:0 8px 18px #00000073}.race-overlay .race-start .start-button:focus{outline:none;box-shadow:0 0 0 3px #ffffff47,0 10px 26px #0000008c}.race-overlay .countdown{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.race-overlay .countdown-number{font-size:3.5rem;font-weight:700;color:#ffffffe6;line-height:1;animation:countdown-pulse 1s infinite;text-shadow:0 0 15px rgba(255,255,255,.2)}.countdown-text{display:none}.focus-hint{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fffc;padding:6px 10px;font-size:.85rem;border-radius:8px;cursor:pointer;user-select:none}.start-button,.race-again-button,.home-button,.results-popup .race-again-button{display:inline-block;padding:.9rem 2rem;font-size:1.1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;background:rgba(255,255,255,.12)!important;color:#ffffffe6!important;margin:0 .7rem;position:relative;overflow:hidden;box-shadow:0 4px 10px #0003;letter-spacing:.02em;border:1px solid rgba(255,255,255,.15)!important}.start-button:before,.race-again-button:before,.home-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.start-button:hover:before,.race-again-button:hover:before,.home-button:hover:before{left:100%}.start-button:hover,.race-again-button:hover,.home-button:hover{transform:translateY(-3px);box-shadow:0 6px 15px #0000004d;background:rgba(255,255,255,.15)}.start-button:active,.race-again-button:active,.home-button:active{transform:translateY(0);box-shadow:0 2px 5px #0003}.start-button:focus,.race-again-button:focus,.home-button:focus{outline:none;box-shadow:0 0 0 3px #fff3,0 4px 10px #0000004d;transform:translateY(-2px);transition:box-shadow .2s ease,transform .2s ease;position:relative}.start-button:focus:after,.race-again-button:focus:after,.home-button:focus:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:12px;border:2px solid rgba(255,255,255,.3);animation:focus-pulse 1.5s infinite;pointer-events:none}@keyframes focus-pulse{0%,to{opacity:.6}50%{opacity:1}}.home-button{background:rgba(255,255,255,.05);color:#ffffffb3}.home-button:hover{box-shadow:0 6px 15px #0000004d;background:rgba(255,255,255,.1)}.progress-label{font-size:.85rem;color:#ffffff80;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;text-align:center;font-weight:500}.progress-bar-container{height:8px;background-color:#ffffff1a;border-radius:4px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.progress-bar{height:100%;background:linear-gradient(to right,rgba(255,255,255,.4),rgba(255,255,255,.6));border-radius:4px;transition:width .2s ease-out;position:relative}.progress-finish-line{display:none}.race-results-wrapper{width:100%;display:flex;align-items:center;justify-content:center;min-height:60vh}.race-results-container{width:100%;max-width:600px;margin:0 auto;animation:resultsSlideIn .5s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:center;padding:1rem}@keyframes resultsSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.race-results-content{background:linear-gradient(145deg,rgba(18,20,28,.95),rgba(12,12,18,.98));padding:2rem;border-radius:16px;max-width:100%;width:100%;text-align:center;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}.race-results-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,.5),rgba(255,255,255,.3));background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:0% 0%}50%{background-position:100% 0%}}.race-results-header{margin-bottom:1.5rem}.race-results-title{font-size:1.75rem;font-weight:700;color:#fffffff2;margin:0 0 .75rem;letter-spacing:.5px}.race-primary-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem;background:rgba(0,0,0,.2);border-radius:12px;border:1px solid rgba(255,255,255,.05)}.race-primary-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;position:relative}.stat-icon-wrapper{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.stat-icon{color:#ffffffb3;font-size:1.1rem}.race-primary-stat-value{font-size:3rem;font-weight:700;color:#fffffff2;line-height:1;text-shadow:none}.race-primary-stat-value.animate-count{animation:countUp .6s cubic-bezier(.16,1,.3,1)}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.race-primary-stat-label{color:#ffffff73;font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}.accuracy-feedback{font-size:.7rem;font-weight:500;margin-top:.25rem;padding:.2rem .5rem;border-radius:4px}.race-primary-stat.accuracy.excellent .accuracy-feedback{color:#4ade80;background:rgba(74,222,128,.1)}.race-primary-stat.accuracy.good .accuracy-feedback{color:#22d3ee;background:rgba(34,211,238,.1)}.race-primary-stat.accuracy.fair .accuracy-feedback{color:#fbbf24;background:rgba(251,191,36,.1)}.race-primary-stat.accuracy.needs-work .accuracy-feedback{color:#f87171;background:rgba(248,113,113,.1)}.race-results-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}.race-results-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Roboto Mono,monospace;border:none}.race-results-button.primary{background-color:#ffffffe6;color:#050508;box-shadow:0 4px 12px #fff3}.race-results-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffffff4d;background-color:#fff}.race-results-button.secondary{background-color:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.1)}.race-results-button.secondary:hover{background-color:#ffffff26;transform:translateY(-2px);color:#fff}.race-results-hint{margin-top:1.5rem;color:#ffffff4d;font-size:.8rem}kbd{background-color:#ffffff1a;padding:.1rem .375rem;border-radius:.25rem;font-size:.75rem;font-family:inherit}.race-results h2{font-size:3rem;color:#fff;margin-bottom:30px;font-weight:800;background:linear-gradient(135deg,#fff 0%,#a5b4fc 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 10px 30px rgba(0,0,0,.3)}.results-summary{display:flex;justify-content:center;gap:40px;margin-bottom:30px;padding:20px;background-color:#ffffff0d;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.result-stat{background-color:#ffffff08;border-radius:12px;padding:15px 25px;color:#fff;font-size:2rem;font-weight:700;border:1px solid rgba(255,255,255,.05)}.result-stat span{font-weight:500;color:#ffffff80;margin-right:10px;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:5px}.result-actions{margin-top:35px;display:flex;justify-content:center;gap:15px}.results-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#050508e6!important;display:flex;justify-content:center;align-items:center;z-index:2002;animation:fadeIn .3s ease-out}.results-popup{width:90%;max-width:500px;background:linear-gradient(135deg,rgba(12,12,18,.98),rgba(5,5,8,.99))!important;border-radius:16px;overflow:hidden;box-shadow:0 20px 40px -10px #0009,0 0 40px #ffffff08!important;border:1px solid rgba(255,255,255,.12)!important;transform:translateY(0);animation:popIn .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.results-popup-close{position:absolute;top:15px;right:15px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff9!important;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:2;padding:0;font-size:16px}.results-popup-close:hover{background:rgba(255,255,255,.15)!important;color:#fffffff2!important;transform:scale(1.1)}.results-popup-close:active{transform:scale(.95)}.results-popup-content{padding:2.5rem;text-align:center}.results-popup h2,.results-popup-content h2{font-size:2.8rem;font-weight:800;margin:0 0 1.5rem;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.7))!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;letter-spacing:-.02em;text-shadow:none}.results-popup .results-summary{display:flex;justify-content:center;gap:2.5rem;margin:2rem 0;padding:1.5rem;background-color:#ffffff0d!important;border-radius:12px;border:1px solid rgba(255,255,255,.1)!important;box-shadow:inset 0 2px 8px #0000004d!important}.results-popup .result-stat{display:flex;flex-direction:column;align-items:center;color:#fffffff2!important;font-size:2.2rem;font-weight:700}.results-popup .result-stat span{font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#ffffff80!important;margin-bottom:.5rem}.results-popup .result-actions{margin-top:2.5rem;display:flex;justify-content:center;gap:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.9);opacity:0}70%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:.7}}@keyframes countdown-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.speed-indicator,.sentence-overlay,.current-word,.word-queue,.share-container,.result-card,.results-content .results-stats,.completed-words{display:none}.focus-trap{position:absolute;opacity:0;pointer-events:none;height:1px;width:1px;overflow:hidden;outline:none}.typing-progress-container{position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#ffffff1a;overflow:hidden}.typing-progress-bar{height:100%;transition:width .15s ease-out,background-color .3s ease;will-change:width}.controls-container{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:10px;position:absolute;top:10px;right:10px;z-index:10}.language-selector-btn{background-color:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:8px 16px;color:#ffffffe6;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 0 8px #0003}.language-selector-btn:hover{background-color:#ffffff1f;border-color:#ffffff40;box-shadow:0 0 12px #0000004d;transform:translateY(-1px)}.language-selector-btn:active{transform:translateY(1px);box-shadow:0 0 5px #0003}.language-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#050508d9;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(3px)}.language-modal{background-color:#0a0a0e;border-radius:12px;box-shadow:0 0 20px #00000080;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.1)}.language-modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.language-modal-header h3{margin:0;color:#ffffffe6;font-size:18px}.language-modal-close{background:none;border:none;color:#fff9;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;padding:5px;border-radius:50%;transition:background-color .2s}.language-modal-close:hover{background-color:#ffffff1a;color:#ffffffe6}.language-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding:20px;overflow-y:auto;max-height:60vh}.language-option{background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;color:#ffffffe6;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.language-option:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:translate(-100%);transition:transform .5s ease}.language-option:hover{background-color:#ffffff1a;border-color:#fff3;box-shadow:0 0 10px #0000004d;transform:translateY(-2px)}.language-option:hover:before{transform:translate(100%)}.language-option.selected{background-color:#ffffff1f;border-color:#ffffff4d;box-shadow:0 0 15px #0006,inset 0 0 8px #ffffff0d}.language-name-local{font-size:16px;font-weight:700;margin-bottom:4px}.language-name-english{font-size:12px;opacity:.7}.sentence-display .char-incorrect{color:#f87171!important;background-color:#f8717126;border-radius:2px}.start-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#05050866!important;backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;z-index:2002;animation:fadeIn .3s ease-out;pointer-events:auto}.modal-overlay{position:fixed;inset:0;background-color:#050508eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal-overlay.open{opacity:1;visibility:visible}@keyframes modal-pop{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-content{background:rgba(12,12,18,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06);padding:2rem 2.5rem;border-radius:12px;box-shadow:0 20px 60px #0009;text-align:center;max-width:500px;width:min(92vw,500px);max-height:min(80vh,560px);overflow:hidden;display:flex;flex-direction:column;position:relative;animation:modal-pop .35s cubic-bezier(.175,.885,.32,1.275)}.modal-body{overflow-y:auto;padding-right:.25rem;display:flex;flex-direction:column;gap:1rem}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:999px}.modal-body::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}.modal-overlay.open .modal-content{transform:scale(1)}.modal-content:before{content:"";position:absolute;inset:-1px;background:linear-gradient(45deg,transparent,rgba(255,255,255,.03),transparent);border-radius:12px;opacity:.5;z-index:-1}.modal-close-button{position:absolute;top:1.2rem;right:1.2rem;background:none;border:none;font-size:1.6rem;color:#fff6;cursor:pointer;padding:0;line-height:1;transition:all .3s ease}.modal-close-button:hover{color:#ffffffe6;transform:scale(1.1) rotate(90deg)}.modal-icon svg{font-size:3.8rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.modal-icon .success-icon{color:#4ade80}.modal-icon .partial-icon{color:#fbbf24}.modal-content h2{font-family:Outfit,sans-serif;margin:0;font-size:1.6rem;color:#fffffff2;font-weight:300;letter-spacing:.5px;text-transform:uppercase}.modal-content h2.confirmation-title{font-size:1.8rem;color:#fffffff2}.modal-subtitle{font-family:Inter,sans-serif;margin:0;font-size:1rem;color:#ffffff80;font-weight:500}.modal-message{font-family:Inter,sans-serif;font-size:.95rem;color:#ffffff80;margin-bottom:0;line-height:1.6}.modal-message .lesson-title{font-weight:600;color:#fffc}.modal-stats{display:flex;justify-content:space-around;gap:1rem;background:rgba(255,255,255,.03);padding:1rem;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.modal-stat{display:flex;flex-direction:column;align-items:center;min-width:100px}.stat-label{font-family:Inter,sans-serif;font-size:11px;color:#ffffff73;text-transform:uppercase;margin-bottom:.5rem;font-weight:600;letter-spacing:1.5px}.stat-value{font-family:Outfit,sans-serif;font-size:2.2rem;font-weight:700;color:#fffffff2}.stat-value.high{color:#4ade80}.stat-value.medium{color:#fbbf24}.stat-value.low{color:#ef4444}.modal-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.shortcut-hint{font-family:Inter,sans-serif;margin-top:1rem;font-size:.85rem;color:#ffffff59}.modal-button{font-family:Outfit,sans-serif;padding:.75rem 1.4rem;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.6rem;text-transform:uppercase;letter-spacing:.5px}.modal-button svg{font-size:1.1em}.modal-button.primary{background:rgba(255,255,255,.08);color:#ffffffe6;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0000004d}.modal-button.primary:hover{background:rgba(255,255,255,.12);border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 6px 20px #0006}.modal-button.secondary{background:rgba(255,255,255,.04);color:#fff9;border:1px solid rgba(255,255,255,.06)}.modal-button.secondary:hover{background:rgba(255,255,255,.08);border-color:#ffffff1a;color:#ffffffe6;transform:translateY(-2px)}.modal-button.tertiary{background:transparent;color:#ffffff73}.modal-button.tertiary:hover{background:rgba(255,255,255,.04);color:#ffffffb3}.modal-share-section{margin-top:1.5rem;border-top:1px solid rgba(255,255,255,.06);padding-top:1.2rem}.share-prompt{font-family:Inter,sans-serif;margin:0 0 1rem;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#fff6;font-weight:600}.share-buttons{display:flex;gap:1rem;justify-content:center}.share-button{width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:all .3s ease;color:#ffffffb3}.share-button.twitter{background:rgba(29,155,240,.1);border-color:#1d9bf033}.share-button.reddit{background:rgba(255,69,0,.1);border-color:#ff450033}.share-button.facebook{background:rgba(24,119,242,.1);border-color:#1877f233}.share-button.screenshot{background:rgba(255,255,255,.04);border-color:#ffffff1a}.share-button:hover{transform:translateY(-3px) scale(1.1);box-shadow:0 8px 20px #0000004d;background:rgba(255,255,255,.1)}.modal-cta{font-family:Inter,sans-serif;margin-top:1.8rem;font-size:.9rem;color:#ffffff80}.modal-cta strong{color:#fffc}@media (max-width: 600px){.modal-content{padding:1.5rem 1.8rem}.modal-stats{flex-direction:column;align-items:center;gap:1rem}.modal-stat{width:100%}.modal-actions{flex-direction:column;gap:.75rem}.modal-button{width:100%;justify-content:center}}@media (max-width: 400px){.modal-content{padding:1.2rem 1.4rem}.share-buttons{flex-wrap:wrap;gap:.75rem}}.modal-header{display:flex;flex-direction:column;gap:.35rem}.modal-icon{margin-bottom:.25rem}.leaderboard-modal{max-width:600px;width:min(94vw,600px)}.leaderboard-header{margin-bottom:1.5rem}.leaderboard-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem}.leaderboard-main-icon{font-size:3rem;color:#e2b714;filter:drop-shadow(0 0 20px rgba(226,183,20,.4));animation:iconFloat 3s ease-in-out infinite}.leaderboard-icon-glow{position:absolute;width:80px;height:80px;background:radial-gradient(circle,rgba(226,183,20,.2) 0%,transparent 70%);border-radius:50%;animation:glowPulse 2s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(5deg)}}@keyframes glowPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.8}}.leaderboard-loader{padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.leaderboard-table-container{max-height:400px;overflow-y:auto;border-radius:12px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.05)}.leaderboard-table-container::-webkit-scrollbar{width:6px}.leaderboard-table-container::-webkit-scrollbar-track{background:rgba(255,255,255,.02);border-radius:3px}.leaderboard-table-container::-webkit-scrollbar-thumb{background:rgba(226,183,20,.3);border-radius:3px}.leaderboard-table-container::-webkit-scrollbar-thumb:hover{background:rgba(226,183,20,.5)}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table thead{position:sticky;top:0;background:#1a1f26;z-index:1}.leaderboard-table th{text-align:left;padding:.875rem 1rem;font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.06)}.leaderboard-table td{padding:.75rem 1rem;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.leaderboard-table tbody tr:hover{background:rgba(226,183,20,.03)}.leaderboard-table tbody tr.top-rank{background:rgba(226,183,20,.05)}.leaderboard-table tbody tr.top-rank:hover{background:rgba(226,183,20,.08)}.rank-cell{color:#6b7280;font-size:.85rem;width:50px}.top-badge{display:inline-block;padding:2px 6px;background:linear-gradient(135deg,#e2b714 0%,#f0c517 100%);color:#0d1117;font-size:.6rem;font-weight:700;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.player-cell{color:#e6edf3;font-weight:600}.score-cell{color:#e2b714;font-weight:700;font-size:1rem}.level-cell{color:#94a3b8}.accuracy-cell{color:#8b949e}.accuracy-cell.high-accuracy{color:#4ade80;font-weight:600}.date-cell{color:#6b7280;font-size:.85rem;white-space:nowrap}.leaderboard-time{opacity:.6;font-size:.75rem;margin-left:4px}.leaderboard-empty{padding:3rem 1rem;text-align:center}.leaderboard-empty .empty-icon{font-size:3rem;margin-bottom:1rem;animation:emptyBounce 2s ease-in-out infinite}@keyframes emptyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.leaderboard-empty p{color:#e6edf3;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.leaderboard-empty span{color:#6b7280;font-size:.9rem}.leaderboard-footer{margin-top:1.5rem;display:flex;justify-content:center}.leaderboard-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(226,183,20,.1);color:#e2b714;border:1px solid rgba(226,183,20,.2);border-radius:8px;font-weight:600;font-size:.9rem;text-decoration:none;transition:all .2s ease}.leaderboard-link:hover{background:rgba(226,183,20,.2);transform:translateY(-2px);box-shadow:0 4px 12px #e2b71426}@media (max-width: 500px){.leaderboard-table th,.leaderboard-table td{padding:.6rem .5rem}.leaderboard-table th.date-header,.leaderboard-table td.date-cell,.leaderboard-table th.level-header,.leaderboard-table td.level-cell{display:none}}.user-ranking-card{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,rgba(226,183,20,.08) 0%,rgba(226,183,20,.02) 100%);border-radius:16px;border:1px solid rgba(226,183,20,.15)}.ranking-rank{display:flex;flex-direction:column;align-items:center;gap:.5rem}.rank-label{font-size:.85rem;color:#8b949e;text-transform:uppercase;letter-spacing:1px;font-weight:500}.rank-value{font-size:3rem;font-weight:800;color:#e2b714;text-shadow:0 0 20px rgba(226,183,20,.4)}.ranking-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;background:rgba(0,0,0,.2);border-radius:10px;border:1px solid rgba(255,255,255,.05)}.stat-label{font-size:.7rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.1rem;font-weight:700;color:#e6edf3}:root{--is-dark-theme: 0;--color-primary: #5271ff;--color-secondary: #41c7be;--color-accent: #ffca58;--color-purple: #7951b3;--color-green: #4eb070;--color-blue: #4a6bff;--color-background: #f6f8fa;--color-card-bg: #ffffff;--color-text: #333333;--color-text-light: #636e72;--color-success: #46b958;--color-error: #e74c3c;--color-warning: #f39c12;--gradient-primary: linear-gradient(45deg, var(--color-primary), #7b90ff);--gradient-secondary: linear-gradient(45deg, var(--color-secondary), #7be0d8);--gradient-accent: linear-gradient(45deg, var(--color-accent), #ffe0a3);--gradient-purple: linear-gradient(45deg, var(--color-purple), #a587d4);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--font-primary: "Roboto Mono", monospace;--font-secondary: "Roboto Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--anim-fast: .2s;--anim-medium: .3s;--anim-slow: .5s;--shadow-small: 0 4px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 8px 24px rgba(0, 0, 0, .12);--shadow-large: 0 16px 38px rgba(0, 0, 0, .15)}@supports (color: color-mix(in srgb,white,black)){:root{--color-primary: color-mix( in srgb, var(--dark-color-primary) calc(var(--is-dark-theme) * 100%), var(--light-color-primary) );--color-secondary: color-mix( in srgb, var(--dark-color-secondary) calc(var(--is-dark-theme) * 100%), var(--light-color-secondary) );--color-accent: color-mix( in srgb, var(--dark-color-accent) calc(var(--is-dark-theme) * 100%), var(--light-color-accent) );--color-purple: color-mix( in srgb, var(--dark-color-purple) calc(var(--is-dark-theme) * 100%), var(--light-color-purple) );--color-green: color-mix( in srgb, var(--dark-color-green) calc(var(--is-dark-theme) * 100%), var(--light-color-green) );--color-blue: color-mix( in srgb, var(--dark-color-blue) calc(var(--is-dark-theme) * 100%), var(--light-color-blue) );--color-background: color-mix( in srgb, var(--dark-color-background) calc(var(--is-dark-theme) * 100%), var(--light-color-background) );--color-card-bg: color-mix( in srgb, var(--dark-color-card-bg) calc(var(--is-dark-theme) * 100%), var(--light-color-card-bg) );--color-text: color-mix( in srgb, var(--dark-color-text) calc(var(--is-dark-theme) * 100%), var(--light-color-text) );--color-text-light: color-mix( in srgb, var(--dark-color-text-light) calc(var(--is-dark-theme) * 100%), var(--light-color-text-light) );--color-success: color-mix( in srgb, var(--dark-color-success) calc(var(--is-dark-theme) * 100%), var(--light-color-success) );--color-error: color-mix( in srgb, var(--dark-color-error) calc(var(--is-dark-theme) * 100%), var(--light-color-error) );--color-warning: color-mix( in srgb, var(--dark-color-warning) calc(var(--is-dark-theme) * 100%), var(--light-color-warning) )}}.history-modal{max-width:560px;width:min(94vw,560px)}.history-header{margin-bottom:1.5rem}.history-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem}.history-main-icon{font-size:3rem;color:#e2b714;filter:drop-shadow(0 0 20px rgba(226,183,20,.4));animation:iconFloat 3s ease-in-out infinite}.history-icon-glow{position:absolute;width:80px;height:80px;background:radial-gradient(circle,rgba(226,183,20,.2) 0%,transparent 70%);border-radius:50%;animation:glowPulse 2s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(5deg)}}@keyframes glowPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.2);opacity:.8}}.history-loader{padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.history-loader-icon{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.loader-clock{width:60px;height:60px;background:linear-gradient(135deg,#1a1f26 0%,#22272e 100%);border-radius:50%;border:3px solid #e2b714;position:relative;box-shadow:0 0 20px #e2b7144d,inset 0 0 15px #00000080}.clock-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.clock-hand{position:absolute;background:#e2b714;border-radius:2px;transform-origin:bottom center;bottom:50%;left:50%}.clock-hand.hour{width:3px;height:14px;margin-left:-1.5px;animation:hourHand 3s linear infinite}.clock-hand.minute{width:2px;height:20px;margin-left:-1px;animation:minuteHand 1s linear infinite}@keyframes hourHand{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes minuteHand{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loader-papers{position:absolute;inset:0}.paper{position:absolute;font-size:1.2rem;opacity:0;animation:paperFly 2s ease-in-out infinite}.paper-1{top:0;left:10%;animation-delay:0s}.paper-2{top:20%;right:5%;animation-delay:.6s}.paper-3{bottom:10%;left:5%;animation-delay:1.2s}@keyframes paperFly{0%{opacity:0;transform:translate(0) rotate(0) scale(.5)}20%{opacity:1;transform:translate(5px,-10px) rotate(10deg) scale(1)}80%{opacity:1;transform:translate(15px,-30px) rotate(-10deg) scale(1)}to{opacity:0;transform:translate(20px,-40px) rotate(20deg) scale(.5)}}.history-loader-text{display:flex;align-items:center;gap:.25rem;font-size:1.1rem;color:#e6edf3;font-weight:500}.loader-dots{display:inline-flex;gap:1px}.loader-dots span{animation:loaderDot 1.4s ease-in-out infinite;opacity:.3}.loader-dots span:nth-child(1){animation-delay:0s}.loader-dots span:nth-child(2){animation-delay:.2s}.loader-dots span:nth-child(3){animation-delay:.4s}@keyframes loaderDot{0%,60%,to{opacity:.3}30%{opacity:1}}.history-loader-subtext{font-size:.85rem;color:#6b7280;animation:subtextFade 2s ease-in-out infinite}@keyframes subtextFade{0%,to{opacity:.5}50%{opacity:1}}.history-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.history-stat-card{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:rgba(255,255,255,.03);border-radius:12px;border:1px solid rgba(255,255,255,.06);transition:all .2s ease}.history-stat-card:hover{background:rgba(255,255,255,.05);border-color:#e2b71433;transform:translateY(-2px)}.history-stat-card.highlight{background:rgba(226,183,20,.08);border-color:#e2b71433}.history-stat-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(226,183,20,.1);border-radius:10px;color:#e2b714;font-size:1rem}.history-stat-icon.accuracy-icon{background:rgba(74,222,128,.1);color:#4ade80}.history-stat-icon.recent-icon{background:rgba(251,146,60,.1);color:#fb923c;animation:fireGlow 1.5s ease-in-out infinite}@keyframes fireGlow{0%,to{box-shadow:0 0 8px #fb923c4d}50%{box-shadow:0 0 16px #fb923c80}}.history-stat-info{display:flex;flex-direction:column;gap:2px}.history-stat-value{font-size:1.25rem;font-weight:700;color:#e6edf3;line-height:1}.history-stat-label{font-size:.7rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.history-table-container{max-height:300px;overflow-y:auto;border-radius:12px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.05)}.history-table-container::-webkit-scrollbar{width:6px}.history-table-container::-webkit-scrollbar-track{background:rgba(255,255,255,.02);border-radius:3px}.history-table-container::-webkit-scrollbar-thumb{background:rgba(226,183,20,.3);border-radius:3px}.history-table-container::-webkit-scrollbar-thumb:hover{background:rgba(226,183,20,.5)}.history-table{width:100%;border-collapse:collapse}.history-table thead{position:sticky;top:0;background:#1a1f26;z-index:1}.history-table th{text-align:left;padding:.875rem 1rem;font-size:.7rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.06)}.history-table td{padding:.75rem 1rem;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.history-table tbody tr:hover{background:rgba(226,183,20,.03)}.history-table tbody tr.latest-row{background:rgba(226,183,20,.05)}.history-table tbody tr.latest-row:hover{background:rgba(226,183,20,.08)}.rank-cell{color:#6b7280;font-size:.85rem;width:50px}.latest-badge{display:inline-block;padding:2px 6px;background:linear-gradient(135deg,#e2b714 0%,#f0c517 100%);color:#0d1117;font-size:.6rem;font-weight:700;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.wpm-cell{color:#e2b714;font-weight:700;font-size:1rem}.accuracy-cell{color:#8b949e}.accuracy-cell.high-accuracy{color:#4ade80;font-weight:600}.source-cell{max-width:120px}.source-lesson{color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.source-test{color:#6b7280;font-style:italic}.time-cell{color:#6b7280;font-size:.85rem;white-space:nowrap}.history-empty{padding:3rem 1rem;text-align:center}.history-empty .empty-icon{font-size:3rem;margin-bottom:1rem;animation:emptyBounce 2s ease-in-out infinite}@keyframes emptyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.history-empty p{color:#e6edf3;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.history-empty span{color:#6b7280;font-size:.9rem}@media (max-width: 500px){.history-stats-grid{grid-template-columns:1fr;gap:.5rem}.history-stat-card{padding:.75rem}.history-table th,.history-table td{padding:.6rem .5rem}.history-table th:nth-child(4),.history-table td:nth-child(4){display:none}.source-cell{max-width:80px}}.virtual-keyboard-container{position:relative;width:100%;height:500px;perspective:1000px;overflow:visible;display:flex;flex-direction:column;align-items:center;margin-bottom:50px;transform-origin:top center;transition:transform .3s ease-out,height .3s ease-out}.desk{position:absolute;width:110%;height:100%;background-color:#2a2a2a;transform:rotateX(65deg);transform-origin:bottom center;bottom:0;z-index:1;box-shadow:inset 0 10px 30px #0003;background-image:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:20px 20px}.container{position:relative;z-index:2;width:800px;max-width:100%}.keyboard{position:relative;width:100%;background-color:#1e1e1e;border-radius:12px;padding:18px;box-shadow:0 15px 25px #0006,0 5px 10px #0000004d,inset 0 1px 1px #ffffff1a;transform:perspective(800px) rotateX(20deg);transform-origin:center top;margin-bottom:80px;border:2px solid #111;background-image:linear-gradient(180deg,#2a2a2a 0%,#1a1a1a 100%)}.keyboard-row{display:flex;justify-content:center;margin:7px 0}.key{position:relative;width:40px;height:40px;background:linear-gradient(to bottom,#444 0%,#333 100%);color:#fff;border-radius:6px;display:flex;justify-content:center;align-items:center;margin:0 4px;font-size:14px;font-family:Roboto Mono,monospace;box-shadow:0 4px #111,inset 0 1px 1px #fff3;cursor:pointer;user-select:none;text-transform:uppercase;font-weight:600;transition:all .08s ease-out;border:1px solid #222;text-shadow:0 1px 1px rgba(0,0,0,.4)}.virtual-keyboard-container.layout-jcuken .key{font-size:15px}.key.backspace,.key.enter{width:80px;font-size:12px;background:linear-gradient(to bottom,#3a3a3a 0%,#282828 100%)}.key.shift_left,.key.shift_right{width:90px;font-size:12px;background:linear-gradient(to bottom,#3a3a3a 0%,#282828 100%)}.key.caps{width:70px;font-size:12px;background:linear-gradient(to bottom,#3a3a3a 0%,#282828 100%)}.key.highlight{background:linear-gradient(to bottom,#2388ff 0%,#0e76e0 100%);color:#fff;transform:translateY(4px);box-shadow:0 0 #111,0 0 15px #1e90ff99,inset 0 1px 2px #fff6;border-color:#0a5ebf}.key.next{background:linear-gradient(to bottom,#5fb662 0%,#4a9c4d 100%);color:#fff;animation:pulse-next 1.5s infinite ease-in-out;border-color:#3d8141}@keyframes pulse-next{0%,to{box-shadow:0 4px #285c2b,0 0 10px #4caf5080}50%{box-shadow:0 4px #285c2b,0 0 20px #4caf50cc}}.key.space{width:300px;background:linear-gradient(to bottom,#3a3a3a 0%,#282828 100%)}.key:hover:not(.highlight){background:linear-gradient(to bottom,#505050 0%,#404040 100%);box-shadow:0 4px #111,inset 0 1px 1px #ffffff4d}.key:active:not(.highlight){transform:translateY(4px);box-shadow:0 0 #111}.hands-container{position:absolute;bottom:0px;left:50%;transform:translate(-50%);width:750px;max-width:100%;height:300px;display:flex;justify-content:center;transition:all .4s ease-out;z-index:5}.hands-container.typing{bottom:20px;transition:all .3s cubic-bezier(.25,.1,.25,1.05)}.hand{position:relative;width:300px;height:300px;display:flex;justify-content:center;transform-origin:bottom center;transition:all .3s ease}.hand.left{transform:rotate(-10deg) translate(10px);margin-right:20px}.hand.right{transform:rotate(10deg) translate(-10px);margin-left:20px}.wrist{position:absolute;bottom:0;width:90px;height:70px;background:linear-gradient(to bottom,#ffdbac 0%,#f1c27d 100%);border-radius:15px 15px 0 0;box-shadow:0 0 10px #0000001a,inset 0 15px 5px -10px #fff3,inset 0 -15px 5px -10px #0000001a}.wrist:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;height:30%;background:linear-gradient(to right,rgba(255,255,255,.1),rgba(255,255,255,0),rgba(255,255,255,.1));border-radius:50%}.palm{position:absolute;bottom:68px;width:140px;height:55px;background:linear-gradient(to top,#ffdbac 0%,#f1c27d 60%,#e0a370 100%);border-radius:50% 50% 40% 40%;box-shadow:0 0 10px #0000001a,inset 0 5px 5px #fff3,inset 0 -5px 5px #0000000d;z-index:1}.palm:after{content:"";position:absolute;top:30%;left:10%;width:80%;height:60%;background:linear-gradient(45deg,transparent 48%,rgba(0,0,0,.05) 50%,transparent 52%) no-repeat,linear-gradient(-45deg,transparent 48%,rgba(0,0,0,.05) 50%,transparent 52%) no-repeat,linear-gradient(90deg,transparent 48%,rgba(0,0,0,.03) 50%,transparent 52%) no-repeat;background-size:100% 100%,100% 100%,100% 30%;background-position:center,center,center 65%;border-radius:inherit}.hand.left .palm{left:50%;transform:translate(-55%)}.hand.right .palm{right:50%;transform:translate(55%)}.finger{position:absolute;bottom:95px;width:28px;height:110px;background:linear-gradient(to top,#ffdbac 0%,#f1c27d 100%);border-radius:14px 14px 10px 10px;transform-origin:bottom center;display:flex;flex-direction:column;align-items:center;transition:all .2s ease;box-shadow:0 0 5px #00000026,inset 0 10px 10px -10px #ffffff4d,inset 0 -10px 10px -10px #0000001a;z-index:2}.finger:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(transparent 30%,rgba(0,0,0,.03) 31%,transparent 32%),linear-gradient(transparent 60%,rgba(0,0,0,.03) 61%,transparent 62%);border-radius:inherit}.finger:before{content:"";position:absolute;top:5%;left:50%;transform:translate(-50%);width:70%;height:15px;background:linear-gradient(to bottom,rgba(255,235,205,.8),rgba(255,225,195,.9));border-radius:50% 50% 40% 40%/80% 80% 20% 20%;box-shadow:0 0 2px #0000001a}.knuckle{width:100%;height:8px;background-color:#00000008;border-radius:4px;margin:25px 0;position:relative}.knuckle:after{content:"";position:absolute;width:80%;height:1px;top:50%;left:10%;background:linear-gradient(to right,transparent,rgba(255,255,255,.3),transparent)}.knuckle:before{content:"";position:absolute;width:80%;height:1px;bottom:-1px;left:10%;background:linear-gradient(to right,transparent,rgba(0,0,0,.05),transparent)}.finger-connection{position:absolute;bottom:-15px;width:28px;height:20px;background:linear-gradient(to top,#f1c27d,#ffdbac);border-radius:50% 50% 0 0;z-index:-1}.hand.left .finger-pinky{left:30px;height:80px;transform:rotate(-22deg) translateY(10px)}.hand.left .finger-ring{left:70px;height:105px;transform:rotate(-6deg) translateY(5px)}.hand.left .finger-middle{left:110px;height:115px;transform:rotate(5deg)}.hand.left .finger-index{left:150px;height:110px;transform:rotate(25deg) translateY(15px)}.hand.left .finger-thumb{left:165px;bottom:45px;height:80px;width:35px;transform:rotate(65deg);border-radius:12px 18px 18px 12px;background:linear-gradient(to top right,#ffdbac 0%,#f1c27d 100%)}.hand.right .finger-pinky{right:30px;height:80px;transform:rotate(12deg) translateY(10px)}.hand.right .finger-ring{right:70px;height:105px;transform:rotate(0) translateY(0)}.hand.right .finger-middle{right:110px;height:115px;transform:rotate(-10deg)}.hand.right .finger-index{right:150px;height:110px;transform:rotate(-25deg) translateY(5px)}.hand.right .finger-thumb{right:155px;bottom:45px;height:80px;width:35px;transform:rotate(-65deg);border-radius:18px 12px 12px 18px;background:linear-gradient(to top left,#ffdbac 0%,#f1c27d 100%)}.finger-target-indicator{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid #4caf50;filter:drop-shadow(0 0 5px rgba(76,175,80,.7));animation:bounce 1s infinite ease-in-out;z-index:10}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0);opacity:.8}50%{transform:translate(-50%) translateY(-5px);opacity:1}}.finger.target{box-shadow:0 0 25px 5px #4caf50e6,inset 0 0 15px #4caf5099;background:linear-gradient(to top,#ffdbac 0%,#ffe7c9 60%,#c9ffd8 100%);border:3px solid #4caf50;animation:pulse-target .5s infinite ease-in-out;z-index:10;outline:1px solid rgba(255,255,255,.7);outline-offset:2px}.finger.typing{transition:transform .15s cubic-bezier(.2,.8,.3,1.2);box-shadow:0 0 15px #1e90ff80,inset 0 10px 10px -10px #fff6,inset 0 -10px 10px -10px #00000026;animation:fingerReturn .2s linear .2s forwards}#controls{position:absolute;bottom:-35px;left:50%;transform:translate(-50%) scale(var(--container-scale, 1));z-index:10}#animateButton{background:linear-gradient(to bottom,#2388ff 0%,#0e76e0 100%);color:#fff;border:none;border-radius:6px;padding:10px 18px;cursor:pointer;font-size:14px;font-weight:600;box-shadow:0 4px 6px #0003;transition:all .2s ease;border:1px solid #0a5ebf;text-shadow:0 1px 1px rgba(0,0,0,.4)}#animateButton:hover{background:linear-gradient(to bottom,#1e80f0 0%,#0d6ad0 100%);box-shadow:0 6px 8px #0000004d}#animateButton:active{transform:translateY(2px);box-shadow:0 2px 4px #0003}.finger-label{position:absolute;font-size:11px;background-color:#000000b3;color:#fff;padding:3px 6px;border-radius:4px;white-space:nowrap;bottom:-18px;left:50%;transform:translate(-50%);box-shadow:0 2px 4px #0000004d;text-shadow:0 1px 1px rgba(0,0,0,.5)}.mac-os .key[data-key=CTRL],.mac-os .key[data-key=ALT]{font-family:-apple-system,BlinkMacSystemFont,sans-serif}@media (max-width: 900px){.virtual-keyboard-container{height:450px}.container{width:700px}.hands-container{width:650px}.hand{width:250px}.hand.left .finger-pinky{left:20px}.hand.left .finger-ring{left:55px}.hand.left .finger-middle{left:90px}.hand.left .finger-index{left:125px}.hand.left .finger-thumb{left:165px}.hand.right .finger-pinky{right:20px}.hand.right .finger-ring{right:55px}.hand.right .finger-middle{right:90px}.hand.right .finger-index{right:125px}.hand.right .finger-thumb{right:165px}.palm{width:120px;height:45px}}@media (max-width: 768px){.virtual-keyboard-container{height:400px}.keyboard{transform:perspective(600px) rotateX(15deg);padding:10px;margin-bottom:60px}.key{width:32px;height:32px;font-size:10px;margin:0 2px}.key.backspace,.key.enter,.key.shift_left,.key.shift_right{width:60px}.key.caps{width:50px}.key.space{width:180px}.hands-container{width:500px;bottom:-180px}.hand{width:200px}.palm{width:110px;height:40px;bottom:60px}.finger{bottom:80px;width:24px;height:90px}.finger:before{width:24px;height:15px}.hand.left .finger-pinky{left:20px}.hand.left .finger-ring{left:60px}.hand.left .finger-middle{left:100px}.hand.left .finger-index{left:140px}.hand.left .finger-thumb{left:180px}.hand.right .finger-pinky{right:20px}.hand.right .finger-ring{right:60px}.hand.right .finger-middle{right:100px}.hand.right .finger-index{right:140px}.hand.right .finger-thumb{right:180px}}@media (max-width: 576px){.virtual-keyboard-container{height:350px}.keyboard{transform:perspective(400px) rotateX(15deg);padding:8px;margin-bottom:50px}.key{width:24px;height:24px;font-size:8px;margin:0 1px}.key.backspace,.key.enter,.key.shift_left,.key.shift_right{width:40px;font-size:8px}.key.caps{width:36px}.key.space{width:120px}.hands-container{width:360px;bottom:-150px}.hand{width:150px}.finger{width:20px;height:80px;bottom:70px}.finger:before{width:20px;height:12px}.palm{width:90px;height:35px;bottom:55px}.hand.left .finger-pinky{left:15px}.hand.left .finger-ring{left:45px}.hand.left .finger-middle{left:75px}.hand.left .finger-index{left:105px}.hand.left .finger-thumb{left:135px;width:25px;height:60px}.hand.right .finger-pinky{right:15px}.hand.right .finger-ring{right:45px}.hand.right .finger-middle{right:75px}.hand.right .finger-index{right:105px}.hand.right .finger-thumb{right:135px;width:25px;height:60px}}@media (max-width: 480px){.virtual-keyboard-container{height:320px;margin-bottom:40px}.container{width:100%}.keyboard{transform:perspective(400px) rotateX(12deg);padding:5px;margin-bottom:30px}.key{width:20px;height:20px;font-size:7px;margin:0 1px;border-radius:4px}.key.backspace,.key.enter,.key.shift_left,.key.shift_right{width:30px}.key.caps{width:28px}.key.space{width:100px}.hands-container{display:block;width:320px;bottom:-120px;transform:translate(-50%) scale(.8)}.finger{width:18px;height:70px}.finger:before{width:18px;height:10px}.knuckle{margin:16px 0}.palm{width:80px;height:30px;bottom:50px}}.virtual-keyboard-container[style*="transform: scale"] .keyboard{margin-bottom:40px}.virtual-keyboard-container[style*="transform: scale"] .hands-container{bottom:-40px}.virtual-keyboard-container.tiny-scale{overflow:hidden}.virtual-keyboard-container.tiny-scale .finger-target-indicator,.virtual-keyboard-container.tiny-scale .finger-label{display:none}.mission-path-container{width:100%;max-width:1200px;margin:0 auto;padding:120px 20px 300px;position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center}.mission-world{--world-color: rgba(255, 255, 255, .4);--world-shadow: rgba(255, 255, 255, .2);--world-light: rgba(255, 255, 255, .5)}.mission-world.world-introduction{--world-color: rgba(140, 200, 140, .6);--world-shadow: rgba(120, 180, 120, .4);--world-light: rgba(160, 220, 160, .7)}.mission-world.world-home-row{--world-color: rgba(180, 160, 200, .6);--world-shadow: rgba(160, 140, 180, .4);--world-light: rgba(200, 180, 220, .7)}.mission-world.world-top-row{--world-color: rgba(140, 180, 200, .6);--world-shadow: rgba(120, 160, 180, .4);--world-light: rgba(160, 200, 220, .7)}.mission-world.world-bottom-row{--world-color: rgba(200, 180, 140, .6);--world-shadow: rgba(180, 160, 120, .4);--world-light: rgba(220, 200, 160, .7)}.mission-world.world-numbers{--world-color: rgba(200, 150, 150, .6);--world-shadow: rgba(180, 130, 130, .4);--world-light: rgba(220, 170, 170, .7)}.mission-world.world-symbols{--world-color: rgba(140, 160, 190, .6);--world-shadow: rgba(120, 140, 170, .4);--world-light: rgba(160, 180, 210, .7)}.mission-world.world-shift{--world-color: rgba(200, 180, 140, .6);--world-shadow: rgba(180, 160, 120, .4);--world-light: rgba(220, 200, 160, .7)}.mission-world.world-speed{--world-color: rgba(200, 140, 150, .6);--world-shadow: rgba(180, 120, 130, .4);--world-light: rgba(220, 160, 170, .7)}.mission-world.world-accuracy{--world-color: rgba(140, 200, 160, .6);--world-shadow: rgba(120, 180, 140, .4);--world-light: rgba(160, 220, 180, .7)}.mission-world.world-mixed{--world-color: rgba(160, 150, 200, .6);--world-shadow: rgba(140, 130, 180, .4);--world-light: rgba(180, 170, 220, .7)}.mission-world.world-paragraphs{--world-color: rgba(200, 180, 140, .6);--world-shadow: rgba(180, 160, 120, .4);--world-light: rgba(220, 200, 160, .7)}.mission-world.world-coding{--world-color: rgba(140, 180, 200, .6);--world-shadow: rgba(120, 160, 180, .4);--world-light: rgba(160, 200, 220, .7)}.mission-world.world-mastery{--world-color: rgba(180, 150, 200, .6);--world-shadow: rgba(160, 130, 180, .4);--world-light: rgba(200, 170, 220, .7)}.mission-world{position:relative;width:100%;max-width:600px;margin-bottom:100px;display:flex;flex-direction:column;align-items:center;transition:transform .5s cubic-bezier(.34,1.56,.64,1);z-index:5}.mission-world:nth-child(odd){transform:translate(-30px)}.mission-world:nth-child(even){transform:translate(30px)}.mission-world:hover{z-index:20}.mission-world:nth-child(odd):hover{transform:scale(1.01) translate(-30px)}.mission-world:nth-child(even):hover{transform:scale(1.01) translate(30px)}.mission-world-header{background:rgba(15,15,22,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:100px;padding:12px 32px;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 10px 30px #0006,0 0 0 1px var(--world-color),0 0 8px var(--world-color) inset;position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:auto;min-width:300px;overflow:hidden}.mission-world-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,var(--world-color),transparent);opacity:.1;transform:translate(-100%);transition:transform .6s ease}.mission-world-header:hover:before{transform:translate(100%);transition:transform 2s ease}.mission-world-header:hover{transform:translateY(-1px);box-shadow:0 12px 30px #0000006b,0 0 0 1px var(--world-color),0 0 5px var(--world-color) inset;background:rgba(18,18,26,.75)}.world-info{color:#fff;text-align:center;flex:1}.world-title{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;margin:0;letter-spacing:2px;text-shadow:0 0 4px var(--world-color)}.world-desc{font-family:Inter,sans-serif;font-size:12px;opacity:.8;font-weight:500;margin-top:4px}.world-status-icon{color:var(--world-color);font-size:16px;margin-left:16px;filter:drop-shadow(0 0 2px var(--world-color))}.mission-path{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:30px;padding:20px;position:relative;max-width:500px}.mission-world:after{content:"";position:absolute;bottom:-100px;left:50%;width:2px;height:100px;background:linear-gradient(to bottom,var(--world-color),transparent);opacity:.3;z-index:0}.mission-world:last-child:after{display:none}.mission-node{position:relative;width:60px;height:60px;border-radius:50%;background:rgba(15,15,22,.7);backdrop-filter:blur(5px);border:1px solid var(--world-color);box-shadow:0 0 15px #00000080,0 0 4px var(--world-color) inset;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:2}.mission-node:hover{transform:scale(1.04);background:var(--world-color);box-shadow:0 0 5px var(--world-color),0 0 9px var(--world-color);z-index:10}.mission-node:hover .mission-node-icon{color:#fff;transform:scale(1.05)}.mission-node-icon{font-size:20px;color:var(--world-color);transition:all .3s ease;filter:drop-shadow(0 0 2px rgba(0,0,0,.5))}.mission-node.active{width:70px;height:70px;background:var(--world-color);box-shadow:0 0 20px var(--world-color),0 0 35px var(--world-color);animation:activePulse 2s infinite}.mission-node.active .mission-node-icon{color:#fff;font-size:24px}@keyframes activePulse{0%,to{transform:scale(1);box-shadow:0 0 20px var(--world-color)}50%{transform:scale(1.05);box-shadow:0 0 30px var(--world-color),0 0 45px var(--world-color)}}.mission-node.active:after{content:"START";position:absolute;top:-40px;background:var(--world-color);color:#fff;padding:6px 16px;border-radius:20px;font-weight:800;font-size:12px;box-shadow:0 0 10px var(--world-color);animation:floatLabel 3s ease-in-out infinite;white-space:nowrap}@keyframes floatLabel{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.mission-node.completed{background:rgba(var(--world-color),.2);border-color:var(--world-color);opacity:.8}.mission-node.completed .mission-node-icon{color:var(--world-color)}.mission-node.locked{border-color:#ffffff1a;background:rgba(255,255,255,.02);box-shadow:none;cursor:not-allowed}.mission-node.locked .mission-node-icon{color:#fff3}.mission-tooltip{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);background:rgba(10,10,20,.9);backdrop-filter:blur(8px);color:#fff;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s ease;border:1px solid var(--world-color);box-shadow:0 0 15px #00000080;z-index:20}.mission-node:hover .mission-tooltip{opacity:1;bottom:-50px}@media (max-width: 768px){.mission-path-container{padding:80px 10px 100px}.mission-world{margin-bottom:60px;transform:none!important}.mission-world-header{min-width:260px;padding:10px 24px}.mission-node{width:50px;height:50px}.mission-node.active{width:60px;height:60px}}.login-page{min-height:100vh;display:flex;flex-direction:column;background:#050508;position:relative;overflow:hidden;font-family:Inter,sans-serif}.login-page:before{content:"";position:absolute;top:-20%;left:-10%;width:50%;height:50%;background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 60%);pointer-events:none}.login-page:after{content:"";position:absolute;bottom:-20%;right:-10%;width:60%;height:60%;background:radial-gradient(circle,rgba(255,255,255,.02) 0%,transparent 60%);pointer-events:none}.login-container{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;z-index:1}.login-card{width:100%;max-width:420px;background:rgba(15,20,25,.95);border-radius:16px;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff14;padding:2.5rem;margin:1rem;position:relative;backdrop-filter:blur(20px);transition:transform .3s ease,box-shadow .3s ease}.login-card:hover{transform:translateY(-2px);box-shadow:0 30px 60px -15px #0009,0 0 0 1px #ffffff1a}.login-header{text-align:center;margin-bottom:2rem}.app-title{font-family:Orbitron,sans-serif;font-size:2rem;font-weight:700;color:#fff;margin:0;position:relative;letter-spacing:1px;text-shadow:0 2px 10px rgba(0,0,0,.3)}.app-title:after{content:"";display:block;width:40px;height:2px;background:#e2b714;margin:12px auto 0;border-radius:2px;box-shadow:0 0 10px #e2b71466}.login-subtitle{margin-top:.75rem;color:#9ca3af;font-size:.95rem;font-weight:400}.auth-mode-tabs{display:flex;margin-bottom:1.75rem;border-radius:12px;background-color:#ffffff08;padding:4px;border:1px solid rgba(255,255,255,.06)}.auth-tab{flex:1;background:none;border:none;padding:.75rem;font-size:.9rem;font-weight:500;color:#9ca3af;cursor:pointer;border-radius:8px;transition:all .2s ease;font-family:Inter,sans-serif}.auth-tab.active{background:rgba(255,255,255,.08);color:#fff;box-shadow:none}.auth-tab:hover:not(.active){background-color:#ffffff0a;color:#fff}.error-box{padding:.875rem 1rem;margin-bottom:1.25rem;background-color:#ef44441a;border-radius:8px;color:#f87171;font-size:.875rem;border:1px solid rgba(239,68,68,.2);backdrop-filter:blur(10px)}.login-form{margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#d1d5db;font-size:.875rem;font-weight:500;letter-spacing:.01em}.input-container{position:relative}.input-container input{width:100%;padding:.875rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:.9rem;transition:all .2s ease;background-color:#ffffff08;color:#fff;font-family:Inter,sans-serif}.input-container input:focus{outline:none;border-color:#e2b71480;box-shadow:0 0 0 2px #e2b7141a;background-color:#ffffff0d}.input-container input::placeholder{color:#ffffff4d}.terms-agreement{margin-bottom:.5rem;padding:1rem;background:rgba(255,255,255,.02);border-radius:8px;border:1px solid rgba(255,255,255,.06)}.terms-agreement p{margin:0;font-size:.8rem;color:#9ca3af;line-height:1.5;text-align:center}.terms-agreement strong{color:#e2b714}.terms-agreement a{color:#e2b714;text-decoration:underline;font-weight:500;transition:color .2s ease}.terms-agreement a:hover{color:#f0c517;text-decoration:underline}.submit-button{width:100%;padding:.875rem;background:#e2b714;color:#000;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;margin-top:.75rem;box-shadow:0 4px 12px #e2b71433;letter-spacing:.01em;font-family:Inter,sans-serif}.submit-button:hover:not(:disabled){background:#f0c517;transform:translateY(-1px);box-shadow:0 6px 16px #e2b7144d}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{background:rgba(226,183,20,.3);color:#00000080;cursor:not-allowed;box-shadow:none}.loading-spinner{display:inline-block;width:1.1rem;height:1.1rem;border:2px solid rgba(0,0,0,.3);border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite}.forgot-button{background:none;border:none;color:#e2b714;font-size:.875rem;font-weight:500;cursor:pointer;padding:0;transition:color .2s ease;font-family:Inter,sans-serif}.forgot-button:hover{color:#f0c517;text-decoration:underline}.guest-mode{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.guest-button{width:100%;padding:.875rem;background-color:transparent;color:#9ca3af;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.guest-button:hover{background-color:#ffffff0a;color:#fff;border-color:#fff3;transform:translateY(-1px)}.guest-button:active{transform:translateY(0)}.verification-message{text-align:center;padding:1.5rem}.verification-message h2{font-size:1.5rem;color:#fff;margin-bottom:1rem;font-weight:600}.verification-message p{color:#9ca3af;margin-bottom:1.5rem;line-height:1.6}.verification-message p strong{color:#e2b714}.resend-button{width:100%;padding:.875rem;background:#e2b714;color:#000;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;margin-bottom:.875rem;box-shadow:0 4px 12px #e2b71433;font-family:Inter,sans-serif}.resend-button:hover:not(:disabled){background:#f0c517;transform:translateY(-1px);box-shadow:0 6px 16px #e2b7144d}.resend-button:active:not(:disabled){transform:translateY(0)}.resend-button:disabled{background:rgba(226,183,20,.3);color:#00000080;cursor:not-allowed;box-shadow:none}.back-button{width:100%;padding:.875rem;background-color:transparent;color:#9ca3af;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.back-button:hover{background-color:#ffffff0a;color:#fff;border-color:#fff3;transform:translateY(-1px)}.back-button:active{transform:translateY(0)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.login-card{margin:.5rem;padding:1.75rem;border-radius:16px}.app-title{font-size:1.75rem}.login-subtitle{font-size:.9rem}.form-group label{font-size:.8125rem}.input-container input{font-size:.875rem;padding:.75rem 1rem}.submit-button,.resend-button,.back-button,.guest-button{font-size:.875rem;padding:.75rem}.auth-tab{padding:.7rem;font-size:.8125rem}}.success-message{background-color:#22c55e1a;border:1px solid rgba(34,197,94,.2);padding:.875rem 1rem;margin-bottom:1.25rem;border-radius:8px;color:#4ade80;backdrop-filter:blur(10px)}.success-message p{margin:0;font-size:.875rem;line-height:1.5}.divider{display:flex;align-items:center;margin:1.5rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:rgba(255,255,255,.1)}.divider span{padding:0 1rem;font-size:.8rem;color:#6b7280;white-space:nowrap}.social-buttons{display:flex;gap:.75rem;margin-bottom:1rem}.social-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.03);color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:Inter,sans-serif}.social-button:hover:not(:disabled){background:rgba(255,255,255,.08);border-color:#fff3;transform:translateY(-1px)}.social-button:active:not(:disabled){transform:translateY(0)}.social-button:disabled{opacity:.6;cursor:not-allowed}.social-icon{width:18px;height:18px}.social-button.google:hover:not(:disabled){border-color:#ea433566;background:rgba(234,67,53,.1)}.social-button.github:hover:not(:disabled){border-color:#ffffff4d;background:rgba(255,255,255,.1)}.social-button.discord:hover:not(:disabled){border-color:#5865f266;background:rgba(88,101,242,.1)}.loading-spinner.light{border-color:#ffffff4d;border-top-color:#fff}.link-separator{color:#6b7280;margin:0 .5rem;font-size:.75rem}.forgot-password{text-align:center;margin-top:1rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap}@media (max-width: 480px){.social-buttons{flex-direction:column}.social-button{width:100%}}.login-page .action-button.login-button{color:#e2b714;border-color:#e2b71440;background:rgba(226,183,20,.08)}.login-page .action-button.login-button:hover{background:rgba(226,183,20,.15);border-color:#e2b71466;color:#f0c517}.privacy-policy-page{display:flex;flex-direction:column;align-items:center;min-height:100vh;background:radial-gradient(120% 120% at 50% 0%,#1a1a21 0%,#0e0e11 55%,#08080c 100%);position:relative;overflow-x:hidden}.privacy-policy-container{display:flex;justify-content:center;align-items:flex-start;flex-grow:1;width:100%;padding:40px 20px;position:relative;z-index:1}.privacy-policy-card{background:linear-gradient(145deg,rgba(30,30,36,.95) 0%,rgba(20,20,24,.98) 100%);padding:48px;border-radius:20px;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff0d;max-width:850px;width:100%;text-align:left;backdrop-filter:blur(20px)}.privacy-policy-card h1{text-align:center;color:#fff;margin-bottom:8px;font-size:2.2rem;font-weight:700}.privacy-policy-card h1:after{content:"";display:block;width:60px;height:3px;background:linear-gradient(90deg,#daa520,#f4c430);margin:16px auto 0;border-radius:2px;box-shadow:0 0 20px #daa52066}.privacy-policy-card .last-updated{text-align:center;color:#ffffff80;font-size:.9rem;margin-bottom:24px}.privacy-policy-card h2{color:#daa520;margin-top:32px;margin-bottom:12px;border-bottom:1px solid rgba(218,165,32,.2);padding-bottom:8px;font-size:1.25rem;font-weight:600}.privacy-policy-card h3{color:#ffffffe6;margin-top:20px;margin-bottom:10px;font-size:1.05rem;font-weight:600}.privacy-policy-card p{color:#ffffffbf;line-height:1.7;margin-bottom:16px}.privacy-policy-card ul{color:#ffffffbf;line-height:1.7;margin-bottom:16px;padding-left:24px}.privacy-policy-card li{margin-bottom:8px}.privacy-policy-card strong{color:#fffffff2}.privacy-policy-page .age-restriction-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,rgba(218,165,32,.15) 0%,rgba(218,165,32,.08) 100%);border:1px solid rgba(218,165,32,.3);border-radius:12px;padding:20px 24px;margin:24px 0}.privacy-policy-page .age-restriction-banner .age-icon{font-size:2rem}.privacy-policy-page .age-restriction-banner strong{color:#daa520;font-size:1.1rem;display:block;margin-bottom:4px}.privacy-policy-page .age-restriction-banner p{margin:0;color:#ffffffb3;font-size:.95rem}.privacy-policy-card .contact-info{background:rgba(255,255,255,.05);border-radius:8px;padding:12px 16px;border-left:3px solid #daa520}@media (max-width: 768px){.privacy-policy-container{padding:20px 16px}.privacy-policy-card{padding:32px 24px}.privacy-policy-card h1{font-size:1.75rem}.privacy-policy-page .age-restriction-banner{flex-direction:column;text-align:center}}.terms-of-service-page{display:flex;flex-direction:column;align-items:center;min-height:100vh;background:radial-gradient(120% 120% at 50% 0%,#1a1a21 0%,#0e0e11 55%,#08080c 100%);position:relative;overflow-x:hidden}.terms-of-service-container{display:flex;justify-content:center;align-items:flex-start;flex-grow:1;width:100%;padding:40px 20px;position:relative;z-index:1}.terms-of-service-card{background:linear-gradient(145deg,rgba(30,30,36,.95) 0%,rgba(20,20,24,.98) 100%);padding:48px;border-radius:20px;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff0d;max-width:850px;width:100%;text-align:left;backdrop-filter:blur(20px)}.terms-of-service-card h1{text-align:center;color:#fff;margin-bottom:8px;font-size:2.2rem;font-weight:700}.terms-of-service-card h1:after{content:"";display:block;width:60px;height:3px;background:linear-gradient(90deg,#daa520,#f4c430);margin:16px auto 0;border-radius:2px;box-shadow:0 0 20px #daa52066}.terms-of-service-card .last-updated{text-align:center;color:#ffffff80;font-size:.9rem;margin-bottom:24px}.terms-of-service-card h2{color:#daa520;margin-top:32px;margin-bottom:12px;border-bottom:1px solid rgba(218,165,32,.2);padding-bottom:8px;font-size:1.25rem;font-weight:600}.terms-of-service-card h3{color:#ffffffe6;margin-top:20px;margin-bottom:10px;font-size:1.05rem;font-weight:600}.terms-of-service-card p{color:#ffffffbf;line-height:1.7;margin-bottom:16px}.terms-of-service-card ul{color:#ffffffbf;line-height:1.7;margin-bottom:16px;padding-left:24px}.terms-of-service-card li{margin-bottom:8px}.terms-of-service-card strong{color:#fffffff2}.age-restriction-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,rgba(218,165,32,.15) 0%,rgba(218,165,32,.08) 100%);border:1px solid rgba(218,165,32,.3);border-radius:12px;padding:20px 24px;margin:24px 0}.age-restriction-banner .age-icon{font-size:2rem}.age-restriction-banner strong{color:#daa520;font-size:1.1rem;display:block;margin-bottom:4px}.age-restriction-banner p{margin:0;color:#ffffffb3;font-size:.95rem}.contact-info{background:rgba(255,255,255,.05);border-radius:8px;padding:12px 16px;border-left:3px solid #daa520}@media (max-width: 768px){.terms-of-service-container{padding:20px 16px}.terms-of-service-card{padding:32px 24px}.terms-of-service-card h1{font-size:1.75rem}.age-restriction-banner{flex-direction:column;text-align:center}}body.test-page-dark{background:#050508;color:#fffffff2;background-attachment:fixed}body.test-page-dark:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(255,255,255,.02),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(255,255,255,.015),transparent),radial-gradient(ellipse 50% 30% at 0% 100%,rgba(255,255,255,.01),transparent);pointer-events:none;z-index:0}body.test-page-dark:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.008) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.008) 1px,transparent 1px);background-size:80px 80px;pointer-events:none;z-index:0}.test-page{width:100%;min-height:100vh;display:flex;flex-direction:column;background-color:transparent;color:#fffffff2;font-family:Roboto Mono,monospace;overflow-x:hidden;padding-left:0;box-sizing:border-box;transition:padding-left .3s ease;position:relative;z-index:1}.test-page.dark-mode{background:transparent}.test-page.sidebar-collapsed{padding-left:0}.test-container{flex:1;width:100%;max-width:90vw;margin:0 auto;padding:1rem 2rem;display:flex;flex-direction:column;gap:1.5rem;align-items:center;box-sizing:border-box;overflow-x:hidden;position:relative;z-index:5}.test-container--results{justify-content:center;min-height:calc(100vh - 220px);padding-top:0;padding-bottom:0}.test-page.sidebar-collapsed .test-container{max-width:calc(100vw - 90px);margin-left:auto;margin-right:auto}.test-page.sidebar-collapsed .test-typing-area{margin-left:auto;margin-right:auto}.test-page.sidebar-collapsed .test-options-row{justify-content:center;margin-left:auto;margin-right:auto}.test-config{width:100%;display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-bottom:1rem}.test-mode-selector,.test-option-selector{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.test-mode-button,.test-option-button{background:none;border:none;color:#ffffff8c;padding:.5rem 1rem;border-radius:.25rem;cursor:pointer;font-size:.875rem;transition:color .2s,background-color .2s;font-family:Roboto Mono,monospace}.test-mode-button:hover,.test-option-button:hover{color:#ffffffe6;background-color:#ffffff0d}.test-mode-button.active,.test-option-button.active{color:#fff}.test-stats-display{display:flex;justify-content:center;gap:2rem;margin-bottom:1rem}.test-stat{display:flex;flex-direction:column;align-items:center}.test-stat-value{font-size:2rem;font-weight:300;color:#ffffffe6}.test-stat-label{font-size:.875rem;color:#ffffff73}.test-hidden-input{position:absolute;opacity:0;pointer-events:none}.test-typing-area{width:100%;margin:.5rem auto;background-color:transparent;padding:1.5rem;border-radius:8px;font-size:2.2rem;line-height:1.5;box-shadow:none;position:relative;min-height:140px}.test-words-wrapper{width:100%;max-width:100%;line-height:1.5;display:flex;flex-wrap:wrap;position:relative;gap:.5rem;justify-content:flex-start;height:12rem;overflow:hidden;align-content:flex-start;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (max-width: 768px){.test-words-wrapper{height:6.75rem}}.test-words-wrapper::-webkit-scrollbar{display:none}.test-words-wrapper.unfocused{opacity:.7;transition:opacity .3s ease;position:relative}.test-focus-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;pointer-events:auto;gap:1rem}.test-center-restart-button{background-color:#ffffffe6;color:#050508;border:none;border-radius:.5rem;padding:.75rem 1.25rem;font-size:1.1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-family:Roboto Mono,monospace;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 8px #0000004d}.test-center-restart-button:hover{transform:translateY(-1px);box-shadow:0 6px 12px #00000059}.test-center-restart-button:active{transform:translateY(0)}.test-focus-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffffb3;font-size:1rem;padding:.75rem 1.5rem;border-radius:.25rem;background-color:#00000080;pointer-events:none;z-index:5;text-align:center;transition:opacity .2s ease}.test-row-container{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;justify-content:flex-start;padding:0;box-sizing:border-box}.test-word-row{display:flex;flex-wrap:wrap;width:100%;gap:.5rem;min-height:3rem;align-items:center;justify-content:flex-start;padding:.25rem 0}.test-word{display:inline-flex;position:relative;font-size:2.2rem;line-height:1.2em;margin:.25em .3em;font-variant:no-common-ligatures}.test-word.active,.test-word.correct{color:#fffffff2}.test-word.incorrect{color:#e57373}.test-word.inactive{color:#ffffff59}.test-letter{display:inline-block;position:relative}.test-letter.correct{color:#fffffff2}.test-letter.incorrect{color:#e57373}.test-letter.extra{color:#b71c1c}.test-letter.untyped{color:#ffffff59}.test-caret{position:absolute;height:1.2em;width:2px;background-color:#fffc;animation:blink 1s infinite;z-index:1;transition:left 80ms ease-out;pointer-events:none}.test-caret.unfocused{animation:slow-blink 2s infinite;opacity:.6}.test-caret.typing{animation:none;opacity:1}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes slow-blink{0%,to{opacity:.6}50%{opacity:.1}}.test-visual-keyboard{margin-top:1rem;width:100%;max-width:800px;display:flex;flex-direction:column;align-items:center;gap:.5rem}.test-keyboard-row{display:flex;justify-content:center;gap:.25rem}.test-key{width:2.5rem;height:2.5rem;background-color:#ffffff0d;border-radius:.25rem;display:flex;align-items:center;justify-content:center;color:#fff6;font-size:.875rem;text-transform:uppercase;border:1px solid transparent;transition:all .1s}.test-key.active{background-color:#ffffffe6;color:#050508;transform:translateY(2px)}.test-key.space{width:12rem}.test-restart-section{margin-top:2rem;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem}.test-restart-button{background:none;border:none;color:#ffffff73;display:flex;align-items:center;gap:.5rem;font-size:1rem;cursor:pointer;transition:color .2s;padding:.5rem 1rem;border-radius:.25rem;font-family:Roboto Mono,monospace}.test-restart-button:hover{color:#ffffffe6}.test-history-button{background:none;border:none;color:#ffffff59;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:color .2s;padding:.5rem;border-radius:.25rem}.test-history-button:hover{color:#fffc}.test-restart-hint{color:#ffffff59;font-size:.75rem;display:flex;align-items:center;gap:.25rem}kbd{background-color:#ffffff1a;padding:.1rem .375rem;border-radius:.25rem;font-size:.75rem}.test-results-wrapper{width:100%;display:flex;align-items:center;justify-content:center}.test-results-container{width:100%;max-width:600px;margin:0 auto;animation:resultsSlideIn .5s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:center;padding:1rem;padding-top:0;margin-top:-1rem}@keyframes resultsSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.test-results-content{background:linear-gradient(145deg,rgba(18,20,28,.95),rgba(12,12,18,.98));padding:2rem;border-radius:16px;max-width:100%;width:100%;text-align:center;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}.test-results-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,.5),rgba(255,255,255,.3));background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:0% 0%}50%{background-position:100% 0%}}.test-personal-best-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.75rem 1.5rem;margin-bottom:1.5rem;animation:bannerPulse 3s ease-in-out infinite}@keyframes bannerPulse{0%,to{box-shadow:0 0 #ffffff1a}50%{box-shadow:0 0 15px 3px #ffffff14}}.test-personal-best-banner span{color:#ffffffe6;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:1px}.test-personal-best-banner .trophy-icon{color:#fffc;font-size:1.2rem;animation:trophyBounce 2s ease-in-out infinite}@keyframes trophyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.test-results-header{margin-bottom:1.5rem}.test-results-title{font-size:1.75rem;font-weight:700;color:#fffffff2;margin:0 0 .75rem;letter-spacing:.5px}.test-config-info{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.test-config-badge{background-color:#ffffff0f;color:#fffc;padding:.3rem .8rem;border-radius:20px;font-size:.75rem;text-transform:capitalize;letter-spacing:.5px;font-weight:500}.test-config-badge.difficulty{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#ffffffe6}.test-config-badge.mode{background-color:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.test-primary-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem;background:rgba(0,0,0,.2);border-radius:12px;border:1px solid rgba(255,255,255,.05)}.test-primary-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;position:relative}.stat-icon-wrapper{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.stat-icon{color:#ffffffb3;font-size:1.1rem}.test-primary-stat-value{font-size:3rem;font-weight:700;color:#fffffff2;line-height:1;text-shadow:none}.test-primary-stat-value.animate-count{animation:countUp .6s cubic-bezier(.16,1,.3,1)}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.test-primary-stat-label{color:#ffffff73;font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}.personal-best-hint{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:#fff6;margin-top:.25rem}.personal-best-hint svg{color:#ffffff80;font-size:.65rem}.accuracy-feedback{font-size:.7rem;font-weight:500;margin-top:.25rem;padding:.2rem .5rem;border-radius:4px}.test-primary-stat.accuracy.excellent .accuracy-feedback{color:#4ade80;background:rgba(74,222,128,.1)}.test-primary-stat.accuracy.good .accuracy-feedback{color:#22d3ee;background:rgba(34,211,238,.1)}.test-primary-stat.accuracy.fair .accuracy-feedback{color:#fbbf24;background:rgba(251,191,36,.1)}.test-primary-stat.accuracy.needs-work .accuracy-feedback{color:#f87171;background:rgba(248,113,113,.1)}.test-secondary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}.test-secondary-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;background:rgba(255,255,255,.03);border-radius:8px;border:1px solid rgba(255,255,255,.05);transition:all .2s ease}.test-secondary-stat:hover{background:rgba(255,255,255,.05);border-color:#ffffff1a}.secondary-stat-label{font-size:.65rem;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.secondary-stat-value{font-size:1rem;font-weight:600;color:#ffffffe6;display:flex;align-items:center;gap:.25rem}.secondary-stat-value .time-icon{font-size:.8rem;color:#fff6}.secondary-stat-value.perfect,.chars-correct{color:#81c784}.chars-separator{color:#fff6;margin:0 .1rem}.chars-total{color:#ffffffe6}.test-results-actions{display:flex;gap:.75rem;justify-content:center;margin-bottom:.75rem}.test-results-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-family:Roboto Mono,monospace;font-size:.9rem;font-weight:600;transition:all .2s ease;border:none}.test-results-button.primary{background:rgba(255,255,255,.9);color:#050508}.test-results-button.primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ffffff26}.test-results-button.primary:active{transform:translateY(0)}.test-results-button.secondary{background:rgba(255,255,255,.06);color:#fffc;border:1px solid rgba(255,255,255,.08)}.test-results-button.secondary:hover{background:rgba(255,255,255,.1);border-color:#ffffff26}.test-results-hint{font-size:.75rem;color:#fff6;margin:0 0 1rem}.test-results-hint kbd{background:rgba(255,255,255,.1);padding:.15rem .4rem;border-radius:4px;font-size:.7rem;margin:0 .15rem}.test-share-section{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05)}.share-label{font-size:.7rem;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.test-share-buttons{display:flex;gap:.5rem}.test-share-button{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:all .2s ease;color:#fff}.test-share-button.twitter{background:rgba(29,155,240,.15);border:1px solid rgba(29,155,240,.25)}.test-share-button.twitter:hover{background:rgba(29,155,240,.8);transform:translateY(-1px)}.test-share-button.reddit{background:rgba(255,69,0,.15);border:1px solid rgba(255,69,0,.25)}.test-share-button.reddit:hover{background:rgba(255,69,0,.8);transform:translateY(-1px)}.test-share-button.screenshot{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fffc}.test-share-button.screenshot:hover{background:rgba(255,255,255,.9);color:#050508;transform:translateY(-1px)}@media (max-width: 576px){.test-results-container{padding:.5rem}.test-results-content{padding:1.5rem 1rem}.test-results-title{font-size:1.4rem}.test-primary-stats{gap:1rem;padding:1rem}.test-primary-stat-value{font-size:2.25rem}.stat-icon-wrapper{width:32px;height:32px}.stat-icon{font-size:.9rem}.test-secondary-stats{grid-template-columns:repeat(2,1fr);gap:.5rem}.test-results-actions{flex-direction:column}.test-results-button{width:100%}.test-share-section{flex-direction:column;gap:.75rem}.test-results-wrapper{min-height:auto}}.test-results-logo,.test-all-errors-container,.test-results-stats,.test-result-stat,.test-result-value,.test-result-label{display:none}.test-options-row{width:auto;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;margin:1.5rem 0 1rem;background:none;padding:0 1rem;box-sizing:border-box;min-height:42px;position:relative;z-index:1}.test-options-row .test-mode-button,.test-options-row .test-option-button{margin:0}@media (max-width: 1200px){.test-container{max-width:calc(100vw - 280px);padding:1rem}.test-page.sidebar-collapsed .test-container{max-width:calc(100vw - 80px);margin-left:auto;margin-right:auto}}@media (max-width: 992px){.test-typing-area{max-width:90%}}@media (max-width: 768px){.test-page,.test-page.sidebar-collapsed{padding-left:0}.test-container{width:100%;max-width:100%;padding:.5rem}.test-stats-display{gap:1rem}.test-stat-value{font-size:1.5rem}.test-visual-keyboard{display:none}.test-options-row{gap:.25rem;font-size:.9rem;padding:0 .5rem}.test-row-container{padding:0 2%}}@media (max-width: 576px){.test-typing-area{max-width:100%;margin:1rem 0}.test-options-row{margin:1rem 0 .5rem}.test-container{padding:.5rem}.test-mode-button,.test-option-button{padding:.4rem .75rem;font-size:.8rem}}.test-sidebar-mobile-toggle{display:none;position:fixed;left:10px;top:70px;z-index:1001;background:var(--main-color, #e2b714);border:none;color:var(--bg-color, #232323);width:36px;height:36px;border-radius:50%;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 5px #0003}@media (max-width: 768px){.test-sidebar-mobile-toggle{display:none}}.stats-page{min-height:100vh;position:relative;font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,sans-serif}.stats-page.dark-mode{color:#e6edf3}.stats-container{max-width:720px;margin:0 auto;padding:1.5rem;position:relative;z-index:1}.stats-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:300px;color:#8b949e}.loading-spinner{width:32px;height:32px;border:3px solid rgba(226,183,20,.2);border-top-color:#e2b714;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stats-login-prompt{background:#161b22;border-radius:16px;padding:3rem 2rem;text-align:center;border:1px solid #30363d}.stats-login-prompt .login-icon{font-size:3rem;margin-bottom:1rem}.stats-login-prompt h2{font-size:1.5rem;font-weight:600;color:#e6edf3;margin:0 0 .5rem}.stats-login-prompt p{color:#8b949e;margin:0 0 1.5rem}.stats-login-prompt .login-btn{background:#e2b714;color:#0d1117;border:none;padding:.75rem 2rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.stats-login-prompt .login-btn:hover{background:#f0c517;transform:translateY(-1px)}.stats-empty{background:#161b22;border-radius:16px;padding:3rem 2rem;text-align:center;border:1px solid #30363d}.stats-empty .empty-icon{font-size:3rem;margin-bottom:1rem}.stats-empty h2{font-size:1.5rem;font-weight:600;color:#e6edf3;margin:0 0 .5rem}.stats-empty p{color:#8b949e;margin:0 0 1.5rem}.stats-empty .start-btn{background:#e2b714;color:#0d1117;border:none;padding:.75rem 2rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.stats-empty .start-btn:hover{background:#f0c517;transform:translateY(-1px)}.stats-hero{background:linear-gradient(135deg,#161b22 0%,#1a2030 100%);border-radius:20px;padding:2rem;margin-bottom:1rem;border:1px solid #30363d;display:flex;align-items:center;gap:2rem}.hero-main{flex:1;text-align:center}.hero-wpm{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.wpm-number{font-size:4rem;font-weight:800;color:#e2b714;line-height:1;letter-spacing:-2px}.wpm-unit{font-size:1.25rem;font-weight:500;color:#8b949e;text-transform:uppercase}.hero-label{font-size:.85rem;color:#8b949e;margin:.5rem 0;text-transform:uppercase;letter-spacing:.05em}.skill-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:rgba(255,255,255,.05);border:1px solid var(--badge-color, #e2b714);border-radius:20px;margin-top:.5rem}.skill-icon{font-size:1rem}.skill-label{font-size:.8rem;font-weight:600;color:var(--badge-color, #e2b714);text-transform:uppercase;letter-spacing:.05em}.hero-secondary{display:flex;flex-direction:column;gap:1.25rem;padding-left:2rem;border-left:1px solid #30363d}.secondary-stat{text-align:left}.secondary-stat .stat-value{font-size:1.75rem;font-weight:700;color:#e6edf3;line-height:1.2}.secondary-stat .stat-label{font-size:.75rem;color:#8b949e;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.sparkline{display:block;margin-top:.5rem}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.quick-stat{display:flex;align-items:center;gap:.75rem;background:#161b22;border:1px solid #30363d;border-radius:12px;padding:1rem;transition:all .2s ease}.quick-stat.clickable{cursor:pointer}.quick-stat.clickable:hover{border-color:#e2b714;background:#1c2128}.quick-icon{font-size:1.25rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(226,183,20,.1);border-radius:10px;color:#e2b714;flex-shrink:0}.quick-content{flex:1;min-width:0}.quick-value{font-size:1.25rem;font-weight:700;color:#e6edf3;display:block;line-height:1.2}.quick-label{font-size:.7rem;color:#8b949e;text-transform:uppercase;letter-spacing:.04em}.quick-arrow{color:#6e7681;font-size:.75rem}.section-title{font-size:.85rem;font-weight:600;color:#e6edf3;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em}.progress-section{margin-bottom:1.5rem}.progress-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.progress-card{background:#161b22;border:1px solid #30363d;border-radius:16px;padding:1.25rem}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.85rem;color:#8b949e}.trend-badge{font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.trend-badge.positive{color:#3fb950;background:rgba(63,185,80,.15)}.trend-badge.negative{color:#f85149;background:rgba(248,81,73,.15)}.trend-badge.neutral{color:#8b949e;background:rgba(139,148,158,.15)}.comparison-row{display:flex;gap:1rem}.comparison-item{flex:1;text-align:center}.comp-values{display:flex;align-items:baseline;justify-content:center;gap:.3rem;margin-bottom:.25rem}.comp-current{font-size:1.25rem;font-weight:700;color:#e6edf3}.comp-vs{font-size:.65rem;color:#6e7681}.comp-prev{font-size:.85rem;color:#6e7681}.comp-label{font-size:.65rem;color:#8b949e;text-transform:uppercase;letter-spacing:.04em}.consistency-card{display:flex;align-items:center;justify-content:center}.progress-ring-container{position:relative;display:flex;flex-direction:column;align-items:center}.progress-ring{transform:rotate(-90deg)}.progress-ring-bg{stroke:#21262d}.progress-ring-fill{transition:stroke-dashoffset .5s ease;stroke-linecap:round}.progress-ring-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-ring-value{font-size:1.5rem;font-weight:700;color:#e6edf3;display:block;line-height:1}.progress-ring-label{font-size:.7rem;color:#8b949e}.progress-ring-sublabel{font-size:.65rem;color:#6e7681;margin-top:.5rem;text-align:center}.activity-section{margin-bottom:1.5rem}.github-heatmap{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:1rem 1.25rem}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.heatmap-title{font-size:.9rem;color:#8b949e}.heatmap-title strong{color:#e6edf3}.heatmap-legend{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#8b949e}.heatmap-legend .heatmap-cell{width:11px;height:11px;flex-shrink:0}.heatmap-graph{overflow-x:auto;overflow-y:hidden;padding-bottom:8px}.heatmap-months{display:flex;position:relative;height:16px;margin-bottom:4px;margin-left:32px;font-size:.7rem;color:#8b949e}.heatmap-month{position:absolute;white-space:nowrap}.heatmap-body{display:flex;gap:4px}.heatmap-days{display:flex;flex-direction:column;justify-content:space-around;font-size:.7rem;color:#8b949e;width:28px;flex-shrink:0;padding:2px 0}.heatmap-days span{height:13px;display:flex;align-items:center}.heatmap-grid{display:flex;gap:3px}.heatmap-week{display:flex;flex-direction:column;gap:3px}.heatmap-cell{width:11px;height:11px;border-radius:2px;cursor:pointer;transition:transform .1s ease;flex-shrink:0}.heatmap-cell:hover{transform:scale(1.3);outline:2px solid rgba(255,255,255,.5);outline-offset:1px;z-index:1}.heatmap-cell.level-0{background:#21262d;border:1px solid #30363d}.heatmap-cell.level-1{background:#0e4429;border:1px solid #0e4429}.heatmap-cell.level-2{background:#006d32;border:1px solid #006d32}.heatmap-cell.level-3{background:#26a641;border:1px solid #26a641}.heatmap-cell.level-4{background:#39d353;border:1px solid #39d353}.heatmap-cell.level-future{background:transparent;border:none;cursor:default}.heatmap-cell.level-future:hover{transform:none;outline:none}.heatmap-tooltip{position:fixed;transform:translate(-50%,-100%);background:#24292f;border:1px solid #30363d;border-radius:6px;padding:.5rem .75rem;pointer-events:none;z-index:1000;box-shadow:0 8px 24px #0006;white-space:nowrap;animation:tooltipFadeIn .15s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-100%) translateY(4px)}to{opacity:1;transform:translate(-50%,-100%) translateY(0)}}.tooltip-date{font-size:.75rem;color:#e6edf3;font-weight:600;margin-bottom:.2rem}.tooltip-stats{font-size:.7rem;color:#8b949e}.tooltip-stats strong{color:#e6edf3}.performance-section{background:#161b22;border:1px solid #30363d;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem}.performance-section .section-title{margin-bottom:1.25rem}.performance-bars{display:flex;flex-direction:column;gap:1rem}.perf-bar-item{display:flex;flex-direction:column;gap:.4rem}.perf-bar-header{display:flex;justify-content:space-between;font-size:.8rem;color:#8b949e}.perf-bar-value{font-weight:600;color:#e6edf3}.perf-bar-track{height:8px;background:#21262d;border-radius:4px;overflow:hidden}.perf-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.perf-bar-fill.recent{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.perf-bar-fill.mid{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.perf-bar-fill.all{background:linear-gradient(90deg,#6b7280,#9ca3af)}.perf-best-marker{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #21262d;font-size:.8rem;color:#e2b714;font-weight:600}.motivation-section{text-align:center;padding:1.5rem;background:linear-gradient(135deg,rgba(226,183,20,.05),transparent);border-radius:16px;border:1px solid rgba(226,183,20,.1)}.motivation-section p{margin:0;color:#8b949e;font-size:.95rem}.motivation-section strong{color:#e2b714}@media (max-width: 768px){.stats-container{padding:1rem}.stats-hero{flex-direction:column;text-align:center;gap:1.5rem}.hero-secondary{flex-direction:row;padding-left:0;border-left:none;padding-top:1.5rem;border-top:1px solid #30363d;width:100%;justify-content:space-around}.secondary-stat{text-align:center}.wpm-number{font-size:3rem}.quick-stats{grid-template-columns:1fr 1fr}.quick-stat:last-child{grid-column:span 2}.progress-grid{grid-template-columns:1fr}.consistency-card{padding:1.5rem}.comparison-row{flex-wrap:wrap}.comparison-item{min-width:calc(50% - .5rem)}.github-heatmap{padding:.75rem}.heatmap-cell{width:10px;height:10px}.heatmap-grid,.heatmap-week{gap:2px}.heatmap-days{width:24px;font-size:.6rem}.heatmap-days span{height:12px}.heatmap-months{font-size:.6rem;margin-left:28px}}@media (max-width: 480px){.quick-stats{grid-template-columns:1fr}.quick-stat:last-child{grid-column:auto}.wpm-number{font-size:2.5rem}.comparison-item{min-width:100%}.heatmap-cell{width:8px;height:8px}.heatmap-grid,.heatmap-week{gap:1px}.heatmap-days{width:20px;font-size:.55rem}.heatmap-days span{height:9px}.heatmap-months{margin-left:24px}}.ranking-page{min-height:100vh;position:relative;font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,sans-serif}.ranking-container{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem;position:relative;z-index:1}.ranking-hero{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;border-radius:16px;background:linear-gradient(135deg,#141821 0%,#1c2333 100%);border:1px solid rgba(255,255,255,.08);margin-bottom:1.5rem;box-shadow:0 12px 30px #0000004d}.ranking-tabs{display:flex;gap:.75rem;margin-bottom:1.5rem}.ranking-tab{padding:.5rem 1.3rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#a6b0c3;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all .2s ease}.ranking-tab:hover{border-color:#ffffff4d;color:#fff}.ranking-tab.active{background:rgba(226,183,20,.18);color:#fff;border-color:#e2b71499;box-shadow:0 10px 25px #e2b71440}.ranking-tab.external{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.ranking-tab.external .external-icon{font-size:.85em;opacity:.8}.ranking-reset{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.reset-chip{display:inline-flex;align-items:center;gap:.5rem;background:rgba(226,183,20,.12);color:#f7d774;border:1px solid rgba(226,183,20,.45);padding:.45rem .75rem;border-radius:999px;font-size:.9rem;font-weight:600;white-space:nowrap}.reset-chip .countdown{color:#e2b714;background:rgba(0,0,0,.28);padding:.15rem .5rem;border-radius:8px;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800;letter-spacing:.01em;text-shadow:0 0 10px rgba(226,183,20,.35)}.reset-subtext{color:#a6b0c3;font-size:.8rem}.ranking-hero h1{margin:0;font-size:1.75rem;color:#f5f6f8}.ranking-hero p{margin:.25rem 0 0;color:#a6b0c3;font-size:.95rem}.ranking-user-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.25rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(17,23,34,.8);margin-bottom:1.25rem}.ranking-user-strip.guest{border-style:dashed;background:rgba(15,20,25,.65)}.user-strip-info{display:flex;align-items:center;gap:.85rem;flex:1;flex-wrap:wrap;min-height:48px}.user-strip-info p{margin:0}.user-rank-pill{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .85rem;border-radius:12px;font-weight:700;font-size:1.4rem;color:#0f1419;background:linear-gradient(135deg,#f7d774,#e2b714)}.user-strip-title{color:#f5f6f8;font-size:1rem;font-weight:600}.user-strip-meta{color:#8b95a7;font-size:.9rem;margin-top:.15rem}.user-strip-subtle{color:#6f778b;font-size:.8rem;margin-top:.2rem}.user-strip-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.user-strip-button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.1rem;border-radius:999px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600;cursor:pointer;text-decoration:none;background:rgba(255,255,255,.1);color:#f5f6f8;transition:opacity .15s ease}.user-strip-button.primary{background:#e2b714;color:#0f1419;border:none}.user-strip-button:disabled{opacity:.5;cursor:default}.ranking-hero-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#0f1419;background:linear-gradient(135deg,#f7d774,#e2b714);box-shadow:0 10px 25px #e2b71466}.ranking-refresh{margin-left:auto;display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:1px solid rgba(255,255,255,.2);color:#f5f6f8;padding:.6rem 1rem;border-radius:999px;text-transform:uppercase;font-size:.85rem;letter-spacing:.04em;cursor:pointer;transition:border-color .2s ease,color .2s ease}.ranking-refresh:disabled{opacity:.6;cursor:default}.ranking-refresh:not(:disabled):hover{border-color:#e2b714;color:#e2b714}.ranking-refresh .spinning{animation:spin 1s linear infinite}.ranking-error{background:rgba(220,76,100,.15);border:1px solid rgba(220,76,100,.4);color:#f8d7da;padding:.75rem 1rem;border-radius:12px;margin-bottom:1rem}.ranking-table-wrapper{background:rgba(15,20,25,.85);border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 60px #00000073;overflow:hidden}.ranking-loading,.ranking-empty{padding:3rem;text-align:center;color:#a6b0c3;font-size:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.ranking-loading-spinner{width:42px;height:42px;border:3px solid rgba(255,255,255,.15);border-top-color:#e2b714;border-radius:50%;animation:spin .9s linear infinite}.ranking-table{width:100%;border-collapse:collapse;color:#f5f6f8}.ranking-table thead{background:rgba(255,255,255,.02)}.ranking-table th{text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;padding:1rem;text-align:left;color:#8b95a7}.ranking-table td{padding:1.1rem 1rem;border-top:1px solid rgba(255,255,255,.05)}.ranking-table tr:hover td{background:rgba(255,255,255,.02)}.ranking-table tr.current-user-row td{background:rgba(103,247,177,.05);border-top-color:#67f7b140}.ranking-table tr.current-user-row:hover td{background:rgba(103,247,177,.12)}.rank-chip{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:600;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.rank-1{background:linear-gradient(135deg,#f7d774,#e2b714);color:#0f1419;border:none}.rank-2{background:linear-gradient(135deg,#e0e0e0,#b8b8b8);color:#0f1419;border:none}.rank-3{background:linear-gradient(135deg,#f2c48b,#c77c3b);color:#0f1419;border:none}.username-cell{display:flex;flex-direction:column;gap:.2rem}.username{font-size:1rem;font-weight:600}.top-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;color:#f7d774;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;background:rgba(247,215,116,.15);border-radius:4px;width:fit-content}.top-badge.silver{color:silver;background:rgba(192,192,192,.15)}.top-badge.bronze{color:#cd7f32;background:rgba(205,127,50,.15)}.top-three td{background:rgba(255,255,255,.02)}.score-value{font-weight:800;font-size:1.1rem;color:#f7d774;text-shadow:0 0 10px rgba(247,215,116,.3)}.accuracy{font-weight:700;color:#67f7b1}.wpm-value{font-weight:700;color:#e2ebff}.date-time{display:flex;flex-direction:column;gap:.15rem}.time-sub{font-size:.8rem;color:#6b7280}.ranking-load-more-wrapper{display:flex;justify-content:center;margin-top:1.5rem}.ranking-load-more{min-width:200px;padding:.85rem 1.5rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#f5f6f8;text-transform:uppercase;letter-spacing:.08em;font-weight:600;cursor:pointer;transition:border-color .2s ease,color .2s ease}.ranking-load-more:not(:disabled):hover{border-color:#e2b714;color:#e2b714}.ranking-load-more:disabled{opacity:.6;cursor:default}@media (max-width: 768px){.ranking-hero{flex-direction:column;align-items:flex-start}.ranking-reset{margin-left:0;align-items:flex-start}.ranking-refresh{width:100%;justify-content:center;margin-left:0}.ranking-user-strip,.user-strip-info{flex-direction:column;align-items:flex-start}.user-strip-actions{width:100%;justify-content:flex-start}.user-strip-button{width:100%;text-align:center}.ranking-table th:nth-child(5),.ranking-table td:nth-child(5),.ranking-table th:nth-child(6),.ranking-table td:nth-child(6){display:none}}.typing-rain-page{position:relative;width:100%;height:100vh;overflow:hidden;background:transparent;font-family:Roboto Mono,monospace;color:#e2e8f0;user-select:none}.rain-container{position:absolute;inset:0;z-index:10;pointer-events:none}.city-skyline{position:absolute;bottom:0;left:0;width:100%;height:140px;background-repeat:repeat-x;background-position:bottom;background-size:auto 100%;z-index:5;opacity:.7;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 300" preserveAspectRatio="none"><path d="M0,300 L0,220 L60,220 L60,160 L120,160 L120,240 L180,240 L180,140 L240,140 L240,260 L320,260 L320,120 L400,120 L400,250 L460,250 L460,190 L520,190 L520,280 L600,280 L600,100 L680,100 L680,230 L740,230 L740,270 L840,270 L840,170 L900,170 L900,290 L1000,290 L1000,300 Z" fill="%230f172a"/></svg>')}.city-skyline-back{position:absolute;bottom:0;left:0;width:100%;height:200px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 300" preserveAspectRatio="none"><path d="M0,300 L0,260 L80,260 L80,190 L140,190 L140,250 L220,250 L220,160 L300,160 L300,290 L400,290 L400,130 L480,130 L480,270 L600,270 L600,210 L660,210 L660,300 L780,300 L780,150 L880,150 L880,280 L950,280 L950,230 L1000,230 L1000,300 Z" fill="%231e293b" opacity="0.6"/></svg>');z-index:4}.drop-item{position:absolute;padding:8px 20px;border-radius:99px;background:rgba(10,15,25,.9);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:1.2rem;font-weight:600;letter-spacing:.5px;transition:transform .1s;will-change:transform,top;backdrop-filter:blur(4px);pointer-events:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006}.drop-item:before{content:"";position:absolute;top:-100vh;bottom:100%;left:50%;width:1px;background:linear-gradient(180deg,transparent 0%,rgba(226,183,20,.3) 100%);pointer-events:none}.drop-item.highlight{border-color:#e2b714;box-shadow:0 0 20px #e2b71440;transform:scale(1.05);z-index:20}.drop-item.highlight:before{background:linear-gradient(180deg,transparent 0%,rgba(226,183,20,.5) 100%)}.matched-part{color:#e2b714;font-weight:800;text-shadow:0 0 10px rgba(226,183,20,.4)}.controls-bar{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:20;width:100%;max-width:580px;padding:0 20px}.game-input{width:100%;background:rgba(10,15,25,.85);border:1px solid rgba(255,255,255,.1);padding:14px 20px;border-radius:12px;color:#f1f5f9;font-size:1.1rem;font-family:inherit;outline:none;transition:all .2s ease;backdrop-filter:blur(8px)}.game-input:focus{border-color:#e2b714;box-shadow:0 4px 20px #0006}.game-input.error{border-color:#ef4444;animation:shake .3s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.visual-effect{position:absolute;pointer-events:none;z-index:100;font-weight:800;animation-fill-mode:forwards;font-family:Outfit,sans-serif}.visual-effect.score{color:#e2b714;font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.5);animation:floatUp .8s ease-out}.visual-effect.splash{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(148,163,184,.7) 50%,transparent 100%);z-index:100;animation:dustExplosion .5s ease-out forwards;pointer-events:none;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;box-shadow:none;opacity:.9}.visual-effect.splash:before{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;border-radius:50%;border:3px solid rgba(226,232,240,.6);transform:translate(-50%,-50%);animation:shockwaveDust .5s ease-out forwards;z-index:-1}.visual-effect.splash:after{content:"";display:block;position:absolute;top:50%;left:50%;width:10px;height:10px;border-radius:50%;border:6px solid rgba(200,200,200,.2);transform:translate(-50%,-50%);animation:shockwaveDustSecondary .6s ease-out forwards;z-index:-2}@keyframes floatUp{0%{opacity:1;transform:translate(-50%,-100%) scale(.8)}to{opacity:0;transform:translate(-50%,-250%) scale(1.1)}}@keyframes dustExplosion{0%{transform:translate(-50%,-50%) scale(.2);opacity:.9}30%{transform:translate(-50%,-60%) scale(1.3);opacity:.7;background:radial-gradient(circle,rgba(255,255,255,.7) 0%,rgba(148,163,184,.5) 60%,transparent 100%)}to{transform:translate(-50%,-80%) scale(1.6);opacity:0}}@keyframes shockwaveDust{0%{width:10px;height:10px;opacity:.8;border-width:3px}to{width:140px;height:140px;opacity:0;border-width:0}}@keyframes shockwaveDustSecondary{0%{width:10px;height:10px;opacity:.5;border-width:6px}to{width:180px;height:180px;opacity:0;border-width:0}}.overlay-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);background:rgba(15,20,28,.95);border:1px solid rgba(255,255,255,.1);padding:40px;border-radius:20px;text-align:center;z-index:50;box-shadow:0 24px 80px #0009;min-width:400px;font-family:Outfit,sans-serif;backdrop-filter:blur(16px)}.overlay-title{font-size:2.5rem;font-weight:800;margin-bottom:8px;color:#fff;letter-spacing:-.02em}.overlay-subtitle{color:#94a3b8;margin-bottom:24px;line-height:1.5;font-weight:500}.overlay-stat{display:flex;justify-content:space-between;margin:12px 0;padding:12px 20px;background:rgba(255,255,255,.03);border-radius:12px;border:1px solid rgba(255,255,255,.05)}.overlay-stat span{color:#94a3b8;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.overlay-stat b{color:#fff;font-family:Roboto Mono,monospace;font-size:1.1rem}.overlay-actions{display:flex;flex-direction:column;gap:12px}.btn-primary{margin-top:24px;background:rgba(226,183,20,.1);color:#e2b714;border:1px solid rgba(226,183,20,.3);padding:14px 40px;font-size:1rem;border-radius:12px;cursor:pointer;font-weight:700;font-family:Outfit,sans-serif;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.btn-primary:hover{background:rgba(226,183,20,.2);border-color:#e2b714;color:#fff;box-shadow:0 0 20px #e2b71426}.btn-secondary{background:transparent;color:#a0aec0;border:1px solid rgba(255,255,255,.2);padding:14px 40px;font-size:1rem;border-radius:12px;cursor:pointer;font-weight:600;font-family:Outfit,sans-serif;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.btn-secondary:hover{border-color:#e2b714;color:#fff}.status-hud{position:absolute;top:90px;left:0;right:0;display:flex;justify-content:center;gap:16px;z-index:5;pointer-events:none;font-family:Outfit,sans-serif}.hud-item{display:flex;flex-direction:column;align-items:center;min-width:100px;background:rgba(10,15,20,.6);padding:10px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px)}.hud-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:4px;font-weight:600}.hud-val{font-size:1.1rem;font-weight:600;color:#f1f5f9;line-height:1}.pause-btn{position:absolute;top:90px;right:24px;z-index:50;background:rgba(15,23,42,.6);border:1px solid rgba(255,255,255,.05);color:#94a3b8;width:42px;height:42px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.pause-btn:hover{background:rgba(30,41,59,1);color:#fff;border-color:#ffffff1a}.username-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.username-modal{background:linear-gradient(180deg,#1a1a2e 0%,#16162a 100%);border:1px solid rgba(226,183,20,.2);border-radius:20px;padding:40px;max-width:480px;width:100%;box-shadow:0 20px 60px #00000080,0 0 40px #e2b7141a;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.username-modal-header{text-align:center;margin-bottom:32px}.username-modal-header h2{font-size:28px;font-weight:700;color:#e2b714;margin:0 0 8px}.username-modal-header p{font-size:15px;color:#9ca3af;margin:0}.username-form{display:flex;flex-direction:column;gap:16px}.username-input-wrapper{position:relative;display:flex;align-items:center}.username-input{width:100%;padding:16px 50px 16px 20px;font-size:18px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500;color:#fff;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);border-radius:12px;outline:none;transition:all .2s ease}.username-input::placeholder{color:#6b7280}.username-input:focus{border-color:#e2b71480;background:rgba(255,255,255,.08)}.username-input.error{border-color:#ef4444}.username-input.available{border-color:#22c55e}.username-input:disabled{opacity:.6;cursor:not-allowed}.username-status{position:absolute;right:16px;display:flex;align-items:center;justify-content:center}.status-icon{font-size:18px}.status-icon.spinning{color:#9ca3af;animation:spin 1s linear infinite}.status-icon.available{color:#22c55e}.status-icon.taken{color:#ef4444}.username-error{color:#ef4444;font-size:13px;margin:0;padding-left:4px}.username-hints{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#6b7280;flex-wrap:wrap}.username-actions{display:flex;gap:12px;margin-top:8px}.generate-btn,.confirm-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s ease;border:none;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.generate-btn{background:rgba(255,255,255,.08);color:#9ca3af;border:1px solid rgba(255,255,255,.1)}.generate-btn:hover:not(:disabled){background:rgba(255,255,255,.12);color:#fff}.confirm-btn{background:linear-gradient(135deg,#e2b714 0%,#d4a912 100%);color:#0f1419}.confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,#f0c520 0%,#e2b714 100%);transform:translateY(-1px);box-shadow:0 4px 20px #e2b7144d}.confirm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-btn .spinning,.generate-btn .spinning{animation:spin 1s linear infinite}.username-note{text-align:center;font-size:13px;color:#f59e0b;margin:24px 0 0;padding:12px;background:rgba(245,158,11,.1);border-radius:8px;border:1px solid rgba(245,158,11,.2)}@media (max-width: 480px){.username-modal{padding:28px 20px}.username-modal-header h2{font-size:24px}.username-input{font-size:16px;padding:14px 45px 14px 16px}.username-actions{flex-direction:column}.username-hints{font-size:11px}}:root{--is-dark-theme: 0;--color-primary: #5271ff;--color-secondary: #41c7be;--color-accent: #ffca58;--color-purple: #7951b3;--color-green: #4eb070;--color-blue: #4a6bff;--color-background: #f6f8fa;--color-card-bg: #ffffff;--color-text: #333333;--color-text-light: #636e72;--color-success: #46b958;--color-error: #e74c3c;--color-warning: #f39c12;--gradient-primary: linear-gradient(45deg, var(--color-primary), #7b90ff);--gradient-secondary: linear-gradient(45deg, var(--color-secondary), #7be0d8);--gradient-accent: linear-gradient(45deg, var(--color-accent), #ffe0a3);--gradient-purple: linear-gradient(45deg, var(--color-purple), #a587d4);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--font-primary: "Roboto Mono", monospace;--font-secondary: "Roboto Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 30px;--anim-fast: .2s;--anim-medium: .3s;--anim-slow: .5s;--shadow-small: 0 4px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 8px 24px rgba(0, 0, 0, .12);--shadow-large: 0 16px 38px rgba(0, 0, 0, .15)}@supports (color: color-mix(in srgb,white,black)){:root{--color-primary: color-mix( in srgb, var(--dark-color-primary) calc(var(--is-dark-theme) * 100%), var(--light-color-primary) );--color-secondary: color-mix( in srgb, var(--dark-color-secondary) calc(var(--is-dark-theme) * 100%), var(--light-color-secondary) );--color-accent: color-mix( in srgb, var(--dark-color-accent) calc(var(--is-dark-theme) * 100%), var(--light-color-accent) );--color-purple: color-mix( in srgb, var(--dark-color-purple) calc(var(--is-dark-theme) * 100%), var(--light-color-purple) );--color-green: color-mix( in srgb, var(--dark-color-green) calc(var(--is-dark-theme) * 100%), var(--light-color-green) );--color-blue: color-mix( in srgb, var(--dark-color-blue) calc(var(--is-dark-theme) * 100%), var(--light-color-blue) );--color-background: color-mix( in srgb, var(--dark-color-background) calc(var(--is-dark-theme) * 100%), var(--light-color-background) );--color-card-bg: color-mix( in srgb, var(--dark-color-card-bg) calc(var(--is-dark-theme) * 100%), var(--light-color-card-bg) );--color-text: color-mix( in srgb, var(--dark-color-text) calc(var(--is-dark-theme) * 100%), var(--light-color-text) );--color-text-light: color-mix( in srgb, var(--dark-color-text-light) calc(var(--is-dark-theme) * 100%), var(--light-color-text-light) );--color-success: color-mix( in srgb, var(--dark-color-success) calc(var(--is-dark-theme) * 100%), var(--light-color-success) );--color-error: color-mix( in srgb, var(--dark-color-error) calc(var(--is-dark-theme) * 100%), var(--light-color-error) );--color-warning: color-mix( in srgb, var(--dark-color-warning) calc(var(--is-dark-theme) * 100%), var(--light-color-warning) )}}.App{min-height:100vh;background-color:var(--color-background);font-family:var(--font-primary);position:relative;overflow:visible;display:flex;flex-direction:column}html,body{overflow-y:auto!important;overflow-x:hidden;height:100%;margin:0;padding:0}body{min-height:100vh}.page-container{position:relative;min-height:100vh;width:100%;transition:transform var(--anim-medium) ease-in-out;overflow-y:auto;flex:1}.scrollable-content{overflow-y:auto;-webkit-overflow-scrolling:touch}.page-entering{animation:slideInFromRight .4s forwards}.page-exiting{animation:slideOutToLeft .4s forwards}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutToLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:var(--color-background)}.loading-animation{width:80px;height:80px;border-radius:50%;border:8px solid rgba(0,0,0,.1);border-top-color:var(--color-primary);animation:spin 1s linear infinite;margin-bottom:var(--space-lg)}.loading-screen p{font-size:1.5rem;color:var(--color-text);font-weight:700;animation:pulse 1.5s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.navigation-header{position:sticky;top:0;left:0;right:0;z-index:100;background-color:var(--color-background);padding:var(--space-sm) var(--space-lg);box-shadow:var(--shadow-small);display:flex;justify-content:space-between;align-items:center}.level-up-message{position:fixed;top:15%;left:50%;transform:translate(-50%);background:linear-gradient(135deg,rgba(76,175,80,.9),rgba(139,195,74,.9));color:#fff;padding:15px 30px;border-radius:30px;font-size:1.4rem;font-weight:700;z-index:1000;box-shadow:0 5px 20px #0003;text-shadow:1px 1px 3px rgba(0,0,0,.3)}.streak-indicator{position:absolute;bottom:30px;right:30px;background:linear-gradient(135deg,rgba(255,152,0,.9),rgba(255,87,34,.9));color:#fff;padding:12px 20px;border-radius:20px;font-size:1.2rem;font-weight:700;z-index:100;display:flex;align-items:center;gap:10px;box-shadow:0 4px 15px #ff980066;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.fire-emoji{font-size:1.5rem;filter:drop-shadow(0 0 3px rgba(255,255,255,.7))}.level-badge{position:absolute;top:20px;right:30px;background:linear-gradient(135deg,rgba(33,150,243,.9),rgba(3,169,244,.9));color:#fff;width:80px;height:80px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;box-shadow:0 4px 15px #2196f380;border:3px solid rgba(255,255,255,.7)}.level-number{font-size:2.5rem;font-weight:700;line-height:1;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.level-name{font-size:.8rem;font-weight:500;margin-top:3px}.progress-container{width:100%;height:10px;background:#e0e0e0;border-radius:5px;overflow:hidden;box-shadow:inset 0 2px 5px #0000001a}.progress-bar{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .5s cubic-bezier(.18,.89,.32,1.28)}.level-progress{position:absolute;top:25px;left:25px;width:250px;z-index:100}.level-progress-text{font-weight:700;color:#00000080;text-shadow:1px 1px 1px rgba(0,0,0,.5);margin-bottom:5px}.level-progress-bar-container{width:100%;height:8px;background:rgba(255,255,255,.3);border-radius:10px;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.level-progress-bar{height:100%;background:linear-gradient(90deg,#ffeb3b,#ffc107);border-radius:10px;transition:width .5s cubic-bezier(.18,.89,.32,1.28);box-shadow:0 0 10px #ffeb3b80}.achievements-section{display:flex;justify-content:center;gap:20px;margin:15px 0}.achievement{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 3px 10px #0000001a}.achievement.locked{background:linear-gradient(145deg,#e6e6e6,#f0f0f0);opacity:.6}.achievement.earned{background:linear-gradient(145deg,#ffd54f,#ffca28);box-shadow:0 0 15px #ffc107b3}.achievement-icon{font-size:1.8rem;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.2))}.daily-goal-container{width:250px;height:20px;background:rgba(255,255,255,.2);border-radius:10px;overflow:hidden;margin:15px auto;position:relative;box-shadow:inset 0 2px 5px #0000001a}.daily-goal-progress{height:100%;background:linear-gradient(90deg,#ff9800,#f44336);transition:width .5s cubic-bezier(.18,.89,.32,1.28);box-shadow:0 0 10px #ff980080}.floating-success-message{position:absolute;color:#4caf50;font-weight:700;font-size:1.5rem;text-shadow:0 0 8px white,0 0 12px white;z-index:1000;filter:drop-shadow(0 0 10px rgba(76,175,80,.7))}.level-up-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:2000}.level-up-content{background:white;padding:50px;border-radius:30px;text-align:center;box-shadow:0 0 50px gold;max-width:80%;transition:all .5s ease}.level-up-icon{font-size:7rem;margin-bottom:30px;filter:drop-shadow(0 0 15px rgba(255,193,7,.8))}.level-up-text{font-size:3.5rem;font-weight:700;color:#ff9800;margin-bottom:15px;text-shadow:1px 1px 3px rgba(0,0,0,.2)}.level-up-level{font-size:2.5rem;color:#333;margin-bottom:15px;font-weight:700}.level-up-description{font-size:1.5rem;color:#666;margin-top:10px}.encouragement-message{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,rgba(76,175,80,.9),rgba(139,195,74,.9));color:#fff;padding:20px 40px;border-radius:30px;font-size:2rem;font-weight:700;z-index:1500;opacity:0;transition:opacity .5s ease;box-shadow:0 10px 30px #0000004d;text-shadow:1px 1px 3px rgba(0,0,0,.3)}.encouragement-message.show{opacity:1}.game-stats .stat-item{padding:8px 15px;border-radius:10px;margin:0 5px;position:relative;overflow:hidden;min-width:100px;transition:all .3s ease}.game-stats .stat-item.highlighted{box-shadow:0 0 10px #ffeb3b80}.stat-progress-container{position:absolute;bottom:0;left:0;width:100%;height:3px;background:rgba(255,255,255,.2)}.stat-progress-bar{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .5s cubic-bezier(.18,.89,.32,1.28)}.fireworks{position:fixed;top:0;left:0;width:100%;height:100%;z-index:900;pointer-events:none}.firework{position:absolute;width:5px;height:5px;border-radius:50%;box-shadow:0 0 0 4px #ffd7001a,0 0 0 8px #ffd7001a,0 0 20px gold;animation:firework 2s ease-in-out infinite}.firework.delayed{animation-delay:.5s;left:30%}.firework.delayed-2{animation-delay:1s;left:70%}.animated{animation-duration:1s;animation-fill-mode:both}.animated.bounce{animation-name:bounce;animation-duration:1s;animation-timing-function:cubic-bezier(.28,.84,.42,1);animation-iteration-count:infinite;animation-direction:alternate}.animated.pulse{animation-name:pulse;animation-duration:1.5s;animation-iteration-count:infinite}.animated.fade-out{animation-name:fadeOut;animation-duration:1s}.animated.scale-in{animation-name:scaleIn;animation-duration:.5s}.animated.float-up{animation-name:floatUp;animation-duration:3s;animation-timing-function:ease-in-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes flame{0%{transform:scale(1) rotate(-5deg);filter:hue-rotate(0deg)}50%{transform:scale(1.2) rotate(5deg);filter:hue-rotate(10deg)}to{transform:scale(1.1) rotate(-5deg);filter:hue-rotate(0deg)}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #ffc107b3}70%{transform:scale(1.05);box-shadow:0 0 0 15px #ffc10700}to{transform:scale(1);box-shadow:0 0 #ffc10700}}@keyframes floatUp{0%{transform:translateY(0);opacity:1}70%{opacity:1}to{transform:translateY(-150px);opacity:0}}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes firework{0%{transform:translate(50vw,100vh);width:4px;height:4px;opacity:1}50%{width:4px;height:4px;opacity:1}to{width:300px;height:300px;opacity:0;transform:translate(calc(50vw + 150px),calc(40vh + 150px))}}@media (max-width: 768px){.level-badge{width:60px;height:60px;top:15px;right:15px}.level-number{font-size:1.8rem}.level-name{font-size:.7rem}.level-progress{width:180px;top:15px;left:15px}.level-up-content{padding:30px}.level-up-text{font-size:2.5rem}.level-up-level{font-size:2rem}}.home-navigation{display:flex;justify-content:center;margin:2rem 0}.learn-link{text-decoration:none;color:inherit}.learn-button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;padding:1.5rem 2.5rem;border-radius:12px;display:flex;flex-direction:column;align-items:center;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 20px #00000026;min-width:250px;text-align:center}.learn-button:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0003}.learn-button span:first-child{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.learn-description{font-size:.9rem;opacity:.9}@media (max-width: 768px){.learn-button{padding:1.2rem 2rem;min-width:220px}.learn-button span:first-child{font-size:1.3rem}.learn-description{font-size:.8rem}}.game-page{display:flex;flex-direction:column;width:100%;margin:0 auto;min-height:100vh;position:relative;background-color:var(--color-background);color:var(--color-text);transition:background-color var(--anim-medium),color var(--anim-medium);padding-left:0;box-sizing:border-box;transition:padding-left .3s ease}.game-page.sidebar-collapsed{padding-left:0}.game-page .sidebar-mobile-toggle{display:none;position:fixed;left:10px;top:70px;z-index:1001;background:var(--color-primary);border:none;color:var(--bg-darkest, #0f172a);width:36px;height:36px;border-radius:50%;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 5px #0003}.game-header{position:sticky;top:0;background-color:var(--color-background) transparent;border-bottom:1px solid rgba(var(--is-dark-theme, 255, 255, 255, .1),var(--is-dark-theme, 0, 0, 0, .1));padding:var(--space-md) var(--space-lg);z-index:10;border-radius:var(--radius-md);transition:all var(--anim-medium)}.header-content{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:1200px;margin:0 auto}.header-primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:4rem}.header-logo{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;transition:transform var(--anim-fast)}.header-logo:hover{transform:translateY(-2px)}.logo-svg{color:var(--color-text)}.game_title{font-size:1.8rem;font-weight:700;margin:0;font-family:var(--font-primary);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;position:relative;text-shadow:var( --is-dark-theme, 0 1px 2px rgba(0, 0, 0, .2), 0 1px 1px rgba(255, 255, 255, .1) )}.header-nav{display:flex;align-items:center;gap:var(--space-md)}.nav-link{display:flex;align-items:center;gap:6px;padding:var(--space-xs) var(--space-md);background-color:transparent;border:none;color:var(--color-text);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast),color var(--anim-medium),background-color var(--anim-medium);font-family:var(--font-secondary);text-decoration:none;font-size:.9rem}.nav-link:hover{color:var(--color-primary);transform:translateY(-2px)}.back-button{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);background-color:transparent;border:2px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast);font-family:var(--font-secondary);min-width:85px}.back-button:hover{background-color:var(--color-primary);color:var(--is-dark-theme, white, #222);transform:translate(-3px);box-shadow:var(--shadow-small)}.game-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-md);width:100%;padding-top:var(--space-sm);align-items:stretch;justify-content:space-between}.stat-item{display:flex;flex-direction:column;align-items:center;background-color:var(--color-card-bg);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);box-shadow:0 2px 5px #00000014;border:1px solid rgba(0,0,0,.05);transition:transform var(--anim-fast),background-color var(--anim-medium),color var(--anim-medium),box-shadow var(--anim-medium),border-color var(--anim-medium);text-align:center}.stat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium);background-color:color-mix(in srgb,var(--color-card-bg) 95%,black 5%);border-color:#00000014}.game-page .stat-label{font-size:.8rem;color:var(--color-text-light);margin-bottom:4px;font-family:var(--font-secondary);transition:color var(--anim-medium);text-transform:uppercase;letter-spacing:.5px}.game-page .stat-value{font-size:1.3rem;font-weight:700;color:var(--color-text);font-family:var(--font-primary);line-height:1.2}.game-page .stat-item.highlighted .stat-value{color:var(--color-primary)}.stat-progress-container{width:80%;height:6px;background-color:var(--color-background-muted);border-radius:3px;overflow:hidden;margin-top:var(--space-xs)}.stat-progress-bar{height:100%;background:var(--gradient-primary);border-radius:3px;transition:width .3s ease-out}.sound-toggle{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.sound-toggle-button{background:none;border:none;cursor:pointer;font-size:1.3rem;color:var(--color-primary);padding:.3rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin-top:.2rem;height:32px;width:32px}.sound-toggle-button:hover{background-color:#1976d21a;transform:scale(1.1)}.sound-toggle-button:active{transform:scale(.95)}.stat-item.sound-toggle .stat-label{margin-bottom:8px}.game-container{flex-grow:1;background-color:var(--color-card-bg);color:var(--color-text);border-radius:var(--radius-lg);position:relative;overflow:hidden;min-height:500px;padding:var(--space-xl);display:flex;justify-content:center;align-items:center;transition:all var(--anim-medium),background-color var(--anim-medium),color var(--anim-medium),box-shadow var(--anim-medium);box-shadow:var(--shadow-large);transform:translateY(-2px);margin:var(--space-lg)}.game-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary)}.game-container:hover{box-shadow:var(--shadow-large);transform:translateY(-2px)}.game-actions{display:flex;justify-content:center;gap:var(--space-md);margin-top:var(--space-md)}.action-button{padding:var(--space-sm) var(--space-lg);background-color:var(--color-primary);color:var(--is-dark-theme, white, #222);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast),background-color var(--anim-medium),color var(--anim-medium);border:none;font-family:var(--font-secondary)}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-button:hover:not(:disabled){filter:brightness(110%);transform:translateY(-2px)}.reset-button{background-color:var(--color-warning);color:var(--is-dark-theme, #333, #222);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--anim-fast),background-color var(--anim-medium);border:none;font-family:var(--font-secondary)}.reset-button:hover:not(:disabled){filter:brightness(90%);transform:scale(1.05)}@media (max-width: 1200px){.game-container{margin:var(--space-md)}.game-page.sidebar-collapsed .game-container{margin-left:auto;margin-right:auto}}@media (max-width: 768px){.game-page{padding:var(--space-md);padding-left:0}.game-page.sidebar-collapsed{padding-left:0}.game-page .sidebar-mobile-toggle{display:none}.game-header{padding:var(--space-sm);position:relative}.header-content{width:100%}.header-primary{flex-direction:column;align-items:stretch;gap:var(--space-md)}.header-logo{justify-content:center}.header-nav{flex-wrap:wrap;justify-content:center;gap:var(--space-sm)}.nav-link{font-size:.9rem;padding:var(--space-xs) var(--space-md)}.game_title{font-size:1.6rem;text-align:center;width:100%}.game-stats{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:var(--space-sm);padding-bottom:0;margin-top:var(--space-md)}.stat-item{padding:var(--space-xs) var(--space-sm)}.game-page .stat-value{font-size:1.1rem}.game-page .stat-label{font-size:.75rem}.reset-button{padding:var(--space-xs) var(--space-sm);font-size:.9rem}.game-container{padding:var(--space-md);min-height:350px;margin:var(--space-md)}.sound-toggle-button{font-size:1.2rem;padding:.2rem}}@media (max-width: 480px){.game-page .stat-value{font-size:1.1rem}.game-page .stat-label{font-size:.75rem}.sound-toggle-button{font-size:1.1rem;margin-top:.1rem}.reset-button{padding:var(--space-xs) var(--space-sm);font-size:.9rem}}body.learn-page-dark{background:#050508;color:#fffffff2;background-attachment:fixed}body.learn-page-dark:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(255,255,255,.02),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(255,255,255,.015),transparent),radial-gradient(ellipse 50% 30% at 0% 100%,rgba(255,255,255,.01),transparent);pointer-events:none;z-index:0}body.learn-page-dark:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.008) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.008) 1px,transparent 1px);background-size:80px 80px;pointer-events:none;z-index:0}.learn-page{max-width:100%;margin:0;padding:0;color:#1f1f25;background:#ffffff;min-height:100vh;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;transition:background .4s ease,color .4s ease}.learn-page.dark-mode{color:#fffffff2;background:transparent;position:relative;z-index:1}.learn-page>.container{width:100%;max-width:1200px;margin:0 auto;padding:1rem 2rem}.learn-page h1{text-align:left;margin:2rem 0 1.5rem;font-size:2.8rem;color:#333;font-weight:700;letter-spacing:-.02em}.dashboard-section{background-color:#fff;padding:1.5rem 2rem;border-radius:16px;box-shadow:0 4px 12px #00000014;margin-bottom:2.5rem}.overall-progress{margin-bottom:1.5rem}.overall-progress p{margin:0 0 .5rem;font-size:1rem;color:#444;font-weight:500}.overall-progress-bar-container{height:10px;background-color:#e0e0e0;border-radius:5px;overflow:hidden;position:relative}.overall-progress-bar{height:100%;background:linear-gradient(90deg,#66baff 0%,#1e90ff 100%);border-radius:5px;transition:width .5s ease-in-out}.overall-progress-percentage{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.85rem;font-weight:600;color:#333;background-color:#fffc;padding:2px 6px;border-radius:3px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem}.stat-card{background-color:#fff;padding:1rem;border-radius:12px;text-align:center;box-shadow:0 2px 5px #0000000d;border:1px solid #eee}.stat-card p{margin:0 0 .25rem;font-size:.9rem;color:#555;text-transform:uppercase;font-weight:500;letter-spacing:.05em}.stat-card span{font-size:2.2rem;font-weight:600;color:#333;display:block;letter-spacing:-.02em}.lesson-list{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.section-heading{text-align:left;margin:3rem 0 1rem;width:100%;position:relative;padding-left:.5rem}.section-heading:before{display:none}.section-heading h3{display:inline-block;font-size:.85rem;color:#ffffff80;padding:0;background-color:transparent;border-radius:0;box-shadow:none;font-weight:500;margin:0;position:relative;z-index:1;letter-spacing:.2em;text-transform:uppercase}.learn-page.dark-mode .section-heading h3{color:#fff6;font-weight:400}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-top:1.5rem;margin-left:0;margin-right:0;padding-bottom:3rem}.lesson-card{background:rgba(255,255,255,.03);border-radius:16px;padding:0;cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.lesson-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 50%);pointer-events:none;border-radius:inherit}.lesson-card:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);pointer-events:none}.lesson-card.not-started{background:linear-gradient(145deg,rgba(20,20,28,.9) 0%,rgba(12,12,18,.95) 100%);border:1px solid rgba(255,255,255,.04);box-shadow:0 4px 24px #0006,inset 0 1px #ffffff08}.lesson-card.not-started:hover{border-color:#ffffff14;box-shadow:0 8px 40px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff0d;transform:translateY(-4px)}.lesson-card.not-started .lesson-card-header{background:transparent;border-bottom:1px solid rgba(255,255,255,.05)}.lesson-card.not-started .lesson-card-content,.lesson-card.not-started .lesson-card-footer{background-color:transparent}.lesson-card.locked{cursor:pointer;opacity:1;filter:none}.lesson-card:not(.locked):hover{transform:translateY(-6px) scale(1.01);box-shadow:0 20px 50px #00000080,0 0 0 1px #ffffff14}.lesson-card-header{background:transparent;color:#fff6;padding:1rem 1.25rem .5rem;font-size:.7rem;font-weight:500;border-top-left-radius:16px;border-top-right-radius:16px;text-align:left;letter-spacing:.15em;text-transform:uppercase;border-bottom:none}.lesson-card-content{padding:.5rem 1.25rem 1rem;flex-grow:1;display:flex;flex-direction:column}.lesson-title{font-size:1.35rem;font-weight:300;color:#fffffff2;margin:0 0 .6rem;line-height:1.35;letter-spacing:-.02em;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.lesson-description-short{font-size:.875rem;color:#ffffff73;line-height:1.6;margin-bottom:1rem;flex-grow:1;font-weight:400}.lesson-progress{margin-top:auto;padding-top:.5rem}.progress-bar-container{height:3px;background-color:#ffffff0f;border-radius:2px;overflow:hidden;margin-bottom:.5rem}.progress-bar{height:100%;background:linear-gradient(90deg,rgba(255,255,255,.6) 0%,rgba(255,255,255,.8) 100%);border-radius:2px;transition:width .5s cubic-bezier(.16,1,.3,1)}.progress-text{font-size:.75rem;color:#fff6;font-weight:400;letter-spacing:.02em}.lesson-card-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background-color:transparent;border-top:1px solid rgba(255,255,255,.04);border-bottom-left-radius:16px;border-bottom-right-radius:16px}.lesson-card-footer-completed{display:flex;justify-content:space-between;align-items:center;width:100%}.lesson-status{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:400;letter-spacing:.02em}.completed-status{color:#ffffffb3}.locked-status{color:#ffffff4d}.lesson-status svg{font-size:1em;opacity:.7}.lesson-button{border:none;padding:.55rem 1.1rem;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .3s cubic-bezier(.16,1,.3,1);letter-spacing:.04em}.lesson-button.start{background:rgba(255,255,255,.95);color:#0a0a0c;border:none;box-shadow:0 2px 8px #0003}.lesson-button.start:hover{transform:translateY(-1px);background:#ffffff;box-shadow:0 4px 16px #ffffff26}.lesson-button.continue{background:rgba(255,255,255,.95);color:#0a0a0c;border:none;box-shadow:0 2px 8px #0003}.lesson-button.continue:hover{transform:translateY(-1px);background:#ffffff;box-shadow:0 4px 16px #ffffff26}.lesson-button:active{transform:scale(.98)}.lesson-button:focus-visible{outline:none;box-shadow:0 0 0 3px #2b7fff52,0 8px 20px #2b7fff40}.lesson-button.locked{cursor:not-allowed;color:#ffffff4d;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);box-shadow:none}.lesson-button.locked:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.05)}.lesson-button.locked:focus-visible{box-shadow:none}.lesson-button.retake{background-color:transparent;color:#fff6;border:none;padding:.4rem;font-size:.9rem;line-height:1;border-radius:50%;transition:all .2s ease}.lesson-button.retake:hover{background-color:#ffffff14;color:#ffffffe6}.lesson-difficulty-badge{font-size:.7rem;color:#ffffff80;text-transform:uppercase;font-weight:500;background:rgba(255,255,255,.05);padding:4px 10px;border:1px solid rgba(255,255,255,.08);border-radius:4px;letter-spacing:.08em}.lesson-card.completed{background:linear-gradient(145deg,rgba(18,20,28,.9) 0%,rgba(12,12,18,.95) 100%);border-color:#ffffff0f}.lesson-card.completed:before{background:linear-gradient(135deg,rgba(255,255,255,.04) 0%,transparent 60%)}.lesson-card.completed .lesson-card-header{background:transparent;color:#ffffff80}.lesson-card.completed .lesson-card-footer{background-color:transparent}.lesson-card.completed .progress-bar{background:linear-gradient(90deg,rgba(255,255,255,.5),rgba(255,255,255,.7))}.lesson-card.in-progress{border-color:#ffffff1a;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff14,inset 0 1px #ffffff0a;animation:lesson-card-pulse 3s ease-in-out infinite;background:linear-gradient(145deg,rgba(20,22,32,.95) 0%,rgba(12,12,18,.98) 100%)}.lesson-card.in-progress:before{background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 50%)}.lesson-card.in-progress .lesson-card-header{background:transparent;color:#ffffff80}@keyframes lesson-card-pulse{0%,to{box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff14,inset 0 1px #ffffff0a}50%{box-shadow:0 10px 36px #00000073,0 0 0 1px #ffffff1a,inset 0 1px #ffffff0d}}.lesson-card.in-progress .progress-bar{background:linear-gradient(90deg,rgba(255,255,255,.6) 0%,rgba(255,255,255,.85) 100%)}.lesson-card.locked{border-color:#ffffff05;opacity:.5}.lesson-card.locked:hover{transform:none;opacity:.6}.lesson-card.locked:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(160deg,rgba(0,0,0,.3),rgba(0,0,0,.5));pointer-events:none}.lesson-card-lock-hint{display:inline-flex;align-items:center;gap:.3rem;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#ffffff59;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:4px;padding:.35rem .7rem;margin-bottom:.75rem;width:max-content}.lesson-card.locked .lesson-button.locked{background:rgba(255,255,255,.03);color:#ffffff40;border:1px solid rgba(255,255,255,.05);cursor:pointer}.lesson-card.locked .lesson-button.locked:hover{background:rgba(255,255,255,.05)}.lesson-card.locked .lesson-difficulty-badge{opacity:.5}.lesson-card .completed-badge,.lesson-card .category-tag,.lesson-card .target-badge,.lesson-card .lesson-difficulty{display:none}.typing-lesson{width:100%;min-height:100vh;min-height:100svh;min-height:100dvh;outline:none;display:flex;flex-direction:column;align-items:center;background-color:#f5f5f5;position:relative;transition:background .4s ease,color .4s ease;padding:2rem 1rem}.typing-lesson--dark{background:#050508;background-attachment:fixed;color:#fffffff2}.hidden-input{position:absolute;top:-9999px;left:-9999px;opacity:0;width:0;height:0;border:none;padding:0;margin:0;pointer-events:none;z-index:-1}.lesson-breadcrumb{display:flex;align-items:center;gap:.5rem;width:100%;max-width:900px;margin-bottom:.75rem;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:#5b6175}.lesson-breadcrumb-link{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:.2rem .35rem;border-radius:6px;transition:color .2s ease,background .2s ease}.lesson-breadcrumb-link:hover{color:#2563eb;background:rgba(37,99,235,.08)}.lesson-breadcrumb-separator{opacity:.4}.lesson-breadcrumb-item--current{color:#1f1f25}.lesson-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto .5rem;padding:.75rem 1.5rem;background:rgba(10,10,15,.95);border-radius:12px;box-shadow:0 4px 24px #0006;border:1px solid rgba(255,255,255,.04);backdrop-filter:blur(20px);gap:1rem}.lesson-heading{display:flex;align-items:center;gap:1rem;flex:1}.lesson-subtitle{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary)}.lesson-header h2{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1}.lesson-actions{display:flex;align-items:center;gap:.5rem}.lesson-actions button,.lesson-actions .back-to-lessons-btn{font-family:Inter,sans-serif;background:rgba(255,255,255,.1);color:#ffffffe6;border:1px solid rgba(255,255,255,.2);padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:500;letter-spacing:.02em;transition:all .2s ease;backdrop-filter:blur(10px)}.lesson-actions button:hover,.lesson-actions .back-to-lessons-btn:hover{background:rgba(255,255,255,.15);border-color:#ffffff4d;color:#fff;transform:translateY(-1px)}.lesson-actions button:active{transform:translateY(0)}.lesson-actions button:focus-visible{outline:none;box-shadow:0 0 0 2px #00f3ff66}.lesson-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 auto .5rem;width:100%;max-width:1200px;padding:0}.lesson-pill{font-family:Inter,sans-serif;display:inline-flex;align-items:center;gap:.2rem;padding:.3rem .7rem;border-radius:999px;background:rgba(20,20,30,.9);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--glass-border);transition:transform .2s ease}.lesson-pill:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00f3ff33}.lesson-pill--difficulty{background:rgba(188,19,254,.1);color:var(--neon-purple);border-color:#bc13fe4d}.lesson-pill--category{background:rgba(0,243,255,.1);color:var(--neon-blue);border-color:#00f3ff4d}.lesson-pill--target{background:rgba(10,255,10,.1);color:var(--neon-green);border-color:#0aff0a4d}.typing-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.75rem;padding:.5rem 1rem;margin:0 auto .5rem;background:rgba(20,20,30,.95);border-radius:10px;box-shadow:0 2px 8px #0000004d;border:1px solid rgba(0,243,255,.2);width:100%;max-width:1200px}.stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:70px}.stat span:first-child{font-family:Inter,sans-serif;font-size:.55rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.stat span:nth-child(2){font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:700;color:var(--neon-blue);line-height:1}.stat-target{font-family:Inter,sans-serif!important;font-size:.55rem!important;color:var(--text-secondary)!important;font-weight:500!important;letter-spacing:.05em!important;text-transform:uppercase!important}.stat .high{color:var(--neon-green)}.stat .medium{color:orange}.stat .low{color:#f55}.lesson-progress-inline{display:flex;align-items:center;gap:.75rem;width:100%;max-width:1200px;margin:0 auto .75rem}.lesson-progress-track{flex:1;height:6px;background:rgba(20,20,30,.5);border-radius:999px;overflow:hidden;position:relative;border:1px solid rgba(0,243,255,.2)}.lesson-progress-fill{height:100%;background:linear-gradient(90deg,var(--neon-blue),var(--neon-purple));border-radius:inherit;transition:width .2s ease;will-change:width}.lesson-progress-label{font-family:Inter,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);min-width:100px;text-align:right}.sound-toggle{position:relative;display:flex;align-items:center;gap:.5rem}.sound-toggle-button{background:rgba(0,243,255,.1);border:1px solid rgba(0,243,255,.3);cursor:pointer;font-size:1.5rem;color:var(--neon-blue);padding:.5rem;border-radius:50%;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem}.sound-toggle-button:hover{background:rgba(0,243,255,.2);box-shadow:0 0 20px #00f3ff66;transform:scale(1.1)}.sound-toggle-button:active{transform:scale(.95)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.lesson-complete-animation{animation:pulse .5s ease-in-out}.typing-area{width:100%;max-width:1200px;margin:0 auto 1rem;background:rgba(20,25,35,.98);padding:2rem 2.5rem;border-radius:16px;font-size:2.8rem;line-height:1.9;box-shadow:0 4px 16px #0006;border:2px solid rgba(0,243,255,.3);position:relative;min-height:200px;will-change:contents;contain:layout style}.lesson-description{font-family:Inter,sans-serif;font-size:1rem;color:#c8d2e6e6;margin-bottom:2rem;line-height:1.7;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.15)}.target-text{min-height:200px;margin-bottom:0;user-select:none;font-family:Roboto Mono,monospace;font-size:2.8rem;font-weight:500;letter-spacing:.03em;color:#b4bed2d9;line-height:1.9}.content-progress-info{font-family:Inter,sans-serif;font-size:.95rem;color:#b4bed2cc;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);display:flex;gap:2rem;justify-content:center;letter-spacing:.05em}.target-text span{position:relative;white-space:pre-wrap;box-sizing:border-box}.target-text span.correct{color:#fff;font-weight:inherit}.target-text span.incorrect{color:#f55;font-weight:inherit;text-decoration:underline;text-decoration-color:#f55;text-decoration-thickness:2px;background-color:#f553}.target-text span.current{background:rgba(0,243,255,.2);border-radius:3px;box-shadow:inset 3px 0 0 var(--neon-blue);will-change:opacity;animation:blink 1s ease-in-out infinite;position:relative}.target-text span.current-error{background:rgba(255,85,85,.3);border-radius:3px;box-shadow:inset 3px 0 #f55;color:#f55;font-weight:inherit;position:relative;animation:error-shake .3s ease-in-out}@keyframes error-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.7}}.typed-text{color:#999;font-size:1.2rem;height:auto;min-height:1.5rem;font-family:Roboto Mono,monospace;letter-spacing:.05em}.keyboard-guide{text-align:center;width:100%;margin-top:.5rem;margin-bottom:7rem;overflow:visible;position:relative;transform:scale(1.15);transform-origin:center top}.keyboard-guide:before{content:"";position:absolute;inset:auto 10% -3rem 10%;height:5rem;background:radial-gradient(circle,rgba(58,130,247,.22),transparent 70%);filter:blur(35px);pointer-events:none;z-index:0}.keyboard{background-color:#e0e0e0;padding:15px;border-radius:8px;display:inline-block;position:relative;z-index:1}.keyboard-row{display:flex;justify-content:center;margin-bottom:8px}.keyboard-key{display:inline-flex;align-items:center;justify-content:center;min-width:65px;height:65px;margin:0 4px;padding:5px;border:1px solid #bbb;border-radius:6px;background-color:#f8f8f8;font-size:1.1rem;font-weight:500;color:#333;text-align:center;transition:all .1s ease-out;box-shadow:0 2px #ccc;position:relative;font-family:Roboto Mono,monospace;text-transform:uppercase}.keyboard-key.space{min-width:280px}.keyboard-key.active{background-color:#1e90ff;color:#fff;transform:translateY(1px);box-shadow:0 1px #1976d2;animation:key-glow .6s ease-out forwards}.keyboard-key.next{background-color:#2196f3;color:#fff;border-color:#1976d2;box-shadow:0 2px #1976d2}.keyboard-key.focus{background-color:#e3f2fd;border-color:#bbdefb;box-shadow:0 2px #bbdefb}@keyframes key-glow{0%{box-shadow:0 0 #1e90ffb3}50%{box-shadow:0 0 16px #1e90ffcc}to{box-shadow:0 0 8px #1e90ff73}}.keyboard-key.shift{min-width:70px}.keyboard-key span{display:block;line-height:1.1}.lesson-card .category-tag{position:absolute;top:4px;left:4px;background-color:#1976d2b3;color:#fff;border-radius:12px;padding:2px 8px;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;z-index:2}.lesson-card.completed .category-tag{background-color:#ffffff40}.target-badge{position:absolute;bottom:25px;right:5px;font-size:.75rem;padding:2px 6px;border-radius:10px;background-color:#0000001a;color:#555;z-index:1}.lesson-card.completed .target-badge{color:#fff;background-color:#fff3}.wpm-target{background-color:#2196f326;color:#1976d2}.lesson-card.completed .wpm-target{color:#fff}.learn-page.dark-mode .theme-toggle{background:rgba(255,255,255,.03);border-color:#ffffff0f;box-shadow:none}.learn-page.dark-mode .theme-toggle-label{color:#ffffff80}.learn-page.dark-mode .theme-toggle--compact .theme-toggle-label{color:#fff6}.learn-page.dark-mode .search-bar input{background-color:#ffffff08;border-color:#ffffff0f;color:#ffffffe6;box-shadow:inset 0 1px #ffffff05}.learn-page.dark-mode .search-bar input:focus{border-color:#ffffff26;box-shadow:0 0 0 3px #ffffff0d;background-color:#ffffff0d}.learn-page.dark-mode .search-bar input::placeholder{color:#ffffff4d}.learn-page.dark-mode .search-icon,.learn-page.dark-mode .clear-search{color:#ffffff59}.learn-page.dark-mode .clear-search:hover{color:#fffc}.learn-page.dark-mode .search-suggestions{background-color:#0c0c12fa;border:1px solid rgba(255,255,255,.06);box-shadow:0 16px 50px #0009;backdrop-filter:blur(20px)}.learn-page.dark-mode .search-suggestions p{color:#fff9}.learn-page.dark-mode .search-suggestion-tag{background:rgba(255,255,255,.04);border-color:#ffffff14;color:#ffffffb3}.learn-page.dark-mode .search-suggestion-tag:hover{background:rgba(255,255,255,.08);color:#ffffffe6}.learn-page.dark-mode .search-suggestion-category{background:rgba(255,255,255,.03);border-color:#ffffff0f;color:#ffffff80}.learn-page.dark-mode .search-no-results{color:#fff6}.learn-page.dark-mode .lesson-card{background:linear-gradient(145deg,rgba(18,18,25,.95) 0%,rgba(10,10,14,.98) 100%);border:1px solid rgba(255,255,255,.04);box-shadow:0 4px 24px #00000080,inset 0 1px #ffffff05}.learn-page.dark-mode .lesson-card:not(.locked):hover{transform:translateY(-6px) scale(1.01);box-shadow:0 20px 50px #0009,0 0 0 1px #ffffff14;border-color:#ffffff14}.learn-page.dark-mode .lesson-card-header{background:transparent;color:#ffffff59;border-bottom:1px solid rgba(255,255,255,.04)}.learn-page.dark-mode .lesson-card.locked{border-color:#ffffff08;opacity:.6}.learn-page.dark-mode .lesson-card.locked:after{background:linear-gradient(160deg,rgba(10,10,15,.7),rgba(5,5,8,.9))}.learn-page.dark-mode .lesson-card-lock-hint{color:#ffffff80;background:rgba(255,255,255,.03);border-color:#ffffff0f}.learn-page.dark-mode .lesson-button.locked{color:#ffffff40;background:rgba(255,255,255,.03);border-color:#ffffff0f}.learn-page.dark-mode .lesson-title{color:#fffffff2;font-weight:300}.learn-page.dark-mode .lesson-description-short{color:#fff6}.learn-page.dark-mode .progress-bar-container{background-color:#ffffff0d}.learn-page.dark-mode .progress-bar{background:linear-gradient(90deg,rgba(255,255,255,.6),rgba(255,255,255,.85))}.learn-page.dark-mode .progress-text{color:#ffffff59}.learn-page.dark-mode .lesson-card-footer{background:transparent;border-top:1px solid rgba(255,255,255,.04)}.learn-page.dark-mode .lesson-status{color:#fff9}.learn-page.dark-mode .lesson-status svg{color:#ffffff80}.learn-page.dark-mode .lesson-button.start,.learn-page.dark-mode .lesson-button.continue{background:rgba(255,255,255,.95);color:#0a0a0c;border:none;box-shadow:0 2px 8px #0000004d}.learn-page.dark-mode .lesson-button.start:hover,.learn-page.dark-mode .lesson-button.continue:hover{background:#ffffff;box-shadow:0 4px 20px #ffffff26}.learn-page.dark-mode .lesson-button.retake{color:#fff6}.learn-page.dark-mode .lesson-button.retake:hover{background-color:#ffffff14;color:#ffffffe6}.learn-page.dark-mode .lesson-difficulty-badge{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:#ffffff73}.learn-page.dark-mode .lesson-card.not-started{background:linear-gradient(145deg,rgba(15,15,22,.95) 0%,rgba(8,8,12,.98) 100%);border-color:#ffffff08}.learn-page.dark-mode .lesson-card.not-started .lesson-card-header{color:#ffffff4d}.learn-page.dark-mode .lesson-card.completed{background:linear-gradient(145deg,rgba(18,20,28,.95) 0%,rgba(12,12,18,.98) 100%);border-color:#ffffff0f}.learn-page.dark-mode .lesson-card.completed:before{background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 60%)}.learn-page.dark-mode .lesson-card.completed .lesson-card-header{background:transparent;color:#ffffff73}.learn-page.dark-mode .lesson-card.in-progress{background:linear-gradient(145deg,rgba(20,22,32,.98) 0%,rgba(12,12,18,.99) 100%);border-color:#ffffff14;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0f,inset 0 1px #ffffff0a;animation:lesson-card-pulse-dark 3s ease-in-out infinite}.learn-page.dark-mode .lesson-card.in-progress .lesson-card-header{background:transparent;color:#fff6}.learn-page.dark-mode .lesson-header{background:rgba(12,12,18,.98);border:1px solid rgba(255,255,255,.06);box-shadow:0 20px 60px #0009;backdrop-filter:blur(20px)}.learn-page.dark-mode .lesson-subtitle{color:#ffffff73}.learn-page.dark-mode .lesson-header h2{color:#fffffff2;font-weight:300}.learn-page.dark-mode .lesson-actions button{box-shadow:0 4px 16px #0006}.learn-page.dark-mode .lesson-meta{color:#ffffff80}.learn-page.dark-mode .lesson-meta:before{background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.05),transparent 65%);opacity:.5}.learn-page.dark-mode .lesson-progress-track{background:rgba(255,255,255,.06)}.learn-page.dark-mode .lesson-progress-label{color:#fff6}.learn-page.dark-mode .lesson-breadcrumb{color:#ffffff59}.learn-page.dark-mode .lesson-breadcrumb-link:hover{color:#ffffffe6;background:rgba(255,255,255,.05)}.learn-page.dark-mode .lesson-breadcrumb-item--current{color:#ffffffb3}.learn-page.dark-mode .lesson-pill{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:#fff9}.learn-page.dark-mode .lesson-pill--difficulty,.learn-page.dark-mode .lesson-pill--category,.learn-page.dark-mode .lesson-pill--target{background:rgba(255,255,255,.04);color:#ffffff80}.learn-page.dark-mode .typing-stats{background:rgba(10,10,15,.95);border:1px solid rgba(255,255,255,.04);box-shadow:0 12px 40px #00000080;backdrop-filter:blur(20px)}.learn-page.dark-mode .stat span:first-child{color:#fff6;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}.learn-page.dark-mode .stat span:nth-child(2){color:#fffffff2;font-weight:300}.learn-page.dark-mode .stat-target{color:#ffffff59!important}.learn-page.dark-mode .sound-toggle-button{color:#ffffff80}.learn-page.dark-mode .sound-toggle-button:hover{background-color:#ffffff14;color:#ffffffe6}.learn-page.dark-mode .typing-area{background:rgba(8,8,12,.98);border:1px solid rgba(255,255,255,.04);box-shadow:0 20px 60px #0009,inset 0 1px #ffffff05;color:#ffffffe6;backdrop-filter:blur(20px)}.learn-page.dark-mode .lesson-description{color:#ffffff80;border-bottom-color:#ffffff0a}.learn-page.dark-mode .target-text{color:#ffffff59}.learn-page.dark-mode .target-text span.correct{color:#ffffffe6}.learn-page.dark-mode .target-text span.incorrect{color:#ff6b6b;background-color:#ff6b6b1f}.learn-page.dark-mode .target-text span.current{background-color:#ffffff14;box-shadow:inset 3px 0 #fffc}.learn-page.dark-mode .content-progress-info{color:#ffffff59;border-top-color:#ffffff0a}.learn-page.dark-mode .keyboard{background-color:#08080cf2;border:1px solid rgba(255,255,255,.04);box-shadow:0 16px 50px #00000080;backdrop-filter:blur(20px)}.learn-page.dark-mode .keyboard-guide:before{background:radial-gradient(circle,rgba(255,255,255,.05),transparent 75%);filter:blur(60px)}.learn-page.dark-mode .keyboard-key{background-color:#ffffff08;border:1px solid rgba(255,255,255,.06);color:#ffffff80;box-shadow:0 2px #0000004d}.learn-page.dark-mode .keyboard-key.active{background:rgba(255,255,255,.95);color:#0a0a0c;border-color:#ffffffe6;box-shadow:0 0 20px #fff3;animation:key-glow-dark .4s ease-out forwards}.learn-page.dark-mode .keyboard-key.next{background-color:#ffffff1a;color:#ffffffe6;border-color:#fff3;box-shadow:0 2px #ffffff1a}.learn-page.dark-mode .keyboard-key.focus{background-color:#ffffff0d;border-color:#ffffff1f;box-shadow:0 2px #ffffff0d}@keyframes key-glow-dark{0%{box-shadow:0 0 30px #fff6}to{box-shadow:0 0 20px #ffffff26}}@keyframes lesson-card-pulse-dark{0%,to{box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0f,inset 0 1px #ffffff08}50%{box-shadow:0 10px 36px #00000085,0 0 0 1px #ffffff14,inset 0 1px #ffffff0a}}@media (max-width: 1024px){.learn-page>.container{padding:1rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem}.stat-card span{font-size:1.8rem}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.typing-stats{flex-wrap:wrap;gap:1rem;padding:.5rem .8rem}.stat{min-width:70px;flex:0 0 calc(25% - 1rem)}.sound-toggle{display:none}}@media (max-width: 768px){.learn-search-row{flex-direction:column;align-items:stretch;gap:.8rem}.theme-toggle{align-self:flex-end}.theme-toggle--compact{align-self:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:.8rem}.stat-card span{font-size:1.8rem}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.sound-toggle-button{font-size:1.3rem;padding:.2rem}.section-heading h3{font-size:1.4rem}.lesson-title{font-size:1.2rem}.lesson-button{padding:.7rem 1.2rem;min-height:44px;min-width:80px}.lesson-card{min-height:180px}.typing-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem .8rem}.stat{min-width:unset;flex:unset}.typing-area{padding:1rem;font-size:1.9rem;line-height:1.45;border-radius:6px;margin:.3rem auto;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1.25rem)}.target-text{font-size:2.4rem;letter-spacing:.01em;line-height:1.4;min-height:140px;-webkit-text-size-adjust:100%;text-size-adjust:100%}.lesson-description{font-size:.9rem;margin-bottom:.8rem}.keyboard-guide{margin-bottom:5rem}}@media (max-width: 480px){.lesson-header{flex-direction:column;gap:.5rem;align-items:flex-start;padding:.5rem .7rem}.lesson-header h2{font-size:1.2rem;margin-bottom:.3rem}.lesson-actions{width:100%;gap:.6rem;justify-content:space-between;flex-wrap:wrap}.lesson-actions button{font-size:.85rem;padding:.45rem .8rem;width:100%}.theme-toggle,.theme-toggle--compact{width:100%;justify-content:space-between}.theme-toggle--compact .theme-toggle-label{display:none}.typing-lesson{width:auto;padding:.5rem}.lesson-list{width:auto;padding:0 .5rem}.typing-area{width:auto;padding:.8rem;font-size:1.8rem;line-height:1.4;margin:.3rem auto;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1.5rem)}.target-text{font-size:2.2rem;letter-spacing:.01em;line-height:1.4;min-height:120px;-webkit-text-size-adjust:100%;text-size-adjust:100%}.learn-page>.container{padding:.5rem}.learn-page h1{font-size:1.8rem;margin:1rem 0}.dashboard-section{padding:1rem;border-radius:12px}.overall-progress-percentage{font-size:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.stat-card{padding:.6rem;border-radius:8px}.stat-card p{font-size:.75rem}.stat-card span{font-size:1rem}.stat span:nth-child(2){font-size:1rem;font-weight:600;color:#1976d2}.section-heading h3{font-size:1rem}.lessons-grid{grid-template-columns:1fr;gap:1rem}.lesson-card{border-radius:10px}.lesson-card-header{padding:.7rem 1rem;font-size:.95rem}.lesson-card-content{padding:.8rem}.lesson-title{font-size:1.1rem}.lesson-description-short{font-size:.95rem}.lesson-card-footer{padding:.6rem .8rem}.lesson-status,.lesson-button{font-size:.8rem}.lesson-button{padding:.5rem 1rem;min-height:40px}.lesson-difficulty-badge{font-size:.7rem;padding:2px 6px}.typing-stats{gap:.7rem;grid-template-columns:repeat(2,1fr);margin-top:.5rem}.stat{min-width:65px}.sound-toggle{display:none}.sound-toggle-button{font-size:1.2rem;margin-top:.1rem}.keyboard-guide{display:none;margin-bottom:6rem}.content-progress-info{flex-direction:column;font-size:.7rem;padding-top:.7rem}.hidden-input{position:fixed;bottom:env(safe-area-inset-bottom,0px);left:0;width:1px;height:1px;z-index:-10}}.lesson-card.completed,.lesson-card.in-progress{background-color:#fff}.learn-search-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1.5rem 0 2rem}.learn-search-row .search-bar{flex:1 1 320px;margin:0}.theme-toggle{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem 1rem;border-radius:999px;background:#f4f6ff;border:1px solid rgba(82,113,255,.2);box-shadow:0 10px 20px #5271ff1f;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.theme-toggle-button{width:2.5rem;height:2.5rem;border-radius:50%;border:none;background:linear-gradient(135deg,#3a82f7 0%,#2b7fff 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;box-shadow:0 8px 18px #2b7fff40;transition:transform .2s ease,box-shadow .3s ease}.theme-toggle-button:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 12px 24px #2b7fff47}.theme-toggle-button:active{transform:scale(.96)}.theme-toggle-button:focus-visible{outline:none;box-shadow:0 0 0 3px #2b7fff59}.theme-toggle-label{font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#1f1f25}.theme-toggle--compact{background:transparent;border:none;box-shadow:none;padding:0}.theme-toggle--compact .theme-toggle-button{width:2.2rem;height:2.2rem;font-size:1.1rem}.theme-toggle--compact .theme-toggle-label{font-size:.75rem;letter-spacing:.08em;color:#6b7280}.search-bar{position:relative;margin:0;display:flex;align-items:center;max-width:600px;width:100%}.search-bar input{width:100%;padding:.85rem 2.8rem .85rem 3.2rem;border-radius:8px;border:1px solid rgba(255,255,255,.06);background-color:#ffffff08;font-size:.95rem;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 1px #ffffff05;color:#ffffffe6;font-weight:400;letter-spacing:.01em}.search-bar input:focus{border-color:#ffffff26;box-shadow:0 0 0 3px #ffffff0d;outline:none;background-color:#ffffff0d}.search-bar input::placeholder{color:#ffffff4d}.search-icon{position:absolute;left:1rem;color:#ffffff59;font-size:1.1rem}.clear-search{position:absolute;right:1rem;background:none;border:none;color:#ffffff59;cursor:pointer;font-size:1.1rem;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.clear-search:hover{color:#f44336}.search-suggestions{position:absolute;top:calc(100% + .5rem);left:0;width:100%;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:10;padding:.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.search-suggestion-tag{background-color:#e3f2fd;border:1px solid #bbdefb;color:#1976d2;font-size:.85rem;padding:.4rem .8rem;border-radius:20px;cursor:pointer;text-align:center;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-suggestion-tag:hover{background-color:#bbdefb}.search-suggestion-category{background-color:#f5f5f5;color:#333;border:1px solid #e0e0e0}.search-no-results{grid-column:1 / -1;padding:1rem;text-align:center;color:#666;font-style:italic}@media (max-width: 768px){.search-bar{max-width:100%}.search-suggestions{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media (max-width: 480px){.search-bar input{padding:.7rem 2.5rem .7rem 2.8rem;font-size:1rem}.search-icon{left:.8rem;font-size:1rem}.clear-search{right:.8rem;font-size:1rem}.search-suggestions{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}@media (prefers-reduced-motion: reduce){.lesson-card.in-progress,.learn-page.dark-mode .lesson-card.in-progress,.keyboard-key.active,.learn-page.dark-mode .keyboard-key.active{animation:none!important}.lesson-button.start:hover,.lesson-button.continue:hover,.lesson-button:active{transform:none}}.learn-page,.typing-lesson{overflow-x:hidden}.lesson-header,.lesson-meta,.typing-stats,.lesson-progress-inline,.typing-area{box-sizing:border-box}.typing-area,.target-text{overflow-wrap:anywhere}.target-text{word-break:break-word;hyphens:auto}@media (max-width: 768px){.keyboard-guide{transform:scale(1.02)}}@media (max-width: 480px){.keyboard-guide{transform:none}}@media (max-width: 768px){.learn-page>.container{padding:1rem}.learn-page h1{font-size:2rem;margin:1.5rem 0 1rem}.dashboard-section{padding:1rem;border-radius:12px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:.75rem}.stat-card span{font-size:1.8rem}.lesson-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.lesson-heading{width:100%}.lesson-actions{width:100%;justify-content:space-between}.typing-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.5rem}.stat{min-width:auto}.stat span:nth-child(2){font-size:1rem}}@media (max-width: 480px){.learn-page h1{font-size:1.75rem}.stats-grid{grid-template-columns:1fr}.typing-stats{grid-template-columns:repeat(2,1fr)}}.CookieConsent{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;max-width:100vw!important;margin:0!important;box-sizing:border-box;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));z-index:10000;border-radius:0}.CookieConsent *{max-width:100%;box-sizing:border-box}html:has(.game-sidebar:not(.collapsed)) .CookieConsent{left:250px!important}html:has(.game-sidebar.collapsed) .CookieConsent{left:60px!important}@media (max-width: 768px){html:has(.game-sidebar) .CookieConsent{left:0!important}}body.challenge-page-dark{background:#050508;color:#fffffff2;background-attachment:fixed;min-height:100vh;width:100%;margin:0;padding:0;overflow-x:hidden}.challenge-page{display:flex;flex-direction:column;min-height:100vh;width:100vw;height:auto;overflow-x:hidden;overflow-y:auto;background-color:transparent;color:#fffffff2;padding:0;margin:0;font-family:Inter,sans-serif;box-sizing:border-box;position:relative;z-index:1}.challenge-page.dark-mode{background:transparent}.challenge-page .challenge-title{font-family:Orbitron,Russo One,sans-serif;font-size:3rem;font-weight:800;text-align:center;margin:1rem 0;background:linear-gradient(120deg,rgba(255,255,255,.9),rgba(255,255,255,.6));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 10px rgba(255,255,255,.1);letter-spacing:2px;z-index:10;position:absolute;top:80px;width:100%;pointer-events:none}.challenge-page .game-container{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;z-index:5;width:100%;margin:0 auto;padding:15px 2rem 2rem;overflow:visible;box-sizing:border-box}.challenge-page .game-container canvas{display:block;width:100%;max-width:1000px;height:auto;border-radius:12px;box-shadow:0 10px 15px -3px #0006;background:transparent!important}.challenge-page .game-container canvas.canvas-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.challenge-page .game-stats{position:absolute;top:30px;right:40px;display:flex;flex-direction:column;gap:15px;z-index:20;pointer-events:none}.challenge-page .stat-item{display:flex;align-items:center;gap:12px;background:rgba(12,12,18,.7);backdrop-filter:blur(4px);padding:10px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px #0000004d}.challenge-page .stat-label{font-size:.75rem;color:#fff6;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.challenge-page .stat-value{font-family:Roboto Mono,monospace;font-size:1.5rem;font-weight:700;color:#ffffffe6;text-shadow:none}.challenge-page .stat-value.score{color:#fffffff2;text-shadow:none}.challenge-page .stat-value.target{color:#ffffffe6;text-shadow:none}.challenge-page .start-section{width:100%;max-width:1000px;margin-top:2rem;display:flex;justify-content:center;animation:fadeIn .3s ease-out}.challenge-page .start-content{width:100%;padding:3rem 2.5rem;background:rgba(12,12,18,.7);border:1px solid rgba(255,255,255,.08);border-radius:16px;text-align:center;backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;gap:1.5rem;box-shadow:0 10px 30px -10px #00000080}.challenge-page .start-title{font-family:Roboto Mono,monospace;font-size:2rem;font-weight:700;color:#fffc;margin:0;letter-spacing:-.02em}.challenge-page .overlay-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(5,5,8,.7);backdrop-filter:blur(4px);z-index:100;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.challenge-page .overlay-content{background:rgba(12,12,18,.9);border:1px solid rgba(255,255,255,.1);padding:3rem 4rem;border-radius:16px;text-align:center;box-shadow:0 20px 50px #00000080;max-width:500px;width:90%;transform:translateY(0);animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(.9) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.challenge-page .overlay-title{font-size:2rem;font-weight:700;margin:0 0 1rem;background:linear-gradient(120deg,rgba(255,255,255,.9),rgba(255,255,255,.6));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 10px rgba(255,255,255,.1)}.challenge-page .overlay-subtitle{font-size:1rem;color:#ffffff80;margin-bottom:2rem;line-height:1.6}.challenge-page .btn-primary{display:inline-block;padding:.9rem 2rem;font-size:1.1rem;font-weight:600;border:1px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;transition:all .2s ease;background:rgba(255,255,255,.12);color:#ffffffe6;position:relative;overflow:hidden;box-shadow:0 4px 10px #0003;letter-spacing:.02em}.challenge-page .btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.challenge-page .btn-primary:hover{transform:translateY(-3px);box-shadow:0 6px 15px #0000004d;background:rgba(255,255,255,.15)}.challenge-page .btn-primary:hover:before{left:100%}.challenge-page .btn-primary:active{transform:translateY(0);box-shadow:0 2px 5px #0003}.challenge-page .btn-primary:focus{outline:none;box-shadow:0 0 0 3px #fff3,0 4px 10px #0000004d;transform:translateY(-2px)}.challenge-page .center-key-notification{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:120px;font-weight:700;font-family:Roboto Mono,monospace;color:#ffffff14;pointer-events:none;z-index:5;opacity:0;transition:opacity .2s}.challenge-page .center-key-notification.show{opacity:1;animation:keyPop .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes keyPop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.challenge-page .shortcuts-hint{display:flex;gap:16px;justify-content:center;align-items:center;color:#fff6;font-size:.9rem;margin-top:10px;opacity:.85}.challenge-page .shortcuts-hint span{padding:4px 8px;border-radius:6px;background:rgba(12,12,18,.6);border:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.challenge-page .challenge-title{font-size:1.5rem;top:15px}.challenge-page .game-container{padding:.5rem 1rem 1rem}.challenge-page .game-stats{top:70px;right:20px;flex-direction:row}.challenge-page .overlay-title{font-size:1.75rem}.challenge-page .overlay-content{padding:2rem;width:95%}.challenge-page .center-key-notification{font-size:80px}}.start-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#05050866!important;backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;z-index:2002;animation:fadeIn .3s ease-out;pointer-events:auto}.challenge-results-wrapper{width:100%;display:flex;align-items:center;justify-content:center;min-height:60vh}.challenge-results-container{width:100%;max-width:600px;margin:0 auto;animation:resultsSlideIn .5s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:center;padding:1rem}@keyframes resultsSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.challenge-results-content{background:linear-gradient(145deg,rgba(18,20,28,.95),rgba(12,12,18,.98));padding:2rem;border-radius:16px;max-width:100%;width:100%;text-align:center;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d;border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}.challenge-results-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,.5),rgba(255,255,255,.3));background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:0% 0%}50%{background-position:100% 0%}}.challenge-results-header{margin-bottom:1.5rem}.challenge-results-title{font-size:1.75rem;font-weight:700;color:#fffffff2;margin:0 0 .75rem;letter-spacing:.5px}.challenge-results-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}.challenge-results-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:Roboto Mono,monospace;border:none}.challenge-results-button.primary{background-color:#ffffffe6;color:#050508;box-shadow:0 4px 12px #fff3}.challenge-results-button.primary.link{text-decoration:none;justify-content:center;display:flex}.challenge-results-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffffff4d;background-color:#fff}.challenge-results-button.ghost{background-color:transparent;color:#ffffffbf;border:1px solid rgba(255,255,255,.25)}.challenge-results-button.ghost:hover{color:#fff;border-color:#ffffff80;transform:translateY(-2px)}html,body{background-color:#0d1117}body{margin:0;font-family:Roboto Mono,monospace!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}:root{--neon-blue: #00f3ff;--neon-purple: #bc13fe;--neon-green: #0aff0a;--glass-bg: rgba(20, 20, 30, .6);--glass-border: rgba(255, 255, 255, .1);--card-bg-hover: rgba(30, 30, 45, .8);--text-primary: #ffffff;--text-secondary: #a0a0b0}.App{position:absolute;top:0px;left:0px;height:100%;width:100%;overflow:hidden}.game{height:100%;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}.currentword{font-size:160px;font-weight:700;transform-origin:center center;opacity:0;color:#000;font-family:Roboto Mono,monospace;letter-spacing:.05em;transition:all .5s cubic-bezier(.215,.61,.355,1)}.game[data-state=game_starting] .currentword,.game[data-state=word_transitioning_out] .currentword{opacity:0}.game[data-state=word_transitioning_in] .currentword,.game[data-state=word_spelling] .currentword{opacity:1}.game[data-state=word_complete] .currentword{color:#2691fc;opacity:1;animation-name:word_complete;animation-duration:1s;animation-timing-function:ease-in-out}.game[data-state=word_transitioning_out] .currentword{color:#2691fc;opacity:0;animation-name:word_complete;animation-duration:1s;animation-timing-function:ease-in-out}.input{opacity:0;position:absolute;top:0px;left:0px;height:100%;width:100%;user-select:none;-webkit-user-select:none;font-size:16px}.currentword>span{margin:2px;display:inline-block}.currentword>span[data-status=complete]{color:#3d3f41}.currentword>span[data-status=current]{color:red;animation-name:letter_current;animation-duration:1s;animation-delay:.25s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.28,.84,.42,1)}@keyframes letter_current{0%{transform:scale(1) translateY(0)}30%{transform:scale(1.05,.9) translateY(-.4rem)}60%{transform:scaleX(.95) translateY(.1rem)}to{transform:scale(1) translateY(0)}}@keyframes word_complete{0%{transform:rotate(0)}33%{transform:rotate(10deg)}66%{transform:rotate(-10deg)}to{transform:rotate(0)}}.settings-anchor{position:absolute;bottom:8px;right:8px;z-index:10}.settings-content{min-width:144px;display:flex;gap:8px;flex-direction:column;box-shadow:1px 1px 8px -2px #00000040;border-radius:8px;padding:8px}.settings-content h3{margin:0;color:#000000d9;padding:8px 4px}.settings-content h4{margin:0;font-weight:400;font-size:12px;color:#000000a6;padding:0 4px}.section{display:flex;flex-direction:column;margin-block-start:8px;margin-block-end:8px;margin:0;padding:4px;border:1px solid rgb(222,222,222);border-radius:6px}.section hr{width:calc(100% + 8px);height:0px;border-top:0px;margin:4px -4px;border-bottom:1px solid rgb(222,222,222)}.settings-content button{position:relative;display:flex;background:none;border:none;padding:8px;border-radius:4px;width:100%;height:32px;gap:8px}.settings-content button:hover{background-color:#0000001a;cursor:pointer}.settings-content span:nth-of-type(1){flex-grow:2;text-align:left}.settings-content .checkmark{align-self:flex-end;right:8px;width:16px;height:16px;color:#000;stroke-width:0px}.settings-button{border:none;display:grid;padding:8px;border-radius:4px;align-items:center;transition:all .1s ease-out;background-color:transparent}.settings-button:hover{background-color:#0000001a;cursor:pointer}.settings-button svg{stroke:#0006;inline-size:20px;block-size:20px;transition:all .1s ease-out}.settings-button:hover svg{stroke:#000000b3}.font-itim{font-family:Itim,-apple-system,sans-serif}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.min-h-screen{min-height:100vh}.bg-blue-50{background-color:#eff6ff}.w-full{width:100%}.max-w-md{max-width:28rem}.p-8{padding:2rem}.space-y-8>*+*{margin-top:2rem}.bg-white{background-color:#fff}.rounded-lg{border-radius:.5rem}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.text-center{text-align:center}.text-4xl{font-size:2.25rem}.font-bold{font-weight:700}.text-blue-600{color:#2563eb}.mt-2{margin-top:.5rem}.text-gray-600{color:#4b5563}.mt-8{margin-top:2rem}.space-y-6>*+*{margin-top:1.5rem}.group,.relative{position:relative}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.border{border-width:1px}.border-transparent{border-color:transparent}.font-medium{font-weight:500}.rounded-md{border-radius:.375rem}.text-gray-700{color:#374151}.hover\:bg-gray-50:hover{background-color:#f9fafb}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-blue-500:focus{--tw-ring-color: #3b82f6}.mr-2{margin-right:.5rem}.h-5{height:1.25rem}.w-5{width:1.25rem}.mt-6{margin-top:1.5rem}.text-sm{font-size:.875rem}.text-red-700{color:#b91c1c}.bg-red-100{background-color:#fee2e2}.text-xs{font-size:.75rem}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.opacity-70{opacity:.7}.cursor-not-allowed{cursor:not-allowed}.list-disc{list-style-type:disc}.list-inside{list-style-position:inside}.text-left{text-align:left}.text-gray-500{color:#6b7280}.-ml-1{margin-left:-.25rem}.mr-3{margin-right:.75rem}.stroke-current{stroke:currentColor}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.warning-banner{position:fixed;top:100px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:12px;padding:12px 24px;background:rgba(255,171,0,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,171,0,.3);border-radius:12px;color:#ffab00;font-family:Outfit,sans-serif;font-weight:500;font-size:16px;box-shadow:0 8px 32px #0000004d;animation:slideDown .3s ease-out forwards;pointer-events:none}.warning-banner svg{font-size:20px}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}
