:root { --primary: #007bff; --accent: #ff9800; --success: #28a745; --danger: #dc3545; --bg: #f4f4f9; } body { font-family: sans-serif; background: var(--bg); margin: 0; display: flex; flex-direction: column; height: 100vh; } .container { flex: 1; max-width: 600px; margin: 0 auto; padding: 20px; width: 100%; box-sizing: border-box; display: flex; flex-direction: column; } h1 { text-align: center; color: #333; } /* SETUP SCREEN */ .section-title { font-weight: bold; margin: 20px 0 10px; color: #555; text-transform: uppercase; font-size: 0.9rem; } .button-group { display: flex; flex-direction: column; gap: 10px; } button { padding: 15px; border: 2px solid #ddd; border-radius: 8px; background: white; font-size: 1rem; cursor: pointer; font-weight: 600; width: 100%; transition: all 0.2s; } button:hover { background: #f0f0f0; } /* Active States */ button.active { border-color: var(--primary); background: #e3f2fd; color: var(--primary); } .special-btn.active { border-color: var(--accent); background: #fff3e0; color: #e65100; } /* Action Buttons */ .action-btn { border: none; color: white; margin-top: 10px; } .primary { background: var(--primary); } .secondary { background: #6c757d; } .danger { background: var(--danger); } button:disabled { opacity: 0.5; cursor: not-allowed; } /* QUIZ CARD */ .card { background: white; padding: 20px; border-radius: 12px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); text-align: center; margin-bottom: 20px; } .question { font-size: 1.8rem; font-weight: bold; margin: 15px 0; } .hint { color: #888; font-style: italic; margin-bottom: 15px; } input { width: 100%; padding: 12px; margin-bottom: 10px; border: 2px solid #ddd; border-radius: 6px; font-size: 1.1rem; box-sizing: border-box; text-align: center; } input:focus { border-color: var(--primary); outline: none; } #verb-inputs { display: flex; flex-direction: column; gap: 5px; } /* FEEDBACK */ .feedback { font-weight: bold; min-height: 20px; } .correct { color: var(--success); } .wrong { color: var(--danger); } .typo { color: var(--accent); } /* OVERLAY */ .overlay { display: none; position: fixed; top:0; left:0; right:0; bottom:0; background: rgba(0,0,0,0.5); z-index: 99; align-items: center; justify-content: center; padding: 20px; } .overlay-content { background: white; padding: 20px; border-radius: 10px; width: 100%; max-width: 400px; max-height: 80vh; display: flex; flex-direction: column; } .page-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)); gap: 8px; overflow-y: auto; margin: 15px 0; } .page-item label { display: block; padding: 10px; background: #eee; text-align: center; border-radius: 5px; cursor: pointer; } .page-item input { display: none; } .page-item input:checked + label { background: var(--primary); color: white; } /* PROGRESS */ .progress-bar-bg { height: 6px; background: #ddd; width: 100%; } .progress-bar-fill { height: 100%; background: var(--success); width: 0%; transition: width 0.3s; }