@import url("./buttons.css");
@import url("./labels.css");
@import url("./page-transitions.css");
/* First-use controls must be styled before their markup is mounted. */
@import url("./profile-menu.css");
@import url("./cookie-consent.css");
@import url("./presentation-export.css");

/* Xtrackers / Presentation Hub — UI-Vokabular für Hub, Login, Admin, Create und Dialoge.
   Lädt auch im Deck (deck.js: Teilen-Dialog), deshalb keine Seitenhülle hier, die liegt in hub.css.
   Liquid Glass im stg-Design, ruhige Fassung (2026-09-05): Glas mit Blur und Lichtkante auf der Bedienebene,
   Hover tönt nur leicht, kein Außenschein, kein Lichtpunkt, keine Hebe-Transforms. glass.css ergänzt refraktive Navigationsflächen.
   Ein Schnitt (DWS Sans), Hierarchie über Größe und
   Farbe, Sand als einziger Akzent, Tagline-Kasten statt nackter Eyebrows, kein Tracking, Slashes
   als Trennzeichen. Regeln: .claude/skills/liquid-glass-design-system/web-adaptation.md */
:root {
  --ui-bg: var(--stg-ink-800);
  --ui-panel: var(--stg-ink-900);
  --ui-panel-2: var(--stg-ink-700);
  --ui-line: rgba(238, 132, 73, 0.10);
  --ui-line-strong: rgba(238, 132, 73, 0.24);
  --ui-text: var(--stg-sand-200);
  --ui-muted: #b5c4d8;
  --ui-quiet: #a8bad0;
  --ui-accent: var(--stg-sand-500);
  --ui-white: #fff;
  --ui-danger: #f2b59c;
  --ui-radius: var(--stg-radius-surface);
  color-scheme: dark;
  /* Glas-Material: dunkle Füllung trägt die Fläche; Rand und Lichtkante bleiben zurückhaltend.
     Dekorative Kanten sind von Tastaturfokus und Editor-Auswahl getrennt. */
  --glass-fill: rgba(23, 18, 36, 0.90);
  --glass-fill-strong: #171224;
  --glass-fill-hover: rgba(34, 46, 63, 0.94);
  --glass-blur: 22px;
  --glass-sat: 1.35;
  --glass-line: rgba(238, 132, 73, 0.085);
  --glass-line-hover: rgba(201, 192, 228, 0.16);
  --glass-edge: rgba(255, 255, 255, 0.035);
  --glass-shadow: 0 18px 48px rgba(4, 8, 14, 0.32);
  --glass-radius: var(--stg-radius-surface);
  /* Bewegung: weich raus, federnd bei Größe und Pop */
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-spring: cubic-bezier(0.22, 1.25, 0.36, 1);
  --dur-1: 0.18s;
  --dur-2: 0.32s;
  --dur-3: 0.55s;
  /* Hover-Tönung: helles stg-Blau (ink-300), nur als leichte Füllung und Randfarbe */
  --glow-rgb: 201, 192, 228;
}
html { background: var(--ui-bg); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0; min-height: 100vh; min-height: 100dvh;
  background: var(--ui-bg); color: var(--ui-text);
  font-family: var(--stg-font); font-weight: 400; font-size: 16px; line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
b, strong { font-weight: 400; color: var(--ui-white); }
a { color: var(--ui-accent); text-decoration: none; }
a:hover { color: var(--ui-white); }
button, input, select, textarea { font: inherit; color: inherit; }
img { max-width: 100%; }

/* Glas als Fläche (Bedienebene). Lichtkante oben ist Materialverhalten, kein Dekor. */
.glass, .glass-strong {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0) 42%), var(--glass-fill);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  border: 1px solid var(--glass-line);
  border-radius: var(--glass-radius);
  box-shadow: inset 0 1px 0 var(--glass-edge), inset 0 -1px 0 rgba(0, 0, 0, 0.16), var(--glass-shadow);
}
.glass-strong { background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0) 30%), var(--glass-fill-strong); }

/* Tagline-Kasten (UI-Größe): ink-900-Kasten als dünnes Glas */
.eyebrow-ui {
  display: inline-flex; align-items: center; gap: 10px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0) 60%), rgba(23, 18, 36, 0.72);
  -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3);
  border-radius: var(--stg-radius-control); padding: 9px 14px;
  color: var(--ui-accent); font-size: 13px; text-transform: uppercase; line-height: 1;
  border: 1px solid var(--glass-line); box-shadow: inset 0 1px 0 var(--glass-edge);
}
.eyebrow-ui img, .eyebrow-ui svg { height: 14px; width: auto; display: block; }
.eyebrow-ui .sl { color: var(--ui-muted); }
/* Produkt-Lockup im Tagline-Kasten: Icon der stg-Suite (inline, currentColor) + "stg/" in Sand + Name in Weiß */
.eyebrow-ui.lockup { text-transform: none; gap: 12px; padding: 8px 16px 8px 10px; font-size: 16px; letter-spacing: 0; }
.eyebrow-ui.lockup svg { height: 26px; width: 26px; flex: none; }
.eyebrow-ui.lockup .nm { color: var(--ui-white); }

/* Überschriften */
.h-display { font-size: clamp(36px, 5vw, 62px); line-height: 1.05; color: var(--ui-accent); text-transform: uppercase; margin: 14px 0 0; text-wrap: balance; }
.h-display .dot { color: inherit; }
.h-section { font-size: 24px; line-height: 1.2; color: var(--ui-white); margin: 0; }
.lede { font-size: 18px; line-height: 1.5; color: var(--ui-muted); max-width: 64ch; margin: 14px 0 0; text-wrap: pretty; }
.small { font-size: 13px; color: var(--ui-quiet); }

.dlg .notice, .panel .notice, .glass .notice, .glass-strong .notice, .sheet .notice { -webkit-backdrop-filter: none; backdrop-filter: none; }

/* Formulare: Felder sind dunkles Material im Glas, Fokus ist Sand-Rand plus weicher Ring */
.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field > label, .label { font-size: 13px; text-transform: uppercase; color: var(--ui-accent); }
.input, input.input, select.input, textarea.input {
  width: 100%; background: rgba(23, 18, 36, 0.86); border: 1px solid var(--ui-line); border-radius: var(--stg-radius-control);
  padding: 12px 14px; font-size: 16px; color: var(--ui-white); outline: none; min-width: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition: var(--stg-field-transition);
}
.input:where(:not(:disabled)):hover { border-color: var(--glass-line-hover); }
.input:focus { border-color: var(--stg-field-focus-border); background-color: rgba(23, 18, 36, 0.72); box-shadow: var(--stg-field-focus-shadow); }
.input::placeholder { color: var(--ui-quiet); }
select.input { appearance: none; -webkit-appearance: none; padding-right: 36px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23C8B59A' stroke-width='1.6' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat; background-position: right 14px center; }
select.input option { color: var(--ui-text); background: var(--stg-ink-900); }
textarea.input { min-height: 96px; resize: vertical; line-height: 1.45; }
.check { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--ui-text); cursor: pointer; }
.check input { width: 18px; height: 18px; accent-color: var(--stg-sand-500); }
.hint { font-size: 13px; color: var(--ui-quiet); line-height: 1.45; }
.row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.row.between { justify-content: space-between; }
.grow { flex: 1; min-width: 0; }

/* Panels: Glasbögen für Formulare und Hinweise */
.panel {
  background: radial-gradient(120% 90% at 0% 0%, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0) 55%), linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0) 30%), var(--glass-fill);
  -webkit-backdrop-filter: blur(26px) saturate(1.3);
  backdrop-filter: blur(26px) saturate(1.3);
  border: 1px solid var(--glass-line); border-radius: var(--stg-radius-surface); padding: 26px 28px;
  box-shadow: inset 0 1px 0 var(--glass-edge);
}
.panel.key { border-color: var(--ui-line-strong); }
.panel h3 { margin: 0 0 6px; font-size: 22px; color: var(--ui-white); line-height: 1.2; }
.panel .sub { margin: 0 0 18px; color: var(--ui-muted); font-size: 15px; }
.rule { border: 0; border-top: 1.5px solid var(--ui-accent); margin: 0; }
.rule.soft { border-top: 1px solid var(--stg-ink-700); }

/* Informational labels are defined centrally in labels.css. */

/* Listen / Tabellen: keine Trennlinien, Zeilen sind weiche Materialflächen mit Abstand */
.list { display: flex; flex-direction: column; gap: 6px; }
.list .li { display: grid; gap: 14px; align-items: center; padding: 12px 14px; border-radius: var(--stg-radius-control); background: var(--glass-fill); border: 1px solid rgba(255, 255, 255, 0.04); transition: background var(--dur-1), border-color var(--dur-1); }
.list .li:hover { background: var(--glass-fill-hover); border-color: var(--glass-line-hover); }
.list .li > * { min-width: 0; }
.list .li .who { overflow-wrap: anywhere; color: var(--ui-white); font-size: 16px; line-height: 1.25; }
.list .li .who small { display: block; color: var(--ui-muted); font-size: 13px; }
.list .li .meta { color: var(--ui-quiet); font-size: 13px; }
.avatar { width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, 0.06); border: 1px solid var(--glass-line); box-shadow: inset 0 1px 0 var(--glass-edge); color: var(--ui-accent); display: grid; place-items: center; font-size: 13px; flex: none; }

/* Lesbarkeit: verschachtelte Inhaltszeilen brauchen keinen zweiten Glaseffekt. */
:is(.panel, .dlg, .glass, .glass-strong) .list .li { background: rgba(255, 255, 255, .035); }
:is(.panel, .dlg, .glass, .glass-strong) .list .li:hover { background: rgba(201, 192, 228, .08); }
:where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--ui-accent); outline-offset: 3px;
}
.input::placeholder { opacity: 1; }

/* Opt-in for custom controls and composite fields. Keep this out of slide content.
   A borderless text input belongs to its surface; nested buttons keep keyboard focus. */
.stg-field-control, .stg-field-surface { transition: var(--stg-field-transition); }
.stg-field-control:focus, .stg-field-surface:focus-within {
  border-color: var(--stg-field-focus-border); box-shadow: var(--stg-field-focus-shadow); outline: none;
}
.stg-field-surface > :is(input, textarea):focus { outline: none; box-shadow: none; }
@media (forced-colors: active) {
  .input:focus, .stg-field-control:focus, .stg-field-surface:focus-within { outline: 2px solid Highlight; outline-offset: 3px; }
}

/* Hinweise */
.notice {
  min-width: 0; overflow-wrap: anywhere;
  border-radius: var(--stg-radius-control); padding: 12px 14px; font-size: 14px; line-height: 1.45; color: var(--ui-text);
  border: 1px solid var(--ui-line);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0) 50%), var(--glass-fill-strong);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: inset 0 1px 0 var(--glass-edge);
  animation: ui-rise var(--dur-2) var(--ease-out) both;
}
.notice.error { border-color: rgba(213, 113, 75, 0.3); background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 50%), var(--glass-fill-strong); color: #F2B59C; }
.notice.ok { border-color: var(--ui-line-strong); color: var(--ui-white); }
.email-status { display: flex; gap: 12px; align-items: flex-start; }
.email-status-icon { color: var(--ui-accent); flex: none; padding-top: 2px; }
.email-status[data-email-state="failed"] .email-status-icon, .email-status[data-email-state="unconfirmed"] .email-status-icon { color: inherit; }
.email-status-copy { min-width: 0; }
.email-status-title { font-size: 18px; line-height: 1.3; }
.email-status-recipient { margin-top: 4px; color: var(--ui-white); overflow-wrap: anywhere; }
.email-status-detail { margin-top: 5px; font-size: 13px; color: var(--ui-muted); }
.email-status[data-email-state="failed"] .email-status-detail, .email-status[data-email-state="unconfirmed"] .email-status-detail { color: inherit; }
.email-result-access { margin-top: 12px; color: var(--ui-text); }
.email-result-warning { margin-top: 10px; color: #F2B59C; }

.notice code, .code { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12.5px; color: var(--ui-white); background: rgba(8, 12, 18, 0.5); border-radius: var(--stg-radius-compact); padding: 2px 6px; word-break: break-all; }

/* Dialog: Glasbogen über abgedunkelter, unscharfer Seite, federt herein */
.dlg-back {
  position: fixed; inset: 0; z-index: 900; background: rgba(8, 12, 18, 0.55);
  -webkit-backdrop-filter: blur(14px) saturate(1.1); backdrop-filter: blur(14px) saturate(1.1);
  display: flex; align-items: flex-start; justify-content: center; padding: 6vh 16px; overflow-y: auto; overscroll-behavior: contain;
  animation: ui-fade var(--dur-2) var(--ease-out) both;
}
dialog.dlg-back { width: 100%; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; color: inherit; }
dialog.dlg-back:not([open]) { display: none; }
dialog.dlg-back::backdrop { background: transparent; }
.dlg {
  width: min(720px, 100%); position: relative; color: var(--ui-text);
  background: radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0) 55%), linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0) 26%), var(--glass-fill-strong);
  -webkit-backdrop-filter: blur(32px) saturate(1.3); backdrop-filter: blur(32px) saturate(1.3);
  border: 1px solid var(--glass-line); border-radius: var(--stg-radius-surface); padding: 28px 30px 30px;
  box-shadow: inset 0 1px 0 var(--glass-edge), 0 30px 80px rgba(4, 8, 14, 0.5);
  animation: ui-sheet var(--dur-2) var(--ease-out) both;
}
.dlg.narrow { width: min(520px, 100%); }
.dlg h3 { margin: 0; padding-right: 38px; font-size: 26px; color: var(--ui-white); line-height: 1.15; overflow-wrap: anywhere; }
.dlg .eyebrow-ui { max-width: calc(100% - 38px); line-height: 1.35; overflow-wrap: anywhere; }
.dlg .close { position: absolute; top: 14px; right: 14px; z-index: 1; }
.dlg section { margin-top: 24px; }
.dlg section h4 { margin: 0 0 12px; font-size: 13px; text-transform: uppercase; color: var(--ui-accent); }
.share-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px; align-items: end; }
.share-fields > * { min-width: 0; }
.share-dialog .share-recipient-panel { margin-top: 16px; }
.share-dialog .share-recipient-panel[hidden] { display: none; }
.share-dialog .share-recipient-panel > .field { margin-top: 12px; }
.share-dialog .share-recipient-details { margin-top: 8px; overflow-wrap: anywhere; }
.share-dialog .share-role-field { margin: 18px 0 8px; max-width: 280px; }
.share-dialog .share-send-row { margin-top: 18px; justify-content: space-between; }
.share-dialog .share-result { margin-top: 12px; overflow-wrap: anywhere; }
.share-dialog .share-access-link { margin: 12px 0 8px; }
.share-dialog .share-access-link .input { min-width: 0; }
.share-dialog .share-recipient-panel .hint { margin-bottom: 0; }

.list .li.share-member { grid-template-columns: 36px minmax(0, 1fr) auto auto; }
.list .li.share-invitation { grid-template-columns: minmax(0, 1fr) auto auto; }
@media (max-width: 600px) {
  .list .li.share-member { grid-template-columns: 36px minmax(0, 1fr); }
  .list .li.share-member > :nth-child(n + 3) { grid-column: 2; justify-self: start; max-width: 100%; }
  .list .li.share-invitation { grid-template-columns: minmax(0, 1fr); }
}

/* Bestätigungen: im Top-Layer, zentriert und auch über hellen Motiven gut lesbar. */
dialog.stg-dialog {
  position: fixed; inset: 0; margin: auto;
  width: min(520px, calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
  padding: 32px; overflow-y: auto; overscroll-behavior: contain;
  font-family: var(--stg-font); font-weight: 400; font-size: 16px; line-height: 1.5;
  text-align: left; -webkit-backdrop-filter: none; backdrop-filter: none;
  animation: ui-rise var(--dur-1) var(--ease-out) both;
}
dialog.stg-dialog:not([open]) { display: none; }
dialog.stg-dialog::backdrop {
  background: rgba(4, 8, 14, .66);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.stg-dialog-icon {
  display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 22px;
  color: var(--ui-accent); background: rgba(238, 132, 73, .08); border-radius: var(--stg-radius-control);
}
.stg-dialog-icon svg { width: 24px; height: 24px; }
.stg-dialog h2 { margin: 0; color: var(--ui-white); font-size: 28px; font-weight: 400; line-height: 1.2; }
.stg-dialog-message { margin: 14px 0 0; color: var(--ui-text); white-space: pre-line; overflow-wrap: anywhere; }
.stg-dialog-confirmation { margin-top: 24px; }
.stg-dialog-confirmation label { display: block; color: var(--ui-white); font-size: 15px; margin-bottom: 10px; text-transform: none; }
.stg-dialog-confirmation strong { color: var(--ui-accent); font-weight: 400; }
.stg-dialog-confirmation input { width: 100%; min-height: 48px; box-sizing: border-box; font: inherit; color: var(--ui-white); background: var(--ui-panel); border: 1px solid var(--glass-line); border-radius: var(--stg-radius-control); padding: 12px 14px; }
.stg-dialog-confirmation input::placeholder { color: var(--ui-muted); opacity: .75; }
.stg-dialog-confirmation input { transition: var(--stg-field-transition); }
.stg-dialog-confirmation input:focus { border-color: var(--stg-field-focus-border); box-shadow: var(--stg-field-focus-shadow); outline: none; }
@media (forced-colors: active) { .stg-dialog-confirmation input:focus { outline: 2px solid Highlight; outline-offset: 3px; } }
.stg-dialog-confirmation p { margin: 10px 0 0; color: var(--ui-text); font-size: 13px; line-height: 1.5; }
.stg-dialog-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.stg-dialog-actions .btn { min-width: 100px; white-space: normal; }
@media (max-width: 480px) {
  dialog.stg-dialog { padding: 26px 22px; }
  .stg-dialog-actions .btn { flex: 1; }
}
@media (prefers-reduced-transparency: reduce) {
  dialog.stg-dialog::backdrop { -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) { dialog.stg-dialog { animation: none; } }

/* Top-Bar der Seiten (Layout; die schwebende Glasleiste kommt aus hub.css) */
.topbar { display: flex; align-items: center; gap: 14px; padding: 22px clamp(20px, 4vw, 56px); }
.topbar .brand { display: flex; align-items: center; gap: 14px; }
.topbar .brand img { height: 30px; width: auto; display: block; }
.topbar .spacer { flex: 1; }
.userchip { position: relative; gap: 10px; min-width: 0; max-width: 100%; }
.userchip > span:not(.avatar) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.userchip .menu {
  display: none; position: absolute; right: 0; top: calc(100% + 10px); width: max-content; min-width: min(240px, calc(100vw - 40px)); max-width: min(360px, calc(100vw - 40px)); max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; z-index: 50; padding: 6px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0) 40%), var(--glass-fill-strong);
  -webkit-backdrop-filter: blur(24px) saturate(1.4); backdrop-filter: blur(24px) saturate(1.4);
  border: 1px solid var(--glass-line); border-radius: var(--stg-radius-surface);
  box-shadow: inset 0 1px 0 var(--glass-edge), 0 24px 60px rgba(4, 8, 14, 0.5);
  transform-origin: top right; cursor: default;
}
.userchip.open .menu { display: block; animation: ui-pop var(--dur-2) var(--ease-out) both; }
.userchip .menu .btn { justify-content: space-between; }
.userchip .menu .mhead { padding: 8px 11px 6px; font-size: 12px; color: var(--ui-quiet); overflow-wrap: anywhere; }

.wrap { max-width: 1240px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px) 60px; position: relative; }
.foot-ui { margin-top: 56px; padding-top: 0; border-top: 0; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--ui-quiet); }
.empty { text-align: center; padding: 48px 20px; border: 1px solid var(--glass-line); border-radius: var(--stg-radius-surface); color: var(--ui-muted); background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0) 40%), var(--glass-fill); -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); box-shadow: inset 0 1px 0 var(--glass-edge); }
.empty b { display: block; font-size: 20px; color: var(--ui-white); margin-bottom: 6px; }

@keyframes ui-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ui-sheet { from { opacity: 0; transform: translateY(18px) scale(0.98); } to { opacity: 1; transform: none; } }
@keyframes ui-pop { from { opacity: 0; transform: translateY(-6px) scale(0.96); } to { opacity: 1; transform: none; } }
@keyframes ui-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Fallbacks keep the same contrast, including selected primary buttons. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  :root { --glass-fill: #171224; --glass-fill-strong: #171224; --glass-fill-hover: #222e3f; }
}
@media (prefers-reduced-transparency: reduce) {
  :root { --glass-fill: #171224; --glass-fill-strong: #171224; --glass-fill-hover: #222e3f; }
  .glass, .glass-strong, .panel, .dlg, .dlg-back, .btn, .userchip .menu, .notice, .eyebrow-ui, .empty { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .eyebrow-ui, .empty { background: var(--stg-ink-900); }
}
@media (prefers-contrast: more) {
  :root { --ui-muted: #E9E4F2; --ui-quiet: #E9E4F2; --glass-fill: #171224; --glass-fill-strong: #171224; --glass-line: #C9C0E4; --glass-line-hover: #b5c4d8; --ui-line: #C9C0E4; --ui-line-strong: #EE8449; }
}
/* Reduced Motion: Federn und Pops entfallen */
@media (prefers-reduced-motion: reduce) {
  .btn, .userchip, .userchip .menu, .dlg, .dlg-back, .notice, .input, .dlg .close { animation: none; transition: none; }
  .btn:active { transform: none; }
}
@media (max-width: 640px) { .dlg { padding: 22px 18px 24px; } .panel { padding: 20px 18px; } }

/* Touch-Geräte: auch kleine Aktionen gut treffen und Formulare ohne Fokus-Zoom bedienen. */
@media (pointer: coarse) {


  .hub .check, .dlg .check { min-height: 44px; }
  .hub :is(input, select, textarea), .dlg :is(input, select, textarea) { font-size: 16px !important; }
  .dlg .close { width: 44px; height: 44px; }
  .dlg h3 { padding-right: 48px; }
  .dlg .eyebrow-ui { max-width: calc(100% - 48px); }
}
