@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a14;--surface:#131325;--surface-light:#1a1a35;--border:#000;--primary:#c6243f;--primary-hover:#c93f54;--primary-dim:#4d4848;--accent-blue:#4facfe;--text:#e8e8f0;--text-muted:#e2e2ee;--text-dim:#4c4c68;--success:#2ed573;--error:#ff4757;--warning:#ffa502}html{scroll-behavior:smooth}body{background:var(--bg);background-image:var(--bg-gradient);color:var(--text);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}#root{z-index:1;min-height:100vh;position:relative}.btn{border:2px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:12px;outline:none;padding:10px 22px;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;transition:all .25s;position:relative;overflow:hidden}.btn:hover:not(.btn--disabled){border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:0 0 20px #e9456026}.btn:active:not(.btn--disabled){transform:translateY(0)}.btn--active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 25px #e945604d}.btn--active:hover{background:var(--primary-hover);color:#fff!important;border-color:var(--primary-hover)!important}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff;padding:12px 32px;font-size:1.05rem;font-weight:600}.btn--primary:hover:not(.btn--disabled){background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 0 30px #e9456059;color:#fff!important}.btn--danger{color:#ff4757;border-color:#ff4757}.btn--danger:hover:not(.btn--disabled){background:#ff4757;border-color:#ff4757;box-shadow:0 0 20px #ff475740;color:#fff!important}.btn--disabled{opacity:.4;cursor:not-allowed}.settings-panel{flex-wrap:wrap;justify-content:center;gap:40px;margin-bottom:8px;display:flex}.settings-group{align-items:center;gap:12px;display:flex}.settings-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-size:.85rem;font-weight:600}.settings-buttons{gap:8px;display:flex}.typing-area{background:var(--surface-light);border:1px solid var(--border);cursor:text;border-radius:16px;min-height:140px;padding:28px 32px;transition:border-color .3s,box-shadow .3s;position:relative}.typing-area:hover{border-color:var(--primary-dim)}.typing-area:focus-within{border-color:var(--primary);box-shadow:0 0 25px #e945601a}.typing-area__text{letter-spacing:.5px;-webkit-user-select:none;user-select:none;word-wrap:break-word;font-family:system-ui;font-size:1.5rem;line-height:2}.typing-area__input{opacity:0;cursor:text;width:100%;height:100%;font-size:16px;position:absolute;top:0;left:0}.char{color:var(--text-dim);border-radius:2px;padding:1px 0;transition:color .1s}.char--correct{color:var(--success)}.char--incorrect{color:var(--error);background:#ff475726;border-radius:3px}.char--current{border-left:2px solid var(--primary);padding-left:1px;animation:1s infinite blink}.timer{flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative}.timer__ring{width:100%;height:100%;position:absolute;transform:rotate(-90deg)}.timer__ring-bg{fill:none;stroke:var(--border);stroke-width:6px}.timer__ring-fill{fill:none;stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .5s}.timer__text{z-index:1;font-family:JetBrains Mono,Fira Code,monospace;font-size:1.5rem;font-weight:700}.stats{background:var(--surface);border:1px solid var(--border);border-radius:14px;justify-content:center;align-items:center;gap:24px;padding:16px 28px;display:flex}.stats__item{flex-direction:column;align-items:center;gap:4px;display:flex}.stats__value{font-family:JetBrains Mono,Fira Code,monospace;font-size:1.5rem;font-weight:700}.stats__value--wpm{color:var(--primary)}.stats__value--accuracy{color:var(--accent-blue)}.stats__value--correct{color:var(--success)}.stats__value--incorrect{color:var(--error)}.stats__label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-size:.7rem;font-weight:600}.stats__divider{background:var(--border);width:1px;height:36px}.history{margin-top:12px}.history__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.history__title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-size:.85rem;font-weight:600}.history__empty{text-align:center;color:var(--text-muted);padding:20px;font-size:.9rem;font-style:italic}.history__list{flex-direction:column;gap:10px;max-height:240px;padding-right:4px;display:flex;overflow-y:auto}.history__list::-webkit-scrollbar{width:4px}.history__list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.history__item{background:var(--surface-light);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;transition:border-color .2s;display:flex}.history__item:hover{border-color:var(--primary-dim)}.history__item-top{align-items:center;gap:16px;display:flex}.history__wpm{color:var(--primary);font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:700}.history__accuracy{color:var(--accent-blue);font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:600}.history__difficulty{text-transform:uppercase;letter-spacing:1px;background:var(--border);border-radius:20px;padding:3px 10px;font-size:.7rem;font-weight:600}.history__difficulty--easy{color:var(--success);background:#2ed5731a}.history__difficulty--medium{color:var(--warning);background:#ffa5021a}.history__difficulty--hard{color:var(--error);background:#ff47571a}.history__time{color:var(--text-muted);font-size:.8rem}.history__date{color:var(--text-muted);font-size:.75rem}.card{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:28px;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 32px #0000004d}.card:hover{box-shadow:0 12px 40px #0006}.card__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;font-size:.8rem;font-weight:600}.card__content{width:100%}.typing-page{flex-direction:column;gap:28px;max-width:860px;margin:0 auto;padding:40px 24px 60px;display:flex}.typing-page__header{text-align:center;margin-bottom:8px}.typing-page__logo{background:linear-gradient(20deg,#fff,#eae8f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;justify-content:center;align-items:center;gap:12px;font-size:2.2rem;font-weight:800;display:flex}.typing-page__logo-icon{-webkit-text-fill-color:initial;filter:drop-shadow(0 0 8px #e9456066);font-size:2rem}.typing-page__subtitle{color:var(--text-muted);margin-top:6px;font-size:.95rem}.typing-page__main,.typing-page__typing-section{flex-direction:column;gap:20px;display:flex}.typing-page__controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.typing-page__buttons{flex-direction:column;gap:10px;display:flex}.results-page{flex-direction:column;align-items:center;gap:24px;max-width:640px;margin:0 auto;padding:60px 24px 80px;animation:.6s fadeInUp;display:flex}.results-page__title{-webkit-text-fill-color:transparent;text-align:center;background:linear-gradient(20deg,#fff,#eae8f6);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.results-page__stats-grid{grid-template-columns:1fr 1fr;gap:7px;width:100%;display:grid}.results-page__stat-card{text-align:center}.results-page__stat{flex-direction:column;align-items:center;gap:6px;display:flex}.results-page__stat-value{font-family:JetBrains Mono,Fira Code,monospace;font-size:2.5rem;font-weight:800}.results-page__stat-value--wpm,.results-page__stat-value--accuracy,.results-page__stat-value--correct,.results-page__stat-value--errors{color:var(--accent-blue)}.results-page__stat-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);font-size:.75rem;font-weight:600}.results-page__feedback-card{width:100%}.results-page__feedback{flex-direction:column;gap:16px;display:flex}.results-page__feedback-text{color:var(--text);font-size:1rem;line-height:1.7}.results-page__meta{align-items:center;gap:12px;display:flex}.results-page__difficulty{text-transform:uppercase;letter-spacing:1px;border-radius:20px;padding:4px 14px;font-size:.7rem;font-weight:600}.results-page__difficulty--easy{color:var(--success);background:#2ed5731a}.results-page__difficulty--medium{color:var(--warning);background:#ffa5021a}.results-page__difficulty--hard{color:var(--error);background:#ff47571a}.results-page__duration{color:var(--text-muted);font-size:.8rem}.results-page__actions{margin-top:8px}.app{min-height:100vh}
