:root{--bg: #070707;--bg-2: #0e0e10;--panel: #131316;--panel-2: #1a1a1e;--line: #26262c;--line-soft: #1e1e23;--text: #ece7dd;--text-dim: #a49f95;--text-mute: #6e6a63;--gold: #d4af37;--gold-soft: #e8c766;--gold-dim: rgba(212, 175, 55, .14);--gut: #6fbf8b;--mittel: #d9b45a;--schwach: #cf7b6a;--radius: 12px;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 15% -10%,#17151a 0%,var(--bg) 55%);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2a2a30;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.app{display:grid;grid-template-columns:300px 1fr;height:100%}.sidebar{border-right:1px solid var(--line);background:#0a0a0cb3;display:flex;flex-direction:column;min-height:0}.brand{padding:22px 20px 16px;border-bottom:1px solid var(--line-soft)}.brand img{height:26px;display:block;opacity:.95}.brand-title{margin:12px 0 2px;font-family:var(--serif);font-size:19px;letter-spacing:.2px}.brand-sub{color:var(--text-mute);font-size:12.5px}.sidebar-body{flex:1;overflow-y:auto;padding:14px;min-height:0}.sidebar-foot{border-top:1px solid var(--line-soft);padding:12px 14px;display:flex;gap:8px}.main{overflow-y:auto;min-height:0}.main-inner{max-width:980px;margin:0 auto;padding:40px 40px 100px}.label{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-mute);font-weight:600}.btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:9px;padding:9px 14px;cursor:pointer;transition:border-color .15s,background .15s,color .15s;font-size:14px}.btn:hover:not(:disabled){border-color:var(--gold);color:var(--gold-soft)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-gold{background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:#17130a;border-color:transparent;font-weight:650}.btn-gold:hover:not(:disabled){filter:brightness(1.08);color:#17130a}.btn-sm{padding:6px 10px;font-size:13px;border-radius:8px}.btn-ghost{background:transparent}.input,.textarea{width:100%;background:var(--bg-2);border:1px solid var(--line);border-radius:9px;padding:11px 13px;outline:none;transition:border-color .15s}.input:focus,.textarea:focus{border-color:var(--gold)}.input::placeholder{color:var(--text-mute)}.card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:20px 22px}.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:5px 11px;font-size:12.5px;color:var(--text-dim);cursor:pointer;white-space:nowrap}.chip:hover{border-color:var(--gold)}.chip.aktiv{background:var(--gold-dim);border-color:var(--gold);color:var(--gold-soft)}.chip.statisch{cursor:default}.chip.statisch:hover{border-color:var(--line)}.tag{display:inline-block;font-size:11px;letter-spacing:.4px;border-radius:5px;padding:2px 7px;border:1px solid var(--line);color:var(--text-mute)}.tag.gut{color:var(--gut);border-color:#6fbf8b59}.tag.mittel{color:var(--mittel);border-color:#d9b45a59}.tag.schwach{color:var(--schwach);border-color:#cf7b6a59}.hr{height:1px;background:var(--line-soft);border:0;margin:28px 0}.lib-item{border:1px solid transparent;border-radius:10px;padding:10px 12px;cursor:pointer;margin-bottom:4px;position:relative}.lib-item:hover{background:var(--panel);border-color:var(--line-soft)}.lib-item.aktiv{background:var(--panel-2);border-color:var(--gold)}.lib-item-name{font-weight:600;font-size:14px}.lib-item-meta{color:var(--text-mute);font-size:12px;margin-top:1px}.lib-del{position:absolute;right:8px;top:9px;border:0;background:transparent;color:var(--text-mute);cursor:pointer;opacity:0;padding:2px 5px;border-radius:5px}.lib-item:hover .lib-del{opacity:1}.lib-del:hover{color:var(--schwach);background:var(--panel)}.hero-titel{font-family:var(--serif);font-size:40px;line-height:1.15;margin:0 0 12px}.hero-titel em{color:var(--gold);font-style:normal}.hero-text{color:var(--text-dim);max-width:60ch;margin:0 0 28px}.schritt{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.schritt:last-child{border-bottom:0}.schritt-punkt{width:22px;height:22px;flex:0 0 22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;color:var(--text-mute)}.schritt.laeuft .schritt-punkt{border-color:var(--gold);color:var(--gold);animation:puls 1.4s ease-in-out infinite}.schritt.fertig .schritt-punkt{border-color:var(--gut);color:var(--gut)}.schritt.fehler .schritt-punkt{border-color:var(--schwach);color:var(--schwach)}.schritt-label{flex:1}.schritt.wartet .schritt-label{color:var(--text-mute)}.schritt-status{color:var(--text-mute);font-size:12.5px;max-width:46%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes puls{0%,to{opacity:1}50%{opacity:.35}}.fortschritt-kopf{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.laufzeit{color:var(--gold-soft);font-size:12.5px;font-variant-numeric:tabular-nums}.dossier-kopf{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.dossier-name{font-family:var(--serif);font-size:34px;margin:0 0 4px}.dossier-geboren{color:var(--text-dim);font-size:14px;margin-bottom:3px}.dossier-beruf{color:var(--gold);font-size:14.5px}.dossier-lead{color:var(--text-dim);margin:14px 0 0;max-width:68ch}.aktionen{display:flex;gap:8px;flex-wrap:wrap}.stamm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;margin-top:22px}.stamm-zelle{background:var(--panel);padding:15px 17px}.stamm-wert{font-size:18px;margin-top:5px;font-family:var(--serif)}.stamm-neben{color:var(--text-mute);font-size:12.5px;margin-top:3px}.ampel-box{margin-top:7px}.ampel-kopf{display:flex;align-items:center;gap:9px;width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:7px 10px;cursor:pointer;text-align:left}.ampel-kopf:hover{border-color:var(--gold)}.ampel-punkt{width:10px;height:10px;flex:0 0 10px;border-radius:50%;box-shadow:0 0 0 3px #ffffff0a}.ampel-punkt.gruen{background:#5fc98a}.ampel-punkt.gelb{background:#e0b640}.ampel-punkt.rot{background:#e0705c}.ampel-punkt.grau{background:#6b6862}.ampel-zeit{font-family:var(--serif);font-size:17px}.ampel-urteil{color:var(--text-dim);font-size:13px}.ampel-box.gruen .ampel-urteil{color:#7cd6a1}.ampel-box.gelb .ampel-urteil{color:#ecc76a}.ampel-box.rot .ampel-urteil{color:#ef8f7d}.ampel-rating{margin-left:auto;font-size:11px;letter-spacing:.6px;color:var(--text-mute);border:1px solid var(--line);border-radius:5px;padding:1px 6px}.ampel-pfeil{color:var(--text-mute);transition:transform .15s;font-size:17px;line-height:1}.ampel-pfeil.offen{transform:rotate(90deg)}.ampel-details{border:1px solid var(--line-soft);border-top:0;border-radius:0 0 9px 9px;margin:-4px 4px 0;padding:12px 13px;background:var(--bg-2);font-size:13px;color:var(--text-dim)}.ampel-details p{margin:4px 0 12px}.ampel-details p:last-child{margin-bottom:0}.ampel-erklaerung{color:var(--text)}.besonders{background:var(--panel);border:1px solid var(--line-soft);border-left:2px solid var(--gold);border-radius:var(--radius);padding:15px 18px;margin-bottom:12px}.besonders.skandale{border-left-color:#d96a6a}.besonders-kopf{display:flex;align-items:baseline;gap:9px}.besonders-titel{font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:650;color:var(--gold)}.besonders.skandale .besonders-titel{color:#e08a7d}.besonders-zahl{color:var(--text-mute);font-size:11.5px;border:1px solid var(--line);border-radius:999px;padding:0 8px}.meilenstein-liste{list-style:none;margin:11px 0 0;padding:0}.meilenstein-liste li{display:grid;grid-template-columns:106px 1fr auto;gap:12px;align-items:baseline;padding:7px 0 7px 12px;border-top:1px solid var(--line-soft);border-left:2px solid var(--akzent, var(--gold));margin-left:-12px}.meilenstein-liste li:first-child{border-top:0}.ms-datum{color:var(--text-dim);font-size:13px;font-variant-numeric:tabular-nums}.ms-titel{font-size:14.5px}.ms-alter{color:var(--text-mute);font-size:11.5px;white-space:nowrap}.station-karte.meilenstein{border-color:#d4af3773}.stern{color:var(--gold);margin-right:7px}.chip:disabled{opacity:.35;cursor:not-allowed}.chip:disabled:hover{border-color:var(--line)}.namen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.namen-haupt,.namen-variante{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:15px 17px}.namen-haupt{border-left:2px solid var(--gold)}.namen-wert{font-family:var(--serif);font-size:20px;margin-top:5px}.namen-wert.klein{font-size:17px}.namen-hinweis{color:var(--text-mute);font-size:12.5px;margin-top:5px}.eigenschaften{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.merkmal{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--text-dim)}.profil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.profil-karte{background:var(--panel);border:1px solid var(--line-soft);border-left:2px solid var(--akzent, var(--gold));border-radius:var(--radius);padding:15px 17px}.profil-karte-titel{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--akzent, var(--gold));font-weight:650}.profil-karte ul{margin:9px 0 0;padding-left:17px;color:var(--text-dim);font-size:14px}.profil-karte li{margin-bottom:6px}.profil-karte li:last-child{margin-bottom:0}.bild-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}.bild{margin:0;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:15px 17px}.bild p{margin:7px 0 0;color:var(--text-dim);font-size:14px}.mehr{margin-top:12px;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:0 17px}.mehr summary{cursor:pointer;padding:13px 0;color:var(--gold-soft);font-size:14px;list-style:none}.mehr summary::-webkit-details-marker{display:none}.mehr summary:before{content:"+ ";color:var(--text-mute)}.mehr[open] summary:before{content:"– "}.mehr .prosa{padding-bottom:15px;color:var(--text-dim);font-size:14px}.umschalter{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.umschalter button{border:0;background:transparent;padding:7px 13px;cursor:pointer;color:var(--text-dim);font-size:13.5px}.umschalter button.aktiv{background:var(--gold-dim);color:var(--gold-soft)}.chip-punkt{width:7px;height:7px;border-radius:50%;background:var(--akzent, var(--text-mute));display:inline-block}.chip-zahl{opacity:.55;margin-left:2px}.such-feld{width:180px;padding:6px 11px;margin-left:auto}.zeitstrahl{position:relative}.dekade{display:flex;align-items:center;gap:10px;margin:26px 0 12px;padding-left:2px}.dekade span{font-family:var(--serif);font-size:18px;color:var(--akzent, var(--gold-soft))}.dekade small{color:var(--text-mute);font-size:12px;border:1px solid var(--line);border-radius:999px;padding:1px 8px}.dekade:after{content:"";flex:1;height:1px;background:var(--line-soft)}.station{display:grid;grid-template-columns:92px 1fr;gap:16px;margin-bottom:10px}.station-marke{text-align:right;padding-top:13px;border-right:1px solid var(--line-soft);padding-right:14px;position:relative}.station-marke:after{content:"";position:absolute;right:-4px;top:20px;width:7px;height:7px;border-radius:50%;background:var(--akzent)}.station-jahr{display:block;font-family:var(--serif);font-size:19px}.station-tag{display:block;font-size:12.5px;color:var(--text-dim);font-variant-numeric:tabular-nums}.station-alter{display:block;font-size:11px;color:var(--text-mute);margin-top:3px}.station-karte{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:14px 16px;transition:border-color .15s}.station-karte:hover{border-color:var(--line)}.station-kopf{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.station-titel{margin:0;font-size:15.5px;font-weight:650}.pill{flex:0 0 auto;font-size:11.5px;border-radius:999px;padding:3px 9px;color:var(--akzent);border:1px solid color-mix(in srgb,var(--akzent) 35%,transparent);background:color-mix(in srgb,var(--akzent) 9%,transparent);white-space:nowrap}.station-text{margin:7px 0 0;color:var(--text-dim);font-size:14px}.station-fuss{display:flex;align-items:center;gap:9px;margin-top:11px;flex-wrap:wrap}.praezision{font-size:11.5px;color:var(--text-mute)}.praezision.tag{color:#7cd6a1}.praezision.monat{color:#ecc76a}.praezision.jahr{color:#ef8f7d}.praezision.unsicher{color:#ef8f7d;border:1px solid rgba(224,112,92,.35);border-radius:5px;padding:1px 7px}.beleg-btn{margin-left:auto;border:0;background:transparent;color:var(--text-mute);font-size:11.5px;cursor:pointer;padding:2px 0;text-decoration:underline;text-underline-offset:3px}.beleg-btn:hover{color:var(--gold-soft)}.station-beleg{margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft);color:var(--text-mute);font-size:12.5px}.abschnitt-titel{font-family:var(--serif);font-size:23px;margin:0 0 14px;display:flex;align-items:center;gap:10px}.abschnitt-titel:after{content:"";flex:1;height:1px;background:var(--line-soft)}.prosa p{margin:0 0 14px}.prosa p:last-child{margin-bottom:0}.werkzeuge{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:20px;position:sticky;top:0;background:linear-gradient(180deg,var(--bg) 70%,transparent);padding:10px 0 14px;z-index:5}.leer{color:var(--text-mute);text-align:center;padding:50px 20px}.leer-hinweis{background:var(--panel);border:1px solid var(--line-soft);border-left:2px solid var(--gold);border-radius:var(--radius);padding:18px 20px;margin-bottom:18px}.leer-hinweis p{margin:0 0 14px;color:var(--text-dim);max-width:68ch}.fehler{border:1px solid rgba(207,123,106,.4);background:#cf7b6a14;color:#f0b8ac;border-radius:10px;padding:13px 15px;margin-bottom:18px;font-size:14px}.hinweis{border-left:2px solid var(--gold);padding-left:14px;color:var(--text-dim);font-size:13.5px}.nur-druck{display:none}@media print{@page{margin:14mm 12mm}body{background:#fff;color:#111;font-size:9.5pt;line-height:1.42}.app{display:block;height:auto}.main{overflow:visible}.main-inner{max-width:none;padding:0}.nur-druck{display:block}.sidebar,.werkzeuge,.aktionen,.leer-hinweis,.beleg-btn,.ampel-kopf,.ampel-details,.lib-del{display:none!important}.card,.stamm-zelle,.station-karte,.profil-karte,.besonders,.namen-haupt,.namen-variante,.bild,.mehr{background:#fff;border-color:#d8d8d8;padding:8px 10px}.stamm-grid{background:#d8d8d8;margin-top:12px}.dossier-name,.abschnitt-titel,.dekade span,.namen-wert,.stamm-wert,.station-jahr{color:#111}.dossier-beruf,.besonders-titel,.profil-karte-titel{color:#7a6420}.dossier-geboren,.station-text,.profil-karte ul,.bild p,.dossier-lead,.namen-hinweis,.mehr .prosa{color:#333}.label,.ms-alter,.station-alter,.praezision,.besonders-zahl,.dekade small,.station-tag{color:#666}.hr{margin:14px 0;background:#ddd}.abschnitt-titel{font-size:15pt;margin:0 0 8px}.dossier-name{font-size:22pt}.station-titel{font-size:10.5pt}.namen-grid,.profil-grid,.bild-grid,.liste-grid{align-items:start}.namen-grid,.profil-grid{gap:8px}.mehr>summary{display:none}.mehr>div{display:block!important}.mehr .prosa{padding-bottom:0}.station,.besonders,.profil-karte,.namen-variante,.namen-haupt,.bild,.meilenstein-liste li{break-inside:avoid}.abschnitt-titel,.dekade{break-after:avoid}.station{margin-bottom:5px}.station-karte{padding:7px 10px}.station-marke{padding-top:7px}.eigenschaften{gap:4px;margin-bottom:10px}.merkmal{padding:2px 8px;font-size:8.5pt;border-color:#ddd;color:#333}.pill{border-color:#ddd;background:none}}@media (max-width: 900px){.app{grid-template-columns:1fr}.sidebar{display:none}.main-inner{padding:24px 18px 80px}.ereignis{grid-template-columns:1fr;gap:6px}}
