: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: 500px; /* Etwas schmaler, sieht auf Handy besser aus */ margin: 0 auto; padding: 20px; width: 100%; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; /* Vertikal zentrieren */ } h1 { text-align: center; color: #333; margin-bottom: 30px; } /* SETUP SCREEN */ .section-title { font-weight: bold; margin: 25px 0 10px; color: #555; text-transform: uppercase; font-size: 0.9rem; text-align: center; } /* WICHTIG: Buttons untereinander erzwingen */ .button-group { display: flex; flex-direction: column; gap: 15px; width: 100%; } button { padding: 18px; /* Große Klickfläche */ border: 2px solid #ddd; border-radius: 8px; background: white; font-size: 1.1rem; cursor: pointer; font-weight: 600; width: 100%; display: block; /* Erzwingt neue Zeile */ transition: all 0.2s; text-align: center; } 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 (Start, Check, Next) */ .action-btn { border: none; color: white; margin-top: 15px; } .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: 30px 20px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); text-align: center; margin-bottom: 25px; width: 100%; box-sizing: border-box; } .label { font-size: 0.9rem; color: #888; text-transform: uppercase; letter-spacing: 1px; } .question { font-size: 2rem; font-weight: bold; margin: 20px 0; color: #222; } .hint { color: #888; font-style: italic; margin-bottom: 20px; } input { width: 100%; padding: 15px; margin-bottom: 15px; border: 2px solid #ddd; border-radius: 8px; font-size: 1.2rem; box-sizing: border-box; text-align: center; display: block; } input:focus { border-color: var(--primary); outline: none; } #verb-inputs { display: flex; flex-direction: column; gap: 10px; } /* Quiz Controls Container */ .quiz-controls { display: flex; flex-direction: column; gap: 10px; width: 100%; } /* FEEDBACK */ .feedback { font-weight: bold; min-height: 25px; font-size: 1.1rem; margin-top: 10px; } .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: 999; align-items: center; justify-content: center; padding: 20px; } .overlay-content { background: white; padding: 20px; border-radius: 12px; width: 100%; max-width: 400px; max-height: 85vh; display: flex; flex-direction: column; } .page-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); gap: 10px; overflow-y: auto; margin: 15px 0; flex: 1; } .page-item label { display: block; padding: 12px; background: #f8f9fa; text-align: center; border-radius: 6px; cursor: pointer; font-weight: bold; color: #555; border: 2px solid transparent; } .page-item input { display: none; } .page-item input:checked + label { background: #e3f2fd; border-color: var(--primary); color: var(--primary); } /* PROGRESS BAR (STICKY BOTTOM) */ .progress-container { background: white; padding: 15px 20px; border-top: 1px solid #eee; text-align: center; position: fixed; /* Fixiert unten */ bottom: 0; left: 0; right: 0; } #stats-text { margin-bottom: 5px; color: #666; font-size: 0.9rem; } .progress-bar-bg { height: 8px; background: #eee; width: 100%; border-radius: 4px; overflow: hidden;} .progress-bar-fill { height: 100%; background: var(--success); width: 0%; transition: width 0.3s; }