* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #1e293b; color: #f8fafc; min-height: 100vh; display: flex; flex-direction: column; align-items: center; padding: 1rem; }
header h1 { font-size: 2rem; color: #38bdf8; margin-bottom: 1rem; }
.controls { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; justify-content: center; margin-bottom: 1rem; }
.controls select, .controls button { padding: 0.4rem 0.8rem; border-radius: 4px; border: none; font-size: 1rem; cursor: pointer; }
.controls button { background: #38bdf8; color: #1e293b; font-weight: bold; }
.text { background: #334155; padding: 1.5rem; border-radius: 8px; max-width: 600px; width: 100%; font-size: 1.1rem; line-height: 1.8; margin-bottom: 1rem; min-height: 100px; }
.text span { transition: color 0.1s; }
.text .correct { color: #22c55e; }
.text .wrong { color: #ef4444; text-decoration: underline; }
.text .current { background: #fbbf24; color: #1e293b; border-radius: 2px; }
.input { width: 100%; max-width: 600px; padding: 0.75rem; border: 2px solid #475569; border-radius: 8px; background: #0f172a; color: #f8fafc; font-size: 1.1rem; font-family: monospace; resize: none; height: 80px; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.75rem; max-width: 600px; width: 100%; margin-top: 1rem; }
.stats div { background: #334155; padding: 0.75rem; border-radius: 8px; text-align: center; }
.stats b { color: #38bdf8; font-size: 1.2rem; }
.stats div { font-size: 0.9rem; color: #cbd5e1; }
footer { margin-top: 1rem; }
footer a { color: #38bdf8; text-decoration: none; }