/*
 * Was jedes Fenster nach tokens.css bekommt: die Schrift, Rollbalken, den
 * Tastaturfokus und das Verhalten eines Desktop-Programms. Werte stehen hier
 * keine - die kommen aus tokens.css (erzeugt aus design/tokens.json).
 */

/* Inter liegt in schrift.css - die neuen React-Seiten laden sie ohne den Rest dieser Datei. */
@import url("schrift.css");


/*
 * [hidden] muss gewinnen. Das Browser-[hidden] ist nur ein display:none mit
 * geringer Spezifitaet; jede Klasse mit display:flex schlaegt es, und eine
 * weggeklappte Zeile stuende danach wieder da.
 */
[hidden] { display: none !important; }

/*
 * Ein Programm, keine Webseite: Knoepfe und Zeilen zeigen den normalen
 * Zeiger, Beschriftungen lassen sich nicht markieren. Markierbar bleibt,
 * was man eintippt oder kopieren will (.markierbar).
 */
html { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
body { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
input, textarea, [contenteditable="true"], .markierbar { -webkit-user-select: text; user-select: text; }
button, [role="button"], [role="switch"], [role="menuitem"], [role="option"], summary, label { cursor: default; }
/* Im Browser sagt die Hand «hier kann man klicken»; ein Programm unter Windows nimmt den Pfeil. */
html.web button:not(:disabled), html.web [role="button"]:not([aria-disabled="true"]), html.web [role="switch"], html.web [role="menuitem"], html.web [role="option"], html.web summary, html.web label:has(input) { cursor: pointer; }

/*
 * Unter dem Zeiger reagiert alles sofort; nur das Weggehen klingt aus. Mit der
 * Überblendung in beide Richtungen läuft die Antwort dem Zeiger hinterher.
 */
:is(button, a, summary, [role="button"], [role="menuitem"], [role="option"], [role="switch"], .ag-zeile, .ev):is(:hover, :active) { transition-duration: 0s; }

/* Rollbalken: schmal und leise, in jedem Fenster gleich. */
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
/* Der Rollbalken zeigt sich erst, wenn der Zeiger über der Fläche steht (wie bei den Systemleisten), ein Ruhezustand ohne graue Streifen. */
*::-webkit-scrollbar-thumb { background: transparent; border-radius: var(--rad-s); }
*:hover::-webkit-scrollbar-thumb { background: var(--line-strong); }
*::-webkit-scrollbar-thumb:hover { background: var(--ink-3); }
*::-webkit-scrollbar-corner { background: transparent; }

/* Tastaturfokus: ein Ring in der Akzentfarbe, nur bei Tastaturbedienung. */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--rad-m);
}

/*
 * Die Farbe des Fokus-Rings. Sie gehoert nicht zum System, sondern zur
 * Belohnung: renderer.js setzt sie aus dem freigespielten Ring
 * (progressCatalog.js). Ohne Freischaltung ist sie die Akzentfarbe.
 */
:root { --glow: var(--accent); }
