/* V6.1 theme overrides — kept after atlas.css so themes are semantic, not filters. */
.family-atlas[data-theme="botanical"],.family-atlas[data-theme="minimal"],.family-atlas[data-theme="royal"]{filter:none}.family-atlas[data-theme="minimal"] .atlas-union,.family-atlas[data-theme="minimal"] .atlas-focus{box-shadow:none;border-radius:8px}.family-atlas[data-theme="royal"] .atlas-focus{background:linear-gradient(135deg,#faf7ff,#fff)}
/* V6 private-media review surface */
.archive-actions{display:flex;gap:8px;flex-wrap:wrap}.media-review-panel{margin-top:22px;padding-top:18px;border-top:1px solid #dbe5e8}.media-review{gap:14px}.media-review small{max-width:38rem}.media-review .pill{white-space:nowrap}@media(max-width:700px){.archive-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.archive-actions .btn{min-height:44px;padding:8px;font-size:12px}.media-review{align-items:flex-start;flex-direction:column}.media-review .btn{width:100%;margin-top:6px}}
.invite-panel{margin-top:24px;padding-top:18px;border-top:1px solid #dbe5e8}.invite-panel .section-head{align-items:flex-start}.invite-panel .btn{white-space:nowrap}@media(max-width:700px){.invite-panel .section-head{display:grid}.invite-panel .section-head .btn{width:100%;min-height:44px}}
/* V6.2 contribution center and V7 heritage surfaces */
.contribution-hero{margin-bottom:18px;background:linear-gradient(135deg,#fffdf7,#f4ecdd);border-color:#ddc795}.contribution-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.contribution-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contribution-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #e3eaed}.contribution-row:last-child{border-bottom:0}.contribution-row small{display:block;color:#66788a;margin-top:4px}.quality-panel,.edition-panel{margin-top:22px;padding-top:18px;border-top:1px solid #dbe5e8}.quality-score{font-size:28px;color:#0d614f}.quality-score small{font-size:13px;color:#66788a}.quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 16px}.quality-grid>div{padding:12px;border:1px solid #dbe5e8;border-radius:12px;background:#f7fafb}.quality-grid small,.quality-grid b{display:block}.quality-grid b{font-size:22px;color:#12334e}.memory-map-box{max-width:760px}.memory-map{position:relative;min-height:360px;overflow:hidden;border:1px solid #c8d9dc;border-radius:18px;background:radial-gradient(circle at 68% 41%,rgba(207,167,94,.33),transparent 16%),radial-gradient(circle at 44% 62%,rgba(62,120,125,.22),transparent 20%),linear-gradient(145deg,#dfeef0,#f9f2e6);isolation:isolate}.memory-map:before{content:"";position:absolute;inset:0;opacity:.45;background-image:linear-gradient(rgba(20,78,91,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(20,78,91,.13) 1px,transparent 1px);background-size:40px 40px}.memory-pin{position:absolute;z-index:1;transform:translate(-50%,-50%);border:0;background:transparent;color:#12334e;font:inherit;cursor:pointer}.memory-pin span{display:block;font-size:27px;color:#b78024;text-shadow:0 1px 0 #fff}.memory-pin small{display:none;white-space:nowrap;background:#fff;padding:4px 7px;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.15)}.memory-pin:hover small,.memory-pin:focus small{display:block}.memory-place-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.memory-place-list>div{padding:9px 11px;border-radius:10px;background:#f7fafb}.memory-place-list small{display:block;color:#66788a;margin-top:3px}
.archive-access-gate{min-height:100%;display:grid;place-content:center;justify-items:center;gap:12px;padding:42px 20px;text-align:center;color:#183850;background:radial-gradient(circle at 50% 30%,#fffdf7,#edf4f3)}.archive-access-gate>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#d9b96e;color:#102e46;font-size:25px;font-weight:900}.archive-access-gate h3{margin:0;font-size:23px}.archive-access-gate p{max-width:430px;margin:0;color:#5e7281}.archive-access-gate small{max-width:470px;color:#687e8b}.archive-access-gate .btn{margin-top:4px}.error-gate>span{background:#f5d7d4;color:#963f36}
.guest-tree-gate{position:relative;overflow:hidden;background:linear-gradient(135deg,#eef5f4,#fffaf0)}.guest-tree-gate>*:not(.guest-tree-silhouette){position:relative;z-index:2}.guest-tree-silhouette{position:absolute;z-index:1;inset:18px auto auto 50%;width:min(650px,94%);height:210px;transform:translateX(-50%);opacity:.62;filter:blur(6px);pointer-events:none}.guest-tree-silhouette i{position:absolute;display:block}.guest-node{width:105px;height:44px;border:1px solid #8aa7b2;border-radius:10px;background:linear-gradient(135deg,#dbe9e9,#fdf9f0);box-shadow:0 7px 14px rgba(21,55,69,.13)}.guest-node.root{top:2px;left:calc(50% - 52px);background:#cfaa62}.guest-node.a{top:83px;left:15%}.guest-node.b{top:83px;left:calc(50% - 52px)}.guest-node.c{top:83px;right:15%}.guest-node.d{top:163px;left:1%}.guest-node.e{top:163px;left:25%}.guest-node.f{top:163px;left:calc(50% - 52px)}.guest-node.g{top:163px;right:25%}.guest-node.h{top:163px;right:1%}.guest-link{height:2px;background:#789aa8;transform-origin:top}.guest-link.trunk{top:46px;left:50%;width:2px;height:38px}.guest-link.rail-one{top:81px;left:20%;width:60%;height:2px}.guest-link.rail-two{top:126px;left:50%;width:2px;height:37px}
.skip-link{position:fixed;z-index:1000;top:-80px;right:16px;padding:10px 14px;border-radius:10px;background:#fff;color:#0d2238;box-shadow:0 8px 20px rgba(0,0,0,.25);transition:top .18s}.skip-link:focus{top:14px}.network-notice{position:fixed;z-index:900;top:0;inset-inline:0;padding:9px 16px;background:#8d3c32;color:#fff;text-align:center;font-size:13px;font-weight:700}.landing-utilities{display:flex;gap:8px;align-items:center}@media(max-width:700px){.landing-utilities{gap:5px}.landing-utilities .btn{min-height:42px;padding:8px 10px;font-size:12px}}
@media(max-width:700px){.guest-tree-silhouette{height:184px;transform:translateX(-50%) scale(.78);transform-origin:top center}.guest-tree-gate{padding-top:145px}.guest-tree-gate h3{font-size:20px}}
@media(max-width:700px){.contribution-grid{grid-template-columns:1fr}.contribution-actions{display:grid;grid-template-columns:1fr}.contribution-actions .btn{min-height:46px}.quality-grid{grid-template-columns:1fr}.memory-map{min-height:290px}.memory-place-list{grid-template-columns:1fr}.contribution-row{flex-direction:column}.contribution-row .pill{align-self:flex-start}}
/* V6 unified heritage system: the archive continues the memorial landing. */
.app{position:relative;isolation:isolate;background:radial-gradient(circle at 12% 3%,rgba(209,170,95,.22),transparent 25%),radial-gradient(circle at 88% 22%,rgba(68,129,113,.18),transparent 30%),linear-gradient(135deg,#09243a,#123953 52%,#173e49);min-height:100dvh}.app::before{content:"";position:fixed;z-index:-1;inset:0;opacity:.16;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:48px 48px}.app .topbar{background:rgba(8,31,49,.82);border-color:rgba(213,230,236,.18);color:#fff}.app .brand{color:#fff}.app .brand small,.app .nav-btn{color:#c3d2da}.app .nav-btn.active,.app .nav-btn:hover{background:rgba(255,255,255,.12);color:#fff}.app .top-actions .btn{border-color:rgba(255,255,255,.22);color:#fff}.app .shell{padding-top:36px}.app .hero{color:#fff}.app .hero p{color:#d0dfe6}.app .stat,.app .card{background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(3,20,34,.22)}.app .hero .btn.primary{background:#d1aa5f;border-color:#d1aa5f;color:#09243a}.app .hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08)}.directory-more{grid-column:1/-1;min-height:52px;background:#fffaf0;border-color:#d5c092;color:#6b4c15}.atlas-scale-note{margin:0 0 16px;padding:12px 16px;border:1px solid #d5c092;border-radius:14px;background:#fffaf0;color:#6b4c15;font-size:12px}.app .tree-stage{background:linear-gradient(135deg,#eff5f5,#fffaf0 54%,#eef4ef)}@media(max-width:700px){.app .topbar{background:rgba(8,31,49,.94)}.app .top-actions{gap:5px}.app .top-actions .btn{padding:8px}.app .shell{padding-top:18px}.app .nav{background:rgba(8,31,49,.97);border-color:rgba(255,255,255,.15)}.app .nav-btn{color:#d5e2e7}.app .nav-btn.active{background:rgba(209,170,95,.22);color:#fff}}

/* V7.2 Tree Studio: semantic views of the same verified family graph. */
.access-banner{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 14px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(255,255,255,.1);color:#e8f1f4;font-size:12px}.access-banner b{padding:4px 9px;border-radius:999px;background:#d1aa5f;color:#09243a;white-space:nowrap}.access-banner[data-role="public"]{background:rgba(146,67,57,.25);border-color:rgba(255,190,177,.28)}.access-banner[data-role="public"] b{background:#f2d5cf;color:#7e322b}.access-banner[data-role="admin"],.access-banner[data-role="owner"]{background:rgba(40,112,86,.24);border-color:rgba(156,224,199,.3)}.badge[data-role="public"]{background:#f3d9d4;color:#8a382f}.badge[data-role="owner"],.badge[data-role="admin"]{background:#d9eee5;color:#176046}@media(max-width:700px){.access-banner{align-items:flex-start}.access-banner span{line-height:1.6}}
.family-atlas .atlas-actions{align-items:center}.family-atlas .atlas-actions select,.family-atlas .atlas-actions button{min-height:38px}.family-story{padding:clamp(14px,2.5vw,32px);background:linear-gradient(145deg,#fffdf7,#eef5f2);min-width:min(960px,100%)}.story-intro{padding:20px 22px;border:1px solid var(--theme-border,#d7bb78);border-radius:18px;background:linear-gradient(135deg,var(--theme-ink,#102a43),#1c5060);color:#fff;margin-bottom:18px}.story-intro span{font-size:10px;font-weight:900;color:#ead198;letter-spacing:.08em}.story-intro h3{margin:7px 0;font-size:24px}.story-intro p{color:#dbe8e9;font-size:13px}.story-generation{position:relative;display:grid;justify-items:center;gap:10px;margin:20px 0}.story-generation>small{color:var(--theme-accent,#b98a36);font-weight:900}.story-generation>div,.story-partners,.story-children,.family-sheet-pair,.family-sheet-kids,.family-sheet-parents{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.story-focus{padding:16px 0}.story-focus:after{content:"";width:2px;height:25px;background:var(--theme-accent,#b98a36)}.story-unions{display:grid;gap:16px;max-width:1100px;margin:auto}.story-union{position:relative;border:1px solid var(--theme-border,#d7bb78);border-radius:18px;background:#fff;padding:16px;overflow:hidden}.story-union>header{display:flex;align-items:center;gap:10px}.story-union>header>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--theme-ink,#102a43);color:#fff;font-size:12px;font-weight:900}.story-union>header small{display:block;margin-top:2px;color:#6d7d88}.story-partners{position:relative;padding:18px 0 40px}.story-partners:after{content:"";position:absolute;bottom:10px;width:2px;height:26px;background:var(--theme-accent,#b98a36)}.story-children{position:relative;padding-top:26px}.story-children:before{content:"";position:absolute;top:0;right:15%;left:15%;height:2px;background:#a9bdc2}.story-children .atlas-person:before{content:"";position:absolute;top:-27px;right:50%;width:2px;height:27px;background:#a9bdc2}.tree-studio-modal{max-width:740px}.kinship-result{margin-top:18px}.kinship-caption{font-size:12px;color:#66788a}.kinship-chain{display:flex;align-items:stretch;gap:0;overflow:auto;margin:14px 0 0;padding:0;list-style:none}.kinship-chain li{position:relative;display:grid;justify-items:center;gap:7px;min-width:145px;padding:8px}.kinship-chain li+li:before{content:"";position:absolute;top:25px;right:-50%;width:100%;height:2px;background:#d3b878;z-index:0}.kinship-chain button{position:relative;z-index:1;width:100%;min-height:44px;padding:8px;border:1px solid #d5c092;border-radius:10px;background:#fffaf0;color:#143550;font:inherit;font-weight:800}.kinship-chain small{position:relative;z-index:1;padding:2px 7px;border-radius:999px;background:#eef4f3;color:#496875;font-size:10px}.family-sheet-root{padding:16px;border:1px solid #dbe5e8;border-radius:16px;background:#f7fafb}.family-sheet-person{margin-top:16px;display:flex;justify-content:center}.family-sheet-unions{display:grid;gap:14px;margin-top:16px}.family-sheet-union{padding:15px;border:1px solid #d5c092;border-radius:16px;background:#fffdf7}.family-sheet-union>header{display:flex;justify-content:space-between;gap:10px;margin-bottom:13px}.family-sheet-union>header small{color:#7b6a42;font-size:11px}.family-sheet-kids{margin-top:16px;padding-top:16px;border-top:2px solid #d7e3e1}.family-sheet-kids .atlas-person{flex:1 1 190px}.tree-card .atlas-stage{min-height:600px}
@media(max-width:800px){.family-atlas .atlas-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.family-atlas .atlas-actions select,.family-atlas .atlas-actions button{width:100%;min-width:0}.family-story{min-width:0;padding:14px}.story-children:before{right:8%;left:8%}.kinship-chain{padding-bottom:4px}.kinship-chain li{min-width:130px}.family-sheet-pair,.family-sheet-kids,.family-sheet-parents{display:grid;grid-template-columns:1fr}.tree-card .atlas-stage{min-height:520px}}
