@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Montserrat:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--bg:#0b0c0d;--bg2:#111315;--panel:#151719;--panel2:#1b1e20;--ink:#f3efe6;--muted:#9b9c98;--line:#303437;--red:#a92d2d;--red2:#d34a40;--gold:#a58c60;--ice:#cfd8d8;--shadow:0 22px 70px rgba(0,0,0,.35);--radius:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 72% -10%,#282b2c 0,#111315 22%,var(--bg) 50%);color:var(--ink);font-family:Montserrat,Arial,sans-serif;min-height:100vh;letter-spacing:.01em}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 46%,rgba(255,255,255,.018) 46.2% 46.5%,transparent 46.7%),linear-gradient(25deg,transparent 0 70%,rgba(169,45,45,.025) 70.2%,transparent 70.4%);z-index:-1}.grain{position:fixed;inset:0;opacity:.07;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.eyebrow{font:500 11px/1.4 'DM Mono',monospace;letter-spacing:.17em;color:var(--gold);text-transform:uppercase;margin:0 0 10px}.muted{color:var(--muted)}.warning{font-size:12px;color:#c9a99e;border-left:2px solid var(--red);padding-left:12px}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 3vw;position:sticky;top:0;background:rgba(11,12,13,.91);backdrop-filter:blur(18px);z-index:50}.brand{display:flex;align-items:center;gap:13px;min-width:280px}.brand-mark,.crest{border:1px solid #6d7173;font:500 12px 'DM Mono',monospace;letter-spacing:.12em;width:49px;height:49px;display:grid;place-items:center;transform:rotate(45deg);background:#101214}.brand-mark{width:39px;height:39px;font-size:9px}.brand-mark::first-line,.crest::first-line{transform:rotate(-45deg)}.brand span:last-child{display:flex;flex-direction:column}.brand b{font-size:14px;letter-spacing:.17em}.brand small{font:400 8px 'DM Mono';letter-spacing:.15em;color:var(--muted);margin-top:3px}.topbar nav{display:flex;align-self:stretch;gap:4px;flex:1;justify-content:center}.topbar nav a{display:flex;align-items:center;padding:0 13px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#aaa;position:relative}.topbar nav a:after{content:"";position:absolute;bottom:-1px;left:13px;right:13px;height:2px;background:var(--red2);transform:scaleX(0);transition:.25s}.topbar nav a:hover,.topbar nav a.active{color:#fff}.topbar nav a.active:after{transform:scaleX(1)}.top-actions{min-width:280px;display:flex;justify-content:flex-end;align-items:center;gap:10px}.icon-btn,.avatar-chip{width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center;background:#151719}.icon-btn{font-size:23px;font-weight:200}.avatar-chip{border-radius:50%;background:var(--red);font-weight:700;font-size:12px}.app-shell{max-width:1480px;margin:0 auto;padding:45px 4vw 70px}.page-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:28px}.page-head h1,.dossier-id h1{font:600 clamp(36px,5vw,70px)/.98 'Playfair Display',serif;margin:0}.page-head p:not(.eyebrow){color:var(--muted);max-width:690px}.hero{min-height:470px;display:grid;grid-template-columns:1.5fr .8fr;align-items:center;gap:70px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;right:-100px;bottom:-80px;width:620px;height:310px;background:linear-gradient(148deg,transparent 42%,rgba(255,255,255,.05) 42.4% 43%,transparent 43.3%),linear-gradient(32deg,transparent 55%,rgba(255,255,255,.025) 55.2% 55.5%,transparent 55.7%);transform:skewX(-8deg)}.hero h1{font:600 clamp(48px,7vw,96px)/.91 'Playfair Display',serif;margin:0;letter-spacing:-.04em}.hero h1 span,.page-head h1 span{color:var(--muted);font-style:italic}.hero>div>p:not(.eyebrow){max-width:680px;color:#b8b7b1;font-size:16px;line-height:1.8}.hero-actions,.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.btn{border:1px solid #404447;background:none;color:var(--ink);min-height:43px;padding:0 18px;font:500 10px 'DM Mono',monospace;letter-spacing:.12em;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-transform:uppercase;transition:.2s}.btn:hover{border-color:#858a8c;background:#1d2022}.btn.primary{background:var(--red);border-color:var(--red);color:white}.btn.primary:hover{background:#c43a34}.btn.ghost{background:rgba(255,255,255,.018)}.btn.small{min-height:34px;padding:0 12px;font-size:9px}.radar{width:min(330px,70vw);aspect-ratio:1;border-radius:50%;border:1px solid #4a4f51;position:relative;display:grid;place-items:center;justify-self:center;background:radial-gradient(circle,rgba(169,45,45,.16),transparent 60%);box-shadow:inset 0 0 80px rgba(255,255,255,.02),0 0 0 28px rgba(255,255,255,.012)}.radar:before,.radar:after{content:"";position:absolute;background:#35393b}.radar:before{height:1px;width:110%;left:-5%}.radar:after{width:1px;height:110%;top:-5%}.radar-ring{position:absolute;border:1px solid #303638;border-radius:50%}.radar .r1{inset:15%}.radar .r2{inset:30%}.radar .r3{inset:44%}.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 84%,rgba(211,74,64,.26) 95%,transparent 100%);animation:sweep 9s linear infinite}@keyframes sweep{to{transform:rotate(360deg)}}.radar span{font:600 64px 'Playfair Display',serif;z-index:2}.radar small{position:absolute;top:62%;font:500 9px 'DM Mono';letter-spacing:.16em;color:var(--gold);z-index:2}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:34px 0}.metrics article{padding:24px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.metrics article:last-child{border:0}.metrics small{font:500 9px 'DM Mono';letter-spacing:.14em;color:var(--gold)}.metrics strong{font:600 38px 'Playfair Display',serif}.metrics span{font-size:11px;color:var(--muted)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{background:linear-gradient(150deg,rgba(255,255,255,.024),rgba(255,255,255,.008));border:1px solid var(--line);padding:28px;box-shadow:var(--shadow)}.panel h2{font:600 27px 'Playfair Display',serif;margin:0 0 18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px}.panel-head>a{font:500 9px 'DM Mono';letter-spacing:.12em;color:var(--gold);text-transform:uppercase}.person-list a{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #2b2f31}.person-list a:first-child{border-top:0}.person-list a>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1}.person-list b{font-size:13px}.person-list small{font:400 10px 'DM Mono';color:var(--muted)}.person-list i{font-style:normal;color:var(--gold)}.mini-photo{width:42px;height:42px;border:1px solid #454a4c;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#202326;font:500 10px 'DM Mono';color:var(--gold);flex:0 0 auto}.mini-photo.large{width:58px;height:58px}.mini-photo img{width:100%;height:100%;object-fit:cover}.intel-list .birthday{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.intel-list .birthday:first-child{border-top:0}.birthday b{font-size:13px}.birthday small{display:block;color:var(--muted);margin-top:4px}.birthday strong{font:500 11px 'DM Mono';color:var(--gold)}.skeleton{color:var(--muted);padding:20px 0;font-size:12px}.tree-panel{border:1px solid var(--line);background:#0e1011;min-height:700px;position:relative;overflow:hidden}.tree-toolbar{display:flex;gap:16px;align-items:center;padding:14px;border-bottom:1px solid var(--line);position:relative;z-index:2;background:#111315}.tree-toolbar label{margin-left:auto;display:flex;align-items:center;gap:8px;font:500 9px 'DM Mono';letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.tree-toolbar select{height:34px}.segmented{display:flex;border:1px solid var(--line)}.segmented button{border:0;border-right:1px solid var(--line);background:#131517;color:#7f8384;padding:10px 13px;font:500 9px 'DM Mono';letter-spacing:.1em;cursor:pointer}.segmented button:last-child{border:0}.segmented button.active{background:#e7e2d7;color:#0c0d0e}.tree-canvas{height:620px;position:relative;background:radial-gradient(circle at 50% 45%,rgba(169,45,45,.06),transparent 38%),linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}.tree-canvas svg{width:100%;height:100%;display:block}.tree-loading{position:absolute;inset:0;display:grid;place-items:center;font:500 10px 'DM Mono';letter-spacing:.15em;color:var(--muted)}.tree-legend{display:flex;gap:22px;padding:12px 16px;border-top:1px solid var(--line);font:400 9px 'DM Mono';color:var(--muted);letter-spacing:.05em}.tree-legend span:last-child{margin-left:auto}.line{width:22px;border-top:1px solid #899092;display:inline-block;margin-right:5px;vertical-align:middle}.line.partner{border-color:var(--red2);border-top-style:dashed}.node-card{cursor:pointer}.node-card rect{fill:#181b1d;stroke:#555c5f;stroke-width:1}.node-card.focus rect{stroke:var(--red2);stroke-width:2}.node-card text.name{fill:#f0ece2;font:600 11px Montserrat}.node-card text.life{fill:#999e9f;font:400 9px 'DM Mono'}.node-card text.place{fill:#a58c60;font:400 8px 'DM Mono'}.node-card image{clip-path:circle(18px at 18px 18px)}.tree-link{stroke:#5a6062;stroke-opacity:.55;stroke-width:1}.tree-link.partner{stroke:#b4413a;stroke-dasharray:5 5;stroke-opacity:.75}.gate{min-height:100vh;display:grid;place-items:center;padding:30px;position:relative;overflow:hidden}.gate:before{content:"";position:absolute;width:90vw;height:90vw;border-radius:50%;border:1px solid #262a2c;box-shadow:0 0 0 100px rgba(255,255,255,.008),0 0 0 200px rgba(255,255,255,.006)}.gate-card{width:min(520px,100%);padding:55px;background:rgba(15,17,18,.92);border:1px solid #3a3e40;position:relative;z-index:2;box-shadow:0 50px 120px rgba(0,0,0,.5)}.gate-card .crest{margin:0 0 40px 7px}.gate-card h1{font:600 64px/.88 'Playfair Display',serif;letter-spacing:-.04em;margin:0 0 25px}.gate-card h1 span{color:var(--red2);font-style:italic}.gate-card .lead{color:#b5b3ac;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid.single{grid-template-columns:1fr;margin-top:30px}.form-grid label,.tree-toolbar label{font:500 9px 'DM Mono';letter-spacing:.1em;color:#a6aaa9;text-transform:uppercase}.form-grid input,.form-grid select,.form-grid textarea,.tree-toolbar select,.searchbar input{display:block;width:100%;margin-top:7px;border:1px solid #3b4042;background:#101213;color:var(--ink);padding:11px 12px;outline:none;border-radius:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.searchbar input:focus{border-color:#8c9294;box-shadow:0 0 0 1px #8c9294}.form-grid textarea{resize:vertical;min-height:92px}.form-grid .wide{grid-column:1/-1}.form-grid .check{display:flex;align-items:center;gap:9px;text-transform:none;font-family:Montserrat;font-size:12px;letter-spacing:0}.check input{width:auto;margin:0}.compact{padding-top:10px}.dossier-form{display:grid;grid-template-columns:220px 1fr;gap:32px}.photo-uploader{display:flex;flex-direction:column;gap:12px}.photo-uploader img,.photo-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid #494f51;background:#0e1011}.photo-placeholder{display:grid;place-items:center;text-align:center;font:500 10px 'DM Mono';letter-spacing:.15em;color:#616668}.dossier-form .form-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px}.dossier-hero{display:grid;grid-template-columns:210px 1fr auto;gap:34px;align-items:end;padding:35px 0 30px;border-bottom:1px solid var(--line)}.dossier-photo{height:255px;border:1px solid #474d4f;background:#171a1c;display:grid;place-items:center;overflow:hidden;box-shadow:16px 18px 0 rgba(255,255,255,.018)}.dossier-photo img{width:100%;height:100%;object-fit:cover}.dossier-photo span{font:600 45px 'Playfair Display';color:#6f7475}.dossier-id h1{font-size:clamp(45px,6vw,78px);margin-bottom:14px}.life-line{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.life-line strong{font:500 13px 'DM Mono';letter-spacing:.08em;color:var(--gold)}.life-line span{font-size:11px;color:var(--muted);border-left:1px solid #3f4446;padding-left:14px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.chips span{border:1px solid #373c3e;padding:7px 9px;font:400 9px 'DM Mono';letter-spacing:.08em;color:#adb0ae}.dossier-actions{display:flex;flex-direction:column;gap:8px}.subnav{display:flex;gap:8px;flex-wrap:wrap;padding:15px 0 28px}.subnav a{font:500 9px 'DM Mono';letter-spacing:.1em;color:#8f9392;border-bottom:1px solid transparent;padding:8px 11px}.subnav a:hover{border-color:var(--red2);color:white}.dossier-grid{margin-bottom:22px}.facts{margin:0}.facts div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:12px 0;border-top:1px solid var(--line)}.facts dt{font:500 9px 'DM Mono';letter-spacing:.09em;color:var(--muted);text-transform:uppercase}.facts dd{margin:0;font-size:12px}.bio{color:#c9c7c0;line-height:1.9;font-size:13px}.relation-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.relation-columns h3{font:500 10px 'DM Mono';letter-spacing:.12em;color:var(--gold);text-transform:uppercase}.relation-card{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding:12px 4px}.relation-card b{font-size:12px}.relation-card span{font:400 9px 'DM Mono';color:var(--muted)}.relation-card:hover b{color:#fff}.inline-editor{border-top:1px solid var(--line);margin-top:25px;padding-top:16px}.inline-editor summary{cursor:pointer;font:500 9px 'DM Mono';letter-spacing:.12em;color:var(--gold);text-transform:uppercase;list-style:none}.inline-editor summary::-webkit-details-marker{display:none}.inline-editor form{margin-top:18px}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:#454a4c}.timeline-item{display:grid;grid-template-columns:75px 1fr;gap:20px;padding:13px 0;position:relative}.timeline-item:before{content:"";position:absolute;left:-25px;top:19px;width:9px;height:9px;background:#151719;border:1px solid #73797b;border-radius:50%}.timeline-item.fixed:before{background:var(--red2);border-color:var(--red2);box-shadow:0 0 0 5px rgba(211,74,64,.1)}.timeline-item time{font:500 11px 'DM Mono';color:var(--gold)}.timeline-item div{display:flex;flex-direction:column;gap:5px}.timeline-item b{font-size:13px}.timeline-item span,.timeline-item p{font:400 10px/1.6 'DM Mono';color:var(--muted);margin:0}.source-grid,.document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.source-card,.document-card{border:1px solid #363b3d;background:#121415;padding:18px;display:flex;flex-direction:column;min-height:145px}.source-card .status{align-self:flex-start;font:500 8px 'DM Mono';letter-spacing:.1em;padding:5px 7px;border:1px solid #555}.status.confirmed{color:#a5c4a8;border-color:#4f7353}.status.probable{color:#d2ba79;border-color:#7b6b3f}.status.conflicting{color:#de7e75;border-color:#8d3b35}.source-card h3{font-size:13px;margin:16px 0 7px}.source-card p{font-size:11px;color:#b7b7b2;line-height:1.5;flex:1}.source-card small{font:400 8px 'DM Mono';color:var(--muted)}.source-card a{font:500 8px 'DM Mono';color:var(--gold);margin-top:12px}.document-card{justify-content:space-between;min-height:130px}.document-card>span{font:500 8px 'DM Mono';letter-spacing:.12em;color:var(--red2)}.document-card b{font:500 13px 'Playfair Display'}.document-card small{font:400 8px 'DM Mono';color:var(--muted)}.research-panel{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:30px}.research-panel>div{max-width:700px}.research-panel p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.7}.danger-zone{text-align:right;padding:30px 0}.danger-zone button{background:none;border:0;color:#724745;font:500 9px 'DM Mono';letter-spacing:.1em;cursor:pointer}.danger-zone button:hover{color:#dc665e}.searchbar{display:flex;border:1px solid #3b4042;margin-bottom:25px;background:#111315}.searchbar input{border:0;margin:0;padding:18px;font-size:15px}.searchbar button{width:150px;background:var(--red);border:0;color:white;font:500 10px 'DM Mono';letter-spacing:.12em}.search-results{display:grid;gap:8px}.search-card{display:flex;align-items:center;gap:18px;padding:16px 18px;border:1px solid #303537;background:rgba(255,255,255,.012);transition:.18s}.search-card:hover{transform:translateX(4px);border-color:#5d6466;background:#171a1c}.search-card>div{flex:1}.search-card small{font:400 8px 'DM Mono';letter-spacing:.12em;color:var(--gold)}.search-card h3{margin:4px 0;font:600 18px 'Playfair Display'}.search-card p{margin:0;font:400 9px 'DM Mono';color:var(--muted)}.search-card i{font:500 8px 'DM Mono';letter-spacing:.1em;color:var(--gold);font-style:normal}.empty-state{padding:50px;border:1px dashed #353a3c;text-align:center;color:var(--muted);font-size:12px}.bars{display:grid;gap:15px}.bars>div{display:grid;grid-template-columns:130px 1fr 30px;align-items:center;gap:10px;font-size:11px}.bars i{height:4px;background:linear-gradient(90deg,var(--red),#754044);display:block;width:var(--w);min-width:2px}.bars b{font:500 10px 'DM Mono';color:var(--gold);text-align:right}.spotlight{margin-top:22px;display:flex;align-items:center;justify-content:space-between}.spotlight h2{margin-bottom:6px}.spotlight p{font-size:12px;color:var(--muted)}.mission-list{display:grid}.mission{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.mission-check{width:32px;height:32px;border:1px solid #4b5052;background:#111315;color:var(--gold);cursor:pointer}.mission>div{flex:1}.mission small{font:500 8px 'DM Mono';letter-spacing:.1em;color:var(--gold)}.mission h3{font-size:13px;margin:4px 0}.mission p{font-size:11px;color:var(--muted);margin:0}.mission>a{font:500 8px 'DM Mono';color:var(--gold)}.mission.done{opacity:.45}.mission.done h3{text-decoration:line-through}.upload-box{display:flex;flex-direction:column;gap:18px;border:1px dashed #484d4f;padding:20px;margin:20px 0}.export-fact{margin-top:40px;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:end;gap:12px}.export-fact strong{font:600 45px 'Playfair Display'}.export-fact span{font-size:10px;color:var(--muted);padding-bottom:9px}.flash{padding:13px 15px;border:1px solid #4d5152;margin:0 0 16px;font-size:11px;background:#141617}.flash.success{border-color:#4c6c50;color:#b7d2ba}.flash.error{border-color:#7a3e39;color:#eca59f}.research-drawer{position:fixed;top:0;right:0;width:min(600px,95vw);height:100vh;background:#101213;border-left:1px solid #42484a;z-index:101;transform:translateX(105%);transition:.34s cubic-bezier(.2,.8,.2,1);box-shadow:-30px 0 80px rgba(0,0,0,.55);overflow:auto}.research-drawer.open{transform:none}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.66);z-index:100;opacity:0;pointer-events:none;transition:.3s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line);background:rgba(16,18,19,.96);backdrop-filter:blur(16px);z-index:2}.drawer-head h2{font:600 26px 'Playfair Display';margin:0}.drawer-head button{border:0;background:none;color:white;font-size:30px;cursor:pointer}.research-intro{padding:25px;color:var(--muted);font-size:12px;line-height:1.7}.research-match{margin:0 20px 12px;border:1px solid #363b3d;background:#151719;padding:18px}.research-match .match-top{display:flex;align-items:center;gap:12px}.research-match .score{width:53px;height:53px;border-radius:50%;border:1px solid var(--red2);display:grid;place-items:center;font:500 10px 'DM Mono';color:#f4c4bf;flex:0 0 auto}.research-match h3{font:600 17px 'Playfair Display';margin:0 0 4px}.research-match small{font:400 8px 'DM Mono';color:var(--gold)}.research-match p{font-size:11px;line-height:1.6;color:#b9bab6}.research-match .wiki{display:grid;grid-template-columns:70px 1fr;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.research-match .wiki img{width:70px;height:70px;object-fit:cover}.research-links{display:flex;gap:8px;margin-top:12px}.research-links a{border:1px solid #444;padding:8px 10px;font:500 8px 'DM Mono';letter-spacing:.08em}.research-note{padding:16px 25px;font:400 9px/1.6 'DM Mono';color:#858a89}.loading-pulse{padding:50px 25px;font:500 10px 'DM Mono';letter-spacing:.14em;color:var(--gold);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}footer{border-top:1px solid var(--line);min-height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;font:400 8px 'DM Mono';letter-spacing:.12em;color:#6f7373}
@media(max-width:1050px){.topbar nav{position:fixed;left:0;right:0;bottom:0;height:64px;top:auto;background:#0c0e0f;border-top:1px solid var(--line);z-index:80;overflow-x:auto;justify-content:flex-start}.topbar nav a{padding:0 14px;white-space:nowrap}.topbar nav a:after{top:0;bottom:auto}.top-actions{min-width:auto}.brand{min-width:0;flex:1}.app-shell{padding-bottom:105px}.hero{grid-template-columns:1fr}.radar{position:absolute;right:2vw;opacity:.2}.dossier-hero{grid-template-columns:170px 1fr}.dossier-actions{grid-column:1/-1;flex-direction:row}.source-grid,.document-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.topbar{height:64px;padding:0 16px}.brand-mark{width:34px;height:34px}.brand small{display:none}.brand b{font-size:12px}.icon-btn{width:35px;height:35px}.avatar-chip{width:35px;height:35px}.app-shell{padding:28px 16px 100px}.hero{min-height:520px}.hero h1{font-size:55px}.hero>div>p:not(.eyebrow){font-size:13px}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.grid-2{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.tree-toolbar{flex-wrap:wrap}.tree-toolbar label{order:3;width:100%;margin:0}.tree-toolbar select{flex:1}.segmented{width:100%}.segmented button{flex:1;padding-left:6px;padding-right:6px}.tree-canvas{height:590px}.tree-legend{flex-wrap:wrap}.tree-legend span:last-child{margin-left:0;width:100%}.dossier-form{grid-template-columns:1fr}.photo-uploader{max-width:180px}.dossier-hero{grid-template-columns:110px 1fr;align-items:center}.dossier-photo{height:145px}.dossier-id h1{font-size:39px}.dossier-id .eyebrow{font-size:8px}.life-line{gap:6px}.life-line span{border:0;padding:0;width:100%}.dossier-actions{grid-column:1/-1}.relation-columns{grid-template-columns:1fr}.source-grid,.document-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.facts div{grid-template-columns:100px 1fr}.research-panel{align-items:flex-start;flex-direction:column}.spotlight{align-items:flex-start;flex-direction:column;gap:15px}.bars>div{grid-template-columns:100px 1fr 25px}.gate-card{padding:38px 25px}.gate-card h1{font-size:52px}.subnav{overflow-x:auto;flex-wrap:nowrap}.subnav a{white-space:nowrap}.search-card{padding:12px}.search-card i{display:none}.research-drawer{width:100vw}.mission{align-items:flex-start}.mission>a{display:none}.dossier-grid{gap:12px}}
.insight-list{display:grid;gap:10px}.insight-list p{margin:0;border-left:2px solid var(--red);padding:10px 12px;background:rgba(255,255,255,.018);font-size:11px;line-height:1.6;color:#c7c6c0}.history-context{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.history-context>div{display:grid;grid-template-columns:55px 1fr;gap:10px;padding:8px 0;border-top:1px solid #292d2f}.history-context time{font:500 10px 'DM Mono';color:var(--gold)}.history-context span{font-size:10px;color:#b8bab7}.history-context small{color:var(--muted)}

/* LINEAGE 2970 v1.1 — readability pass */
:root{--muted:#b5b8b5;--line:#3a3f42}
body{font-size:16px;line-height:1.55}
.page-head p:not(.eyebrow){font-size:15px;line-height:1.7}
.eyebrow{font-size:12px;line-height:1.5}
.warning{font-size:13px;line-height:1.6}
.brand b{font-size:15px}.brand small{font-size:10px;line-height:1.35}.brand-mark{font-size:10px}
.topbar nav a{font-size:12px}.avatar-chip{font-size:13px}
.btn{font-size:12px;min-height:46px;padding:0 20px}.btn.small{font-size:11px;min-height:38px}
.radar small{font-size:11px}.metrics small{font-size:11px}.metrics span{font-size:13px;line-height:1.45}
.panel-head>a{font-size:11px}.person-list b{font-size:15px}.person-list small{font-size:12px;line-height:1.45}.mini-photo{font-size:11px}
.birthday b{font-size:15px}.birthday small{font-size:13px;line-height:1.45}.birthday strong{font-size:12px}.skeleton{font-size:14px}
.tree-toolbar label,.form-grid label{font-size:11px;line-height:1.4}.segmented button{font-size:11px;min-height:40px}.tree-loading{font-size:12px}.tree-legend{font-size:11px;line-height:1.45}
.node-card text.name{font-size:13px}.node-card text.life{font-size:11px}.node-card text.place{font-size:10px}
.form-grid input,.form-grid select,.form-grid textarea,.tree-toolbar select,.searchbar input{font-size:15px;line-height:1.45;min-height:46px;padding:12px 13px}
.form-grid textarea{min-height:110px}.form-grid .check{font-size:14px}.photo-placeholder{font-size:12px;line-height:1.55}
.life-line strong{font-size:14px}.life-line span{font-size:13px;line-height:1.45}.chips span{font-size:11px;line-height:1.4;padding:8px 10px}
.subnav a{font-size:11px;line-height:1.4}.facts dt{font-size:11px;line-height:1.45}.facts dd{font-size:14px;line-height:1.55}.bio{font-size:15px;line-height:1.85}
.relation-columns h3{font-size:12px}.relation-card b{font-size:14px}.relation-card span{font-size:11px;line-height:1.45}.inline-editor summary{font-size:11px}
.timeline-item time{font-size:12px}.timeline-item b{font-size:15px}.timeline-item span,.timeline-item p{font-size:12px;line-height:1.65}
.source-card .status{font-size:10px}.source-card h3{font-size:15px}.source-card p{font-size:13px;line-height:1.6}.source-card small,.source-card a{font-size:10px;line-height:1.45}
.document-card>span,.document-card small{font-size:10px;line-height:1.45}.document-card b{font-size:15px}
.research-panel p:not(.eyebrow){font-size:14px;line-height:1.7}.danger-zone button{font-size:11px}
.searchbar button{font-size:12px}.search-card small{font-size:10px}.search-card h3{font-size:20px}.search-card p{font-size:12px;line-height:1.5}.search-card i{font-size:10px}.empty-state{font-size:14px;line-height:1.65}
.bars>div{font-size:13px}.bars b{font-size:12px}.spotlight p{font-size:14px;line-height:1.6}
.mission small{font-size:10px}.mission h3{font-size:15px}.mission p{font-size:13px;line-height:1.55}.mission>a{font-size:10px}
.export-fact span{font-size:12px}.flash{font-size:13px;line-height:1.55}
.research-intro{font-size:14px}.research-match .score{font-size:12px}.research-match h3{font-size:20px}.research-match small{font-size:10px}.research-match p{font-size:13px;line-height:1.65}.research-links a{font-size:10px}.research-note{font-size:11px;line-height:1.7}.loading-pulse{font-size:12px}
.insight-list p{font-size:13px;line-height:1.65}.history-context time{font-size:12px}.history-context span{font-size:12px;line-height:1.55}.history-context small{font-size:11px}
footer{font-size:10px;line-height:1.4;color:#969a98}
@media(max-width:760px){body{font-size:16px}.brand b{font-size:13px}.hero>div>p:not(.eyebrow){font-size:15px;line-height:1.7}.dossier-id .eyebrow{font-size:11px}.btn{font-size:11px}.tree-legend{font-size:10px}.facts div{grid-template-columns:112px 1fr}.page-head p:not(.eyebrow){font-size:14px}}

/* LINEAGE 2970 v1.2 — relationships + tree polish */
.tree-panel{min-height:760px}
.tree-canvas{height:700px}
.tree-canvas svg{overflow:visible}
.tree-link{fill:none;stroke:#5a6062;stroke-opacity:.62;stroke-width:1.35}
.tree-link.parent{stroke:#6e7577}
.tree-link.partner{stroke:#c24d46;stroke-width:1.6;stroke-dasharray:8 6;stroke-opacity:.88}
.node-card rect{fill:rgba(24,27,29,.96);stroke:#697174;stroke-width:1.1;filter:drop-shadow(0 12px 24px rgba(0,0,0,.28))}
.node-card.focus rect{stroke:#d34a40;stroke-width:2.2}
.node-card text.name{fill:#f4f0e6;font:700 13px/1.2 Montserrat}
.node-card text.life{fill:#b3b8ba;font:400 10px 'DM Mono'}
.node-card text.place{fill:#b89b64;font:400 10px 'DM Mono'}
.node-card image{clip-path:circle(21px at 21px 21px)}
.inline-editor.relationship-editor{margin-top:32px;padding-top:22px}
.relationship-editor-note{margin:14px 0 22px;color:var(--muted);font-size:14px;line-height:1.7;max-width:840px}
.relationship-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.relationship-card{border:1px solid #394042;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008));padding:20px;display:flex;flex-direction:column;gap:18px;min-height:100%}
.relationship-card.emphasis{border-color:#6a4a46;box-shadow:inset 0 0 0 1px rgba(195,70,62,.15)}
.relationship-head h3{margin:0 0 8px;font:600 22px 'Playfair Display',serif}
.relationship-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.relationship-fields{display:grid;gap:14px}
.relationship-fields.fields-2{grid-template-columns:1fr 1fr}
.editor-form{margin-top:0 !important}
.editor-form label{font-size:11px;line-height:1.45}
.editor-form select,.editor-form input,.editor-form textarea{margin-top:8px}
.editor-form .btn{margin-top:auto;width:100%}
@media(max-width:1180px){.relationship-grid{grid-template-columns:1fr}.relationship-fields.fields-2{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.relationship-fields.fields-2{grid-template-columns:1fr}.relationship-card{padding:18px}.relationship-head h3{font-size:20px}.relationship-editor-note{font-size:13px}.tree-canvas{height:660px}}

/* LINEAGE 2970 v1.3 — node icons + family wizard */
.tree-legend b{font-weight:700;color:var(--ice)}
.node-badges .badge rect{fill:#101213;stroke:#4e5658;stroke-width:1}
.node-badges .badge.married rect{stroke:#a86f5e;fill:rgba(169,92,77,.14)}
.node-badges .badge.partner rect{stroke:#8f5660;fill:rgba(143,86,96,.13)}
.node-badges .badge.children rect{stroke:#5f6b77;fill:rgba(95,107,119,.14)}
.node-badges .badge.parents rect{stroke:#6e7455;fill:rgba(110,116,85,.15)}
.node-badges .badge-icon{fill:#eee8dd;font:700 10px 'DM Mono'}
.node-badges .badge-count{fill:#c7ccce;font:500 9px 'DM Mono'}
.wizard-form{padding:30px}
.wizard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.wizard-card{border:1px solid #3a4042;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.01));padding:24px;display:flex;flex-direction:column;gap:18px}
.wizard-card.wide{grid-column:1/-1}
.wizard-head h2{margin:0 0 8px;font:600 30px 'Playfair Display',serif}
.wizard-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.7;max-width:760px}
.split-parents{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.parent-box{border:1px solid #33383a;background:rgba(0,0,0,.12);padding:16px}
.parent-title{margin:0 0 12px;font:500 12px 'DM Mono';letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.wizard-children{display:grid;gap:14px}
.child-row{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:start;border:1px solid #34393b;background:rgba(255,255,255,.014);padding:14px}
.child-index{display:grid;place-items:center;width:54px;height:54px;border:1px solid #4d5255;border-radius:50%;font:600 15px 'DM Mono';color:var(--gold);background:#111315}
.child-fields{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.wizard-actions{justify-content:space-between;align-items:center}
@media(max-width:1180px){.wizard-grid{grid-template-columns:1fr}.split-parents{grid-template-columns:1fr}.child-fields{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.wizard-form{padding:18px}.wizard-head h2{font-size:24px}.child-row{grid-template-columns:1fr}.child-index{width:42px;height:42px}.child-fields{grid-template-columns:1fr}.wizard-actions{flex-direction:column;align-items:stretch}}

/* LINEAGE 2970 v1.4 — sequential wizard + line relationship symbols */
.node-badges{display:none!important}
.relationship-markers{pointer-events:none}
.relationship-marker-bg{fill:#101315;stroke:#596164;stroke-width:1.15}
.relationship-marker.partner .relationship-marker-bg{stroke:#934b46;fill:#171315}
.relationship-marker.married .relationship-marker-bg{stroke:#a78a5d;fill:#171614}
.relationship-marker .ring{fill:none;stroke:#d6bf8a;stroke-width:1.5}
.relationship-marker .relationship-glyph{fill:#c96d67;font:700 11px 'DM Mono'}
.relationship-marker .child-head{fill:#d7dbd9}
.relationship-marker .child-body{fill:none;stroke:#d7dbd9;stroke-width:1.35;stroke-linecap:round}
.wizard-intro{display:grid;grid-template-columns:1fr minmax(360px,.8fr);gap:30px;align-items:end;margin-bottom:20px}
.wizard-intro h2,.wizard-progress h2,.wizard-next h2,.wizard-relation-stage h2,.wizard-dossier-stage h2{font:600 30px 'Playfair Display',serif;margin:0 0 8px}
.wizard-intro p:not(.eyebrow),.wizard-progress p,.wizard-next p,.wizard-relation-stage p:not(.eyebrow),.wizard-dossier-stage p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.wizard-existing{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.wizard-existing label,.wizard-relation-controls>label{font:500 11px 'DM Mono';letter-spacing:.1em;color:#a6aaa9;text-transform:uppercase}
.wizard-existing select,.wizard-relation-controls select{display:block;width:100%;margin-top:8px;border:1px solid #3b4042;background:#101213;color:var(--ink);padding:12px 13px;min-height:46px}
.wizard-person-form{margin-top:0}
.wizard-progress{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-bottom:20px}
.wizard-people-strip{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.wizard-person-chip{border:1px solid #3a4042;background:#111416;padding:8px 11px 8px 8px;display:flex;align-items:center;gap:8px;max-width:230px}
.wizard-person-chip>span{width:30px;height:30px;border-radius:50%;border:1px solid #555d60;display:grid;place-items:center;font:500 9px 'DM Mono';color:var(--gold);flex:0 0 auto}
.wizard-person-chip b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wizard-person-chip.anchor{border-color:#aa8d61;box-shadow:inset 0 0 0 1px rgba(165,140,96,.16)}
.wizard-sequential-form{padding:30px}
.wizard-relation-stage,.wizard-dossier-stage{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}
.wizard-stage-number{width:54px;height:54px;border-radius:50%;border:1px solid #5e6567;display:grid;place-items:center;font:600 14px 'DM Mono';color:var(--gold);background:#111315}
.wizard-relation-controls{margin-top:24px;display:grid;gap:22px}
.relation-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.relation-choice{position:relative;border:1px solid #3b4143;background:rgba(255,255,255,.012);padding:18px;display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;column-gap:13px;cursor:pointer;transition:.18s;min-height:94px}
.relation-choice:hover{border-color:#667073;background:#171a1c}
.relation-choice.selected{border-color:#b04640;background:linear-gradient(135deg,rgba(169,45,45,.14),rgba(255,255,255,.01));box-shadow:inset 0 0 0 1px rgba(211,74,64,.13)}
.relation-choice input{position:absolute;opacity:0;pointer-events:none}
.relation-choice-icon{grid-row:1/3;width:42px;height:42px;border-radius:50%;border:1px solid #555e61;display:grid;place-items:center;color:var(--gold);font:600 17px 'DM Mono';align-self:center}
.relation-choice-icon.rings{font-size:13px;letter-spacing:-5px;padding-right:5px}
.relation-choice b{font-size:14px;align-self:end}
.relation-choice small{font-size:11px;line-height:1.45;color:var(--muted);align-self:start;margin-top:4px}
.wizard-relation-options{margin:20px 0;border:1px solid #343a3c;background:#111416;padding:18px}
.wizard-relation-options>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.wizard-relation-options label{font:500 11px 'DM Mono';letter-spacing:.08em;color:#a6aaa9;text-transform:uppercase}
.wizard-relation-options select,.wizard-relation-options input{display:block;width:100%;margin-top:8px;border:1px solid #3b4042;background:#101213;color:var(--ink);padding:12px 13px;min-height:46px}
.wizard-dossier-stage{margin:30px 0 22px;border-top:1px solid var(--line);padding-top:24px}
.wizard-dossier{display:grid;grid-template-columns:220px 1fr;gap:28px;padding:0;background:none;border:0;box-shadow:none}
.wizard-save-actions{border-top:1px solid var(--line);padding-top:22px;margin-top:26px;justify-content:flex-end}
.wizard-next{display:grid;grid-template-columns:70px 1fr auto;gap:22px;align-items:center}
.wizard-next-mark{width:58px;height:58px;border-radius:50%;border:1px solid #55705b;display:grid;place-items:center;color:#b5d0b9;font-size:24px;background:rgba(72,108,78,.09)}
.wizard-next-actions{display:flex;gap:10px;align-items:center}.wizard-next-actions form{margin:0}
[hidden]{display:none!important}
@media(max-width:1050px){.wizard-intro{grid-template-columns:1fr}.wizard-progress{align-items:flex-start;flex-direction:column}.wizard-people-strip{justify-content:flex-start}.relation-choice-grid{grid-template-columns:repeat(2,1fr)}.wizard-dossier{grid-template-columns:180px 1fr}}
@media(max-width:760px){.wizard-existing{grid-template-columns:1fr}.wizard-sequential-form{padding:18px}.wizard-relation-stage,.wizard-dossier-stage{grid-template-columns:46px 1fr;gap:12px}.wizard-stage-number{width:42px;height:42px}.relation-choice-grid{grid-template-columns:1fr}.wizard-relation-options>div{grid-template-columns:1fr}.wizard-dossier{grid-template-columns:1fr}.wizard-dossier .photo-uploader{max-width:180px}.wizard-next{grid-template-columns:50px 1fr}.wizard-next-mark{width:44px;height:44px}.wizard-next-actions{grid-column:1/-1;flex-direction:column;align-items:stretch}.wizard-next-actions .btn{width:100%}.wizard-intro h2,.wizard-progress h2,.wizard-next h2,.wizard-relation-stage h2,.wizard-dossier-stage h2{font-size:24px}}

/* LINEAGE 2970 v1.5 — stable genealogy layout + family timeline */
.tree-canvas svg{shape-rendering:geometricPrecision}
.timeline-note{margin:2px 0 0;max-width:620px;color:var(--muted);font-size:13px;line-height:1.65;text-align:right}
.timeline-title-row{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important;flex-wrap:wrap}
.timeline-tag{display:inline-flex!important;width:auto!important;border:1px solid #4b5254;padding:3px 6px;font:500 8px/1 'DM Mono'!important;letter-spacing:.09em;text-transform:uppercase;color:#b7bcba!important;background:#111416}
.timeline-related{align-self:flex-start;margin-top:3px;font:500 9px 'DM Mono';letter-spacing:.09em;color:var(--gold);text-transform:uppercase}
.timeline-item.auto.partnership:before{background:#a58c60;border-color:#c1a36d;box-shadow:0 0 0 5px rgba(165,140,96,.10)}
.timeline-item.auto.child:before{background:#657d88;border-color:#8ba2ad;box-shadow:0 0 0 5px rgba(101,125,136,.10)}
.timeline-item.auto.grandchild:before{background:#6f7f65;border-color:#91a386;box-shadow:0 0 0 5px rgba(111,127,101,.10)}
.timeline-item.auto.sibling:before{background:#6e667e;border-color:#9186a5;box-shadow:0 0 0 5px rgba(110,102,126,.10)}
.timeline-item.auto.death:before{background:#713d3c;border-color:#a9605b;box-shadow:0 0 0 5px rgba(113,61,60,.11)}
.timeline-item.auto.personal:before{background:var(--red2);border-color:var(--red2);box-shadow:0 0 0 5px rgba(211,74,64,.10)}
.timeline-item.partnership .timeline-tag{border-color:#6e6248;color:#c9ad78!important}
.timeline-item.child .timeline-tag{border-color:#536974;color:#91acb8!important}
.timeline-item.grandchild .timeline-tag{border-color:#5b6b54;color:#9caf92!important}
.timeline-item.sibling .timeline-tag{border-color:#625d70;color:#a299b5!important}
.timeline-item.death .timeline-tag{border-color:#70423f;color:#ca7f78!important}
@media(max-width:760px){.timeline-note{text-align:left}.timeline-title-row{align-items:flex-start}.timeline-tag{margin-top:2px}}

/* LINEAGE 2970 v1.6 — direct family links in person editor */
.person-edit-form{gap:0}
.direct-relations{grid-column:1/-1;margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}
.direct-relations-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px}
.direct-relations-head h2{font:600 28px 'Playfair Display',serif;margin:0 0 8px}
.direct-relations-head p:not(.eyebrow){margin:0;max-width:800px;color:var(--muted);font-size:13px;line-height:1.7}
.direct-relations-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.relation-picker{border:1px solid #394043;background:#111315;padding:16px;min-width:0}
.relation-picker-title{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.relation-picker-title>span{width:38px;height:38px;border-radius:50%;border:1px solid #596063;display:grid;place-items:center;color:var(--gold);font:600 18px 'DM Mono';flex:0 0 auto}
.relation-picker-title div{display:flex;flex-direction:column;gap:3px}
.relation-picker-title b{font-size:15px}
.relation-picker-title small{font-size:11px;color:var(--muted)}
.relation-filter{width:100%;min-height:42px;margin:0 0 10px;border:1px solid #3b4042;background:#0d0f10;color:var(--ink);padding:10px 12px;outline:none}
.relation-filter:focus{border-color:#858b8d}
.relation-picker-list{max-height:330px;overflow:auto;border-top:1px solid #2d3234}
.relation-pick-item{display:flex;align-items:center;gap:11px;padding:10px 8px;border-bottom:1px solid #282d2f;cursor:pointer;transition:.16s;position:relative}
.relation-pick-item:hover{background:rgba(255,255,255,.025)}
.relation-pick-item.selected{background:rgba(165,140,96,.08)}
.relation-pick-item>input{position:absolute;opacity:0;pointer-events:none}
.relation-pick-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.relation-pick-copy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.relation-pick-copy small{font:400 10px 'DM Mono';color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.relation-pick-item>i{width:25px;height:25px;border-radius:50%;border:1px solid #444b4e;color:transparent;display:grid;place-items:center;font-style:normal;font-size:12px;flex:0 0 auto}
.relation-pick-item.selected>i{border-color:var(--gold);color:#111;background:var(--gold)}
@media(max-width:900px){.direct-relations-grid{grid-template-columns:1fr}.direct-relations-head{flex-direction:column}.relation-picker-list{max-height:280px}}

/* LINEAGE 2970 v1.7 — relation picker reliability */
.relation-filter-status{min-height:22px;margin:7px 0 10px;font:500 10px/1.5 'DM Mono',monospace;letter-spacing:.04em;color:var(--muted)}

/* LINEAGE 2970 v2.0 tree branch colors */
.generation-guides line{pointer-events:none}.generation-guides text{pointer-events:none;letter-spacing:.12em;text-transform:uppercase}

/* LINEAGE 2970 v2.0 — branch colours + direct spouse picker */
.direct-relations-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.partner-picker{border-color:#5a4d37;background:linear-gradient(180deg,rgba(165,140,96,.055),rgba(17,19,21,.96))}
.partner-picker .relation-picker-title>span{border-color:#8a744d;color:#d3b777}
.rings-symbol{font-size:15px!important;letter-spacing:-.28em;padding-right:.22em}
.generation-guides text{letter-spacing:.12em}
@media(max-width:1250px){.direct-relations-grid{grid-template-columns:1fr 1fr}.partner-picker{grid-column:1/-1}}
@media(max-width:900px){.direct-relations-grid{grid-template-columns:1fr}.partner-picker{grid-column:auto}}

/* LINEAGE 2970 v2.3 — removable relationship links */
.relation-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-top:1px solid var(--line);position:relative}
.relation-entry .relation-card{border-top:0;padding:12px 8px 12px 4px;min-width:0}
.unlink-form{display:flex;align-items:center;margin:0;padding-left:8px}
.unlink-btn{min-width:38px;height:38px;border:1px solid #493738;background:rgba(117,49,48,.08);color:#a77976;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font:500 18px/1 'DM Mono';transition:.18s;padding:0 9px}
.unlink-btn span{font-size:8px;letter-spacing:.1em;display:none}
.unlink-btn:hover{border-color:#98544f;background:rgba(169,45,45,.16);color:#e28b83}
@media(min-width:1100px){.unlink-btn:hover span{display:inline}.unlink-btn:hover{min-width:76px}}

/* LINEAGE 2970 v2.4 — sibling relationship matrix */
.relation-columns{grid-template-columns:repeat(4,minmax(0,1fr))}
.sibling-entry .relation-card{width:100%}
@media(max-width:1180px){.relation-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.relation-columns{grid-template-columns:1fr}}
