@font-face{font-family:Studio Sans;src:url(/fonts/NotoSans-Regular.ttf)format("truetype");font-display:swap;font-weight:100 900}:root{color:var(--ink);--ink:#263d33;--muted:#4c6048;--accent:#3f6732;--accent-strong:#285744;--green:var(--accent);--line:#cad3c2;--control-border:#74856b;--surface-soft:#f3f6ef;--selected:#e5eedc;background:#f6f7f3;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.5;cursor:not-allowed}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}fieldset{border:0;min-width:0;margin:0;padding:0}p{line-height:1.65}h1,h2,h3,p{margin-top:0}a{color:inherit}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:80px;padding:16px 36px;display:flex}.brand{letter-spacing:-.6px;align-items:center;gap:12px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.brand-icon{object-fit:contain;flex-shrink:0;width:48px;height:48px;display:block}.brand-light{font-weight:400}.beta{letter-spacing:1px;background:var(--surface-soft);color:var(--muted);border-radius:4px;margin-left:5px;padding:6px 8px;font-size:11px;font-weight:400}.header-actions{align-items:center;gap:24px;display:flex}.privacy-badge,.quiet-button{color:var(--muted);align-items:center;gap:7px;font-size:14px;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:20px;max-width:1536px;margin:auto;padding:32px 36px;display:flex}.eyebrow{letter-spacing:1.5px;color:var(--muted);font-size:12px;font-weight:600}.page-heading h1{letter-spacing:-.7px;color:var(--ink);margin:12px 0 10px;font-family:inherit;font-size:36px;font-weight:700;line-height:1.25}.page-heading p{color:var(--muted);margin:0;font-size:16px}.browser-note{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:flex}.mobile-break{display:none}.workspace{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:1464px;margin:0 36px;overflow:hidden;box-shadow:0 3px 10px #263d3304}.tree-controls{border-bottom:1px solid var(--line);background:#fff;width:100%}.controls-heading{border-bottom:1px solid var(--line);background:#fafbf7;justify-content:space-between;align-items:center;gap:18px;padding:22px 26px 20px;display:flex}.controls-heading h2{margin:0 0 5px;font-size:22px;font-weight:600}.controls-heading p{color:var(--muted);margin:0;font-size:14px}.controls-heading .text-link{white-space:nowrap}.controls-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.settings-fieldset{display:contents}.control-section{border-right:1px solid var(--line);min-width:0;padding:22px}.settings-fieldset>.control-section:last-child{border-right:0}.control-section h2{color:var(--ink);background:#edf2e6;border-bottom:2px solid #a8b99c;align-items:center;gap:9px;margin:0 0 18px;font-size:16px;font-weight:600;line-height:1.45;display:flex}.control-section h2>span{background:var(--accent-strong);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:12px;font-weight:400;display:grid}.controls-footer{border-top:1px solid var(--line);color:var(--muted);background:#fafbf7;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:13px;display:flex}.import-box{border:1px dashed var(--control-border);background:#fafbf7;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:151px;padding:18px 10px;transition:background .15s;display:flex}.import-box:hover{background:var(--selected);border-color:var(--accent)}.upload-icon{background:var(--surface-soft);width:38px;height:38px;color:var(--muted);border-radius:50%;place-items:center;margin-bottom:10px;display:grid}.import-box strong{font-size:15px;font-weight:600}.import-box small{color:var(--muted);margin-top:7px;font-size:12px}.file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-loaded{color:var(--muted);align-items:center;gap:9px;padding:17px 0 12px;display:flex}.file-loaded>div{flex:1;min-width:0}.file-loaded strong{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;font-weight:400;display:block;overflow:hidden}.file-loaded small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.file-links{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;font-size:13px;display:flex}.file-links button{border:1px solid var(--control-border);min-height:40px;color:var(--accent-strong);background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:13px;font-weight:650;display:inline-flex}.file-links button:hover:not(:disabled){background:var(--selected)}.search-field{border:1px solid var(--control-border);color:var(--muted);border-radius:6px;align-items:center;gap:8px;padding:11px;display:flex}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;min-width:0;font-size:14px}.search-field input::placeholder{color:var(--muted)}.search-field button{padding:0;display:flex}.people-list{scrollbar-width:thin;scrollbar-color:var(--surface-soft) transparent;max-height:210px;margin-top:10px;overflow-y:auto}.people-list>button{text-align:left;border:1px solid #0000;border-radius:6px;align-items:center;gap:9px;width:100%;min-height:58px;padding:9px;display:flex}.people-list>button:hover{background:var(--surface-soft)}.people-list>button.selected{background:var(--selected);border-color:var(--accent)}.person-initial{background:var(--surface-soft);width:32px;height:32px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;display:grid}.selected .person-initial{background:var(--accent);color:#fff}.people-list>button>span:nth-child(2){flex:1;min-width:0}.people-list strong{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:14px;font-weight:600;display:block;overflow:hidden}.people-list small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.people-list small span{font-size:12px}.people-list>button>svg{color:var(--muted)}.empty-search{color:var(--muted);padding:12px;font-size:14px}.field-help{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.6;display:block}.field-label{color:var(--muted);margin-bottom:9px;font-size:14px;display:block}.segmented{border:1px solid var(--control-border);background:#eef2e7;border-radius:6px;margin-bottom:16px;padding:3px;display:flex}.segmented button{color:var(--muted);border:1px solid #0000;border-radius:4px;flex:1;padding:10px 5px;font-size:14px;font-weight:600}.segmented button.active{color:var(--accent-strong);border-color:var(--accent);background:#fff;box-shadow:0 1px 3px #263d3315}.form-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:15px 0;display:flex}.form-row label{color:var(--muted);font-size:14px}.form-row select{min-width:80px;max-width:100%}.form-row:has(#theme){flex-direction:column;align-items:stretch}select,input[type=number]{color:var(--muted);border:1px solid var(--surface-soft);background-color:#fff;border-radius:6px;min-height:42px;padding:11px;font-size:14px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234c6048' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}#theme{width:100%}.toggle-row{cursor:pointer;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:14px;display:flex;position:relative}.toggle-row>span:first-child{flex:1}.toggle-row small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.6;display:block}.toggle-row input{opacity:0;cursor:pointer;width:37px;height:23px;position:absolute;right:0}.switch{background:#6c7864;border-radius:14px;flex-shrink:0;width:37px;height:23px;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0001}.toggle-row input:checked+.switch{background:var(--accent)}.toggle-row input:checked+.switch:after{transform:translate(14px)}.toggle-row input:focus-visible+.switch{outline:3px solid var(--accent);outline-offset:3px}.privacy-control{border-top:1px solid var(--surface-soft);margin-top:19px;padding-top:1px}.privacy-control .toggle-row>span>span{color:var(--muted);align-items:center;gap:6px;display:flex}.layout-options{gap:9px;margin-bottom:12px;display:flex}.layout-options button{border:1px solid var(--control-border);color:var(--muted);border-radius:6px;flex:1;justify-content:center;align-items:center;gap:9px;padding:14px 7px;font-size:14px;font-weight:600;display:flex}.layout-options button.active{background:var(--selected);border-color:var(--accent);color:var(--accent-strong)}.vertical-icon{transform:rotate(90deg)}.horizontal-icon{transform:rotate(180deg)}.advanced{margin-top:18px}.advanced summary{color:var(--muted);cursor:pointer;align-items:center;gap:7px;padding:5px 0;font-size:14px;display:flex}.advanced summary svg:last-child{margin-left:auto}.advanced label{color:var(--muted);margin-top:17px;font-size:14px;display:block}.advanced output{float:right}.advanced input{width:100%;accent-color:var(--muted);margin:13px 0 0;display:block}.main-panel{background:#fff;width:100%;min-width:0;scroll-margin-top:20px}.preview-heading{justify-content:space-between;align-items:center;gap:20px;padding:28px 28px 23px;display:flex}.preview-heading h2{letter-spacing:-.3px;overflow-wrap:anywhere;color:var(--ink);margin:10px 0 8px;font-family:inherit;font-size:32px;font-weight:700}.preview-heading p{color:var(--muted);margin:0;font-size:14px}.secondary-button{border:1px solid var(--control-border);white-space:nowrap;color:var(--accent-strong);background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:11px 14px;font-size:14px;font-weight:600;display:flex}.view-tabs{border-bottom:1px solid var(--line);align-items:center;gap:28px;min-height:49px;padding:0 28px;display:flex}.preview-tablist>button{min-height:49px;color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:8px;padding:0 0 13px;font-size:14px;font-weight:600;display:flex;position:relative;top:1px}.preview-tablist>button.active{border-bottom-color:var(--accent);color:var(--accent-strong);background:var(--selected);border-radius:6px 6px 0 0}.vector-label{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;padding-bottom:12px;font-size:12px;display:flex}.vector-label>span{background:var(--control-border);border-radius:50%;width:6px;height:6px}.tree-canvas{background-color:#fafbf7;background-image:radial-gradient(#d0dac7 .8px,#0000 .8px);background-size:18px 18px;height:650px;position:relative;overflow:hidden}.tree-canvas>svg{touch-action:none;cursor:grab;display:block}.tree-canvas>svg:active{cursor:grabbing}.canvas-caption{letter-spacing:1px;color:var(--muted);pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;top:22px;left:25px}.live-dot{background:var(--muted);border-radius:50%;width:5px;height:5px}.caption-hint{letter-spacing:0;color:var(--muted);margin-left:8px;font-size:13px}.edge-label{paint-order:stroke;stroke:#fafbf7;stroke-width:3px}.person-node{cursor:pointer;font-family:Studio Sans,Arial,sans-serif}.person-node:focus{outline:none}.person-node:hover rect{stroke-width:2.5px}.person-node:focus-visible rect{stroke:var(--ink);stroke-width:4px}.canvas-legend{color:var(--muted);pointer-events:none;background:#fafbf7f2;flex-wrap:wrap;align-items:center;gap:12px 18px;max-width:calc(100% - 360px);padding:4px 0;font-size:12px;display:flex;position:absolute;bottom:22px;left:25px}.canvas-legend>span{align-items:center;gap:6px;display:flex}.legend-line{background:var(--control-border);width:19px;height:1px}.legend-line.dashed{border-top:1px dashed var(--control-border);background:0 0;height:0}.sex-swatch{border:1px solid;border-radius:3px;width:11px;height:11px}.sex-swatch.female{background:#fbecef;border-color:#b6637b}.sex-swatch.male{background:#eaf3fc;border-color:#6d92b6}.sex-swatch.neutral{border-color:var(--control-border);background:#f3f2ee}.zoom-controls{border:1px solid var(--surface-soft);background:#fff;border-radius:7px;align-items:center;gap:4px;padding:5px;display:flex;position:absolute;bottom:18px;right:24px;box-shadow:0 2px 4px #263d3305}.zoom-controls button{width:34px;height:34px;color:var(--muted);place-items:center;font-size:15px;display:grid}.zoom-controls span{color:var(--muted);text-align:center;min-width:39px;font-size:13px}.zoom-controls i{background:var(--surface-soft);width:1px;height:20px;margin:0 4px}.print-panel{border-top:1px solid var(--line);background:#fff;padding:28px}.print-title{align-items:center;gap:14px;margin-bottom:23px;display:flex}.small-icon{background:var(--surface-soft);width:42px;height:42px;color:var(--muted);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.print-title h3{color:var(--ink);margin:0 0 5px;font-family:inherit;font-size:26px;font-weight:700}.print-title p{color:var(--muted);margin:0;font-size:14px}.print-settings{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:16px;display:grid}.print-settings>label{color:var(--muted);flex-direction:column;gap:9px;font-size:14px;display:flex}.print-settings select,.print-settings input{width:100%;min-width:0;font-size:14px}.export-row{justify-content:space-between;align-items:center;gap:22px;margin-top:22px;display:flex}.export-meta>span{color:var(--muted);align-items:center;gap:7px;font-size:15px;display:flex}.export-meta>small{color:var(--muted);margin-top:7px;font-size:13px;display:block}.primary-button{background:var(--accent);color:#fff;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:14px 21px;font-size:15px;font-weight:600;display:flex;box-shadow:0 2px 5px #3f673220}.primary-button:hover:not(:disabled){background:var(--accent-strong)}.warning{color:#805d2b;background:#faf6ec;border:1px solid #e8dbc0;border-radius:6px;margin:18px 0 0;padding:13px 16px;font-size:14px;line-height:1.65}.inline-warning{margin:14px 28px}.tile-instructions,.auto-print-notice{border:1px solid var(--surface-soft);background:var(--surface-soft);color:var(--muted);border-radius:7px;margin:18px 0 0;padding:14px 17px;font-size:14px;line-height:1.75}.auto-print-notice{color:#3d5d32;background:#f0f5e9;border-color:#b3c4a6}.person-details{border-top:1px solid var(--line)}.person-details summary{cursor:pointer;color:var(--muted);align-items:center;gap:10px;padding:22px 28px;font-size:15px;list-style:none;display:flex}.person-details summary>span{color:var(--muted);font-size:13px}.person-details summary>svg:last-child{margin-left:auto}.detail-content{padding:0 28px 25px}.detail-top{justify-content:space-between;gap:24px;display:flex}.detail-top h3{margin:0;font-size:20px}.detail-top p{color:var(--muted);overflow-wrap:anywhere;font-size:15px}.detail-top>label{color:var(--muted);flex-shrink:0;max-width:260px;font-size:14px}.detail-top select{max-width:260px;margin-top:9px;display:block}.text-link{color:var(--accent-strong);text-underline-offset:3px;align-items:center;gap:6px;padding:0;font-size:14px;text-decoration:underline;display:inline-flex}.record-id{color:var(--muted);font-size:12px}.family-text{grid-template-columns:1fr 1fr;gap:17px;margin-top:23px;display:grid}.family-text>div{background:var(--surface-soft);border-radius:7px;padding:16px}.family-text strong{color:var(--muted);font-size:15px}.family-text p{color:var(--muted);margin:9px 0 0;font-size:14px}.family-text .text-link{line-height:1.8}.import-notes{border-top:1px solid var(--line);color:var(--muted);padding:18px 28px;font-size:13px}.import-notes summary{cursor:pointer;align-items:center;gap:9px;display:flex}.import-notes li,.import-notes p{color:var(--muted);line-height:1.8}.coming-next{background:var(--surface-soft);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;padding:20px 28px;font-size:14px;display:flex}.future-tag{border:1px solid var(--surface-soft);border-radius:5px;padding:6px 9px;font-size:12px}.coming-next small{letter-spacing:1px;color:var(--muted);margin-left:auto;font-size:11px}.site-footer{max-width:1464px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin:0 36px;padding:25px 0 32px;font-size:13px;display:flex}.site-footer>span{align-items:center;gap:8px;font-size:14px;display:flex}.site-footer p{margin:0;font-family:inherit;font-size:16px;font-style:normal}.site-footer button{color:var(--muted);font-size:13px}.status-bar{background:var(--surface-soft);border:1px solid var(--surface-soft);max-width:1464px;color:var(--muted);border-radius:7px;align-items:center;gap:17px;margin:17px 36px 0;padding:14px 17px;font-size:14px;display:flex}.status-bar button{margin-left:auto;font-size:14px;text-decoration:underline}.status-bar progress{width:130px;accent-color:var(--muted)}.status-bar.has-error{color:#92572d;background:#faf0e8;border-color:#ebd5c2}.empty-state{background:var(--surface-soft);height:480px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.empty-state h3{color:var(--ink);margin:23px 0 9px;font-family:inherit;font-size:32px;font-weight:700}.empty-state p{max-width:440px;font-size:16px}.empty-state .text-link{margin-top:18px}.relationships-panel{background:var(--surface-soft);min-height:400px;max-height:650px;padding:28px;overflow:auto}.relationships-panel h3{color:var(--ink);margin-bottom:9px;font-family:inherit;font-size:28px;font-weight:700}.relationships-panel>p{color:var(--muted);font-size:15px}.relationship-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:23px;display:grid}.relationship-grid button{text-align:left;border:1px solid var(--surface-soft);color:var(--muted);background:#fff;border-radius:7px;padding:18px 32px 18px 17px;font-size:16px;position:relative}.relationship-grid button.active{border-color:var(--control-border);background:var(--surface-soft)}.relationship-grid small{color:var(--muted);margin-top:9px;font-size:13px;display:block}.relationship-grid svg{position:absolute;top:22px;right:12px}.modal-backdrop{backdrop-filter:blur(3px);z-index:10;background:#263d3366;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(600px,100%);max-height:90vh;color:var(--muted);background:#fff;border-radius:12px;padding:34px;position:relative;overflow:auto;box-shadow:0 15px 80px #263d3333}.modal>svg{color:var(--muted)}.modal h2{color:var(--ink);margin:20px 0 16px;font-family:inherit;font-size:32px;font-weight:700}.modal p{color:var(--muted);font-size:15px;line-height:1.8}.modal .primary-button{width:100%;margin-top:24px}.modal-close{color:var(--muted);position:absolute;top:17px;right:17px}.consent{background:var(--surface-soft);border-radius:6px;align-items:flex-start;gap:10px;margin-top:22px;padding:14px;font-size:14px;line-height:1.7;display:flex}.consent input{accent-color:var(--muted)}.modal summary{cursor:pointer}.skip-link{color:var(--muted);z-index:20;border:2px solid var(--muted);background:#fff;border-radius:5px;padding:14px;position:fixed;top:-90px;left:20px}.skip-link:focus{top:10px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--surface-soft);border-radius:8px}@media (width>=1536px){.workspace,.site-footer,.status-bar{margin-left:auto;margin-right:auto}}@media (width<=1199px){.browser-note{display:none}.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-section{border-bottom:1px solid var(--line)}.settings-fieldset>.control-section:first-child{border-right:0}.settings-fieldset>.control-section:nth-child(2),.settings-fieldset>.control-section:nth-child(3){border-bottom:0}.print-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.relationship-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.topbar{min-height:72px;padding:15px 18px}.brand{gap:9px;font-size:19px}.brand-icon{width:34px;height:34px}.beta{margin:0;padding:5px;font-size:9px}.privacy-badge,.quiet-button span{display:none}.page-heading{padding:27px 20px}.page-heading h1{font-size:30px;line-height:1.3}.mobile-break{display:block}.eyebrow{font-size:11px}.page-heading p{font-size:15px}.workspace{border-radius:9px;margin:0 12px}.controls-heading{flex-direction:column;align-items:flex-start;gap:13px;padding:20px 18px}.controls-heading h2{font-size:21px}.controls-grid{grid-template-columns:1fr}.control-section{border-right:0;border-bottom:1px solid var(--line);padding:22px 18px}.settings-fieldset>.control-section:nth-child(2){border-bottom:1px solid var(--line)}.people-list{max-height:185px}.import-box{min-height:130px}.controls-footer{padding:14px;font-size:12px}.preview-heading{align-items:flex-start;gap:12px;padding:24px 18px}.preview-heading h2{font-size:27px;line-height:1.3}.preview-heading p{font-size:13px}.save-button{padding:11px}.save-button span{display:none}.view-tabs{gap:16px;padding:0 18px}.preview-tablist>button{gap:6px;font-size:13px}.vector-label{display:none}.tree-canvas{height:560px}.canvas-caption{gap:7px;max-width:calc(100% - 32px);font-size:11px;top:18px;left:16px}.caption-hint{margin-left:0;font-size:12px}.canvas-legend{gap:9px 13px;max-width:calc(100% - 32px);font-size:11px;bottom:75px;left:16px}.zoom-controls{bottom:16px;right:16px}.print-panel{padding:24px 18px}.print-title{gap:11px}.print-title h3{font-size:23px;line-height:1.3}.print-title p{font-size:13px}.print-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.print-settings>label:first-child{grid-column:span 2}.print-settings select{font-size:14px}.export-row{flex-wrap:wrap;gap:18px}.export-row .primary-button{width:100%}.export-meta>small{line-height:1.6}.person-details summary{flex-wrap:wrap;padding:20px 18px;font-size:14px}.person-details summary>span{font-size:12px}.detail-content{padding:0 18px 22px}.detail-top{flex-direction:column}.family-text{grid-template-columns:1fr}.import-notes{padding:18px}.coming-next{padding:20px 18px}.coming-next small{margin-left:0}.relationships-panel{padding:24px 18px}.relationship-grid{grid-template-columns:1fr}.site-footer{flex-wrap:wrap;margin:0 20px;padding:24px 0;font-size:12px}.site-footer p{flex-basis:100%;order:3;display:block}.status-bar{flex-wrap:wrap;margin:15px 12px 0;line-height:1.6}.modal{padding:30px 23px}.modal h2{font-size:29px}.empty-state{height:auto;min-height:430px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.zoom-controls button:last-child{gap:6px;width:auto;padding:0 9px;display:flex}.zoom-controls button span{min-width:0;font-size:13px}.canvas-caption{background:#fafbf7f2;border-radius:4px;padding:4px 6px}.control-section h2{color:var(--ink);background:#edf2e6;border-bottom:2px solid #a8b99c;border-radius:7px;min-height:64px;padding:10px;font-size:17px;font-weight:700}.control-section h2>span{background:var(--accent-strong);color:#fff;border-radius:9px;width:36px;height:36px;font-size:15px;font-weight:700}.layout-options{flex-wrap:wrap}.layout-options button{min-width:90px;color:var(--muted);border:1px solid var(--control-border);gap:5px;font-weight:600}.view-tabs{flex-wrap:wrap;gap:12px 24px;padding-top:12px}.preview-tablist>button{color:var(--muted);padding-bottom:10px;font-weight:600}.output-toolbar{justify-content:space-between;align-items:start;gap:24px;display:flex}.output-toolbar h3{color:var(--ink);margin:0 0 8px;font-size:23px}.output-toolbar p{color:var(--muted);max-width:650px;margin:0;line-height:1.6}.output-toolbar label{flex-direction:column;gap:8px;min-width:215px;display:flex}.output-toolbar select,.place-review select,.place-review input,.parent-choices select{width:100%}.reports-panel,.map-panel{padding:28px}.report-summary,.map-summary{background:var(--selected);color:var(--accent-strong);border-radius:6px;margin:20px 0;padding:14px 18px}.report-document{border:1px solid var(--surface-soft);overflow-wrap:anywhere;background:#fff;max-height:720px;padding:32px;overflow-y:auto}.report-document>h3{margin-top:0;font-size:26px}.report-document .report-section{border-bottom:1px solid var(--surface-soft);padding:12px 0 20px}.report-document h4,.report-document h5{margin:10px 0 15px;font-size:19px}.report-document h4 button,.report-document h5 button{text-align:left;font:inherit;color:var(--muted)}.report-document .report-generation{border:1px solid var(--control-border);border-radius:8px;margin:28px 0;overflow:hidden}.generation-heading{background:var(--selected);color:var(--accent-strong);border-left:5px solid var(--accent);border-bottom:1px solid var(--control-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:16px 18px;display:flex}.report-document .generation-heading h4{margin:0;font-size:20px;line-height:1.4}.generation-heading>span{font-size:14px}.generation-entries{padding:0 18px}.generation-entries .report-section:last-child{border-bottom:0}.report-document h5 button{color:var(--ink)}.report-document p{color:var(--muted);margin:8px 0;line-height:1.75}.report-notes{color:#6a613f;line-height:1.6}.parent-choices{border:1px solid var(--control-border);background:#fafbf7;border-radius:8px;margin:20px 28px;padding:16px}.parent-choices summary,.place-review summary{cursor:pointer;font-weight:600}.parent-choices p,.place-review p{color:var(--muted);font-size:14px;line-height:1.65}.parent-choices label{margin:15px 0;display:block}.parent-choices select{margin-top:8px;display:block}.world-map-wrap{background:#2b354e;border-radius:10px;position:relative;overflow:hidden}.world-map{width:100%;min-height:230px;display:block}.world-map [role=button]{cursor:pointer}.world-map [role=button]:hover,.world-map [role=button]:focus{stroke:#fff3ae;stroke-width:1.8px;outline:none}.map-zoom{border-radius:5px;gap:1px;display:flex;position:absolute;bottom:15px;right:15px;overflow:hidden}.map-zoom button{color:var(--ink);background:#fff;min-width:38px;padding:9px}.map-legend{flex-wrap:wrap;align-items:center;gap:10px 18px;padding:17px 0;font-size:13px;display:flex}.map-legend span{align-items:center;gap:7px;display:flex}.map-legend i{border:1px solid var(--muted);border-radius:3px;width:17px;height:17px;display:inline-block}.map-details{border-top:1px solid var(--surface-soft);grid-template-columns:1fr 1.3fr;gap:30px;padding:8px 0 20px;display:grid}.map-details h4{margin:18px 0 12px;font-size:18px}.map-details p{color:var(--muted);line-height:1.6}.country-list,.map-person-list{max-height:300px;overflow-y:auto}.country-list button{text-align:left;border-radius:5px;justify-content:space-between;width:100%;margin-bottom:4px;padding:12px 15px;display:flex}.country-list button:hover,.country-list button.active{background:var(--surface-soft);color:var(--muted)}.map-person-list button{text-align:left;padding:10px 0;display:block}.map-person-list small{color:var(--muted)}.place-review{border-top:1px solid var(--surface-soft);padding:18px 0}.place-review>input{margin-bottom:12px}.place-row{border-bottom:1px solid var(--surface-soft);justify-content:space-between;align-items:center;gap:20px;padding:12px 0;display:flex}.place-row span{overflow-wrap:anywhere}.place-row select{min-width:160px;max-width:300px}.place-row small{color:var(--muted);margin-top:5px;display:block}.map-attribution{color:var(--muted);font-size:12px;line-height:1.7}@media (width<=700px){.reports-panel,.map-panel{padding:20px 16px}.output-toolbar{flex-direction:column;gap:16px}.output-toolbar label{width:100%;min-width:0}.report-document{padding:20px 15px}.map-details{grid-template-columns:1fr;gap:0}.place-row{flex-direction:column;align-items:stretch;gap:10px}.place-row select{max-width:none}.view-tabs{gap:6px 18px}.preview-tablist>button{min-height:38px}}select,input[type=number]{border-color:var(--control-border);color:var(--ink)}.search-field:focus-within{outline:3px solid var(--accent);outline-offset:3px}.search-field input:focus-visible{outline:none}.person-node:focus-visible path,.person-node:focus-visible rect{stroke:#3f6732;stroke-width:4px}.secondary-button:hover:not(:disabled),.zoom-controls button:hover{background:var(--selected)}.preview-tablist>button{padding-left:10px;padding-right:10px}.view-tabs{gap:8px 16px}.country-list button.active,.relationship-grid button.active{border:1px solid var(--accent);color:var(--accent-strong);background:var(--selected)}.place-review>input{border:1px solid var(--control-border);color:var(--ink);background:#fff;border-radius:6px;padding:11px}.print-density-help{color:var(--muted);margin:16px 0 0;font-size:14px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.public-guide,.public-fallback{border:1px solid var(--line);max-width:1464px;color:var(--ink);background:#fff;border-radius:12px;margin:28px 36px;padding:28px}.guide-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.guide-heading h2{margin:6px 0 12px;font-size:27px}.guide-heading .text-link{white-space:nowrap}.guide-definition{max-width:900px;font-size:16px}.guide-features{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 36px;padding-left:22px;line-height:1.65;display:grid}.public-guide h3{margin-top:30px;font-size:21px}.guide-questions details{border-top:1px solid var(--line);padding:16px 0}.guide-questions summary{cursor:pointer;padding-right:12px;font-weight:600;line-height:1.6}.guide-questions p{max-width:1050px;color:var(--muted);margin:12px 0 0}.guide-reviewed{color:var(--muted);margin:24px 0 0;font-size:13px}.choice-group{width:100%;min-width:0}.choice-group legend{padding:0}.preview-tablist{flex-wrap:wrap;gap:8px 16px;min-width:0;display:flex}@media (width>=1536px){.public-guide,.public-fallback{margin-left:auto;margin-right:auto}}@media (width<=700px){.public-guide,.public-fallback{margin:24px 12px;padding:22px 18px}.guide-heading{flex-direction:column;gap:6px}.guide-features{grid-template-columns:1fr}}.sponsor-slot{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:960px;margin:32px auto;padding:16px}.sponsor-slot .sponsor-label{color:var(--muted);margin:0 0 10px;font-size:12px}.sponsor-slot a{display:block}.sponsor-slot img{width:100%;height:auto;display:block}.sponsor-placeholder{text-align:center;border-style:dashed;min-height:160px}.sponsor-placeholder small{overflow-wrap:anywhere}@media print{.sponsor-slot{display:none}}.studio-header{border-bottom:1px solid var(--line);background:#fff}.studio-header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:auto;padding:23px 36px;display:flex}.studio-brand{color:var(--ink);flex-shrink:0;align-items:center;gap:12px;font-size:21px;font-weight:750;text-decoration:none;display:inline-flex}.studio-wordmark{letter-spacing:-.5px;flex-direction:column;line-height:1.1;display:flex}.studio-wordmark>span{letter-spacing:1px;margin-top:3px;font-size:16px;font-weight:500}.studio-symbol{object-fit:contain;flex-shrink:0;width:48px;height:48px;display:block}.studio-header nav ul,.studio-footer nav ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.studio-header nav a{color:var(--ink);border-radius:6px;padding:10px 13px;font-size:14px;font-weight:650;text-decoration:none;display:block}.studio-header nav a:hover,.studio-header nav a[aria-current]{background:var(--selected);color:var(--accent-strong)}.site-content{max-width:1368px;min-height:65vh;margin:0 auto;padding:0 36px}.site-content a:not(.site-button,.studio-brand){color:var(--accent-strong);text-underline-offset:4px}.site-hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;padding:88px 0 80px;display:grid}.site-hero h1{letter-spacing:-2px;max-width:710px;margin:19px 0 24px;font-size:clamp(36px,4.2vw,60px);line-height:1.12}.site-lead{color:var(--muted);max-width:690px;font-size:19px;line-height:1.8}.site-actions{flex-wrap:wrap;align-items:center;gap:24px;margin:30px 0 18px;display:flex}.site-button{background:var(--accent-strong);color:#fff;border-radius:7px;align-items:center;gap:18px;padding:15px 20px;font-weight:650;line-height:1.4;text-decoration:none;display:inline-flex}.site-button:hover{background:#1d4635}.site-secondary{font-weight:650}.site-caption,.card-status,.site-content .card-number,.footer-note{color:var(--muted);font-size:13px}.hero-illustration{text-align:center;background:#e8eedf;border:1px solid #c5d0bb;border-radius:18px;flex-direction:column;align-items:center;min-height:340px;padding:33px;display:flex;box-shadow:12px 14px #eef0e7}.illustration-label{color:var(--muted);margin-bottom:38px;font-size:14px}.illustration-parents{gap:24px;width:100%;display:flex}.illustration-parents span{background:#fff;border:1px solid #8a9f7d;border-radius:7px;flex:1;padding:20px 8px;font-size:13px}.illustration-connector{border:1px solid #8a9f7d;border-top:0;width:52%;height:44px;position:relative}.illustration-connector:after{content:"";background:#8a9f7d;width:1px;height:20px;display:block;position:absolute;top:100%;left:50%}.illustration-person{background:var(--accent-strong);color:#fff;border-radius:7px;margin-top:20px;padding:20px 25px;font-weight:650}.illustration-foot{color:var(--muted);margin-top:25px;font-size:12px}.site-section{padding:45px 0 64px}.site-section.product-overview{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:none;margin:32px 0 20px;padding:36px}.product-overview>.eyebrow{margin-top:0}.product-overview>p:last-child{margin-bottom:0}.overview-features{color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 36px;padding-left:22px;line-height:1.7;display:grid}.site-section>h1,.prose h1{letter-spacing:-1px;font-size:clamp(32px,4vw,46px);line-height:1.2}.site-section>h2,.site-callout h2{letter-spacing:-.8px;font-size:30px}.site-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px;display:grid}.site-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:29px}.site-card.content-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.content-card-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.content-card-icon{color:#365b40;background:#e7eedf;border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.content-card-icon-print{color:#426375;background:#e5edf2}.content-card-icon-download,.content-card-icon-news{color:#80643d;background:#f3ecdf}.content-card-body{flex-direction:column;flex:1;padding:24px;display:flex}.content-card-label{color:var(--accent-strong);letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:750}.site-card.content-card h2{margin:0 0 12px;font-size:21px}.content-card .content-card-description{margin:0 0 18px;line-height:1.7}.content-card-publication{border-top:1px solid var(--line);margin-top:auto;padding-top:16px}.content-card .content-card-publication p{margin:3px 0;font-size:12px;line-height:1.65}@media (width>=651px) and (width<=1000px){.site-cards.content-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-card h2,.site-card h3{margin:23px 0 14px;font-size:23px;line-height:1.35}.site-card p{color:var(--muted);font-size:15px}.card-number{letter-spacing:1.1px;font-weight:650}.card-status{border-top:1px solid var(--line);padding-top:15px;display:block}.site-callout{border:1px solid var(--line);background:#e5ecdc;border-radius:12px;justify-content:space-between;align-items:center;gap:38px;margin:12px 0 70px;padding:35px;display:flex}.site-callout p{max-width:700px;margin-bottom:0}.site-callout a{flex-shrink:0}.studio-footer{border-top:1px solid var(--line);grid-template-columns:minmax(230px,.9fr) minmax(0,2.1fr);gap:28px 48px;max-width:1440px;margin:auto;padding:38px 36px;display:grid}.studio-footer-top{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;display:grid}.footer-links h2{color:var(--ink);margin:0 0 14px;font-size:15px;line-height:1.4}.studio-footer p{color:var(--muted);margin:12px 0 0;font-size:13px}.studio-footer nav ul{flex-direction:column}.studio-footer nav a{color:var(--ink);text-underline-offset:3px;padding:4px 0;font-size:14px;line-height:1.6;display:inline-block}.prose{overflow-wrap:anywhere;max-width:820px;margin:55px auto 80px}.prose>nav{margin-bottom:30px;font-size:13px}.article-byline{color:var(--muted);margin:-6px 0 25px;font-size:14px}.article-byline p{margin:5px 0}.article-reviewed{color:var(--muted);border-left:3px solid var(--control-border);background:var(--surface-soft);padding:12px 16px;font-size:13px}.editor-publication{border:1px solid var(--line);border-radius:8px;margin:24px 0;padding:18px}.editor-publication legend{padding:0 6px;font-weight:650}.editor-publication p{margin-bottom:0;font-size:13px;font-weight:400}.prose h2{margin-top:38px;font-size:26px}.prose h3{margin-top:26px;font-size:21px}.prose p,.prose li{line-height:1.85}.prose li+li{margin-top:9px}.prose img{border-radius:14px;max-width:100%;height:auto;display:block}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:10px}.workspace-navigation-note{background:var(--selected);color:var(--ink);margin:0;padding:10px 36px;font-size:12px}.site-notice{background:var(--selected);border:1px solid var(--line);padding:15px}.editor-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:40px;display:grid}.editor-field{flex-direction:column;gap:8px;margin:20px 0;font-size:14px;font-weight:650;display:flex}.editor-field input,.editor-field select,.editor-field textarea{border:1px solid var(--control-border);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:6px;padding:11px}.editor-field textarea{resize:vertical;font-family:ui-monospace,monospace;font-weight:400;line-height:1.65}.editor-field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.editor-check{margin:15px 0;display:block}.editor-check input{margin-right:9px}.editor-score{border:1px solid var(--line);background:#fff;border-radius:10px;align-self:start;padding:25px}.editor-score li{margin-bottom:12px;line-height:1.65}.score-number{margin-bottom:15px;font-size:44px;font-weight:700}@media (width<=900px){.studio-footer{grid-template-columns:1fr}.studio-header-inner{flex-direction:column;align-items:flex-start;gap:18px}.site-hero{gap:35px;padding-top:48px}.hero-illustration{padding:20px}.illustration-parents{gap:12px}.site-cards{grid-template-columns:1fr}.site-callout,.studio-footer-top{flex-wrap:wrap}}@media (width<=650px){.site-section.product-overview{margin-top:24px;padding:24px}.footer-links{grid-template-columns:1fr;gap:26px}.overview-features{grid-template-columns:1fr}.studio-header-inner,.studio-footer{padding:22px 20px}.studio-header nav ul{gap:2px}.studio-header nav a{padding:9px;font-size:12px}.site-content{padding:0 20px}.site-hero{grid-template-columns:1fr;gap:30px;padding:38px 0}.site-hero h1{letter-spacing:-1px}.site-lead{font-size:17px}.site-section{padding:32px 0 40px}.site-callout{margin-bottom:40px;padding:25px}.editor-grid{grid-template-columns:1fr}.workspace-navigation-note{padding:10px 16px}}.contact-panel{border:1px solid var(--line);background:var(--surface,#fff);border-radius:14px;margin:28px 0;padding:24px}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.contact-panel label{margin:16px 0;font-weight:650;display:block}.contact-panel label span{font-weight:400}.contact-panel input,.contact-panel select,.contact-panel textarea{width:100%;min-width:0;color:var(--ink);border:1px solid var(--ink);font:inherit;background:#fff;border-radius:6px;margin-top:8px;padding:12px;display:block}.contact-panel textarea{resize:vertical}.contact-panel button:disabled{opacity:.65;cursor:wait}.contact-honeypot{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}#contact-error{color:#8b2525;font-weight:650}@media (width<=650px){.contact-fields{grid-template-columns:1fr;gap:0}.contact-panel{padding:18px}}
