.family-template-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf7cc;grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);align-items:center;gap:2rem;margin:0 0 2rem;padding:clamp(1.25rem,4vw,2.25rem);display:grid}.family-template-panel h2{margin-bottom:.75rem;font-size:clamp(1.8rem,3.5vw,2.6rem)}.family-template-panel p:last-child,.family-chart-controls p:last-child{margin-bottom:0}.family-template-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.family-template-button{border:1px solid var(--line);background:var(--paper);min-height:112px;color:var(--ink);cursor:pointer;text-align:left;border-radius:16px;padding:1rem}.family-template-button:hover,.family-template-button:focus-visible,.family-template-button[aria-pressed=true]{border-color:var(--moss);background:var(--leaf-light)}.family-template-button strong,.family-template-button span{display:block}.family-template-button span{color:var(--ink-soft);margin-top:.4rem;font-size:.82rem;line-height:1.4}.family-chart{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow);margin:0 0 2rem;padding:clamp(1.25rem,4vw,3rem)}.family-chart-head,.family-swap-heading,.family-chart-footer,.family-chart-controls{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.family-chart-head h2{margin-bottom:0;font-size:clamp(2rem,4vw,3.25rem)}.family-chart-head>p,.family-swap-heading>p{max-width:410px;color:var(--ink-soft);margin-bottom:0}.family-chart-meta{grid-template-columns:1.4fr 1fr 1fr;gap:1rem;margin:2rem 0;display:grid}.family-chart label{color:var(--ink-soft);font-size:.8rem;font-weight:720;display:block}.family-chart textarea{resize:vertical;width:100%;min-height:2.65rem;color:var(--ink);font:inherit;overflow-wrap:anywhere;background:#fff;border:1px solid #173f373d;border-radius:8px;outline:none;margin-top:.35rem;padding:.55rem .6rem;font-weight:550;line-height:1.35;display:block;overflow:hidden}.family-chart textarea:focus{border-color:var(--moss);box-shadow:0 0 0 3px #6f966d2e}.family-print-value{display:none}.family-owner-note{color:var(--ink-soft);margin:-1rem 0 1.25rem;font-size:.82rem}.family-table-wrap{overflow-x:auto}.family-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:760px}.family-table th,.family-table td{border:1px solid var(--line);vertical-align:top;text-align:left;padding:.6rem}.family-table th{background:var(--leaf-light);color:var(--ink);font-size:.82rem}.family-table th:first-child{width:22%}.family-table th:nth-child(2){width:15%}.family-table th:nth-child(3){width:22%}.family-table th:nth-child(4){width:41%}.family-table textarea{background:0 0;border-color:#0000;min-height:3.5rem;margin:0;font-size:.9rem}.family-mobile-label{display:none}.family-swap{background:#ffdfb857;border-radius:18px;margin-top:1.75rem;padding:1.25rem}.family-swap-heading{align-items:start}.family-swap-heading h3{margin-bottom:0}.family-swap-fields{grid-template-columns:1fr 1fr 1.4fr 1.2fr;gap:.75rem;margin-top:1rem;display:grid}.family-chart-footer{color:var(--ink-soft);margin-top:1.25rem;font-size:.75rem;font-weight:650}.family-chart-controls{border-radius:var(--radius-md);background:var(--ink);color:#fff;align-items:center;margin:0 0 6rem;padding:1.35rem 1.5rem}.family-chart-controls p{color:#ffffffbf;max-width:710px;margin:.25rem 0 0;font-size:.9rem}.family-chart-status{min-height:1.4em}.family-control-actions{flex-wrap:wrap;flex-shrink:0;gap:.65rem;display:flex}.family-chart-controls .button.secondary{color:#fff;border-color:#fff}.family-choice-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.family-choice-grid article{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);padding:clamp(1.25rem,3vw,2rem)}@media (width<=860px){.family-template-panel,.family-chart-meta,.family-swap-fields{grid-template-columns:1fr}.family-chart-head,.family-swap-heading,.family-chart-controls{flex-direction:column;align-items:flex-start}}@media (width<=700px){.family-template-actions,.family-choice-grid{grid-template-columns:1fr}.family-table-wrap{overflow:visible}.family-table,.family-table tbody,.family-table tr,.family-table td{width:100%;min-width:0;display:block}.family-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.family-table tr{border:1px solid var(--line);border-radius:14px;margin-bottom:1rem;padding:.8rem}.family-table td{border:0;padding:0}.family-table td+td{margin-top:.65rem}.family-mobile-label{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.25rem;font-size:.76rem;display:block}.family-table textarea{border-color:#173f3733;min-height:2.8rem;padding:.6rem}.family-control-actions{width:100%}}@media print{.site-header,.site-footer,.skip-link,.family-screen-only{display:none!important}.family-chart{break-inside:avoid;border:.5mm solid var(--ink);width:100%;box-shadow:none;print-color-adjust:exact;page-break-inside:avoid;border-radius:4mm;margin:0;padding:5mm}.family-chart-head{margin-bottom:3mm}.family-chart-head .eyebrow{margin-bottom:1mm;font-size:6.5pt}.family-chart-head h2{font-size:18pt}.family-chart-head>p{font-size:7.5pt}.family-chart-meta{grid-template-columns:1.4fr 1fr 1fr;gap:4mm;margin:3mm 0}.family-chart label{font-size:6.5pt}.family-chart textarea{display:none}.family-print-value{min-height:5mm;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border:.25mm solid #173f3759;border-radius:1mm;padding:1mm;font-size:7.5pt;font-weight:550;line-height:1.15;display:block}.family-table-wrap{overflow:visible}.family-table{table-layout:fixed;min-width:0;display:table}.family-table thead{display:table-header-group}.family-table tbody{display:table-row-group}.family-table tr{display:table-row}.family-table th,.family-table td{border:.25mm solid #173f3752;width:auto;padding:1mm;display:table-cell}.family-table th{font-size:7pt}.family-table .family-print-value{border:0;min-height:7mm;padding:.8mm;font-size:7pt}.family-mobile-label{display:none}.family-swap{border-radius:2mm;margin-top:3mm;padding:2.5mm}.family-swap-heading h3{font-size:10pt}.family-swap-heading>p{font-size:6.5pt}.family-swap-fields{grid-template-columns:1fr 1fr 1.4fr 1.2fr;gap:2mm;margin-top:2mm}.family-chart-footer{margin-top:2mm;font-size:6pt}}
