UI-Ueberarbeitung: responsives Grid, konsistente Buttons, Wizard-Breite, Kontrast

- Uebungen in responsivem Grid (2-3 Spalten auf Desktop, 1 Spalte mobil)
- Setup-Modal feste Breite 640px (capped am Viewport) - kein Sprung beim
  Sprachwechsel
- Button-Konsistenz: .btn-primary nutzt --accent-border (weisser Akzent
  bekommt sichtbare graue Umrandung, auch auf hellem Theme); Secondary =
  transparent/dunkelgrau
- Fortschrittssegmente: groesser (40x6, gap 8); Semantik wie gewuenscht -
  erledigt = voll gefuellt, aktuell = nur Umrandung, kommend = graue
  Umrandung
- Session-Kopf: 'Alles zuruecksetzen' + 'Session abschliessen' gebuendelt,
  'Verwerfen' abgesetzt und bestaetigungsgeschuetzt
- Wizard: Appearance-Untertitel korrigiert (nicht mehr 'default accent'),
  Sprach-Buttons mit mehr Abstand
- Settings: Formular-Zeilen ausgerichtet (Inputs gestreckt, Button rechts),
  muted heller (bessere Lesbarkeit), Checkbox groesser
- Tests: 158 Checks gruen (39+18+43+32+26)
This commit is contained in:
AI-Agent committed 2026-10-02 00:17:00 +00:00
1 parent a2c4fdc1bd
commit ba599fcbf5
2 files changed
+75 -33

No files matched your search

+53 -17
View File
@@ -14,11 +14,12 @@
--border: #333;
--border-hover: #4d4d4d;
--text: #e8e8e8;
--muted: #8f8f8f;
--muted: #a0a0a0;
--accent: #ffffff;
--accent-hover: #f2f2f2;
--accent-active: #e6e6e6;
--accent-ink: #141414;
--accent-border: var(--accent);
--danger: #c0392b;
--ok: #6fae5c;
--font-ui: system-ui, -apple-system, "Segoe UI", sans-serif;
@@ -26,6 +27,7 @@
}
html[data-theme="light"] {
--muted: #5c5c59;
--bg: #f2f2f0;
--bg-panel: #ffffff;
--bg-input: #ffffff;
@@ -40,6 +42,7 @@ html[data-theme="light"] {
}
html[data-theme="oled"] {
--muted: #a0a0a0;
--bg: #000000;
--bg-panel: #050505;
--bg-input: #000000;
@@ -58,7 +61,7 @@ html[data-accent="cyan"] { --accent: #25b8cc; --accent-hover: #39c5d8; --accen
html[data-accent="blue"] { --accent: #4a86c8; --accent-hover: #5a96d6; --accent-active: #4073b0; --accent-ink: #141414; }
html[data-accent="violet"] { --accent: #9a6fd0; --accent-hover: #ab80e0; --accent-active: #875db7; --accent-ink: #141414; }
html[data-accent="pink"] { --accent: #e0567f; --accent-hover: #eb6890; --accent-active: #c74b6e; --accent-ink: #141414; }
html[data-accent="white"] { --accent: #ffffff; --accent-hover: #f2f2f2; --accent-active: #e6e6e6; --accent-ink: #141414; }
html[data-accent="white"] { --accent: #ffffff; --accent-hover: #f2f2f2; --accent-active: #e6e6e6; --accent-ink: #141414; --accent-border: #9a9a9a; }
html[data-theme="dark"], html[data-theme="oled"] { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }
@@ -203,14 +206,14 @@ h3 { font-size: 15px; font-weight: 700; }
.btn:active { background: var(--bg-hover); }
.btn-primary {
border-color: var(--accent);
border-color: var(--accent-border, var(--accent));
background: var(--accent);
color: var(--accent-ink);
font-weight: 700;
}
.btn-primary:hover { border-color: var(--accent-hover); background: var(--accent-hover); }
.btn-primary:active { border-color: var(--accent-active); background: var(--accent-active); }
.btn-primary:hover { background: var(--accent-hover); }
.btn-primary:active { background: var(--accent-active); }
.btn-danger-ghost {
border-color: var(--danger);
@@ -304,6 +307,18 @@ h3 { font-size: 15px; font-weight: 700; }
background: var(--accent-hover);
}
/* Session-Aktionen: Hauptaktionen gebuendelt, Verwerfen abgesetzt */
.session-actions {
display: flex;
gap: 10px;
align-items: center;
}
.session-discard {
margin-left: 28px;
}
/* Session-Kopf (laufende Session) */
.session-head {
@@ -365,10 +380,19 @@ h3 { font-size: 15px; font-weight: 700; }
.ex-block {
border: 2px solid var(--border);
margin: 0 0 12px;
margin: 0;
cursor: grab;
}
.ex-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 14px;
align-items: start;
}
.ex-grid .ex-block { margin: 0; }
.ex-block.drag-over { border-color: var(--accent); }
.ex-head {
@@ -398,7 +422,7 @@ h3 { font-size: 15px; font-weight: 700; }
flex-wrap: wrap;
gap: 8px;
align-items: center;
padding: 8px 12px;
padding: 6px 10px;
}
.set-row.is-done { background: var(--bg-subtle); }
@@ -764,6 +788,17 @@ h3 { font-size: 15px; font-weight: 700; }
.data-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.form-row {
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
}
.form-row input { flex: 1 1 0; min-width: 140px; }
.form-row .btn { flex-shrink: 0; }
.file-input {
max-width: 240px;
color: var(--muted);
@@ -792,8 +827,8 @@ h3 { font-size: 15px; font-weight: 700; }
.toggle-row:last-child { border-bottom: 0; }
.toggle-input {
width: 20px;
height: 20px;
width: 22px;
height: 22px;
margin: 2px 0 0;
accent-color: var(--accent);
flex-shrink: 0;
@@ -881,8 +916,9 @@ body.boot #setup-gate { visibility: hidden; }
.auth-box {
border: 2px solid var(--border);
background: var(--bg-panel);
max-width: 460px;
padding: 36px;
width: 640px;
max-width: calc(100vw - 32px);
padding: 40px;
text-align: left;
}
@@ -929,7 +965,7 @@ body.boot #setup-gate { visibility: hidden; }
.auth-box .picker-label { margin: 0 0 12px; }
.auth-box .day-picker { margin-bottom: 16px; }
.auth-box .day-picker { gap: 12px; margin-bottom: 20px; }
.auth-form { margin: 0 0 18px; }
@@ -1016,20 +1052,20 @@ body.boot #setup-gate { visibility: hidden; }
}
.wp-step {
width: 36px;
height: 10px;
width: 40px;
height: 6px;
border: 2px solid var(--border);
background: transparent;
}
.wp-step.is-done {
border-color: var(--muted);
background: var(--muted);
border-color: var(--accent);
background: var(--accent);
}
.wp-step.is-current {
border-color: var(--accent);
background: var(--accent);
background: transparent;
}
button:disabled {