:root {
  color-scheme: light dark;
  --font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
  --radius-xl: 30px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-pill: 999px;
  --page-max-width: 1220px;
  --wide-dialog-max-width: 854px;
  --accent-rgb: 127, 177, 151;
  --accent: #6fa384;
  --accent-strong: #9ad3b4;
  --danger: #ff7b92;
  --ok: #a4e5bc;
  --bg: #050607;
  --bg-2: #07100d;
  --panel: linear-gradient(135deg, rgba(255,255,255,.078), rgba(255,255,255,.028)), rgba(5,8,7,.72);
  --panel-strong: rgba(8,15,20,.92);
  --text: #f2f6f3;
  --muted: rgba(242,246,243,.68);
  --border: rgba(255,255,255,.14);
  --input: rgba(0,0,0,.25);
  --soft: rgba(255,255,255,.055);
  --code-bg: rgba(255,255,255,.09);
  --shadow-panel: 0 28px 82px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.07);
  --hero-bg:
    radial-gradient(circle at 32% 20%, rgba(70,140,115,.18), transparent 32%),
    radial-gradient(circle at 76% 42%, rgba(150,190,95,.08), transparent 30%),
    linear-gradient(180deg, #020404 0%, #050807 50%, #020303 100%);
}
html[data-theme="light"] {
  --accent: #5e987a;
  --accent-strong: #3f7b60;
  --danger: #b43b50;
  --ok: #247a4e;
  --bg: #f4f6f4;
  --bg-2: #ffffff;
  --panel: rgba(255,255,255,.88);
  --panel-strong: #fff;
  --text: #17201b;
  --muted: rgba(23,32,27,.66);
  --border: rgba(23,32,27,.14);
  --input: rgba(255,255,255,.96);
  --soft: rgba(23,32,27,.045);
  --code-bg: rgba(23,32,27,.07);
  --shadow-panel: 0 24px 70px rgba(0,0,0,.16);
  --hero-bg:
    radial-gradient(circle at 18% 18%, rgba(var(--accent-rgb),.15), transparent 34%),
    radial-gradient(circle at 86% 18%, rgba(210,220,135,.13), transparent 32%),
    linear-gradient(180deg, #f8faf8 0%, #eef3ef 100%);
}
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; font-family: var(--font-ui); background: var(--hero-bg); color: var(--text); line-height: 1.45; }
body::before { content:""; position: fixed; inset: 0; pointer-events: none; background: radial-gradient(circle at center, transparent 0%, rgba(0,0,0,.18) 78%); opacity:.55; }
.app-shell { position: relative; z-index: 1; }
.hero, main, footer { width: min(var(--page-max-width), calc(100% - 32px)); margin: 0 auto; }
.hero { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:34px 0 18px; }
.hero__main { max-width: 920px; }
.eyebrow,.kicker { margin:0 0 7px; color:var(--accent-strong); font-size:.76rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
h1,h2,h3 { letter-spacing:-.03em; } h1 { margin:0 0 10px; font-size:clamp(2.1rem,4vw,3.8rem); line-height:.98; font-weight:600; } h2 { margin:0; font-size:clamp(1.2rem,2.4vw,1.65rem); }
.hero-copy { max-width: 880px; margin:0; color:var(--muted); font-size:clamp(1rem,1.6vw,1.14rem); }
.hero-actions,.top-controls__row,.buttons { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }
.hero-actions { margin-top: 18px; width: 100%; }
.top-controls { display:flex; flex-direction:column; align-items:flex-end; gap:.55rem; justify-content:flex-start; min-width:max-content; }
.top-controls__row { justify-content:flex-end; }
.accessibility-toggle { width:100%; max-width: 16rem; white-space: normal; }
a { color: var(--accent-strong); text-underline-offset:.18em; }
button,.button { appearance:none; border:1px solid var(--border); border-radius:var(--radius-pill); background:var(--soft); color:var(--text); font:inherit; font-weight:850; cursor:pointer; text-decoration:none; transition: transform 130ms ease, background 130ms ease, border-color 130ms ease; }
button:hover,button:focus-visible,.button:hover,.button:focus-visible { background: rgba(var(--accent-rgb),.18); border-color: rgba(var(--accent-rgb),.58); outline: 2px solid rgba(var(--accent-rgb),.34); outline-offset: 2px; }
button:active,.button:active { transform: translateY(1px); }
.primary { background: rgba(var(--accent-rgb),.26); border-color: rgba(var(--accent-rgb),.62); }
html[data-theme="light"] .primary { background: var(--accent); border-color: var(--accent); color:white; }
.danger { color: var(--danger); }.ghost { background: transparent; }
.tiny { min-height:2.05rem; padding:0 .68rem; font-size:.76rem; letter-spacing:.04em; }.tiny.is-active { background:rgba(var(--accent-rgb),.34); }
.button { min-height: 2.6rem; display:inline-flex; align-items:center; padding: .72rem 1rem; }

/* oar-hidden-attribute-contract
   Native hidden states must override component display rules. */
[hidden] {
  display: none !important;
}
.segmented-control { display:inline-flex; gap:.22rem; padding:.18rem; border:1px solid var(--border); border-radius:var(--radius-pill); background:rgba(0,0,0,.16); backdrop-filter:blur(12px); }
.workspace { display:grid; grid-template-columns:minmax(330px,1.08fr) minmax(330px,.92fr); gap:18px; padding:0 0 42px; }
.card { border:1px solid var(--border); border-radius:var(--radius-xl); background:var(--panel); box-shadow:var(--shadow-panel); padding:clamp(1rem,2vw,1.25rem); backdrop-filter:blur(14px); }
.wide-card { grid-column:1 / -1; }.section-title { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:14px; }
.version-pill,.pill { display:inline-flex; align-items:center; min-height:1.8rem; padding:.2rem .62rem; border-radius:var(--radius-pill); background:rgba(var(--accent-rgb),.18); color:var(--accent-strong); font-weight:850; font-size:.78rem; }
.row { display:grid; gap:12px; }.row.two { grid-template-columns:1fr 1fr; }.row.three { grid-template-columns:1fr 1fr 1fr; }.row.four { grid-template-columns:1fr 1fr 1fr 1fr; }
label,legend { display:block; font-weight:760; margin:14px 0 6px; } legend { margin-bottom:10px; } fieldset { margin:16px 0 0; border:1px solid var(--border); border-radius:var(--radius-lg); padding:12px; background:var(--soft); }
input,textarea,select { width:100%; padding:.78rem .82rem; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--input); color:var(--text); font:inherit; outline:none; }
input::placeholder,textarea::placeholder { color:rgba(var(--accent-rgb),.82); opacity:1; font-weight:650; }
input:focus,textarea:focus,select:focus { border-color:rgba(var(--accent-rgb),.72); box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18); }
textarea { min-height:94px; resize:vertical; }.honeypot,.file-input { display:none; }
.hint,.split-note,.muted { color:var(--muted); font-size:.9rem; }.hint,.split-note { margin:8px 0 0; }
.status { min-height:24px; margin-top:10px; color:var(--ok); font-size:.9rem; }.status.error { color:var(--danger); }
.principle-grid,.roadmap-grid,.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; }
.principle-grid article,.roadmap-grid article,.stat-card { display:flex; flex-direction:column; gap:6px; padding:14px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--soft); }
.principle-grid span,.roadmap-grid span { color:var(--muted); font-size:.92rem; }.stat-card strong { font-size:1.8rem; line-height:1; }.stat-card span { color:var(--muted); font-size:.85rem; }
.checkbox-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }.check-item,.consent-line { display:flex; gap:8px; align-items:flex-start; color:var(--muted); font-size:.92rem; }.check-item input,.consent-line input { width:auto; margin-top:.18rem; }
.help-box { margin:14px 0; padding:12px 14px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--soft); color:var(--muted); font-size:.9rem; }.help-box summary { cursor:pointer; color:var(--text); font-weight:780; }
.search-grid { display:grid; grid-template-columns:1.5fr repeat(3, minmax(150px, .8fr)); gap:10px; }
.artist-list { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin-top:14px; }
.artist-card { border:1px solid var(--border); border-radius:var(--radius-lg); padding:14px; background:var(--soft); display:flex; flex-direction:column; gap:10px; min-height: 210px; }
.artist-top { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }.artist-name { font-size:1.12rem; font-weight:900; }.artist-meta { color:var(--muted); font-size:.88rem; }.artist-action-row { display:flex; align-items:flex-start; justify-content:space-between; gap:.85rem; margin-top:auto; }.artist-links { display:flex; flex-direction:column; align-items:flex-start; gap:.25rem; min-width:0; }.artist-link-list { display:grid; gap:.25rem; margin:0; padding:0; list-style:none; }.artist-link-list a { min-height:2rem; padding:0 .62rem; font-size:.78rem; }.artist-buttons { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }.artist-buttons button { min-height:2rem; padding:0 .62rem; font-size:.78rem; }
.tag-row { display:flex; flex-wrap:wrap; gap:6px; }.tag { border:1px solid rgba(var(--accent-rgb),.24); border-radius:var(--radius-pill); padding:.15rem .48rem; background:rgba(var(--accent-rgb),.08); color:var(--accent-strong); font-size:.76rem; font-weight:760; }
footer { display:flex; justify-content:space-between; gap:16px; padding:0 0 36px; color:var(--muted); font-size:.9rem; }
@media (max-width:1000px){ .workspace,.artist-list { grid-template-columns:1fr; } .principle-grid,.roadmap-grid,.stats-grid { grid-template-columns:repeat(2,1fr); } .search-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:700px){ .hero { flex-direction:column; padding-top:22px; } .top-controls { justify-content:flex-start; } .row.two,.row.three,.row.four,.checkbox-grid,.principle-grid,.roadmap-grid,.stats-grid,.search-grid { grid-template-columns:1fr; } .section-title, footer { flex-direction:column; } .hero,main,footer { width:min(100% - 22px, var(--page-max-width)); } .card { border-radius:22px; } }

/* Accessibility / BFSG-WCAG-Readiness */
.skip-link {
  position: absolute;
  left: 1rem;
  top: 0.75rem;
  z-index: 50;
  transform: translateY(-160%);
  padding: 0.75rem 1rem;
  border-radius: var(--radius-pill);
  background: var(--panel-strong);
  color: var(--text);
  border: 2px solid var(--accent-strong);
  font-weight: 850;
}
.skip-link:focus { transform: translateY(0); outline: 3px solid var(--accent-strong); outline-offset: 3px; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
:focus-visible { outline: 3px solid var(--accent-strong); outline-offset: 3px; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--accent-strong); outline-offset: 2px; }
button, .button, input, textarea, select, .info-menu__link { min-height: 44px; }
.check-item input, .consent-line input { min-width: 1.15rem; min-height: 1.15rem; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.001ms !important; }
}
body.modal-open { overflow: hidden; }

/* Governance, Datenschutz und Projektgrenze */
.governance-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:10px; }
.governance-grid article { padding:14px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--soft); }
.governance-grid h3 { margin:0 0 6px; font-size:1rem; }
.governance-grid p { margin:0; color:var(--muted); font-size:.92rem; }
.governance-action-card { display:flex; align-items:center; justify-content:center; text-align:center; min-height:100%; }
.governance-action-card .governance-button { align-self:center; justify-self:center; width:min(100%, 240px); }
.governance-button { min-height:2.8rem; padding:.72rem 1rem; }

.search-grid { grid-template-columns:1.5fr repeat(4, minmax(145px, .8fr)); }

/* Registersuche: Ergebnislisten-Suche am Ursprung; Kontaktziel-Filter gezielt unter Lernwege ausrichten. */
.list-search-inline { min-width: min(100%, 180px); }
@media (min-width:1101px){ .list-controls { align-items:center; } .filter-open-to { grid-column: 4; } }

.chart-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
.mini-chart { border:1px solid var(--border); border-radius:var(--radius-lg); padding:12px; background:var(--soft); }
.mini-chart h3 { margin:0 0 10px; }
.bar-row { display:grid; grid-template-columns:minmax(100px, 1fr) 2fr 30px; gap:10px; align-items:center; margin:7px 0; color:var(--muted); font-size:.86rem; }
.bar { height:10px; border-radius:999px; background:rgba(var(--accent-rgb),.12); overflow:hidden; border:1px solid rgba(var(--accent-rgb),.16); }
.bar i { display:block; height:100%; border-radius:999px; background:rgba(var(--accent-rgb),.55); }
.artist-card.is-reported { border-color:rgba(255,123,146,.45); }
.artist-card.is-reported::before { content:'!'; align-self:flex-start; min-width:1.4rem; min-height:1.4rem; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; color:var(--danger); border:1px solid rgba(255,123,146,.45); background:rgba(255,123,146,.08); font-weight:900; }
@media (max-width:1100px){ .governance-grid { grid-template-columns:repeat(2,1fr); } .search-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:700px){ .governance-grid,.chart-list { grid-template-columns:1fr; } .bar-row { grid-template-columns:1fr; gap:4px; } }

.locked {
  border-style: dashed;
  background: rgba(var(--accent-rgb), 0.07);
}


/* Historische CSS-Ergänzungen; aktuelle Paketversion V2.5 */
.directory-actions { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin: 12px 0; }
.list-controls[hidden] { display:none !important; }
.list-controls { margin-top: 12px; }
.artist-list--scroll { max-height: min(78vh, 860px); overflow-y:auto; overflow-x:hidden; padding-right: 4px; scroll-behavior: smooth; }
.statement-area { min-height: 220px; }
.statement-preview { white-space: pre-line; max-height: 15rem; overflow:auto; padding-right: .25rem; }
@media (min-width:1001px){ .artist-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width:700px){ .directory-actions { align-items:flex-start; flex-direction:column; } }

.roadmap-grid--live { grid-template-columns: repeat(4, 1fr); }
@media (max-width:1000px){ .roadmap-grid--live { grid-template-columns: repeat(2, 1fr); } }
@media (max-width:700px){ .roadmap-grid--live { grid-template-columns: 1fr; } }

/* current version additions */
.info-card p { max-width: 920px; }

/* privacy-safe statistics placeholder */
.stats-placeholder {
  display:grid;
  grid-template-columns: 1fr;
  grid-column: 1 / -1;
  width: 100%;
  gap: 1rem;
  align-items:center;
  padding: clamp(.9rem, 2.2vw, 1.2rem);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: rgba(var(--accent-rgb), .07);
}
.stats-placeholder__ring {
  width: 132px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 2px solid rgba(var(--accent-rgb), .82);
  box-shadow: inset 0 0 0 18px rgba(var(--accent-rgb), .04), 0 0 36px rgba(var(--accent-rgb), .10);
  display:grid;
  place-items:center;
  background: transparent;
}
.stats-placeholder__ring span {
  font-size: 1.7rem;
  font-weight: 900;
  color: var(--accent-strong);
}

.stats-placeholder__visual {
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:center;
  width:100%;
  text-align:center;
}
.stats-placeholder__copy {
  width:min(100%, 44rem);
}
.stats-placeholder__copy h3 {
  margin:.1rem 0 .45rem;
}
.pilot-timeline {
  display:flex;
  flex-direction:column;
  gap:.45rem;
  align-items:center;
  text-align:center;
  width:min(100%, 24rem);
}
.pilot-timeline h4 {
  margin:0;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent-strong);
}
.pilot-timeline__dots {
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  justify-content:center;
  flex-wrap:wrap;
}
.pilot-month {
  display:grid;
  gap:.25rem;
  justify-items:center;
  color:var(--muted);
  font-size:.75rem;
}
.pilot-month__dot {
  width:2.25rem;
  height:2.25rem;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(var(--accent-rgb), .8);
  background:rgba(var(--accent-rgb), .10);
  color:var(--accent-strong);
  font-weight:800;
}

@media (max-width:700px){ .stats-placeholder { grid-template-columns: 1fr; } }

.static-note {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: .78rem .9rem;
  color: var(--muted);
  background: rgba(var(--accent-rgb), .06);
  font-size: .92rem;
}


/* quieter collapsed self-declaration and clearer local prototype data action */
.register-body[hidden] { display: none !important; }
.form-actions { display:flex; gap:.65rem; align-items:center; flex-wrap:wrap; }
.form-actions .danger { margin-left:auto; }
@media (max-width:700px){ .form-actions { align-items:flex-start; flex-direction:column; } .form-actions .danger { margin-left:0; } }


/* Info menu / Open Art Register explanation */
.info-toggle {
  min-width: 3.25rem;
}

.info-menu {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(0, 0, 0, 0.58);
  backdrop-filter: blur(14px);
}

.info-menu.is-visible {
  display: flex;
}

.info-menu__panel {
  width: min(92vw, 820px);
  max-height: min(86vh, 780px);
  overflow: auto;
  padding: clamp(1.1rem, 2.5vw, 1.65rem);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--panel);
  box-shadow: var(--shadow-panel);
  color: var(--text);
}

.info-menu__panel--wide {
  width: min(92vw, var(--wide-dialog-max-width));
}

.info-menu__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.info-menu__intro {
  margin: 0 0 1rem;
  color: var(--muted);
}

.info-menu__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.info-menu__section {
  padding: 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--soft);
}

.info-menu__section h3 {
  margin-bottom: 0.35rem;
}

.info-menu__section p {
  margin: 0;
  color: var(--muted);
}
.info-menu__section--wide { grid-column: 1 / -1; }
.privacy-text { display:grid; gap:.85rem; color:var(--muted); }
.privacy-text h3 { margin:.45rem 0 .1rem; color:var(--text); }
.privacy-text p, .privacy-text ul { margin:0; }
.privacy-text ul { padding-left:1.1rem; }

.info-menu__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}

.info-menu__link {
  appearance: none;
  cursor: pointer;
  font: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.55rem;
  padding: 0.72rem 1rem;
  border: 1px solid rgba(var(--accent-rgb), 0.44);
  border-radius: var(--radius-pill);
  background: rgba(var(--accent-rgb), 0.14);
  color: var(--text);
  font-weight: 850;
  text-decoration: none;
}

.info-menu__link:hover,
.info-menu__link:focus-visible {
  background: rgba(var(--accent-rgb), 0.24);
  outline: 2px solid rgba(var(--accent-rgb), 0.42);
  outline-offset: 3px;
}

.info-menu__link.support {
  border-color: rgba(255, 210, 125, 0.36);
  background: rgba(255, 210, 125, 0.12);
}

@media (max-width: 620px) {
  .info-menu {
    align-items: flex-end;
    padding: 0.75rem;
  }

  .info-menu__header,
  .info-menu__footer {
    flex-direction: column;
  }

  .info-menu__grid {
    grid-template-columns: 1fr;
  }

  .info-menu__link {
    width: 100%;
  }
}


:root {
  --chart-1: rgba(var(--accent-rgb), 0.82);
  --chart-2: rgba(255, 210, 125, 0.78);
  --chart-3: rgba(125, 210, 255, 0.70);
  --chart-4: rgba(190, 170, 255, 0.70);
  --chart-5: rgba(214, 118, 72, 0.68);
  --chart-6: rgba(255, 170, 170, 0.68);
}

.pie-chart__body {
  display: grid;
  grid-template-columns: minmax(7rem, 10rem) 1fr;
  gap: 1rem;
  align-items: center;
}

.pie-chart__graphic {
  width: min(10rem, 42vw);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

.pie-chart__legend {
  display: grid;
  gap: 0.45rem;
}

.pie-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--muted);
}

.pie-row span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.pie-row i {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 999px;
  background: rgba(var(--accent-rgb), 0.72);
}

@media (max-width: 620px) {
  .pie-chart__body {
    grid-template-columns: 1fr;
  }
}

.privacy-owner { color: var(--text); font-weight: 750; }
.privacy-text a, .privacy-toc a { color: var(--accent-strong); text-decoration: underline; text-underline-offset: 0.16em; font-weight: 760; }
.privacy-toc { display:grid; gap:.35rem; padding:.8rem; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--soft); }
.privacy-toc strong { color:var(--text); }
.privacy-text h3 { scroll-margin-top: 1.25rem; }


/* V2.5 Konto-/Verwaltungs-UI */
.account-status { margin-top: .75rem; display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; width:min(100%, 760px); padding:.58rem .72rem; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--soft); color:var(--muted); font-size:.92rem; }
.account-status--ok { border-color: rgba(var(--accent-rgb), .48); background: rgba(var(--accent-rgb), .13); color: var(--accent-strong); }
.account-status--session { border-color: rgba(var(--accent-rgb), .55); background: rgba(var(--accent-rgb), .14); color: var(--accent-strong); }
.session-status-hint { display:inline-flex; align-items:center; min-height:1.75rem; padding:.16rem .54rem; border:1px solid rgba(var(--accent-rgb), .42); border-radius:var(--radius-pill); background:rgba(var(--accent-rgb), .12); color:var(--accent-strong); font-weight:760; }
.session-status-hint[hidden] { display:none; }
.account-status--warning { border-color: rgba(232, 190, 92, .48); background: rgba(232, 190, 92, .10); color: #f0d48a; }
html[data-theme="light"] .account-status--warning { color: var(--text); }
.inline-auth-link { min-height:1.85rem; padding:0 .62rem; background:rgba(var(--accent-rgb),.24); border-color:rgba(var(--accent-rgb),.55); color:var(--accent-strong); font-size:.86rem; }
.auth-panel { max-width: 680px; }
.auth-form { display:grid; gap:.15rem; }
.auth-note { margin:.2rem 0 .7rem; color:var(--muted); }
@media (max-width:700px){ .account-status { align-items:flex-start; flex-direction:column; } }

.compact-fieldset { margin:0; padding:.75rem; }
.checkbox-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap:.45rem .8rem; }
.open-to-fieldset { margin:12px 0 0; }
.open-to-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap:.65rem 1rem; }
.open-to-grid .check-item { min-width:0; align-items:flex-start; }
@media (max-width:900px){ .open-to-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width:560px){ .open-to-grid { grid-template-columns: 1fr; } }
.auth-message { min-height:1.3rem; margin:.35rem 0; color:var(--accent-strong); font-weight:700; }
.auth-message.error { color:#ffd166; }


/* V2.5: Accessibility-Dialog Layout: Tastatur/Hilfen, Sprachsteuerung starten/Sprachsteuerung auf dieser Seite */
.accessibility-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.key-list, .plain-list { margin: .35rem 0 0; padding-left: 1.1rem; color: var(--muted); }
.key-list li { margin: .55rem 0; display: flex; gap: .42rem; align-items: center; flex-wrap: wrap; }
.plain-list li { margin: .45rem 0; }
.plain-list strong { color: var(--text); font-weight: 850; display:block; margin-bottom:.14rem; }
.info-menu__section--wide { grid-column: 1 / -1; }
.accessibility-columns { columns: 2; column-gap: 2rem; }
.accessibility-columns li { break-inside: avoid; }
.inline-mail-link { color: var(--accent-strong); font-weight: 850; text-decoration: underline; text-underline-offset: .18rem; }
.inline-mail-link:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: .25rem; }
kbd { display:inline-flex; align-items:center; justify-content:center; min-height:1.75rem; min-width:1.75rem; padding:.12rem .42rem; border-radius:.45rem; border:1px solid var(--border); background:var(--code-bg); color:var(--text); font-family:var(--font-mono); font-size:.82rem; font-weight:850; box-shadow: inset 0 -1px 0 rgba(0,0,0,.22); }
@media (max-width:700px){ .top-controls { align-items:flex-start; } .accessibility-toggle { width:auto; max-width:100%; } .accessibility-grid { grid-template-columns:1fr; } .accessibility-columns { columns: 1; } }

/* V2.5: Inline-Dialogbuttons in Hinweistexten */
.inline-text-button {
  display:inline-flex;
  align-items:center;
  min-height:1.7rem;
  padding:0 .38rem;
  border-radius:.55rem;
  background:rgba(var(--accent-rgb),.14);
  border-color:rgba(var(--accent-rgb),.38);
  color:var(--accent-strong);
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:.16em;
  vertical-align:baseline;
}
.inline-text-button:hover,.inline-text-button:focus-visible {
  background:rgba(var(--accent-rgb),.22);
  border-color:rgba(var(--accent-rgb),.62);
}

.inline-text-button[href] { cursor:pointer; }
.inline-text-button[href]:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }

/* V2.5 · Private Merkliste */
.bookmark-card-section { scroll-margin-top: 1rem; }
.bookmark-list { display: grid; gap: .75rem; margin-top: 1rem; }
.bookmark-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border: 1px solid var(--border); border-radius: 1rem; background: var(--soft); }
.bookmark-card--unavailable { opacity: .85; }
.bookmark-card button, .bookmark-button { white-space: nowrap; }
.artist-buttons .bookmark-button { margin-inline-start: .35rem; }
@media (max-width: 700px) { .artist-action-row { flex-direction: column; } .artist-buttons { justify-content:flex-start; } }

/* Feldweise Statistikfreigabe im Selbstauskunftsformular */
.stats-release-fieldset {
  border-color: rgba(var(--accent-rgb), .42);
  background: rgba(var(--accent-rgb), .09);
}
.stats-release-fieldset legend {
  font-size: 1.05rem;
}
.stats-master-consent {
  margin-top: 1rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(var(--accent-rgb), .44);
  border-radius: var(--radius-lg);
  background: rgba(var(--accent-rgb), .14);
  color: var(--text);
  font-weight: 850;
}
.stats-master-consent input {
  margin-top: .22rem;
}


/* Live-orientierte Zustandssteuerung für Suche, Statistik und Löschzugang */
.profile-delete-nav {
  margin-left: auto;
  border-color: color-mix(in srgb, var(--accent) 58%, #9a4d2e 42%);
  background: color-mix(in srgb, rgba(var(--accent-rgb), .22) 72%, rgba(154,77,46,.28) 28%);
  color: var(--text);
}
.profile-delete-nav:hover,
.profile-delete-nav:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 42%, #b45b36 58%);
  background: color-mix(in srgb, rgba(var(--accent-rgb), .28) 60%, rgba(180,91,54,.36) 40%);
}
.stats-consent-control {
  margin-top: 1rem;
  padding: .9rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(var(--accent-rgb), .44);
  border-radius: var(--radius-lg);
  background: rgba(var(--accent-rgb), .14);
}
.setting-copy { display:grid; gap:.32rem; }
.setting-state { display:inline-block; font-size:.82rem; color:var(--muted); font-weight:700; }
.setting-state.is-unsaved { color:#d58b62; }
.toggle-switch { display:inline-flex; align-items:center; gap:.6rem; cursor:pointer; flex:0 0 auto; }
.toggle-switch input { position:absolute; opacity:0; pointer-events:none; }
.toggle-switch__track { width:3.2rem; height:1.75rem; padding:.15rem; display:inline-flex; align-items:center; border-radius:999px; background:var(--soft); border:1px solid var(--border); transition:.18s ease; }
.toggle-switch__thumb { width:1.3rem; height:1.3rem; border-radius:50%; background:var(--muted); transform:translateX(0); transition:.18s ease; }
.toggle-switch input:checked + .toggle-switch__track { background:rgba(var(--accent-rgb), .32); border-color:rgba(var(--accent-rgb), .72); }
.toggle-switch input:checked + .toggle-switch__track .toggle-switch__thumb { transform:translateX(1.43rem); background:var(--accent); }
.toggle-switch input:focus-visible + .toggle-switch__track { outline:3px solid var(--accent-strong); outline-offset:3px; }
.toggle-switch__text { min-width:2.3rem; font-weight:900; }
.search-consent-compact { margin-top:.7rem; min-height:2.3rem; padding:.45rem .65rem; display:flex; align-items:center; gap:.55rem; border-radius:.8rem; border:1px solid var(--border); background:rgba(var(--accent-rgb), .05); cursor:pointer; }
.search-consent-compact input { position:absolute; opacity:0; pointer-events:none; }
.search-consent-compact__check { width:1.15rem; height:1.15rem; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:.28rem; color:transparent; font-size:.82rem; font-weight:900; }
.search-consent-compact input:checked + .search-consent-compact__check { color:var(--text); background:rgba(var(--accent-rgb), .38); border-color:rgba(var(--accent-rgb), .72); }
.search-consent-compact input:focus-visible + .search-consent-compact__check { outline:3px solid var(--accent-strong); outline-offset:3px; }
.search-consent-compact .setting-state { margin-left:auto; }
@media (max-width:700px){ .stats-consent-control{align-items:flex-start; flex-direction:column;} .profile-delete-nav{margin-left:0;} }


@media (min-width: 901px) {
  .hero-actions { flex-wrap: nowrap; }
}
@media (max-width: 900px) {
  .hero-actions { flex-wrap: wrap; }
  .profile-delete-nav { margin-left: 0; }
}


/* Passkey UI/API preparation boundary · V2.5 */
.passkey-prototype{margin:4px 0 16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 88%,var(--accent) 12%)}
.passkey-prototype__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.passkey-prototype__header h3{margin:.15rem 0 0;font-size:1rem}
.passkey-state-badge{flex:0 0 auto;padding:5px 9px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:700}
.passkey-state-badge[data-state="requesting"],.passkey-state-badge[data-state="verifying"]{border-color:var(--accent)}
.passkey-state-badge[data-state="unavailable"]{opacity:.82}
.passkey-state-badge[data-state="expired"]{border-color:var(--accent);opacity:.92}
.passkey-primary{width:100%;justify-content:center;margin-top:8px}
.passkey-boundary-note{margin:10px 0 0;font-size:.82rem;line-height:1.45;opacity:.78}
.auth-divider{display:flex;align-items:center;gap:10px;margin:10px 0 14px;font-size:.78rem;opacity:.7;text-align:center}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--line);flex:1}
@media (max-width:640px){.passkey-prototype__header{align-items:stretch;flex-direction:column}.passkey-state-badge{align-self:flex-start}}


/* Plum · frontend-only UI workbench */
.ui-workbench{scroll-margin-top:1rem}.quick-nav{display:flex;flex-wrap:wrap;gap:.55rem;margin:.75rem 0 1rem}.ui-workbench__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ui-tool-card{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--soft)}.ui-tool-card h3{margin-top:0}.profile-live-preview{display:grid;gap:.35rem;margin:.8rem 0 1rem;padding:1rem;border:1px dashed rgba(var(--accent-rgb),.6);border-radius:1rem;background:var(--panel)}.profile-live-preview strong{font-size:1.05rem}.preview-tags{color:var(--accent-strong);font-weight:750}.button-row{display:flex;flex-wrap:wrap;gap:.55rem}.compact-status{min-height:1.5rem;margin-top:.7rem}.readiness-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.readiness-list li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.readiness-list strong{text-align:right}.active-filter-summary{margin:.75rem 0;padding:.7rem .85rem;border-left:4px solid var(--accent);border-radius:.35rem;background:rgba(var(--accent-rgb),.1);font-weight:700}.directory-actions{flex-wrap:wrap}@media(max-width:900px){.ui-workbench__grid{grid-template-columns:1fr}}@media(max-width:520px){.quick-nav .button,.button-row .button{width:100%;justify-content:center}.readiness-list li{align-items:flex-start;flex-direction:column}.readiness-list strong{text-align:left}}


/* Profilformular · Schlagwörter und ruhige breite Disziplinenauswahl */
.profile-keywords-field {
  width: 100%;
  margin-top: 1rem;
}

.profile-keywords-field input {
  width: 100%;
}

.profile-disciplines-wide {
  width: 100%;
  margin-top: 1.15rem;
  padding: 1rem 1rem 1.1rem;
}

.profile-disciplines-wide .discipline-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem 1rem;
  margin-top: 0.4rem;
}

.profile-disciplines-wide .check-item {
  align-items: flex-start;
  min-width: 0;
  padding: 0.45rem 0.55rem;
  line-height: 1.35;
}

.profile-disciplines-wide .hint {
  margin: 0.85rem 0 0;
}

@media (max-width: 950px) {
  .profile-disciplines-wide .discipline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .profile-disciplines-wide .discipline-grid {
    grid-template-columns: 1fr;
  }
}

/* Fundort · ruhige Suche mit einem Suchfeld */
.directory-card .list-controls {
  display: grid;
  grid-template-columns:
    minmax(260px, 2fr)
    repeat(3, minmax(145px, 1fr));
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.directory-card .list-controls > input,
.directory-card .list-controls > select {
  width: 100%;
  min-width: 0;
}

.directory-card .active-filter-summary {
  margin-top: 0.8rem;
  padding: 0.7rem 0.85rem;
  font-size: 0.92rem;
}

@media (max-width: 1050px) {
  .directory-card .list-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .directory-card .list-controls #searchText {
    grid-column: 1 / -1;
  }
}

@media (max-width: 650px) {
  .directory-card .list-controls {
    grid-template-columns: 1fr;
  }

  .directory-card .list-controls #searchText {
    grid-column: auto;
  }
}

/* Fundort · Suche erst nach bewusster Bestätigung */
.directory-card .directory-search-panel {
  display: block;
  width: 100%;
  margin-top: 1rem;
}

.directory-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 0.75rem;
  width: 100%;
}

.directory-search-row input {
  width: 100%;
  min-width: 0;
}

.directory-search-row button {
  min-width: 8rem;
  white-space: nowrap;
}

.directory-filter-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin-top: 0.8rem;
}

.directory-filter-row select {
  width: 100%;
  min-width: 0;
}

.directory-card .directory-actions {
  min-height: 2.75rem;
}

.directory-card .active-filter-summary[hidden],
.directory-card #resetDirectoryFiltersBtn[hidden],
.directory-card #showResultsBtn[hidden] {
  display: none;
}

.directory-load-more {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}

.directory-load-more [hidden] {
  display: none;
}

@media (max-width: 900px) {
  .directory-filter-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .directory-search-row,
  .directory-filter-row {
    grid-template-columns: 1fr;
  }

  .directory-search-row button {
    width: 100%;
  }
}


/* Öffentliche Profilnavigation:
   Die Kartenfläche ist ein echter Link.
   Merkliste, Meldung und externe Links bleiben getrennte Aktionen. */

.artist-card--linked {
  position: relative;
  transition:
    transform 130ms ease,
    border-color 130ms ease,
    background 130ms ease;
}

.artist-card--linked:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--accent-rgb), .58);
}

.artist-card__surface-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

.artist-card__surface-link:focus-visible {
  outline: 3px solid var(--accent-strong);
  outline-offset: 3px;
}

.artist-card--linked > :not(.artist-card__surface-link) {
  position: relative;
  z-index: 2;
  pointer-events: none;
}

.artist-card--linked .artist-buttons,
.artist-card--linked .artist-buttons *,
.artist-card--linked .artist-links,
.artist-card--linked .artist-links * {
  pointer-events: auto;
}

.artist-profile-button {
  min-height: 2rem;
  padding: 0 .62rem;
  font-size: .78rem;
}

.artist-buttons--report {
  margin-inline-start: auto;
}

/* Eigenständige öffentliche Profilseite. */

.public-profile-page {
  display: grid;
  gap: 1.2rem;
}

.public-profile-header {
  display: grid;
  gap: .45rem;
}

.public-profile-header h1 {
  margin: 0;
}

.public-profile-headline {
  margin: 0;
  color: var(--muted);
  font-size: 1.08rem;
}

.public-profile-meta {
  margin: 0;
  color: var(--muted);
}

.public-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.public-profile-section {
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--soft);
}

.public-profile-section h2 {
  margin-top: 0;
  font-size: 1.05rem;
}

.public-profile-section p:last-child {
  margin-bottom: 0;
}

.public-profile-facts {
  display: grid;
  grid-template-columns: minmax(8rem, .7fr) minmax(0, 1.3fr);
  gap: .5rem 1rem;
  margin: 0;
}

.public-profile-facts dt {
  color: var(--muted);
  font-weight: 750;
}

.public-profile-facts dd {
  margin: 0;
}

.public-profile-badges {
  display: grid;
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-profile-badge {
  padding: .75rem;
  border: 1px solid rgba(var(--accent-rgb), .28);
  border-radius: .8rem;
  background: rgba(var(--accent-rgb), .08);
}

.public-profile-badge strong {
  display: block;
}

.public-profile-links {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}


.public-profile-action-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}

.public-profile-report-actions {
  display: flex;
  justify-content: flex-end;
}

.public-profile-report-button {
  min-height: 2rem;
  padding: 0 .72rem;
  font-size: .78rem;
}

@media (max-width: 700px) {
  .artist-buttons--report {
    margin-inline-start: 0;
  }

  .public-profile-grid {
    grid-template-columns: 1fr;
  }

  .public-profile-facts {
    grid-template-columns: 1fr;
    gap: .2rem;
  }
}

/* OAR V2.7 · Statistiklayout und Register-Anker
   Lokaler UI-Patch: gleiche Rasterbreiten, ruhigere Diagrammtexte,
   verlässliches Ankerscrolling zur Selbstauskunft. */
.stats-card > .stats-grid,
.stats-card > .chart-list {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.stats-card .stat-card,
.stats-card .mini-chart {
  min-width: 0;
  box-sizing: border-box;
  padding: 1rem;
}

.stats-card .pie-chart__body {
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 1rem;
}

.stats-card .pie-chart__graphic {
  width: min(9.25rem, 58%);
}

.stats-card .pie-chart__legend {
  width: 100%;
  min-width: 0;
  gap: .55rem;
}

.stats-card .pie-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: .8rem;
  line-height: 1.4;
}

.stats-card .pie-row span {
  min-width: 0;
  align-items: flex-start;
}

.stats-card .pie-row b {
  justify-self: end;
}

.stats-card .bar-row {
  grid-template-columns: minmax(9.5rem, 1.25fr) minmax(7rem, 2fr) 2rem;
  gap: .75rem;
  line-height: 1.35;
}

.stats-card .bar-row > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.stats-card .pilot-timeline__dots {
  gap: clamp(.75rem, 3vw, 2rem);
}

#register {
  scroll-margin-top: 1rem;
}

@media (max-width: 760px) {
  .stats-card > .chart-list {
    grid-template-columns: 1fr;
  }

  .stats-card .bar-row {
    grid-template-columns: minmax(8rem, 1fr) minmax(5rem, 1.5fr) 2rem;
  }
}

@media (max-width: 620px) {
  .stats-card > .stats-grid,
  .stats-card > .chart-list {
    grid-template-columns: 1fr;
  }

  .stats-card .bar-row {
    grid-template-columns: 1fr;
    gap: .35rem;
  }

  .stats-card .bar-row b {
    justify-self: start;
  }
}

/* OAR V2.8 · statistics presentation consistency START
   Öffentliche Disziplinstatistiken stehen breit untereinander.
   Kuchensegment und Legendenpunkt erhalten denselben Farbwert.
   Die generische Kuchendarstellung gilt auch für geschützte Statistiken. */
.stats-card .public-statistics-pies {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  width: 100%;
}

.stats-card .public-statistics-pies > div,
.stats-card .public-statistics-pies .mini-chart {
  min-width: 0;
  width: 100%;
}

#publicArtisticDisciplinesPie {
  order: 1;
}

#publicPracticeAreaPie {
  order: 2;
}

.stats-card .public-statistics-pies .pie-chart__body {
  display: grid;
  grid-template-columns:
    minmax(12rem, .72fr)
    minmax(16rem, 1.28fr);
  align-items: center;
  justify-items: stretch;
  gap: clamp(1rem, 3vw, 2rem);
}

.stats-card .public-statistics-pies .pie-chart__graphic {
  width: min(15rem, 42vw);
  max-width: 100%;
  justify-self: center;
}

.stats-card .public-statistics-pies .pie-chart__legend {
  width: 100%;
  min-width: 0;
}

.pie-row__swatch {
  display: inline-block;
  width: .72rem;
  height: .72rem;
  border-radius: 50%;
  flex: 0 0 auto;
  margin-top: .22rem;
}

@media (max-width: 760px) {
  .stats-card .public-statistics-pies .pie-chart__body {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  .stats-card .public-statistics-pies .pie-chart__legend {
    width: 100%;
  }
}
/* OAR V2.8 · statistics presentation consistency END */

/* OAR V2.9 · special practice areas form row START
   Die drei übergreifenden Praxisbereiche bilden nach den
   gewöhnlichen Disziplinen eine eigene, vollständige Rasterzeile. */
#disciplineOptions > label:has(
  input[value="disc_art_education"]
) {
  grid-column-start: 1;
}
/* OAR V2.9 · special practice areas form row END */

/* oar-patch-74-light-checkbox-contrast START
   Native Formcontrols müssen dem gewählten OAR-Theme folgen und nicht
   dem abweichenden Browser-/Betriebssystem-Theme. */
html[data-theme="light"] {
  color-scheme: light;
}

html[data-theme="dark"] {
  color-scheme: dark;
}

html[data-theme="light"] input[type="checkbox"] {
  color-scheme: light;
  accent-color: var(--accent);
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(23, 32, 27, 0.28);
}
/* oar-patch-74-light-checkbox-contrast END */


/* OAR V2.5 · unverändertes Projektlogo und zentrierte Kontakt-/DSGVO-Abschlüsse */
.brand-logo {
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
}

.brand-logo--hero {
  width: clamp(4.5rem, 7vw, 6.25rem);
  max-height: 4.55rem;
  margin: 0 0 0.65rem;
}

.brand-logo--profile {
  width: clamp(4rem, 6vw, 5.5rem);
  max-height: 4rem;
}

.info-menu__section--contact {
  min-height: 0;
  text-align: center;
  align-items: center;
  justify-content: center;
  display: flex;
  flex-direction: column;
}

.info-menu__section--contact h3,
.info-menu__section--contact p {
  width: 100%;
  text-align: center;
}

.brand-logo--contact {
  width: 4.4rem;
  max-height: 3.2rem;
  margin: 0 auto 0.45rem;
}

.privacy-signoff {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.45rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  text-align: center;
}

.brand-logo--privacy {
  width: 4.8rem;
  max-height: 3.5rem;
  margin: 0 auto 0.2rem;
}

.privacy-signoff__title {
  color: var(--text);
  font-weight: 850;
}

.privacy-signoff .privacy-owner {
  text-align: center;
}

.info-menu__footer--privacy {
  justify-content: center;
}

@media (max-width: 620px) {
  .brand-logo--hero {
    width: 4.5rem;
    max-height: 3.3rem;
  }

  .brand-logo--contact {
    width: 4rem;
    max-height: 2.9rem;
  }

  .brand-logo--privacy {
    width: 4.25rem;
    max-height: 3.1rem;
  }

  .info-menu__footer--privacy {
    align-items: center;
  }
}

/* Eigenständige öffentliche Nutzerhinweise-/DSGVO-Seite. */
.legal-document-page {
  min-height: 100vh;
  margin: 0;
  background: var(--bg);
  color: var(--text);
}
.legal-document__topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(100% - 2rem, 1040px);
  margin: 0 auto;
  padding: 1rem 0;
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter: blur(16px);
}
.legal-document__brand {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: var(--text);
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .04em;
}
.legal-document__brand .brand-logo {
  width: 64px;
  max-width: 64px;
}
.legal-document__controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  flex-wrap: wrap;
}
.legal-document__main {
  width: min(100% - 2rem, 900px);
  margin: 1.5rem auto 5rem;
}
.legal-document__article {
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: var(--panel);
  box-shadow: var(--shadow);
  padding: clamp(1.25rem, 3vw, 2.4rem);
}
.legal-document__article[hidden] {
  display: none !important;
}
.legal-document__article-header h1 {
  margin: .35rem 0 1rem;
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1.04;
}
.legal-document__intro {
  max-width: 74ch;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.7;
}
.legal-document__toc {
  margin: 1.5rem 0 2rem;
}
.legal-document__section {
  scroll-margin-top: 7rem;
  padding: 1.15rem 0;
  border-top: 1px solid var(--border);
}
.legal-document__section h2 {
  margin: 0 0 .65rem;
  font-size: 1.2rem;
}
.legal-document__section p {
  max-width: 78ch;
  margin: 0;
  color: var(--muted);
  line-height: 1.75;
}
.legal-document__signoff {
  margin-top: 2rem;
}
@media (max-width: 700px) {
  .legal-document__topbar {
    position: static;
    align-items: flex-start;
    flex-direction: column;
  }
  .legal-document__controls {
    justify-content: flex-start;
  }
  .legal-document__brand span {
    font-size: .82rem;
  }
}

/* OAR V2.5 · API-gebundene lokale Registrierung. */
.auth-registration-fields {
  display: grid;
  gap: .65rem;
  margin: .65rem 0 .8rem;
  padding: .9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--soft);
}
.auth-registration-fields[hidden] {
  display: none !important;
}
.auth-registration-fields h3 {
  margin: 0;
}
.auth-registration-note {
  margin: 0 0 .2rem;
  color: var(--muted);
  line-height: 1.55;
}
.auth-registration-grid {
  display: grid;
  grid-template-columns: minmax(8rem, .55fr) minmax(12rem, 1fr);
  gap: .75rem;
}
.auth-registration-grid > div {
  display: grid;
  gap: .15rem;
}
.auth-registration-consents {
  display: grid;
  gap: .65rem;
  margin-top: .25rem;
}
.auth-consent-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: .65rem;
  padding: .7rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: rgba(var(--accent-rgb), .06);
  color: var(--muted);
  line-height: 1.5;
}
.auth-consent-item input {
  margin-top: .28rem;
}
.auth-consent-item .inline-text-button {
  margin-left: .25rem;
}
@media (max-width: 620px) {
  .auth-registration-grid {
    grid-template-columns: 1fr;
  }
}


/* OAR profile deletion confirmation START */
.profile-deletion-fieldset {
  border-color: rgba(255, 123, 146, 0.42);
  background: rgba(255, 123, 146, 0.055);
}

.profile-delete-action,
.profile-delete-confirm {
  border-color: rgba(255, 123, 146, 0.62);
  background: rgba(255, 123, 146, 0.14);
  color: var(--text);
  font-weight: 850;
}

.profile-delete-action:hover,
.profile-delete-action:focus-visible,
.profile-delete-confirm:hover,
.profile-delete-confirm:focus-visible {
  background: rgba(255, 123, 146, 0.24);
  outline: 2px solid rgba(255, 123, 146, 0.45);
  outline-offset: 3px;
}

.profile-deletion-panel {
  width: min(92vw, 590px);
  border-color: rgba(255, 123, 146, 0.46);
}

.profile-deletion-warning {
  margin: 0;
  padding: 1rem;
  border: 1px solid rgba(255, 123, 146, 0.38);
  border-radius: var(--radius-lg);
  background: rgba(255, 123, 146, 0.075);
  color: var(--text);
  line-height: 1.65;
}

.profile-deletion-message {
  min-height: 1.5rem;
  margin: 0.9rem 0 0;
}

.profile-deletion-message.error {
  color: var(--danger);
}

.profile-deletion-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.2rem;
}

@media (max-width: 620px) {
  .profile-deletion-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .profile-deletion-actions .button {
    width: 100%;
  }
}
/* OAR profile deletion confirmation END */
/* OAR trust transparency START */
.governance-subsection {
  margin-top: clamp(1.6rem, 3vw, 2.2rem);
  padding-top: clamp(1.3rem, 2.5vw, 1.8rem);
  border-top: 1px solid var(--border);
}

.trust-transparency {
  margin-top: clamp(1.6rem, 3vw, 2.2rem);
}

.trust-transparency__header {
  max-width: 72rem;
}

.trust-transparency__intro {
  max-width: 72ch;
  margin: 0.8rem 0 0;
  color: var(--muted, var(--text));
  line-height: 1.7;
}

.trust-transparency__grid {
  display: grid;
  gap: 10px;
  margin-top: 1.2rem;
}

.trust-transparency__card {
  min-width: 0;
  padding: clamp(1.1rem, 3vw, 1.5rem);
  border: 1px solid var(
    --border,
    rgba(255, 255, 255, 0.14)
  );
  border-radius: var(--radius-lg, 1rem);
  background: var(
    --surface,
    rgba(255, 255, 255, 0.04)
  );
}

.trust-transparency__card h3,
.trust-transparency__card h4 {
  margin: 0;
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1.35;
}

.trust-transparency__card p {
  margin: 0.65rem 0 0;
  color: var(--muted, var(--text));
  line-height: 1.65;
}

@media (max-width: 760px) {
  .trust-transparency__grid {
    grid-template-columns: 1fr;
  }
}
/* OAR trust transparency END */

/* OAR passkey login clarity START */

.auth-form > label[for="authEmail"] {
  display: block;
  margin-bottom: 0.45rem;
}

.auth-email-input {
  display: block;
  visibility: visible;
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  margin: 0 0 1rem;
  padding: 0.78rem 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--input);
  color: var(--text);
  font: inherit;
  line-height: 1.25;
  opacity: 1;
  caret-color: var(--accent);
}

#authMenu[data-mode="login"] .auth-email-input {
  display: block;
  visibility: visible;
  opacity: 1;
}

.auth-email-input:hover {
  border-color: rgba(var(--accent-rgb), .58);
}

.auth-email-input:focus {
  border-color: rgba(var(--accent-rgb), .72);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .18);
  outline: none;
}

/*
 * Der Anmeldetitel bleibt links.
 * Schließen und der dynamische Status bilden rechts eine Spalte.
 */
.auth-menu__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 1rem;
}

.auth-header-actions {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
}

.auth-header-actions .passkey-state-badge {
  align-self: center;
  min-width: 3.8rem;
  text-align: center;
}

.passkey-prototype__header {
  display: block;
  margin-bottom: 8px;
}

.passkey-prototype__header h3 {
  margin: 0;
}

.passkey-state-badge[data-state="ready"] {
  border-color: var(--accent);
  background:
    color-mix(
      in srgb,
      var(--panel) 72%,
      var(--accent) 28%
    );
  color: var(--accent);
  box-shadow:
    0 0 0 1px
      color-mix(
        in srgb,
        transparent 55%,
        var(--accent) 45%
      ),
    0 0 18px
      color-mix(
        in srgb,
        transparent 58%,
        var(--accent) 42%
      );
  text-shadow:
    0 0 10px
      color-mix(
        in srgb,
        transparent 45%,
        var(--accent) 55%
      );
}

.passkey-account-divider {
  margin: 1rem 0 0.7rem;
}

.passkey-account-divider + .passkey-boundary-note {
  margin-top: 0;
}

@media (max-width: 640px) {
  .auth-menu__header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.7rem;
  }

  .auth-header-actions {
    align-items: center;
  }

  .passkey-state-badge {
    align-self: auto;
  }
}

/* OAR passkey login clarity END */

/* oar-auth-consent-checkbox-fix
   Checkboxen dürfen nicht die globalen Textfeld-Stile übernehmen. */
.auth-consent-item {
  cursor: pointer;
}

.auth-consent-item input[type="checkbox"] {
  all: revert;
  -webkit-appearance: checkbox;
  appearance: auto;
  box-sizing: border-box;
  inline-size: 1.25rem;
  block-size: 1.25rem;
  min-inline-size: 1.25rem;
  min-block-size: 1.25rem;
  margin: .18rem 0 0;
  accent-color: var(--accent);
  cursor: pointer;
}

.auth-consent-item input[type="checkbox"]:focus-visible {
  outline: 3px solid var(--accent-strong);
  outline-offset: 3px;
}

/* OAR info overview: introductory card spans the full grid width. */
.info-menu__section--overview {
  grid-column: 1 / -1;
}

/* OAR statistics demo V2 reference mirror
   reference HTML SHA256 d7ed34b36359282c4c14f95a88dd113587af02323fdac95253a02955d89eaf14
   reference shell SHA256 b9e428c6de3b9aa727e73ca8e22f41b42b951618b3dd318fd015ff4faeeaac86
   reference CSS SHA256 d9c7630731179bf07f9e36b71ae4af2aa6da984296d611c4caaee0ff8bb51025
   all reference selectors are scoped to body.statistics-demo-view */
body.statistics-demo-view {
  color-scheme: dark;
  --font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius-xl: 30px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-pill: 999px;
  --page-max-width: 1220px;
  --accent-rgb: 127, 177, 151;
  --accent: #6fa384;
  --accent-strong: #9ad3b4;
  --bg: #050607;
  --panel: linear-gradient(135deg, rgba(255,255,255,.078), rgba(255,255,255,.028)), rgba(5,8,7,.72);
  --text: #f2f6f3;
  --muted: rgba(242,246,243,.68);
  --border: rgba(255,255,255,.14);
  --input: rgba(0,0,0,.25);
  --soft: rgba(255,255,255,.055);
  --shadow-panel: 0 28px 82px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.07);
  --hero-bg: radial-gradient(circle at 32% 20%, rgba(70,140,115,.18), transparent 32%), radial-gradient(circle at 76% 42%, rgba(150,190,95,.08), transparent 30%), linear-gradient(180deg, #020404 0%, #050807 50%, #020303 100%);
  --chart-1: rgba(127,177,151,.95);
  --chart-2: rgba(118,170,210,.82);
  --chart-3: rgba(220,195,120,.82);
  --chart-4: rgba(190,170,255,.78);
  --chart-5: rgba(214,118,72,.84);
  --chart-6: rgba(255,170,170,.76);
}
body.statistics-demo-view * { box-sizing: border-box; }
body.statistics-demo-view { min-height:100%; background:var(--bg); scroll-behavior:smooth; }
body.statistics-demo-view { margin:0; min-height:100vh; font-family:var(--font-ui); background:var(--hero-bg); color:var(--text); line-height:1.45; }
body.statistics-demo-view::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(circle at center, transparent 0%, rgba(0,0,0,.18) 78%); opacity:.55; }
body.statistics-demo-view .app-shell { position:relative; z-index:1; min-height:100vh; overflow-x:clip; }
body.statistics-demo-view .hero, body.statistics-demo-view main, body.statistics-demo-view footer { width:min(var(--page-max-width), calc(100% - 32px)); margin:0 auto; }
body.statistics-demo-view .hero { position:relative; overflow:hidden; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:34px 0 18px; }
body.statistics-demo-view .hero__main { max-width:920px; }
body.statistics-demo-view .brand-logo { display:block; height:auto; object-fit:contain; }
body.statistics-demo-view .brand-logo--hero { width:clamp(4.5rem,7vw,6.25rem); max-height:4.55rem; margin:0 0 .65rem; }
body.statistics-demo-view .eyebrow, body.statistics-demo-view .kicker { margin:0 0 7px; color:var(--accent-strong); font-size:.76rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
body.statistics-demo-view h1, body.statistics-demo-view h2, body.statistics-demo-view h3, body.statistics-demo-view h4 { letter-spacing:-.03em; }
body.statistics-demo-view h1 { margin:0 0 10px; font-size:clamp(2.1rem,4vw,3.8rem); line-height:.98; font-weight:600; }
body.statistics-demo-view h2 { margin:0; font-size:clamp(1.2rem,2.4vw,1.65rem); }
body.statistics-demo-view h3 { margin:0 0 10px; }
body.statistics-demo-view h4 { margin:0 0 6px; font-size:1rem; }
body.statistics-demo-view p { margin-top:.6rem; }
body.statistics-demo-view .hero-copy { max-width:880px; margin:0; color:var(--muted); font-size:clamp(1rem,1.6vw,1.14rem); }
body.statistics-demo-view .hero-actions, body.statistics-demo-view .top-controls__row, body.statistics-demo-view .buttons { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }
body.statistics-demo-view .hero-actions { margin-top:18px; width:100%; }
body.statistics-demo-view .top-controls { display:flex; flex-direction:column; align-items:flex-end; gap:.55rem; justify-content:flex-start; min-width:max-content; }
body.statistics-demo-view .top-controls__row { justify-content:flex-end; }
body.statistics-demo-view .accessibility-toggle { width:100%; max-width:16rem; white-space:normal; }
body.statistics-demo-view button, body.statistics-demo-view .button { appearance:none; border:1px solid var(--border); border-radius:var(--radius-pill); background:var(--soft); color:var(--text); font:inherit; font-weight:850; text-decoration:none; min-height:2.6rem; display:inline-flex; align-items:center; justify-content:center; padding:.72rem 1rem; }
body.statistics-demo-view button:not(:disabled) { cursor:pointer; }
body.statistics-demo-view button:disabled { opacity:1; cursor:default; filter:none; pointer-events:none; }
body.statistics-demo-view input:disabled, body.statistics-demo-view select:disabled { opacity:.72; cursor:default; filter:saturate(.72); pointer-events:none; }
body.statistics-demo-view .primary { background:rgba(var(--accent-rgb),.26); border-color:rgba(var(--accent-rgb),.62); }
body.statistics-demo-view .ghost { background:transparent; }
body.statistics-demo-view .tiny { min-height:2.05rem; padding:0 .68rem; font-size:.76rem; letter-spacing:.04em; }
body.statistics-demo-view .tiny.is-active { background:rgba(var(--accent-rgb),.34); border-color:rgba(var(--accent-rgb),.7); }
body.statistics-demo-view .segmented-control { display:inline-flex; gap:.22rem; padding:.18rem; border:1px solid var(--border); border-radius:var(--radius-pill); background:rgba(0,0,0,.16); backdrop-filter:blur(12px); }
body.statistics-demo-view .account-status { margin-top:.75rem; display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; width:min(100%,760px); padding:.58rem .72rem; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--soft); color:var(--muted); font-size:.92rem; }
body.statistics-demo-view .account-status--warning { border-color:rgba(232,190,92,.48); background:rgba(232,190,92,.10); color:#f0d48a; }
body.statistics-demo-view .inline-auth-link { min-height:1.85rem; padding:0 .62rem; background:rgba(var(--accent-rgb),.24); border-color:rgba(var(--accent-rgb),.55); color:var(--accent-strong); font-size:.86rem; }
body.statistics-demo-view .workspace { display:grid; grid-template-columns:minmax(330px,1.08fr) minmax(330px,.92fr); gap:18px; padding:0 0 42px; }
body.statistics-demo-view .statistics-demo-main { display:grid; gap:18px; padding:0 0 42px; }
body.statistics-demo-view .card { border:1px solid var(--border); border-radius:var(--radius-xl); background:var(--panel); box-shadow:var(--shadow-panel); padding:clamp(1rem,2vw,1.25rem); backdrop-filter:blur(14px); }
body.statistics-demo-view .wide-card { grid-column:1 / -1; }
body.statistics-demo-view .section-title { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:14px; }
body.statistics-demo-view .version-pill, body.statistics-demo-view .pill { display:inline-flex; align-items:center; min-height:1.8rem; padding:.2rem .62rem; border-radius:var(--radius-pill); background:rgba(var(--accent-rgb),.18); color:var(--accent-strong); font-weight:850; font-size:.78rem; }
body.statistics-demo-view .hint, body.statistics-demo-view .muted { color:var(--muted); font-size:.9rem; }
body.statistics-demo-view .principle-grid, body.statistics-demo-view .stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; }
body.statistics-demo-view .principle-grid article, body.statistics-demo-view .stat-card { display:flex; flex-direction:column; gap:6px; padding:14px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--soft); }
body.statistics-demo-view .principle-grid span { color:var(--muted); font-size:.92rem; }
body.statistics-demo-view .stat-card strong { font-size:1.8rem; line-height:1; }
body.statistics-demo-view .stat-card span { color:var(--muted); font-size:.85rem; }
body.statistics-demo-view .stats-card > .stats-grid, body.statistics-demo-view .stats-card > .chart-list { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
body.statistics-demo-view .stats-card .stat-card, body.statistics-demo-view .stats-card .mini-chart { min-width:0; box-sizing:border-box; padding:1rem; }
body.statistics-demo-view .chart-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; }
body.statistics-demo-view .mini-chart { border:1px solid var(--border); border-radius:var(--radius-lg); padding:1rem; background:var(--soft); min-width:0; }
body.statistics-demo-view .stats-placeholder { display:grid; grid-template-columns:1fr; grid-column:1 / -1; width:100%; gap:1rem; align-items:center; padding:clamp(.9rem,2.2vw,1.2rem); border:1px solid var(--border); border-radius:var(--radius-lg); background:rgba(var(--accent-rgb),.07); }
body.statistics-demo-view .stats-placeholder__visual { display:flex; flex-direction:column; gap:1rem; align-items:center; width:100%; text-align:center; }
body.statistics-demo-view .stats-placeholder__ring { width:132px; aspect-ratio:1; border-radius:50%; border:2px solid rgba(var(--accent-rgb),.82); box-shadow:inset 0 0 0 18px rgba(var(--accent-rgb),.04),0 0 36px rgba(var(--accent-rgb),.10); display:grid; place-items:center; }
body.statistics-demo-view .stats-placeholder__ring span { font-size:1.7rem; font-weight:900; color:var(--accent-strong); }
body.statistics-demo-view .stats-placeholder__copy { width:min(100%,44rem); }
body.statistics-demo-view .stats-placeholder__copy h3 { margin:.1rem 0 .45rem; }
body.statistics-demo-view .directory-actions { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin:12px 0; }
body.statistics-demo-view .directory-search-panel { display:block; width:100%; margin-top:1rem; }
body.statistics-demo-view .directory-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:.75rem; width:100%; }
body.statistics-demo-view .directory-filter-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; gap:.75rem; width:100%; margin-top:.8rem; }
body.statistics-demo-view input, body.statistics-demo-view select { width:100%; padding:.78rem .82rem; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--input); color:var(--text); font:inherit; outline:none; }
body.statistics-demo-view input::placeholder { color:rgba(var(--accent-rgb),.82); opacity:1; font-weight:650; }
body.statistics-demo-view .static-note { border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--soft); padding:.9rem 1rem; color:var(--muted); }
body.statistics-demo-view .governance-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
body.statistics-demo-view .governance-grid article { padding:14px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--soft); }
body.statistics-demo-view .governance-grid p { margin:0; color:var(--muted); font-size:.92rem; }
body.statistics-demo-view .governance-subsection { margin-top:1.1rem; padding-top:1.1rem; border-top:1px solid var(--border); }
body.statistics-demo-view .trust-transparency__intro { color:var(--muted); max-width:760px; }
body.statistics-demo-view .trust-transparency__grid { margin-top:1rem; }
body.statistics-demo-view footer { display:flex; justify-content:space-between; gap:16px; padding:0 0 36px; color:var(--muted); font-size:.9rem; }
body.statistics-demo-view .stats-card--example > .stats-grid, body.statistics-demo-view .stats-card--example > .chart-list { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
body.statistics-demo-view .stats-card--example .public-statistics-pies { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; width:100%; }
body.statistics-demo-view .stats-card--example .public-statistics-pies .pie-chart__body { display:grid; grid-template-columns:minmax(12rem,.72fr) minmax(16rem,1.28fr); align-items:center; gap:clamp(1rem,3vw,2rem); }
body.statistics-demo-view .pie-chart__body { display:grid; grid-template-columns:minmax(7rem,10rem) 1fr; gap:1rem; align-items:center; }
body.statistics-demo-view .pie-chart__graphic { width:min(10rem,42vw); aspect-ratio:1; border-radius:50%; border:1px solid var(--border); box-shadow:var(--shadow-panel); justify-self:center; }
body.statistics-demo-view .stats-card--example .public-statistics-pies .pie-chart__graphic { width:min(15rem,42vw); max-width:100%; }
body.statistics-demo-view .pie-chart__legend { display:grid; gap:.45rem; min-width:0; }
body.statistics-demo-view .pie-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:.8rem; color:var(--muted); padding:.18rem 0; }
body.statistics-demo-view .pie-row > span { min-width:0; display:inline-flex; align-items:flex-start; gap:.5rem; }
body.statistics-demo-view .pie-row b { color:var(--text); justify-self:end; }
body.statistics-demo-view .pie-row__swatch { display:inline-block; width:.72rem; height:.72rem; border-radius:50%; flex:0 0 auto; margin-top:.22rem; }
body.statistics-demo-view .c1 { background:var(--chart-1); }
body.statistics-demo-view .c2 { background:var(--chart-2); }
body.statistics-demo-view .c3 { background:var(--chart-3); }
body.statistics-demo-view .c4 { background:var(--chart-4); }
body.statistics-demo-view .c5 { background:var(--chart-5); }
body.statistics-demo-view .c6 { background:var(--chart-6); }
body.statistics-demo-view .pie-disciplines { background:conic-gradient(var(--chart-1) 0 28%,var(--chart-2) 28% 49%,var(--chart-3) 49% 67%,var(--chart-4) 67% 81%,var(--chart-5) 81% 92%,var(--chart-6) 92% 100%); }
body.statistics-demo-view .pie-practice-areas { background:conic-gradient(var(--chart-1) 0 72%,var(--chart-2) 72% 84%,var(--chart-3) 84% 93%,var(--chart-4) 93% 100%); }
body.statistics-demo-view .pie-activity { background:conic-gradient(var(--chart-1) 0 64%,var(--chart-3) 64% 88%,var(--chart-6) 88% 100%); }
body.statistics-demo-view .pie-scope { background:conic-gradient(var(--chart-2) 0 22%,var(--chart-1) 22% 63%,var(--chart-5) 63% 100%); }
body.statistics-demo-view .compact-pie { grid-template-columns:minmax(7rem,9.25rem) 1fr; }
body.statistics-demo-view .detail-statistics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.statistics-demo-view .timeline-chart { grid-column:1 / -1; }
body.statistics-demo-view .pilot-timeline { display:flex; flex-direction:column; gap:.45rem; align-items:center; text-align:center; width:100%; }
body.statistics-demo-view .pilot-timeline__dots { display:flex; gap:clamp(.75rem,3vw,2rem); align-items:flex-start; justify-content:center; flex-wrap:wrap; }
body.statistics-demo-view .pilot-month { display:grid; gap:.25rem; justify-items:center; color:var(--muted); font-size:.75rem; }
body.statistics-demo-view .pilot-month__dot { width:2.5rem; height:2.5rem; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(var(--accent-rgb),.8); background:rgba(var(--accent-rgb),.10); color:var(--accent-strong); font-weight:800; }
body.statistics-demo-view .discipline-note { padding:.2rem .2rem 0; }
body.statistics-demo-view .authenticated-statistics-hint { margin:.35rem .2rem 0; padding:.75rem .85rem; border-left:2px solid rgba(var(--accent-rgb),.55); background:rgba(var(--accent-rgb),.045); border-radius:0 var(--radius-md) var(--radius-md) 0; }
body.statistics-demo-view .synthetic-badge { display:inline-flex; min-height:1.8rem; align-items:center; padding:.2rem .62rem; border:1px solid rgba(245,210,15,.58); border-radius:var(--radius-pill); background:rgba(245,210,15,.12); color:#ffe759; font-size:.78rem; font-weight:900; letter-spacing:.08em; }
body.statistics-demo-view .example-note { margin-top:1rem; padding:.9rem 1rem; border:1px dashed rgba(245,210,15,.55); border-radius:var(--radius-lg); background:rgba(245,210,15,.08); color:#f3e9a2; font-weight:700; }
body.statistics-demo-view .example-note--top { max-width:880px; }
body.statistics-demo-view .stats-card--example { position:relative; overflow:hidden; }
body.statistics-demo-view .demo-tape { position:fixed; z-index:8; left:-12%; width:124%; pointer-events:none; user-select:none; background:rgba(245,210,15,.70); border-top:3px solid rgba(20,20,20,.78); border-bottom:3px solid rgba(20,20,20,.78); box-shadow:0 1px 3px rgba(0,0,0,.18); color:#111; font-weight:950; letter-spacing:.12em; text-transform:uppercase; padding:.72rem 0; overflow:hidden; }
body.statistics-demo-view .demo-tape--shared { top:66.666vh; transform:rotate(-3.2deg); transform-origin:left top; }
body.statistics-demo-view .demo-tape__track { display:flex; justify-content:space-around; gap:2rem; white-space:nowrap; font-size:clamp(.72rem,1.75vw,1.05rem); }
@media (max-width:1000px) {
body.statistics-demo-view .workspace { grid-template-columns:1fr; }
body.statistics-demo-view .principle-grid, body.statistics-demo-view .stats-grid { grid-template-columns:repeat(2,1fr); }
body.statistics-demo-view .governance-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
body.statistics-demo-view .stats-card--example .public-statistics-pies .pie-chart__body, body.statistics-demo-view .pie-chart__body, body.statistics-demo-view .compact-pie { grid-template-columns:minmax(0,1fr); justify-items:center; }
body.statistics-demo-view .stats-card--example .pie-chart__legend { width:100%; }
body.statistics-demo-view .detail-statistics-grid { grid-template-columns:1fr; }
body.statistics-demo-view .timeline-chart { grid-column:auto; }
}
@media (max-width:700px) {
body.statistics-demo-view .hero { flex-direction:column; padding-top:22px; }
body.statistics-demo-view .top-controls { align-items:flex-start; }
body.statistics-demo-view .principle-grid, body.statistics-demo-view .stats-grid, body.statistics-demo-view .governance-grid, body.statistics-demo-view .chart-list, body.statistics-demo-view .directory-filter-row { grid-template-columns:1fr; }
body.statistics-demo-view .directory-search-row { grid-template-columns:1fr; }
body.statistics-demo-view .section-title, body.statistics-demo-view footer { flex-direction:column; }
body.statistics-demo-view .hero, body.statistics-demo-view main, body.statistics-demo-view footer { width:min(100% - 22px,var(--page-max-width)); }
body.statistics-demo-view .card { border-radius:22px; }
body.statistics-demo-view .demo-tape { left:-22%; width:144%; }
}
@media (prefers-reduced-motion:reduce) {
body.statistics-demo-view * { scroll-behavior:auto !important; transition-duration:.001ms !important; }
}

/* OAR-only navigation added to the mirrored view */
body.statistics-demo-view .statistics-demo-toolbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .75rem;
  width: 100%;
  padding:
    calc(.7rem + env(safe-area-inset-top))
    max(1rem, env(safe-area-inset-right))
    .7rem
    max(1rem, env(safe-area-inset-left));
  border-bottom: 1px solid var(--border);
  background: rgba(5, 8, 7, .96);
  box-shadow: 0 8px 24px rgba(0,0,0,.24);
  backdrop-filter: blur(14px);
}

body.statistics-demo-view .statistics-demo-toolbar__title {
  min-width: 0;
  text-align: center;
  color: var(--text);
  font-size: .9rem;
}

body.statistics-demo-view .statistics-demo-toolbar__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem;
  flex-wrap: wrap;
}

body.statistics-demo-view .statistics-demo-toolbar .button {
  min-height: 2.25rem;
  padding: .45rem .72rem;
  font-size: .78rem;
}

@media (max-width: 700px) {
  body.statistics-demo-view .statistics-demo-toolbar {
    grid-template-columns: 1fr auto;
    align-items: center;
  }

  body.statistics-demo-view .statistics-demo-toolbar__title {
    grid-column: 1 / -1;
    grid-row: 1;
    padding-bottom: .1rem;
  }

  body.statistics-demo-view .statistics-demo-toolbar__back {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }

  body.statistics-demo-view .statistics-demo-toolbar__actions {
    grid-column: 2;
    grid-row: 2;
  }
}
