* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', sans-serif; background: #f5f5f5; color: #2c3e50; line-height: 1.5; } .header { background: #2c3e50; color: white; padding: 1.5rem 2rem; border-bottom: 3px solid #34495e; } .header h1 { font-size: 1.5rem; font-weight: 600; } .header p { font-size: 0.9rem; color: #bdc3c7; margin-top: 0.25rem; } .container { max-width: 1400px; margin: 0 auto; padding: 2rem; } .timer-section { background: white; border: 2px solid #34495e; border-radius: 4px; padding: 2rem; margin-bottom: 2rem; text-align: center; } .timer-label { font-size: 0.875rem; color: #7f8c8d; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 0.5rem; } .timer-display { font-family: 'Roboto Mono', monospace; font-size: 4rem; font-weight: 500; color: #2c3e50; } .timer-display.warning { color: #e67e22; } .timer-display.danger { color: #e74c3c; } .timer-display.inactive { color: #bdc3c7; } .main-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 2rem; } .section { background: white; border: 1px solid #ddd; border-radius: 4px; padding: 1.5rem; } .section-title { font-size: 1rem; font-weight: 600; color: #2c3e50; margin-bottom: 1.5rem; padding-bottom: 0.75rem; border-bottom: 2px solid #ecf0f1; } .form-group { margin-bottom: 1.25rem; } .form-label { display: block; font-size: 0.875rem; font-weight: 500; color: #34495e; margin-bottom: 0.5rem; } .form-input { width: 100%; padding: 0.625rem 0.75rem; border: 1px solid #cbd5e0; border-radius: 3px; font-size: 0.9375rem; font-family: inherit; transition: border-color 0.15s; } .form-input:focus { outline: none; border-color: #3498db; } .form-input:disabled { background: #f8f9fa; color: #adb5bd; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; } .radio-group { display: flex; gap: 1.5rem; margin-top: 0.5rem; } .radio-label { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; } .radio-label input { cursor: pointer; } .btn { padding: 0.625rem 1.25rem; border: none; border-radius: 3px; font-size: 0.9375rem; font-weight: 500; cursor: pointer; transition: all 0.15s; font-family: inherit; } .btn:disabled { opacity: 0.5; cursor: not-allowed; } .btn-primary { background: #3498db; color: white; } .btn-primary:hover:not(:disabled) { background: #2980b9; } .btn-success { background: #27ae60; color: white; } .btn-success:hover:not(:disabled) { background: #229954; } .btn-danger { background: #e74c3c; color: white; } .btn-danger:hover:not(:disabled) { background: #c0392b; } .btn-secondary { background: #95a5a6; color: white; } .btn-secondary:hover:not(:disabled) { background: #7f8c8d; } .btn-warning { background: #f39c12; color: white; } .btn-warning:hover:not(:disabled) { background: #e67e22; } .btn-group { display: flex; gap: 0.75rem; margin-top: 1rem; } .controls-section { background: white; border: 1px solid #ddd; border-radius: 4px; padding: 1.5rem; margin-bottom: 2rem; } .controls-section .btn-group { margin-top: 0; } textarea { font-family: 'Roboto Mono', monospace; font-size: 0.875rem; line-height: 1.5; resize: vertical; } .word-display { background: white; border: 1px solid #ddd; border-radius: 4px; padding: 1.5rem; } .word-list-container { max-height: 500px; overflow-y: auto; margin-top: 1rem; } .word-item { background: #fafafa; border: 1px solid #e0e0e0; border-radius: 3px; padding: 0.75rem 1rem; margin-bottom: 0.5rem; display: flex; align-items: center; justify-content: space-between; transition: background 0.15s; } .word-item:hover { background: #f0f0f0; } .word-item.active { background: #e3f2fd; border-color: #3498db; } .word-item.correct { background: #e8f5e9; border-color: #27ae60; } .word-item.incorrect { background: #ffebee; border-color: #e74c3c; } .word-content { display: flex; align-items: center; gap: 0.75rem; flex: 1; } .word-index { font-family: 'Roboto Mono', monospace; font-size: 0.8125rem; color: #7f8c8d; min-width: 2.5rem; } .word-text { font-size: 0.9375rem; color: #2c3e50; } .word-timer { font-family: 'Roboto Mono', monospace; font-size: 1rem; color: #34495e; min-width: 4rem; text-align: right; } .word-checkbox { margin-left: 1rem; } .placeholder { text-align: center; padding: 3rem 1rem; color: #95a5a6; } .small-text { font-size: 0.8125rem; color: #7f8c8d; margin-top: 0.25rem; } .status-message { padding: 0.75rem 1rem; border-radius: 3px; margin-top: 1rem; font-size: 0.875rem; } .status-message.success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .status-message.error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } @media (max-width: 768px) { .main-grid { grid-template-columns: 1fr; } .form-row { grid-template-columns: 1fr; } .timer-display { font-size: 3rem; } .btn-group { flex-direction: column; } .btn { width: 100%; } }