/* Erklärstücke — Ablauf (Freigabe) und Herleitung (Fundstelle) */

.ds-ablauf{display:flex;flex-direction:column;gap:26px}
.ds-ablauf__rail{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0}
.ds-ablauf__schritt{position:relative;padding-top:4px}
.ds-ablauf__schritt+.ds-ablauf__schritt::before{content:"";position:absolute;left:calc(-50% + 21px);right:calc(50% + 21px);top:19px;height:2px;background:var(--n-300);border-radius:2px}
.ds-ablauf__schritt+.ds-ablauf__schritt::after{content:"";position:absolute;left:calc(-50% + 21px);right:calc(50% + 21px);top:19px;height:2px;background:var(--n-700);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform 620ms var(--ease-out)}
.ds-ablauf__schritt.is-erledigt::after,.ds-ablauf__schritt.is-aktiv::after{transform:scaleX(1)}
.ds-ablauf__node{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;background:none;border:0;padding:0 6px;cursor:pointer;text-align:center}
.ds-ablauf__node:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}
.ds-ablauf__node .ds-marke{transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base)}
.ds-ablauf__schritt.is-aktiv .ds-ablauf__node .ds-marke{transform:scale(1.14);box-shadow:0 0 0 4px rgba(255,255,255,.9),0 6px 16px -6px rgba(11,13,18,.5)}
.ds-ablauf__schritt:not(.is-erledigt):not(.is-aktiv) .ds-ablauf__node .ds-marke{filter:grayscale(1) opacity(.42)}
.ds-ablauf__nodetitel{font:600 12.5px/1.25 var(--font-text);color:var(--n-500);letter-spacing:-.005em}
.ds-ablauf__schritt.is-aktiv .ds-ablauf__nodetitel,.ds-ablauf__schritt.is-erledigt .ds-ablauf__nodetitel{color:var(--text-primary)}
.ds-ablauf__schritt.is-tor .ds-ablauf__node .ds-marke{box-shadow:0 0 0 3px var(--amber-hell)}
.ds-ablauf__schritt.is-wartet .ds-ablauf__node .ds-marke{animation:ds-puls 1.4s ease-in-out infinite}
@keyframes ds-puls{0%,100%{box-shadow:0 0 0 0 rgba(255,184,0,.9)}50%{box-shadow:0 0 0 10px rgba(255,184,0,0)}}

.ds-ablauf__body{display:grid;grid-template-columns:1.35fr .95fr;gap:22px;align-items:start}
.ds-ablauf__detail{background:var(--n-0);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:26px 28px 24px;min-height:250px}
.ds-ablauf__kopf{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.ds-ablauf__kopf h3{font-size:26px;margin:0 0 4px;letter-spacing:-.03em}
.ds-ablauf__rolle{font:400 13px/1.3 var(--font-text);color:var(--text-secondary)}
.ds-ablauf__rolle b{color:var(--text-primary);font-weight:600}
.ds-ablauf__text{font-size:15.5px;line-height:1.6;color:var(--text-secondary);margin:0;max-width:58ch;text-wrap:pretty}
.ds-ablauf__tor{margin-top:20px;border:1px solid var(--amber-basis);background:var(--amber-hell);border-radius:var(--radius-lg);padding:16px 18px}
.ds-ablauf__torkopf{display:flex;align-items:center;gap:9px;font:700 10px/1 var(--font-text);letter-spacing:.13em;text-transform:uppercase;color:var(--amber-tief)}
.ds-ablauf__tor p{font-size:14.5px;line-height:1.5;color:var(--n-900);margin:11px 0 14px;font-weight:500}
.ds-ablauf__torbtn{display:flex;gap:9px;flex-wrap:wrap}
.ds-ablauf__torbtn button{font:600 14px/1 var(--font-text);border-radius:var(--radius-pill);padding:11px 18px;cursor:pointer;border:1px solid transparent;transition:transform var(--dur-base) var(--ease-out),background var(--dur-fast)}
.ds-ablauf__torbtn button:hover{transform:translateY(-1px)}
.ds-ablauf__torbtn button:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.ds-ablauf__ja{background:var(--azur-500);color:#fff}
.ds-ablauf__ja:hover{background:var(--azur-600)}
.ds-ablauf__nein{background:var(--n-0);color:var(--text-primary);border-color:var(--border-default)!important}
.ds-ablauf__nein:hover{border-color:var(--border-strong)!important}
.ds-ablauf__schluss{margin-top:20px;display:flex;align-items:center;gap:11px;flex-wrap:wrap;border-top:1px solid var(--border-subtle);padding-top:18px;font:600 14.5px/1.3 var(--font-text)}
.ds-ablauf__schluss button{margin-left:auto;font:600 13.5px/1 var(--font-text);color:var(--text-primary);background:none;border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:9px 15px;cursor:pointer;transition:border-color var(--dur-base)}
.ds-ablauf__schluss button:hover{border-color:var(--border-strong)}
.ds-ablauf__schluss button:focus-visible{outline:none;box-shadow:var(--focus-ring)}

.ds-ablauf__log{background:var(--n-900);border-radius:var(--radius-xl);padding:20px 22px 22px;min-height:250px}
.ds-ablauf__logkopf{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.14);font:700 10px/1 var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--n-400)}
.ds-ablauf__logkopf button{display:flex;align-items:center;gap:6px;background:none;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-pill);color:var(--n-300);font:600 10px/1 var(--font-text);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;cursor:pointer}
.ds-ablauf__logkopf button:disabled{opacity:.35;cursor:default}
.ds-ablauf__logkopf button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.ds-ablauf__log ol{list-style:none;margin:0;padding:14px 0 0;display:flex;flex-direction:column;gap:10px}
.ds-ablauf__zeile{display:flex;gap:9px;align-items:flex-start;font:500 12px/1.5 var(--font-mono);color:var(--n-300);font-variant-numeric:tabular-nums;animation:ds-logein 320ms var(--ease-out) both}
.ds-ablauf__zeile .ds-icon{margin-top:2px;flex:none;color:var(--gruen-dark)}
.ds-ablauf__zeile.is-mensch .ds-icon{color:var(--azur-300)}
.ds-ablauf__zeile.is-abgelehnt{color:var(--koralle-dark)}
.ds-ablauf__zeile.is-abgelehnt .ds-icon{color:var(--koralle-dark)}
.ds-ablauf__leer{font:500 12px/1.5 var(--font-mono);color:var(--n-600)}
@keyframes ds-logein{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.ds-ablauf.is-rueck .ds-ablauf__zeile{text-decoration:line-through;opacity:.4;transition:opacity 700ms,text-decoration 700ms}

.ds-herleitung{display:grid;grid-template-columns:1fr 200px 1.25fr;gap:26px;align-items:start}
.ds-herleitung__lbl{font:700 9.5px/1 var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px}
.ds-herleitung__quellen{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ds-herleitung__quellen li{display:flex;align-items:center;gap:10px;background:var(--n-0);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px 12px;opacity:0;transform:translateX(-14px);transition:opacity 420ms var(--ease-out),transform 420ms var(--ease-out),border-color var(--dur-base),box-shadow var(--dur-base)}
.ds-herleitung__quellen li.is-drin{opacity:1;transform:none}
.ds-herleitung__quellen li.is-treffer{border-color:var(--n-700)}
.ds-herleitung__quellen li.is-gewaehlt{border-color:var(--azur-500);box-shadow:var(--focus-ring)}
.ds-herleitung__qn{font:600 13.5px/1.2 var(--font-text);color:var(--text-primary)}
.ds-herleitung__qt{margin-left:auto;font:500 11px/1 var(--font-mono);color:var(--text-secondary)}
.ds-herleitung__mitte{position:relative}
.ds-herleitung__index{background:var(--n-900);border-radius:var(--radius-xl);padding:20px 20px 22px;color:var(--n-0);text-align:center}
.ds-herleitung__zahl{font:800 34px/1 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.ds-herleitung__zlbl{font:600 10px/1.3 var(--font-text);letter-spacing:.12em;text-transform:uppercase;color:var(--n-400);margin-top:8px}
.ds-herleitung__balken{display:flex;flex-wrap:wrap;gap:4px;margin-top:18px;justify-content:center}
.ds-herleitung__balken i{width:14px;height:5px;border-radius:2px;background:rgba(255,255,255,.16);opacity:0;transform:scaleX(.2);transition:opacity 300ms var(--ease-out),transform 300ms var(--ease-out),background 300ms}
.ds-herleitung__balken i.is-da{opacity:1;transform:none}
.ds-herleitung__balken i.is-treffer{background:var(--aqua-basis)}
.ds-herleitung__frage{display:flex;align-items:center;gap:9px;background:var(--n-0);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px 14px;min-height:44px;font:500 14.5px/1.35 var(--font-text);color:var(--text-primary)}
.ds-herleitung__cursor{display:inline-block;width:2px;height:15px;background:var(--azur-500);vertical-align:-2px;margin-left:1px;animation:ds-blink 1s steps(2) infinite}
@keyframes ds-blink{50%{opacity:0}}
.ds-herleitung__antwort{margin-top:14px;background:var(--n-0);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:20px 22px;opacity:0;transform:translateY(10px);transition:opacity 420ms var(--ease-out),transform 420ms var(--ease-out)}
.ds-herleitung__antwort.is-da{opacity:1;transform:none}
.ds-herleitung__antwort p{font-size:15px;line-height:1.6;color:var(--text-primary);margin:0 0 16px;text-wrap:pretty}
.ds-herleitung__flbl{font:700 9.5px/1 var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:9px}
.ds-herleitung__fund{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ds-herleitung__fund button{display:flex;align-items:center;gap:9px;width:100%;background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer;text-align:left;transition:border-color var(--dur-base),background var(--dur-base)}
.ds-herleitung__fund button:hover,.ds-herleitung__fund button.is-gewaehlt{border-color:var(--azur-500);background:var(--n-0)}
.ds-herleitung__fund button:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.ds-herleitung__fd{font:600 13px/1.2 var(--font-text);color:var(--text-primary)}
.ds-herleitung__fa{margin-left:auto;font:500 11px/1 var(--font-mono);color:var(--text-secondary);white-space:nowrap}
.ds-herleitung__ohne{font-size:12.5px!important;line-height:1.5!important;color:var(--text-secondary)!important;margin:14px 0 0!important;padding-top:12px;border-top:1px solid var(--border-subtle)}
.ds-herleitung__neu{display:inline-flex;align-items:center;gap:7px;margin-top:14px;background:none;border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:9px 15px;font:600 13px/1 var(--font-text);color:var(--text-primary);cursor:pointer;transition:border-color var(--dur-base)}
.ds-herleitung__neu:hover{border-color:var(--border-strong)}
.ds-herleitung__neu:focus-visible{outline:none;box-shadow:var(--focus-ring)}

@media (max-width:1100px){
.ds-ablauf__body{grid-template-columns:1fr}
.ds-herleitung{grid-template-columns:1fr;gap:20px}
.ds-herleitung__balken{max-width:340px;margin-left:auto;margin-right:auto}
}
@media (max-width:760px){
.ds-ablauf__rail{grid-auto-flow:row;grid-auto-columns:auto;gap:2px}
.ds-ablauf__schritt+.ds-ablauf__schritt::before,.ds-ablauf__schritt+.ds-ablauf__schritt::after{display:none}
.ds-ablauf__node{flex-direction:row;justify-content:flex-start;text-align:left;padding:6px}
}
@media (prefers-reduced-motion:reduce){
.ds-ablauf__schritt::after,.ds-herleitung__quellen li,.ds-herleitung__balken i,.ds-herleitung__antwort{transition-duration:0ms}
.ds-ablauf__zeile{animation:none}
.ds-ablauf__schritt.is-wartet .ds-ablauf__node .ds-marke{animation:none;box-shadow:0 0 0 4px var(--amber-basis)}
.ds-herleitung__cursor{animation:none}
}
