/* k5.css — Erkenntnis-Geräte (Paket K5, Denkwerkstatt 06.11.2026): Raum wegdenken, Planetarium, Erkenntnis-Maschine,
   Humes Billard, Urteils-Labor, Gericht der Antinomien, Akte „Die hundert Taler“.
   Farben: nur die vier Stimmen aus werkstatt-kern.css (Gold = Kant/richtig, Blau = du, Grau = Gegenstimme, Siegelrot =
   Widerspruch/falsch) plus wenige Bildfarben für Gegenstände (Apfel, Billardtuch, Kleists grünes Glas). */
:root[data-theme="light"] {
  --k5-messing: color-mix(in srgb, var(--accent) 42%, var(--line));
  --k5-papier: #fbf6e8; --k5-papier-linie: #e2d6b8;
  --k5-buehne: #f3eee1; --k5-strich: #5c6578;
  --k5-apfel: #b9772f; --k5-tuch: #2f5b55; --k5-holz: #6b4a2b; --k5-dunkel: #142540;
  --k5-glas: #3f8f5a;
}
:root[data-theme="dark"] {
  --k5-messing: color-mix(in srgb, var(--accent) 38%, var(--line));
  --k5-papier: #1b2c4f; --k5-papier-linie: #2c4170;
  --k5-buehne: #0f1d36; --k5-strich: #a8b0c4;
  --k5-apfel: #d39a50; --k5-tuch: #23484a; --k5-holz: #5a3f27; --k5-dunkel: #081225;
  --k5-glas: #55b070;
}

/* ---------- Rahmen, Kopf, Stern ---------- */
.k5 { border-color: var(--k5-messing); box-shadow: var(--shadow), inset 0 1px 0 color-mix(in srgb, var(--accent) 25%, transparent); }
.k5 p { margin: 0 0 .7rem; }
.k5-kopf { display: flex; align-items: center; gap: .7rem; margin-bottom: .9rem; }
.k5-kopf__art { font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; font-weight: 650; color: var(--stimme-kant); border: 1px solid var(--k5-messing); border-radius: 99px; padding: .15rem .55rem; }
.k5-kopf__t { margin: 0; font-family: var(--font-display); font-size: 1.28rem; line-height: 1.2; flex: 1; min-width: 0; }
.k5-stern { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--ink-2); }
.k5-stern svg { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; transition: fill .3s var(--ease), stroke .3s var(--ease), scale .35s var(--ease); }
.k5-stern.ist-da { color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k5-stern.ist-da svg { fill: currentColor; }
.k5-stern.ist-neu svg { animation: k5-pop .5s var(--ease); }
.k5-intro, .k5-hinweis { color: var(--ink-2); font-size: .95rem; }
.k5-kennz { font-size: .85rem; color: var(--stimme-gegen); font-style: italic; }
.k5-klein { font-size: .82rem; color: var(--ink-2); text-align: center; margin: .2rem 0 0; }
.k5-grenze { font-family: var(--font-display); font-size: 1.08rem; }

/* ---------- Ohne JS / später ---------- */
html:not(.js) .k5-nurjs { display: none !important; }
html.js .k5-ohnejs { display: none; }
.k5-ohnejs { font-size: .93rem; padding: .7rem .9rem; border-radius: 10px; background: var(--stimme-kant-soft); }
html.js .k5-spaeter:not(.ist-offen) { display: none; }
.k5-spaeter.ist-offen { animation: k5-auf .32s var(--ease) both; }
.k5-spaeter.ist-still { animation: none; }
.k5-spaeter { margin-top: 1rem; }

/* ---------- Auswahl ---------- */
.k5-wahl { border: 0; margin: 1rem 0 .4rem; padding: 0; min-width: 0; }
.k5-wahl__frage { font-weight: 640; margin-bottom: .6rem; padding: 0; font-size: 1rem; }
.k5-wahl__opts { display: grid; gap: .5rem; }
@media (min-width: 620px) { .k5-wahl__opts--zwei { grid-template-columns: 1fr 1fr; } }
.k5-opt { display: block; width: 100%; text-align: left; min-height: 44px; padding: .65rem .9rem; border-radius: 11px; border: 1.5px solid var(--line); background: transparent; color: var(--ink); font: inherit; font-size: .96rem; cursor: pointer; transition: border-color .2s var(--ease), background-color .2s var(--ease), opacity .2s; }
.k5-opt:hover:not(:disabled):not(.ist-richtig):not(.ist-falsch):not([aria-disabled="true"]) { border-color: var(--stimme-du); }
.k5-opt[aria-disabled="true"] { cursor: default; }
.k5-opt[aria-pressed="true"] { border-color: var(--stimme-du); background: var(--stimme-du-soft); }
.k5-opt.ist-richtig { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k5-opt.ist-falsch { border-color: var(--widerspruch); background: var(--widerspruch-soft); }
.k5-opt:disabled { cursor: default; }
.k5-wahl.ist-entschieden .k5-opt:not([aria-pressed="true"]):not(.ist-richtig) { opacity: .6; }
.k5-fb { margin: .5rem 0 0; font-size: .94rem; }
.k5-fb:empty { display: none; }
.k5-fb { padding-left: .7rem; border-left: 3px solid transparent; }
.k5-fb.ist-richtig { border-left-color: var(--stimme-kant); }
.k5-fb.ist-falsch { border-left-color: var(--widerspruch); }
.k5-fb.ist-richtig b { color: var(--stimme-kant); }
.k5-fb.ist-falsch b { color: var(--widerspruch); }

/* ---------- Knöpfe, Schalter, Regler ---------- */
.k5-knopf { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .55rem 1rem; border-radius: 11px; border: 1.5px solid var(--k5-messing); background: var(--box); color: var(--ink); font: inherit; font-weight: 600; font-size: .94rem; cursor: pointer; transition: border-color .2s var(--ease), background-color .2s var(--ease), opacity .2s, translate .2s var(--ease); }
.k5-knopf:hover:not(:disabled) { border-color: var(--stimme-kant); }
.k5-knopf:disabled { opacity: .45; cursor: default; }
.k5-knopf--gold { background: linear-gradient(140deg, #e4bd63, #c29638); color: #191204; border-color: transparent; }
.k5-knopf--siegel { border-color: var(--widerspruch); color: var(--widerspruch); }
.k5-knopf--leise { border-color: var(--line); color: var(--ink-2); margin-top: .6rem; }
.k5-knopf[hidden] { display: none; }

.k5-hebel { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; margin: .8rem 0; }
.k5-hebel .k5-hinweis { margin: 0; }
.k5-hebel__knopf, .k5-schalter { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; padding: .35rem .8rem .35rem .45rem; border-radius: 12px; border: 1.5px solid var(--line); background: transparent; color: var(--ink); font: inherit; font-size: .93rem; font-weight: 600; cursor: pointer; text-align: left; transition: border-color .2s var(--ease); }
.k5-hebel__knopf:hover, .k5-schalter:hover { border-color: var(--k5-messing); }
.k5-hebel__bahn, .k5-schalter__bahn { flex: none; position: relative; width: 48px; height: 26px; border-radius: 99px; background: color-mix(in srgb, var(--ink) 14%, transparent); transition: background-color .25s var(--ease); }
.k5-hebel__griff, .k5-schalter__griff { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--box); box-shadow: 0 1px 3px rgba(0,0,0,.35); transition: translate .28s var(--ease); }
[aria-checked="true"] > .k5-hebel__bahn, [aria-checked="true"] > .k5-schalter__bahn { background: var(--stimme-kant); }
[aria-checked="true"] > .k5-hebel__bahn .k5-hebel__griff, [aria-checked="true"] > .k5-schalter__bahn .k5-schalter__griff { translate: 22px 0; }
.k5-schalter__t { display: grid; line-height: 1.25; }
.k5-schalter__t small { font-weight: 450; color: var(--ink-2); font-size: .8rem; }
.k5-regler { width: 100%; accent-color: var(--stimme-kant); min-height: 44px; }

/* ---------- Zitat, Quelle, Kästen ---------- */
.k5-zitat { margin: .5rem 0 .7rem; padding: .2rem 0 .2rem .9rem; border-left: 3px solid var(--stimme-kant); }
.k5-zitat p { font-family: var(--font-display); font-style: italic; font-size: 1.04rem; margin: 0 0 .3rem; }
.k5-zitat cite { font-style: normal; font-size: .8rem; color: var(--ink-2); }
.k5-zitat cite a { color: inherit; }
.k5-zitat--klein p { font-size: .98rem; }
.stimme--gegen .k5-zitat { border-left-color: var(--stimme-gegen); }
.k5-quelle { font-size: .8rem; }
.k5-quelle a { color: var(--ink-2); }
.k5-stimmen { margin-bottom: 1rem; }
/* Im Gerät (Textspalte ≤ 760 px) stehen die drei Stimmen untereinander; nebeneinander wären es Spalten von 200 px. */
.k5 .stimmen.k5-stimmen { grid-template-columns: 1fr; }
.k5-stimmen .stimme { font-size: .96rem; }
.k5-stimmen .stimme p:last-child { margin-bottom: 0; }
.k5-verschweigt { margin: 1rem 0 .6rem; padding: .8rem 1rem; border: 1.5px dashed color-mix(in srgb, var(--stimme-gegen) 55%, transparent); border-radius: 12px; background: var(--stimme-gegen-soft); font-size: .93rem; }
.k5-verschweigt__t { display: block; color: var(--stimme-gegen); font-family: var(--font-display); margin-bottom: .25rem; }
.k5-verschweigt p { margin: 0; }
.k5-neugierig { margin: .8rem 0; border: 1px solid var(--line); border-radius: 12px; }
.k5-neugierig summary { cursor: pointer; padding: .7rem 1rem; font-weight: 600; min-height: 44px; display: flex; align-items: center; }
.k5-neugierig summary { list-style: none; gap: .8rem; }
.k5-neugierig summary::-webkit-details-marker { display: none; }
.k5-neugierig summary::after { content: ""; flex: none; margin-left: auto; width: .5em; height: .5em; border-right: 2px solid var(--ink-2); border-bottom: 2px solid var(--ink-2); rotate: 45deg; translate: 0 -.15em; transition: rotate .25s var(--ease), translate .25s var(--ease); }
.k5-neugierig[open] summary::after { rotate: -135deg; translate: 0 .1em; }
.k5-neugierig > div { padding: 0 1rem .8rem; font-size: .93rem; }
.k5 .k5-src { margin-top: .6rem; }

/* ---------- Bühne (SVG) ---------- */
.k5-buehne { border-radius: 12px; background: var(--k5-buehne); border: 1px solid var(--line); overflow: hidden; margin: .4rem 0 .8rem; }
.k5-buehne svg { display: block; width: 100%; height: auto; }

/* ---------- Raum wegdenken ---------- */
.k5-raum__svg { stroke: var(--k5-strich); stroke-width: 1.4; fill: none; stroke-linecap: round; }
.k5-raum__gitter { opacity: .32; stroke-dasharray: 2 4; transition: opacity .4s var(--ease); }
.k5-raum__wandgitter { opacity: .6; }
.k5-raum__waende, .k5-raum__tisch, .k5-raum__apfel { transition: opacity .45s var(--ease), translate .45s var(--ease); }
.k5-raum__platte { fill: color-mix(in srgb, var(--k5-strich) 14%, transparent); }
.k5-raum__fenster { fill: color-mix(in srgb, var(--accent-2) 10%, transparent); }
.k5-apfel { fill: var(--k5-apfel); stroke: none; transition: fill .45s var(--ease); }
.k5-apfel__blatt { fill: color-mix(in srgb, var(--k5-strich) 55%, transparent); stroke: none; transition: fill .45s; }
.k5-apfel__licht { fill: #fff; opacity: .35; stroke: none; }
.k5-raum[data-stufe="1"] .k5-apfel, .k5-raum[data-stufe="1"] .k5-apfel__blatt { fill: color-mix(in srgb, var(--k5-strich) 45%, transparent); }
.k5-raum:is([data-stufe="2"], [data-stufe="3"], [data-stufe="4"]) .k5-raum__apfel { opacity: 0; translate: 0 -6px; }
.k5-raum:is([data-stufe="3"], [data-stufe="4"]) :is(.k5-raum__tisch, .k5-raum__waende) { opacity: 0; }
.k5-raum:is([data-stufe="3"], [data-stufe="4"]) .k5-raum__gitter { opacity: .75; }
.k5-raum[data-stufe="4"] .k5-raum__gitter { opacity: .45; }
.k5-schritte { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.k5-schritt { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
html.js .k5-schritt__text { opacity: 0; transition: opacity .3s var(--ease); }
html.js .k5-schritt.ist-erledigt .k5-schritt__text { opacity: 1; }
.k5-schritt.ist-erledigt .k5-knopf { border-color: var(--stimme-du); background: var(--stimme-du-soft); opacity: 1; color: var(--stimme-du); }
.k5-schritt__text { color: var(--ink-2); font-size: .93rem; }

/* ---------- Planetarium ---------- */
.k5-planet__svg { overflow: visible; }
.k5-pl__bahn { fill: none; stroke: var(--line); stroke-dasharray: 3 5; }
.k5-pl__sterne { fill: var(--stimme-kant); }
.k5-pl__zuschauer { fill: var(--stimme-du); }
.k5-pl__blick { fill: var(--stimme-du-soft); }
.k5-pl__linse { fill: none; stroke: var(--stimme-du); stroke-width: 1.5; stroke-dasharray: 2 3; opacity: 0; transition: opacity .4s var(--ease); }
.k5-planet[data-zustand="1"] .k5-pl__linse { opacity: 1; }
.k5-planet__legende { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; margin: -.4rem 0 .6rem; font-size: .84rem; color: var(--ink-2); min-height: 1.4em; }
.k5-leg { display: inline-flex; align-items: center; gap: .45rem; opacity: 0; transition: opacity .4s var(--ease); }
.k5-leg::before { content: ""; width: 22px; border-top: 2px dotted; }
.k5-leg--linse::before { border-color: var(--stimme-du); }
.k5-leg--jenseits::before { border-color: var(--stimme-gegen); }
.k5-planet[data-zustand="1"] .k5-leg--linse, .k5-planet.ist-stufe2 .k5-leg--jenseits { opacity: 1; }
.k5-pl__jenseits { fill: none; stroke: var(--stimme-gegen); stroke-width: 1.2; stroke-dasharray: 1 5; opacity: 0; transition: opacity .5s var(--ease); }
.k5-planet.ist-stufe2 .k5-pl__jenseits { opacity: 1; }
.k5-pl__pfeil { fill: none; stroke: var(--ink-2); stroke-width: 1.5; stroke-linecap: round; opacity: 0; transition: opacity .3s; }
.k5-planet__zustaende { display: grid; }
.k5-planet__zustand { grid-area: 1 / 1; transition: opacity .3s var(--ease), visibility .3s; }
.k5-planet__zustand[aria-hidden="true"] { opacity: 0; visibility: hidden; }
.k5-planet__name { font-family: var(--font-display); font-weight: 620; font-size: 1.08rem; color: var(--stimme-kant); }
.k5-stufe2 { font-family: var(--font-display); font-size: 1.04rem; margin-top: 1rem; }

/* ---------- Erkenntnis-Maschine ---------- */
.k5-m__grund { fill: var(--k5-dunkel); }
.k5-m__rauschen circle { fill: #d9cfb6; }
.k5-m__rauschen, .k5-m__zahn, .k5-m__flecken, .k5-m__kugeln, .k5-m__brille { opacity: 0; transition: opacity .35s var(--ease); }
.k5-m__zahn { fill: none; stroke: var(--stimme-kant); stroke-width: 2; }
.k5-m__f1 { fill: #f2ecdf; } .k5-m__f2 { fill: #e0b75a; }
.k5-m__k1 { fill: #f4f0e6; stroke: #1a2233; stroke-width: 1.2; }
.k5-m__k2 { fill: #e0b75a; stroke: #1a2233; stroke-width: 1.2; }
.k5-m__glanz { fill: #fff; opacity: .7; }
.k5-m__bande { stroke: #4a5a78; stroke-width: 1; }
.k5-m__pfeil path { fill: none; stroke: #e0b75a; stroke-width: 1.8; stroke-linecap: round; }
.k5-m__pfeil text { font: 600 11px var(--font-text); fill: #efe9da; }
.k5-m__pfeil { opacity: 0; transition: opacity .3s; }
.k5-m__brille { fill: var(--k5-glas); }
.k5-maschine.mit-brille .k5-m__brille { opacity: .34; }
.k5-maschine[data-z="leer"] .k5-m__zahn { opacity: 1; }
.k5-maschine:is([data-z="rauschen"], [data-z="rauschenB"]) .k5-m__rauschen { opacity: .9; }
.k5-maschine[data-z="rauschenB"] .k5-m__zahn { opacity: .35; }
.k5-maschine[data-z="blind"] .k5-m__flecken { opacity: .85; }
.k5-maschine[data-z="szene"] .k5-m__kugeln { opacity: 1; }
.k5-maschine[data-z="szene"].ist-stoss .k5-m__pfeil { opacity: 1; }
.k5-m__zustaende { display: grid; min-height: 3em; }
.k5-m__zustaende p { grid-area: 1 / 1; margin: 0; transition: opacity .3s var(--ease), visibility .3s; }
.k5-m__zustaende p[aria-hidden="true"] { opacity: 0; visibility: hidden; }
.k5-m__schalter { display: grid; gap: .5rem; margin: .8rem 0; }
@media (min-width: 620px) { .k5-m__schalter { grid-template-columns: 1fr 1fr; } }
.k5-m__gefunden { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .9rem; color: var(--ink-2); }
.k5-marke { padding: .2rem .65rem; border-radius: 99px; border: 1px dashed var(--line); color: var(--ink-2); transition: background-color .3s var(--ease), color .3s, border-color .3s; }
.k5-marke.ist-gefunden { border-style: solid; border-color: var(--stimme-kant); background: var(--stimme-kant-soft); color: var(--stimme-kant); font-weight: 600; }
.k5-marke.ist-neu { animation: k5-pop .45s var(--ease); }

/* ---------- Humes Billard ---------- */
.k5-b__rahmen { fill: var(--k5-holz); }
.k5-b__tuch { fill: var(--k5-tuch); }
.k5-b__loecher { fill: #0b0f18; }
.k5-b__weiss { fill: #f4f0e6; stroke: #1a2233; stroke-width: 1; }
.k5-b__gelb { fill: #e0b75a; stroke: #1a2233; stroke-width: 1; }
.k5-b__spur circle { fill: #f4f0e6; opacity: .22; }
.k5-b__hume, .k5-b__kant { fill: none; stroke-width: 1.8; stroke-linecap: round; opacity: 0; transition: opacity .4s var(--ease); }
.k5-b__hume { stroke: #b7bdcb; stroke-dasharray: 4 5; }
.k5-b__hume text { fill: #b7bdcb; stroke: none; font: 700 15px var(--font-text); }
.k5-b__kant { stroke: #e0b75a; }
.k5-billard.ist-hume .k5-b__hume, .k5-billard.ist-kant .k5-b__kant { opacity: 1; }
.k5-b__leiste { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.k5-b__gesehen { font-variant-numeric: tabular-nums; color: var(--ink-2); }
.k5-b__gewohnheit { display: flex; align-items: center; gap: .8rem; margin: .7rem 0; font-size: .88rem; color: var(--ink-2); }
.k5-balken { flex: 1; height: 8px; border-radius: 99px; background: color-mix(in srgb, var(--ink) 10%, transparent); overflow: hidden; }
.k5-balken > span { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--stimme-gegen); transition: width .5s var(--ease); }
.k5-b__zl { display: block; font-weight: 600; margin-bottom: .2rem; }
.k5-b__bild { font-variant-numeric: tabular-nums; font-size: .92rem; color: var(--ink-2); min-height: 2.9em; }
.k5-lampen { display: grid; gap: .5rem; margin: .6rem 0; }
@media (min-width: 620px) { .k5-lampen { grid-template-columns: 1fr 1fr; } }
.k5-lampe { display: flex; align-items: center; gap: .6rem; min-height: 48px; padding: .55rem .9rem; border-radius: 12px; border: 1.5px solid var(--line); background: transparent; color: var(--ink); font: inherit; font-weight: 600; cursor: pointer; text-align: left; transition: border-color .25s var(--ease), background-color .25s var(--ease), box-shadow .3s; }
.k5-lampe svg { flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: fill .3s; }
.k5-lampe--hume[aria-expanded="true"] { border-color: var(--stimme-gegen); background: var(--stimme-gegen-soft); box-shadow: 0 0 22px var(--stimme-gegen-soft); }
.k5-lampe--hume[aria-expanded="true"] svg { fill: var(--stimme-gegen-soft); color: var(--stimme-gegen); }
.k5-lampe--kant[aria-expanded="true"] { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); box-shadow: 0 0 22px var(--stimme-kant-soft); }
.k5-lampe--kant[aria-expanded="true"] svg { fill: var(--stimme-kant-soft); color: var(--stimme-kant); }
.k5-lampen__texte { display: grid; gap: .6rem; }
html.js .k5-lampen__text:not(.ist-offen) { display: none; }
.k5-lampen__text { padding: .6rem .9rem; border-radius: 10px; border-left: 4px solid; font-size: .94rem; }
.k5-lampen__text.ist-offen { animation: k5-auf .3s var(--ease) both; }
.k5-lampen__text--hume { border-color: var(--stimme-gegen); background: var(--stimme-gegen-soft); }
.k5-lampen__text--kant { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k5-lampen__text--hume .k5-zitat { border-left-color: var(--stimme-gegen); }

/* ---------- Urteils-Labor ---------- */
.k5-labor.sorter { padding: clamp(16px, 3vw, 28px); }
.k5-labor__stand { font-size: .85rem; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.k5-labor__satz { font-family: var(--font-display); font-size: 1.22rem; font-weight: 600; min-height: 2.6em; transition: opacity .2s; }
.k5-labor__satz.ist-wechsel { opacity: 0; }
.k5-lupen { display: grid; gap: .6rem; }
@media (min-width: 700px) { .k5-lupen { grid-template-columns: 1fr 1fr; } }
.k5-lupe { border: 1px solid var(--line); border-radius: 12px; padding: .6rem .7rem .7rem; margin: 0; min-width: 0; }
.k5-lupe legend { display: flex; gap: .4rem; align-items: center; font-weight: 620; font-size: .93rem; padding: 0 .3rem; }
.k5-lupe legend svg { flex: none; fill: none; stroke: var(--stimme-du); stroke-width: 2; stroke-linecap: round; }
.k5-lupe .k5-wahl__opts { grid-template-columns: 1fr 1fr; gap: .4rem; }
.k5-lupe .k5-opt { font-size: .9rem; text-align: center; padding: .55rem .5rem; }
.k5-feld { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, 1fr); gap: .4rem; margin: 1rem 0 .4rem; align-items: stretch; }
.k5-feld__sp, .k5-feld__ze { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-2); font-weight: 650; align-self: center; }
.k5-feld__sp { text-align: center; }
.k5-feld__ze { writing-mode: vertical-rl; rotate: 180deg; justify-self: center; }
.k5-feld__q { min-height: 64px; border-radius: 11px; border: 1.5px solid var(--line); background: transparent; color: var(--ink); font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; padding: .4rem; overflow-wrap: anywhere; transition: border-color .2s var(--ease), background-color .25s var(--ease), box-shadow .25s; }
.k5-feld__q--leer { border-style: dashed; color: var(--ink-2); }
.k5-feld__q:hover:not(:disabled) { border-color: var(--stimme-du); }
.k5-feld__q[aria-pressed="true"] { border-color: var(--stimme-du); background: var(--stimme-du-soft); box-shadow: 0 0 0 3px var(--stimme-du-soft); }
.k5-feld__q.ist-richtig { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); box-shadow: none; }
.k5-feld__q.ist-falsch { border-color: var(--widerspruch); background: var(--widerspruch-soft); box-shadow: none; }
.k5-feld__q:disabled { cursor: default; }
.k5-labor__leer { font-size: .85rem; color: var(--widerspruch); min-height: 0; margin: 0; transition: opacity .25s; }
.k5-labor__leer[aria-hidden="true"] { opacity: 0; height: 0; overflow: hidden; }
.k5-labor__aktionen { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: .8rem; }
.k5-labor__abschluss:empty { display: none; }
.k5-labor__abschluss { font-weight: 600; color: var(--stimme-kant); margin-top: 1rem; }
.k5-boss { border-top: 1px solid var(--k5-messing); padding-top: 1rem; }
.k5-boss__t { font-family: var(--font-display); font-size: 1.2rem; margin: 0 0 .4rem; }
.k5-boss__leben { display: flex; align-items: center; gap: .7rem; font-size: .85rem; color: var(--ink-2); margin: .4rem 0 .6rem; }
.k5-boss__hp { display: inline-flex; gap: 4px; }
.k5-boss__hp i { display: block; width: 34px; height: 10px; border-radius: 3px; background: var(--widerspruch); transition: opacity .4s var(--ease), scale .4s var(--ease); }
.k5-boss__hp i.ist-weg { opacity: .15; scale: .8 1; }
.k5-boss__punkte { display: block; width: 100%; max-width: 420px; height: auto; margin: .3rem 0; }
.k5-boss__p { fill: none; stroke: var(--line); stroke-width: 1.5; transition: fill .3s var(--ease), stroke .3s; }
.k5-boss__p.ist-da { fill: color-mix(in srgb, var(--ink-2) 40%, transparent); stroke: color-mix(in srgb, var(--ink-2) 60%, transparent); }
.k5-boss__p.ist-finger { fill: var(--stimme-du); stroke: var(--stimme-du); }
.k5-boss__zahl { font-size: 1.3rem; font-variant-numeric: tabular-nums; font-family: var(--font-display); }
.k5-boss__zahl b[data-summe] { color: var(--stimme-kant); }
.k5-boss__sieg { font-family: var(--font-display); font-size: 1.3rem; color: var(--stimme-kant); }

/* ---------- Gericht der Antinomien ---------- */
.k5-waage-wrap { max-width: 360px; margin: 0 auto .6rem; }
.k5-waage { display: block; width: 100%; height: auto; overflow: visible; }
.k5-waage__fuss { fill: none; stroke: var(--k5-strich); stroke-width: 3; stroke-linecap: round; }
.k5-waage__achse { fill: var(--stimme-kant); }
.k5-waage__balken { stroke: var(--stimme-kant); stroke-width: 3.5; stroke-linecap: round; }
.k5-waage__seil { fill: none; stroke: var(--k5-strich); stroke-width: 1; }
.k5-waage__schale { fill: var(--stimme-kant-soft); stroke: var(--stimme-kant); stroke-width: 1.5; }
.k5-waage text { font: 600 12px var(--font-text); fill: var(--ink-2); }
.k5-waage__siegel { opacity: 0; transition: opacity .4s var(--ease); }
.k5-waage__siegel circle { fill: var(--widerspruch-soft); stroke: var(--widerspruch); stroke-width: 2; }
.k5-waage__siegel .k5-waage__siegel-grund { fill: var(--box); }
.k5-waage__siegel .k5-waage__siegel-innen { fill: none; stroke-width: .8; }
.k5-waage__siegel text { fill: var(--widerspruch); font-size: 8.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.k5-gericht.ist-urteil .k5-waage__siegel { opacity: 1; }
.k5-plaedoyers { display: grid; gap: .9rem; }
@media (min-width: 760px) { .k5-plaedoyers { grid-template-columns: 1fr 1fr; } }
.k5-seite { border: 1px solid var(--line); border-radius: 12px; padding: .8rem .9rem; min-width: 0; }
.k5-seite__name { margin: 0 0 .3rem; font-family: var(--font-display); font-size: 1.1rem; }
.k5-beweis { margin: .4rem 0 .7rem; padding-left: 1.3rem; font-size: .94rem; }
.k5-beweis li { margin-bottom: .4rem; }
html.js .k5-beweis li:not(.ist-offen) { display: none; }
.k5-beweis li.ist-offen { animation: k5-auf .3s var(--ease) both; }
.k5-seite .k5-wahl__opts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.k5-seite .k5-opt { text-align: center; padding: .5rem .3rem; font-size: .88rem; }
.k5-linkplatz:empty { display: none; }

/* ---------- Akte ---------- */
.k5-akte__papier { position: relative; overflow-x: clip; /* Stempel (vor dem Stempeln 1,6-fach) darf auf 390 px nicht überstehen */ background: var(--k5-papier); border: 1px solid var(--k5-papier-linie); border-radius: 6px; padding: clamp(14px, 3vw, 24px); box-shadow: 0 6px 18px rgba(8, 15, 34, .12); background-image: repeating-linear-gradient(transparent 0 31px, color-mix(in srgb, var(--k5-papier-linie) 55%, transparent) 31px 32px); }
.k5-akte__amt { display: flex; justify-content: space-between; gap: 1rem; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); border-bottom: 1px solid var(--k5-papier-linie); padding-bottom: .4rem; margin-bottom: .7rem; }
.k5-akte__nr { font-variant-numeric: tabular-nums; }
.k5-akte__unter { font-family: var(--font-display); font-style: italic; color: var(--ink-2); margin-top: -.5rem !important; }
.k5-akte__zeilen { list-style: none; margin: .8rem 0; padding: 0; display: grid; gap: .45rem; }
.k5-akte__zeile { display: flex; gap: .7rem; align-items: flex-start; width: 100%; text-align: left; min-height: 44px; padding: .6rem .8rem; border-radius: 8px; border: 1.5px solid transparent; background: color-mix(in srgb, var(--box) 70%, transparent); color: var(--ink); font: inherit; font-family: var(--font-display); font-size: 1.02rem; cursor: pointer; transition: border-color .2s var(--ease), background-color .25s var(--ease); }
.k5-akte__zeile[aria-disabled="true"] { cursor: default; }
.k5-akte:not(.ist-a1) .k5-akte__zeile:hover { border-color: transparent; }
.k5-akte.ist-a1 .k5-akte__zeile:hover { border-color: var(--stimme-du); }
.k5-akte__zeile.ist-falsch { border-color: var(--widerspruch); background: var(--widerspruch-soft); }
.k5-akte__zeile.ist-richtig { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k5-akte__znr { flex: none; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; border: 1px solid var(--k5-papier-linie); font: 650 .8rem var(--font-text); color: var(--ink-2); }
.k5-akte__aufgabe { font-weight: 640; }
.k5-akte__stempel { position: absolute; right: clamp(8px, 4vw, 34px); bottom: 16px; pointer-events: none; opacity: 0; rotate: -14deg; scale: 1.6; }
.k5-akte__stempel span { display: block; padding: .3rem .9rem; border: 3px double var(--widerspruch); border-radius: 8px; color: var(--widerspruch); font: 800 1.35rem var(--font-text); letter-spacing: .14em; text-transform: uppercase; background: color-mix(in srgb, var(--k5-papier) 60%, transparent); }
.k5-akte.ist-gestempelt .k5-akte__stempel { opacity: .9; scale: 1; transition: opacity .2s ease-out, scale .28s cubic-bezier(.3, 1.6, .5, 1); }
.k5-akte.ist-still .k5-akte__stempel { transition: none; }
.k5-akte__fertig { font-weight: 600; color: var(--stimme-kant); }
.k5-akte__fertig:empty { display: none; }
.k5-taler { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: .4rem 0 .6rem; }
.k5-taler__spalte { border: 1px solid var(--line); border-radius: 12px; padding: .7rem; text-align: center; min-width: 0; }
.k5-taler__spalte h4 { margin: 0 0 .3rem; font-family: var(--font-display); font-size: .98rem; }
.k5-taler__muenzen { width: 90px; height: auto; display: block; margin: 0 auto .4rem; }
.k5-muenze { fill: none; stroke: var(--stimme-kant); stroke-width: 1.4; stroke-dasharray: 3 3; }
.k5-muenze.ist-echt { fill: color-mix(in srgb, var(--stimme-kant) 55%, var(--box)); stroke-dasharray: none; }
.k5-taler dl { margin: 0; display: grid; gap: .2rem; font-size: .85rem; }
.k5-taler dl div { display: flex; justify-content: space-between; gap: .4rem; }
.k5-taler dt { color: var(--ink-2); }
.k5-taler dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.k5-taler__spalte.ist-echt dl div:last-child dd { color: var(--stimme-kant); }
.k5-taler__fazit { font-size: .95rem; }

/* ---------- Bewegung ---------- */
@keyframes k5-auf { from { opacity: 0; translate: 0 6px; } to { opacity: 1; translate: 0 0; } }
@keyframes k5-blende { from { opacity: 0; } to { opacity: 1; } }
@keyframes k5-pop { 0% { scale: 1; } 45% { scale: 1.3; } 100% { scale: 1; } }
@keyframes k5-wackel { 0%, 100% { translate: 0 0; } 25% { translate: -4px 0; } 75% { translate: 4px 0; } }
.ist-wackeln { animation: k5-wackel .3s ease-in-out; }
@media (prefers-reduced-motion: reduce) {
  .k5-spaeter.ist-offen, .k5-beweis li.ist-offen, .k5-lampen__text.ist-offen { animation: k5-blende .2s both; }
  .k5-stern.ist-neu svg, .k5-marke.ist-neu, .ist-wackeln { animation: none; }
  .k5-raum__apfel { translate: none !important; }
  .k5-pl__pfeil { opacity: .8; }
  .k5-planet[data-zustand="0"] .k5-pl__pfeil--zuschauer, .k5-planet[data-zustand="1"] .k5-pl__pfeil--sterne { opacity: 0; }
  .k5-akte.ist-gestempelt .k5-akte__stempel { transition: opacity .2s; scale: 1; }
  .k5-hebel__griff, .k5-schalter__griff { transition-duration: .01s; }
}

/* ---------- Kleine Bildschirme ---------- */
@media (max-width: 420px) {
  .k5-kopf__t { font-size: 1.12rem; }
  .k5-feld__q { font-size: .82rem; min-height: 58px; }
  .k5-seite .k5-wahl__opts { grid-template-columns: 1fr; }
  .k5-taler { grid-template-columns: 1fr 1fr; gap: .4rem; }
}
