/* OAT Relationship Explorer v2 — Build #003.2 Theme Migration */
.oat-rex-app{--border:#dedede;--soft:#f7f7f7;--ink:#111;--muted:#555;--blue:#0645ad;--gold:#c99a28;display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:860px;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;border:1px solid #d5d5d5;box-shadow:0 1px 18px rgba(0,0,0,.04);overflow:hidden}.oat-rex-main{padding:28px}.oat-rex-header h1{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.1;margin:0 0 8px}.oat-rex-header p{font-size:17px;margin:0 0 22px;color:#333}.oat-rex-search-row{display:grid;grid-template-columns:1fr 44px 1fr 180px;align-items:end;gap:22px;margin-bottom:22px}.oat-rex-field label{display:block;font-weight:700;margin-bottom:9px}.oat-rex-selected{min-height:70px;border:1px solid #d7d7d7;border-radius:8px;display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fff;position:relative}.oat-rex-selected strong,.oat-rex-selected span{display:block}.oat-rex-selected span{font-size:14px;color:#333;margin-top:3px}.oat-rex-select-card select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.oat-rex-select-copy{padding-right:10px}.oat-rex-thumb,.oat-rex-portrait,.oat-rex-panel-image{background-size:cover;background-position:center;background-color:#ddd}.oat-rex-thumb{width:52px;height:52px;border-radius:6px;flex:0 0 auto}.oat-rex-swap{width:44px;height:44px;border-radius:8px;border:1px solid #ddd;background:#fff;font-size:22px;cursor:pointer}.oat-rex-find{height:52px;border:0;border-radius:7px;background:#191919;color:white;font-weight:700;font-size:16px;cursor:pointer}.oat-rex-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}.oat-rex-actions button,.oat-rex-actions a{border:1px solid #d6d6d6;background:#fff;border-radius:7px;padding:13px 22px;font-weight:700;cursor:pointer;text-decoration:none;color:#111;display:inline-flex;align-items:center}.oat-rex-actions a.active,.oat-rex-actions .oat-rex-tab-link.active{background:#191919;color:#fff;border-color:#191919}.oat-rex-actions button:disabled{opacity:.55;cursor:not-allowed}.oat-rex-result-card,.oat-rex-info-grid,.oat-rex-continue{border:1px solid var(--border);border-radius:8px;background:#fff;margin-bottom:20px}.oat-rex-result-card{padding:24px 22px 4px}.oat-rex-result-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.oat-rex-status{display:flex;gap:14px;align-items:flex-start}.oat-rex-check{width:35px;height:35px;border:2px solid #6ba83b;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#4a8e26;font-size:22px;flex:0 0 auto}.oat-rex-status h2{font-family:Georgia,'Times New Roman',serif;font-size:22px;margin:0 0 4px}.oat-rex-status p{margin:0;color:#333}.oat-rex-tools{display:flex;gap:10px}.oat-rex-tools button,.oat-rex-detail-toggle button{border:1px solid #ddd;background:#fff;border-radius:7px;padding:11px 18px;cursor:pointer}.oat-rex-path{display:flex;align-items:center;gap:12px;overflow-x:auto;padding-bottom:24px}.oat-rex-person-card{min-width:138px;min-height:235px;border:1px solid #ddd;border-radius:8px;background:linear-gradient(#fafafa,#f6f6f6);text-align:center;padding:0 10px 12px;cursor:pointer;position:relative}.oat-rex-person-card.is-selected{border-color:var(--gold);background:#fbf3df}.oat-rex-tag{min-height:27px;display:inline-flex;align-items:center;justify-content:center;background:#f6f6f6;border-radius:0 0 7px 7px;font-weight:700;font-size:12px;padding:0 10px;margin-bottom:12px}.is-selected .oat-rex-tag{background:#f2d58e}.oat-rex-portrait{width:100px;height:125px;border-radius:6px;margin:0 auto 10px}.oat-rex-person-card h3{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.1;margin:0 0 6px}.oat-rex-person-card p,.oat-rex-person-card small{display:block;margin:0;color:#222}.oat-rex-person-card small{font-size:12px;margin-top:5px}.oat-rex-arrow{min-width:30px;height:30px;border:1px solid #ccc;border-radius:50%;display:flex;align-items:center;justify-content:center;background:white;font-size:30px;color:#555}.oat-rex-detail-toggle{text-align:center;border-top:1px solid #eee;padding:14px 0}.oat-rex-empty-path{border:1px dashed #d0d0d0;background:#fafafa;border-radius:8px;padding:24px;text-align:center;margin-bottom:20px}.oat-rex-empty-path strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:20px;margin-bottom:6px}.oat-rex-empty-path p{margin:0;color:#555}.oat-rex-info-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr}.oat-rex-info-grid article{padding:20px;border-right:1px solid #ddd}.oat-rex-info-grid article:last-child{border-right:0}.oat-rex-info-grid h3,.oat-rex-continue h2{font-family:Georgia,'Times New Roman',serif;margin:0 0 10px}.oat-rex-info-grid p{line-height:1.5;margin:0}.oat-rex-info-grid span{font-family:Arial,Helvetica,sans-serif;font-size:12px;background:#dff0d1;color:#39731d;border-radius:10px;padding:3px 8px}.oat-rex-ency-grid{grid-template-columns:.75fr 1.25fr;margin-top:18px}.oat-rex-continue{padding:18px 20px}.oat-rex-continue-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.oat-rex-continue button,.oat-rex-continue-card{background:#fff;border:1px solid #d8d8d8;border-radius:7px;text-align:left;padding:13px;cursor:pointer;text-decoration:none;color:#111}.oat-rex-continue strong,.oat-rex-continue span{display:block}.oat-rex-continue span{font-size:12px;color:#666;margin-top:4px}.oat-rex-panel{border-left:1px solid #ddd;background:#fff;padding:28px;position:relative}.oat-rex-close{position:absolute;right:22px;top:20px;border:0;background:transparent;font-size:28px;cursor:pointer}.oat-rex-panel h2{font-family:Georgia,'Times New Roman',serif;margin:0 0 4px;font-size:22px}.oat-rex-subtitle{margin:0 0 18px;color:#333}.oat-rex-panel-top{display:grid;grid-template-columns:220px 1fr;gap:20px}.oat-rex-panel-image{height:290px;border-radius:7px}.oat-rex-panel dl{margin:0}.oat-rex-panel dt{font-weight:700;margin:0 0 5px}.oat-rex-panel dd{margin:0 0 15px;line-height:1.35}.oat-rex-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:22px 0 20px;border-bottom:1px solid #ddd}.oat-rex-tabs button{border:0;background:#fff;padding:8px 0 12px;cursor:pointer;font-size:18px;border-bottom:3px solid transparent}.oat-rex-tabs button span{display:block;font-size:12px;margin-top:5px}.oat-rex-tabs button.active{border-bottom-color:#111}.oat-rex-bio{line-height:1.55}.oat-rex-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.oat-rex-stats div{border:1px solid #ddd;border-radius:7px;text-align:center;padding:10px 6px;min-height:50px}.oat-rex-stats span{display:block;font-size:12px}.oat-rex-stats strong{display:block;margin-top:5px;font-size:14px}.oat-rex-panel-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.oat-rex-panel-buttons a{display:block;text-align:center;text-decoration:none;border:1px solid #ccc;border-radius:7px;padding:13px;color:#111;font-weight:700}.oat-rex-panel-buttons a:first-child{background:#191919;color:#fff;border-color:#191919}.oat-rex-panel-sources h3{font-family:Georgia,'Times New Roman',serif}.oat-rex-panel-sources h3 a{float:right;color:#111;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:14px}.oat-rex-panel-sources ol{border:1px solid #ddd;border-radius:7px;padding:14px 14px 14px 36px;line-height:1.45}.oat-rex-panel-empty{border:1px dashed #ddd;border-radius:8px;padding:18px;background:#fafafa;color:#555}.oat-rex-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.oat-rex-family-box{border:1px solid #ddd;border-radius:8px;padding:14px;background:#fff}.oat-rex-family-box h3{font-family:Georgia,'Times New Roman',serif;margin-top:0}.oat-rex-family-box .oat-rex-person-card{margin-bottom:10px;min-width:0}.oat-rex-footer{font-size:12px;color:#666;text-align:center;border-top:1px solid #ddd;padding:12px;margin-top:4px}.has-photo{background-size:cover;background-position:center}.no-photo{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#555,#ddd);color:#fff;font-weight:700}.no-photo span{display:block;padding:4px}.oat-rex-thumb.no-photo{font-size:14px}.oat-rex-portrait.no-photo{font-size:24px}.oat-rex-panel-image.no-photo{font-size:38px}@media (max-width:1200px){.oat-rex-app{grid-template-columns:1fr}.oat-rex-panel{border-left:0;border-top:1px solid #ddd}.oat-rex-search-row{grid-template-columns:1fr 44px 1fr}.oat-rex-find{grid-column:1/-1}.oat-rex-continue-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.oat-rex-main,.oat-rex-panel{padding:18px}.oat-rex-search-row{grid-template-columns:1fr}.oat-rex-swap{justify-self:center}.oat-rex-info-grid,.oat-rex-panel-top,.oat-rex-stats,.oat-rex-panel-buttons{grid-template-columns:1fr}.oat-rex-info-grid article{border-right:0;border-bottom:1px solid #ddd}.oat-rex-info-grid article:last-child{border-bottom:0}.oat-rex-tabs{grid-template-columns:repeat(3,1fr)}.oat-rex-continue-grid{grid-template-columns:1fr}.oat-rex-panel-image{height:260px}.oat-rex-header h1{font-size:30px}}


/* Build #003.3 live profile panel */
.oat-re-live-profile .oat-re-profile-portrait {
	margin-bottom: 12px;
}
.oat-re-live-profile .oat-re-profile-portrait img {
	width: 100%;
	max-width: 220px;
	height: auto;
	border: 1px solid #ddd;
	background: #fff;
	display: block;
}
.oat-re-large-empty {
	width: 180px !important;
	height: 210px !important;
}
.oat-re-profile-name {
	font-size: 20px;
	margin: 8px 0 12px;
	line-height: 1.25;
}
.oat-re-mini-family {
	border-top: 1px solid #e6e6e6;
	margin-top: 12px;
	padding-top: 12px;
}
.oat-re-mini-group {
	margin-bottom: 12px;
}
.oat-re-mini-group strong {
	display: block;
	margin-bottom: 4px;
}
.oat-re-mini-group span {
	color: #666;
	font-size: 14px;
}
.oat-re-mini-group ul {
	margin: 0 0 0 18px;
	padding: 0;
}
.oat-re-mini-group li {
	margin: 2px 0;
}
.oat-re-profile-bio {
	border-top: 1px solid #e6e6e6;
	margin-top: 12px;
	padding-top: 12px;
	color: #444;
	font-size: 14px;
	line-height: 1.45;
}
.oat-re-relationship-sentence {
	background: #f7f7f7;
	border: 1px solid #ddd;
	padding: 12px 14px;
	margin: 0 0 16px;
}


/* Build #003.4 relationship card and profile panel polish */
.oat-re-card {
	position: relative;
	flex-direction: column;
	text-align: center;
	align-items: center;
	gap: 8px;
}

.oat-re-card img,
.oat-re-card .oat-re-photo-empty {
	width: 76px;
	height: 92px;
	object-fit: cover;
}

.oat-re-card.large img,
.oat-re-card.large .oat-re-photo-empty {
	width: 88px;
	height: 106px;
}

.oat-re-relation-badge {
	display: inline-block;
	border: 1px solid #222;
	background: #fff;
	color: #111;
	font-weight: 700;
	font-size: 12px;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 6px 10px;
	margin-bottom: 4px;
}

.oat-re-card-text strong {
	display: block;
	font-size: 16px;
	line-height: 1.25;
}

.oat-re-card-text span {
	display: block;
	font-size: 14px;
	color: #666;
	margin-top: 3px;
}

.oat-re-card em {
	display: none !important;
}

.oat-re-card-actions {
	justify-content: center;
	margin-top: 4px;
}

.oat-re-live-profile {
	min-width: 340px;
}

.oat-re-profile-top {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
}

.oat-re-profile-portrait img,
.oat-re-profile-portrait .oat-re-large-empty {
	width: 120px !important;
	height: 145px !important;
	object-fit: cover;
}

.oat-re-profile-name {
	margin: 0 0 10px;
	font-size: 20px;
	line-height: 1.25;
}

.oat-re-fact-grid {
	display: grid;
	gap: 8px;
}

.oat-re-fact-grid div {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 8px;
	border-bottom: 1px solid #eee;
	padding-bottom: 6px;
}

.oat-re-fact-grid strong {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #555;
}

.oat-re-fact-grid span {
	font-size: 14px;
	line-height: 1.35;
	word-break: normal;
	overflow-wrap: anywhere;
}

.oat-re-mini-family {
	margin-top: 16px;
	display: grid;
	gap: 12px;
}

.oat-re-mini-group {
	border-top: 1px solid #eee;
	padding-top: 10px;
}

.oat-re-mini-group strong {
	display: block;
	margin-bottom: 6px;
}

.oat-re-mini-group span {
	color: #666;
}

.oat-re-mini-group ul {
	margin: 0 0 0 18px;
	padding: 0;
}

.oat-re-mini-group li {
	margin: 2px 0;
	line-height: 1.35;
}

@media (max-width: 900px) {
	.oat-re-live-profile {
		min-width: 0;
	}
}

@media (max-width: 520px) {
	.oat-re-profile-top {
		grid-template-columns: 1fr;
	}
	.oat-re-profile-portrait img,
	.oat-re-profile-portrait .oat-re-large-empty {
		width: 140px !important;
		height: 170px !important;
	}
	.oat-re-fact-grid div {
		grid-template-columns: 1fr;
		gap: 2px;
	}
}


/* Build #003.4.1 hard fixes */
.oat-re-card .oat-re-card-meta,
.oat-re-card .oat-re-birth-place,
.oat-re-card .oat-re-death-place,
.oat-re-card .oat-re-gender,
.oat-re-card .oat-re-sex,
.oat-re-card .birth-place,
.oat-re-card .death-place,
.oat-re-card .gender,
.oat-re-card .sex {
	display: none !important;
}

.oat-re-card {
	text-align: center;
}

.oat-re-card .oat-re-card-text span {
	display: block;
}

.oat-re-fact-row {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 8px;
	border-bottom: 1px solid #eee;
	padding-bottom: 6px;
}

.oat-re-fact-row strong {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #555;
}

.oat-re-fact-row span {
	font-size: 14px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}


/* Build #003.4.2: patch themed relationship cards */
.oat-re-path .oat-re-card,
.oat-relationship-path .oat-re-card,
.oat-re-path-card,
.oat-connection-card {
	cursor: pointer;
}

.oat-re-path .oat-re-card:hover,
.oat-relationship-path .oat-re-card:hover,
.oat-re-path-card:hover,
.oat-connection-card:hover {
	box-shadow: 0 0 0 2px rgba(0,0,0,.18);
}

.oat-re-card.is-selected,
.oat-re-path-card.is-selected,
.oat-connection-card.is-selected {
	box-shadow: 0 0 0 2px #111 !important;
}

.oat-re-card .oat-re-card-meta,
.oat-re-card .oat-re-birthplace,
.oat-re-card .oat-re-birth-place,
.oat-re-card .birthplace,
.oat-re-card .birth-place,
.oat-re-card .birth_location,
.oat-re-card .person-birthplace,
.oat-re-card .person-birth-place,
.oat-re-card .oat-re-gender,
.oat-re-card .gender,
.oat-re-card .sex,
.oat-re-card .person-gender,
.oat-re-card .person-sex,
.oat-re-path-card .birthplace,
.oat-re-path-card .birth-place,
.oat-re-path-card .gender,
.oat-re-path-card .sex,
.oat-connection-card .birthplace,
.oat-connection-card .birth-place,
.oat-connection-card .gender,
.oat-connection-card .sex {
	display: none !important;
}

/* Hide simple paragraphs in relationship cards that contain long birthplace/gender labels. */
.oat-re-path .oat-re-card p,
.oat-relationship-path .oat-re-card p {
	display: none;
}

/* Keep only name/date spans visible inside path cards. */
.oat-re-path .oat-re-card .oat-re-card-text span,
.oat-relationship-path .oat-re-card .oat-re-card-text span {
	display: block !important;
}


/* OAT Relationship Explorer v2 — Build #003.5 */
.oat-re-card {
	cursor: pointer;
	text-align: center;
}

.oat-re-card:hover {
	box-shadow: 0 0 0 2px rgba(0,0,0,.18);
}

.oat-re-card.is-selected {
	box-shadow: 0 0 0 3px #111 !important;
}

.oat-re-card .gender,
.oat-re-card .sex,
.oat-re-card .birthplace,
.oat-re-card .birth-place,
.oat-re-card .oat-re-gender,
.oat-re-card .oat-re-sex,
.oat-re-card .oat-re-birthplace,
.oat-re-card .oat-re-birth-place,
.oat-re-card .person-gender,
.oat-re-card .person-sex,
.oat-re-card .person-birthplace,
.oat-re-card .person-birth-place,
.oat-re-card .card-meta,
.oat-re-card .oat-re-card-meta {
	display: none !important;
}

.oat-re-relation-badge,
.relation-badge,
.relationship-badge {
	display: inline-block;
	border: 1px solid #222;
	background: #fff;
	color: #111;
	font-weight: 700;
	font-size: 12px;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 6px 10px;
	margin-bottom: 6px;
}

.oat-re-fact-row {
	display: grid;
	grid-template-columns: 92px minmax(0,1fr);
	gap: 8px;
	border-bottom: 1px solid #eee;
	padding-bottom: 6px;
}

.oat-re-fact-row strong {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #555;
}

.oat-re-fact-row span {
	font-size: 14px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}


/* OAT Relationship Explorer 3.0 Build 001 theme restore + relabeled path */
.oat-rex-app {
	font-family: Georgia, "Times New Roman", serif;
	color: #111;
}
.oat-rex-header,
.oat-rex-result-card,
.oat-rex-info-grid article,
.oat-re-side-panel,
.oat-rex-continue {
	background: rgba(255,255,255,0.96) !important;
	border: 1px solid #d8d8d8 !important;
	box-shadow: 0 10px 28px rgba(0,0,0,0.08) !important;
}
.oat-rex-header h1,
.oat-rex-result-card h2,
.oat-rex-info-grid h3,
.oat-re-side-panel h3 {
	color: #111 !important;
}
.oat-rex-tab-link,
.oat-rex-continue-card,
.oat-re-side-actions a {
	color: #1f5f9f !important;
}
.oat-rex-find,
.oat-rex-swap,
.oat-rex-tools button,
.oat-rex-detail-toggle button {
	background: #111 !important;
	color: #fff !important;
	border: 1px solid #111 !important;
}
.oat-rex-path-v3 {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	padding: 18px 0;
}
.oat-rex-path-v3 .oat-rex-person-card {
	width: min(520px, 100%);
	border-color: #cfcfcf;
	background: #fff;
}
.oat-rex-connector {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	color: #111;
	text-align: center;
}
.oat-rex-connector-line {
	width: 1px;
	height: 12px;
	background: #999;
	display: block;
}
.oat-rex-connector strong {
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	background: #f4f4f4;
	border: 1px solid #d6d6d6;
	border-radius: 999px;
	padding: 6px 12px;
	margin: 4px 0;
}
.oat-rex-connector-arrow {
	font-size: 18px;
	line-height: 1;
	color: #555;
}

/* OAT Relationship Explorer 3.0 Build 001.1 — quiet OAT theme pass */
.oat-rex-app {
	--oat-link: #0645ad;
	--oat-border: #d8d8d8;
	--oat-soft: #f7f7f7;
	--oat-ink: #111;
	background: #fff !important;
	box-shadow: none !important;
	border: 1px solid var(--oat-border) !important;
	font-family: Arial, Helvetica, sans-serif !important;
}

.oat-rex-header h1,
.oat-rex-status h2,
.oat-rex-info-grid h3,
.oat-rex-continue h2,
.oat-rex-panel h2,
.oat-re-profile-name,
.oat-re-mini-group strong {
	font-family: Georgia, "Times New Roman", serif !important;
}

/* Smaller, quieter buttons to match the site theme */
.oat-rex-actions {
	gap: 7px !important;
	margin-bottom: 18px !important;
}
.oat-rex-actions button,
.oat-rex-actions a,
.oat-rex-tools button,
.oat-rex-detail-toggle button,
.oat-rex-continue button,
.oat-rex-continue-card,
.oat-rex-panel-buttons a,
.oat-re-side-actions a {
	border: 1px solid var(--oat-border) !important;
	background: #fff !important;
	color: var(--oat-ink) !important;
	border-radius: 4px !important;
	padding: 8px 12px !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	text-decoration: none !important;
}
.oat-rex-actions a.active,
.oat-rex-actions .oat-rex-tab-link.active,
.oat-rex-find,
.oat-rex-panel-buttons a:first-child {
	background: #111 !important;
	border-color: #111 !important;
	color: #fff !important;
}
.oat-rex-actions button:hover,
.oat-rex-actions a:hover,
.oat-rex-tools button:hover,
.oat-rex-detail-toggle button:hover,
.oat-rex-continue-card:hover,
.oat-rex-panel-buttons a:hover,
.oat-re-side-actions a:hover {
	color: var(--oat-link) !important;
	border-color: #bcbcbc !important;
}
.oat-rex-find {
	height: 40px !important;
	padding: 0 15px !important;
	font-size: 14px !important;
	border-radius: 4px !important;
}
.oat-rex-swap {
	width: 36px !important;
	height: 36px !important;
	font-size: 18px !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: #111 !important;
	border: 1px solid var(--oat-border) !important;
}

/* Calm down the extra boxes so the descendant chart is the star */
.oat-rex-header,
.oat-rex-result-card,
.oat-rex-info-grid,
.oat-rex-continue,
.oat-rex-panel,
.oat-re-side-panel,
.oat-re-relationship-sentence {
	box-shadow: none !important;
	border-color: var(--oat-border) !important;
	border-radius: 4px !important;
	background: #fff !important;
}
.oat-rex-result-card {
	padding: 18px 18px 2px !important;
}
.oat-rex-info-grid article {
	padding: 14px 16px !important;
}

/* Descendant chart style: larger, cleaner, centered */
.oat-rex-path-v3 {
	padding: 22px 0 30px !important;
}
.oat-rex-path-v3 .oat-rex-person-card,
.oat-rex-person-card,
.oat-re-card {
	border-radius: 4px !important;
	border: 1px solid #cfcfcf !important;
	background: #fff !important;
	box-shadow: none !important;
}
.oat-rex-path-v3 .oat-rex-person-card {
	width: min(560px, 100%) !important;
	min-height: auto !important;
	padding: 14px 16px !important;
}
.oat-rex-person-card.is-selected,
.oat-re-card.is-selected,
.oat-re-path-card.is-selected,
.oat-connection-card.is-selected {
	border-color: #111 !important;
	box-shadow: 0 0 0 2px #111 !important;
	background: #fafafa !important;
}
.oat-rex-connector strong,
.oat-re-relation-badge,
.relation-badge,
.relationship-badge {
	border: 1px solid var(--oat-border) !important;
	background: #f7f7f7 !important;
	color: #111 !important;
	border-radius: 4px !important;
	font-size: 12px !important;
	letter-spacing: .03em !important;
	padding: 5px 9px !important;
	text-transform: none !important;
}
.oat-rex-connector-line {
	background: #9a9a9a !important;
}

/* Profile summary: keep vital stats and immediate family, hide empty placeholder text */
.oat-re-mini-group span,
.oat-re-mini-group:empty {
	display: none !important;
}
.oat-re-mini-group ul {
	margin-left: 18px !important;
}
.oat-re-mini-group a,
.oat-rex-app a {
	color: var(--oat-link);
}
.oat-re-profile-bio:empty {
	display: none !important;
}

/* Build 001.2 — clickable chart + centered profile summary polish */
.oat-rex-find{height:42px;min-width:145px;padding:0 18px;font-size:14px;border-radius:4px;letter-spacing:.01em}
.oat-rex-actions{gap:8px;margin-bottom:20px}.oat-rex-actions button,.oat-rex-actions a{padding:8px 13px;border-radius:4px;font-size:13px;font-weight:600}.oat-rex-tools button,.oat-rex-detail-toggle button{padding:8px 12px;border-radius:4px;font-size:13px}
.oat-rex-path-v3{display:flex;flex-direction:column;align-items:center;gap:0;overflow:visible;padding:8px 0 26px}.oat-rex-path-v3 .oat-rex-person-card{width:210px;min-width:210px;min-height:auto;padding:16px 14px 14px;background:#fff;border:1px solid #d8d8d8;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.oat-rex-path-v3 .oat-rex-person-card:hover{border-color:#0645ad;box-shadow:0 2px 8px rgba(0,0,0,.08)}.oat-rex-path-v3 .oat-rex-person-card.is-selected{border:2px solid #111;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}.oat-rex-path-v3 .oat-rex-portrait{width:94px;height:112px;margin-bottom:10px}.oat-rex-path-v3 .oat-rex-person-card h3{font-size:17px;line-height:1.18;margin:0 0 7px}.oat-rex-path-v3 .oat-rex-person-card p.oat-rex-years{font-size:14px;color:#333;margin:0}.oat-rex-tag,.oat-rex-path-v3 .oat-rex-person-card small{display:none!important}.oat-rex-connector{display:flex;flex-direction:column;align-items:center;gap:4px;margin:7px 0;color:#333}.oat-rex-connector-line{width:1px;height:22px;background:#cfcfcf}.oat-rex-connector strong{font-size:13px;font-weight:700;background:#fff;border:1px solid #ddd;border-radius:999px;padding:4px 10px;text-transform:none}.oat-rex-connector-arrow{font-size:18px;line-height:1;color:#555}
.oat-re-live-profile{padding:26px 24px;text-align:center}.oat-re-live-profile h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;margin:0 0 18px;text-align:center}.oat-re-profile-top{display:block}.oat-re-profile-portrait{display:flex;justify-content:center;margin:0 auto 12px}.oat-re-profile-portrait img,.oat-re-profile-portrait .oat-re-large-empty{width:122px;height:146px;object-fit:cover;border:1px solid #d8d8d8;border-radius:6px;background:#f3f3f3}.oat-re-profile-name{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.2;text-align:center;margin:0 auto 16px}.oat-re-fact-grid{border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;padding:10px 0;margin:0 0 16px;text-align:left}.oat-re-fact-row{display:block;padding:8px 0;border-bottom:1px solid #f1f1f1}.oat-re-fact-row:last-child{border-bottom:0}.oat-re-fact-row strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#555;margin-bottom:3px}.oat-re-fact-row span{display:block;font-size:14px;line-height:1.35;color:#111}.oat-re-mini-family{text-align:left;border-bottom:1px solid #e5e5e5;margin-bottom:14px;padding-bottom:12px}.oat-re-mini-group{margin:0 0 12px}.oat-re-mini-group strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:16px;margin-bottom:5px}.oat-re-mini-group ul{list-style:none;margin:0;padding:0}.oat-re-mini-group li{margin:4px 0}.oat-re-mini-group a{color:#0645ad;text-decoration:none}.oat-re-mini-group a:hover{text-decoration:underline}.oat-re-profile-bio{display:none}.oat-re-side-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.oat-re-side-actions a{display:block;border:1px solid #d6d6d6;background:#fff;color:#0645ad;text-decoration:none;border-radius:4px;padding:9px 10px;font-size:13px;font-weight:600}.oat-re-side-actions a:hover{border-color:#0645ad;background:#f8fbff}.oat-re-muted{text-align:center;color:#555}.oat-rex-info-grid article:nth-child(2){display:none}.oat-rex-info-grid{grid-template-columns:1fr 1fr}.oat-rex-info-grid article{border-right:1px solid #ddd}.oat-rex-info-grid article:last-child{border-right:0}
@media(max-width:1200px){.oat-rex-path-v3 .oat-rex-person-card{width:190px;min-width:190px}.oat-re-live-profile{border-top:1px solid #ddd}}

/* OAT Relationship Explorer 3.0 — Build 001.3 THEME OVERHAUL
   Goal: quieter OAT theme, chart as centerpiece, museum-style profile panel. */
.oat-rex-app{
  --oat-ink:#111;
  --oat-muted:#555;
  --oat-border:#d7d7d7;
  --oat-border-soft:#e8e8e8;
  --oat-soft:#f7f7f7;
  --oat-link:#0645ad;
  --oat-shadow:0 2px 8px rgba(0,0,0,.045);
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 350px !important;
  gap:0 !important;
  background:#fff !important;
  color:var(--oat-ink) !important;
  border:1px solid var(--oat-border) !important;
  box-shadow:none !important;
  font-family:Arial,Helvetica,sans-serif !important;
}
.oat-rex-main{padding:24px 26px 18px !important;background:#fff !important;}
.oat-rex-header{border:0 !important;box-shadow:none !important;background:#fff !important;padding:0 !important;margin:0 0 18px !important;}
.oat-rex-header h1{font-family:Georgia,"Times New Roman",serif !important;font-size:31px !important;line-height:1.12 !important;margin:0 0 5px !important;font-weight:700 !important;color:#111 !important;}
.oat-rex-header p{font-size:15px !important;line-height:1.4 !important;color:#444 !important;margin:0 !important;}

/* Search controls */
.oat-rex-search-row{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 142px !important;gap:14px !important;align-items:end !important;margin-bottom:14px !important;}
.oat-rex-field label{font-size:13px !important;margin-bottom:6px !important;color:#111 !important;}
.oat-rex-selected{min-height:58px !important;border:1px solid var(--oat-border) !important;border-radius:4px !important;background:#fff !important;padding:6px 9px !important;gap:9px !important;box-shadow:none !important;}
.oat-rex-thumb{width:43px !important;height:43px !important;border-radius:3px !important;}
.oat-rex-selected strong{font-size:14px !important;line-height:1.25 !important;color:#111 !important;}
.oat-rex-selected span{font-size:12px !important;color:#555 !important;margin-top:2px !important;}
.oat-rex-swap{width:34px !important;height:34px !important;border:1px solid var(--oat-border) !important;border-radius:4px !important;background:#fff !important;color:#111 !important;font-size:16px !important;box-shadow:none !important;}
.oat-rex-find{height:36px !important;min-width:0 !important;width:142px !important;padding:0 12px !important;border-radius:4px !important;border:1px solid #111 !important;background:#111 !important;color:#fff !important;font-size:13px !important;font-weight:700 !important;letter-spacing:0 !important;box-shadow:none !important;}
.oat-rex-find:hover{background:#222 !important;border-color:#222 !important;color:#fff !important;}

/* Tabs: small OAT buttons */
.oat-rex-actions{gap:6px !important;margin:0 0 16px !important;}
.oat-rex-actions a,.oat-rex-actions button{padding:7px 10px !important;border:1px solid var(--oat-border) !important;border-radius:3px !important;background:#fff !important;color:#111 !important;font-size:12.5px !important;line-height:1.2 !important;font-weight:600 !important;box-shadow:none !important;text-decoration:none !important;}
.oat-rex-actions a:hover,.oat-rex-actions button:hover{border-color:#b9b9b9 !important;color:var(--oat-link) !important;background:#fff !important;}
.oat-rex-actions a.active,.oat-rex-actions .oat-rex-tab-link.active{background:#111 !important;border-color:#111 !important;color:#fff !important;}
.oat-rex-actions button:disabled{opacity:.45 !important;color:#555 !important;background:#fafafa !important;}

/* Main result container */
.oat-rex-result-card{border:1px solid var(--oat-border) !important;border-radius:4px !important;background:#fff !important;box-shadow:none !important;padding:18px 20px 0 !important;margin-bottom:16px !important;}
.oat-rex-result-head{margin-bottom:18px !important;align-items:flex-start !important;}
.oat-rex-status{gap:10px !important;}
.oat-rex-check{width:27px !important;height:27px !important;border:1px solid #111 !important;color:#111 !important;background:#fff !important;font-size:16px !important;}
.oat-rex-status h2{font-family:Georgia,"Times New Roman",serif !important;font-size:21px !important;margin:0 0 2px !important;}
.oat-rex-status p{font-size:13px !important;color:#555 !important;}
.oat-rex-tools{gap:6px !important;}
.oat-rex-tools button,.oat-rex-detail-toggle button{padding:6px 9px !important;border:1px solid var(--oat-border) !important;border-radius:3px !important;background:#fff !important;color:#111 !important;font-size:12.5px !important;font-weight:600 !important;box-shadow:none !important;}
.oat-rex-tools button:hover,.oat-rex-detail-toggle button:hover{color:var(--oat-link) !important;border-color:#bbb !important;}

/* Relationship chart: clean descendant-card look */
.oat-rex-path-v3{display:flex !important;flex-direction:column !important;align-items:center !important;gap:0 !important;overflow:visible !important;padding:12px 0 28px !important;}
.oat-rex-path-v3 .oat-rex-person-card{width:218px !important;min-width:218px !important;min-height:auto !important;border:1px solid var(--oat-border) !important;border-radius:4px !important;background:#fff !important;box-shadow:var(--oat-shadow) !important;padding:15px 13px 13px !important;text-align:center !important;transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;}
.oat-rex-path-v3 .oat-rex-person-card:hover{border-color:#a8a8a8 !important;box-shadow:0 4px 14px rgba(0,0,0,.07) !important;transform:translateY(-1px) !important;}
.oat-rex-path-v3 .oat-rex-person-card.is-selected{border:2px solid #111 !important;box-shadow:0 2px 8px rgba(0,0,0,.12) !important;background:#fff !important;}
.oat-rex-path-v3 .oat-rex-person-card.is-selected::after{content:"Selected";position:absolute;top:7px;right:7px;border:1px solid var(--oat-link);border-radius:3px;background:#fff;color:var(--oat-link);font-size:10px;font-weight:700;line-height:1;padding:3px 5px;}
.oat-rex-path-v3 .oat-rex-portrait{width:98px !important;height:116px !important;border-radius:3px !important;border:1px solid var(--oat-border-soft) !important;margin:0 auto 10px !important;background-color:#f0f0f0 !important;}
.oat-rex-path-v3 .oat-rex-person-card h3{font-family:Georgia,"Times New Roman",serif !important;font-size:17px !important;line-height:1.16 !important;margin:0 0 6px !important;color:#111 !important;}
.oat-rex-path-v3 .oat-rex-person-card .oat-rex-years{font-size:14px !important;color:#333 !important;margin:0 !important;line-height:1.2 !important;}
.oat-rex-path-v3 .oat-rex-person-card small,.oat-rex-tag{display:none !important;}
.oat-rex-connector{min-height:64px !important;margin:2px 0 !important;gap:4px !important;color:#333 !important;}
.oat-rex-connector-line{width:1px !important;height:22px !important;background:#c4c4c4 !important;}
.oat-rex-connector strong{font-family:Arial,Helvetica,sans-serif !important;font-size:12px !important;font-weight:700 !important;letter-spacing:.02em !important;text-transform:none !important;background:#f7f7f7 !important;border:1px solid var(--oat-border) !important;border-radius:999px !important;color:#111 !important;padding:4px 10px !important;box-shadow:none !important;}
.oat-rex-connector-arrow{font-size:17px !important;color:#666 !important;}

/* Details: calmer, less boxed */
.oat-rex-detail-toggle{border-top:1px solid #eee !important;padding:10px 0 !important;}
.oat-rex-info-grid{display:grid !important;grid-template-columns:1fr 1fr !important;border:1px solid var(--oat-border) !important;border-radius:4px !important;background:#fff !important;box-shadow:none !important;margin-bottom:16px !important;}
.oat-rex-info-grid article{padding:14px 16px !important;border-right:1px solid #e2e2e2 !important;background:#fff !important;box-shadow:none !important;}
.oat-rex-info-grid article:nth-child(2){display:none !important;}
.oat-rex-info-grid article:last-child{border-right:0 !important;}
.oat-rex-info-grid h3{font-family:Georgia,"Times New Roman",serif !important;font-size:17px !important;margin:0 0 7px !important;}
.oat-rex-info-grid p{font-size:13px !important;line-height:1.45 !important;color:#333 !important;}

/* Continue Exploring: quieter */
.oat-rex-continue{border:1px solid var(--oat-border) !important;border-radius:4px !important;box-shadow:none !important;background:#fff !important;padding:14px 16px !important;margin-bottom:12px !important;}
.oat-rex-continue h2{font-family:Georgia,"Times New Roman",serif !important;font-size:19px !important;margin:0 0 10px !important;}
.oat-rex-continue-grid{gap:8px !important;}
.oat-rex-continue-card,.oat-rex-continue button{border:1px solid var(--oat-border) !important;border-radius:4px !important;background:#fff !important;color:#111 !important;padding:10px !important;box-shadow:none !important;}
.oat-rex-continue-card:hover{border-color:#aaa !important;color:var(--oat-link) !important;}

/* Profile Summary: centered museum panel */
.oat-re-side-panel,.oat-re-live-profile{border-left:1px solid var(--oat-border) !important;border-top:0 !important;background:#fff !important;box-shadow:none !important;padding:24px 22px !important;text-align:center !important;min-width:0 !important;}
.oat-re-live-profile h3{font-family:Georgia,"Times New Roman",serif !important;font-size:22px !important;margin:0 0 16px !important;text-align:center !important;color:#111 !important;}
.oat-re-profile-top{display:block !important;text-align:center !important;}
.oat-re-profile-portrait{display:flex !important;justify-content:center !important;margin:0 auto 10px !important;}
.oat-re-profile-portrait img,.oat-re-profile-portrait .oat-re-large-empty{width:128px !important;height:152px !important;object-fit:cover !important;border:1px solid var(--oat-border) !important;border-radius:4px !important;background:#f5f5f5 !important;}
.oat-re-profile-name{font-family:Georgia,"Times New Roman",serif !important;font-size:20px !important;line-height:1.18 !important;text-align:center !important;margin:0 auto 14px !important;color:#111 !important;max-width:270px !important;}
.oat-re-fact-grid{border-top:1px solid #e5e5e5 !important;border-bottom:1px solid #e5e5e5 !important;padding:9px 0 !important;margin:0 0 15px !important;text-align:left !important;display:block !important;}
.oat-re-fact-row{display:block !important;padding:7px 0 !important;border-bottom:1px solid #f0f0f0 !important;}
.oat-re-fact-row:last-child{border-bottom:0 !important;}
.oat-re-fact-row strong{display:block !important;font-size:11px !important;text-transform:uppercase !important;letter-spacing:.055em !important;color:#555 !important;margin:0 0 2px !important;font-family:Arial,Helvetica,sans-serif !important;}
.oat-re-fact-row span{display:block !important;font-size:14px !important;line-height:1.35 !important;color:#111 !important;overflow-wrap:anywhere !important;}
.oat-re-mini-family{border-top:0 !important;border-bottom:1px solid #e5e5e5 !important;margin:0 0 13px !important;padding:0 0 10px !important;text-align:left !important;display:block !important;}
.oat-re-mini-group{margin:0 0 11px !important;padding:0 !important;border:0 !important;}
.oat-re-mini-group:empty{display:none !important;}
.oat-re-mini-group strong{display:block !important;font-family:Georgia,"Times New Roman",serif !important;font-size:16px !important;margin:0 0 5px !important;color:#111 !important;}
.oat-re-mini-group ul{list-style:none !important;margin:0 !important;padding:0 !important;}
.oat-re-mini-group li{margin:3px 0 !important;line-height:1.35 !important;font-size:14px !important;}
.oat-re-mini-group a{color:var(--oat-link) !important;text-decoration:none !important;}
.oat-re-mini-group a:hover{text-decoration:underline !important;}
.oat-re-profile-bio{display:none !important;}
.oat-re-side-actions{display:grid !important;grid-template-columns:1fr !important;gap:7px !important;margin-top:11px !important;}
.oat-re-side-actions a{display:block !important;border:1px solid var(--oat-border) !important;border-radius:4px !important;background:#fff !important;color:var(--oat-link) !important;text-decoration:none !important;padding:8px 10px !important;font-size:13px !important;font-weight:600 !important;line-height:1.2 !important;box-shadow:none !important;}
.oat-re-side-actions a:hover{border-color:#aaa !important;background:#fff !important;text-decoration:underline !important;}
.oat-re-muted{font-size:14px !important;color:#555 !important;text-align:center !important;}

.oat-rex-footer{font-size:11.5px !important;color:#777 !important;text-align:center !important;border-top:1px solid var(--oat-border) !important;padding:10px 0 0 !important;margin-top:4px !important;}

@media(max-width:1200px){
  .oat-rex-app{grid-template-columns:1fr !important;}
  .oat-re-side-panel,.oat-re-live-profile{border-left:0 !important;border-top:1px solid var(--oat-border) !important;}
  .oat-rex-search-row{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) !important;}
  .oat-rex-find{grid-column:1/-1 !important;width:100% !important;}
}
@media(max-width:760px){
  .oat-rex-main,.oat-re-side-panel,.oat-re-live-profile{padding:18px !important;}
  .oat-rex-search-row{grid-template-columns:1fr !important;gap:10px !important;}
  .oat-rex-swap{justify-self:center !important;}
  .oat-rex-info-grid{grid-template-columns:1fr !important;}
  .oat-rex-info-grid article{border-right:0 !important;border-bottom:1px solid #e2e2e2 !important;}
  .oat-rex-info-grid article:last-child{border-bottom:0 !important;}
  .oat-rex-path-v3 .oat-rex-person-card{width:min(220px,100%) !important;min-width:0 !important;}
}


/* Build 001.3.1 theme polish: original green success + open OAT white space */
.oat-rex-result-card{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:16px 0 0 !important;
  margin-bottom:18px !important;
  background:#fff !important;
}
.oat-rex-relationship-section .oat-rex-result-head{
  padding:0 0 10px !important;
  border-bottom:0 !important;
}
.oat-rex-status-found .oat-rex-check{
  border-color:#1f8f2e !important;
  color:#1f8f2e !important;
  background:#fff !important;
}
.oat-rex-status-found h2{
  color:#1f8f2e !important;
}

/* Remove heavy boxed look from the Encyclopedia preview tab */
.oat-rex-ency-section{
  padding-top:18px !important;
}
.oat-rex-ency-section .oat-rex-result-head{
  margin-bottom:28px !important;
}
.oat-rex-ency-section .oat-rex-person-card,
.oat-rex-ency-section .oat-rex-person-card.is-selected{
  width:auto !important;
  min-width:0 !important;
  max-width:460px !important;
  margin:0 auto 34px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  padding:0 !important;
  transform:none !important;
}
.oat-rex-ency-section .oat-rex-person-card.is-selected::after{
  display:none !important;
}
.oat-rex-ency-section .oat-rex-portrait{
  width:128px !important;
  height:152px !important;
  border-radius:4px !important;
  border:1px solid #d8d8d8 !important;
  margin:0 auto 14px !important;
}
.oat-rex-ency-section .oat-rex-person-card h3{
  font-size:23px !important;
  margin-bottom:8px !important;
}
.oat-rex-ency-section .oat-rex-person-card .oat-rex-years{
  font-size:16px !important;
}
.oat-rex-ency-section .oat-rex-info-grid,
.oat-rex-ency-grid{
  display:block !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0 auto 18px !important;
  max-width:760px !important;
  border-top:1px solid #e5e5e5 !important;
  padding-top:20px !important;
}
.oat-rex-ency-section .oat-rex-info-grid article,
.oat-rex-ency-grid article{
  border:0 !important;
  padding:0 0 16px !important;
}
.oat-rex-ency-section .oat-rex-info-grid article:nth-child(2){
  display:block !important;
}
.oat-rex-ency-section .oat-rex-info-grid article:empty{
  display:none !important;
}

/* Keep chart cards defined, but not trapped inside a large outer box */
.oat-rex-path-v3{
  border-top:0 !important;
  padding-top:20px !important;
}
.oat-rex-detail-toggle{
  border-top:1px solid #eee !important;
}


/* Build 001.4: closer selector portraits + Relationship Details */
.oat-rex-thumb.has-photo{
  width:58px !important;
  height:58px !important;
  border-radius:5px !important;
  background-size:135% auto !important;
  background-position:center 22% !important;
}
.oat-rex-selected{
  min-height:76px !important;
}
.oat-rex-select-copy strong{
  line-height:1.15 !important;
}
.oat-rex-relationship-details{
  grid-template-columns:1.6fr .9fr !important;
  border-top:1px solid #e5e5e5 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:1px solid #e5e5e5 !important;
  border-radius:0 !important;
  margin:18px 0 16px !important;
}
.oat-rex-relationship-details article{
  padding:18px 18px !important;
}
.oat-rex-relationship-details .oat-rex-details-main{
  border-right:1px solid #e2e2e2 !important;
}
.oat-rex-relationship-details h3{
  font-size:20px !important;
}
.oat-rex-details-sentence{
  font-size:15px !important;
  line-height:1.55 !important;
  color:#111 !important;
}
.oat-rex-details-note{
  margin-top:8px !important;
  font-size:13px !important;
  color:#555 !important;
}
.oat-rex-relationship-details .oat-rex-details-common p{
  font-size:14px !important;
}
@media(max-width:760px){
  .oat-rex-relationship-details{grid-template-columns:1fr !important;}
  .oat-rex-relationship-details .oat-rex-details-main{border-right:0 !important;border-bottom:1px solid #e2e2e2 !important;}
}

/* Build 001.6 all-in-one polish */
.oat-rex-app{border:0!important;box-shadow:none!important;}
.oat-rex-result-card{border:0!important;border-radius:0!important;padding:18px 0 4px!important;}
.oat-rex-status-found .oat-rex-check{border-color:#5aa832!important;color:#2f8a20!important;background:#f0faec!important;}
.oat-rex-status-found h2{color:#2f8a20!important;}
.oat-rex-find{height:42px!important;border-radius:4px!important;font-size:14px!important;padding:0 18px!important;}
.oat-rex-actions button,.oat-rex-actions a,.oat-rex-tools button{border-radius:4px!important;padding:8px 14px!important;font-size:14px!important;}
.oat-rex-selected{min-height:64px!important;border-radius:4px!important;}
.oat-rex-thumb{width:54px!important;height:54px!important;border-radius:4px!important;background-position:center 22%!important;}
.oat-rex-relationship-panel{background:#fff;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;margin:18px 0 20px;padding:20px 2px;}
.oat-rex-relationship-panel h3{font-family:Georgia,'Times New Roman',serif;font-size:24px;margin:0 0 12px;color:#111;}
.oat-rex-connection-label{font-weight:700;margin:0 0 4px;color:#333;}
.oat-rex-connection-value{font-size:22px;margin:0 0 8px;color:#2f8a20;}
.oat-rex-connection-value strong{color:#2f8a20;}
.oat-rex-connection-sentence{font-size:16px;line-height:1.55;margin:0;color:#111;}
.oat-rex-common-note{font-size:14px;border-top:1px solid #eee;margin:14px 0 0;padding-top:10px;color:#333;}
.oat-rex-panel{text-align:left;}
.oat-rex-panel-top{display:block!important;text-align:center;}
.oat-rex-panel-image{width:150px!important;height:185px!important;margin:0 auto 14px!important;background-position:center 20%!important;}
.oat-rex-panel h2,.oat-rex-subtitle{text-align:center;}
.oat-rex-panel dl{text-align:left;margin-top:16px;}
.oat-rex-person-card{box-shadow:0 1px 6px rgba(0,0,0,.06);}
.oat-rex-person-card.is-selected{border-color:#111!important;box-shadow:0 2px 8px rgba(0,0,0,.12);background:#fff!important;}

/* Build 001.7 final polish: darker descendancy lines, Relationship connection style, photo continue cards, museum footer */
.oat-rex-connector-line{
  background:#9f9f9f !important;
}
.oat-rex-connector-arrow{
  color:#555 !important;
}
.oat-rex-relationship-panel{
  border-top:1px solid #e0e0e0 !important;
  border-bottom:1px solid #e0e0e0 !important;
  padding:20px 2px 22px !important;
}
.oat-rex-relationship-panel h3{
  font-size:24px !important;
  margin:0 0 14px !important;
}
.oat-rex-connection-found-style{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 7px !important;
  color:#2f8a20 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
}
.oat-rex-connection-icon{
  width:28px !important;
  height:28px !important;
  border:1.5px solid #5aa832 !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#2f8a20 !important;
  background:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:18px !important;
  font-weight:700 !important;
  flex:0 0 auto !important;
}
.oat-rex-connection-value{
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:18px !important;
  font-weight:600 !important;
  color:#111 !important;
  margin:0 0 7px 38px !important;
  line-height:1.25 !important;
}
.oat-rex-connection-value strong{color:#111 !important;}
.oat-rex-connection-sentence{
  font-size:15px !important;
  line-height:1.5 !important;
  margin:0 0 0 38px !important;
  color:#111 !important;
  max-width:820px !important;
}
.oat-rex-continue-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;
  gap:10px !important;
}
.oat-rex-continue-card-photo{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-height:58px !important;
  padding:9px 10px !important;
}
.oat-rex-continue-thumb{
  width:48px !important;
  height:48px !important;
  border-radius:4px !important;
  border:1px solid #d8d8d8 !important;
  background-size:cover !important;
  background-position:center 22% !important;
  flex:0 0 auto !important;
}
.oat-rex-continue-thumb.no-photo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg,#777,#ddd) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
}
.oat-rex-continue-text{display:block !important;min-width:0 !important;}
.oat-rex-continue-text strong{display:block !important;line-height:1.18 !important;}
.oat-rex-continue-text span{display:block !important;font-size:12px !important;color:#555 !important;margin-top:3px !important;}
.oat-rex-footer-museum{
  border-top:1px solid #e5e5e5 !important;
  margin-top:16px !important;
  padding:16px 0 4px !important;
  color:#777 !important;
  text-align:center !important;
  font-size:12px !important;
  line-height:1.45 !important;
}
.oat-rex-footer-museum span,
.oat-rex-footer-museum a,
.oat-rex-footer-museum strong,
.oat-rex-footer-museum em{
  display:block !important;
}
.oat-rex-footer-museum span{
  color:#777 !important;
  font-size:11px !important;
  margin-bottom:2px !important;
}
.oat-rex-footer-museum a{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:18px !important;
  color:#111 !important;
  text-decoration:none !important;
  margin-bottom:1px !important;
}
.oat-rex-footer-museum a:hover{color:#0645ad !important;text-decoration:underline !important;}
.oat-rex-footer-museum strong{
  color:#555 !important;
  font-weight:600 !important;
  font-size:12px !important;
}
.oat-rex-footer-museum em{
  color:#777 !important;
  font-style:italic !important;
  font-size:12px !important;
}
@media(max-width:760px){
  .oat-rex-connection-value,
  .oat-rex-connection-sentence{margin-left:0 !important;}
}


/* Build 001.8: subtle final connector polish */
.oat-rex-connector-line{
  background:#8f8f8f !important;
}
.oat-rex-connector-arrow{
  color:#4f4f4f !important;
}
.oat-rex-connector strong{
  border-color:#cfcfcf !important;
}

/* Build 001.9 — optional Coat of Arms + Signature polish */
.oat-re-profile-media {
	border-top: 1px solid #e6e6e6;
	border-bottom: 1px solid #e6e6e6;
	margin: 16px 0;
	padding: 16px 0;
	display: grid;
	gap: 14px;
	text-align: center;
}
.oat-re-profile-media:empty {
	display: none;
}
.oat-re-profile-media-item strong {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #555;
	margin-bottom: 8px;
}
.oat-re-profile-media-item a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 8px;
	text-decoration: none;
}
.oat-re-profile-media-item a:hover {
	border-color: #111;
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.oat-re-profile-coa img {
	max-width: 105px;
	max-height: 120px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}
.oat-re-profile-signature img {
	max-width: 190px;
	max-height: 78px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}

/* Build 001.9 — final tiny relationship text polish */
.oat-rex-connection-value {
	font-size: 20px;
	line-height: 1.25;
	margin-bottom: 6px;
}
.oat-rex-connection-sentence {
	margin-top: 0;
}


/* Build 002.0 — Final Polish Release */
.oat-rex-path-v3 .oat-rex-person-card.is-selected::after{
  display:none !important;
  content:none !important;
}
.oat-rex-connector-line{
  background:#808080 !important;
}
.oat-rex-connector-arrow{
  color:#444 !important;
}
.oat-rex-connector strong{
  border-color:#c7c7c7 !important;
}
.oat-rex-relationship-panel{
  padding-top:18px !important;
  padding-bottom:20px !important;
}
.oat-rex-relationship-panel h3{
  margin-bottom:12px !important;
}
.oat-rex-connection-found-style{
  margin-bottom:4px !important;
}
.oat-rex-connection-value{
  font-size:18px !important;
  font-weight:700 !important;
  margin-top:0 !important;
  margin-bottom:4px !important;
  color:#111 !important;
}
.oat-rex-connection-sentence{
  font-size:14.5px !important;
  line-height:1.45 !important;
  margin-top:0 !important;
}
.oat-rex-common-note{
  display:block !important;
  font-size:13px !important;
  border-top:1px solid #eee !important;
  margin:12px 0 0 !important;
  padding-top:8px !important;
}
.oat-rex-continue-card-photo{
  position:relative !important;
  cursor:pointer !important;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}
.oat-rex-continue-card-photo:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 2px 8px rgba(0,0,0,.06) !important;
}
.oat-rex-continue-card-photo::after{
  content:'›';
  margin-left:auto;
  color:#777;
  font-size:20px;
  line-height:1;
}
.oat-rex-continue-card-photo:hover::after{
  color:#0645ad;
}


/* Build 002.1 — Theme Refinement: darker connector lines and black selected state */
.oat-rex-connector-line{
  background:#707070 !important;
}
.oat-rex-connector-arrow{
  color:#333 !important;
}
.oat-rex-connector strong{
  border-color:#adadad !important;
}
.oat-rex-path-v3 .oat-rex-person-card.is-selected,
.oat-rex-person-card.is-selected,
.oat-re-card.is-selected,
.oat-re-path-card.is-selected,
.oat-connection-card.is-selected{
  border:2px solid #111 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.08) !important;
  background:#fff !important;
}
.oat-rex-path-v3 .oat-rex-person-card.is-selected::after,
.oat-rex-person-card.is-selected::after,
.oat-re-card.is-selected::after,
.oat-re-path-card.is-selected::after,
.oat-connection-card.is-selected::after{
  display:none !important;
  content:none !important;
}
.oat-rex-path-v3 .oat-rex-person-card:hover{
  border-color:#111 !important;
}


/* v3.2.3 — real family tree layout + clickable navigation */
.oat-rex-family-tree-card{padding-bottom:30px !important;}
.oat-rex-family-tree{max-width:920px;margin:0 auto 10px;text-align:center;}
.oat-rex-tree-section{margin:18px 0;}
.oat-rex-tree-section h3{font-family:Georgia,"Times New Roman",serif;font-size:22px;margin:0 0 12px;color:#111;}
.oat-rex-tree-row{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;align-items:stretch;}
.oat-rex-tree-parent-row{gap:26px;}
.oat-rex-tree-person{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:178px;min-height:200px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#111;text-decoration:none;padding:12px 12px 14px;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;}
.oat-rex-tree-person:hover{transform:translateY(-1px);border-color:#111;box-shadow:0 3px 10px rgba(0,0,0,.08);color:#111;text-decoration:none;}
.oat-rex-tree-person.is-active{border:2px solid #111;}
.oat-rex-tree-role{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#666;margin-bottom:8px;}
.oat-rex-tree-thumb{width:94px;height:110px;background-size:cover;background-position:center;border-radius:4px;border:1px solid #ddd;margin-bottom:10px;display:flex;align-items:center;justify-content:center;}
.oat-rex-tree-thumb.no-photo span{font-weight:700;font-size:16px;}
.oat-rex-tree-person strong{font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.18;font-weight:600;}
.oat-rex-tree-person em{font-style:normal;color:#333;font-size:13px;margin-top:6px;}
.oat-rex-tree-empty{color:#666;margin:8px 0 0;}
.oat-rex-tree-connector-down{width:1px;height:28px;background:#777;margin:4px auto;position:relative;}
.oat-rex-tree-connector-down:after{content:'↓';position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);font-size:13px;color:#555;background:#fff;padding:0 2px;}
.oat-rex-tree-center{display:flex;justify-content:center;margin:14px 0 12px;}
.oat-rex-tree-spouse-line{display:flex;align-items:center;gap:10px;justify-content:center;margin:8px auto 0;color:#555;font-size:12px;text-transform:uppercase;letter-spacing:.08em;}
.oat-rex-tree-spouse-line:before,.oat-rex-tree-spouse-line:after{content:'';display:block;width:60px;height:1px;background:#bbb;}
.oat-re-mini-family a{cursor:pointer;}
@media(max-width:760px){.oat-rex-tree-person{width:150px}.oat-rex-tree-thumb{width:82px;height:96px}.oat-rex-tree-row{gap:12px}}


/* v3.2.4 — family tree sync + compact genealogy lines */
.oat-rex-family-tree{max-width:760px !important;margin:0 auto 8px !important;}
.oat-rex-tree-section{margin:12px 0 !important;position:relative;}
.oat-rex-tree-section h3{font-size:19px !important;margin-bottom:8px !important;}
.oat-rex-tree-row{gap:14px !important;position:relative;align-items:flex-start !important;}
.oat-rex-tree-parent-row,.oat-rex-tree-children .oat-rex-tree-row{padding-top:10px;}
.oat-rex-tree-parent-row:before,.oat-rex-tree-children .oat-rex-tree-row:before{content:'';position:absolute;top:0;left:22%;right:22%;height:1px;background:#9a9a9a;}
.oat-rex-tree-parent-row .oat-rex-tree-person:before,.oat-rex-tree-children .oat-rex-tree-person:before{content:'';position:absolute;top:-10px;left:50%;width:1px;height:10px;background:#9a9a9a;}
.oat-rex-tree-person{position:relative;width:136px !important;min-height:158px !important;padding:9px 9px 10px !important;border-radius:5px !important;}
.oat-rex-tree-person.is-active{width:152px !important;min-height:174px !important;}
.oat-rex-tree-thumb{width:72px !important;height:84px !important;margin-bottom:7px !important;}
.oat-rex-tree-person strong{font-size:14px !important;line-height:1.16 !important;}
.oat-rex-tree-person em{font-size:12px !important;margin-top:4px !important;}
.oat-rex-tree-role{font-size:9px !important;margin-bottom:6px !important;}
.oat-rex-tree-connector-down{height:22px !important;margin:2px auto !important;background:#9a9a9a !important;}
.oat-rex-tree-connector-down:after{content:'' !important;display:none !important;}
.oat-rex-tree-center{margin:10px 0 8px !important;}
.oat-rex-tree-spouse-line{margin:6px auto 0 !important;}
@media(max-width:760px){.oat-rex-tree-person{width:118px !important}.oat-rex-tree-thumb{width:62px !important;height:72px !important}.oat-rex-tree-person strong{font-size:13px !important}.oat-rex-tree-parent-row:before,.oat-rex-tree-children .oat-rex-tree-row:before{left:14%;right:14%;}}

/* v3.3.0 — professional genealogy connector lines and marriage icon */
.oat-rex-family-tree{
  --oat-tree-line:#222;
  --oat-tree-line-w:2px;
}
.oat-rex-tree-parent-row:before,
.oat-rex-tree-children .oat-rex-tree-row:before{
  background:var(--oat-tree-line) !important;
  height:var(--oat-tree-line-w) !important;
  left:calc(50% - 96px) !important;
  right:calc(50% - 96px) !important;
}
.oat-rex-tree-parent-row .oat-rex-tree-person:before,
.oat-rex-tree-children .oat-rex-tree-person:before{
  background:var(--oat-tree-line) !important;
  width:var(--oat-tree-line-w) !important;
}
.oat-rex-parent-couple{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:0;
  position:relative;
  margin:0 auto 4px;
  width:max-content;
  max-width:100%;
}
.oat-rex-parent-slot{position:relative;z-index:2;}
.oat-rex-marriage-connector{
  flex:0 0 58px;
  width:58px;
  height:138px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:1;
}
.oat-rex-marriage-connector:before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:var(--oat-tree-line-w);
  background:var(--oat-tree-line);
  transform:translateY(-50%);
}
.oat-rex-marriage-connector:after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:var(--oat-tree-line-w);
  height:72px;
  background:var(--oat-tree-line);
  transform:translateX(-50%);
}
.oat-rex-marriage-connector span{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:var(--oat-tree-line-w) solid var(--oat-tree-line);
  border-radius:50%;
  background:#fff;
  color:#c99a28;
  font-size:18px;
  line-height:1;
  box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.oat-rex-tree-parents + .oat-rex-tree-connector-down{
  height:30px !important;
  margin:-2px auto 4px !important;
  background:var(--oat-tree-line) !important;
  width:var(--oat-tree-line-w) !important;
}
.oat-rex-tree-connector-down{
  background:var(--oat-tree-line) !important;
  width:var(--oat-tree-line-w) !important;
}
.oat-rex-tree-person.is-active{
  border-color:#111 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.12) !important;
}
.oat-rex-path .oat-rex-arrow,
.oat-rex-arrow{
  border-color:var(--oat-tree-line) !important;
  color:var(--oat-tree-line) !important;
}
.oat-rex-path-v3 .oat-rex-connector,
.oat-rex-path-v3 .oat-rex-line,
.oat-rex-path-v3 .oat-rex-path-line{
  background:var(--oat-tree-line) !important;
  border-color:var(--oat-tree-line) !important;
}
@media(max-width:760px){
  .oat-rex-parent-couple{width:100%;gap:8px;}
  .oat-rex-marriage-connector{flex-basis:36px;width:36px;height:120px;}
  .oat-rex-marriage-connector span{width:28px;height:28px;font-size:15px;}
}

/* v4.1.0 — spouse-couple tree layout, no theme/header changes */
.oat-rex-pro-family-tree{
  --oat-tree-line:#222;
  --oat-tree-line-w:2px;
  --oat-tree-card-w:126px;
  max-width:760px !important;
  margin:0 auto 12px !important;
  text-align:center;
}
.oat-rex-pro-family-tree .oat-rex-tree-generation{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  margin:10px 0;
}
.oat-rex-pro-family-tree .oat-rex-tree-couple{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  position:relative;
  margin:0 auto;
}
.oat-rex-pro-family-tree .oat-rex-couple-slot{
  position:relative;
  z-index:2;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage{
  position:relative;
  width:62px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 62px;
  z-index:1;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:var(--oat-tree-line-w);
  background:var(--oat-tree-line);
  transform:translateY(-50%);
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:var(--oat-tree-line-w);
  height:54px;
  background:var(--oat-tree-line);
  transform:translateX(-50%);
  z-index:0;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage span{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border:var(--oat-tree-line-w) solid var(--oat-tree-line);
  border-radius:50%;
  background:#fff;
  color:#b8891e;
  font-size:16px;
  line-height:1;
  box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.oat-rex-pro-family-tree .oat-rex-tree-person{
  width:var(--oat-tree-card-w) !important;
  min-height:148px !important;
  padding:8px 8px 9px !important;
  border:1px solid #d8d8d8 !important;
  border-radius:5px !important;
  background:#fff !important;
  box-shadow:0 1px 3px rgba(0,0,0,.04) !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-person.is-active{
  border:2px solid #111 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.12) !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-role{display:none !important;}
.oat-rex-pro-family-tree .oat-rex-tree-thumb{
  width:66px !important;
  height:76px !important;
  margin-bottom:7px !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-person strong{
  font-size:14px !important;
  line-height:1.12 !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-person em{
  font-size:12px !important;
  margin-top:4px !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-downline{
  width:var(--oat-tree-line-w);
  height:34px;
  margin:0 auto;
  background:var(--oat-tree-line);
}
.oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents{
  height:30px;
}
.oat-rex-pro-family-tree .oat-rex-tree-children-row{
  display:flex;
  justify-content:center;
  gap:18px;
  position:relative;
  padding-top:12px;
  margin:0 auto 12px;
}
.oat-rex-pro-family-tree .oat-rex-tree-children-row:before{
  content:'';
  position:absolute;
  top:0;
  left:calc(50% - ((var(--oat-tree-card-w) + 18px) / 2));
  right:calc(50% - ((var(--oat-tree-card-w) + 18px) / 2));
  height:var(--oat-tree-line-w);
  background:var(--oat-tree-line);
}
.oat-rex-pro-family-tree .oat-rex-tree-child-slot{
  position:relative;
}
.oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  content:'';
  position:absolute;
  top:-12px;
  left:50%;
  width:var(--oat-tree-line-w);
  height:12px;
  background:var(--oat-tree-line);
  transform:translateX(-50%);
}
.oat-rex-pro-family-tree .oat-rex-tree-children-row .oat-rex-tree-child-slot:only-child:before{
  height:12px;
}
.oat-rex-pro-family-tree .oat-rex-tree-children-row:has(.oat-rex-tree-child-slot:only-child):before{
  display:none;
}
.oat-rex-pro-family-tree .oat-rex-tree-extra-spouses{
  margin-top:12px;
  display:flex;
  justify-content:center;
  gap:12px;
}
.oat-rex-path .oat-rex-arrow,
.oat-rex-arrow,
.oat-rex-connector-line{
  background:var(--oat-tree-line,#222) !important;
  border-color:var(--oat-tree-line,#222) !important;
  color:var(--oat-tree-line,#222) !important;
}
@media(max-width:760px){
  .oat-rex-pro-family-tree{--oat-tree-card-w:112px;max-width:100% !important;}
  .oat-rex-pro-family-tree .oat-rex-couple-marriage{width:44px;flex-basis:44px;}
  .oat-rex-pro-family-tree .oat-rex-couple-marriage span{width:26px;height:26px;font-size:14px;}
  .oat-rex-pro-family-tree .oat-rex-tree-thumb{width:58px !important;height:68px !important;}
  .oat-rex-pro-family-tree .oat-rex-tree-person strong{font-size:12px !important;}
  .oat-rex-pro-family-tree .oat-rex-tree-children-row{gap:10px;}
}

/* v4.1.1 — marriage connector cleanup: darker lines, no card overlap */
.oat-rex-pro-family-tree{
  --oat-tree-line:#111;
  --oat-tree-line-w:2px;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage{
  height:34px !important;
  overflow:visible !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:before{
  background:var(--oat-tree-line) !important;
  height:var(--oat-tree-line-w) !important;
  top:50% !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:after{
  background:var(--oat-tree-line) !important;
  top:calc(50% + 16px) !important;
  height:42px !important;
  z-index:0 !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage span{
  border-color:var(--oat-tree-line) !important;
  width:28px !important;
  height:28px !important;
  background:#fff !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-generation{
  margin-bottom:46px !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-generation + .oat-rex-tree-downline,
.oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents{
  margin-top:-30px !important;
  height:30px !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-children-row{
  margin-top:0 !important;
}

/* v4.2.0 — Professional Family Unit Tree connector cleanup */
.oat-rex-pro-family-tree{
  --oat-tree-line:#111;
  --oat-tree-line-w:2px;
  --oat-tree-marriage-gap:58px;
}
.oat-rex-pro-family-tree .oat-rex-tree-generation{
  margin:8px 0 0 !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-couple{
  align-items:stretch !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage{
  align-self:stretch !important;
  height:auto !important;
  min-height:148px !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:before{
  top:50% !important;
  height:var(--oat-tree-line-w) !important;
  background:var(--oat-tree-line) !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:after{
  display:none !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-couple.oat-rex-has-children .oat-rex-couple-marriage:after{
  display:block !important;
  content:'' !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  bottom:calc(-1 * var(--oat-tree-marriage-gap)) !important;
  width:var(--oat-tree-line-w) !important;
  height:auto !important;
  background:var(--oat-tree-line) !important;
  transform:translateX(-50%) !important;
  z-index:0 !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:30px !important;
  height:30px !important;
  border:var(--oat-tree-line-w) solid var(--oat-tree-line) !important;
  color:#b8891e !important;
  background:#fff !important;
  z-index:3 !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-couple-spacer{
  height:var(--oat-tree-marriage-gap) !important;
  margin:0 auto !important;
  position:relative !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-downline{
  background:var(--oat-tree-line) !important;
  width:var(--oat-tree-line-w) !important;
  height:34px !important;
  margin:0 auto !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-children-row{
  margin:0 auto 12px !important;
  padding-top:12px !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-children-row:before,
.oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  background:var(--oat-tree-line) !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-children-row:before{
  height:var(--oat-tree-line-w) !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  width:var(--oat-tree-line-w) !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-person{
  width:124px !important;
  min-height:146px !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-slot{
  display:flex !important;
  align-items:stretch !important;
}
@media(max-width:760px){
  .oat-rex-pro-family-tree{--oat-tree-marriage-gap:46px;}
  .oat-rex-pro-family-tree .oat-rex-couple-marriage{min-height:132px !important;}
}


/* v4.2.1 — connector/card-edge cleanup
   Keep the site theme unchanged; only refine the family-tree connector geometry. */
.oat-rex-pro-family-tree{
  --oat-tree-line:#111;
  --oat-tree-line-w:2px;
  --oat-tree-marriage-gap:34px;
}

/* The parent marriage row should not draw a long line that can run through the selected card. */
.oat-rex-pro-family-tree .oat-rex-generation-parents .oat-rex-couple-marriage:after{
  display:none !important;
}

/* Reset older negative margins that caused vertical lines to overlap cards/photos. */
.oat-rex-pro-family-tree .oat-rex-tree-generation + .oat-rex-tree-downline,
.oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents{
  margin-top:0 !important;
  margin-bottom:0 !important;
  height:34px !important;
  width:var(--oat-tree-line-w) !important;
  background:var(--oat-tree-line) !important;
}

/* Keep the centered profile safely below the parent connector; line stops at card edge. */
.oat-rex-pro-family-tree .oat-rex-generation-focus-single,
.oat-rex-pro-family-tree .oat-rex-generation-focus-couple{
  margin-top:0 !important;
  position:relative !important;
  z-index:2 !important;
}
.oat-rex-pro-family-tree .oat-rex-generation-focus-single .oat-rex-tree-person,
.oat-rex-pro-family-tree .oat-rex-generation-focus-couple .oat-rex-tree-person{
  position:relative !important;
  z-index:3 !important;
  background:#fff !important;
}

/* Marriage line: stop at the card edges, keep ring centered. */
.oat-rex-pro-family-tree .oat-rex-tree-couple{
  align-items:center !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage{
  align-self:stretch !important;
  min-height:146px !important;
  overflow:visible !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:before{
  top:50% !important;
  height:var(--oat-tree-line-w) !important;
  background:var(--oat-tree-line) !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage span{
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  border-color:var(--oat-tree-line) !important;
  background:#fff !important;
  color:#b8891e !important;
}

/* For the selected person's spouse/child group, draw descendant line below the marriage ring only. */
.oat-rex-pro-family-tree .oat-rex-generation-focus-couple .oat-rex-tree-couple.oat-rex-has-children .oat-rex-couple-marriage:after{
  display:block !important;
  top:calc(50% + 18px) !important;
  bottom:calc(-1 * var(--oat-tree-marriage-gap)) !important;
  height:auto !important;
  background:var(--oat-tree-line) !important;
}

.oat-rex-pro-family-tree .oat-rex-tree-couple-spacer{
  height:var(--oat-tree-marriage-gap) !important;
  margin:0 auto !important;
}

/* Children/sibling connector row: darker lines, no extra overhang. */
.oat-rex-pro-family-tree .oat-rex-tree-children-row{
  padding-top:12px !important;
  margin-top:0 !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-children-row:before{
  background:var(--oat-tree-line) !important;
  height:var(--oat-tree-line-w) !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  background:var(--oat-tree-line) !important;
  width:var(--oat-tree-line-w) !important;
  height:12px !important;
}

/* Ensure connector visually touches only the card border; it never sits above the portrait. */
.oat-rex-pro-family-tree .oat-rex-tree-person{
  overflow:hidden !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-thumb{
  position:relative !important;
  z-index:2 !important;
  background-color:#fff !important;
}

@media(max-width:760px){
  .oat-rex-pro-family-tree{--oat-tree-marriage-gap:28px;}
  .oat-rex-pro-family-tree .oat-rex-couple-marriage{min-height:132px !important;}
  .oat-rex-pro-family-tree .oat-rex-tree-generation + .oat-rex-tree-downline,
  .oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents{height:28px !important;}
}


/* v4.2.2 Theme Consistency: selected family tree card uses black, not blue. */
.oat-rex-pro-family-tree .oat-rex-tree-person.is-selected,
.oat-rex-pro-family-tree .oat-rex-person-card.is-selected,
.oat-rex-tree-person.is-selected,
.oat-rex-person-card.is-selected,
.oat-re-card.is-selected,
.oat-re-path-card.is-selected,
.oat-connection-card.is-selected {
  border-color:#111 !important;
  box-shadow:0 0 0 2px #111 !important;
  background:#fff !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-person.is-selected {
  border:2px solid #111 !important;
}

/* v4.3.0 — Final selected-card black border override */
.oat-rex-pro-family-tree .oat-rex-tree-person.is-active,
.oat-rex-pro-family-tree .oat-rex-tree-person.is-selected,
.oat-rex-pro-family-tree .oat-rex-person-card.is-active,
.oat-rex-pro-family-tree .oat-rex-person-card.is-selected,
.oat-rex-tree-person.is-active,
.oat-rex-tree-person.is-selected,
.oat-rex-person-card.is-active,
.oat-rex-person-card.is-selected,
.oat-re-card.is-active,
.oat-re-card.is-selected,
.oat-re-path-card.is-active,
.oat-re-path-card.is-selected,
.oat-connection-card.is-active,
.oat-connection-card.is-selected {
  border: 2px solid #111 !important;
  border-color: #111 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
  outline: none !important;
  background: #fff !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-person.is-active *,
.oat-rex-pro-family-tree .oat-rex-tree-person.is-selected * {
  outline-color: #111 !important;
}


/* v4.3.2 — definitive black selected-card border. Keep site links blue; only selected tree/profile cards are black. */
.oat-rex-app .oat-rex-pro-family-tree a.oat-rex-tree-person.is-active,
.oat-rex-app .oat-rex-pro-family-tree a.oat-rex-tree-person.is-selected,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person.is-active,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person.is-selected,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person[aria-current="true"],
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person[aria-selected="true"],
.oat-rex-app .oat-rex-person-card.is-selected,
.oat-rex-app .oat-rex-person-card.is-active {
  border:2px solid #111 !important;
  border-color:#111 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.12) !important;
  outline:0 !important;
  background:#fff !important;
}
.oat-rex-app .oat-rex-pro-family-tree a.oat-rex-tree-person.is-active *,
.oat-rex-app .oat-rex-pro-family-tree a.oat-rex-tree-person.is-selected *,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person.is-active *,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person.is-selected * {
  outline-color:#111 !important;
}


/* v4.3.4 — Shared connector styling: Family Tree line style matches Relationship chart. Tabs remain separate. */
.oat-rex-app{
  --oat-shared-connector:#9f9f9f;
  --oat-shared-connector-w:2px;
}

/* Relationship chart connector baseline */
.oat-rex-connector-line{
  background:var(--oat-shared-connector) !important;
  width:var(--oat-shared-connector-w) !important;
}
.oat-rex-connector-arrow{
  color:#555 !important;
}
.oat-rex-connector strong{
  border-color:#d6d6d6 !important;
}

/* Family Tree uses the same visual connector rules as Relationship chart */
.oat-rex-family-tree,
.oat-rex-pro-family-tree{
  --oat-tree-line:var(--oat-shared-connector) !important;
  --oat-tree-line-w:var(--oat-shared-connector-w) !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:before,
.oat-rex-pro-family-tree .oat-rex-couple-marriage:after,
.oat-rex-pro-family-tree .oat-rex-tree-downline,
.oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents,
.oat-rex-pro-family-tree .oat-rex-tree-children-row:before,
.oat-rex-pro-family-tree .oat-rex-tree-child-slot:before,
.oat-rex-tree-connector-down,
.oat-rex-tree-parent-row:before,
.oat-rex-tree-children .oat-rex-tree-row:before,
.oat-rex-tree-parent-row .oat-rex-tree-person:before,
.oat-rex-tree-children .oat-rex-tree-person:before{
  background:var(--oat-shared-connector) !important;
  border-color:var(--oat-shared-connector) !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:before,
.oat-rex-pro-family-tree .oat-rex-tree-children-row:before,
.oat-rex-tree-parent-row:before,
.oat-rex-tree-children .oat-rex-tree-row:before{
  height:var(--oat-shared-connector-w) !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage:after,
.oat-rex-pro-family-tree .oat-rex-tree-downline,
.oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents,
.oat-rex-pro-family-tree .oat-rex-tree-child-slot:before,
.oat-rex-tree-connector-down,
.oat-rex-tree-parent-row .oat-rex-tree-person:before,
.oat-rex-tree-children .oat-rex-tree-person:before{
  width:var(--oat-shared-connector-w) !important;
}
.oat-rex-pro-family-tree .oat-rex-couple-marriage span{
  border-color:var(--oat-shared-connector) !important;
}

/* Keep public empty state clean — no internal OAT setup guidance. */
.oat-rex-empty-path p{
  display:none !important;
}


/* v4.3.5 — Final shared connector engine override.
   Relationship and Family Tree tabs stay separate, but use one visual connector system. */
.oat-rex-app{
  --oat-rex-connector-color:#c4c4c4;
  --oat-rex-connector-width:2px;
}

/* Relationship tab connector */
.oat-rex-app .oat-rex-connector-line{
  background:var(--oat-rex-connector-color) !important;
  width:var(--oat-rex-connector-width) !important;
}
.oat-rex-app .oat-rex-connector-arrow{
  color:#666 !important;
}
.oat-rex-app .oat-rex-connector strong{
  border-color:#d8d8d8 !important;
}

/* Family Tree connector uses the same visual rules; tabs do not connect to each other. */
.oat-rex-app .oat-rex-pro-family-tree,
.oat-rex-app .oat-rex-family-tree{
  --oat-tree-line:var(--oat-rex-connector-color) !important;
  --oat-tree-line-w:var(--oat-rex-connector-width) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:before,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:after,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-children-row:before,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  background:var(--oat-rex-connector-color) !important;
  border-color:var(--oat-rex-connector-color) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:before,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-children-row:before{
  height:var(--oat-rex-connector-width) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:after,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  width:var(--oat-rex-connector-width) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage span{
  border-color:var(--oat-rex-connector-color) !important;
}

/* Remove public setup guidance text completely from empty relationship/tree states. */
.oat-rex-app .oat-rex-empty-path p{
  display:none !important;
}


/* v5.0.0 — Professional Genealogy Engine connector stabilization
   Keeps tabs separate, but gives Family Tree the same visual connector language as Relationship. */
.oat-rex-app{
  --oat-rex-connector-color:#c4c4c4;
  --oat-rex-connector-width:2px;
}

/* Relationship connector baseline */
.oat-rex-app .oat-rex-path-v3 .oat-rex-connector-line,
.oat-rex-app .oat-rex-connector-line{
  background:var(--oat-rex-connector-color) !important;
  width:var(--oat-rex-connector-width) !important;
}
.oat-rex-app .oat-rex-path-v3 .oat-rex-connector-arrow,
.oat-rex-app .oat-rex-connector-arrow{
  color:#666 !important;
}
.oat-rex-app .oat-rex-path-v3 .oat-rex-connector strong,
.oat-rex-app .oat-rex-connector strong{
  border-color:#d8d8d8 !important;
}

/* Family Tree connector uses the same visual rules as Relationship. */
.oat-rex-app .oat-rex-pro-family-tree,
.oat-rex-app .oat-rex-family-tree{
  --oat-tree-line:var(--oat-rex-connector-color) !important;
  --oat-tree-line-w:var(--oat-rex-connector-width) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:before,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:after,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-children-row:before,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  background:var(--oat-rex-connector-color) !important;
  border-color:var(--oat-rex-connector-color) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:before,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-children-row:before{
  height:var(--oat-rex-connector-width) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:after,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  width:var(--oat-rex-connector-width) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage span{
  border-color:var(--oat-rex-connector-color) !important;
}

/* Selected person stays black and matches the OAT theme. */
.oat-rex-app .oat-rex-pro-family-tree a.oat-rex-tree-person.is-active,
.oat-rex-app .oat-rex-pro-family-tree a.oat-rex-tree-person.is-selected,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person.is-active,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person.is-selected{
  border:2px solid #111 !important;
  border-color:#111 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.12) !important;
  outline:0 !important;
  background:#fff !important;
}

/* Do not show internal setup guidance on the public site. */
.oat-rex-app .oat-rex-empty-path p{
  display:none !important;
}


/* OAT Relationship Explorer v5.1.0 — Unified Connector Engine
   Family Tree and Relationship tabs stay separate, but share one visual connector language. */
.oat-rex-app{
  --oat-rex-connector-color:#c4c4c4;
  --oat-rex-connector-width:1px;
  --oat-rex-connector-node-bg:#f7f7f7;
  --oat-rex-connector-node-border:#d7d7d7;
}

/* Relationship connector baseline */
.oat-rex-app .oat-rex-connector-line{
  width:var(--oat-rex-connector-width) !important;
  background:var(--oat-rex-connector-color) !important;
}
.oat-rex-app .oat-rex-connector strong{
  border:1px solid var(--oat-rex-connector-node-border) !important;
  background:var(--oat-rex-connector-node-bg) !important;
  color:#111 !important;
}

/* Family Tree uses the same connector stroke as Relationship. */
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:before,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:after,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-children-row:before,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  background:var(--oat-rex-connector-color) !important;
  border-color:var(--oat-rex-connector-color) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:before,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-children-row:before{
  height:var(--oat-rex-connector-width) !important;
}
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage:after,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-downline-from-parents,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-child-slot:before{
  width:var(--oat-rex-connector-width) !important;
}

/* Marriage node styled like the Relationship label node, but without text. */
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-couple-marriage span{
  width:28px !important;
  height:28px !important;
  border:1px solid var(--oat-rex-connector-node-border) !important;
  background:var(--oat-rex-connector-node-bg) !important;
  color:#111 !important;
  box-shadow:none !important;
}

/* Keep selected Family Tree card black and consistent with Relationship cards. */
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person.is-active,
.oat-rex-app .oat-rex-pro-family-tree .oat-rex-tree-person.is-selected{
  border:2px solid #111 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.12) !important;
  background:#fff !important;
}

/* v5.2.0 — expanded family tree branch view
   Shows parents, all siblings/children in birth order, then the selected person's own spouse/children branch. */
.oat-rex-expanded-family-tree{
  --oat-tree-line:#222;
}
.oat-rex-expanded-family-tree .oat-rex-tree-branch-divider{
  width:2px;
  height:28px;
  background:var(--oat-tree-line);
  margin:0 auto 14px;
}
.oat-rex-expanded-family-tree .oat-rex-tree-branch-divider:before{
  content:'';
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--oat-tree-line);
  transform:translate(-4px,-2px);
}
.oat-rex-expanded-family-tree .oat-rex-tree-children-row .oat-rex-tree-person.is-active{
  border-color:#111 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.10) !important;
}
@media(max-width:760px){
  .oat-rex-expanded-family-tree .oat-rex-tree-branch-divider{height:22px;margin-bottom:10px;}
}

/* OAT Relationship Explorer v6.0 — Admin-only Visual Tree Editor */
.oat-rex-admin-tree-toolbar{display:flex;align-items:center;gap:10px;margin:12px 0 16px;padding:10px 12px;border:1px solid #ddd;background:#fafafa;border-radius:10px;font-size:13px;color:#555}.oat-rex-admin-tree-toolbar button{background:#111;color:#fff;border:1px solid #111;border-radius:8px;padding:7px 12px;cursor:pointer;font-weight:700}.oat-rex-admin-tree-toolbar span{font-style:italic}.oat-rex-tree-edit-mode [data-oat-tree-person-card],.oat-rex-tree-edit-mode .oat-rex-tree-person{cursor:context-menu;position:relative}.oat-rex-tree-edit-mode [data-oat-tree-person-card]::after,.oat-rex-tree-edit-mode .oat-rex-tree-person::after{content:'✏️';position:absolute;right:6px;top:6px;background:#111;color:#fff;border-radius:999px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 2px 6px rgba(0,0,0,.18);opacity:.9}.oat-rex-context-menu{position:absolute;z-index:999999;display:none;min-width:220px;background:#fff;border:1px solid #222;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:6px}.oat-rex-context-menu.show{display:block}.oat-rex-context-menu button{display:block;width:100%;text-align:left;background:#fff;border:0;border-radius:7px;padding:8px 10px;cursor:pointer;font-size:13px;color:#111}.oat-rex-context-menu button:hover{background:#f2f2f2}.oat-rex-context-menu hr{border:0;border-top:1px solid #e5e5e5;margin:6px 0}.oat-rex-editor-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.35);z-index:999998;padding:20px}.oat-rex-editor-modal.show{display:flex}.oat-rex-editor-box{width:min(520px,96vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid #111;border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.22);padding:20px;position:relative}.oat-rex-editor-close{position:absolute;right:10px;top:10px;border:0;background:#111;color:#fff;border-radius:999px;width:28px;height:28px;font-size:18px;line-height:1;cursor:pointer}.oat-rex-editor-content h3{margin:0 0 14px;font-size:20px}.oat-rex-editor-content label{display:block;margin:10px 0 4px;font-weight:700;color:#222}.oat-rex-editor-content input,.oat-rex-editor-content select{display:block;width:100%;box-sizing:border-box;margin-top:4px;border:1px solid #bbb;border-radius:8px;padding:9px 10px;background:#fff}.oat-rex-editor-content button[type="submit"]{margin-top:14px;background:#111;color:#fff;border:1px solid #111;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.oat-rex-admin-toast{position:fixed;right:18px;bottom:18px;z-index:1000000;background:#111;color:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 8px 25px rgba(0,0,0,.25);opacity:0;transform:translateY(10px);transition:.2s ease}.oat-rex-admin-toast.show{opacity:1;transform:translateY(0)}.oat-rex-admin-toast.is-error{background:#8a1f1f}

/* OAT Relationship Explorer v6.1.0 — Edit button modal workflow */
.oat-rex-tree-edit-mode [data-oat-tree-person-card],
.oat-rex-tree-edit-mode .oat-rex-tree-person{
  cursor:pointer !important;
  position:relative !important;
}
.oat-rex-tree-edit-mode [data-oat-tree-person-card]::after,
.oat-rex-tree-edit-mode .oat-rex-tree-person::after{
  content:none !important;
  display:none !important;
}
.oat-rex-card-edit-button{
  display:none;
  position:absolute;
  right:6px;
  top:6px;
  z-index:10;
  background:#111;
  color:#fff;
  border:1px solid #111;
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(0,0,0,.18);
}
.oat-rex-tree-edit-mode .oat-rex-card-edit-button{display:inline-flex;align-items:center;gap:4px;}
.oat-rex-tree-edit-mode .oat-rex-card-edit-button:hover{background:#333;border-color:#333;}
.oat-rex-context-menu{display:none !important;}
.oat-rex-editor-media-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:4px 0 8px;
}
.oat-rex-editor-media-grid button,
.oat-rex-editor-actions button[data-oat-modal-cancel]{
  background:#fff;
  color:#111;
  border:1px solid #111;
  border-radius:8px;
  padding:9px 10px;
  font-weight:700;
  cursor:pointer;
}
.oat-rex-editor-media-grid button:hover,
.oat-rex-editor-actions button[data-oat-modal-cancel]:hover{background:#f3f3f3;}
.oat-rex-editor-help{margin:4px 0 12px;color:#555;font-size:13px;line-height:1.4;}
.oat-rex-editor-actions{display:flex;gap:10px;align-items:center;margin-top:14px;}
.oat-rex-editor-actions button[type="submit"]{margin-top:0 !important;}
@media(max-width:520px){.oat-rex-editor-media-grid{grid-template-columns:1fr;}}

/* v6.2 Family Relationship Editor modal tabs */
.oat-rex-editor-tabs{
  display:flex;
  gap:6px;
  margin:10px 0 14px;
  border-bottom:1px solid #d9d9d9;
}
.oat-rex-editor-tabs button{
  appearance:none;
  border:1px solid #d9d9d9;
  border-bottom:0;
  background:#f7f7f7;
  color:#111;
  padding:8px 12px;
  border-radius:8px 8px 0 0;
  font-weight:700;
  cursor:pointer;
}
.oat-rex-editor-tabs button.is-active{
  background:#fff;
  border-color:#111;
  color:#111;
}
.oat-rex-editor-tab-panel{display:none;}
.oat-rex-editor-tab-panel.is-active{display:block;}
.oat-rex-editor-tab-panel h4{
  margin:14px 0 8px;
  padding-bottom:4px;
  border-bottom:1px solid #ececec;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.oat-rex-editor-tab-panel select[multiple]{
  min-height:120px;
}
.oat-rex-family-modal-loading,
.oat-rex-editor-error{
  padding:12px;
  border:1px solid #ddd;
  background:#fafafa;
  border-radius:8px;
}
.oat-rex-editor-error{border-color:#b32d2e;color:#8a1f11;background:#fff7f7;}

/* v6.3.0 — Family editor + expandable tree controls */
.oat-rex-tree-stats{
  text-align:center;
  margin:8px 0 10px;
  color:#111;
  font-size:13px;
  letter-spacing:.01em;
}
.oat-rex-tree-stats span{
  color:#2e7d32;
  font-weight:700;
}
.oat-rex-tree-controls{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin:6px 0 14px;
}
.oat-rex-tree-controls button{
  border:1px solid #222;
  background:#fff;
  color:#111;
  border-radius:4px;
  padding:5px 10px;
  font-size:12px;
  cursor:pointer;
}
.oat-rex-tree-controls button:hover{background:#f5f5f5;}
.oat-rex-tree-branch.is-collapsed{display:none !important;}
.oat-rex-family-rel-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:6px 0 8px;
}
.oat-rex-family-rel-pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:1px solid #ddd;
  background:#fafafa;
  padding:6px 8px;
  border-radius:4px;
}
.oat-rex-family-rel-pill strong{font-weight:600;}
.oat-rex-family-rel-pill em{font-style:normal;color:#666;font-size:12px;}
.oat-rex-family-rel-pill button,
.oat-rex-family-add-row button,
.oat-rex-editor-tab-panel [data-oat-clear-select]{
  border:1px solid #333;
  background:#fff;
  color:#111;
  border-radius:4px;
  padding:4px 8px;
  cursor:pointer;
}
.oat-rex-family-add-row{
  display:flex;
  gap:8px;
  align-items:center;
  margin:8px 0 14px;
}
.oat-rex-family-add-row select{flex:1;min-width:0;}
.oat-rex-editor-tab-panel [data-oat-clear-select]{margin:-3px 0 8px;}

/* v6.3.2 — clean connector behavior */
.oat-rex-tree-branch.is-collapsed .oat-rex-tree-branch-divider,
.oat-rex-tree-branch.is-collapsed .oat-rex-tree-downline,
.oat-rex-tree-branch.is-collapsed .oat-rex-tree-couple-spacer{display:none !important;}


/* v6.4.0 — Visual Media Editor + simplified tree toolbar */
.oat-rex-tree-controls{display:none !important;}
.oat-rex-media-section{border:1px solid #e5e5e5;border-radius:10px;padding:10px 12px;margin:10px 0;background:#fff;}
.oat-rex-media-section h4{margin:0 0 8px;font-size:15px;}
.oat-rex-paste-panel{margin:12px 0;padding:12px;border:1px solid #d8d8d8;border-radius:10px;background:#fafafa;}
.oat-rex-paste-panel[hidden]{display:none !important;}
.oat-rex-paste-panel h4{margin:0 0 8px;}
.oat-rex-paste-target{min-height:120px;border:2px dashed #777;border-radius:10px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;cursor:text;color:#222;}
.oat-rex-paste-target:focus{outline:2px solid #111;outline-offset:2px;border-color:#111;}
.oat-rex-paste-target span{color:#666;font-size:13px;margin-top:4px;}
.oat-rex-paste-status{font-size:13px;color:#555;margin:8px 0 0;}


/* v6.4.1 — Family unit actions + resting place link fix */
.oat-re-fact-row [data-profile-resting-place] a,
[data-profile-resting-place] a{
  color:#0645ad !important;
  text-decoration:underline !important;
}
.oat-rex-editor-actions [data-oat-delete-person]{
  background:#fff !important;
  border:1px solid #b32d2e !important;
  color:#8a1f11 !important;
  border-radius:8px;
  padding:9px 10px;
}
.oat-rex-editor-actions [data-oat-delete-person]:hover{background:#fff7f7 !important;}
[data-oat-create-relative]{
  margin:0 0 12px;
  background:#fff;
  border:1px solid #222;
  border-radius:4px;
  padding:5px 10px;
}


/* v6.4.2 — no visual duplicate selected person, no leftover controls */
.oat-rex-tree-controls{display:none !important;}
.oat-rex-expanded-family-tree .oat-rex-tree-branch-divider{display:none !important;}
.oat-re-resting-link,
.oat-re-fact-row span a.oat-re-resting-link,
.oat-re-fact-row [data-profile-resting-place] a,
[data-profile-resting-place] a{color:#0645ad !important;text-decoration:underline !important;}

/* v6.4.3 — Sibling Family Unit Layout
   Keep the selected person in birth order with siblings, and attach spouse/children to that same card. */
.oat-rex-pro-family-tree .oat-rex-tree-children-row-with-focus-family{
  align-items:flex-start !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-child-slot-focus-family{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  min-width:max-content !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-child-slot-focus-family > .oat-rex-tree-couple{
  margin:0 auto !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-child-slot-focus-family > .oat-rex-tree-couple-spacer{
  height:28px !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-child-slot-focus-family .oat-rex-tree-children-row{
  margin-bottom:0 !important;
}
.oat-rex-pro-family-tree .oat-rex-tree-child-slot-focus-family .oat-rex-tree-children-row:before{
  left:calc(50% - ((var(--oat-tree-card-w) + 18px) / 2)) !important;
  right:calc(50% - ((var(--oat-tree-card-w) + 18px) / 2)) !important;
}

/* v7.0.0 — Tree Engine 2.0 foundation
   Family graph is rendered as family units first, then connector lines. */
.oat-v7-tree-engine{
  --oat-v7-line:#222;
  --oat-v7-line-w:2px;
  --oat-v7-card-w:138px;
  --oat-v7-gap:22px;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:0 !important;
  width:100% !important;
  overflow-x:auto !important;
  padding:10px 0 18px !important;
}
.oat-v7-tree-engine .oat-rex-tree-person{
  width:var(--oat-v7-card-w) !important;
  min-height:148px !important;
  border:1px solid #d0d0d0 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04) !important;
  color:#111 !important;
}
.oat-v7-tree-engine .oat-rex-tree-person.is-active{
  border:2px solid #000 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.14) !important;
}
.oat-v7-tree-engine .oat-rex-tree-thumb{
  width:68px !important;
  height:78px !important;
}
.oat-v7-tree-engine .oat-rex-tree-person strong{font-size:13px !important;line-height:1.18 !important;}
.oat-v7-tree-engine .oat-rex-tree-person em{font-size:12px !important;}
.oat-v7-generation,
.oat-v7-family-unit,
.oat-v7-tree-slot{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  position:relative !important;
}
.oat-v7-couple-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  position:relative !important;
  min-width:max-content !important;
}
.oat-v7-couple-row > .oat-v7-tree-slot{z-index:2;}
.oat-v7-marriage-node{
  width:38px !important;
  height:26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  margin:0 3px !important;
  z-index:1 !important;
  font-size:16px !important;
  line-height:1 !important;
  color:#111 !important;
}
.oat-v7-marriage-node:before,
.oat-v7-marriage-node:after{
  content:'' !important;
  position:absolute !important;
  top:50% !important;
  width:22px !important;
  height:var(--oat-v7-line-w) !important;
  background:var(--oat-v7-line) !important;
  transform:translateY(-50%) !important;
  z-index:-1 !important;
}
.oat-v7-marriage-node:before{right:50% !important;}
.oat-v7-marriage-node:after{left:50% !important;}
.oat-v7-family-downline,
.oat-v7-parent-downline{
  width:var(--oat-v7-line-w) !important;
  height:28px !important;
  background:var(--oat-v7-line) !important;
  margin:0 auto !important;
}
.oat-v7-family-unit.single-person.has-children .oat-v7-family-downline{
  margin-top:0 !important;
}
.oat-v7-sibling-row,
.oat-v7-children-row,
.oat-v7-people-row{
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:var(--oat-v7-gap) !important;
  position:relative !important;
  min-width:max-content !important;
  padding-top:28px !important;
}
.oat-v7-sibling-row:before,
.oat-v7-children-row:before,
.oat-v7-people-row:before{
  content:'' !important;
  position:absolute !important;
  top:0 !important;
  left:calc((var(--oat-v7-card-w) / 2)) !important;
  right:calc((var(--oat-v7-card-w) / 2)) !important;
  height:var(--oat-v7-line-w) !important;
  background:var(--oat-v7-line) !important;
}
.oat-v7-sibling-row > .oat-v7-tree-slot:before,
.oat-v7-children-row > .oat-v7-tree-slot:before,
.oat-v7-people-row > .oat-v7-tree-slot:before{
  content:'' !important;
  position:absolute !important;
  top:-28px !important;
  left:50% !important;
  width:var(--oat-v7-line-w) !important;
  height:28px !important;
  background:var(--oat-v7-line) !important;
  transform:translateX(-50%) !important;
}
.oat-v7-sibling-row > .oat-v7-tree-slot:only-child:before,
.oat-v7-children-row > .oat-v7-tree-slot:only-child:before,
.oat-v7-people-row > .oat-v7-tree-slot:only-child:before{
  display:block !important;
}
.oat-v7-sibling-row:has(> .oat-v7-tree-slot:only-child):before,
.oat-v7-children-row:has(> .oat-v7-tree-slot:only-child):before,
.oat-v7-people-row:has(> .oat-v7-tree-slot:only-child):before{
  display:none !important;
}
.oat-v7-extra-spouses{
  display:flex !important;
  gap:12px !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  margin-top:12px !important;
}
/* Disable legacy tree connector pieces when Tree Engine 2.0 markup is present. */
.oat-v7-tree-engine .oat-rex-tree-couple-spacer,
.oat-v7-tree-engine .oat-rex-tree-downline,
.oat-v7-tree-engine .oat-rex-tree-children-row:before,
.oat-v7-tree-engine .oat-rex-tree-child-slot:before,
.oat-v7-tree-engine .oat-rex-tree-generation + .oat-rex-tree-downline{display:none !important;}
.oat-rex-tree-controls{display:none !important;}
@media(max-width:760px){
  .oat-v7-tree-engine{--oat-v7-card-w:118px;--oat-v7-gap:12px;}
  .oat-v7-tree-engine .oat-rex-tree-person{min-height:136px !important;}
  .oat-v7-marriage-node{width:30px !important;margin:0 2px !important;}
  .oat-v7-marriage-node:before,.oat-v7-marriage-node:after{width:17px !important;}
}
