@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);color:#fff;font-family:Montserrat,sans-serif;overflow-x:hidden}.App,body{min-height:100vh}.App{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px}.page-container{margin:0 auto;max-width:800px;padding:40px 20px;text-align:center;width:100%}h1{font-size:3rem;font-weight:800;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}h2{font-size:2rem;font-weight:700;margin-bottom:15px}h3{font-size:1.5rem;font-weight:600;margin-bottom:10px}.code-input,.typing-input{background:hsla(0,0%,100%,.1);border:2px solid hsla(0,0%,100%,.3);border-radius:10px;color:#fff;font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:600;letter-spacing:2px;margin:20px 0;max-width:300px;padding:15px 20px;text-align:center;text-transform:uppercase;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.code-input:focus,.typing-input:focus{background:hsla(0,0%,100%,.15);border-color:#4caf50;box-shadow:0 0 20px rgba(76,175,80,.3);outline:none}.typing-input{font-size:1.1rem;height:120px;letter-spacing:normal;max-width:none;resize:none;text-align:left;text-transform:none}.btn{background:linear-gradient(45deg,#4caf50,#45a049);border:none;border-radius:25px;box-shadow:0 4px 15px rgba(76,175,80,.3);color:#fff;cursor:pointer;display:inline-block;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:1px;margin:10px;padding:12px 30px;text-decoration:none;text-transform:uppercase;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{background:linear-gradient(45deg,#45a049,#4caf50);box-shadow:0 6px 20px rgba(76,175,80,.4);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-secondary{background:linear-gradient(45deg,#666,#777);box-shadow:0 4px 15px hsla(0,0%,40%,.3)}.btn-secondary:hover{background:linear-gradient(45deg,#777,#666);box-shadow:0 6px 20px hsla(0,0%,40%,.4)}.error{background:rgba(255,85,85,.1);border:1px solid rgba(255,85,85,.3);border-radius:5px;color:#f55}.error,.success{font-weight:600;margin:10px 0;padding:10px}.success{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);border-radius:5px;color:#4caf50}.test-passage{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:15px;font-size:1.2rem;line-height:1.8;margin:30px 0;padding:30px;text-align:left}.test-passage::-webkit-scrollbar,div[style*="overflowY: auto"]::-webkit-scrollbar{background:transparent;height:0;width:0}.char-correct{color:#4caf50}.char-incorrect{color:#f55;text-decoration:underline}.char-current{background-color:rgba(76,175,80,.4);border-radius:2px;color:#fff}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.timer{color:#4caf50;font-size:2.5rem;font-weight:800;margin:20px 0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.timer.warning{animation:pulse 1s infinite;color:#f55}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:30px 0}.stat-item{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:15px;padding:20px}.stat-value{color:#4caf50;display:block;font-size:2rem;font-weight:800}.stat-label{color:hsla(0,0%,100%,.7);font-size:.9rem;letter-spacing:1px;margin-top:5px}.progress-bar{background:hsla(0,0%,100%,.1);border-radius:5px;height:10px;margin:10px 0;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#4caf50,#45a049);height:100%;transition:width .5s ease}.link{border-bottom:2px solid transparent;color:#4caf50;font-weight:600;text-decoration:none;transition:border-bottom-color .2s ease}.link:hover{border-bottom-color:#4caf50}.loading{animation:spin 1s ease-in-out infinite;border:3px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#4caf50;display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){h1{font-size:2.5rem}.page-container{padding:20px 10px}.test-passage{font-size:1.1rem;padding:20px}.stats-grid{grid-template-columns:1fr}}.typing-test{padding:0;width:100%}.text-display{align-items:center;background:rgba(30,30,30,.7);border-radius:10px;box-sizing:border-box;cursor:text;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:1.55rem;height:100px;justify-content:center;letter-spacing:.01em;line-height:1.85;margin-bottom:16px;overflow:hidden;padding:10px 32px;-webkit-user-select:none;user-select:none;width:100%}.text-display,.text-lines-inner{display:flex;flex-direction:column}.text-lines-inner{align-items:flex-start;max-width:100%}.text-lines-inner.sliding{animation:lineSlide .12s ease-out}@keyframes lineSlide{0%{transform:translateY(50%)}to{transform:translateY(0)}}.text-line{align-items:center;display:flex;height:1.47em;justify-content:flex-start}.char{color:#fff;white-space:pre}.char.correct{color:#4caf50}.char.incorrect{color:#f55}.char.cursor{background:hsla(0,0%,47%,.6);border-radius:2px;color:#fff;padding:2px 0}.text-display .text-lines-inner{transition:opacity .05s ease}.text-display.text-fading .text-lines-inner{opacity:0}.stats-bar{gap:10px;width:100%}.input-display,.stats-bar{align-items:center;display:flex}.input-display{background:rgba(45,45,45,.75);border:2px solid transparent;border-radius:10px;cursor:text;flex:1 1;height:48px;overflow:hidden;padding:10px 16px;transition:border-color .15s ease}.input-display.focused{border-color:rgba(100,150,255,.4)}.input-display.input-error{border-color:rgba(255,85,85,.6)!important}.input-text{color:#fff;font-family:JetBrains Mono,Courier New,monospace;font-size:1.4rem;overflow:hidden;white-space:nowrap}.input-cursor{animation:cursorBlink 1s infinite;background-color:#4caf50;display:inline-block;flex-shrink:0;height:1.2em;margin-left:1px;width:2px}.input-cursor.hidden{animation:none;background-color:transparent}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.stat-box{align-items:center;background:rgba(30,30,30,.7);border:1px solid hsla(0,0%,100%,.05);border-radius:10px;display:flex;height:48px;justify-content:center;padding:8px 14px}.wpm-box{gap:5px;width:100px}.timer-box{width:80px}.refresh-box{cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease;width:48px}.refresh-box:hover{background:#4caf50;border-color:transparent;box-shadow:0 0 10px rgba(76,175,80,.3)}.refresh-icon{transform:scaleX(-1)}@keyframes refreshSpin{0%{transform:scaleX(-1) rotate(0deg)}to{transform:scaleX(-1) rotate(1turn)}}.refresh-box.spinning .refresh-icon{animation:refreshSpin .5s cubic-bezier(.4,0,.2,1)}.stat-value{color:#fff;font-size:1.3rem;font-weight:700}.stat-value.warning{color:#f55}.stat-label{color:hsla(0,0%,100%,.4);font-size:.7rem;font-weight:600;text-transform:uppercase}.hidden-input-form{left:-200px;overflow:hidden;top:-200px}.hidden-input,.hidden-input-form{height:0;pointer-events:none;position:fixed;width:0}.hidden-input{border:none;caret-color:transparent;font-size:16px;left:-100px;margin:0;opacity:0;outline:none;padding:0;top:-100px}.practice-btn{background:hsla(0,0%,100%,.06);border:1.5px solid hsla(0,0%,100%,.15);border-radius:10px;color:hsla(0,0%,100%,.6);cursor:pointer;display:inline-block;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:700;letter-spacing:1px;padding:12px 32px;text-decoration:none;text-transform:uppercase;transition:all .2s ease}.practice-btn:hover{background:linear-gradient(45deg,#4caf50,#45a049);border-color:transparent;box-shadow:0 4px 14px rgba(76,175,80,.35);color:#fff}.duration-options{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.duration-btn{background:hsla(0,0%,100%,.08);border:none;border-radius:6px;color:hsla(0,0%,100%,.5);cursor:pointer;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:600;padding:7px 16px;transition:all .15s ease}.duration-btn:hover:not(:disabled){background:hsla(0,0%,100%,.14);color:hsla(0,0%,100%,.85)}.duration-btn.active{background:#4caf50;color:#fff}.duration-btn:disabled{cursor:not-allowed;opacity:.4}.inline-results{align-items:center;display:flex;gap:32px;height:100%;justify-content:center}.inline-result-item{text-align:center}.inline-result-value{color:#4caf50;display:block;font-size:2.4rem;font-weight:800;line-height:1}.inline-result-label{color:hsla(0,0%,100%,.45);display:block;font-size:.75rem;font-weight:600;letter-spacing:1px;margin-top:4px;text-transform:uppercase}@media (max-width:700px){.text-display{border-radius:8px;font-size:1.1rem;height:80px;margin-bottom:10px;padding:12px 16px}.text-line{height:1.5em}.stats-bar{flex-wrap:wrap;gap:8px}.input-display{height:44px;order:-1;width:100%}.input-text{font-size:1.1rem}.stat-box{height:44px;padding:6px 10px}.wpm-box{width:85px}.timer-box{width:70px}.refresh-box{width:44px}.stat-value{font-size:1.1rem}.duration-options{flex-wrap:wrap}}
/*# sourceMappingURL=main.c6ee7aae.css.map*/