:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.settings-container{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;background-color:var(--color-surface);padding:1rem;border-radius:8px;width:100%;max-width:800px}.settings-group{display:flex;align-items:center;gap:.75rem}.settings-label{font-family:var(--font-mono);color:var(--color-text-dim);margin-right:.5rem}.settings-button{font-family:var(--font-ui);background:none;border:none;color:var(--color-text-dim);padding:.25rem .5rem;cursor:pointer;font-size:1rem;transition:color .2s ease}.settings-button:hover{color:var(--color-text)}.settings-button.active{color:var(--color-primary);font-weight:600}.time-input{width:60px;background-color:var(--color-bg);border:1px solid #3b4261;color:var(--color-text);border-radius:5px;padding:.25rem .5rem;font-family:var(--font-ui);font-size:1rem;text-align:center}:root{--font-ui: "Poppins", sans-serif;--font-mono: "Fira Code", monospace;--color-bg: #1a1b26;--color-surface: #24283b;--color-text: #c0caf5;--color-text-dim: #565f89;--color-primary: #7aa2f7;--color-correct: #9ece6a;--color-incorrect: #f7768e}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-ui)}.App{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem}.App-header{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:800px;margin:0 auto}h1{font-weight:600;color:var(--color-text);font-size:2rem}.typing-box-container{width:100%;max-width:800px;background-color:var(--color-surface);padding:2rem;border-radius:12px;border:1px solid #3b4261;box-shadow:0 10px 30px #0003;margin:0 auto}.stats-display{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.stat-timer{font-family:var(--font-mono);font-size:1.25rem;color:var(--color-text);background-color:#0000001a;padding:.5rem 1rem;border-radius:8px}.prompt-display{font-family:var(--font-mono);font-size:1.5rem;line-height:2.5rem;text-align:left;white-space:pre-wrap;margin-bottom:1rem;font-variant-ligatures:none}.prompt-display span{position:relative}.prompt-display span.default{color:var(--color-text-dim)}.prompt-display span.correct{color:var(--color-correct)}.prompt-display span.incorrect{color:var(--color-incorrect);text-decoration:underline}.prompt-display span.incorrect-space{background-color:var(--color-incorrect);opacity:.3}.prompt-display span.cursor:before{content:"";position:absolute;left:-1px;top:0;height:100%;width:2px;background-color:var(--color-primary);animation:blink 1s infinite}@keyframes blink{50%{opacity:0}}.typing-input{opacity:0;position:absolute;z-index:-1;width:0;height:0;resize:none;border:none}.results-screen{text-align:center;padding:2rem 0}.results-screen h2{font-size:1.75rem;margin-bottom:1.5rem}.results-screen .stat{display:inline-block;background-color:#0000001a;padding:1rem 1.5rem;border-radius:8px;font-size:1.75rem;margin:.5rem;font-family:var(--font-mono)}.reset-button{margin-top:2rem;padding:.75rem 1.5rem;font-size:1rem;font-family:var(--font-ui);font-weight:600;cursor:pointer;background-color:var(--color-primary);border:none;color:var(--color-bg);border-radius:8px;transition:transform .2s ease,box-shadow .2s ease}.reset-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0003}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-bg);padding:2rem}.auth-box{width:100%;max-width:420px;background-color:var(--color-surface);padding:2rem;border-radius:12px;border:1px solid #3b4261;box-shadow:0 10px 30px #0003}.user-info{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.nav-button{background:none;border:none;color:var(--color-text-dim);font-family:var(--font-ui);font-size:1rem;cursor:pointer;padding:.5rem;transition:color .2s ease}.nav-button:hover{color:var(--color-primary)}.profile-container{width:100%;max-width:800px;background-color:var(--color-surface);padding:2rem;border-radius:12px;border:1px solid #3b4261}.profile-container h2{text-align:center;margin-bottom:1.5rem}.session-list{display:flex;flex-direction:column;gap:1rem}.session-item{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg);padding:1rem 1.5rem;border-radius:8px}.session-stat{display:flex;align-items:baseline;gap:.5rem}.stat-value{font-family:var(--font-mono);font-size:1.5rem;color:var(--color-text)}.stat-label{font-family:var(--font-ui);color:var(--color-text-dim)}.session-date{font-family:var(--font-mono);color:var(--color-text-dim)}
