:root{--ink:#182827;--muted:#687673;--gold:#af8950;--paper:#f8f6f1;--panel:#fff;--line:#deded6;--green:#426b5b;--mist:#edf1ed;--dark:#142723;--radius:15px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}a:hover{color:#8a6834}.shell{max-width:1550px;margin:0 auto;min-height:100vh}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brandmark{height:44px;width:44px;display:grid;place-items:center;background:var(--dark);color:#ead7aa;border-radius:50%;font:italic 27px Georgia,serif}.brand strong{font-size:14px;letter-spacing:.15em;display:block}.brand small{display:block;font-size:9px;letter-spacing:.2em;color:var(--muted)}.top-note,.source-site{font-size:12px;color:var(--muted)}.source-site{border-bottom:1px solid #b5bcb7;text-decoration:none}.hero{padding:78px 5% 70px;background:radial-gradient(ellipse at 90% 10%,#38594a 0%,#1c352e 42%,#142923 100%);color:#f7f5eb;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-90px;top:-170px;border:1px solid #b5aa8475;width:510px;height:510px;border-radius:50%;box-shadow:0 0 0 90px #a39b7840,0 0 0 180px #a39b7815;pointer-events:none}.eyebrow,.overline,.sidebar-caption,.tiny-label{letter-spacing:.21em;font-size:10px;font-weight:700;color:#a6a58e}.hero h1{font:normal clamp(48px,5.3vw,83px)/1.11 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:22px 0}.hero h1 em{font-weight:normal;color:#d7bb8e}.hero>p{max-width:650px;color:#d0d8d0;font-size:16px}.hero-actions{display:flex;gap:12px;margin-top:28px;position:relative;z-index:2}.hero-actions button,.feature button{border:0;background:#e4d5b7;color:#263a30;border-radius:7px;padding:11px 17px;font-size:12px;font-weight:700}.hero-actions button span{margin-left:20px}.hero-actions .ghost{background:transparent;border:1px solid #8fa397;color:#f8f6f1}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:#fff;padding:25px 5%;gap:20px}.stats>div{display:flex;align-items:baseline;gap:13px}.stats strong{font:35px Georgia,serif}.stats span{font-size:11px;letter-spacing:.05em;color:var(--muted)}.content-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;padding:38px 5% 80px}.sidebar{border-right:1px solid var(--line);padding:18px 23px 20px 0;align-self:start;position:sticky;top:10px}.sidebar-caption{color:var(--gold);margin:0 0 18px}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;text-align:left;border-radius:7px;padding:12px 14px;font-size:13px;color:#62736d}.nav button span{font-size:19px;margin-right:12px;vertical-align:-1px}.nav button.active{background:var(--dark);color:#faf8eb}.side-bottom{border-top:1px solid var(--line);margin-top:32px;padding-top:20px}.side-bottom p{font-size:12px;color:var(--muted)}.section-top h2{font:normal clamp(30px,3vw,44px) Georgia,serif;letter-spacing:-.03em;margin:9px 0}.section-top p{color:var(--muted);margin:3px 0 22px;max-width:770px}.overline{color:var(--gold)}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.feature{background:#fff;border:1px solid var(--line);padding:27px;border-radius:var(--radius);min-height:285px}.feature:first-child{grid-row:span 2;background:#e8eee9}.feature-index{color:var(--gold);font-size:10px;letter-spacing:.15em;font-weight:700}.feature h3{font:28px/1.2 Georgia,serif;max-width:290px}.feature p{color:var(--muted);font-size:13px}.feature button{background:transparent;border:1px solid #b9c6ba;margin-top:12px}.notice{margin-top:18px;padding:19px;background:#fff9e9;border-left:4px solid #b89b62;border-radius:8px}.notice p{font-size:12px;color:#75684e}.toolbar{display:flex;align-items:center;gap:10px;margin:18px 0;flex-wrap:wrap}.toolbar label,.result-count{font-size:12px;color:var(--muted)}input[type=search],select{border:1px solid #cbd4cc;padding:11px 14px;border-radius:8px;background:#fff;color:var(--ink);min-width:170px}.toolbar input[type=search]{flex:1;min-width:215px}.outline{border:1px solid #adbcb1;color:var(--ink);background:#fff;border-radius:7px;padding:10px 13px}.graph{height:670px;max-height:78vh;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.legend{font-size:11px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;align-items:center}.legend-dot{width:13px;height:4px;display:inline-block;border-radius:3px}.legend-dot.parent{background:#718c7b}.legend-dot.spouse{background:#bc9661}.legend-dot.sibling{background:#829bb0}.legend-dot.candidate{background:#b0adb3}.people-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.person-card{background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;gap:12px;text-align:left;padding:16px;min-height:92px}.person-card:hover{border-color:var(--gold)}.person-card strong{display:block;font:17px/1.25 Georgia,serif}.person-card small{display:block;color:var(--muted);font-size:11px;margin-top:8px}.mini-badge{font-size:10px;padding:3px 8px;align-self:start;border-radius:20px;background:#e8f0ea;color:#3c6550;white-space:nowrap}.mini-badge.candidate{background:#f4eade;color:#98713f}.map{height:530px;border:1px solid var(--line);border-radius:var(--radius);background:#e4ebe6}.place-list{margin-top:17px;display:flex;flex-wrap:wrap;gap:8px}.place-list button{border:1px solid var(--line);background:#fff;padding:7px 11px;border-radius:8px;font-size:12px}.timeline{position:relative;margin-top:27px;padding-left:23px;border-left:2px solid #ccbe9d}.event{margin:0 0 20px;padding:22px 25px;background:white;border:1px solid var(--line);border-radius:10px;position:relative}.event:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--gold);position:absolute;left:-30px;top:25px;border:3px solid var(--paper)}.event-top{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.event time{font-size:11px;letter-spacing:.09em;color:#996b3e;font-weight:800}.event .where{font-size:11px;color:var(--muted)}.event h3{font:22px Georgia,serif;margin:9px 0 5px}.event p{color:#566660;font-size:13px;margin:0 0 8px}.event a{font-size:12px;text-decoration:underline}.history-full{display:inline-block;margin:15px 0;color:var(--green);font-weight:700;font-size:13px}.research-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.research-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px}.research-card h3{font:21px Georgia,serif;margin:10px 0}.research-card p{font-size:12px;color:var(--muted)}.research-card .status{font-size:10px;color:#986f3c;letter-spacing:.08em;text-transform:uppercase;font-weight:700}footer{border-top:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted);font-size:11px;padding:24px 5%;flex-wrap:wrap}footer strong{font:18px Georgia,serif;color:var(--ink)}dialog{border:1px solid var(--line);border-radius:17px;max-width:670px;width:90%;padding:32px;box-shadow:0 24px 80px #0c241b52}dialog::backdrop{background:#15271ca6}.dialog-close{float:right;border:0;background:#edf0ed;border-radius:30px;width:34px;height:34px}.detail h2{font:34px Georgia,serif;margin:0 0 8px}.detail-meta{color:#63736c;font-size:13px}.detail h3{font-size:12px;letter-spacing:.15em;color:#9b794b;margin-top:22px}.detail ul{font-size:13px}.detail .source{font-size:11px;color:#839087}.history-page{padding:50px 5%;max-width:950px;margin:auto}@media(max-width:900px){.content-layout{grid-template-columns:1fr}.sidebar{position:static;border:0;padding:0}.nav{grid-template-columns:repeat(3,1fr)}.nav button{font-size:11px;padding:10px}.nav button span{display:none}.side-bottom{display:none}.overview-grid{grid-template-columns:1fr}.feature:first-child{grid-row:auto}.people-list{grid-template-columns:1fr}.research-grid{grid-template-columns:1fr}.top-note{display:none}}@media(max-width:580px){.hero{padding:55px 6%}.stats{grid-template-columns:repeat(2,1fr)}.stats>div{display:block}.stats span{display:block}.topbar{height:71px;padding:0 5%}.source-site{max-width:120px;text-align:right}.content-layout{padding:25px 5%}.graph{height:550px}.nav{grid-template-columns:repeat(2,1fr)}.event{padding:16px}.hero h1{font-size:47px}}
