@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:all .3s 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:all .3s 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}.char-correct{background-color:#4caf50;color:#fff}.char-incorrect{background-color:#f55;color:#fff}.char-current{animation:blink 1s infinite;background-color:#fff;color:#000}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.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;font-weight:600;letter-spacing:1px;margin-top:5px;text-transform:uppercase}.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 .3s ease}.link{border-bottom:2px solid transparent;color:#4caf50;font-weight:600;text-decoration:none;transition:all .3s 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}}
/*# sourceMappingURL=main.eb53d4fb.css.map*/