/* NorseStory · Königsfamilien & Persönlichkeiten · v1 */
.mp-page{--mp-board:#17120f;--mp-board-2:#211712;--mp-gold:#caa86d;--mp-red:#8f1b14;--mp-paper:#eadbc1}
.mp-hero .mg-hero-copy{max-width:720px}
.mp-hero h1{font-size:clamp(4.4rem,6.1vw,6.8rem)}
.mp-hero h1 em{display:block;color:#a92820;font-style:italic}
.mp-hero-visual{min-height:520px;position:relative}
.mp-hero-person{position:absolute;left:50%;top:50%;z-index:4;width:180px;height:180px;border-radius:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,rgba(144,82,35,.34),rgba(19,14,11,.96) 68%);border:1px solid rgba(202,168,109,.32);box-shadow:0 0 0 16px rgba(16,12,10,.36),0 22px 60px rgba(0,0,0,.35)}
.mp-hero-person:before{content:"";position:absolute;inset:18px;border:1px solid rgba(202,168,109,.16);border-radius:50%}
.mp-hero-person span{font-family:var(--serif);font-size:2.2rem;color:#dec18e;letter-spacing:.08em}.mp-hero-person small{font-family:var(--serif);color:#bda57b;font-size:1.05rem}
.mp-hero-network{position:absolute;inset:0;width:100%;height:100%}.mp-hero-network path{fill:none;stroke:url(#mpLineGold);stroke-width:1.1;opacity:.75}.mp-hero-network rect{fill:#15110e;stroke:#c39c5e;stroke-width:1.2}
.mp-name-dk{left:9%;top:25%}.mp-name-eng{right:3%;top:26%}.mp-name-no{right:2%;bottom:21%}.mp-name-emma{left:8%;bottom:21%}
.mp-intro{padding-bottom:110px}
.mp-stage{position:relative;padding:110px 0 130px;background:radial-gradient(circle at 50% 0,rgba(91,46,22,.13),transparent 36%),#0e0c0a;color:#eadcc4;border-top:1px solid rgba(202,168,109,.2)}
.mp-section-head{max-width:850px;margin-bottom:48px}.mp-section-head h2{color:#ead8b7}.mp-section-head p:last-child{color:#b8a58c;max-width:760px}
.mp-app{display:grid;grid-template-columns:270px minmax(0,1fr) 330px;min-height:760px;border:1px solid rgba(202,168,109,.26);background:#120e0c;box-shadow:0 28px 70px rgba(0,0,0,.28);overflow:hidden}
.mp-control-board,.mp-info-board{background:linear-gradient(180deg,#1d1511,#100d0b);position:relative}.mp-control-board{border-right:1px solid rgba(202,168,109,.2);padding:26px 22px}.mp-info-board{border-left:1px solid rgba(202,168,109,.2)}
.mp-board-heading{border-bottom:1px solid rgba(202,168,109,.18);padding:0 0 20px;margin-bottom:22px}.mp-board-heading span,.mp-board-label,.mp-search-label,.mp-main-topline span,.mp-info-heading,.mp-info-kicker{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;color:#a88656;font-weight:700}.mp-board-heading strong{display:block;margin-top:4px;font-family:var(--serif);font-size:1.5rem;color:#e4cfaa;font-weight:500}
.mp-search-label{margin-bottom:8px}.mp-search-wrap{position:relative}.mp-search-wrap input{width:100%;border:1px solid rgba(202,168,109,.28);background:#0c0a09;color:#eadbc1;padding:13px 38px 13px 13px;outline:none}.mp-search-wrap input:focus{border-color:#b49055;box-shadow:0 0 0 2px rgba(180,144,85,.08)}.mp-search-wrap span{position:absolute;right:13px;top:9px;color:#b49159;font-size:1.2rem}
.mp-view-switch{display:grid;grid-template-columns:1fr 1fr;margin:18px 0 25px;border:1px solid rgba(202,168,109,.2)}.mp-view-switch button{border:0;background:#130f0c;color:#947f65;padding:11px 8px;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;cursor:pointer}.mp-view-switch button+button{border-left:1px solid rgba(202,168,109,.2)}.mp-view-switch button.is-active{background:#722019;color:#f0dfbf}
.mp-board-label{margin:0 0 9px}.mp-region-list{display:grid;gap:4px}.mp-region-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;border:1px solid transparent;background:transparent;color:#cbb99e;text-align:left;cursor:pointer}.mp-region-list button:hover,.mp-region-list button.is-active{background:rgba(202,168,109,.07);border-color:rgba(202,168,109,.19);color:#f1e0c2}.mp-region-list b{font-weight:500;color:#9d8257;font-size:.72rem}.mp-reset{margin-top:22px;width:100%;border:1px solid rgba(202,168,109,.22);background:transparent;color:#ad9675;padding:10px;cursor:pointer;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.mp-main{min-width:0;padding:28px;background:radial-gradient(circle at 50% 10%,rgba(126,77,37,.09),transparent 38%),#0d0b0a}.mp-main-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:23px;border-bottom:1px solid rgba(202,168,109,.16);margin-bottom:24px}.mp-main-topline h3{font-family:var(--serif);font-size:2.15rem;font-weight:500;color:#ead6b3;margin:2px 0 0}.mp-main-topline p{margin:0;color:#786b5b;font-size:.8rem}.mp-main-topline p b{color:#be9c65;font-size:1rem}
.mp-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mp-region-card{min-height:145px;position:relative;display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:18px;padding:20px;border:1px solid rgba(202,168,109,.17);background:linear-gradient(135deg,rgba(40,27,20,.85),rgba(19,14,11,.9));color:#ead9bc;text-align:left;cursor:pointer;overflow:hidden;transition:.2s ease}.mp-region-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#832018;transform:scaleY(0);transition:.2s}.mp-region-card:hover{transform:translateY(-2px);border-color:rgba(202,168,109,.42);background:linear-gradient(135deg,rgba(54,34,23,.9),rgba(22,16,12,.96))}.mp-region-card:hover:after{transform:scaleY(1)}.mp-region-card-copy{display:flex;flex-direction:column}.mp-region-card small{color:#9c8059;text-transform:uppercase;letter-spacing:.12em;font-size:.61rem}.mp-region-card strong{font-family:var(--serif);font-weight:500;font-size:1.55rem;margin:1px 0 5px}.mp-region-card em{font-style:normal;color:#877762;font-size:.75rem;line-height:1.45}.mp-region-card>b{font-size:1.15rem;color:#ac8c5c;font-weight:400}
.mp-flag{width:70px;height:48px;display:block;position:relative;overflow:hidden;border:1px solid rgba(235,215,181,.18);box-shadow:0 8px 18px rgba(0,0,0,.25);background:#35251b}.mp-flag-dk{background:linear-gradient(#a61c25,#a61c25)}.mp-flag-dk:before{content:"";position:absolute;left:21px;top:0;width:8px;height:100%;background:#f6f0e4}.mp-flag-dk:after{content:"";position:absolute;left:0;top:20px;width:100%;height:8px;background:#f6f0e4}.mp-flag-no{background:#ba0c2f}.mp-flag-no:before,.mp-flag-no:after,.mp-flag-is:before,.mp-flag-is:after{content:"";position:absolute;background:#fff}.mp-flag-no:before{left:20px;width:12px;height:100%}.mp-flag-no:after{top:18px;width:100%;height:12px}.mp-flag-no i{position:absolute;z-index:2;left:23px;top:0;width:6px;height:100%;background:#00205b}.mp-flag-no i:after{content:"";position:absolute;left:-23px;top:21px;width:70px;height:6px;background:#00205b}.mp-flag-se{background:#006aa7}.mp-flag-se:before{content:"";position:absolute;left:21px;top:0;width:9px;height:100%;background:#fecc00}.mp-flag-se:after{content:"";position:absolute;left:0;top:20px;width:100%;height:9px;background:#fecc00}.mp-flag-gb-eng{background:#fff}.mp-flag-gb-eng:before{content:"";position:absolute;left:29px;top:0;width:12px;height:100%;background:#ce1124}.mp-flag-gb-eng:after{content:"";position:absolute;left:0;top:18px;width:100%;height:12px;background:#ce1124}.mp-flag-ie{background:linear-gradient(90deg,#169b62 0 33.333%,#fff 33.333% 66.666%,#ff883e 66.666%)}.mp-flag-is{background:#02529c}.mp-flag-is:before{left:20px;width:12px;height:100%}.mp-flag-is:after{top:18px;width:100%;height:12px}.mp-flag-is i{position:absolute;z-index:2;left:23px;top:0;width:6px;height:100%;background:#dc1e35}.mp-flag-is i:after{content:"";position:absolute;left:-23px;top:21px;width:70px;height:6px;background:#dc1e35}.mp-flag-rus,.mp-flag-north,.mp-flag-baltic,.mp-flag-normandy,.mp-flag-heroic{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 45% 40%,#5d3c22,#1c1410);border-color:#8e7044}.mp-flag-rus:after{content:"РУСЬ"}.mp-flag-north:after{content:"NORD"}.mp-flag-baltic:after{content:"OST"}.mp-flag-normandy:after{content:"NORM"}.mp-flag-heroic:after{content:"SAGA"}.mp-flag-rus:after,.mp-flag-north:after,.mp-flag-baltic:after,.mp-flag-normandy:after,.mp-flag-heroic:after{font-family:var(--serif);letter-spacing:.11em;color:#d7b77f;font-size:.82rem}
.mp-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mp-person-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border:1px solid rgba(202,168,109,.14);background:#15100d;color:#d8c5a8;cursor:pointer;text-align:left;transition:.18s}.mp-person-card:hover{border-color:rgba(202,168,109,.4);background:#1c1410}.mp-person-card strong{display:block;font-family:var(--serif);font-size:1.2rem;font-weight:500;color:#ead8b9}.mp-person-card small{display:block;color:#806f5b;font-size:.7rem;margin-top:2px}.mp-person-card>b{font-weight:400;color:#a98b5b}.mp-empty{padding:70px 20px;text-align:center;color:#8f7a60}.mp-empty strong{display:block;font-family:var(--serif);font-size:1.5rem;color:#d3ba91}.mp-empty span{display:block;margin-top:6px}
.mp-info-heading{padding:20px 24px;border-bottom:1px solid rgba(202,168,109,.18)}.mp-info-empty-state{min-height:680px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:38px;color:#806e59}.mp-info-mark{font-size:2rem;color:#9d7b48}.mp-info-empty-state p{text-transform:uppercase;letter-spacing:.16em;font-size:.65rem}.mp-info-empty-state strong{font-family:var(--serif);font-size:1.45rem;color:#d7c09b;font-weight:500;max-width:240px}.mp-info-empty-state small{max-width:245px;margin-top:9px}.mp-info-content{padding:22px 24px}.mp-info-close{display:block;margin-left:auto;border:0;background:transparent;color:#856e54;cursor:pointer;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.mp-info-kicker{margin:25px 0 5px}.mp-info-content h3{font-family:var(--serif);font-size:2.1rem;line-height:1.05;color:#ead4ad;font-weight:500;margin:0}.mp-info-rule{height:1px;background:linear-gradient(90deg,#8f1b14,rgba(202,168,109,.2),transparent);margin:18px 0}.mp-info-content dl{margin:0}.mp-info-content dl>div{padding:10px 0;border-bottom:1px solid rgba(202,168,109,.1)}.mp-info-content dt{text-transform:uppercase;letter-spacing:.12em;color:#816a4d;font-size:.6rem}.mp-info-content dd{margin:3px 0 0;color:#cbb99d;font-family:var(--serif);font-size:1rem}.mp-info-relations{margin-top:24px}.mp-info-relations-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:9px;border-bottom:1px solid rgba(202,168,109,.17);text-transform:uppercase;letter-spacing:.09em;font-size:.62rem;color:#a88959}.mp-info-relations-head b{font-size:.72rem}.mp-info-relations-list{display:grid;gap:7px;margin-top:11px}.mp-rel-button{display:block;width:100%;border:1px solid rgba(202,168,109,.11);background:#120e0c;padding:9px 10px;color:#c6b294;text-align:left;cursor:pointer}.mp-rel-button:hover{border-color:rgba(202,168,109,.34)}.mp-rel-button small{display:block;color:#7e6a53;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.mp-rel-button strong{font-family:var(--serif);font-weight:500;font-size:1rem}
.mp-mobile-development{display:none}.mp-closing{background:#efe2ca}
@media(max-width:1280px){.mp-app{grid-template-columns:235px minmax(0,1fr) 295px}.mp-main{padding:22px}.mp-region-grid{gap:10px}.mp-region-card{grid-template-columns:58px 1fr auto;padding:16px;gap:13px}.mp-flag{width:56px;height:38px}.mp-person-grid{grid-template-columns:1fr}}
@media(max-width:980px){.mp-stage{padding:70px 0 90px}.mp-app{display:none!important}.mp-mobile-development{display:block;border:1px solid rgba(202,168,109,.28);background:linear-gradient(180deg,#18120f,#0f0c0a);padding:28px}.mp-mobile-development-inner{text-align:center;max-width:650px;margin:0 auto;padding:42px 18px}.mp-mobile-pennant span{display:inline-block;background:#7f1712;color:#f1dfbe;padding:8px 18px;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem}.mp-mobile-rune{font-size:2rem;color:#ae8c58;margin:22px 0 4px}.mp-mobile-salutation{font-family:var(--serif);font-size:1.2rem;color:#c9ae81}.mp-mobile-development h3{font-family:var(--serif);font-size:2.2rem;line-height:1.05;color:#ead6b4;margin:6px 0 15px}.mp-mobile-development p:not(.mp-mobile-salutation){color:#a79378}.mp-mobile-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:25px}.mp-mobile-actions .button{min-height:44px;padding:0 17px;font-size:.72rem}.mp-hero-visual{display:none}.mp-hero .mg-hero-copy{max-width:100%}}

html{scroll-behavior:smooth}
#entdecken{scroll-margin-top:92px}
.mp-hero-button,.mg-principle-card{cursor:pointer}

/* v2 · lebendes Personengeflecht */
.mp-trace-box{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(202,168,109,.16)}
.mp-trace-list{display:grid;gap:3px;margin-top:9px}.mp-trace-list button{display:grid;grid-template-columns:22px 1fr;gap:7px;align-items:center;border:0;background:transparent;color:#b9a486;text-align:left;padding:5px 3px;cursor:pointer;font-family:var(--serif);font-size:.88rem}.mp-trace-list button:hover{color:#f0dcb8}.mp-trace-list button span{display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(202,168,109,.28);color:#9c7d4e;font-family:var(--sans);font-size:.55rem}
.mp-journey{display:block!important;position:relative;padding:8px 6px 90px}.mp-journey:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(#9b713a,rgba(202,168,109,.25) 70%,transparent)}
.mp-journey-node{position:relative;max-width:760px;margin:0 auto;padding:0 0 74px;animation:mpJourneyIn .45s ease both}.mp-journey-node+.mp-journey-node{padding-top:38px}.mp-journey-spine{position:relative;height:30px}.mp-journey-spine span{position:absolute;left:50%;top:7px;width:13px;height:13px;background:#0d0b0a;border:1px solid #b78b4e;transform:translateX(-50%) rotate(45deg);box-shadow:0 0 0 6px #0d0b0a}
.mp-journey-person{position:relative;z-index:2;width:min(460px,80%);margin:0 auto;padding:24px 28px;text-align:center;border:1px solid rgba(202,168,109,.28);background:radial-gradient(circle at 50% 0,rgba(118,66,31,.22),transparent 55%),#17110e;box-shadow:0 18px 45px rgba(0,0,0,.22)}.mp-journey-person:before,.mp-journey-person:after{content:"";position:absolute;top:50%;width:54px;height:1px;background:linear-gradient(90deg,transparent,#9c713c)}.mp-journey-person:before{right:100%}.mp-journey-person:after{left:100%;transform:scaleX(-1)}.mp-journey-person>small,.mp-choice-label{text-transform:uppercase;letter-spacing:.16em;color:#967747;font-size:.61rem;font-weight:700}.mp-journey-person h4{font-family:var(--serif);font-size:2rem;line-height:1.05;color:#f0d9b2;font-weight:500;margin:5px 0 12px}.mp-journey-person p{margin:11px 0 0;color:#8d7a62;font-size:.75rem}.mp-journey-regions,.mp-info-pennants,.mp-rel-flags{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}
.mp-journey-incoming{display:table!important;margin:0 auto 10px!important;position:relative;z-index:3}
.mp-journey-choices{position:relative;z-index:2;margin:24px auto 0;max-width:700px;text-align:center}.mp-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.mp-choice{position:relative;min-height:105px;border:1px solid rgba(202,168,109,.16);background:#120e0c;color:#d5c09f;text-align:left;padding:15px 38px 13px 15px;cursor:pointer;transition:.18s ease;overflow:hidden}.mp-choice:hover{transform:translateY(-2px);border-color:rgba(202,168,109,.42);background:#1a120e}.mp-choice strong{display:block;font-family:var(--serif);font-size:1.08rem;font-weight:500;color:#ead5b1;margin-top:10px}.mp-choice small{display:block;color:#776956;margin-top:3px}.mp-choice>b{position:absolute;right:15px;bottom:13px;color:#b28a50;font-size:1.05rem;font-weight:400}
.mp-pennant{--pen:#6d5540;position:relative;display:inline-block;padding:5px 16px 5px 9px;background:var(--pen);color:#fff!important;font-family:var(--sans)!important;font-style:normal!important;font-size:.58rem!important;font-weight:700!important;line-height:1!important;letter-spacing:.07em!important;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%)}.mp-pennant-family{--pen:#a33a2e}.mp-pennant-politics{--pen:#687a54}.mp-pennant-contact{--pen:#4e7b79}.mp-pennant-tradition{--pen:#765c7d}.mp-pennant-evidence{--pen:#746c64}.mp-pennant-region{--pen:#8a6945}.mp-region-dk{--pen:#9a332b}.mp-region-no{--pen:#596f84}.mp-region-se{--pen:#a57c2e}.mp-region-eng{--pen:#6b6f83}.mp-region-rus{--pen:#6d5b82}.mp-region-ie{--pen:#507563}.mp-region-is{--pen:#496f85}.mp-region-norm{--pen:#806247}.mp-region-other{--pen:#7c684d}
.mp-info-content{padding:24px 26px 30px}.mp-info-content h3{font-size:2.35rem}.mp-info-content dl>div{padding:13px 0}.mp-info-pennants{justify-content:flex-start!important;margin-top:7px!important}.mp-info-relations-head{margin-top:4px}.mp-info-relations-list{gap:10px}.mp-rel-button{position:relative;padding:13px 14px 12px;border-color:rgba(202,168,109,.15);background:linear-gradient(135deg,#15100d,#100d0b);transition:.18s ease}.mp-rel-button:hover{transform:translateX(-3px);border-color:rgba(202,168,109,.4);background:#1b130f}.mp-rel-button .mp-rel-flags{justify-content:flex-start;margin-bottom:9px}.mp-rel-button strong{display:block;font-size:1.08rem;color:#ead3ae}.mp-rel-button em{display:block;margin-top:7px;color:#8e7657;font-size:.61rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.mp-rel-button:hover em{color:#caa86d}
@keyframes mpJourneyIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1280px){.mp-choice-grid{grid-template-columns:1fr}.mp-journey-person{width:86%}.mp-info-content{padding-left:20px;padding-right:20px}}

/* v2.1 – klarere Familienrelationen */
.mp-pennant-parent{--pen:#5d7897}
.mp-pennant-partner{--pen:#a44758}
.mp-pennant-child{--pen:#b18336}
.mp-rel-parent{border-left:3px solid #5d7897}
.mp-rel-partner{border-left:3px solid #a44758}
.mp-rel-child{border-left:3px solid #b18336}
.mp-choice-parent{box-shadow:inset 3px 0 0 #5d7897}
.mp-choice-partner{box-shadow:inset 3px 0 0 #a44758}
.mp-choice-child{box-shadow:inset 3px 0 0 #b18336}

/* v2.1 – alle Gebiete erhalten eine echte Bannerfläche statt Textplaketten. */
.mp-flag-rus,.mp-flag-north,.mp-flag-baltic,.mp-flag-normandy,.mp-flag-heroic{
  display:block;position:relative;overflow:hidden;border-color:rgba(235,215,181,.2);font-size:0;
}
.mp-flag-rus:after,.mp-flag-north:after,.mp-flag-baltic:after,.mp-flag-normandy:after,.mp-flag-heroic:after{content:""}
/* Rus: bewusst historisierendes Gebietsbanner, keine moderne Nationalflagge. */
.mp-flag-rus{background:linear-gradient(180deg,#315d8a 0 52%,#c49a42 52% 100%)}
.mp-flag-rus:before{content:"";position:absolute;left:31px;top:8px;width:8px;height:31px;border-left:3px solid #f1d27c;border-right:3px solid #f1d27c;transform:skew(-8deg)}
.mp-flag-rus i{position:absolute;left:25px;top:8px;width:20px;height:14px;border-top:3px solid #f1d27c;border-radius:50%}
/* Nordatlantik: nordisches Kreuz als Sammelbanner der Inselwelten. */
.mp-flag-north{background:#1e5d68}
.mp-flag-north:before{content:"";position:absolute;left:22px;top:0;width:8px;height:100%;background:#e1cfaa}
.mp-flag-north:after{content:"";position:absolute;left:0;top:20px;width:100%;height:8px;background:#e1cfaa}
.mp-flag-north i{position:absolute;z-index:2;left:25px;top:0;width:3px;height:100%;background:#9a3b31}
.mp-flag-north i:after{content:"";position:absolute;left:-25px;top:23px;width:70px;height:3px;background:#9a3b31}
/* Frankenreich & Ostsee: zweigeteiltes historisierendes Verbundbanner. */
.mp-flag-baltic{background:linear-gradient(90deg,#304a73 0 50%,#7d2b26 50% 100%)}
.mp-flag-baltic:before{content:"";position:absolute;left:31px;top:0;width:7px;height:100%;background:#c8a75f}
.mp-flag-baltic:after{content:"";position:absolute;left:0;top:20px;width:100%;height:7px;background:#c8a75f}
/* Normandie: rotes Feld mit zwei goldenen heraldischen Zeichen. */
.mp-flag-normandy{background:#9d2826}
.mp-flag-normandy:before{content:"✦  ✦";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#e0b957;font-size:17px;letter-spacing:8px;text-shadow:0 1px 0 rgba(0,0,0,.3)}
/* Heroische Überlieferung: bewusst als Traditionsbanner, nicht als Landesflagge. */
.mp-flag-heroic{background:linear-gradient(135deg,#3b263d 0 50%,#6f3847 50% 100%)}
.mp-flag-heroic:before{content:"◇";position:absolute;inset:0;display:grid;place-items:center;color:#d7b26b;font-size:24px;transform:rotate(45deg)}

/* v3 · genealogische Linien statt Datenbankansicht */
.mp-region-card-copy em{
  font-size:.9rem;
  line-height:1.55;
  color:#ab9678;
  max-width:31ch;
}
.mp-region-card-copy strong{margin-bottom:7px}

.mp-region-list button{padding:8px 8px}
.mp-region-list-name{display:flex;align-items:center;gap:10px;min-width:0}
.mp-region-list-name>span{white-space:normal;line-height:1.2}
.mp-mini-flag{
  flex:0 0 auto!important;
  width:24px!important;
  height:16px!important;
  min-width:24px!important;
  box-shadow:none!important;
  border-color:rgba(235,215,181,.2)!important;
}
.mp-mini-flag.mp-flag-dk:before{left:7px;width:3px}.mp-mini-flag.mp-flag-dk:after{top:6px;height:3px}
.mp-mini-flag.mp-flag-no:before,.mp-mini-flag.mp-flag-is:before{left:7px;width:4px}.mp-mini-flag.mp-flag-no:after,.mp-mini-flag.mp-flag-is:after{top:5px;height:4px}
.mp-mini-flag.mp-flag-no i,.mp-mini-flag.mp-flag-is i{left:8px;width:2px}.mp-mini-flag.mp-flag-no i:after,.mp-mini-flag.mp-flag-is i:after{left:-8px;top:6px;width:24px;height:2px}
.mp-mini-flag.mp-flag-se:before{left:7px;width:3px}.mp-mini-flag.mp-flag-se:after{top:6px;height:3px}
.mp-mini-flag.mp-flag-gb-eng:before{left:10px;width:4px}.mp-mini-flag.mp-flag-gb-eng:after{top:5px;height:4px}
.mp-mini-flag.mp-flag-rus:before{left:10px;top:2px;width:3px;height:11px;border-width:0 1px;transform:skew(-8deg)}
.mp-mini-flag.mp-flag-rus i{left:8px;top:2px;width:7px;height:5px;border-top-width:1px}
.mp-mini-flag.mp-flag-north:before{left:8px;width:3px}.mp-mini-flag.mp-flag-north:after{top:6px;height:3px}.mp-mini-flag.mp-flag-north i{left:9px;width:1px}.mp-mini-flag.mp-flag-north i:after{left:-9px;top:7px;width:24px;height:1px}
.mp-mini-flag.mp-flag-baltic:before{left:10px;width:2px}.mp-mini-flag.mp-flag-baltic:after{top:6px;height:2px}
.mp-mini-flag.mp-flag-normandy:before{font-size:8px;letter-spacing:2px}
.mp-mini-flag.mp-flag-heroic:before{font-size:10px}

.mp-lineage{
  display:block!important;
  position:relative;
  padding:8px 0 88px;
  overflow:visible;
}
.mp-lineage:before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:50px;
  width:1px;
  background:linear-gradient(180deg,rgba(190,146,78,.72),rgba(190,146,78,.18) 82%,transparent);
  pointer-events:none;
}
.mp-lineage-station{
  position:relative;
  z-index:2;
  margin:0 auto;
  padding:0 0 12px;
}
.mp-lineage-rail{height:38px;position:relative}
.mp-lineage-rail span{
  position:absolute;
  left:50%;
  top:10px;
  width:13px;
  height:13px;
  transform:translateX(-50%) rotate(45deg);
  border:1px solid #b78b4e;
  background:#0d0b0a;
  box-shadow:0 0 0 7px #0d0b0a;
}
.mp-lineage-family-head{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:12px;
  position:relative;
  z-index:3;
}
.mp-tree-person-card{
  border:1px solid rgba(202,168,109,.28);
  background:radial-gradient(circle at 50% 0,rgba(122,72,34,.2),transparent 58%),#17110e;
  color:#ead6b3;
  min-height:156px;
  padding:22px 28px;
  text-align:center;
  cursor:pointer;
  transition:.18s ease;
}
.mp-tree-primary{width:min(470px,62%)}
.mp-tree-person-card:hover,.mp-tree-person-card.is-selected{
  border-color:rgba(225,184,112,.62);
  box-shadow:0 14px 38px rgba(0,0,0,.24),inset 0 0 0 1px rgba(203,157,85,.12);
  transform:translateY(-2px);
}
.mp-tree-person-card>small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.59rem;
  color:#987744;
  font-weight:700;
}
.mp-tree-person-card>strong{
  display:block;
  font-family:var(--serif);
  font-size:2rem;
  line-height:1.08;
  font-weight:500;
  margin:7px 0 12px;
}
.mp-tree-person-card>em{
  display:block;
  margin-top:12px;
  color:#88755e;
  font-style:normal;
  font-size:.73rem;
}
.mp-tree-regions{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}

.mp-attached-people{
  width:min(245px,32%);
  border:1px solid rgba(202,168,109,.14);
  background:#110d0b;
  padding:11px;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.mp-attached-label{
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#8e7046;
  font-size:.55rem;
  font-weight:700;
  padding:2px 2px 4px;
}
.mp-attached-card{
  border:1px solid rgba(202,168,109,.12);
  background:#17110e;
  color:#d6c09d;
  padding:10px;
  text-align:left;
  cursor:pointer;
  transition:.18s ease;
}
.mp-attached-card:hover{border-color:rgba(202,168,109,.42);transform:translateX(2px)}
.mp-attached-card strong{display:block;font-family:var(--serif);font-size:.98rem;font-weight:500;margin-top:7px}

.mp-lineage-children{
  position:relative;
  z-index:2;
  margin:0 auto 26px;
  padding-top:18px;
}
.mp-lineage-connector{height:38px;position:relative}
.mp-lineage-connector:before{
  content:"";
  position:absolute;
  left:50%;top:0;bottom:9px;
  width:1px;background:#9b713a;
}
.mp-lineage-connector span{
  position:absolute;
  left:15%;right:15%;bottom:9px;height:1px;
  background:linear-gradient(90deg,transparent,#886437 10%,#886437 90%,transparent);
}
.mp-children-title{text-align:center;margin:0 0 14px}
.mp-children-title>span{
  display:block;
  color:#b9955c;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.64rem;
  font-weight:700;
}
.mp-children-title small{display:block;color:#756652;margin-top:5px;font-size:.72rem}
.mp-children-grid{
  display:grid;
  grid-template-columns:repeat(var(--children),minmax(145px,1fr));
  gap:10px;
  align-items:stretch;
}
.mp-child-card{
  position:relative;
  min-width:0;
  min-height:138px;
  border:1px solid rgba(202,168,109,.15);
  border-top:2px solid #b18336;
  background:linear-gradient(180deg,#17110e,#110d0b);
  color:#d8c3a0;
  text-align:left;
  padding:15px 13px 13px;
  cursor:pointer;
  transition:.18s ease;
}
.mp-child-card:before{
  content:"";
  position:absolute;
  left:50%;top:-20px;width:1px;height:18px;background:#886437;
}
.mp-child-card:hover,.mp-child-card.is-active{
  transform:translateY(-3px);
  border-color:rgba(213,171,97,.55);
  box-shadow:0 14px 30px rgba(0,0,0,.2);
  background:#1b130f;
}
.mp-child-card strong{
  display:block;
  font-family:var(--serif);
  font-size:1.08rem;
  line-height:1.12;
  font-weight:500;
  color:#ead4af;
  margin:11px 0 7px;
}
.mp-child-card>span{display:block;color:#88755d;font-size:.69rem;line-height:1.35;min-height:1.8em}
.mp-child-card>em{display:block;margin-top:11px;color:#b18a50;font-size:.57rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em}

.mp-lineage-end{
  border:1px dashed rgba(202,168,109,.16);
  background:rgba(20,15,12,.55);
  padding:22px;
  text-align:center;
  max-width:620px;
  margin-top:18px;
}
.mp-tree-end-mark{color:#ac8349;font-size:1.25rem}.mp-lineage-end p{font-family:var(--serif);font-size:1.06rem;color:#cfb894;margin:5px 0}.mp-lineage-end span{font-size:.72rem;color:#796a57}

.mp-other-lines{
  position:relative;
  z-index:3;
  margin:50px 0 0;
  padding:22px;
  border-top:1px solid rgba(202,168,109,.22);
  background:linear-gradient(180deg,rgba(30,21,16,.65),rgba(15,12,10,.2));
}
.mp-other-lines>div:first-child span{text-transform:uppercase;letter-spacing:.14em;color:#a78350;font-size:.62rem;font-weight:700}.mp-other-lines>div:first-child p{margin:6px 0 15px;color:#81705b;font-size:.75rem}
.mp-other-line-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mp-other-line-buttons button{display:flex;justify-content:space-between;gap:12px;border:1px solid rgba(202,168,109,.14);background:#120e0c;color:#d5c09e;padding:10px 12px;text-align:left;cursor:pointer;font-family:var(--serif);font-size:.92rem}.mp-other-line-buttons button:hover{border-color:rgba(202,168,109,.4)}.mp-other-line-buttons b{color:#aa854e;font-weight:400}

/* Rechte Seitenleiste: klarer, farbiger, lesbarer. */
.mp-info-board{min-width:0}
.mp-info-heading{font-size:.65rem;letter-spacing:.15em}
.mp-info-content{padding:27px 26px 34px}
.mp-info-content h3{font-size:2.45rem;line-height:1.02;margin-top:4px}
.mp-info-content dl dt{font-size:.58rem;letter-spacing:.13em}
.mp-info-content dl dd{font-size:.9rem;color:#cfb896}
.mp-info-relations-head span{font-size:.63rem;letter-spacing:.12em}
.mp-rel-button{min-height:95px}
.mp-rel-button strong{font-size:1.15rem;line-height:1.12}
.mp-rel-button em{font-size:.62rem;margin-top:9px}

@media(max-width:1450px){
  .mp-children-grid{grid-template-columns:repeat(min(var(--children),3),minmax(155px,1fr))}
  .mp-lineage-family-head{flex-direction:column;align-items:center}
  .mp-tree-primary{width:min(520px,88%)}
  .mp-attached-people{width:min(520px,88%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .mp-attached-label{grid-column:1/-1}
}
@media(max-width:1180px){
  .mp-children-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}
  .mp-region-card-copy em{font-size:.82rem}
}

/* v4 · echter genealogischer Aufbau, Entdeckungszähler und eindeutige Expansion */
.mp-main-counters{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:190px}
.mp-inventory-counter{margin:0!important;color:#8e7960!important;font-size:.72rem!important}
.mp-discovery-counter{margin:0;display:flex;align-items:baseline;gap:6px;text-transform:uppercase;letter-spacing:.11em;color:#8f7758;font-size:.57rem;font-weight:700}
.mp-discovery-counter strong{font-family:var(--serif);font-size:1.5rem;line-height:1;color:#e1bd79;font-weight:500;letter-spacing:0}
.mp-discovery-counter em{font-style:normal;color:#6f5f4d}.mp-discovery-counter i{font-style:normal;color:#b49a73;font-size:.78rem;letter-spacing:0}
.mp-discovery-counter.is-counting strong{animation:mpCounterPulse .65s ease}
@keyframes mpCounterPulse{0%{transform:scale(1);text-shadow:none}42%{transform:scale(1.25);text-shadow:0 0 18px rgba(219,174,95,.55)}100%{transform:scale(1);text-shadow:none}}

.mp-region-card-copy em{font-size:.96rem!important;line-height:1.5!important;color:#c0aa88!important;max-width:34ch!important}
.mp-region-card-copy strong{font-size:1.65rem!important;line-height:1.15!important}

.mp-family-tree{display:block!important;overflow:visible!important;padding:8px 0 82px!important}
.mp-tree-canvas{position:relative;min-width:0;padding:10px 0 36px}
.mp-tree-branch{position:relative;min-width:0;text-align:center}
.mp-tree-branch>.mp-tree-node-wrap{position:relative;display:flex;justify-content:center;align-items:stretch;gap:10px;margin:0 auto;z-index:3}
.mp-tree-branch>.mp-tree-node-wrap:before{content:"";position:absolute;left:50%;top:-28px;width:1px;height:28px;background:#8f6938;z-index:-1}
.mp-tree-canvas>.mp-tree-branch>.mp-tree-node-wrap:before{display:none}
.mp-tree-person-card{width:min(390px,92%);min-height:146px;padding:20px 22px!important}
.mp-tree-person-card>strong{font-size:1.7rem!important}
.mp-tree-person-card.is-selected{border-color:#d3a65d!important;box-shadow:0 0 0 1px rgba(211,166,93,.15),0 18px 38px rgba(0,0,0,.3)!important}

.mp-tree-partners{width:220px;display:flex;flex-direction:column;gap:7px;text-align:left}
.mp-tree-partner{border:1px solid rgba(202,168,109,.15);border-left:3px solid #bd5266;background:#130f0d;color:#d6c09d;padding:10px 11px;cursor:pointer;text-align:left;transition:.18s ease}
.mp-tree-partner:hover{transform:translateX(3px);border-color:rgba(216,119,137,.5)}
.mp-tree-partner strong{display:block;font-family:var(--serif);font-size:.96rem;font-weight:500;margin:7px 0 4px}.mp-tree-partner span{font-size:.56rem;color:#a78158;text-transform:uppercase;letter-spacing:.08em}

.mp-tree-expand{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:3px;margin:13px auto 28px;padding:8px 17px 9px;border:1px solid rgba(203,159,88,.25);background:#15100d;color:#ba955c;cursor:pointer;z-index:4;transition:.18s ease}
.mp-tree-expand:before{content:"";position:absolute;left:50%;top:-14px;width:1px;height:13px;background:#8f6938}
.mp-tree-expand span{font-size:.55rem;text-transform:uppercase;letter-spacing:.13em;color:#8d7049}.mp-tree-expand strong{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.mp-tree-expand:hover{border-color:#bd8f4d;color:#e0bd7a;transform:translateY(1px)}
.mp-tree-expand.is-open{background:#1c1712;border-color:rgba(145,117,74,.24);color:#81705b;cursor:default}
.mp-tree-expand.is-open strong{color:#8d7b62}.mp-tree-expand.is-open:hover{transform:none}
.mp-tree-leaf{position:relative;margin:10px auto 28px;color:#6e604e;font-size:.56rem;text-transform:uppercase;letter-spacing:.12em}.mp-tree-leaf:before{content:"◇";display:block;color:#947344;font-size:1rem;margin-bottom:4px}

.mp-tree-children{position:relative;display:grid;grid-template-columns:repeat(var(--child-count),minmax(185px,1fr));gap:14px;align-items:start;margin:0 auto 12px;padding:34px 0 0;min-width:0}
.mp-tree-children:before{content:"";position:absolute;left:7%;right:7%;top:15px;height:1px;background:linear-gradient(90deg,transparent,#8c6535 5%,#8c6535 95%,transparent)}
.mp-tree-children:after{content:"";position:absolute;left:50%;top:-28px;height:43px;width:1px;background:#8c6535}
.mp-tree-children>.mp-tree-branch:before{content:"";position:absolute;left:50%;top:-19px;width:1px;height:19px;background:#8c6535}
.mp-tree-children>.mp-tree-branch>.mp-tree-node-wrap{display:block}
.mp-tree-children .mp-tree-person-card{width:100%;min-height:132px;padding:16px 12px!important}
.mp-tree-children .mp-tree-person-card>strong{font-size:1.18rem!important;margin:6px 0 9px!important}
.mp-tree-children .mp-tree-person-card>small{font-size:.5rem!important}
.mp-tree-children .mp-tree-person-card>em{font-size:.62rem!important}
.mp-tree-children .mp-tree-regions .mp-pennant{font-size:.48rem!important;padding:4px 9px 4px 7px!important}
.mp-tree-children .mp-tree-partners{width:100%;margin-top:5px}.mp-tree-children .mp-tree-partner{padding:7px 8px}.mp-tree-children .mp-tree-partner strong{font-size:.8rem}
.mp-tree-children .mp-tree-expand{margin-top:10px;margin-bottom:25px;padding:6px 10px}

/* Bei sehr breiten Familien bleibt der Baum lesbar und kann horizontal erkundet werden. */
.mp-main{min-width:0}.mp-family-tree{overflow-x:auto!important;scrollbar-color:#6f512c #100d0b;scrollbar-width:thin}
.mp-tree-canvas:has(.mp-tree-children[style*="--child-count:6"]){min-width:1160px}
.mp-tree-canvas:has(.mp-tree-children[style*="--child-count:5"]){min-width:980px}
.mp-tree-canvas:has(.mp-tree-children[style*="--child-count:4"]){min-width:800px}

.mp-rel-button.is-visible{opacity:.86;border-style:dashed}.mp-rel-button.is-visible em{color:#8e795d}

.mp-mini-region-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px;vertical-align:1px;background:#96784e}.mp-mini-region-dot.mp-region-dk{background:#b6312d}.mp-mini-region-dot.mp-region-no{background:#557da3}.mp-mini-region-dot.mp-region-se{background:#c39b39}.mp-mini-region-dot.mp-region-eng{background:#8f5a55}.mp-mini-region-dot.mp-region-rus{background:#c2a55d}.mp-mini-region-dot.mp-region-ie{background:#4d8b75}.mp-mini-region-dot.mp-region-is{background:#4f758d}.mp-mini-region-dot.mp-region-norm{background:#a6534b}

@media(max-width:1450px){
  .mp-tree-children{grid-template-columns:repeat(var(--child-count),minmax(170px,1fr));gap:10px}
  .mp-tree-partners{width:190px}
  .mp-tree-person-card{width:min(350px,90%)}
}
@media(max-width:1180px){
  .mp-tree-children{grid-template-columns:repeat(var(--child-count),minmax(155px,1fr))}
  .mp-main-counters{min-width:160px}
}
\n\n/* v4.2 · lesbare tiefe Generationen und vollstaendig sichtbare Geschwisterzweige */\n.mp-family-tree{overflow-x:auto!important;overflow-y:visible!important;padding-bottom:96px!important}\n.mp-tree-canvas{width:max-content;min-width:100%;padding-left:26px;padding-right:26px}\n.mp-tree-children{\n  display:grid!important;\n  grid-template-columns:repeat(var(--child-count),minmax(230px,250px))!important;\n  justify-content:center;\n  width:max-content;\n  min-width:100%;\n  gap:18px!important;\n  padding-top:42px!important;\n}\n.mp-tree-children:before{left:4%!important;right:4%!important;top:19px!important}\n.mp-tree-children:after{top:-24px!important;height:43px!important}\n.mp-tree-children>.mp-tree-branch{min-width:230px;width:max-content}\n.mp-tree-children>.mp-tree-branch:before{top:-23px!important;height:23px!important}\n.mp-tree-children>.mp-tree-branch>.mp-tree-node-wrap{display:flex!important;justify-content:center!important;width:100%}\n.mp-tree-children .mp-tree-person-card{width:230px!important;min-width:230px!important;max-width:250px!important;min-height:142px!important;padding:17px 15px!important}\n.mp-tree-children .mp-tree-person-card>strong{font-size:1.3rem!important;line-height:1.12!important;margin:7px 0 10px!important}\n.mp-tree-children .mp-tree-person-card>small{font-size:.56rem!important;letter-spacing:.14em!important}\n.mp-tree-children .mp-tree-person-card>em{font-size:.7rem!important;color:#9b886f!important}\n.mp-tree-children .mp-tree-regions{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}\n.mp-tree-children .mp-tree-regions .mp-pennant{font-size:.52rem!important;padding:5px 10px 5px 8px!important}\n.mp-tree-children .mp-tree-partners{width:190px!important;min-width:190px!important;margin-left:4px!important}\n.mp-tree-children .mp-tree-partner{padding:9px 10px!important}\n.mp-tree-children .mp-tree-partner strong{font-size:.9rem!important;line-height:1.15!important}\n.mp-tree-children .mp-tree-expand{margin-top:12px!important;margin-bottom:30px!important;padding:7px 12px!important}\n/* Ein Einzelkind bleibt eine kompakte Station statt eine breite Zeile zu werden. */\n.mp-tree-children[style*="--child-count:1"]{grid-template-columns:250px!important}\n/* Alte Breiten-Heuristiken werden durch die echte Anzahl der Zweige ersetzt. */\n.mp-tree-canvas:has(.mp-tree-children){min-width:100%}\n\n/* Weitere unabhaengige Linien sind ein eigener Entdeckungsblock, keine Fussnote. */\n.mp-other-lines{\n  margin:54px 0 12px!important;\n  padding:24px 24px 26px!important;\n  border:1px solid rgba(202,168,109,.34)!important;\n  border-left:3px solid #a97c3e!important;\n  background:radial-gradient(circle at 12% 0,rgba(144,91,40,.15),transparent 42%),linear-gradient(180deg,#1c1511,#110e0c)!important;\n  box-shadow:0 18px 40px rgba(0,0,0,.22);\n}\n.mp-other-lines-head{max-width:760px;margin-bottom:18px}\n.mp-other-lines-head>.mp-pennant{margin-bottom:12px}\n.mp-other-lines-head>span{display:block!important;font-family:var(--serif)!important;font-size:1.28rem!important;line-height:1.15!important;letter-spacing:.02em!important;text-transform:none!important;color:#e4cca3!important;font-weight:500!important}\n.mp-other-lines-head>p{margin:8px 0 0!important;color:#a89578!important;font-size:.86rem!important;line-height:1.55!important}\n.mp-other-line-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(250px,1fr))!important;gap:10px!important}\n.mp-other-line-buttons button{min-height:72px!important;padding:13px 16px!important;align-items:center!important;background:linear-gradient(135deg,#17110e,#100d0b)!important;border-color:rgba(202,168,109,.22)!important}\n.mp-other-line-buttons button:hover{transform:translateY(-1px);border-color:rgba(211,169,99,.55)!important;background:#1c1410!important}\n.mp-other-line-buttons button span{display:block}\n.mp-other-line-buttons button small{display:block;font-family:var(--sans);font-size:.55rem;color:#9a784d;text-transform:uppercase;letter-spacing:.13em;margin-bottom:5px}\n.mp-other-line-buttons button strong{display:block;font-family:var(--serif);font-size:1.05rem;font-weight:500;color:#ecd5ae;line-height:1.15}\n.mp-other-line-buttons button b{font-size:1.15rem!important;color:#c99a54!important}\n\n@media(max-width:1450px){\n  .mp-tree-children{grid-template-columns:repeat(var(--child-count),minmax(215px,235px))!important;gap:14px!important}\n  .mp-tree-children>.mp-tree-branch{min-width:215px}\n  .mp-tree-children .mp-tree-person-card{width:215px!important;min-width:215px!important}\n}\n
/* v4.3 · frei verschiebbarer Stammbaum, bessere Lesbarkeit und Entdeckt-Fahne */
.mp-main-counters{position:relative;align-items:flex-end!important;gap:12px!important;min-width:272px!important}
.mp-discovery-banner{
  position:relative;
  width:246px;
  min-height:138px;
  padding:20px 23px 28px 26px;
  color:#f2d7a4;
  background:
    linear-gradient(90deg,rgba(255,211,132,.07),transparent 18%,rgba(0,0,0,.14) 71%),
    repeating-linear-gradient(0deg,rgba(255,226,168,.024) 0 1px,transparent 1px 5px),
    linear-gradient(145deg,#7b2016 0%,#53140f 48%,#34100d 100%);
  border-top:1px solid rgba(224,168,78,.72);
  border-left:1px solid rgba(95,39,18,.9);
  box-shadow:0 13px 28px rgba(0,0,0,.5),inset 0 1px rgba(255,217,145,.12),inset 0 -15px 22px rgba(21,4,3,.28);
  clip-path:polygon(0 0,100% 0,100% 74%,88% 86%,76% 78%,64% 92%,50% 80%,36% 94%,23% 79%,11% 87%,0 74%);
  pointer-events:none;
  transform-origin:50% 0;
}
.mp-discovery-banner:before{content:"";position:absolute;left:-8px;right:-8px;top:-8px;height:10px;border-radius:6px;background:linear-gradient(#8b673c,#392214 48%,#1b0d08 55%,#6d4929);box-shadow:0 3px 7px rgba(0,0,0,.62),inset 0 1px rgba(255,221,160,.2)}
.mp-discovery-banner:after{content:"";position:absolute;inset:7px 10px 18px;border:1px solid rgba(224,170,84,.21);clip-path:inherit}
.mp-discovery-banner>span{position:relative;z-index:2;display:block;margin-bottom:9px;font-size:.65rem;font-weight:900;line-height:1.25;letter-spacing:.16em;text-transform:uppercase;color:#d7a85e;text-shadow:0 1px 2px #180604}
.mp-discovery-banner>strong{position:relative;z-index:2;display:grid;grid-template-columns:minmax(82px,1fr) auto auto auto;gap:5px;align-items:baseline;margin:5px 0;font-family:var(--serif);font-weight:500;line-height:1;text-shadow:0 2px 3px rgba(0,0,0,.58)}
.mp-discovery-banner>strong>small{font:800 .58rem/1.1 var(--sans,Arial,sans-serif);letter-spacing:.11em;text-transform:uppercase;color:#c99a58}
.mp-discovery-banner>strong>b{font-size:1.48rem;font-weight:500;color:#ffe0a0}
.mp-discovery-banner>strong>em{font:italic .72rem/1 var(--serif);color:#be9360}
.mp-discovery-banner>strong>i{font-size:1rem;font-style:normal;font-weight:500;color:#e1bc7d}
.mp-discovery-banner.is-counting{animation:mpDiscoveryBannerPulse .72s cubic-bezier(.17,.8,.22,1)}
.mp-discovery-banner.is-counting>strong>b{animation:mpDiscoveryCountFlash .68s ease-out}
@keyframes mpDiscoveryBannerPulse{0%{filter:brightness(1);transform:translateY(0)}32%{filter:brightness(1.45) saturate(1.16);transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,.62),0 0 26px rgba(230,159,49,.36),inset 0 1px rgba(255,229,170,.22)}100%{filter:brightness(1);transform:translateY(0)}}
@keyframes mpDiscoveryCountFlash{0%{color:#fff0be;text-shadow:0 0 20px rgba(255,191,73,.9)}100%{color:#ffe0a0;text-shadow:0 2px 3px rgba(0,0,0,.58)}}
.mp-inventory-counter{font-size:.76rem!important;color:#8c775b!important}
.mp-inventory-counter b{font-size:1.05rem!important;color:#d5ad69!important}

/* Der Stammbaum ist jetzt eine frei verschiebbare Wissensflaeche wie bei Goetter & Wesen. */
.mp-family-tree{
  position:relative!important;
  height:clamp(680px,76vh,960px)!important;
  min-height:680px!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  cursor:grab;
  scrollbar-width:none!important;
  -ms-overflow-style:none;
  touch-action:none;
  padding:18px 18px 96px!important;
  background:radial-gradient(circle at 50% 8%,rgba(123,77,39,.07),transparent 38%),#0d0b0a;
}
.mp-family-tree::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.mp-family-tree.is-panning{cursor:grabbing;user-select:none}
.mp-family-tree.is-panning *{user-select:none}
.mp-family-tree button,.mp-family-tree a{cursor:pointer}
.mp-tree-canvas{min-width:max(100%,920px)!important;width:max-content!important;min-height:max-content;padding:24px 48px 86px!important}
.mp-pan-hint{position:sticky;z-index:24;left:100%;bottom:14px;width:max-content;margin:0 10px 4px auto;padding:9px 13px;border:1px solid rgba(202,168,109,.23);background:rgba(16,12,10,.91);box-shadow:0 10px 26px rgba(0,0,0,.34);color:#a78a61;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.mp-pan-hint span{color:#d0a55c;margin-right:5px}.mp-family-tree.has-panned .mp-pan-hint{opacity:.34;transform:translateY(4px)}

/* Tiefe Generationen und Seitenbeziehungen bleiben bewusst gut lesbar. */
.mp-tree-children{grid-template-columns:repeat(var(--child-count),minmax(255px,280px))!important;gap:22px!important}
.mp-tree-children>.mp-tree-branch{min-width:255px!important}
.mp-tree-children .mp-tree-person-card{width:255px!important;min-width:255px!important;max-width:280px!important;min-height:154px!important;padding:19px 17px!important;background:linear-gradient(180deg,#19120f,#110d0b)!important}
.mp-tree-children .mp-tree-person-card>strong{font-size:1.42rem!important;line-height:1.13!important;color:#f0dab5!important}
.mp-tree-children .mp-tree-person-card>small{font-size:.58rem!important;color:#aa8149!important}
.mp-tree-children .mp-tree-person-card>em{font-size:.72rem!important;color:#ab967b!important}
.mp-tree-children .mp-tree-regions .mp-pennant{font-size:.54rem!important;padding:5px 11px 5px 8px!important}
.mp-tree-partners,.mp-tree-children .mp-tree-partners{width:235px!important;min-width:235px!important;gap:9px!important}
.mp-tree-partner,.mp-tree-children .mp-tree-partner{min-height:94px;padding:12px 13px!important;border-color:rgba(215,177,112,.24)!important;background:linear-gradient(180deg,#19120f,#110d0b)!important}
.mp-tree-partner .mp-pennant{font-size:.59rem!important;padding:6px 13px 6px 9px!important}
.mp-tree-partner strong,.mp-tree-children .mp-tree-partner strong{font-size:1.03rem!important;line-height:1.18!important;color:#ecd4ab!important;margin:9px 0 7px!important}
.mp-tree-partner span,.mp-tree-children .mp-tree-partner span{font-size:.6rem!important;color:#b28d5e!important;letter-spacing:.09em!important}
.mp-tree-leaf{font-size:.62rem!important;color:#947d60!important}.mp-tree-leaf:before{color:#b58b4d!important}

@media(max-width:1450px){
  .mp-discovery-banner{width:224px}
  .mp-main-counters{min-width:245px!important}
  .mp-tree-children{grid-template-columns:repeat(var(--child-count),minmax(235px,255px))!important;gap:17px!important}
  .mp-tree-children>.mp-tree-branch{min-width:235px!important}
  .mp-tree-children .mp-tree-person-card{width:235px!important;min-width:235px!important}
  .mp-tree-partners,.mp-tree-children .mp-tree-partners{width:215px!important;min-width:215px!important}
}
