diff --git a/app/static/style_v2.css b/app/static/style_v2.css new file mode 100644 index 0000000..3625df3 --- /dev/null +++ b/app/static/style_v2.css @@ -0,0 +1,177 @@ +: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; + min-height: 100vh; +} + +.container { + flex: 1; + max-width: 500px; + margin: 0 auto; + padding: 20px; + width: 100%; + box-sizing: border-box; + display: flex; + flex-direction: column; + justify-content: center; +} + +/* WICHTIG: Damit Quiz-Elemente untereinander sind */ +#quiz-screen { + display: flex; + flex-direction: column; + width: 100%; + align-items: center; +} + +h1 { text-align: center; margin-bottom: 20px; color: #333; } + +.section-title { + font-weight: bold; + margin: 20px 0 10px; + text-align: center; + color: #555; + text-transform: uppercase; +} + +/* BUTTONS UNTEREINANDER ERZWINGEN */ +.button-group, .quiz-controls { + display: flex; + flex-direction: column !important; + gap: 15px; + width: 100%; +} + +button { + display: block !important; + width: 100%; + padding: 16px; + border: 2px solid #ddd; + background: white; + border-radius: 8px; + font-size: 1.1rem; + font-weight: bold; + cursor: pointer; + text-align: center; +} + +button:hover { background: #f0f0f0; } + +button.active { + background: #e3f2fd; + border-color: var(--primary); + color: var(--primary); +} + +.special-btn.active { + background: #fff3e0; + border-color: var(--accent); + color: #e65100; +} + +.action-btn { color: white; border: none; margin-top: 0; } /* margin-top regelt der gap */ +.primary { background: var(--primary); } +.secondary { background: #6c757d; } +.danger { background: var(--danger); } +button:disabled { opacity: 0.5; cursor: not-allowed; } + +.card { + background: white; + padding: 25px; + border-radius: 12px; + box-shadow: 0 4px 10px 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; } +.question { font-size: 2rem; font-weight: bold; margin: 15px 0; color: #222; } +.hint { color: #888; font-style: italic; margin-bottom: 15px; } + +input { + width: 100%; + padding: 14px; + margin-bottom: 10px; + border: 2px solid #ddd; + border-radius: 8px; + font-size: 1.2rem; + text-align: center; + box-sizing: border-box; +} +input:focus { border-color: var(--primary); outline: none; } + +.feedback { font-weight: bold; margin-top: 10px; font-size: 1.1rem; min-height: 25px;} +.correct { color: var(--success); } +.wrong { color: var(--danger); } +.typo { color: var(--accent); } + +/* OVERLAY */ +.overlay { + display: none; + position: fixed; + top: 0; left: 0; width: 100%; height: 100%; + background: rgba(0,0,0,0.5); + z-index: 1000; + justify-content: center; + align-items: center; + padding: 20px; +} +.overlay-content { + background: white; + padding: 20px; + border-radius: 12px; + 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: 10px; + overflow-y: auto; + margin: 15px 0; + flex: 1; +} +.page-item label { + display: block; + padding: 12px; + background: #f8f9fa; + border-radius: 6px; + font-weight: bold; + color: #555; + text-align: center; + cursor: pointer; + border: 2px solid transparent; +} +.page-item input { display: none; } +.page-item input:checked + label { + background: #e3f2fd; + border-color: var(--primary); + color: var(--primary); +} + +.progress-container { + background: white; + padding: 10px; + border-top: 1px solid #eee; + text-align: center; + position: fixed; + bottom: 0; left: 0; right: 0; +} +.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