/* k7.css — Paket K7 (06.11.2026): Ein Tag in Königsberg, Tischgesellschaft, Tischgespräche, Schön/angenehm/gut,
   Erhabenes, Kant gegen Kant. Farben nur aus Site-Tokens und den vier Stimmen (werkstatt-kern.css):
   Gold = Kant, Blau = du, Grau = Gegenstimme, Siegelrot = Widerspruch. Hell und dunkel über die Tokens. */

/* ---------- Gemeinsames ---------- */
.k7-tag, .k7-tisch, .k7-gespraeche, .k7-schoen, .k7-erhaben, .k7-kgk { scroll-margin-top: 84px; }
/* Kartennadeln bleiben rund: die Kern-Regel `.geraet button { min-height: 44px }` machte sie zu Ellipsen.
   Gleichwertige Bedienung mit großen Zielen ist die Ortsliste unter dem Plan. */
.k7-tag .karte__pin { min-height: 0; padding: 0; }
.k7-kopf { color: var(--ink-2); font-size: .92rem; margin: 0 0 1rem; max-width: 62ch; }
.k7-marke { display: inline-block; margin: 0 0 .8rem; padding: .2rem .7rem; border: 1px dashed var(--stimme-gegen); border-radius: 99px; color: var(--stimme-gegen); font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; font-weight: 600; }
.k7-hilfe { color: var(--ink-2); font-size: .9rem; margin: .2rem 0 .8rem; }
.k7-notiz { color: var(--ink-2); font-size: .85rem; font-style: italic; }
.geraet h4 { font-family: var(--font-display); font-size: 1.12rem; margin: 1.2rem 0 .2rem; }
.k7-optionen, .k7-wahl { display: grid; gap: .5rem; margin: .6rem 0; }
@media (min-width: 640px) { .k7-wahl { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); } }
.k7-option {
  text-align: left; padding: .65rem .9rem; border-radius: 10px; border: 1px solid var(--line); background: var(--bg);
  color: var(--ink); font: inherit; font-size: .93rem; line-height: 1.4; cursor: pointer;
  transition: border-color .2s ease-out, background-color .2s ease-out, opacity .2s, transform .15s;
}
.k7-option:hover:not(:disabled) { border-color: var(--stimme-du); }
.k7-option[aria-pressed="true"] { border-color: var(--stimme-du); background: var(--stimme-du-soft); }
.k7-option.ist-richtig { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k7-option.ist-falsch { border-color: var(--widerspruch); background: var(--widerspruch-soft); }
.k7-option:disabled { cursor: default; }
.k7-option:disabled:not(.ist-richtig):not(.ist-falsch) { opacity: .55; }
.k7-rueck:empty { display: none; }
.k7-rueck { margin: .4rem 0 .6rem; padding: .7rem .9rem; border-radius: 10px; border-left: 4px solid var(--line); background: color-mix(in srgb, var(--ink) 4%, transparent); animation: k7-rein .3s ease-out; }
.k7-rueck p { margin: 0 0 .35rem; } .k7-rueck p:last-child { margin: 0; }
.k7-rueck.ist-richtig { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k7-rueck.ist-falsch, .k7-rueck.ist-anders { border-color: var(--widerspruch); background: var(--widerspruch-soft); }
.k7-rueck__kopf { font-weight: 650; }
.k7-rueck .src, .k7-regel .src { border: 0; padding: 0; margin: 0; }
@keyframes k7-rein { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.k7-pfeil { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.15em; margin-left: .3em; transition: transform .2s ease-out; }
.k7-weiter { display: inline-block; margin: .6rem 0; font-weight: 600; }
.k7-weiter:hover .k7-pfeil { transform: translateX(3px); }

/* Aufklappbares (Was das Bild verschweigt, Prüffragen, Beleg) — gleitet, wo der Browser es kann */
.k7-verschweigt, .k7-lupen, .k7-gk__beleg { margin: 1rem 0 0; border: 1px solid var(--line); border-radius: 10px; background: color-mix(in srgb, var(--ink) 3%, transparent); interpolate-size: allow-keywords; }
.k7-verschweigt summary, .k7-lupen summary, .k7-gk__beleg summary { cursor: pointer; padding: .6rem .9rem; font-weight: 600; font-size: .92rem; list-style: none; display: flex; align-items: center; gap: .6rem; min-height: 44px; }
.k7-verschweigt summary::-webkit-details-marker, .k7-lupen summary::-webkit-details-marker, .k7-gk__beleg summary::-webkit-details-marker { display: none; }
.k7-verschweigt summary::before, .k7-lupen summary::before, .k7-gk__beleg summary::before { content: ""; width: .45em; height: .45em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .25s ease-out; flex: none; }
.k7-verschweigt[open] summary::before, .k7-lupen[open] summary::before, .k7-gk__beleg[open] summary::before { transform: rotate(45deg); }
.k7-verschweigt > p, .k7-lupen > ol, .k7-gk__beleg > p { margin: 0; padding: 0 .9rem .7rem; font-size: .92rem; }
.k7-gk__beleg > p + p { padding-top: 0; }
.k7-lupen ol { padding-left: 2.2rem; } .k7-lupen li { margin: 0 0 .4rem; }
@supports (interpolate-size: allow-keywords) {
  .k7-verschweigt::details-content, .k7-lupen::details-content, .k7-gk__beleg::details-content { block-size: 0; overflow: clip; transition: block-size .3s ease-out, content-visibility .3s allow-discrete; }
  .k7-verschweigt[open]::details-content, .k7-lupen[open]::details-content, .k7-gk__beleg[open]::details-content { block-size: auto; }
}

/* Reiter + Wischleiste (Tischgespräche, Kant gegen Kant) */
.k7-reiterleiste { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .8rem; }
.k7-reiter { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .35rem .85rem .35rem .4rem; border-radius: 99px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font: inherit; font-size: .88rem; cursor: pointer; transition: background-color .2s ease-out, border-color .2s ease-out, color .2s; }
.k7-reiter > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--stimme-gegen-soft); color: var(--stimme-gegen); font-size: .75rem; font-weight: 700; }
.k7-reiter:hover { border-color: var(--stimme-du); }
.k7-reiter.is-an { border-color: var(--stimme-du); background: var(--stimme-du-soft); }
.k7-kgk .k7-reiter { padding-left: .9rem; }
.k7-reiter.ist-gesehen { border-style: solid; box-shadow: inset 0 -2px 0 var(--stimme-kant); }
.k7-gk-leiste { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; padding-bottom: 6px; position: relative; }
.k7-gk-leiste > * { scroll-snap-align: start; min-width: 0; }
.k7-gk-leiste > :focus { outline: none; }
.k7-gk-leiste > :focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

/* ---------- Ein Tag in Königsberg ---------- */
.k7-tag { display: grid; grid-template-columns: minmax(260px, 330px) minmax(0, 1fr); gap: 1.2rem 2rem; align-items: start; }
.k7-tag > .k7-kopf, .k7-tag > .k7-einsicht, .k7-tag > .k7-verschweigt { grid-column: 1 / -1; }
.k7-tag__blatt svg { display: block; width: 100%; height: auto; touch-action: none; cursor: grab; }
.k7-tag__blatt svg.zieht { cursor: grabbing; }
.k7-tag .uhr__zeiger, .k7-tag .uhr__griff { transition: transform .25s ease-out; }
.k7-tag svg.zieht .uhr__zeiger, .k7-tag svg.zieht .uhr__griff { transition: none; }
.uhr__griff { fill: var(--stimme-kant); stroke: var(--box); stroke-width: 3; transform-box: view-box; transform-origin: 200px 200px; }
.k7-regler { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; margin: .4rem 0 .2rem; }
.k7-regler label { font-size: .85rem; color: var(--ink-2); }
.k7-regler input[type="range"], .k7-erhaben__regler input[type="range"] { width: 100%; min-height: 44px; accent-color: var(--stimme-kant); cursor: pointer; }
.uhr__regler-wert { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--stimme-kant); min-width: 4.6em; text-align: right; }
.k7-tag .uhr__text { margin-top: .4rem; }
.k7-tag .uhr__wo { margin: 0 0 .3rem; font-size: .93rem; }
.k7-tag .uhr__wo strong { color: var(--stimme-kant); }
.k7-tag .uhr__heine { margin: 0 0 .3rem; font-size: .88rem; color: var(--widerspruch); min-height: 1px; }
.k7-tag .uhr__heine:empty { display: none; }
.k7-tag .uhr__liste { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .3rem; }
.k7-tag .uhr__knopf { flex-direction: column; align-items: flex-start; gap: .05rem; line-height: 1.3; min-height: 44px; }
.k7-tag .uhr__zeit { min-width: 0; font-size: .75rem; }
.k7-tuer { display: grid; grid-template-columns: 28px 1fr; gap: .2rem .7rem; align-items: center; margin: .8rem 0 0; padding: .7rem .9rem; border: 1px solid var(--line); border-radius: 12px; transition: border-color .3s ease-out, background-color .3s ease-out; }
.k7-tuer__glocke { width: 26px; height: 26px; fill: none; stroke: var(--ink-2); stroke-width: 1.6; stroke-linejoin: round; transform-origin: 50% 10%; }
.k7-tuer__text { margin: 0; font-size: .9rem; }
.k7-tuer__knopf { grid-column: 1 / -1; justify-self: start; margin-top: .3rem; border-color: var(--line); color: var(--ink); background: var(--bg); min-height: 44px; }
.k7-tuer.ist-auf { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k7-tuer.ist-auf .k7-tuer__glocke { stroke: var(--stimme-kant); animation: k7-glocke .9s ease-out; }
.k7-tuer.ist-auf .k7-tuer__knopf { background: linear-gradient(140deg, #e4bd63, #c29638); color: #191204; border-color: transparent; }
@keyframes k7-glocke { 0% { transform: rotate(0); } 20% { transform: rotate(16deg); } 45% { transform: rotate(-12deg); } 70% { transform: rotate(6deg); } 100% { transform: rotate(0); } }
.k7-tag__plan .karte__bild { margin: 0 0 .4rem; }
.karte__weg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; clip-path: inset(0 0 0 100%); opacity: 0; transition: clip-path 1.2s ease-out, opacity .3s; }
.karte__weg polyline { fill: none; stroke: #c29638; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 2px rgba(255, 255, 255, .9)); }
.karte__weg.is-an { clip-path: inset(0 -4% 0 -4%); opacity: 1; }   /* zeichnet sich vom Haus (rechts) zur Festung (links) */
.karte__pin.is-hier { background: #c29638; color: #191204; box-shadow: 0 0 0 4px rgba(194, 150, 56, .35), 0 2px 8px rgba(0, 0, 0, .35); animation: k7-hier 1.8s ease-out infinite; }
.karte__pin.is-hier.is-an { background: #c0392b; color: #fff; }
@keyframes k7-hier { 0% { box-shadow: 0 0 0 0 rgba(194, 150, 56, .6), 0 2px 8px rgba(0, 0, 0, .35); } 70% { box-shadow: 0 0 0 12px rgba(194, 150, 56, 0), 0 2px 8px rgba(0, 0, 0, .35); } 100% { box-shadow: 0 0 0 0 rgba(194, 150, 56, 0), 0 2px 8px rgba(0, 0, 0, .35); } }
.k7-tag__weglabel { display: flex; align-items: center; gap: .5rem; margin: 0 0 .6rem; font-size: .82rem; color: var(--ink-2); }
.k7-tag__weglabel svg { width: 30px; height: 8px; } .k7-tag__weglabel line { stroke: #c29638; stroke-width: 3; stroke-linecap: round; }
.k7-tag .karte__liste { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.k7-einsicht { min-height: 3.2em; margin: .4rem 0 0; padding: .6rem .9rem; border-left: 4px solid transparent; border-radius: 0 10px 10px 0; font-family: var(--font-display); font-size: 1.08rem; transition: border-color .3s, background-color .3s; }
.k7-einsicht.ist-da { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); animation: k7-rein .4s ease-out; }
@media (max-width: 999px) {
  .k7-tag { display: flex; flex-direction: column; gap: .8rem; }
  .k7-tag__uhr, .k7-tag__plan { display: contents; }
  .k7-tag > .k7-kopf { order: 0; }
  .k7-tag__blatt { order: 1; max-width: 250px; width: 100%; margin: 0 auto; }
  .k7-regler { order: 2; }
  .k7-tag__plan .karte__bild { order: 3; }
  .k7-tag__weglabel { order: 4; }
  .k7-tag .uhr__text { order: 5; }
  .k7-tuer { order: 6; margin: 0; }
  .k7-tag__plan .karte__info { order: 7; }
  .k7-tag .uhr__liste { order: 8; }
  .k7-tag .karte__liste { order: 9; }
  .k7-tag > .k7-einsicht { order: 10; }
  .k7-tag > .k7-verschweigt { order: 11; }
}

/* ---------- Tischgesellschaft ---------- */
.k7-tisch__tuer { display: grid; grid-template-columns: 90px 1fr; gap: .4rem 1rem; align-items: center; padding: .8rem; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb, var(--ink) 3%, transparent); }
.k7-tisch__tuer p { margin: 0; font-size: .93rem; }
.k7-tisch__auf { grid-column: 2; justify-self: start; border-color: var(--line); color: var(--ink); background: var(--bg); min-height: 44px; }
.k7-fluegel { width: 90px; height: auto; grid-row: span 2; }
.k7-fluegel rect { fill: var(--box); stroke: var(--ink-2); stroke-width: 1.5; }
.k7-fluegel__rahmen { fill: color-mix(in srgb, var(--stimme-kant) 25%, var(--box)) !important; }
.k7-fluegel circle { fill: var(--stimme-kant); }
.k7-fluegel__l, .k7-fluegel__r { transform-box: fill-box; transition: transform .7s cubic-bezier(.22, .61, .36, 1); }
.k7-fluegel__l { transform-origin: 0 50%; } .k7-fluegel__r { transform-origin: 100% 50%; }
.k7-tisch.ist-offen .k7-fluegel__l, .k7-tisch.ist-offen .k7-fluegel__r { transform: scaleX(.12); }
.k7-tisch.ist-offen .k7-tisch__auf { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k7-tisch__raum { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 1rem; align-items: start; margin: .4rem 0 .8rem; }
@media (max-width: 700px) { .k7-tisch__raum { grid-template-columns: minmax(0, 1fr); } .k7-tafel { max-width: 340px; margin: 0 auto; } }
.k7-tafel { display: block; width: 100%; height: auto; }
.k7-tafel__tisch { fill: color-mix(in srgb, var(--stimme-kant) 14%, var(--box)); stroke: var(--line); stroke-width: 1.5; }
.k7-tafel__gedeck circle { fill: var(--box); stroke: var(--line); }
.k7-platz circle { fill: var(--box); stroke: var(--line); stroke-width: 1.5; stroke-dasharray: 3 3; transition: fill .25s ease-out, stroke .25s; }
.k7-platz text { font: 700 11px var(--font-text); fill: var(--stimme-du); text-anchor: middle; }
.k7-platz.ist-besetzt circle { fill: var(--stimme-du-soft); stroke: var(--stimme-du); stroke-dasharray: none; animation: k7-platz .35s ease-out; transform-box: fill-box; transform-origin: center; }
.k7-platz--wirt circle { fill: var(--stimme-kant-soft); stroke: var(--stimme-kant); stroke-dasharray: none; }
.k7-platz--wirt text { fill: var(--stimme-kant); }
@keyframes k7-platz { from { transform: scale(.6); } to { transform: none; } }
.k7-regel { padding: .7rem .9rem; border-radius: 10px; border-left: 4px solid var(--line); background: color-mix(in srgb, var(--ink) 4%, transparent); min-height: 11em; transition: border-color .25s, background-color .25s; }
.k7-regel p { margin: 0 0 .35rem; } .k7-regel__zahl { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--stimme-du); }
.k7-regel__titel { font-family: var(--font-display); font-size: 1.1rem; }
.k7-regel__text { font-size: .9rem; }
.k7-regel--gut { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k7-regel--allein, .k7-regel--wenig, .k7-regel--viel { border-color: var(--widerspruch); background: var(--widerspruch-soft); }
.k7-regel--green { border-color: var(--stimme-gegen); background: var(--stimme-gegen-soft); }
.k7-gaeste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .45rem; }
.k7-gast { display: grid; grid-template-columns: 34px 1fr; gap: .1rem .6rem; width: 100%; height: 100%; text-align: left; padding: .55rem .7rem; border-radius: 10px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); font: inherit; cursor: pointer; transition: border-color .2s ease-out, background-color .2s ease-out, transform .15s; }
.k7-gast:hover { border-color: var(--stimme-du); }
.k7-gast[aria-pressed="true"] { border-color: var(--stimme-du); background: var(--stimme-du-soft); }
.k7-gast__marke { grid-row: span 2; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--stimme-gegen-soft); color: var(--stimme-gegen); font-size: .78rem; font-weight: 700; transition: background-color .2s, color .2s; }
.k7-gast[aria-pressed="true"] .k7-gast__marke { background: var(--stimme-du); color: var(--box); }
.k7-gast__name { font-weight: 620; font-size: .92rem; }
.k7-gast__name small { color: var(--ink-2); font-weight: 400; }
.k7-gast__kurz { font-size: .8rem; color: var(--ink-2); line-height: 1.35; }
.k7-gast--tot { border-style: dashed; }
.k7-tisch__gespraech { transition: opacity .3s; }
.k7-tisch__gespraech[aria-disabled="true"] .k7-gaenge { opacity: .55; }
.k7-tisch__zu { color: var(--widerspruch); }
.k7-tisch__gespraech.ist-offen .k7-tisch__zu { visibility: hidden; }
.k7-gaenge { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.k7-gang { padding: .7rem .9rem; border: 1px solid var(--line); border-radius: 12px; transition: border-color .25s, box-shadow .25s; }
.k7-gang.ist-dran { border-color: var(--stimme-du); box-shadow: 0 0 0 3px var(--stimme-du-soft); }
.k7-gang.ist-erledigt { border-color: var(--stimme-kant); }
.k7-gang__kopf { display: flex; align-items: baseline; gap: .5rem; margin: 0 0 .2rem; flex-wrap: wrap; }
.k7-gang__nr { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--stimme-kant-soft); color: var(--stimme-kant); font-weight: 700; font-size: .85rem; flex: none; }
.k7-gang__stufe { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--stimme-kant); }
.k7-gang__frage { margin: 0 0 .3rem; }
.k7-tisch__ende { display: grid; grid-template-columns: 64px 1fr; gap: .2rem 1rem; align-items: center; margin: 1rem 0 0; min-height: 5.5em; }
.k7-tisch__endetext { margin: 0; font-family: var(--font-display); font-size: 1.05rem; }
.k7-tisch__ende .k7-weiter { grid-column: 2; margin: 0; visibility: hidden; }
.k7-tisch__ende.ist-da .k7-weiter { visibility: visible; animation: k7-rein .4s ease-out; }
.k7-glaeser { width: 64px; height: 40px; opacity: .35; transition: opacity .3s; }
.k7-glas path { fill: none; stroke: var(--stimme-kant); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.k7-glas { transform-box: fill-box; transform-origin: 50% 100%; }
.k7-tisch__ende.ist-da .k7-glaeser { opacity: 1; }
.k7-tisch__ende.ist-da .k7-glas--l { animation: k7-anstossen-l .7s ease-out; }
.k7-tisch__ende.ist-da .k7-glas--r { animation: k7-anstossen-r .7s ease-out; }
@keyframes k7-anstossen-l { 40% { transform: translateX(5px) rotate(12deg); } 100% { transform: none; } }
@keyframes k7-anstossen-r { 40% { transform: translateX(-5px) rotate(-12deg); } 100% { transform: none; } }

/* ---------- Tischgespräche ---------- */
.k7-gk { padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.k7-gk__kopf { display: flex; gap: .8rem; align-items: center; }
.k7-gk__kopf h4 { margin: 0; }
.k7-gk__kopf h4 small { font-family: var(--font-text); font-size: .8rem; color: var(--ink-2); font-weight: 400; }
.k7-gk__kopf p { margin: 0; font-size: .85rem; color: var(--ink-2); }
.k7-gk__marke { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; flex: none; background: var(--stimme-gegen-soft); color: var(--stimme-gegen); font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; border: 1px solid var(--stimme-gegen); }
.k7-gk__anlass { margin: .8rem 0 .4rem; font-size: .93rem; }
.k7-gk__einwand { margin: .4rem 0 .8rem; padding: .6rem .9rem; border-left: 4px solid var(--stimme-gegen); background: var(--stimme-gegen-soft); border-radius: 0 10px 10px 0; }
.k7-gk__einwand p { margin: 0; font-style: italic; }
.k7-gk__einwand footer { font-size: .78rem; color: var(--stimme-gegen); margin-top: .3rem; }
.k7-gk__frage { margin: 0; }
.k7-gk__s2 { margin-top: .8rem; animation: k7-rein .3s ease-out; }
.k7-gk .stimmen:not([hidden]) { animation: k7-rein .35s ease-out; }
.k7-gk > .src { margin-top: .8rem; }

/* ---------- Schön, angenehm oder gut? ---------- */
.k7-dinge { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 1rem; }
.k7-ding { position: relative; display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: .3rem .8rem .3rem .35rem; border: 1px solid var(--line); border-radius: 99px; background: var(--bg); color: var(--ink); font: inherit; font-size: .84rem; cursor: pointer; transition: border-color .2s ease-out, background-color .2s ease-out; }
.k7-ding__nr { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: color-mix(in srgb, var(--ink) 7%, transparent); font-weight: 700; font-size: .78rem; font-variant-numeric: tabular-nums; transition: background-color .2s, color .2s; }
.k7-ding[aria-pressed="true"] { border-color: var(--stimme-du); background: var(--stimme-du-soft); }
.k7-ding.ist-geprueft .k7-ding__nr { background: var(--stimme-kant); color: var(--box); }
.k7-schoen__buehne { text-align: center; padding: .4rem 0; }
.k7-schoen__ding { font-family: var(--font-display); font-size: clamp(1.25rem, 3vw, 1.6rem); margin: 0 0 .9rem; min-height: 2.6em; display: grid; place-items: center; }
.k7-schoen.ist-neu .k7-schoen__ding { animation: k7-rein .3s ease-out; }
.k7-arten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; max-width: 560px; margin: 0 auto; }
.k7-art { display: grid; justify-items: center; gap: .3rem; padding: .8rem .4rem; border: 1px solid var(--line); border-radius: 14px; background: var(--bg); color: var(--ink); font: inherit; font-weight: 620; cursor: pointer; min-height: 88px; transition: border-color .2s ease-out, background-color .2s ease-out, transform .15s; }
.k7-art svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.k7-art:hover { border-color: var(--stimme-du); }
.k7-art.ist-kant { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); color: var(--stimme-kant); }
.k7-art.ist-deins { border-color: var(--stimme-du); border-style: dashed; }
.k7-schoen__buehne .k7-rueck { text-align: left; max-width: 640px; margin: .9rem auto .6rem; }
.k7-schoen__weiter { min-height: 44px; margin-top: .3rem; }
.k7-schoen__weiter:disabled { opacity: .45; cursor: default; }
.k7-schoen__ende { min-height: 1px; }
.k7-schoen__endetext:empty { display: none; }
.k7-schoen__endetext { margin: 1rem 0 .4rem; font-family: var(--font-display); font-size: 1.08rem; animation: k7-rein .4s ease-out; }
.k7-schoen__kant { margin: 0; padding: .6rem .9rem; border-left: 4px solid var(--stimme-kant); background: var(--stimme-kant-soft); border-radius: 0 10px 10px 0; }
.k7-schoen__kant p { margin: 0; } .k7-schoen__kant footer { font-size: .8rem; color: var(--stimme-kant); margin-top: .3rem; }
.k7-ohnejs { font-size: .9rem; }

/* ---------- Das Erhabene ---------- */
.k7-erhaben { --sicher: 0; }
.k7-sturm { display: block; width: 100%; height: auto; border-radius: 10px; margin: 0 0 .9rem; }
.k7-sturm__himmel { fill: #26354a; }
.k7-sturm__wolken path { fill: #18222f; }
.k7-sturm__blitz path { fill: #f4e3a1; opacity: 0; }
.k7-sturm__welle--hinten { fill: #2f4a62; }
.k7-sturm__welle--vorn { fill: #1d3246; }
.k7-sturm__fels { fill: #4a4036; }
.k7-sturm__schiff path { fill: none; stroke: #e9dcc0; stroke-width: 2.4; stroke-linejoin: round; }
.k7-sturm__schiff { opacity: calc(1 - var(--sicher) * .85); transform-box: fill-box; transform-origin: 50% 100%; transition: opacity .3s; }
.k7-sturm__figur { opacity: calc(.15 + var(--sicher) * .85); transition: opacity .3s; }
.k7-sturm__figur circle { fill: #e9dcc0; } .k7-sturm__figur path { fill: none; stroke: #e9dcc0; stroke-width: 2; stroke-linecap: round; }
@media (prefers-reduced-motion: no-preference) {
  .k7-sturm__welle--hinten { animation: k7-welle 6s linear infinite; }
  .k7-sturm__welle--vorn { animation: k7-welle 4s linear infinite reverse; }
  .k7-sturm__schiff { animation: k7-schaukeln 2.6s ease-in-out infinite; }
  .k7-sturm__blitz path { animation: k7-blitz 7s steps(1) infinite; }
}
@keyframes k7-welle { from { transform: translateX(0); } to { transform: translateX(-150px); } }
@keyframes k7-schaukeln { 0%, 100% { transform: rotate(-7deg) translateY(0); } 50% { transform: rotate(8deg) translateY(4px); } }
@keyframes k7-blitz { 0%, 61%, 64%, 100% { opacity: 0; } 62% { opacity: .95; } 63% { opacity: .2; } }
.k7-erhaben__urteil p { margin: 0 0 .3rem; }
.k7-erhaben__regler { margin: .8rem 0 .4rem; transition: opacity .3s; }
.k7-erhaben:not(.ist-entschieden) .k7-erhaben__regler { opacity: .5; }
.k7-erhaben__regler label { font-size: .88rem; font-weight: 600; }
.k7-erhaben__enden { display: flex; justify-content: space-between; font-size: .8rem; color: var(--ink-2); }
.k7-erhaben__gemuet { min-height: 9.5em; padding: .7rem .9rem; border-left: 4px solid var(--line); border-radius: 0 10px 10px 0; transition: border-color .3s, background-color .3s; }
.k7-erhaben__gemuet p { margin: 0 0 .3rem; }
.k7-erhaben__gemuet .src { border: 0; padding: 0; margin: 0; }
.k7-erhaben.ist-entschieden[data-stand="0"] .k7-erhaben__gemuet { border-color: var(--widerspruch); background: var(--widerspruch-soft); }
.k7-erhaben.ist-entschieden[data-stand="1"] .k7-erhaben__gemuet { border-color: var(--stimme-kant); background: var(--stimme-kant-soft); }
.k7-erhaben__entdecke { margin: .8rem 0 0; border-color: var(--line); color: var(--ink); background: var(--bg); min-height: 44px; }
.k7-erhaben__entdecke:not(:disabled) { border-color: var(--stimme-kant); }
.k7-erhaben__entdecke:disabled { opacity: .45; cursor: default; }
.k7-erhaben__stimmen { margin-top: .9rem; animation: k7-rein .4s ease-out; }
.k7-erhaben__erhebung { padding: .7rem .9rem; border-left: 4px solid var(--stimme-kant); background: var(--stimme-kant-soft); border-radius: 0 10px 10px 0; }

/* ---------- Kant gegen Kant ---------- */
.k7-kgk__hinweis { font-size: .85rem; color: var(--ink-2); border-left: 3px solid var(--stimme-gegen); padding-left: .7rem; margin: 0 0 1rem; }
.k7-kgk__raster { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1.4rem; align-items: start; }
@media (max-width: 899px) { .k7-kgk__raster { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 900px) { .k7-kgk__mass { position: sticky; top: 90px; } }
.k7-kgk__mass blockquote { margin: 0 0 .8rem; padding: .7rem .9rem; border-left: 4px solid var(--stimme-kant); background: var(--stimme-kant-soft); border-radius: 0 10px 10px 0; }
.k7-kgk__mass blockquote p { margin: 0; font-family: var(--font-display); }
.k7-kgk__mass footer, .k7-kgk__stelle footer { font-size: .8rem; margin-top: .35rem; }
.k7-kgk__label { margin: .9rem 0 .35rem; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; color: var(--ink-2); }
.k7-kgk__mass .k7-kgk__label { margin-top: 0; }
.k7-kgk__tafel { padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.k7-kgk__tafel h4 { margin-top: 0; }
.k7-kgk__stelle { margin: 0 0 .6rem; padding: .6rem .9rem; border-left: 4px solid var(--widerspruch); background: var(--widerspruch-soft); border-radius: 0 10px 10px 0; }
.k7-kgk__stelle p { margin: 0; }
.k7-kgk__einspruch { margin: 0; padding: .6rem .9rem; border-left: 4px solid var(--stimme-gegen); background: var(--stimme-gegen-soft); border-radius: 0 10px 10px 0; font-size: .95rem; }
.k7-kgk__einspruch .src { display: block; border: 0; padding: 0; margin: .3rem 0 0; }
.k7-kgk__frage { margin: 0; padding: .6rem .9rem; border-left: 4px solid var(--stimme-du); background: var(--stimme-du-soft); border-radius: 0 10px 10px 0; font-style: italic; }
.k7-kgk__stand { min-height: 1.5em; margin: .5rem 0 0; font-size: .85rem; color: var(--ink-2); font-variant-numeric: tabular-nums; }

/* ---------- Bewegung abbestellt: nur kurze Überblendungen ---------- */
@media (prefers-reduced-motion: reduce) {
  .k7-tag .uhr__zeiger, .k7-tag .uhr__griff, .k7-fluegel__l, .k7-fluegel__r, .karte__weg { transition: opacity .2s; }
  .karte__weg { clip-path: none; }
  .karte__pin.is-hier, .k7-tuer.ist-auf .k7-tuer__glocke, .k7-glas, .k7-platz.ist-besetzt circle { animation: none !important; }
  .k7-rueck, .k7-einsicht.ist-da, .k7-gk__s2, .k7-schoen.ist-neu .k7-schoen__ding, .k7-erhaben__stimmen { animation: k7-blende .2s ease-out; }
}
@keyframes k7-blende { from { opacity: 0; } to { opacity: 1; } }
.k7-erhaben:not(.ist-entschieden) .k7-erhaben__gemuet { border-color: transparent; }
