.typing-practice-container{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f9fafb;color:#1f2937;padding:2rem;transition:background .3s ease,color .3s ease}.dark .typing-practice-container{background:#1a202c;color:#e5e7eb}.time-snippet_container{display:flex;justify-content:flex-end;width:100%;padding:10px}.time-snippet{font-size:1.2rem;font-family:Arial,sans-serif;padding:10px;border-radius:4px}.typing-practice-header{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.typing-practice-subtext{font-size:1.2rem;margin-bottom:2rem}.length-button{background-color:#2563eb;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:1rem}.length-button:hover{background-color:#1e40af}.text-length-slider{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:.5rem;margin-bottom:.5rem}.slider-controls{display:flex;align-items:center;gap:1rem}.refresh-text-btn{background:transparent;color:#6b7280;border:2px solid #d1d5db;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;white-space:nowrap}.refresh-text-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.text-length-label{font-size:1rem;margin-bottom:.5rem;text-align:center;width:100%}.slider{-webkit-appearance:none;width:250px;height:6px;background:#e5e7eb;border-radius:5px;outline:none;transition:background .3s ease}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#2563eb;border-radius:50%;cursor:pointer;transition:background .3s ease}.slider::-webkit-slider-thumb:hover{background:#1e40af}.slider::-moz-range-thumb{width:20px;height:20px;background:#2563eb;border-radius:50%;cursor:pointer;transition:background .3s ease}.slider::-moz-range-thumb:hover{background:#1e40af}.display-text{font-size:1.5rem;margin-bottom:1rem;color:#000;width:70%;padding:10px;background-color:#f8f9fa;border:1px solid #ddd;border-radius:8px;white-space:pre-wrap;word-wrap:break-word;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;caret-color:transparent}.correct-text{color:#059669}.remaining-text{color:#9ca3af}.mistake{color:#dc2626}.input-box{width:100%;max-width:600px;height:100px;font-size:1.2rem;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;margin-bottom:2rem;background-color:#fff;color:#1f2937;resize:none;overflow:auto;line-height:1.5;outline:none}.dark .input-box{background-color:#1f2937;color:#e5e7eb;border:2px solid #374151}.input-error{border-color:#dc2626}.progress-bar{width:100%;max-width:600px;height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden;margin-bottom:1rem}.progress{height:100%;background:#2563eb;transition:width .3s ease}.new-text-button,.reset-button{background:#2563eb;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;margin:.5rem;font-size:1rem}.new-text-button:hover,.reset-button:hover{background:#1e40af}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.overlay-content{background:#fff;padding:2rem;border-radius:8px;text-align:center;box-shadow:0 4px 6px rgba(0,0,0,.1);color:#000}.congratulations-trophy-logo-image{display:flex;height:10rem;width:auto;align-items:center;justify-content:center;margin:0 auto;padding:2rem}.overlay-content p{margin:.5rem 0;font-size:1.2rem}.graph-container{max-width:800px;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);text-align:center;color:#000;margin:2rem auto 4rem}.graphs{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.graph{flex:1 1 calc(50% - 1rem);padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);color:#000}@media (max-width:768px){.typing-practice-container{padding:1rem}.display-text{width:90%;font-size:1.2rem}.input-box{width:90%;height:80px;font-size:1rem}.progress-bar{max-width:90%}.slider-controls{flex-direction:column;gap:.5rem}.graph-container{padding:.5rem}.graphs{gap:.5rem;flex-wrap:wrap;justify-content:center}.graph{padding:.5rem;flex:1 1 100%}}