diff --git a/app/static/style.css b/app/static/style.css index ee63947..2a19733 100644 --- a/app/static/style.css +++ b/app/static/style.css @@ -12,75 +12,73 @@ body { margin: 0; display: flex; flex-direction: column; - height: 100vh; + min-height: 100vh; } .container { flex: 1; - max-width: 500px; /* Etwas schmaler, sieht auf Handy besser aus */ + max-width: 500px; margin: 0 auto; padding: 20px; width: 100%; box-sizing: border-box; display: flex; flex-direction: column; - justify-content: center; /* Vertikal zentrieren */ + justify-content: center; } -h1 { text-align: center; color: #333; margin-bottom: 30px; } +h1 { text-align: center; margin-bottom: 20px; color: #333; } -/* SETUP SCREEN */ +/* SETUP & BUTTONS */ .section-title { font-weight: bold; - margin: 25px 0 10px; + margin: 20px 0 10px; + text-align: center; color: #555; text-transform: uppercase; - font-size: 0.9rem; - text-align: center; } -/* WICHTIG: Buttons untereinander erzwingen */ -.button-group { +/* WICHTIG: Erzwingt vertikale Anordnung */ +.button-group, .quiz-controls { display: flex; - flex-direction: column; + flex-direction: column !important; /* WICHTIG */ 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; + display: block !important; /* WICHTIG */ width: 100%; - display: block; /* Erzwingt neue Zeile */ - transition: all 0.2s; + padding: 16px; + border: 2px solid #ddd; + background: white; + border-radius: 8px; + font-size: 1.1rem; + font-weight: bold; + cursor: pointer; text-align: center; + margin-bottom: 0; /* Gap regelt den Abstand */ } button:hover { background: #f0f0f0; } -/* Active States */ button.active { - border-color: var(--primary); background: #e3f2fd; + border-color: var(--primary); color: var(--primary); } .special-btn.active { - border-color: var(--accent); background: #fff3e0; + border-color: var(--accent); color: #e65100; } /* Action Buttons (Start, Check, Next) */ .action-btn { - border: none; color: white; - margin-top: 15px; + border: none; + margin-top: 10px; } .primary { background: var(--primary); } .secondary { background: #6c757d; } @@ -90,61 +88,44 @@ button:disabled { opacity: 0.5; cursor: not-allowed; } /* QUIZ CARD */ .card { background: white; - padding: 30px 20px; + padding: 20px; border-radius: 12px; - box-shadow: 0 4px 15px rgba(0,0,0,0.1); + box-shadow: 0 4px 10px rgba(0,0,0,0.1); text-align: center; - margin-bottom: 25px; - width: 100%; - box-sizing: border-box; + margin-bottom: 20px; } .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; } +.question { font-size: 1.8rem; font-weight: bold; margin: 15px 0; color: #222; } +.hint { color: #888; font-style: italic; margin-bottom: 15px; } input { width: 100%; - padding: 15px; - margin-bottom: 15px; + padding: 14px; + margin-bottom: 10px; border: 2px solid #ddd; border-radius: 8px; font-size: 1.2rem; - box-sizing: border-box; text-align: center; - display: block; + box-sizing: border-box; } 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; } +.feedback { font-weight: bold; min-height: 25px; margin-top: 5px; font-size: 1.1rem; } .correct { color: var(--success); } .wrong { color: var(--danger); } .typo { color: var(--accent); } -/* OVERLAY */ +/* OVERLAY (Seitenauswahl) */ .overlay { display: none; position: fixed; - top:0; left:0; right:0; bottom:0; + top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); - z-index: 999; - align-items: center; + z-index: 1000; justify-content: center; + align-items: center; padding: 20px; } .overlay-content { @@ -153,7 +134,7 @@ input:focus { border-color: var(--primary); outline: none; } border-radius: 12px; width: 100%; max-width: 400px; - max-height: 85vh; + max-height: 80vh; display: flex; flex-direction: column; } @@ -169,29 +150,27 @@ input:focus { border-color: var(--primary); outline: none; } display: block; padding: 12px; background: #f8f9fa; - text-align: center; border-radius: 6px; - cursor: pointer; font-weight: bold; color: #555; - border: 2px solid transparent; + text-align: center; + cursor: pointer; } .page-item input { display: none; } .page-item input:checked + label { background: #e3f2fd; - border-color: var(--primary); color: var(--primary); + border: 1px solid var(--primary); } -/* PROGRESS BAR (STICKY BOTTOM) */ +/* PROGRESS BAR */ .progress-container { background: white; - padding: 15px 20px; + padding: 10px; border-top: 1px solid #eee; text-align: center; - position: fixed; /* Fixiert unten */ + position: fixed; 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-bg { height: 8px; background: #eee; width: 100%; border-radius: 4px; overflow: hidden; margin-top: 5px;} .progress-bar-fill { height: 100%; background: var(--success); width: 0%; transition: width 0.3s; } \ No newline at end of file