:root{font:16px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#25231f;background:#f7f4ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100svh}body{margin:0}main{min-height:100svh;background:#f7f4ed;color:#25231f}.app-header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:32px;align-items:end;padding:40px clamp(20px,5vw,64px) 28px;border-bottom:1px solid #d8d1c4;background:linear-gradient(120deg,#22585a21,#bd864a1f),#fbfaf6}.eyebrow{margin:0 0 8px;color:#526f64;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:820px;margin-bottom:14px;font-size:clamp(40px,6vw,72px);line-height:.95;letter-spacing:0}h2{margin-bottom:0;font-size:24px;line-height:1.15}h3{font-size:17px}.lede{max-width:760px;margin-bottom:0;color:#625d53;font-size:18px}.import-grid{display:grid;gap:12px}.import-panel{display:grid;gap:10px;padding:18px;border:1px solid #cbc1b1;border-radius:8px;background:#fff;box-shadow:0 14px 36px #47372614;color:#24211d;font-weight:800}.import-panel input{width:100%;color:#5a554e}.chart-band,.comparison,.correspondence{padding:26px clamp(20px,5vw,64px);border-bottom:1px solid #d8d1c4}.chart-title,.workspace-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:16px}.legend,.stat-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;color:#625d53;font-size:14px}.chart-actions{display:flex;gap:14px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.chart-actions button{padding:8px 12px;border:1px solid #bdb2a2;border-radius:6px;background:#fff;color:#25231f;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.chart-actions button:disabled{cursor:not-allowed;opacity:.45}.legend span{width:34px;height:12px;margin-top:4px;border-radius:999px;background:#22585a}.stat-row span{padding:6px 10px;border-radius:999px;background:#e9e2d5}.chart-frame{position:relative;overflow:hidden;border:1px solid #cbc1b1;border-radius:8px;background:linear-gradient(#eee7db 1px,transparent 1px),linear-gradient(90deg,#eee7db 1px,transparent 1px),#fffdf8;background-size:34px 34px}.chart-controls{position:absolute;z-index:2;top:12px;right:12px;display:flex;gap:8px;align-items:center;padding:8px;border:1px solid rgba(158,143,125,.45);border-radius:8px;background:#fffdf8eb;box-shadow:0 10px 26px #4737261a}.chart-controls button{padding:7px 10px;border:1px solid #bdb2a2;border-radius:6px;background:#fff;color:#25231f;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.chart-controls span{min-width:44px;color:#526f64;font-size:13px;font-weight:800;text-align:right}.ancestor-chart{display:block;width:100%;min-width:760px;height:560px;cursor:grab;touch-action:none}.ancestor-chart:active{cursor:grabbing}.ancestor-chart path{fill:none;stroke:#b78b56;stroke-width:2.5}.chart-node{cursor:pointer;outline:none}.chart-node text{pointer-events:none}.person-card{fill:#fff;stroke:#9e8f7d;stroke-width:1.5}.person-card.self{fill:#22585a;stroke:#163c3d}.person-card.selected{stroke:#bf6f2f;stroke-width:3}.person-card.self+.card-name,.person-card.self~.card-meta{fill:#fff}.card-name{fill:#26231f;font-size:13px;font-weight:800}.card-meta{fill:#635e55;font-size:11px}.chart-placeholder,.empty-state{padding:24px;border:1px dashed #b9ad9c;border-radius:8px;color:#6b6258;background:#fff9}.correspondence{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);gap:22px;align-items:start;background:#f0eadf}.correspondence-copy p:last-child{color:#625d53}.notes-panel{display:grid;gap:12px;min-width:0}.notes-panel textarea{min-height:150px;resize:vertical;box-sizing:border-box;width:100%;padding:14px;border:1px solid #bdb2a2;border-radius:8px;background:#fffdf8;color:#24211d;font:inherit}.note-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.note-results.matched{padding-top:12px;border-top:1px solid #d8d1c4}.mini-list{min-width:0;padding:14px;border:1px solid #cbc1b1;border-radius:8px;background:#fffdf8}.mini-list h3{margin-bottom:10px}.mini-list p{margin-bottom:0;color:#6b6258}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{max-width:100%;overflow-wrap:anywhere;padding:5px 8px;border-radius:999px;background:#e7f0ed;color:#24544e;font-size:12px;font-weight:800}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #d8d1c4}.workspace{min-width:0;padding:26px clamp(20px,4vw,44px)}.workspace:first-child{border-right:1px solid #d8d1c4}.search{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #bdb2a2;border-radius:6px;background:#fffdf8;color:#24211d;font:inherit}.people-list{display:grid;gap:8px;max-height:330px;margin:14px 0;overflow:auto}.people-list button{display:grid;gap:4px;width:100%;padding:12px;border:1px solid #d3c8b8;border-radius:8px;background:#fff;color:#29251f;text-align:left;cursor:pointer}.people-list button.active{border-color:#22585a;box-shadow:inset 4px 0 #22585a}.people-list span{color:#6b6258;font-size:13px}.details{padding-top:10px}.details dl{display:grid;gap:10px;margin:14px 0 0}.details div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px}.details dt{color:#526f64;font-weight:800}.details dd{margin:0;color:#4c4740}.relative-links{display:flex;flex-wrap:wrap;gap:6px}.relative-links button{padding:5px 8px;border:1px solid #bdb2a2;border-radius:999px;background:#fffdf8;color:#24544e;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.clue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.clue-list{padding:18px;border:1px solid #cbc1b1;border-radius:8px;background:#fffdf8}.clue-list div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e7dece}.clue-list span{color:#8a6238;font-weight:800}@media (max-width: 880px){.app-header,.correspondence,.columns,.clue-grid,.note-results{grid-template-columns:1fr}.workspace:first-child{border-right:0;border-bottom:1px solid #d8d1c4}.chart-title,.workspace-head{display:grid}.chart-controls{position:static;margin:0 0 10px;flex-wrap:wrap}}
