#lesson-completion-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#lesson-completion-modal .bg-white{box-shadow:0 25px 50px -12px #00000040}#lesson-completion-modal .animate-bounce{animation:bounce 2s infinite}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}body.modal-open{overflow:hidden}.keyboard-wrapper{background:#1e293b!important;border-radius:1rem!important;padding:1.5rem!important;box-shadow:0 25px 50px -12px #00000040!important;width:100%!important;max-width:none!important;margin:0 auto!important;display:flex!important;justify-content:center!important;align-items:center!important}#keyboard-container{width:100%!important;max-width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;margin:0 auto!important}#keyboard-container .keyboard-wrapper{width:100%!important;max-width:none!important}.keyboard-container-inner{width:100%!important;max-width:100%!important;padding:0 .5rem!important;margin:0 auto!important}@media (min-width: 640px){.keyboard-container-inner{padding:0 1rem!important}}@media (min-width: 1024px){.keyboard-container-inner{padding:0 1.5rem!important}}.keyboard-grid{width:100%!important;max-width:100%!important;display:grid!important;gap:.2rem!important;margin:0 auto!important}.keyboard-row{width:100%!important;justify-content:center!important;flex-wrap:nowrap!important;display:flex!important;gap:.25rem!important;align-items:center!important}.keyboard-row.number-row,.keyboard-row.qwerty-row,.keyboard-row.asdf-row,.keyboard-row.zxcv-row,.keyboard-row.space-row{justify-content:center!important}.keyboard-key{min-height:60px!important;min-width:60px!important;border-radius:.5rem!important;font-weight:700!important;font-size:1.125rem!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important;transition:all .2s ease-in-out!important;position:relative!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important;flex:1!important}.keyboard-key:hover{transform:scale(1.05)!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important}.keyboard-key:active{transform:scale(.95)!important}.keyboard-key[data-type=backspace],.keyboard-key[data-type=enter]{min-width:120px!important;flex:2!important}.keyboard-key[data-type=tab],.keyboard-key[data-type=caps]{min-width:100px!important;flex:1.5!important}.keyboard-key[data-type=shift]{min-width:120px!important;flex:2!important}.keyboard-key[data-type=space]{min-width:500px!important;flex:8!important}.keyboard-key[data-type=ctrl],.keyboard-key[data-type=alt],.keyboard-key[data-type=fn],.keyboard-key[data-type=windows]{min-width:80px!important;flex:1!important}.key-text{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;line-height:1!important}.shift-char{font-size:.7rem!important;opacity:.8!important;margin-bottom:.1rem!important;font-weight:600!important;line-height:1!important;text-shadow:0 1px 2px rgba(0,0,0,.1)!important}.normal-char{font-size:1rem!important;font-weight:700!important;line-height:1!important;text-shadow:0 1px 2px rgba(0,0,0,.1)!important}.key-content{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;line-height:1!important}.keyboard-key[data-key="1"],.keyboard-key[data-key="2"],.keyboard-key[data-key="3"],.keyboard-key[data-key="4"],.keyboard-key[data-key="-"],.keyboard-key[data-key="="],.keyboard-key[data-key=a],.keyboard-key[data-key=s],.keyboard-key[data-key=d],.keyboard-key[data-key=f],.keyboard-key[data-key=g],.keyboard-key[data-key=h],.keyboard-key[data-key=j],.keyboard-key[data-key=k],.keyboard-key[data-key=l],.keyboard-key[data-key=";"],.keyboard-key[data-key="'"]{background:#10b981!important;color:#fff!important;border:2px solid #059669!important}.keyboard-key[data-key="5"],.keyboard-key[data-key="6"],.keyboard-key[data-key="0"]{background:#60a5fa!important;color:#fff!important;border:2px solid #3b82f6!important}.keyboard-key[data-key=q],.keyboard-key[data-key=w],.keyboard-key[data-key=e],.keyboard-key[data-key=r],.keyboard-key[data-key=t],.keyboard-key[data-key=y],.keyboard-key[data-key=u],.keyboard-key[data-key=i],.keyboard-key[data-key=o],.keyboard-key[data-key=p],.keyboard-key[data-key="["],.keyboard-key[data-key="]"]{background:#a78bfa!important;color:#fff!important;border:2px solid #8b5cf6!important}.keyboard-key[data-key="7"],.keyboard-key[data-key="8"],.keyboard-key[data-key="9"]{background:#fb923c!important;color:#fff!important;border:2px solid #ea580c!important}.keyboard-key[data-key=z],.keyboard-key[data-key=x],.keyboard-key[data-key=c],.keyboard-key[data-key=v],.keyboard-key[data-key=b],.keyboard-key[data-key=n],.keyboard-key[data-key=m],.keyboard-key[data-key=","],.keyboard-key[data-key="."],.keyboard-key[data-key="/"]{background:#10b981!important;color:#fff!important;border:2px solid #059669!important}.keyboard-key[data-type=enter]{background:#ef4444!important;color:#fff!important;border:2px solid #dc2626!important}.keyboard-key[data-type=backspace],.keyboard-key[data-type=tab],.keyboard-key[data-type=caps],.keyboard-key[data-type=shift],.keyboard-key[data-type=space],.keyboard-key[data-type=ctrl],.keyboard-key[data-type=alt],.keyboard-key[data-type=fn],.keyboard-key[data-type=windows]{background:#e5e7eb!important;color:#374151!important;border:2px solid #d1d5db!important;font-weight:600!important}.keyboard-key[data-type=backspace]{font-size:1.5rem!important}.keyboard-key[data-type=space]{font-size:.75rem!important;font-weight:600!important;opacity:.7!important}.keyboard-key[data-key="`"]{background:#fff!important;color:#374151!important;border:2px solid #d1d5db!important}.keyboard-key.ring-4{box-shadow:0 0 0 4px #fbbf24bf!important;z-index:10!important}@media (max-width: 768px){.keyboard-key{min-height:45px!important;min-width:45px!important;font-size:.9rem!important}.keyboard-key[data-type=space]{min-width:250px!important;flex:6!important}.keyboard-key[data-type=backspace],.keyboard-key[data-type=enter],.keyboard-key[data-type=shift]{min-width:80px!important;flex:1.5!important}.keyboard-key[data-type=tab],.keyboard-key[data-type=caps]{min-width:70px!important;flex:1.2!important}}@media (max-width: 480px){.keyboard-key{min-height:40px!important;min-width:40px!important;font-size:.8rem!important}.keyboard-key[data-type=space]{min-width:200px!important;flex:5!important}.keyboard-key[data-type=backspace],.keyboard-key[data-type=enter],.keyboard-key[data-type=shift]{min-width:60px!important;flex:1.2!important}.keyboard-key[data-type=tab],.keyboard-key[data-type=caps]{min-width:50px!important;flex:1!important}}#typing-tutor-wrapper .btn-primary{background:linear-gradient(to right,#059669,#059669cc)!important;color:#fff!important;border:none!important}#typing-tutor-wrapper .btn-primary:hover{background:linear-gradient(to right,#047857,#047857cc)!important;transform:scale(1.05)!important;box-shadow:0 10px 15px -3px #0596694d!important}#typing-tutor-wrapper .btn-secondary{background:#fff!important;border:2px solid #e5e7eb!important;color:#374151!important}#typing-tutor-wrapper .btn-secondary:hover{border-color:#059669!important;color:#059669!important;background:#0596690d!important}#start-practice-btn{background:linear-gradient(to right,#67c090,#67c090cc);color:#fff;font-size:.9rem;padding:.6rem 1.5rem;border-radius:.5rem;box-shadow:0 4px 8px #0000001a;display:flex;align-items:center;gap:.375rem;font-weight:600;border:none;cursor:pointer;transition:none}#start-practice-btn:hover{box-shadow:0 4px 8px #0000001a;transform:none}#start-practice-btn:active{transform:none}.keyboard-key{min-width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;font-family:Vazirmatn,sans-serif!important;border-radius:8px;position:relative;overflow:hidden;flex-shrink:0;transition:all .2s ease;cursor:pointer;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.2);background:#f8f9fa;border:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a;color:#495057}.keyboard-key .key-display{font-weight:900;color:#1f2937;text-shadow:none;line-height:1;font-family:Vazirmatn,sans-serif!important}.keyboard-key span:first-child{color:#6b7280;font-weight:500;text-shadow:none;line-height:1;font-family:Vazirmatn,sans-serif!important}.keyboard-key:hover{box-shadow:0 4px 8px #00000026}.keyboard-key{background:#f8f9fa;border-color:#e9ecef;color:#495057}.keyboard-key[data-key="1"],.keyboard-key[data-key="2"]{background:#ddd6fe;border-color:#c4b5fd;color:#6d28d9}.keyboard-key[data-key="3"],.keyboard-key[data-key="4"]{background:#bbf7d0;border-color:#86efac;color:#15803d}.keyboard-key[data-key="5"],.keyboard-key[data-key="6"]{background:#bfdbfe;border-color:#93c5fd;color:#1d4ed8}.keyboard-key[data-key="7"],.keyboard-key[data-key="8"],.keyboard-key[data-key="9"],.keyboard-key[data-key="0"]{background:#fde68a;border-color:#fbbf24;color:#a16207}.keyboard-key[data-key="-"],.keyboard-key[data-key="="]{background:#bbf7d0;border-color:#86efac;color:#15803d}.keyboard-key[data-key=q],.keyboard-key[data-key=w],.keyboard-key[data-key=e],.keyboard-key[data-key=r],.keyboard-key[data-key=t],.keyboard-key[data-key=y],.keyboard-key[data-key=u],.keyboard-key[data-key=i],.keyboard-key[data-key=o],.keyboard-key[data-key=p]{background:#ddd6fe;border-color:#c4b5fd;color:#6d28d9}.keyboard-key[data-key=a],.keyboard-key[data-key=s],.keyboard-key[data-key=d],.keyboard-key[data-key=f],.keyboard-key[data-key=g],.keyboard-key[data-key=h],.keyboard-key[data-key=j],.keyboard-key[data-key=k],.keyboard-key[data-key=l],.keyboard-key[data-key=";"]{background:#bbf7d0;border-color:#86efac;color:#15803d}.keyboard-key[data-key=z],.keyboard-key[data-key=x],.keyboard-key[data-key=c],.keyboard-key[data-key=v],.keyboard-key[data-key=b],.keyboard-key[data-key=n],.keyboard-key[data-key=m]{background:#fde68a;border-color:#fbbf24;color:#a16207}.keyboard-key[data-key=tab],.keyboard-key[data-key=caps],.keyboard-key[data-key=shift],.keyboard-key[data-key=enter],.keyboard-key[data-key=backspace]{background:#e2e8f0;border-color:#cbd5e1;color:#475569}.keyboard-key:active:after{width:120px;height:120px}.keyboard-key.learning{background:#fde68a!important;color:#a16207!important;box-shadow:0 4px 12px #fbbf2466,0 0 0 2px #fbbf24b3,inset 0 1px #fffc;animation:learningPulse 2s ease-in-out infinite;border:2px solid rgba(251,191,36,.9)}.keyboard-key.key-pressed{background:#dcfce7!important;color:#166534!important;transform:translateY(2px) scale(.95);box-shadow:0 8px 20px #22c55e66,inset 0 2px 4px #0000001a;z-index:15;animation:keyPress .15s ease-out;border:2px solid rgba(34,197,94,.8)}.keyboard-key.key-error{background:#fee2e2!important;color:#dc2626!important;transform:translateY(2px) scale(.95);box-shadow:0 8px 16px #ef44444d,inset 0 2px 4px #0000001a;z-index:15;animation:keyError .3s ease-in-out;border:2px solid rgba(239,68,68,.6)}.keyboard-key.mastered{background:#dcfce7!important;color:#166534!important;box-shadow:0 2px 8px #22c55e33,inset 0 1px #fffc;border:2px solid rgba(34,197,94,.4)}.keyboard-key.locked{background:#f8f9fa!important;color:#6c757d!important;opacity:.6;filter:grayscale(.5);box-shadow:0 2px 4px #0000000d,inset 0 1px #fff9;border:2px solid rgba(233,236,239,.8)}.key-highlight{background:#fde68a!important;color:#a16207!important;transform:translateY(-2px) scale(1.02);box-shadow:0 8px 16px #fbbf2466,0 0 0 2px #fbbf24b3,inset 0 1px #fffc;animation:keyGlow 2s ease-in-out infinite;z-index:20;border:2px solid rgba(251,191,36,.9)}.keyboard-key.key-highlight{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;transform:translateY(-4px) scale(1.1);box-shadow:0 12px 24px #3b82f699,0 0 0 3px #3b82f6cc,inset 0 1px #ffffffe6;animation:typingKeyGlow 1.5s ease-in-out infinite;z-index:25;border:2px solid rgba(59,130,246,1)}.keyboard-key.key-highlight .key-display,.keyboard-key.key-highlight span{color:#fff!important;font-family:Vazirmatn,sans-serif!important}@keyframes typingKeyGlow{0%,to{box-shadow:0 12px 24px #3b82f699,0 0 0 3px #3b82f6cc,inset 0 1px #ffffffe6}50%{box-shadow:0 16px 32px #3b82f6cc,0 0 0 4px #3b82f6,inset 0 1px #fff}}.key-pressed{background:#dcfce7!important;color:#166534!important;transform:translateY(2px) scale(.95);box-shadow:0 8px 20px #22c55e66,inset 0 2px 4px #0000001a;z-index:15;animation:keyPress .15s ease-out;border:2px solid rgba(34,197,94,.8)}.key-error{background:#fee2e2!important;color:#dc2626!important;transform:translateY(2px) scale(.95);box-shadow:0 8px 16px #ef44444d,inset 0 2px 4px #0000001a;z-index:15;animation:keyError .3s ease-in-out;border:2px solid rgba(239,68,68,.6)}.keyboard-key.w-20{min-width:4rem}.keyboard-key.w-24{min-width:5rem}.keyboard-key.w-28{min-width:6rem}.keyboard-key.w-32{min-width:7rem}.keyboard-key.w-36{min-width:8rem}.keyboard-key.w-96{min-width:18rem}.keyboard-row{display:flex;justify-content:center;gap:.2rem;margin-bottom:.4rem;flex-wrap:nowrap;align-items:center;width:100%;max-width:100%;margin-left:auto;margin-right:auto}.keyboard-row.number-row,.keyboard-row.qwerty-row,.keyboard-row.asdf-row,.keyboard-row.zxcv-row{margin-bottom:.5rem}.keyboard-row.space-row{margin-bottom:0}#keyboard-container{perspective:1200px;background:#fff;border:2px solid #e9ecef;box-shadow:0 10px 25px #0000001a,inset 0 1px #fffc;border-radius:1rem;overflow:hidden}.keyboard-wrapper{background:#1e293b!important;border-radius:1rem!important;padding:1.5rem!important;box-shadow:0 25px 50px -12px #00000040!important;width:100%!important;max-width:100%!important;margin:0 auto!important;display:flex!important;justify-content:center!important;align-items:center!important;position:relative!important}.keyboard-wrapper:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff0d,#ffffff05);pointer-events:none;border-radius:1rem}#keyboard-container.glassmorphism{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(255,255,255,.2);box-shadow:0 25px 50px #0003}#keyboard-container.gradient{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid rgba(255,255,255,.3);box-shadow:0 25px 50px #667eea4d}#keyboard-container.minimal{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #cbd5e1;box-shadow:0 10px 25px #0000000d}#keyboard-container.retro{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:2px solid #d97706;box-shadow:0 15px 35px #fbbf244d}#keyboard-container.neon{background:linear-gradient(135deg,#1f2937,#111827);border:2px solid #8b5cf6;box-shadow:0 0 30px #8b5cf680}#keyboard-container.pastel{background:linear-gradient(135deg,#fdf2f8,#f3e8ff);border:2px solid #e9d5ff;box-shadow:0 15px 35px #ec48991a}#keyboard-container.dark{background:linear-gradient(135deg,#374151,#1f2937);border:2px solid #4b5563;box-shadow:0 20px 40px #0000004d}#keyboard-container.glassmorphism .keyboard-key{background:#fff3!important;border-color:#ffffff4d!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff!important}#keyboard-container.gradient .keyboard-key{background:#ffffff26!important;border-color:#ffffff40!important;color:#fff!important}#keyboard-container.minimal .keyboard-key{background:#f8fafc!important;border-color:#e2e8f0!important;color:#475569!important}#keyboard-container.retro .keyboard-key{background:#fef3c7!important;border-color:#fde68a!important;color:#92400e!important}#keyboard-container.neon .keyboard-key{background:#374151!important;border-color:#4b5563!important;color:#fff!important;box-shadow:0 0 10px #8b5cf64d}#keyboard-container.pastel .keyboard-key{background:#fdf2f8!important;border-color:#f3e8ff!important;color:#7c3aed!important}#keyboard-container.dark .keyboard-key{background:#4b5563!important;border-color:#6b7280!important;color:#fff!important}#keyboard-container.glassmorphism h3,#keyboard-container.glassmorphism p,#keyboard-container.gradient h3,#keyboard-container.gradient p,#keyboard-container.neon h3,#keyboard-container.neon p,#keyboard-container.dark h3,#keyboard-container.dark p{color:#fff!important}#keyboard-container.retro h3,#keyboard-container.retro p{color:#92400e!important}#keyboard-container.pastel h3,#keyboard-container.pastel p{color:#7c3aed!important}#keyboard-container.glassmorphism .flex.items-center.justify-center.gap-6 span,#keyboard-container.gradient .flex.items-center.justify-center.gap-6 span,#keyboard-container.neon .flex.items-center.justify-center.gap-6 span,#keyboard-container.dark .flex.items-center.justify-center.gap-6 span{color:#fff!important}#keyboard-container.retro .flex.items-center.justify-center.gap-6 span{color:#92400e!important}#keyboard-container.pastel .flex.items-center.justify-center.gap-6 span{color:#7c3aed!important}#keyboard-container.neon .keyboard-key:hover{box-shadow:0 0 20px #8b5cf699!important}#keyboard-container.glassmorphism .keyboard-key:hover{background:#ffffff4d!important;transform:translateY(-2px) scale(1.05)}#keyboard-container.gradient .keyboard-key:hover{background:#ffffff40!important;transform:translateY(-2px) scale(1.05)}#keyboard-container.retro .keyboard-key:hover{background:#fde68a!important;transform:translateY(-2px) scale(1.05)}#keyboard-container.pastel .keyboard-key:hover{background:#f3e8ff!important;transform:translateY(-2px) scale(1.05)}@keyframes keyGlow{0%,to{box-shadow:0 8px 16px #fbbf2433,0 0 0 2px #fbbf2480,inset 0 1px #fff9}50%{box-shadow:0 8px 16px #fbbf2466,0 0 0 2px #fbbf24b3,inset 0 1px #fffc}}@keyframes keyPress{0%{transform:translateY(0) scale(1)}50%{transform:translateY(4px) scale(.9)}to{transform:translateY(2px) scale(.95)}}@keyframes keyError{0%,to{transform:translateY(2px) scale(.95)}25%{transform:translateY(2px) scale(.95) translate(-3px)}75%{transform:translateY(2px) scale(.95) translate(3px)}}@keyframes learningPulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #fbbf2433,0 0 0 2px #fbbf2480,inset 0 1px #fff9}50%{transform:scale(1.02);box-shadow:0 6px 16px #fbbf244d,0 0 0 2px #fbbf2499,inset 0 1px #fffc}}@media (max-width: 1024px){.keyboard-key.w-96{min-width:16rem}.keyboard-row{gap:.4rem;margin-bottom:.6rem;max-width:800px}}@media (max-width: 768px){.keyboard-key{min-width:2.5rem;height:2.5rem;font-size:.625rem;border-radius:6px}.keyboard-key.w-20{min-width:3.5rem}.keyboard-key.w-24{min-width:4.5rem}.keyboard-key.w-28{min-width:5.5rem}.keyboard-key.w-32{min-width:6.5rem}.keyboard-key.w-36{min-width:7.5rem}.keyboard-key.w-96{min-width:14rem}#keyboard-container{padding:1rem}.keyboard-row{gap:.4rem;margin-bottom:.6rem;max-width:700px;flex-wrap:wrap}}@media (max-width: 640px){.keyboard-key{min-width:2rem;height:2rem;font-size:.5rem}.keyboard-key.w-20{min-width:3rem}.keyboard-key.w-24{min-width:3.5rem}.keyboard-key.w-28{min-width:4rem}.keyboard-key.w-32{min-width:5rem}.keyboard-key.w-36{min-width:6rem}.keyboard-key.w-96{min-width:10rem}.keyboard-row{gap:.2rem;margin-bottom:.4rem;max-width:500px;flex-wrap:wrap}}@media (max-width: 480px){.keyboard-key{min-width:1.5rem;height:1.5rem;font-size:.375rem}.keyboard-key.w-20{min-width:2.5rem}.keyboard-key.w-24{min-width:3rem}.keyboard-key.w-28{min-width:3.5rem}.keyboard-key.w-32{min-width:4rem}.keyboard-key.w-36{min-width:5rem}.keyboard-key.w-96{min-width:8rem}.keyboard-row{gap:.1rem;margin-bottom:.2rem;max-width:350px;flex-wrap:wrap}#keyboard-container{padding:.75rem}}.typing-text{font-family:Courier New,monospace;line-height:2.5;word-spacing:.8rem;letter-spacing:.15rem;text-shadow:0 1px 2px rgba(0,0,0,.1)}#typing-text-display{font-family:Vazirmatn,sans-serif!important;font-weight:500!important;line-height:2.5;word-spacing:.8rem;letter-spacing:.15rem;text-shadow:0 1px 2px rgba(0,0,0,.1);text-align:center;direction:rtl;white-space:pre-wrap;word-wrap:break-word;min-height:80px;padding:16px;background:#fffffffa;border-radius:8px;border:1px solid rgba(103,192,144,.2);box-shadow:inset 0 1px 4px #0000000d;position:relative;display:flex;align-items:center;justify-content:center}#typing-text-display span{display:inline-block;padding:2px 1px;margin:0 1px;border-radius:4px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;font-family:Vazirmatn,sans-serif!important;font-weight:500!important}.char-current{background-color:#2563eb!important;color:#fff!important;font-weight:700!important;border:2px solid #1d4ed8!important;box-shadow:0 4px 8px #2563eb4d!important;animation:pulse 1.5s infinite!important}.typing-text span{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.char-correct{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;font-weight:600;box-shadow:0 2px 4px #22c55e33}.char-incorrect{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;font-weight:600;-webkit-text-decoration:underline wavy #dc2626;text-decoration:underline wavy #dc2626;box-shadow:0 2px 4px #dc262633;animation:shake .5s ease-in-out}.bg-red-500{background-color:#ef4444!important}.border-red-600{border-color:#dc2626!important}.text-white{color:#fff!important}.char-current{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8;font-weight:700;border:2px solid #3b82f6;box-shadow:0 4px 8px #3b82f64d;animation:pulse 1.5s infinite}.char-pending{color:#9ca3af;text-shadow:none}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.wrong-char{animation:wrongCharShake .6s ease-in-out}@keyframes wrongCharShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}@keyframes pulse{0%,to{transform:scale(1.1)}50%{transform:scale(1.15)}}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.animate-blob{animation:blob 7s infinite}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards;opacity:0;transform:translateY(30px)}.animation-delay-200{animation-delay:.2s}.animation-delay-400{animation-delay:.4s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}#text-display-card{background:linear-gradient(135deg,#f8fafc,#fff);box-shadow:inset 0 2px 4px #0000001a,0 4px 6px #0000000d}.typing-text-container{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.typing-text-container::-webkit-scrollbar{display:none}.typing-text{display:inline-block;padding:0 20px;line-height:2.2;letter-spacing:2px;text-align:left;direction:ltr;white-space:nowrap;min-width:-moz-max-content;min-width:max-content;font-weight:700}.typing-text span{padding:1px 4px;margin:0 3px;border-radius:8px;transition:all .2s ease;font-weight:700}.typing-text span.space-indicator{background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;color:#fff!important;border:2px solid #1e40af!important;box-shadow:0 4px 8px #3b82f64d!important;position:relative}.typing-text span.space-pending{background:#3b82f61a!important;border:1px dashed #3b82f6!important;color:#1d4ed8!important;position:relative}.dark .typing-text span.space-indicator{background:linear-gradient(135deg,#60a5fa,#3b82f6)!important;color:#fff!important;border:2px solid #60a5fa!important;box-shadow:0 4px 8px #60a5fa66!important}.dark .typing-text span.space-pending{background:#60a5fa26!important;border:1px dashed #60a5fa!important;color:#93c5fd!important}#start-button{background:linear-gradient(135deg,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}html{scroll-behavior:smooth}body{overflow-x:hidden}body.typing-active{overflow:hidden}#text-display-card{scroll-margin-top:2rem}.typing-tutor-active #text-display-card{background:linear-gradient(135deg,#f8fafc,#fff);border:2px solid rgba(103,192,144,.3);box-shadow:0 8px 32px #67c09026}.typing-tutor-active #typing-text-display{background:#fffffffa;border:1px solid rgba(59,130,246,.2);box-shadow:inset 0 1px 4px #0000000d,0 2px 8px #3b82f61a;text-align:right;direction:rtl;justify-content:flex-end;padding:16px;min-height:100px}.char-current:after{content:"";position:absolute;right:-2px;top:0;width:2px;height:100%;background:#2563eb;animation:cursorBlink 1s infinite}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}#typing-text-display,#typing-text-display span,.keyboard-key{transition:all .2s cubic-bezier(.4,0,.2,1)}.typing-tutor-active #typing-text-display span{margin:0 1px;padding:2px 1px;border-radius:4px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;font-family:Vazirmatn,sans-serif!important;font-weight:500!important}.typing-tutor-active #typing-text-display{font-size:18px;line-height:2.5;word-spacing:.8rem;letter-spacing:.15rem;text-shadow:0 1px 2px rgba(0,0,0,.1);font-family:Vazirmatn,sans-serif!important;font-weight:500!important}.practice-mode-show kbd{background:linear-gradient(135deg,#374151,#4b5563);border:1px solid #6b7280;box-shadow:0 2px 4px #0003;font-family:Courier New,monospace;font-weight:600}.practice-mode-show kbd:hover{background:linear-gradient(135deg,#4b5563,#6b7280);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.typing-active{scroll-behavior:auto!important}#text-display-card{scroll-margin-top:2rem;scroll-behavior:auto}.typing-text-container{scroll-behavior:auto}.typing-container{min-height:100vh;display:flex;flex-direction:column}.typing-content{flex:1;display:flex;flex-direction:column;justify-content:center}.backdrop-blur-sm{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.seo-content{-webkit-user-select:text;-moz-user-select:text;user-select:text;cursor:text;position:relative;z-index:20!important;pointer-events:auto!important}.seo-content h1,.seo-content h2,.seo-content h3,.seo-content h4,.seo-content p,.seo-content li,.seo-content span{-webkit-user-select:text;-moz-user-select:text;user-select:text;cursor:text}.game-button{cursor:pointer;transition:all .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:30!important;pointer-events:auto!important}.game-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.game-button:active{transform:translateY(0)}button,a,input,select,textarea{pointer-events:auto!important;position:relative;z-index:25!important}.dark #keyboard-container{background:linear-gradient(135deg,#374151,#1f2937);border:2px solid #4b5563;box-shadow:0 20px 40px #0000004d}.dark .keyboard-key{background:#4b5563!important;border-color:#6b7280!important;color:#fff!important}.dark .keyboard-key.learning{background:#92400e!important;color:#fef3c7!important;box-shadow:0 4px 12px #f59e0b66,0 0 0 2px #f59e0bb3,inset 0 1px #fff3;border:2px solid rgba(245,158,11,.9)}.dark .keyboard-key.mastered{background:#166534!important;color:#dcfce7!important;box-shadow:0 2px 8px #22c55e4d,inset 0 1px #fff3;border:2px solid rgba(34,197,94,.5)}.dark .keyboard-key.locked{background:#374151!important;color:#9ca3af!important;opacity:.6;filter:grayscale(.5);box-shadow:0 2px 4px #0003,inset 0 1px #ffffff1a;border:2px solid rgba(75,85,99,.8)}.dark .key-highlight{background:#92400e!important;color:#fef3c7!important;box-shadow:0 8px 16px #f59e0b66,0 0 0 2px #f59e0bb3,inset 0 1px #fff3;border:2px solid rgba(245,158,11,.9)}.dark .key-pressed{background:#166534!important;color:#dcfce7!important;box-shadow:0 8px 20px #22c55e66,inset 0 2px 4px #0000004d;border:2px solid rgba(34,197,94,.8)}.dark .key-error{background:#991b1b!important;color:#fecaca!important;box-shadow:0 8px 16px #ef44444d,inset 0 2px 4px #0000004d;border:2px solid rgba(239,68,68,.6)}.dark .typing-text{color:#e5e7eb}.dark .char-correct{background:transparent;color:#10b981;border-bottom:2px solid #10b981}.dark .char-incorrect{background:transparent;color:#ef4444;border-bottom:2px solid #ef4444}.dark .char-current{background:transparent;color:#dbeafe;border-bottom:2px solid #3b82f6}.dark .char-pending{color:#9ca3af;border-bottom:2px solid transparent}.dark #start-button{background:linear-gradient(135deg,#1f2937f2,#111827d9);border:1px solid rgba(75,85,99,.3)}.dark #progress-container{background:#4b5563}.dark .flex.items-center.justify-center.gap-6 span{color:#e5e7eb!important}.dark #current-key-info-bottom .bg-gray-100{background:#374151!important}.dark #current-key-info-bottom .text-gray-600{color:#9ca3af!important}.dark #current-key-info-bottom .text-blue-800{color:#93c5fd!important}.dark *{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.animate-blob{animation:blob 8s ease-in-out infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}@keyframes blob{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.btn-enhanced{transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-enhanced:hover{transform:translateY(-2px) scale(1.02)}.bg-gradient-text{background:linear-gradient(135deg,#67c090,#ddf4e7,#67c090);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glow-primary{box-shadow:0 0 20px #67c0904d}.glow-secondary{box-shadow:0 0 20px #ddf4e74d}.backdrop-blur-enhanced{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.shadow-hero{box-shadow:0 25px 50px -12px #00000040}.border-gradient{-o-border-image:linear-gradient(135deg,#67c090,#ddf4e7,#67c090) 1;border-image:linear-gradient(135deg,#67c090,#ddf4e7,#67c090) 1}.interactive-element{transition:all .3s ease-in-out}.interactive-element:hover{transform:scale(1.05);box-shadow:0 10px 25px #67c09033}.bg-pattern{background-image:radial-gradient(circle at 25% 25%,rgba(103,192,144,.1) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(221,244,231,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(103,192,144,.08) 0%,transparent 50%)}.dark .bg-pattern{background-image:radial-gradient(circle at 25% 25%,rgba(103,192,144,.2) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(221,244,231,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(103,192,144,.18) 0%,transparent 50%)}.layout-selector-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #67c0904d}.layout-option:hover{background:linear-gradient(135deg,#67c0901a,#ddf4e71a);transform:translate(5px);transition:all .3s ease}.typing-tutor-active .during-test-hide{display:none!important}.typing-tutor-active .practice-mode-show{display:block!important}.typing-tutor-active .seo-content{display:none!important}#typing-tutor-wrapper{transition:max-width .35s ease,padding .35s ease,width .35s ease}.typing-tutor-active #typing-tutor-wrapper{max-width:100%!important}
