:root{color-scheme:dark;--bg:#111c29;--panel:#182735;--panel2:#1b2e3c;--text:#f5f5f5;--muted:#abb6bd;--gold:#f9ad01;--border:#344653;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{background:var(--panel2);border:1px solid var(--border);color:var(--text);padding:10px 15px;border-radius:10px;cursor:pointer;line-height:1.4}button:hover{border-color:var(--gold);background:#233745}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--gold);color:#111c29;border-color:var(--gold);font-weight:650}.primary:hover{background:#edb643}.text-button{background:transparent;border:0;color:var(--gold);padding:5px 0;text-align:left}a{color:var(--gold)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:30px;line-height:1.2;margin-bottom:0;font-weight:650}h2{font-size:24px;line-height:1.35}h3{font-size:19px;margin-bottom:12px}h4{font-size:16px}p{margin-bottom:14px}svg{width:21px;height:21px;flex-shrink:0}#app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;border-right:1px solid var(--border);padding:34px 22px;display:flex;flex-direction:column;background:#111c29}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:14px;letter-spacing:2px;line-height:1.3;color:var(--text)}.brand strong{font-size:17px;letter-spacing:1.2px}.brand img{width:50px;height:50px;border-radius:13px}.sidebar-tagline{color:var(--muted);font-size:11px;margin:18px 0 28px;letter-spacing:.2px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;align-items:center;gap:13px;border-color:transparent;background:transparent;text-align:left;padding:12px}.sidebar nav button.active{color:var(--gold);background:#2a2a22;border:1px solid #6f551e}.sidebar footer{margin-top:auto;font-size:12px;color:var(--muted);line-height:2}.local-dot{display:inline-block;background:#a8bca7;width:6px;height:6px;border-radius:50%}main{margin-left:244px;padding:38px 42px 20px;width:calc(100% - 244px);max-width:1500px;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:12px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--gold);display:block;margin-bottom:8px}.offline-label{font-size:12px;border:1px solid var(--border);border-radius:20px;padding:5px 12px;color:var(--muted);white-space:nowrap}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:23px;margin-bottom:20px;min-width:0}.root-control{display:flex;align-items:end;gap:12px;margin-bottom:22px}.root-control label{max-width:550px;flex:1}.root-control button{margin-bottom:0}label{display:flex;flex-direction:column;font-size:13px;color:var(--muted);gap:7px;min-width:0}input,textarea,select{width:100%;max-width:100%;min-width:0;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text);padding:11px;outline:none}input:focus,textarea:focus,select:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}select{overflow:hidden;text-overflow:ellipsis}textarea{resize:vertical}.filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:17px 20px}.filters label{flex:1;min-width:140px}.filters p{flex:1;margin:0;font-size:13px;color:var(--muted)}.filters label:last-child{flex:.5}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0}.stats>div{display:flex;flex-direction:column;gap:4px}.stats strong{font-size:26px;font-weight:600;color:var(--gold)}.stats span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.summary{padding:0 0 20px}.last-person{font-size:12px;margin-bottom:20px;color:var(--muted)}.section-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.section-line h3,.section-line h2{margin-bottom:0}.section-line>span{font-size:13px;color:var(--muted)}.muted{color:var(--muted)}.small,small{font-size:12px}.tree{padding:5px 0 12px}.generation{position:relative;margin:12px 0 20px}.generation+.generation:before{content:"";display:block;width:1px;height:18px;background:#6f551e;margin:0 auto 8px}.generation-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1.3px;margin-bottom:11px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:12px}.person-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:15px 17px;min-width:0;position:relative}.person-card.central{border:1px solid var(--gold);background:#212d32}.person-card.main-route{box-shadow:inset 3px 0 #a98127}.person-main{display:flex;gap:12px;padding:0;border:0;background:none;align-items:center;width:100%;text-align:left}.person-main:hover{background:none}.person-main>span:last-child{min-width:0;flex:1}.person-main strong{display:block;font-size:15px;overflow-wrap:anywhere}.person-main small{display:block;font-size:11px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.avatar{width:34px;height:34px;flex-shrink:0;background:#2b3437;color:#d9be7d;border-radius:50%;display:grid;place-items:center;font:18px Georgia,serif}.avatar.large{width:66px;height:66px;font-size:30px}.route-label{display:inline-block;color:#d6b866;margin-left:10px;font-size:10px}.person-card>.text-button{font-size:11px;margin-top:8px}.badge{display:inline-block;border:1px solid #50616a;border-radius:6px;padding:2px 7px;font-size:10px;color:#c5cfd0;white-space:normal;vertical-align:middle}.evidence-0{color:#b8d7b8;border-color:#486852}.evidence-1{color:#bacfc8}.evidence-2{color:#dcc184;border-color:#706143}.evidence-3{color:#d8b8a4;border-color:#776152}.evidence-4{color:#abb6bd}.relation-list,.issue-list{max-height:420px;overflow:auto;overflow-wrap:anywhere}.relation-list p,.issue-list p{font-size:13px;padding:8px 0;border-bottom:1px solid var(--border);margin:0}.toolbar{display:flex;gap:12px;align-items:end}.grow{flex:1;min-width:0}.person-heading{display:flex;gap:20px;align-items:center}.person-heading h2{margin:0}.person-heading p{margin:4px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.detail-grid .panel{margin:0 0 20px}.entry{padding:16px 0;border-bottom:1px solid var(--border)}.entry:last-child{border:0}.entry p{margin-top:7px;font-size:14px}.entry small{display:block;color:var(--muted);margin-top:8px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.chips button{padding:6px 10px;font-size:13px}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.break{overflow-wrap:anywhere;word-break:break-word}details{margin:12px 0}summary{cursor:pointer;color:var(--muted)}details p{margin-top:12px}.timeline .panel{display:flex;gap:20px}.timeline-year{min-width:50px;color:var(--gold);font:24px Georgia,serif}.timeline .text-button{max-width:100%;overflow-wrap:anywhere}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.insight-grid ul{list-style:none;padding:0}.insight-grid li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding:6px 0;font-size:13px;overflow-wrap:anywhere}.count{color:var(--gold);font-size:13px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}fieldset{border:1px solid var(--border);border-radius:10px;margin:20px 0;padding:16px}legend{font-size:13px;color:var(--muted);padding:0 8px}.check{display:flex;flex-direction:row;align-items:center;gap:10px;font-size:14px;color:var(--text);margin:12px 0}.check input{width:18px;height:18px;accent-color:var(--gold);flex-shrink:0}.welcome{padding:40px;max-width:830px}.welcome h2{font:36px/1.3 Georgia,serif;max-width:450px;margin-top:18px}.welcome p{max-width:610px}.app-icon{width:90px;border-radius:22px;margin-bottom:20px}.photo{max-width:100%;max-height:300px;display:block;object-fit:contain;margin-bottom:12px}.main-footer{color:#7f909c;font-size:11px;border-top:1px solid var(--border);padding:20px 0;margin-top:30px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:18px;padding:26px;width:min(600px,calc(100% - 28px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#050c14c7}dialog h2{font-size:22px}.form-fields{display:grid;gap:15px;margin-top:22px}.close-button{font-size:24px;padding:0 12px;background:transparent;border:0}.form-error{color:#ffc0a0;margin-top:16px}.form-error:empty{display:none}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#2b3f48;border:1px solid #637782;border-radius:12px;padding:14px 20px;z-index:10;display:none;max-width:calc(100vw - 28px);width:max-content;box-shadow:0 8px 40px #0008;font-size:14px}#notice.shown{display:block}
.generation .cards{display:flex;flex-wrap:wrap;justify-content:center}.generation .person-card{flex:0 1 310px;width:310px}.generation-label{text-align:center}.generation .central{box-shadow:0 0 0 3px #f9ad010a}
@media(min-width:1400px){.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:1050px){.sidebar{width:205px;padding:25px 14px}main{margin-left:205px;width:calc(100% - 205px);padding:28px 24px}.detail-grid{grid-template-columns:1fr}.stats{gap:14px}.brand strong{font-size:15px}}@media(max-width:700px){#app{display:block}.sidebar{position:static;width:100%;padding:16px 17px 0;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:10px;gap:10px}.brand strong{font-size:14px}.brand img{width:36px;height:36px;border-radius:10px}.sidebar-tagline,.sidebar footer{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:3px;margin-top:14px;padding-bottom:10px;scrollbar-width:thin}.sidebar nav button{flex-shrink:0;gap:7px;padding:8px 10px;font-size:12px}.sidebar nav svg{width:16px;height:16px}main{margin:0;width:100%;padding:24px 16px 12px}.page-header{margin-bottom:22px}h1{font-size:26px}h2{font-size:22px}.offline-label{font-size:10px;padding:4px 8px}.eyebrow{font-size:9px;letter-spacing:1.7px}.root-control{flex-wrap:wrap;gap:8px}.root-control label{min-width:100%}.root-control button{font-size:12px;padding:7px 12px}.stats{gap:13px}.stats strong{font-size:23px}.stats span{font-size:10px}.filters{padding:15px;gap:12px}.filters label{min-width:100%}.filters label:last-child{min-width:120px;flex:1}.panel{padding:18px;border-radius:13px}.cards{grid-template-columns:1fr}.generation-label{font-size:10px}.generation .person-card{width:100%;flex-basis:100%}.person-card{padding:14px}.person-main strong{font-size:16px}.person-main small{font-size:12px}.toolbar{flex-wrap:wrap}.toolbar label{min-width:100%}.person-heading{flex-wrap:wrap;gap:14px}.person-heading .grow{min-width:170px}.avatar.large{width:48px;height:48px;font-size:24px}.person-heading h2{font-size:22px}.form-grid{grid-template-columns:1fr}.insight-grid{grid-template-columns:1fr}.detail-grid{gap:0}.welcome{padding:24px}.welcome h2{font-size:30px}.actions button{flex:1 1 auto;font-size:14px}.timeline .panel{gap:12px}.timeline-year{min-width:42px;font-size:20px}.timeline h3{font-size:17px}dialog{padding:20px}.main-footer{margin-top:25px}}

.archive-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.document-card{min-width:0}.document-image{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain;background:#f6f3eb}.document-pdf{width:100%;height:65vh;border:0}.document-download{font-weight:600}#editor h2{overflow-wrap:anywhere}#editor select[multiple]{max-width:100%}

.search-names{margin:8px 4px 16px;overflow-wrap:anywhere}
