Files
dogfather-universe/workspace/assets/css/personen.css
T
DogFatherGitandClaude Opus 5 fc4fde0f02 Buehnen hell, Flaechen dicht - und die Kopfleiste wieder kurz
DIE BUEHNEN WAREN ZU DUNKEL. Bei 0.42 Helligkeit sah man Schemen, nicht
die Szene -- "zu dunkel und sieht ganz komisch aus" traf es genau. Jetzt
0.66 mit etwas mehr Farbe (1.08), die Vignette schwaecher (0.52 statt
0.72). Die Bilder kommen durch.

MOEGLICH IST DAS NUR MIT DEM GEGENZUG: Alle Kacheln, Karten und Spalten
lagen bei 2 bis 3 Prozent WEISS -- also praktisch durchsichtig. Solange
der Hintergrund fast schwarz war, fiel das nicht auf; sobald er hell
wurde, lief das Bild mitten durch den Text. Jetzt gibt es --flaeche
(rgba(9,13,22,.78)), eine deckende dunkle Flaeche, und 44 Stellen in 16
Dateien holen sich ihre Farbe von dort.

Der Unterschied ist genau der, den Filipe beschrieben hat: Der
Hintergrund bleibt sichtbar, aber ZWISCHEN den Kacheln -- nicht hinter
der Schrift. Wer die Flaechen kuenftig dichter oder durchlaessiger will,
aendert eine einzige Zeile statt 44.

Die Kacheln selbst tragen ihren Farbton jetzt AUF der Flaeche
(color-mix mit --flaeche statt mit transparent) -- dadurch bleibt die
Farbe erkennbar, ohne dass die Kachel durchsichtig wird.

DIE KOPFLEISTE war so breit wie das ganze Fenster, obwohl der Text kurz
ist: .marke__text stand auf flex: 1 1 auto. Das war unsichtbar, solange
der Schriftzug nur Text war -- seit er einen Rahmen traegt, lief die
Pille quer durchs Bild. Jetzt flex: 0 1 auto (schrumpfen ja, wachsen
nein). Gemessen: 375 px statt 1280.

Kontrast an echten Bildpunkten auf allen sechs Seiten nachgemessen --
haelt trotz des viel helleren Bildes (schlechtester Wert 4,69:1).

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-01 11:20:02 +02:00

224 lines
9.1 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* ===================================================================
Personenverwaltung.
=================================================================== */
.person {
display: grid; gap: 4px 16px; align-items: center;
grid-template-columns: 1fr auto;
padding: 14px 16px; margin-bottom: 9px;
background: var(--flaeche);
border: 1px solid var(--rand);
border-radius: var(--radius-klein);
}
.person[data-aktiv="nein"] { opacity: .58; }
.person__name { font-weight: 600; font-size: .98rem; }
.person__zeile {
display: flex; flex-wrap: wrap; gap: 8px;
margin-top: 2px; font-size: .79rem; color: var(--text-still);
}
.marke-rolle {
padding: 1px 9px; border-radius: 999px;
font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.marke-rolle[data-rolle="admin"] { background: rgba(63, 189, 245, .16); color: #7fd2fb; }
.marke-rolle[data-rolle="creator"] { background: rgba(138, 118, 255, .16); color: #b3a6ff; }
.marke-rolle[data-rolle="scout"] { background: rgba(77, 171, 119, .16); color: #79d1a2; }
.person__knoepfe { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
/* ---------- Code-Anzeige ---------------------------------------------- */
.code-kasten {
margin: 0 0 26px; padding: 20px 22px;
background: linear-gradient(100deg, rgba(63, 189, 245, .12), rgba(138, 118, 255, .09));
border: 1px solid rgba(63, 189, 245, .5);
border-radius: var(--radius);
}
.code-kasten__schild {
margin: 0 0 8px; font-size: .78rem; font-weight: 600;
letter-spacing: .06em; text-transform: uppercase; color: var(--text-leise);
}
.code-kasten__code {
margin: 0 0 12px;
font-family: "Cascadia Mono", Consolas, "SF Mono", Menlo, monospace;
font-size: clamp(1.3rem, 3.4vw, 1.9rem); font-weight: 700;
letter-spacing: .12em; color: #eaf4fd;
user-select: all; /* ein Klick markiert den ganzen Code */
word-break: break-all;
}
.code-kasten__hinweis { margin: 0 0 14px; font-size: .85rem; color: var(--text-leise); }
/* ---------- Protokoll --------------------------------------------------- */
.protokoll-block { margin-top: 44px; }
/* Das Auf- und Zuklappen selbst steht in start.css (.klapp-kopf,
.klapp-pfeil, [data-klapp="zu"]) -- es wird auch auf der
Automationen-Seite gebraucht. */
.protokoll-zeile {
display: grid; gap: 10px;
grid-template-columns: 128px 190px 1fr auto;
padding: 7px 10px;
font-size: .8rem; color: var(--text-leise);
border-bottom: 1px solid rgba(150, 186, 220, .08);
}
.protokoll-zeile:first-child { border-top: 1px solid rgba(150, 186, 220, .08); }
.protokoll-zeit { color: var(--text-still); font-variant-numeric: tabular-nums; }
.protokoll-ip { color: var(--text-still); font-variant-numeric: tabular-nums; }
@media (max-width: 760px) {
.person { grid-template-columns: 1fr; }
.person__knoepfe { justify-content: flex-start; margin-top: 10px; }
.protokoll-zeile { grid-template-columns: 1fr; gap: 2px; padding: 10px; }
}
/* ---------- Zuständigkeit ------------------------------------------------
Wer betreut welchen Creator. Bewusst direkt in der Personenzeile und
nicht auf einer eigenen Seite: Es ist eine Eigenschaft der Person, kein
eigener Vorgang. */
.betreuung { display: flex; align-items: center; gap: 9px; margin-top: 9px; flex-wrap: wrap; }
.betreuung__schild {
font-size: .7rem; font-weight: 700; letter-spacing: .07em;
text-transform: uppercase; color: var(--text-still);
}
.betreuung__wahl {
padding: 6px 10px; min-width: 165px;
background: rgba(255, 255, 255, .05);
border: 1px solid var(--rand); border-radius: var(--radius-klein);
color: var(--text); font: inherit; font-size: .84rem;
}
.betreuung__wahl:focus {
outline: none; border-color: rgba(63, 189, 245, .65);
box-shadow: 0 0 0 3px rgba(63, 189, 245, .14);
}
/* ===================================================================
Rollenwahl (28.08.2026).
Ersetzt ein <select>. Bei vier Moeglichkeiten ist eine sichtbare Wahl
schneller -- und vor allem: Das aufgeklappte Systemmenue laesst sich
nicht gestalten, es kam in Windows-Weiss daher, mitten in einer
dunklen Oberflaeche. Hier steht ausserdem gleich dabei, was die Rolle
bedeutet; das ist bei "Manager" gegen "DogFather" der Unterschied
zwischen Raten und Wissen.
=================================================================== */
.rollenwahl-block { grid-column: 1 / -1; }
.rollenwahl {
display: grid; gap: 8px; margin-top: 2px;
grid-template-columns: repeat(auto-fit, minmax(232px, 1fr));
}
.rollenwahl__knopf {
--r: var(--text-still);
display: flex; align-items: flex-start; gap: 12px; text-align: left;
padding: 12px 14px; cursor: pointer;
background: linear-gradient(#151d2a, #111925);
border: 1px solid var(--rand); border-radius: 12px;
color: var(--text-leise); font: inherit;
transition: border-color .16s ease, background .16s ease, color .16s ease;
}
.rollenwahl__knopf:hover { border-color: rgba(255, 255, 255, .22); color: var(--text); }
.rollenwahl__knopf:focus-visible {
outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--r) 32%, transparent);
}
/* Eine Farbe je Rolle -- dieselbe Sprache wie überall sonst. */
.rollenwahl__knopf[data-rolle="admin"] { --r: #e8c07d; }
.rollenwahl__knopf[data-rolle="manager"] { --r: #8a76ff; }
.rollenwahl__knopf[data-rolle="scout"] { --r: #5fc99a; }
.rollenwahl__knopf[data-rolle="creator"] { --r: #3fbdf5; }
.rollenwahl__knopf[data-an="ja"] {
color: #fff;
border-color: color-mix(in srgb, var(--r) 60%, transparent);
background:
linear-gradient(color-mix(in srgb, var(--r) 16%, #151d2a),
color-mix(in srgb, var(--r) 9%, #111925));
box-shadow: 0 4px 16px -10px var(--r);
}
.rollenwahl__symbol {
width: 22px; height: 22px; flex: none; margin-top: 1px;
fill: none; stroke: var(--r); stroke-width: 1.6;
stroke-linecap: round; stroke-linejoin: round;
}
.rollenwahl__text { display: grid; gap: 2px; min-width: 0; }
.rollenwahl__name { font-size: .92rem; font-weight: 650; }
.rollenwahl__erklaerung { font-size: .76rem; color: var(--text-still); line-height: 1.42; }
.rollenwahl__knopf[data-an="ja"] .rollenwahl__erklaerung { color: var(--text-leise); }
/* Rollenmarke in der Liste bekommt dieselben Farben. */
.marke-rolle[data-rolle="manager"] {
color: #b6a9ff; border-color: rgba(138, 118, 255, .42); background: rgba(138, 118, 255, .12);
}
@media (prefers-reduced-motion: reduce) { .rollenwahl__knopf { transition: none; } }
/* Die Betreuungs-Auswahl bleibt ein Systemmenue -- bei wechselnd vielen
Scouts waere eine feste Schalterreihe unpraktisch. Sie bekommt aber
genug Breite, damit kein Name abgeschnitten wird. */
.betreuung__wahl { min-width: 190px; }
/* Die beiden Knöpfe oben rechts. Der Aufklapper steht LINKS vom
"Person anlegen" – die Hauptsache gehört ganz nach außen, sonst
springt der Blick beim Suchen daran vorbei. */
.kopf-knoepfe { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
/* Die Anzahl neben der Rollen-Überschrift. Sitzt zwischen Name und
Erklärung, damit sie zur Überschrift gehört und nicht zum Zusatztext. */
.gruppe__zahl {
min-width: 20px; padding: 1px 7px; text-align: center;
font-size: .72rem; font-weight: 700; color: var(--text-still);
background: rgba(255, 255, 255, .06); border-radius: 999px;
font-variant-numeric: tabular-nums;
}
/* In der Personenliste liegen die Karten direkt untereinander; der
Abstand zur nächsten Rolle kommt von .gruppe selbst. */
.gruppe .person:last-child { margin-bottom: 0; }
/* Der Löschknopf. Ruhig wie die anderen, bis man ihn ansieht – dann
deutlich rot. Ein dauerhaft roter Knopf in jeder Zeile macht die
ganze Liste nervös; einer, der erst beim Überfahren rot wird, warnt
genau im richtigen Moment. */
.schritt[data-gefahr="ja"] { color: var(--text-still); }
.schritt[data-gefahr="ja"]:hover:not(:disabled) {
color: var(--warn);
border-color: rgba(255, 154, 162, .55);
background: rgba(255, 154, 162, .1);
}
.schritt[data-gefahr="ja"]:focus-visible { outline-color: var(--warn); }
/* Die Rollen-Überschrift ist der Klappknopf. Sie sieht aus wie eine
Überschrift und verhält sich wie ein Knopf – deshalb hier nur der
Knopf-Rücksetzer und ein Zeiger, kein eigener Entwurf. */
.gruppe__kopf--klappbar {
width: 100%; text-align: left; cursor: pointer;
font: inherit; color: inherit;
background: none; border: 0;
border-bottom: 1px solid transparent;
border-image: linear-gradient(90deg, var(--rand-hell), transparent 70%) 1;
transition: opacity var(--tempo);
}
.gruppe__kopf--klappbar:hover { opacity: .82; }
.gruppe__kopf--klappbar:focus-visible {
outline: 2px solid var(--akzent); outline-offset: 3px; border-radius: 4px;
}
/* Der Pfeil ganz nach rechts – dort sucht ihn die Hand. */
.gruppe__kopf--klappbar .klapp-pfeil { margin-left: auto; color: var(--text-still); }
.gruppe__kopf--klappbar:hover .klapp-pfeil { color: var(--akzent); }
/* Zugeklappt zählt nur eines: Steckt da etwas Gesperrtes drin, das man
sehen müsste? Dann fällt der Zusatztext auf. */
.gruppe__unter[data-warn="ja"] { color: var(--warn); }
@media (prefers-reduced-motion: reduce) {
.gruppe__kopf--klappbar { transition: none; }
}