:root{
  --ink:#16232b;
  --navy:#0b1b26;
  --navy-2:#112b3a;
  --paper:#f5f0e6;
  --paper-2:#ece4d5;
  --paper-3:#ddd0ba;
  --green:#3e522e;
  --rust:#9a4e28;
  --brass:#b88a3d;
  --muted:#6c6a63;
  --line:#cfc1ab;
  --white:#fffdf7;
  --shadow:0 10px 24px rgba(17,24,28,.12);
  --radius:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;background:#d7c7aa;background-image:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16)),radial-gradient(circle at 20% 10%,rgba(255,255,255,.3),transparent 34%),linear-gradient(115deg,#c9b28d,#e3d8c7 45%,#c6ad86);min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(190px,1fr);align-items:center;gap:24px;padding:13px 28px;background:var(--navy);color:#f7f2e8;border-bottom:3px solid var(--brass);box-shadow:0 6px 18px rgba(0,0,0,.14)}
.brand{display:flex;align-items:center;gap:10px;background:none;border:0;color:inherit;text-align:left;padding:0}.brand-mark{font-size:26px;color:var(--brass)}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:22px;letter-spacing:.01em}.brand-copy small{font-family:Arial,sans-serif;font-size:10px;color:#d8c6a4;text-transform:uppercase;letter-spacing:.11em;margin-top:2px}
.main-nav{display:flex;gap:4px}.main-nav button{border:0;background:none;color:#e8e1d6;padding:12px 14px;border-radius:6px;font-size:15px}.main-nav button:hover,.main-nav button.active{background:#162d3a;color:white}.main-nav button.active{box-shadow:inset 0 -3px var(--brass)}
.viewer-button{justify-self:end;border:1px solid #64727b;background:#0f2531;color:#f7f2e8;padding:10px 14px;border-radius:7px}
main{max-width:1500px;margin:0 auto;padding:28px}.view{display:none}.active-view{display:block}.paper-panel{background:linear-gradient(135deg,rgba(255,255,255,.42),transparent 30%),var(--paper);border:1px solid rgba(90,69,42,.25);box-shadow:var(--shadow);border-radius:var(--radius);position:relative}.paper-panel:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background-image:radial-gradient(rgba(50,40,25,.055) .7px,transparent .7px);background-size:5px 5px;opacity:.45}
.kicker{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:11px;color:var(--rust);margin:0 0 7px}.home-layout{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(310px,.8fr);gap:18px}.hero-panel{min-height:485px;padding:44px;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(430px,1.35fr);gap:28px;overflow:hidden}.hero-panel:after{content:"";position:absolute;right:-40px;bottom:-80px;width:420px;height:250px;background:linear-gradient(145deg,transparent 30%,rgba(45,61,36,.11));transform:rotate(-4deg)}.hero-copy{position:relative;z-index:2;align-self:center}.hero-copy h1{font-size:clamp(47px,5vw,76px);line-height:.96;margin:0 0 22px;letter-spacing:-.035em}.lede{font-size:20px;line-height:1.52;max-width:530px;margin:0 0 26px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-stack{display:grid;gap:9px}.button{border:1px solid transparent;border-radius:7px;padding:12px 17px;font-weight:700}.button.primary{background:var(--green);color:white;border-color:#2b3d22}.button.secondary{background:#f1eadf;border-color:#a79274;color:var(--ink)}.button.dark{background:var(--navy);color:white}.button.ghost{background:transparent;border-color:#ad9b82}.button.light{background:#f5ead8;color:var(--navy);border-color:#d8c2a0}.button:hover{filter:brightness(.97);transform:translateY(-1px)}
.working-collage{align-self:center;display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:12px;position:relative;z-index:2;transform:rotate(-.35deg)}.archive-tile{min-height:150px;background:#e7ddcc;border:1px solid #bbaa90;box-shadow:0 8px 16px rgba(57,41,22,.12);padding:20px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.archive-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,transparent 45%,rgba(11,27,38,.08))}.archive-tile:nth-child(2){transform:rotate(2deg);background:#d8d0bf}.archive-tile:nth-child(3){transform:rotate(-2deg);background:#efe4ce}.archive-tile:nth-child(4){transform:rotate(1deg);background:#d4d5ca}.tile-large{grid-row:span 2;min-height:315px;background:linear-gradient(rgba(18,31,38,.06),rgba(18,31,38,.06)),#d9d0be}.tile-icon{font-size:56px;line-height:1;color:#5e6544;margin:auto 0;opacity:.75}.archive-tile strong{font-size:20px;position:relative;z-index:2}.archive-tile small{font-family:Arial,sans-serif;margin-top:4px;color:#5f5c55;position:relative;z-index:2}
.person-card{padding:28px;display:flex;flex-direction:column;gap:17px}.portrait-placeholder{width:112px;height:132px;border:8px solid #e8dfcf;background:linear-gradient(140deg,#7e807d,#c4beb1);box-shadow:0 4px 12px rgba(0,0,0,.18);display:grid;place-items:center;transform:rotate(1.5deg);align-self:flex-end;position:absolute;right:22px;top:22px}.portrait-placeholder span{font-size:30px;color:#f4efe7}.person-card h2{font-size:31px;line-height:1.04;margin:5px 120px 3px 0}.known-as{font-size:15px;margin:0}.fact-list{margin:10px 0 4px;display:grid;gap:0}.fact-list div{border-top:1px solid var(--line);padding:10px 0}.fact-list dt{font-family:Arial,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:bold}.fact-list dd{margin:4px 0 0;line-height:1.35}
.timeline-strip{margin-top:18px;padding:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px}.section-heading.compact h2{margin:0;font-size:27px}.text-button{background:none;border:0;color:#35465a;text-decoration:none;font-weight:700;padding:5px}.timeline-cards{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:10px;margin-top:18px}.timeline-card{border-top:4px solid var(--green);background:#eee6d8;border-radius:6px;padding:12px;min-height:126px}.timeline-card .year{font-family:Arial,sans-serif;font-weight:bold;font-size:12px;color:var(--rust)}.timeline-card h3{font-size:16px;margin:7px 0}.timeline-card p{font-size:13px;line-height:1.35;margin:0;color:#56524c}
.home-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.places-panel,.story-panel{padding:23px}.route-list{margin-top:16px;display:grid;gap:8px}.route-stop{display:grid;grid-template-columns:16px 1fr auto;gap:10px;align-items:center;border-bottom:1px solid #d7cbbb;padding:8px 0}.route-stop .dot{width:11px;height:11px;border-radius:50%;background:var(--rust);box-shadow:0 0 0 3px #eadcc8}.route-stop strong{display:block}.route-stop small{font-family:Arial,sans-serif;color:var(--muted)}.route-stop button{border:0;background:none;font-weight:bold;color:#425448}.story-list{margin-top:14px;display:grid;gap:10px}.story-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:13px;padding:9px;background:#ede5d6;border:1px solid #d2c3ad}.story-thumb{height:58px;background:var(--navy);color:#f0e5d4;display:grid;place-items:center;font-size:28px}.story-row h3{margin:0 0 3px;font-size:17px}.story-row p{margin:0;color:#666057;font-size:13px}.story-row button{border:0;background:none;font-weight:bold}
.action-band{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.action-band article{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;background:var(--navy);color:#f6f0e5;padding:23px;border-radius:8px;box-shadow:var(--shadow)}.action-icon{font-size:30px}.action-band h3{margin:0 0 5px}.action-band p{margin:0;color:#d8d0c5;line-height:1.4;font-size:14px}
.view-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:10px 0 20px}.view-heading h1{font-size:48px;margin:0}.view-heading p:not(.kicker){max-width:700px;line-height:1.5;margin:7px 0 0}.family-layout,.places-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.8fr);gap:18px}.tree-panel{padding:20px;min-height:650px}.tree-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.chip{border:1px solid #b3a38a;background:#efe7d8;border-radius:20px;padding:8px 12px}.chip.active{background:var(--navy);color:white;border-color:var(--navy)}.family-tree{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px;align-items:start}.generation{display:grid;gap:10px}.generation-title{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#817867;border-bottom:1px solid #cfc2ad;padding-bottom:8px}.person-node{background:#fffaf0;border:1px solid #c9b99f;border-left:5px solid #394e2c;padding:12px;box-shadow:0 3px 7px rgba(0,0,0,.06);text-align:left}.person-node.friend{border-left-color:#355d79}.person-node.pet{border-left-color:#9a4e28}.person-node small{display:block;font-family:Arial,sans-serif;color:#6c6a63;margin-top:4px}.person-node[hidden]{display:none}.detail-panel{padding:24px;min-height:320px}.detail-panel h2{font-size:30px;margin:4px 0 5px}.detail-badge{display:inline-block;background:#e4dac8;padding:5px 8px;border-radius:4px;font-family:Arial,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.detail-section{border-top:1px solid var(--line);padding-top:13px;margin-top:16px}.detail-section h3{font-size:17px;margin:0 0 8px}.detail-section p{line-height:1.48;margin:0}.relationship-list{display:grid;gap:6px}.relationship-list span{font-size:14px;background:#ede5d5;padding:7px 9px;border-radius:4px}
.timeline-control{padding:22px;margin-bottom:17px}.timeline-control label{display:flex;justify-content:space-between;font-weight:bold;font-size:20px}.timeline-control output{font-size:32px;color:var(--rust)}.timeline-control input{width:100%;accent-color:var(--green);margin:16px 0 6px}.decade-labels{display:flex;justify-content:space-between;color:#777067;font-family:Arial,sans-serif;font-size:11px}.timeline-page-layout{display:grid;grid-template-columns:220px 1fr;gap:18px}.filter-panel{padding:20px;height:max-content}.filter-panel h3{margin-top:0}.filter-panel label{display:block;padding:8px 0}.timeline-event-list{display:grid;gap:12px}.timeline-event{display:grid;grid-template-columns:85px 1fr auto;gap:16px;align-items:start;background:var(--paper);border:1px solid #c9baa3;border-left:5px solid var(--green);padding:17px;border-radius:7px;box-shadow:0 5px 10px rgba(0,0,0,.06)}.timeline-event[data-kind="work"]{border-left-color:var(--rust)}.timeline-event[data-kind="record"]{border-left-color:#355d79}.timeline-event[data-kind="memory"]{border-left-color:var(--brass)}.timeline-year{font-size:24px;font-weight:bold}.timeline-event h3{margin:0 0 5px}.timeline-event p{margin:0;line-height:1.45;color:#56524c}.confidence{font-family:Arial,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:#e5dfd3;padding:5px 7px;border-radius:4px;white-space:nowrap}
.map-panel{padding:15px}.map-stage{height:650px;position:relative;background:linear-gradient(90deg,#cdd2c5 0 63%,#9db3bf 63% 100%);overflow:hidden;border:1px solid #a9a89c}.map-stage:before{content:"";position:absolute;left:90px;top:-20px;width:285px;height:720px;background:#d7d4c4;clip-path:polygon(43% 0,62% 8%,53% 17%,71% 29%,65% 40%,76% 50%,62% 61%,69% 72%,49% 82%,58% 92%,38% 100%,20% 91%,26% 79%,8% 68%,20% 56%,11% 43%,26% 32%,18% 20%,36% 12%)}.north-label,.england-label,.sea-label{position:absolute;z-index:2;font-family:Arial,sans-serif;letter-spacing:.15em;font-size:11px;color:#697475}.north-label{left:50px;top:55px}.england-label{left:75px;bottom:55px}.sea-label{right:40px;top:210px;writing-mode:vertical-rl}.route-line{position:absolute;inset:0;width:100%;height:100%;z-index:3}.route-line path{fill:none;stroke:#8c6b42;stroke-width:3;stroke-dasharray:7 7;opacity:.85}.map-pin{position:absolute;z-index:5;transform:translate(-50%,-50%)}.map-pin button{border:0;background:var(--paper);box-shadow:0 4px 10px rgba(0,0,0,.18);padding:7px 9px;border-radius:5px;font-size:13px;white-space:nowrap}.map-pin button:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--rust);margin-right:6px}.map-pin.work button:before{background:var(--navy)}.map-pin.travel button:before{background:var(--brass)}.map-legend{display:flex;gap:15px;padding:12px 4px 2px;font-family:Arial,sans-serif;font-size:11px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--rust);margin-right:4px}.legend-dot.work{background:var(--navy)}.legend-dot.travel{background:var(--brass)}
.stories-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:17px}.story-card{background:var(--paper);border:1px solid #c9b9a1;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.story-card .story-cover{height:150px;background:linear-gradient(135deg,#223b49,#7f755f);display:grid;place-items:center;color:#f4eadb;font-size:50px}.story-card:nth-child(2n) .story-cover{background:linear-gradient(135deg,#3d4b2e,#9b7d53)}.story-card:nth-child(3n) .story-cover{background:linear-gradient(135deg,#643e2b,#c09a68)}.story-card-body{padding:18px}.story-card h2{margin:0 0 8px}.story-card p{line-height:1.45;color:#56524c}.story-meta{font-family:Arial,sans-serif;font-size:11px;color:#716b63;margin-top:12px}.story-card button{margin-top:12px}
.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.archive-category{background:var(--paper);border:1px solid #c9baa4;border-top:5px solid var(--navy);padding:22px;box-shadow:var(--shadow);border-radius:7px}.archive-category>span{font-size:34px}.archive-category h2{margin:12px 0 8px}.archive-category p{line-height:1.45;color:#56524c;min-height:110px}.reasoning-note{margin-top:18px;padding:25px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.reasoning-note h2{margin:0 0 8px}.reasoning-note p:not(.kicker){margin:0;line-height:1.45}.reasoning-flow{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.reasoning-flow span{background:var(--navy);color:#f6efe4;padding:10px 12px;border-radius:5px;font-weight:bold}.reasoning-flow b{color:var(--rust)}
footer{max-width:1500px;margin:0 auto 28px;background:var(--navy);color:#e9e1d5;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-radius:8px}footer>div:first-child{display:flex;gap:15px;align-items:center}footer span{font-style:italic;color:#c8bda9}.footer-links{display:flex;gap:18px}.footer-links a{font-family:Arial,sans-serif;font-size:12px}
.dialog{width:min(760px,92vw);border:1px solid #9e8c72;border-radius:10px;padding:0;background:var(--paper);box-shadow:0 30px 70px rgba(0,0,0,.38)}.dialog::backdrop{background:rgba(5,12,16,.7)}.dialog form,.dialog>div{padding:28px;position:relative}.dialog h2{font-size:32px;margin:0 0 8px}.dialog-intro{color:#5d5952}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px}.dialog label{display:grid;gap:6px;margin:15px 0;font-weight:bold}.dialog input,.dialog select,.dialog textarea{width:100%;border:1px solid #b5a58d;background:#fffaf1;border-radius:5px;padding:11px}.ask-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.suggestion{border:1px solid #ad9b82;background:#eee5d5;border-radius:20px;padding:8px 11px}.ask-result{margin-top:20px;border-top:3px solid var(--green);padding-top:18px}.ask-result h3{margin:0 0 7px}.judgement{background:#e5eadf;border-left:5px solid var(--green);padding:13px 15px;margin:10px 0}.reason-list{display:grid;gap:7px;margin:12px 0}.reason-step{display:grid;grid-template-columns:80px 1fr;gap:12px;border-bottom:1px solid #d2c6b4;padding:8px 0}.reason-step strong{font-family:Arial,sans-serif;text-transform:uppercase;font-size:10px;letter-spacing:.08em;color:#796e5f}.recognition-box{background:#e6ecdf;border:1px solid #a7b59a;padding:12px;border-radius:5px;margin:12px 0}.toast{position:fixed;right:25px;bottom:25px;background:var(--navy);color:white;padding:13px 18px;border-radius:6px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:100}.toast.show{opacity:1;transform:none}
@media (max-width:1100px){.site-header{grid-template-columns:1fr auto}.main-nav{grid-row:2;grid-column:1/-1;overflow:auto}.viewer-button{grid-column:2;grid-row:1}.home-layout,.family-layout,.places-layout{grid-template-columns:1fr}.hero-panel{grid-template-columns:1fr;min-height:auto}.person-card{min-height:390px}.timeline-cards{grid-template-columns:repeat(4,1fr)}.archive-grid{grid-template-columns:repeat(2,1fr)}.stories-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.site-header{padding:11px 14px;gap:8px}.brand-copy small{display:none}.brand-copy strong{font-size:18px}.viewer-button{font-size:12px;padding:8px}.main-nav button{padding:10px}.main-nav{gap:0}.site-header{position:relative}main{padding:14px}.hero-panel{padding:27px}.hero-copy h1{font-size:48px}.working-collage{grid-template-columns:1fr 1fr}.tile-large{grid-row:span 1;min-height:150px}.home-lower-grid,.action-band,.timeline-page-layout,.reasoning-note{grid-template-columns:1fr}.action-band article{grid-template-columns:auto 1fr}.action-band .button{grid-column:1/-1}.timeline-cards{display:flex;overflow:auto}.timeline-card{min-width:170px}.family-tree{grid-template-columns:1fr}.stories-grid,.archive-grid{grid-template-columns:1fr}.map-stage{height:520px}.view-heading{align-items:start;flex-direction:column}.view-heading h1{font-size:40px}footer{margin:0 14px 14px;flex-direction:column;gap:12px;align-items:flex-start}.portrait-placeholder{position:relative;right:auto;top:auto;align-self:start}.person-card h2{margin-right:0}.reasoning-flow{justify-content:flex-start}}


/* v1.1 feature layer */
.viewer-control{justify-self:end;display:grid;grid-template-columns:auto auto;align-items:center;gap:8px;color:#d6d7d2;font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.viewer-control .viewer-button{justify-self:auto;min-width:110px;text-transform:none;letter-spacing:0}.viewer-button option{color:#111;background:#fff}
.ancestry-panel{margin:18px 0;padding:20px;overflow:hidden}.ancestry-intro{margin:.2rem 0 0;color:#665f55}.ancestry-stage{height:610px;position:relative;perspective:1250px;perspective-origin:50% 72%;overflow:hidden;background:radial-gradient(ellipse at 50% 94%,rgba(176,139,72,.16),transparent 44%),linear-gradient(180deg,rgba(16,38,49,.035),rgba(176,139,72,.08));border:1px solid #d2c5b1;border-radius:6px;isolation:isolate}.ancestry-stage:after{content:"";position:absolute;left:8%;right:8%;bottom:20px;height:45px;background:radial-gradient(ellipse,rgba(16,38,49,.22),transparent 67%);filter:blur(8px);z-index:-1}.ancestry-world{position:absolute;inset:0;transform-style:preserve-3d;transform:translate3d(var(--mx,0),var(--my,0),0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .22s ease-out}.ancestor-plane{position:absolute;left:50%;bottom:calc(34px + (var(--depth) * 142px));width:calc(94% - (var(--depth) * 12%));display:grid;grid-template-columns:repeat(var(--count),minmax(100px,1fr));gap:clamp(7px,1.2vw,15px);align-items:end;transform-style:preserve-3d;z-index:calc(30 - var(--depth));transform:translate3d(-50%,0,calc((2 - var(--depth)) * -115px)) scale(calc(1 - (var(--depth) * .09)));opacity:calc(1 - (var(--depth) * .08));filter:saturate(calc(1 - (var(--depth) * .08)));transition:transform .35s ease,opacity .35s ease}.ancestor-plane[data-depth="0"]{transform:translate3d(-50%,0,175px) scale(1.04)}.ancestor-plane[data-depth="1"]{transform:translate3d(-50%,0,0) scale(.91)}.ancestor-plane[data-depth="2"]{transform:translate3d(-50%,0,-185px) scale(.80)}.generation-label{position:absolute;left:0;top:-25px;font:10px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#786e60;background:rgba(246,239,225,.86);padding:3px 6px;border-radius:2px}.ancestor-card{position:relative;display:grid;grid-template-columns:minmax(72px,42%) 1fr;gap:9px;align-items:stretch;min-height:124px;background:#fffaf0;border:1px solid #c8b99f;border-top:4px solid var(--green);box-shadow:0 15px 28px rgba(22,29,31,.20),0 3px 8px rgba(22,29,31,.13);padding:7px;text-align:left;border-radius:4px;cursor:pointer;transform-style:preserve-3d;transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}.ancestor-card.current{border-top-color:var(--brass)}.ancestor-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:104px;overflow:hidden;background:#d8d2c5;border:1px solid #c4b9a6}.ancestor-photo img{width:100%;height:100%;min-height:104px;object-fit:cover;display:block}.ancestor-photo.photo-missing{background:linear-gradient(145deg,#d9d5ca,#bbb7ad);color:#56594b}.ancestor-photo.photo-missing b{font:700 25px Georgia,serif}.ancestor-photo.photo-missing small{margin-top:5px;font:9px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.ancestor-copy{align-self:end;padding:4px 2px 4px 0}.ancestor-card strong{display:block;font-size:15px;line-height:1.13}.ancestor-card small{display:block;margin-top:5px;color:#716a60;font:10px Arial,sans-serif;line-height:1.3}.ancestor-card:hover,.ancestor-card:focus-visible{transform:translate3d(0,-13px,90px) scale(1.06);z-index:99;box-shadow:0 30px 48px rgba(22,29,31,.30),0 8px 16px rgba(22,29,31,.16);outline:none}.ancestor-plane[data-depth="1"] .ancestor-card{box-shadow:0 12px 22px rgba(22,29,31,.16)}.ancestor-plane[data-depth="2"] .ancestor-card{box-shadow:0 8px 15px rgba(22,29,31,.12)}
.branch-section{margin-top:22px}.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.branch-card{background:var(--paper);border:1px solid #c8b99f;border-top:5px solid var(--navy);padding:18px;box-shadow:var(--shadow)}.branch-card h3{font-size:25px;margin:2px 0 4px}.branch-card p{line-height:1.45}.branch-card .confidence{display:block;margin:12px 0}.branch-dialog{width:min(860px,94vw)}.branch-dialog .branch-story{font-size:18px;line-height:1.58}.branch-facts{display:grid;gap:7px;margin:16px 0}.branch-facts li{margin-left:20px}.branch-play-controls{display:flex;gap:8px;padding-top:0!important}
.map-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:0 0 12px;font:12px Arial,sans-serif}.map-toolbar label{display:flex;gap:6px;align-items:center}.family-map{height:650px;border:1px solid #a9a89c;background:#d7d4c4}.leaflet-container{font-family:Arial,sans-serif}.family-place-label{background:var(--paper);border:1px solid #a9977d;border-radius:4px;box-shadow:0 2px 7px rgba(0,0,0,.15);color:#172733;padding:2px 5px}.family-place-label:before{display:none}.leaflet-tooltip-top.family-place-label:before{display:none}
.dropzone{border:2px dashed #a9977d;background:#f6efe2;border-radius:7px;padding:28px 18px;text-align:center;display:grid;gap:5px;cursor:pointer;transition:.2s}.dropzone.dragover{border-color:var(--green);background:#e7ebdf;transform:scale(1.005)}.dropzone-icon{font-size:34px;line-height:1;color:var(--green)}.dropzone span,.dropzone small{font-family:Arial,sans-serif;color:#665f55}.photo-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:10px 0}.photo-preview figure{margin:0;background:#eee3d1;border:1px solid #cbbba3;padding:5px}.photo-preview img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.photo-preview figcaption{font:10px Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
@media (max-width:900px){.branch-grid{grid-template-columns:1fr}.ancestry-stage{height:720px;perspective:1000px}.ancestor-plane{width:92%;grid-template-columns:repeat(2,1fr);bottom:calc(28px + (var(--depth) * 205px));transform:translate3d(-50%,0,calc((2 - var(--depth)) * -80px)) scale(calc(1 - (var(--depth) * .06)))}.ancestor-plane[data-depth="0"]{transform:translate3d(-50%,0,85px) scale(1)}.ancestor-plane[data-depth="1"]{transform:translate3d(-50%,0,-20px) scale(.94)}.ancestor-plane[data-depth="2"]{transform:translate3d(-50%,0,-120px) scale(.88)}.family-map{height:520px}}
@media (max-width:600px){.viewer-control span{display:none}.ancestry-stage{height:780px;perspective:none;overflow-y:auto}.ancestry-world{transform:none!important}.ancestor-plane,.ancestor-plane[data-depth="0"],.ancestor-plane[data-depth="1"],.ancestor-plane[data-depth="2"]{width:94%;grid-template-columns:1fr 1fr;bottom:calc(22px + (var(--depth) * 235px));transform:translateX(-50%) scale(calc(1 - (var(--depth) * .025)))}.ancestor-card{min-height:132px;grid-template-columns:72px 1fr}.ancestor-card:hover,.ancestor-card:focus-visible{transform:translateY(-4px)}.family-map{height:430px}}

/* v1.2 archive ingestion */
.ingestion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ingestion-questions{margin-top:18px;padding:16px;border:1px solid rgba(11,27,38,.16);background:#f8f5ed}.ingestion-question{display:block;margin:12px 0}.ingestion-success{padding:12px 14px;margin-bottom:10px;background:#edf1ec;border-left:4px solid #425a48}.ingestion-success p{margin:.35rem 0 0}.dialog button:disabled{opacity:.55;cursor:wait}@media(max-width:720px){.ingestion-grid{grid-template-columns:1fr}}

/* v1.4 guided person identification */
.ingestion-identification{margin-top:18px;display:grid;gap:14px}.identification-card{border:1px solid rgba(11,27,38,.18);background:#f4efe4;padding:16px;border-radius:6px}.identification-card h3{margin:.25rem 0 .8rem;font-size:1.25rem}.candidate-people{display:flex;gap:8px;flex-wrap:wrap}.candidate-person{border:1px solid #9e8c72;background:#fffaf1;border-radius:999px;padding:8px 12px;font:inherit;cursor:pointer}.candidate-person:hover,.candidate-person.primary-candidate{border-color:#425a48;background:#e8eee5}.candidate-person.confirmed-person{background:#425a48;color:white;border-color:#425a48}.identification-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.identification-status{font-size:.92rem;color:#425a48;font-weight:700}

/* v1.5 contextual photo placement */
.ingestion-context{margin-top:18px}.context-card{border:1px solid rgba(11,27,38,.2);background:#eef0e8;padding:16px;border-radius:6px}.context-card h3{margin:.2rem 0 .4rem;font-size:1.3rem}.context-intro{margin:.2rem 0 1rem;color:#5b6055}.context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.context-card label{display:block;margin:10px 0}.context-place-chips{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:8px 0 12px;font:12px Arial,sans-serif}.context-place-chips button{border:1px solid #9e8c72;background:#fffaf1;border-radius:999px;padding:7px 10px}.context-place-chips button:hover{background:#e1e8dc;border-color:#425a48}.context-result{margin-top:14px;padding:12px 14px;border-left:4px solid var(--brass);background:#fffaf1}.context-result p{margin:.45rem 0}.context-result small{color:#5e5a51;line-height:1.45}@media(max-width:720px){.context-grid{grid-template-columns:1fr}}


/* v1.6 traversable kinship hierarchy */
.family-names{display:block;margin-top:4px;color:#6b5d4c;font:10px Arial,sans-serif;line-height:1.25}.ancestor-card.focus-person{border-top-color:var(--brass);box-shadow:0 28px 48px rgba(22,29,31,.30),0 8px 18px rgba(22,29,31,.18);transform:translateZ(75px) scale(1.045)}
.kinship-toolbar{position:absolute;z-index:120;top:12px;left:14px;right:14px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:14px;align-items:center;background:rgba(247,241,230,.94);border:1px solid #c7b89f;box-shadow:0 6px 16px rgba(20,30,34,.12);padding:10px 12px;border-radius:6px;backdrop-filter:blur(4px)}.kinship-toolbar strong{display:block;font-size:17px}.kinship-toolbar small{display:block;color:#6c6258;margin-top:2px;font:11px Arial,sans-serif}.kinship-focus-label{display:block;color:var(--rust);text-transform:uppercase;letter-spacing:.1em;font:700 9px Arial,sans-serif}.kinship-extent{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.kinship-extent span{background:#e7dfd0;border:1px solid #c8b99f;border-radius:999px;padding:6px 9px;font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}.kinship-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.kinship-actions button{border:1px solid #a99476;background:#fffaf0;color:var(--ink);padding:7px 9px;border-radius:5px;font:11px Arial,sans-serif}.kinship-actions button:hover{background:#e7ede2;border-color:var(--green)}
.kinship-world{position:absolute;inset:0;transform-style:preserve-3d;transform:translate3d(var(--mx,0),var(--my,0),0) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .22s ease-out}.kin-row{position:absolute;left:50%;top:var(--row-y);width:min(94%,1220px);transform:translate3d(-50%,-50%,var(--row-z)) scale(var(--row-scale));transform-style:preserve-3d;z-index:40}.kin-row .generation-label{top:-22px;left:1%}.kin-row-cards{display:flex;justify-content:center;align-items:stretch;gap:clamp(8px,1.3vw,18px);flex-wrap:nowrap}.kin-row .ancestor-card{width:clamp(165px,20vw,280px);min-width:0;min-height:116px}.kin-row[data-generation="0"] .ancestor-card.focus-person{width:clamp(230px,28vw,355px)}
.kinship-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:10}.kin-link{fill:none;stroke:#6e765e;stroke-width:2;opacity:.72;vector-effect:non-scaling-stroke}.kin-link.partner{stroke:var(--brass);stroke-width:2.4;stroke-dasharray:4 3}.kin-link-label{fill:#735d39;font:9px Arial,sans-serif;text-anchor:middle;paint-order:stroke;stroke:#f6efe2;stroke-width:4px;stroke-linejoin:round}.kinship-boundary{position:absolute;left:14px;color:#776e61;background:rgba(246,239,225,.84);border:1px dashed #b9aa92;padding:5px 8px;border-radius:4px;font:10px Arial,sans-serif;z-index:80}.kinship-boundary.earlier{top:76px}.kinship-boundary.later{bottom:12px}.kinship-boundary.has-data{border-style:solid;color:#5f674e}
@media(max-width:900px){.kinship-toolbar{grid-template-columns:1fr;gap:7px}.kinship-actions{justify-content:flex-start}.kinship-extent{justify-content:flex-start}.kin-row-cards{overflow-x:auto;justify-content:flex-start;padding:0 10px 6px}.kin-row .ancestor-card{flex:0 0 220px}.kinship-boundary.earlier{top:150px}}
@media(max-width:600px){.kinship-world{transform:none!important}.kin-row{transform:translate(-50%,-50%)!important;width:96%}.kinship-links{display:none}.kin-row .ancestor-card{flex-basis:190px}.kinship-toolbar{position:sticky;top:0;margin:8px;left:auto;right:auto}.ancestry-stage:has(.kinship-toolbar){overflow:auto}.kinship-boundary{display:none}}


/* v1.7 user-centred research workspace */
.home-research-console{align-self:stretch;background:#f3efe5;border:1px solid #c5b9a5;padding:24px;display:flex;flex-direction:column;justify-content:center;min-height:260px}.home-research-console h2{margin:.25rem 0 .6rem;font-size:clamp(28px,3vw,42px)}.home-research-console p{max-width:48ch;line-height:1.5}.mini-progress{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.mini-progress span{font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;border:1px solid #c4b79f;background:#fffaf1;padding:7px 9px}.research-question-list{display:grid;gap:8px}.research-question{border-left:3px solid var(--green);background:#f6f2e9;padding:10px 12px}.research-question strong{display:block}.research-question small{display:block;color:#6b6459;margin-top:3px}.research-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:20px}.research-side{display:grid;gap:20px;align-content:start}.research-chat-panel{min-height:620px;display:flex;flex-direction:column}.research-focus{display:flex;gap:12px;align-items:center;border-bottom:1px solid #d1c6b4;padding-bottom:14px;margin-bottom:14px}.research-focus strong{font-size:22px}.research-focus small{display:block;color:#6b6459;margin-top:3px}.research-focus .confidence-badge{margin-left:auto}.research-chat{display:flex;flex-direction:column;gap:10px;min-height:330px;max-height:480px;overflow:auto;padding:4px 2px 18px}.chat-message{max-width:86%;padding:12px 14px;border:1px solid #c9bea9;line-height:1.45}.chat-message.assistant{align-self:flex-start;background:#f2eee4;border-left:4px solid var(--green)}.chat-message.user{align-self:flex-end;background:#e7ece7}.chat-message p{margin:.2rem 0}.chat-message .chat-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.chat-message button,.research-suggestions button{border:1px solid #a9997f;background:#fffaf1;padding:7px 9px;border-radius:4px;cursor:pointer}.research-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding:12px 0}.research-form{border-top:1px solid #d1c6b4;padding-top:14px}.research-form label{display:block;font-weight:700;margin-bottom:7px}.research-input-row{display:grid;grid-template-columns:1fr auto;gap:8px}.research-input-row input{min-width:0;padding:11px 12px;border:1px solid #9e927f;background:white;font:inherit}.progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.progress-stat{background:#f4efe5;border:1px solid #cbbda7;padding:12px}.progress-stat strong{font:700 28px Georgia,serif;display:block}.progress-stat span{font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#665f55}.progress-note{font-size:12px;color:#6d655a}.research-queue{display:grid;gap:8px}.queue-item{padding:10px 11px;border:1px solid #c9bda8;background:#faf6ed}.queue-item strong{display:block}.queue-item small{display:block;color:#6c6459;margin-top:3px}.confidence-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid #b5aa95;background:#f8f3e9;border-radius:999px;padding:4px 7px;font:700 9px Arial,sans-serif;white-space:nowrap}.confidence-badge.confirmed{border-color:#6d8065;background:#e7eee4}.confidence-badge.strong{border-color:#9a845c;background:#f1eadb}.confidence-badge.pending{border-style:dashed;color:#6f685f}.relation-confidence{display:block;margin-top:6px}.kin-link.parent.scored{stroke-width:2.7}.kin-link.pending{stroke-dasharray:2 4;opacity:.42}.kin-link-label.confidence-label{font-weight:700}.ancestor-copy .confidence-badge{margin-top:5px}
@media(max-width:900px){.research-layout{grid-template-columns:1fr}.research-chat-panel{min-height:auto}.research-chat{max-height:none}.home-research-console{min-height:220px}}
@media(max-width:600px){.research-input-row{grid-template-columns:1fr}.progress-grid{grid-template-columns:1fr 1fr}}


/* v1.7.2 person-centred contribution launcher */
.contribution-launcher{border:1px solid #c9bea9;background:#faf6ed;padding:14px;margin-bottom:14px}.contribution-launcher-head h3{margin:.15rem 0 .35rem;font-size:20px}.contribution-launcher-head p{margin:.2rem 0 .8rem;color:#625b52}.contribution-prompt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.contribution-prompt{min-height:58px;text-align:left;border:1px solid #b9ad98;background:#fffdf8;padding:9px 10px;cursor:pointer;border-radius:4px}.contribution-prompt:hover,.contribution-prompt:focus-visible{outline:2px solid var(--green);outline-offset:1px}.contribution-prompt strong{display:block;font-size:12px}.contribution-prompt small{display:block;margin-top:4px;color:#766d61;font-size:10px;line-height:1.25}.contribution-prompt.already-known{background:#f0ece3;border-style:dashed}.contribution-prompt.already-known strong:after{content:'  +';color:var(--green)}
@media(max-width:760px){.contribution-prompt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.contribution-prompt-grid{grid-template-columns:1fr}}


/* v1.7.3 — user-centred home */
.home-research-panel{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.4fr) auto;gap:22px;align-items:center;margin:20px 0;padding:22px 26px}
.home-research-copy h2{margin:.15rem 0 .3rem}.home-research-copy p{margin:.2rem 0}.home-research-form{display:flex;gap:10px;align-items:center}.home-research-form input{width:100%;min-height:48px;border:1px solid var(--line,#c9b99c);border-radius:8px;padding:0 14px;background:#fffdf8;font:inherit}.home-research-progress{display:flex;flex-direction:column;gap:4px;font-size:.82rem;white-space:nowrap}.home-research-progress span{display:block}.person-card .person-photo{width:100%;max-height:240px;object-fit:cover;border-radius:4px}.person-card .portrait-placeholder{min-height:180px}
@media (max-width:980px){.home-research-panel{grid-template-columns:1fr}.home-research-form{width:100%}.home-research-progress{flex-direction:row;flex-wrap:wrap;gap:12px}}

/* v1.7.4: every missing portrait is a direct archive upload action */
.photo-upload-link{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,outline-color .15s ease}.photo-upload-link:hover{transform:translateY(-1px);box-shadow:0 0 0 2px rgba(9,35,47,.18)}.photo-upload-link:focus-visible{outline:3px solid currentColor;outline-offset:3px}.photo-upload-link small{text-decoration:underline;text-underline-offset:2px}

/* v1.7.5 guided person intake */
.intake-start-row{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin:.8rem 0 1rem}
.intake-start-row span{font-size:.9rem;color:#6d675d}.home-intake-button{margin-top:.85rem}
.intake-card{max-width:680px}.intake-intro{font-size:1.02rem;line-height:1.55}
.intake-progress{margin:1rem 0 1.25rem}.intake-progress span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.45rem}
.intake-progress-track{height:6px;background:rgba(0,0,0,.08);border-radius:999px;overflow:hidden}.intake-progress-track i{display:block;height:100%;width:0;background:#b9832f;transition:width .2s ease}
.intake-question{font-family:Georgia,serif;font-size:1.45rem;line-height:1.25;margin:.5rem 0 .8rem}
.intake-help{font-size:.92rem;color:#6d675d;margin:.55rem 0 0}.intake-card textarea{width:100%;box-sizing:border-box;font:inherit;padding:.9rem;border:1px solid rgba(0,0,0,.2);border-radius:8px;background:#fffdf8}
.intake-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem}

/* v1.7.6 focus-relative 2D Family view */
.focus-tree-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(74,67,52,.18)}
.focus-tree-head h2{margin:.15rem 0}.focus-tree-head small{display:block;color:#70695e}
.focus-tree-2d{display:flex;flex-direction:column;gap:0;position:relative;padding:.5rem 0 1rem}
.focus-tree-row{display:grid;grid-template-columns:125px minmax(0,1fr);gap:1rem;position:relative;padding:1rem 0}
.focus-tree-row+.focus-tree-row:before{content:"";position:absolute;left:calc(125px + 50%);top:-1rem;height:2rem;border-left:2px solid rgba(58,78,50,.32)}
.focus-tree-label{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:#777064;padding-top:.7rem}
.focus-tree-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;position:relative}
.focus-tree-cards:before{content:"";position:absolute;left:8%;right:8%;top:-.5rem;border-top:2px solid rgba(58,78,50,.25)}
.focus-tree-cards .ancestor-card{position:relative;z-index:1;min-width:210px;max-width:310px}
.focus-tree-cards .ancestor-card:before{content:"";position:absolute;left:50%;top:-.55rem;height:.55rem;border-left:2px solid rgba(58,78,50,.25)}
.focus-row .focus-tree-cards:before{border-top-color:rgba(185,131,47,.5)}
.focus-row .ancestor-card.focus-person{outline:3px solid rgba(185,131,47,.55);outline-offset:3px}
@media(max-width:800px){.focus-tree-row{grid-template-columns:1fr}.focus-tree-label{text-align:center}.focus-tree-row+.focus-tree-row:before{left:50%}}

/* v1.7.7 — research-first home and living-person viewpoint */
.home-research-hub{
  margin-bottom:1.2rem;
  padding:1.5rem 1.7rem;
  border-top:4px solid #b9832f;
  background:linear-gradient(135deg,#fffdf8 0%,#f4ecdc 100%);
}
.home-research-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:start}
.home-research-hub h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.02;margin:.18rem 0 .6rem}
.home-chat-shell{display:grid;grid-template-columns:58px minmax(0,1fr);gap:1rem;margin-top:1.2rem;padding:1.1rem;background:#0c202b;color:#fff;border-radius:12px}
.home-chat-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#b9832f;color:#fff;font:700 1.35rem Georgia,serif}
.home-chat-prompt{font-size:1.05rem;margin:0 0 .8rem;color:#f5efe3}
.home-chat-main .home-research-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}
.home-chat-main .home-research-form input{min-height:50px;border:1px solid rgba(255,255,255,.22);background:#fff;color:#17242a}
.home-research-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}
.research-action{appearance:none;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:.55rem .8rem;cursor:pointer;font:inherit;font-size:.88rem}
.research-action:hover,.research-action:focus-visible{background:rgba(255,255,255,.14);outline:none}
.home-research-hub .home-research-progress{min-width:250px}
.viewer-control select{min-width:220px}
@media(max-width:900px){
 .home-research-head{grid-template-columns:1fr}
 .home-research-hub .home-research-progress{min-width:0}
 .home-chat-shell{grid-template-columns:1fr}
 .home-chat-avatar{display:none}
 .home-chat-main .home-research-form{grid-template-columns:1fr}
 .viewer-control select{min-width:170px}
}

/* v1.7.8 — quieter, softer research-first interface */
:root{
  --ui-font:"Segoe UI Variable Text","Segoe UI",Aptos,Arial,sans-serif;
  --display-font:"Segoe UI Variable Display","Segoe UI",Aptos,Arial,sans-serif;
}
body,button,input,textarea,select{font-family:var(--ui-font);font-weight:400}
h1,h2,h3,h4,.brand-copy strong,.person-card h2,.ancestor-card strong,.timeline-card h3{
  font-family:var(--display-font);
  font-weight:600;
  letter-spacing:-.025em;
}
body{line-height:1.45}
.kicker,.kinship-focus-label,.focus-tree-label{font-family:var(--ui-font);font-weight:600;letter-spacing:.07em}
.paper-panel{box-shadow:0 5px 18px rgba(31,32,27,.06)}
.home-research-hub{padding:1.35rem 1.5rem;margin-top:1rem}
.home-research-hub h1{font-weight:600;letter-spacing:-.035em}
.home-focus-strip{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:1.5rem;align-items:center;margin:0 0 1rem;padding:1.15rem 1.35rem}
.home-focus-strip .lede{max-width:430px;margin-bottom:0;font-size:.98rem;color:#625f58}
.compact-person-card{padding:1.1rem;min-height:0}
.home-focus-strip .compact-person-card{display:grid;grid-template-columns:132px minmax(220px,.75fr) minmax(300px,1.25fr);grid-template-rows:auto auto;gap:1rem 1.35rem;align-items:center;width:100%}
.home-focus-strip .compact-person-card .ancestor-photo{grid-row:1 / 3;width:132px;height:168px;min-height:168px;border-radius:10px}
.home-focus-strip .compact-person-card .ancestor-photo img{width:100%;height:100%;min-height:0;object-fit:cover}
.home-focus-strip .compact-person-card>div:first-of-type{align-self:end}
.home-focus-strip .compact-person-card h2{margin:.15rem 0 .2rem;font-size:clamp(1.65rem,2.2vw,2.25rem)}
.home-focus-strip .compact-person-card .fact-list{margin:0;align-self:stretch}
.home-focus-strip .compact-person-card .button-stack{grid-column:2 / -1;grid-row:2;display:flex;gap:.7rem;align-self:start}
.home-focus-strip .compact-person-card .button-stack .button{flex:1}
.compact-person-card .ancestor-photo{width:92px;height:92px}
.home-research-actions{gap:.45rem}
.research-action{font-size:.84rem;padding:.45rem .7rem}
.home-research-progress{opacity:.9}
.home-research-progress span{font-size:.78rem}
.ancestry-panel{margin-top:0}
.ancestry-intro{max-width:760px}
.main-nav{gap:.2rem}
.main-nav .nav-link{padding:.75rem .8rem}
@media(max-width:900px){.home-focus-strip{grid-template-columns:1fr}.home-focus-strip .compact-person-card{grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto auto auto}.home-focus-strip .compact-person-card .ancestor-photo{grid-row:1 / 3;width:110px;height:140px;min-height:140px}.home-focus-strip .compact-person-card .fact-list{grid-column:1 / -1}.home-focus-strip .compact-person-card .button-stack{grid-column:1 / -1;grid-row:auto}}

/* v1.8.0 conversation-first redesign */
:root{--page:#f4f0e8;--surface:#fffdf9;--surface2:#f8f5ef;--ink:#213139;--muted:#6f7776;--line:rgba(31,45,52,.10);--gold:#b6863c;--navy:#0d2631}
body{background:var(--page);color:var(--ink)}
.paper-panel,.dialog-shell,.dialog-card,.detail-panel,.archive-category,.story-card,.timeline-card{border-radius:20px!important;border:1px solid var(--line)!important;background:var(--surface)!important;box-shadow:0 10px 28px rgba(25,39,44,.055)!important}
.button{border-radius:999px!important;font-weight:600!important}.button.soft{background:#f0ece4;border:1px solid var(--line);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.research-page{max-width:1280px;margin:0 auto;padding:2rem 1.5rem 3rem}
.research-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4rem;align-items:end;margin-bottom:1rem}
.research-page-header h1{font-size:clamp(2.4rem,5vw,4.2rem);line-height:.98;margin:.2rem 0 .55rem;font-weight:600;letter-spacing:-.045em}
.research-page-header>div:first-child>p:last-child{max-width:680px;color:var(--muted);margin:0}
.research-progress-strip{display:flex!important;gap:.4rem!important;align-items:center!important;flex-wrap:wrap!important}
.research-progress-strip .progress-stat{display:flex!important;align-items:baseline!important;gap:.25rem!important;min-width:0!important;padding:.42rem .68rem!important;border-radius:999px!important;background:rgba(255,255,255,.68)!important;border:1px solid var(--line)!important;box-shadow:none!important}
.research-progress-strip .progress-stat strong{font-size:.95rem!important}.research-progress-strip .progress-stat span{font-size:.7rem!important}
.research-chat-shell{background:var(--surface);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 18px 46px rgba(25,39,44,.08)}
.research-focus-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--line);background:#faf7f1}
.research-focus{display:flex!important;align-items:center!important;gap:.7rem!important;border:0!important;padding:0!important;min-height:0!important}
.research-focus .focus-avatar .ancestor-photo{width:50px!important;height:50px!important;border-radius:50%!important;overflow:hidden}
.research-focus .focus-copy{display:flex;flex-direction:column}.research-focus .focus-copy strong{font-size:1rem}.research-focus .focus-copy small{color:var(--muted);font-size:.76rem}
.research-chat{min-height:320px;max-height:46vh;overflow:auto;padding:1.35rem;background:linear-gradient(180deg,#fffdf9,#faf7f2)}
.chat-message{max-width:760px!important;border:0!important;border-radius:18px!important;padding:.85rem 1rem!important;margin:.45rem 0!important;box-shadow:none!important;line-height:1.5}
.chat-message.assistant{background:#efede8!important;color:var(--ink)!important;border-bottom-left-radius:6px!important}
.chat-message.user{background:#dfe8df!important;color:#23372b!important;margin-left:auto!important;border-bottom-right-radius:6px!important}
.research-composer{padding:.7rem 1rem .8rem;background:var(--surface)}
.research-input-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.5rem!important;padding:.32rem .32rem .32rem 1rem!important;border:1px solid rgba(33,49,57,.16)!important;border-radius:999px!important;background:white!important;box-shadow:0 4px 14px rgba(31,45,52,.05)}
.research-input-row input{border:0!important;outline:0!important;background:transparent!important;padding:.7rem 0!important;font-size:1rem!important}
.research-suggestions{display:flex!important;gap:.4rem!important;flex-wrap:wrap!important;padding:0 1rem .8rem!important;background:var(--surface)}
.research-suggestions button{border:0!important;background:#f1eee8!important;color:#566164!important;border-radius:999px!important;padding:.45rem .7rem!important;font-size:.78rem!important}
.contribution-drawer{border-top:1px solid var(--line);background:#fbf9f5}.contribution-drawer summary{cursor:pointer;padding:.72rem 1rem;font-weight:600;list-style:none}.contribution-drawer summary::-webkit-details-marker{display:none}.contribution-drawer summary:after{content:"+";float:right;color:#877b6a}.contribution-drawer[open] summary:after{content:"–"}
.contribution-launcher{display:flex!important;flex-wrap:wrap!important;gap:.42rem!important;padding:0 1rem 1rem!important;border:0!important;background:transparent!important}
.contribution-launcher button,.contribution-launcher .contribution-choice{width:auto!important;min-height:0!important;flex:0 0 auto!important;padding:.5rem .72rem!important;border-radius:999px!important;border:1px solid var(--line)!important;background:white!important;box-shadow:none!important;font-size:.8rem!important}
.contribution-launcher p,.contribution-launcher small{display:none!important}
.research-secondary{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:1rem;margin-top:1rem}
.next-clue-card,.research-help-card{background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:20px;padding:1rem}
.next-clue-heading{display:flex;gap:.7rem;align-items:center;margin-bottom:.55rem}.next-clue-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e5eadf;color:#45614a;font-weight:700}.next-clue-card h2{font-size:1.16rem;margin:.05rem 0}
.research-queue{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem!important}
.queue-item.queue-action{appearance:none;text-align:left;display:flex!important;gap:.6rem!important;width:100%;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:.72rem!important;cursor:pointer;box-shadow:none!important}
.queue-item.queue-action>span{width:23px;height:23px;flex:0 0 23px;border-radius:50%;display:grid;place-items:center;background:#eee7da;color:#8c6b39;font-size:.7rem;font-weight:700}.queue-item strong{font-size:.86rem!important;line-height:1.25}.queue-item small{display:block;color:var(--muted);font-size:.7rem;margin-top:.25rem}
.research-help-card p:not(.kicker){color:var(--muted);font-size:.9rem}
.ancestor-card,.person-card,.focus-tree-cards .ancestor-card{border-radius:18px!important;overflow:hidden!important;border:1px solid var(--line)!important;box-shadow:0 7px 20px rgba(25,39,44,.05)!important}
.viewer-button{border-radius:12px!important}
.home-research-hub{border-radius:24px!important;border-top:0!important}
@media(max-width:1000px){.research-page-header{grid-template-columns:1fr}.research-secondary{grid-template-columns:1fr}.research-queue{grid-template-columns:1fr!important}}
@media(max-width:700px){.research-page{padding:1rem .7rem 2rem}.research-focus-bar{flex-direction:column;align-items:flex-start}.research-input-row{grid-template-columns:1fr!important;border-radius:18px!important}.research-input-row .button{width:100%}}

/* v1.8.2 — mobile optimisation */
@media (max-width: 760px){
  html,body{overflow-x:hidden}
  body{font-size:15px}
  .site-header{
    position:sticky;top:0;z-index:50;
    display:grid!important;
    grid-template-columns:1fr auto;
    grid-template-areas:"brand viewer" "nav nav";
    gap:.55rem!important;
    padding:.6rem .7rem!important;
    background:rgba(13,38,49,.97)!important;
    backdrop-filter:blur(12px);
  }
  .brand{grid-area:brand;min-width:0;padding:.25rem 0!important}
  .brand-copy small{display:none}
  .brand-copy strong{font-size:.95rem}
  .viewer-control{grid-area:viewer;display:flex!important;align-items:center!important;gap:.35rem!important;margin:0!important}
  .viewer-control>span{display:none!important}
  .viewer-button{
    min-width:0!important;max-width:155px!important;height:38px!important;
    padding:.35rem 1.8rem .35rem .65rem!important;font-size:.78rem!important;
    border-radius:12px!important;
  }
  .main-nav{
    grid-area:nav;display:flex!important;gap:.2rem!important;
    overflow-x:auto!important;overscroll-behavior-inline:contain;
    padding:.1rem 0 .15rem!important;scrollbar-width:none;
  }
  .main-nav::-webkit-scrollbar{display:none}
  .main-nav .nav-link{
    flex:0 0 auto!important;
    padding:.52rem .72rem!important;
    border-radius:999px!important;
    font-size:.78rem!important;
  }

  main{padding:0!important}
  .view{padding:0!important}
  .research-page{padding:.8rem .55rem 1.5rem!important}
  .research-page-header{margin-bottom:.7rem!important;gap:.65rem!important}
  .research-page-header h1{
    font-size:2rem!important;line-height:1.02!important;margin:.1rem 0 .35rem!important
  }
  .research-page-header>div:first-child>p:last-child{
    font-size:.88rem!important;line-height:1.4!important;
  }

  .research-progress-strip{
    overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:.15rem;
    scrollbar-width:none;
  }
  .research-progress-strip::-webkit-scrollbar{display:none}
  .research-progress-strip .progress-stat{flex:0 0 auto!important}

  .research-chat-shell{border-radius:20px!important}
  .research-focus-bar{
    padding:.65rem .75rem!important;
    flex-direction:row!important;align-items:center!important;
  }
  .research-focus{min-width:0!important;flex:1 1 auto!important}
  .research-focus .focus-copy{min-width:0}
  .research-focus .focus-copy strong,
  .research-focus .focus-copy small{
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;
  }
  .research-focus-bar>.button{
    font-size:.72rem!important;padding:.5rem .7rem!important;white-space:nowrap;
  }

  .research-chat{
    min-height:38vh!important;max-height:52vh!important;
    padding:.85rem!important;
  }
  .chat-message{
    max-width:88%!important;
    padding:.72rem .82rem!important;
    font-size:.9rem!important;
  }
  .chat-message p{margin:.12rem 0 .35rem!important}

  .research-composer{
    position:sticky!important;bottom:0!important;z-index:8;
    padding:.55rem .65rem calc(.55rem + env(safe-area-inset-bottom))!important;
    border-top:1px solid var(--line);
  }
  .research-input-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    border-radius:18px!important;
    padding:.25rem .25rem .25rem .72rem!important;
  }
  .research-input-row input{
    min-width:0!important;
    font-size:16px!important; /* prevents iOS zoom */
    padding:.65rem 0!important;
  }
  .research-input-row .button{
    width:auto!important;min-width:66px!important;padding:.62rem .75rem!important;
  }

  .research-suggestions{
    overflow-x:auto!important;flex-wrap:nowrap!important;
    padding:.45rem .65rem .65rem!important;
    scrollbar-width:none;
  }
  .research-suggestions::-webkit-scrollbar{display:none}
  .research-suggestions button{flex:0 0 auto!important;white-space:nowrap}

  .research-secondary{gap:.65rem!important;margin-top:.65rem!important}
  .next-clue-card,.research-help-card{border-radius:16px!important;padding:.8rem!important}
  .research-queue{display:flex!important;overflow-x:auto!important;gap:.5rem!important;scroll-snap-type:x proximity;scrollbar-width:none}
  .research-queue::-webkit-scrollbar{display:none}
  .queue-item.queue-action{flex:0 0 84%!important;scroll-snap-align:start}
  .research-help-card{display:none!important}

  .contribution-drawer summary{padding:.65rem .8rem!important;font-size:.86rem}
  .contribution-launcher{
    overflow-x:auto!important;flex-wrap:nowrap!important;padding:0 .75rem .8rem!important;
    scrollbar-width:none;
  }
  .contribution-launcher::-webkit-scrollbar{display:none}
  .contribution-launcher button,.contribution-launcher .contribution-choice{white-space:nowrap}

  .home-research-hub{
    margin:.65rem .55rem!important;padding:1rem!important;border-radius:18px!important;
  }
  .home-research-hub h1{font-size:2rem!important}
  .home-chat-shell{
    display:block!important;padding:.8rem!important;border-radius:16px!important;
  }
  .home-chat-avatar{display:none!important}
  .home-chat-main .home-research-form{
    grid-template-columns:1fr!important;
  }
  .home-chat-main .home-research-form input{font-size:16px!important}
  .home-chat-main .home-research-form .button{width:100%!important}
  .home-research-actions{
    display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none
  }
  .home-research-actions::-webkit-scrollbar{display:none}
  .research-action{white-space:nowrap!important;flex:0 0 auto!important}

  .home-focus-strip{
    margin:.55rem!important;padding:.8rem!important;border-radius:16px!important;
    grid-template-columns:1fr!important;
  }
  .compact-person-card{width:100%!important}
  .ancestry-panel{margin:.55rem!important;padding:.8rem!important;border-radius:16px!important}
  .ancestry-stage{overflow-x:auto!important;padding-bottom:.35rem;scrollbar-width:none}
  .ancestry-stage::-webkit-scrollbar{display:none}
  .kinship-layer,.focus-tree-2d{min-width:720px}
  .ancestor-card{min-width:190px!important}
  .section-heading.compact{display:block!important}
  .section-heading.compact .text-button{margin-top:.45rem}

  .dialog{padding:.35rem!important}
  .dialog-card{
    width:calc(100vw - .7rem)!important;max-height:92dvh!important;
    border-radius:20px!important;padding:1rem!important;
  }
  .intake-question{font-size:1.2rem!important}
  .intake-actions{position:sticky;bottom:0;background:var(--surface);padding-top:.6rem}

  input,textarea,select,button{touch-action:manipulation}
  button,.button,.nav-link,.research-action,.queue-action{min-height:42px}
}

@media (max-width: 420px){
  .viewer-button{max-width:128px!important}
  .brand-mark{display:none}
  .research-page-header h1{font-size:1.8rem!important}
  .research-focus .focus-copy strong,.research-focus .focus-copy small{max-width:135px}
  .research-focus-bar>.button{padding:.45rem .55rem!important;font-size:.68rem!important}
}

/* v1.8.3 — warmer conversational feedback */
.learned-quote{
  margin:.7rem 0;padding:.75rem .9rem;border-left:3px solid rgba(71,100,76,.35);
  background:rgba(255,255,255,.62);border-radius:0 12px 12px 0;
  color:#425158;font-style:italic;
}
.chat-continuation{margin-top:.85rem!important;padding-top:.65rem;border-top:1px solid rgba(31,45,52,.08)}
.chat-message.assistant strong{font-weight:650}
@media(max-width:760px){
 .learned-quote{font-size:.88rem;margin:.55rem 0;padding:.65rem .75rem}
 .chat-continuation{font-size:.88rem}
}

/* v1.8.5 — useful progress + visible family uploads */
.progress-note{font-size:.82rem;color:var(--muted);max-width:560px}
.live-archive-panel{margin:0 0 1rem;padding:1rem}
.live-archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem}
.live-archive-item{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.archive-photo-button{appearance:none;border:0;padding:0;width:100%;height:150px;background:#eee;cursor:pointer;display:block}
.archive-photo-button img{width:100%;height:100%;object-fit:cover;display:block}
.archive-file-icon{height:110px;display:grid;place-items:center;background:#f0ece5;color:var(--muted)}
.live-archive-copy{display:flex;flex-direction:column;gap:.25rem;padding:.7rem}
.live-archive-copy small{color:var(--muted)}
.live-archive-copy .text-button{align-self:flex-start;margin-top:.25rem}
@media(max-width:760px){
 .live-archive-panel{margin:.55rem;padding:.75rem}
 .live-archive-grid{display:flex;overflow-x:auto;gap:.6rem;scroll-snap-type:x proximity;scrollbar-width:none}
 .live-archive-grid::-webkit-scrollbar{display:none}
 .live-archive-item{flex:0 0 72%;scroll-snap-align:start}
}

/* v1.8.7 — searchable photo tagging */
.tag-people-card{max-width:760px}
.tag-help{color:var(--muted);margin-top:-.25rem}
.tagged-people{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}
.person-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .55rem .42rem .7rem;border-radius:999px;background:#dfe9df;color:#26402d;font-size:.82rem}
.person-tag button{border:0;background:transparent;cursor:pointer;font-size:1.05rem;line-height:1;color:#52665a;padding:0 .1rem}
.no-tags-yet{font-size:.82rem;color:var(--muted)}
.tag-suggestions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.65rem 0}
.tag-suggestions>span{font-size:.75rem;color:var(--muted);margin-right:.2rem}
.person-search-label{display:block;font-weight:600;margin-top:.8rem}
.person-tag-search{width:100%;margin-top:.35rem;padding:.72rem .85rem;border:1px solid var(--line);border-radius:12px;background:white;font:inherit}
.person-tag-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.55rem;max-height:300px;overflow:auto}
.person-tag-choice{display:flex;align-items:center;justify-content:space-between;gap:.6rem;text-align:left;border:1px solid var(--line);background:white;border-radius:12px;padding:.62rem .72rem;cursor:pointer}
.person-tag-choice small{color:var(--muted);white-space:nowrap}
.person-tag-choice.is-tagged{background:#edf3ed;border-color:rgba(71,100,76,.22)}
.archive-person-tags{display:flex;flex-wrap:wrap;gap:.28rem;margin:.2rem 0}
.archive-person-tags span{font-size:.7rem;border-radius:999px;background:#eef1ec;padding:.25rem .42rem;color:#47554a}
@media(max-width:760px){
 .person-tag-results{grid-template-columns:1fr;max-height:42vh}
 .tag-suggestions{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
 .tag-suggestions::-webkit-scrollbar{display:none}
 .tag-suggestions .candidate-person{flex:0 0 auto;white-space:nowrap}
}

/* v1.8.8 — welcoming multi-user onboarding + family contribution game loop */
.community-panel{margin:1rem 0;padding:1.15rem 1.25rem;border-radius:22px!important}
.community-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.community-head h2{margin:.1rem 0 .35rem}.community-head p:last-child{margin:0;color:var(--muted);max-width:720px}
.contributor-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem}
.contributor-highlight{display:flex;align-items:center;gap:.7rem;padding:.8rem;border:1px solid var(--line);border-radius:16px;background:#fbfaf6}
.contributor-highlight.champion{background:#f4eee2}
.contributor-badge{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:white;border:1px solid var(--line);font-size:1rem}
.contributor-highlight div{display:flex;flex-direction:column}.contributor-highlight small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.contributor-highlight strong{font-size:.95rem}.contributor-highlight span:last-child{font-size:.75rem;color:var(--muted)}
.contributor-leaderboard{margin-top:.8rem}.leaderboard-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.2rem .1rem .45rem}.leaderboard-head span{font-size:.75rem;color:var(--muted)}
.leaderboard-rows{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:white}.leaderboard-row{display:grid;grid-template-columns:32px minmax(150px,1.4fr) repeat(3,minmax(70px,.6fr)) 44px;gap:.5rem;align-items:center;padding:.55rem .7rem;border-bottom:1px solid var(--line);font-size:.8rem}.leaderboard-row:last-child{border-bottom:0}.leaderboard-row>span:not(.leaderboard-rank){color:var(--muted)}.leaderboard-rank{width:24px;height:24px;border-radius:50%;background:#f1ede5;display:grid;place-items:center;font-size:.7rem}.leaderboard-row b{text-align:right}
.community-empty{display:flex;flex-direction:column;margin-top:.8rem;padding:.8rem;border-radius:14px;background:#f7f4ee}.community-empty span{color:var(--muted);font-size:.85rem}

/* first-use identity and starting-point chooser */
.welcome-dialog{background:rgba(10,28,36,.55);backdrop-filter:blur(8px)}
.welcome-shell{width:min(1080px,calc(100vw - 2rem));max-height:92dvh;overflow:auto;padding:1.4rem;border-radius:26px!important}
.welcome-stage>h2{font-size:clamp(2rem,4vw,3.2rem);margin:.15rem 0 .35rem}.welcome-intro{color:var(--muted);max-width:760px}
.welcome-summary{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0}.welcome-summary>*{padding:.45rem .68rem;border-radius:999px;background:#f1eee8;font-size:.78rem}.welcome-summary strong{background:#e5eadf}
.welcome-search,.welcome-family-head label{display:block;font-weight:600}.welcome-search input,.welcome-family-head input,.welcome-new-person input{width:100%;margin-top:.35rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:12px;background:white;font:inherit}
.welcome-person-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.65rem 0}
.welcome-person-card{appearance:none;display:flex;align-items:center;gap:.65rem;text-align:left;border:1px solid var(--line);background:white;border-radius:15px;padding:.55rem;cursor:pointer;min-width:0;transition:transform .12s ease,box-shadow .12s ease}
.welcome-person-card:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(25,39,44,.07)}
.welcome-person-card .ancestor-photo{width:46px!important;height:46px!important;flex:0 0 46px;border-radius:50%!important}.welcome-person-card>span:last-child{display:flex;flex-direction:column;min-width:0}.welcome-person-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.welcome-person-card small{font-size:.72rem;color:var(--muted)}.welcome-person-card em{font-style:normal;font-size:.65rem;color:#876944;margin-top:.12rem}
.welcome-not-listed{margin-top:.7rem;border-top:1px solid var(--line);padding-top:.7rem}.welcome-not-listed summary{cursor:pointer;font-weight:600}.welcome-new-person{display:grid;grid-template-columns:1fr 1fr auto;gap:.55rem;align-items:end;margin-top:.65rem}
.welcome-greeting{background:#eef2ea;padding:1rem 1.1rem;border-radius:18px;margin:.6rem 0 1rem}.welcome-greeting h2{margin:.1rem 0 .35rem}.welcome-greeting p:last-child{margin:0;color:#4f6053}
.welcome-help h3{margin:.2rem 0 .6rem}.welcome-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.welcome-help-grid>div{display:flex;flex-direction:column;padding:.75rem;border-radius:14px;background:#f8f5ef;border:1px solid var(--line)}.welcome-help-grid span{font-size:.8rem;color:var(--muted);margin-top:.22rem}
.welcome-family-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:1.1rem 0 .55rem}.welcome-family-head h3{margin:.1rem 0}.welcome-family-head label{min-width:300px}
.welcome-family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;max-height:42vh;overflow:auto;padding:.1rem}
@media(max-width:800px){
 .community-panel{margin:.6rem .55rem;padding:.85rem}.community-head{display:block}.community-head .button{margin-top:.65rem}
 .contributor-highlights{display:flex;overflow-x:auto;grid-template-columns:none}.contributor-highlight{flex:0 0 78%}
 .leaderboard-row{grid-template-columns:28px minmax(120px,1fr) 48px}.leaderboard-row>span:not(.leaderboard-rank){display:none}
 .leaderboard-head span{display:none}
 .welcome-shell{width:calc(100vw - .7rem);max-height:96dvh;padding:1rem}
 .welcome-person-list{grid-template-columns:1fr}
 .welcome-new-person{grid-template-columns:1fr}
 .welcome-help-grid{grid-template-columns:1fr}
 .welcome-family-head{display:block}.welcome-family-head label{min-width:0;margin-top:.55rem}
 .welcome-family-grid{grid-template-columns:1fr 1fr;max-height:48vh}
}
@media(max-width:460px){.welcome-family-grid{grid-template-columns:1fr}}

/* v1.8.9 — a little scrapbook warmth, feature showcase, birthdays and guided person intake */
.family-feature-showcase{margin:1rem 0 1.2rem;padding:.2rem .1rem}
.feature-showcase-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.feature-showcase-head h2{font-size:clamp(1.7rem,3vw,2.6rem);margin:.1rem 0 .3rem}.feature-showcase-head p:last-child{margin:0;max-width:760px;color:var(--muted)}
.scrapbook-feature-grid{display:grid;grid-template-columns:1.5fr repeat(2,1fr);gap:.8rem;align-items:stretch}
.scrap-feature{position:relative;appearance:none;text-align:left;border:1px solid rgba(58,55,45,.12);background:#fffaf0;border-radius:8px;padding:1.15rem 1rem 1rem;cursor:pointer;box-shadow:0 8px 18px rgba(51,44,33,.07);color:var(--ink);min-height:170px;transform:rotate(-.35deg)}
.scrap-feature:nth-child(3n){transform:rotate(.45deg);background:#f5f7ef}.scrap-feature:nth-child(4n){transform:rotate(-.6deg);background:#f8f2ea}.scrap-feature:hover{transform:translateY(-2px) rotate(0);box-shadow:0 12px 25px rgba(51,44,33,.11)}
.scrap-feature-main{grid-row:span 2;min-height:355px;background:#f8f0df;display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem}
.scrap-tape{position:absolute;top:-10px;left:50%;width:74px;height:22px;transform:translateX(-50%) rotate(-2deg);background:rgba(222,207,173,.68);border-left:1px solid rgba(160,140,100,.14);border-right:1px solid rgba(160,140,100,.14)}
.scrap-icon{font-size:2rem;color:#8c6d40;line-height:1}.scrap-feature small{text-transform:uppercase;letter-spacing:.08em;color:#956b35;font-size:.68rem;margin-top:.8rem;display:block}.scrap-feature strong{display:block;font-size:1.05rem;margin:.2rem 0}.scrap-feature-main strong{font-size:1.6rem}.scrap-feature p{font-size:.84rem;color:var(--muted);line-height:1.45}.scrap-feature em{font-style:normal;font-weight:650;margin-top:.5rem;color:#526052}
.add-person-primary{white-space:nowrap}

.today-family-callout{margin:1rem 0}
.birthday-note{position:relative;padding:1.2rem 1.3rem 1.1rem 1.55rem;background:#fff7dc;border:1px solid rgba(124,91,43,.14);border-radius:8px;box-shadow:0 10px 24px rgba(58,48,35,.08);transform:rotate(-.25deg)}
.birthday-note:before{content:"";position:absolute;left:22px;top:0;bottom:0;width:1px;background:rgba(193,87,72,.18)}
.note-pin{position:absolute;top:10px;right:18px;width:11px;height:11px;border-radius:50%;background:#a95d42;box-shadow:0 2px 3px rgba(0,0,0,.18)}
.birthday-note h2{margin:.08rem 0 .25rem}.birthday-note p{max-width:820px;color:#665d50}

.add-person-shell{width:min(720px,calc(100vw - 1.2rem));border-radius:24px!important}
.add-person-intro{color:var(--muted);max-width:620px}.person-wizard-progress{display:flex;align-items:center;gap:.7rem;margin:.8rem 0}.person-wizard-progress>span{font-size:.72rem;color:var(--muted);min-width:92px}.person-wizard-progress>div{height:5px;background:#ece8df;border-radius:999px;flex:1;overflow:hidden}.person-wizard-progress i{display:block;height:100%;width:0;background:#64775f;transition:width .2s ease}
.person-wizard-chat{min-height:170px;max-height:36vh;overflow:auto;padding:.65rem;border-radius:16px;background:#faf7f1}.wizard-bubble{max-width:86%;padding:.72rem .85rem;border-radius:16px;margin:.4rem 0;display:flex;flex-direction:column}.wizard-bubble.assistant{background:#efede8;border-bottom-left-radius:5px}.wizard-bubble.assistant span{font-size:.78rem;color:var(--muted);margin-top:.2rem}.wizard-bubble.user{background:#dfe8df;margin-left:auto;border-bottom-right-radius:5px}
.person-wizard-form{margin-top:.65rem}.person-wizard-form input{width:100%;font:inherit;font-size:16px;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;background:white}.person-wizard-actions{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.55rem}.person-wizard-choice{display:flex;gap:.55rem;margin-top:.75rem}.wizard-choice-button{flex:1;border:1px solid var(--line);border-radius:14px;background:white;padding:.8rem;cursor:pointer;font-weight:600}.wizard-choice-button:hover{background:#eef2ea}
.wizard-review-card{margin-top:.7rem;padding:1rem;border-radius:16px;background:#f8f5ef;border:1px solid var(--line)}.wizard-review-card h3{font-size:1.35rem;margin:.15rem 0 .7rem}.wizard-review-card h3 small{font-size:.8rem;color:var(--muted);font-weight:500}.wizard-review-card dl{display:grid;gap:.4rem}.wizard-review-card dl>div{display:grid;grid-template-columns:110px 1fr;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.wizard-review-card dt{font-size:.75rem;color:var(--muted)}.wizard-review-card dd{margin:0}
.welcome-add-relative{margin-top:.35rem}
@media(max-width:900px){.scrapbook-feature-grid{grid-template-columns:1fr 1fr}.scrap-feature-main{grid-row:auto;grid-column:1/-1;min-height:230px}.feature-showcase-head{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.family-feature-showcase{margin:.7rem .55rem}.scrapbook-feature-grid{display:flex;overflow-x:auto;gap:.65rem;scroll-snap-type:x proximity;scrollbar-width:none;padding:.25rem .1rem .75rem}.scrapbook-feature-grid::-webkit-scrollbar{display:none}.scrap-feature,.scrap-feature-main{flex:0 0 82%;min-height:210px;scroll-snap-align:start}.scrap-feature-main{min-height:260px}.birthday-note{margin:.55rem;padding:1rem 1rem 1rem 1.25rem}.today-family-callout{margin:.55rem}.person-wizard-choice{flex-direction:column}}

/* v1.9 — documentary record ingestion + live timeline */
.research-input-row textarea{flex:1;min-height:54px;max-height:180px;resize:vertical;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;background:white;font:inherit;font-size:16px;line-height:1.35}
.record-review-shell{width:min(760px,calc(100vw - 1rem));border-radius:24px!important}
.record-preview{margin:.65rem 0;padding:1rem;border:1px solid var(--line);border-radius:16px;background:#fbfaf6}
.record-preview.has-conflict{border-color:rgba(157,84,65,.38);background:#fff8f4}
.record-preview-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}.record-stamp{display:grid;place-items:center;width:58px;height:58px;border:2px solid rgba(117,87,48,.42);border-radius:50%;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;color:#765937;transform:rotate(-7deg)}.record-preview-head small{color:var(--muted)}.record-preview-head h3{margin:.08rem 0 0;font-size:1.25rem}
.record-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.record-fields>div{display:grid;grid-template-columns:130px 1fr;gap:.5rem;padding:.42rem .55rem;border-radius:10px;background:white}.record-fields dt{font-size:.72rem;color:var(--muted)}.record-fields dd{margin:0;font-size:.85rem}
.record-caution,.record-conflict{padding:.7rem .8rem;border-radius:12px;font-size:.82rem}.record-caution{background:#f5efdf;color:#61543b}.record-conflict{background:#f7e8e2;color:#70483d}
.record-match{display:block;font-weight:650;margin:.8rem 0 .3rem}.record-match select{width:100%;margin-top:.35rem;padding:.7rem;border:1px solid var(--line);border-radius:12px;background:white;font:inherit}.record-match-note{font-size:.8rem;color:var(--muted)}
.record-original{margin:.75rem 0}.record-original summary{cursor:pointer;font-weight:600}.record-original blockquote{white-space:pre-wrap;margin:.5rem 0 0;padding:.75rem;border-left:3px solid #cab992;background:white;font-size:.78rem;color:#5d5a54}
.timeline-event.timeline-live{border-left:4px solid #6f8169;background:linear-gradient(90deg,rgba(111,129,105,.06),transparent 55%)}.timeline-event.timeline-live .confidence:before{content:"● ";color:#71836b}
@media(max-width:650px){.record-fields{grid-template-columns:1fr}.record-fields>div{grid-template-columns:110px 1fr}.record-preview{padding:.75rem}}


/* v1.9.0.6 — bring the restrained scrapbook language back into the working views */
.research-page,
.family-page{
  background:
    radial-gradient(circle at 18% 12%,rgba(144,110,65,.045) 0 1px,transparent 1.5px),
    radial-gradient(circle at 72% 34%,rgba(80,92,70,.035) 0 1px,transparent 1.5px),
    linear-gradient(180deg,#f7f2e8 0%,#fbf8f1 46%,#f5efe3 100%);
  background-size:23px 23px,31px 31px,auto;
}
.research-focus-bar,
.kinship-toolbar{
  position:relative;
  background:#fffaf0!important;
  border:1px solid rgba(125,101,68,.22)!important;
  box-shadow:0 9px 24px rgba(64,50,35,.08)!important;
}
.research-focus-bar:before,
.kinship-toolbar:before{
  content:"";
  position:absolute;
  width:76px;height:20px;
  left:50%;top:-10px;
  transform:translateX(-50%) rotate(-2deg);
  background:rgba(221,205,168,.65);
  border-left:1px solid rgba(139,117,78,.14);
  border-right:1px solid rgba(139,117,78,.14);
  pointer-events:none;
}
.research-chat{
  background:
    repeating-linear-gradient(0deg,rgba(116,96,70,.035) 0,rgba(116,96,70,.035) 1px,transparent 1px,transparent 28px),
    #fffdf8!important;
  border-top:1px solid rgba(124,101,68,.14);
  border-bottom:1px solid rgba(124,101,68,.14);
}
.chat-message.assistant{
  background:#f3eee3!important;
  border:1px solid rgba(120,102,77,.10);
  border-radius:6px 16px 16px 16px!important;
  box-shadow:0 5px 12px rgba(55,46,35,.035);
  transform:rotate(-.12deg);
}
.chat-message.user{
  background:#e8efe7!important;
  border:1px solid rgba(86,108,83,.10);
  border-radius:16px 6px 16px 16px!important;
  box-shadow:0 5px 12px rgba(55,46,35,.035);
  transform:rotate(.1deg);
}
.queue-item,
.research-question{
  background:#fffaf1!important;
  border-color:rgba(124,101,68,.18)!important;
}
.queue-item:nth-child(2){transform:rotate(.14deg)}
.queue-item:nth-child(3){transform:rotate(-.12deg)}
.ancestry-stage{
  background:
    linear-gradient(rgba(255,252,244,.88),rgba(255,252,244,.88)),
    repeating-linear-gradient(90deg,rgba(111,91,63,.035) 0,rgba(111,91,63,.035) 1px,transparent 1px,transparent 34px)!important;
}
.ancestor-card{
  cursor:pointer!important;
  position:relative;
  background:#fffaf0!important;
  border-radius:8px!important;
  box-shadow:0 10px 22px rgba(48,39,30,.10)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
.kin-row-cards .ancestor-card:nth-child(3n+1){transform:rotate(-.35deg)}
.kin-row-cards .ancestor-card:nth-child(3n+2){transform:rotate(.25deg)}
.kin-row-cards .ancestor-card:nth-child(3n){transform:rotate(-.1deg)}
.ancestor-card:hover,
.ancestor-card:focus-visible{
  transform:translateY(-4px) rotate(0deg)!important;
  box-shadow:0 15px 30px rgba(48,39,30,.16)!important;
  border-color:rgba(149,107,53,.45)!important;
  outline:none;
}
.card-explore{
  display:block;
  margin-top:.38rem;
  color:#80623c;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.015em;
}
.ancestor-card.focus-person .card-explore{display:none}
.ancestor-card .ancestor-photo{pointer-events:none}
.ancestor-card .ancestor-copy{pointer-events:none}
@media(max-width:700px){
  .kin-row-cards .ancestor-card{transform:none!important}
  .research-focus-bar:before,.kinship-toolbar:before{width:58px}
}


/* v1.9.1 — family-first product reset */
.family-gameboard{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:1rem;margin:1rem 0 1.25rem}
.scrap-card{position:relative;background:#fff8e9;border:1px solid rgba(117,91,53,.18);padding:1.15rem 1.25rem;border-radius:8px;box-shadow:0 10px 24px rgba(49,39,26,.08)}
.scrap-card:nth-child(2){background:#f2f5ea;transform:rotate(.18deg)}.scrap-card:nth-child(1){transform:rotate(-.18deg)}
.scrap-pin{position:absolute;right:18px;top:14px;width:10px;height:10px;border-radius:50%;background:#9a5e43;box-shadow:0 2px 3px rgba(0,0,0,.2)}
.game-card h2{font-size:1.35rem;margin:.2rem 0 .45rem}.game-card p:not(.kicker){font-size:.86rem;color:var(--muted)}
.family-game-score{display:grid;gap:.6rem}.family-game-score>div{display:flex;align-items:baseline;gap:.55rem;padding:.55rem 0;border-bottom:1px dashed rgba(92,73,47,.18)}
.family-game-score strong{font-size:1.6rem}.family-game-score span{font-size:.76rem;color:var(--muted)}

.ancestry-stage{height:auto!important;min-height:0!important;overflow:visible!important;padding:.7rem!important}
.generation-browser{display:grid;gap:.85rem;perspective:none!important}
.generation-browser-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;background:#f8f0df;border:1px solid rgba(117,91,53,.16);border-radius:8px}
.generation-browser-head strong{display:block;font-size:1.15rem}.generation-browser-head small{display:block;color:var(--muted);margin-top:.15rem}
.generation-lane{display:grid;grid-template-columns:145px minmax(0,1fr);gap:1rem;align-items:start;padding:.9rem;background:rgba(255,253,247,.72);border:1px solid rgba(114,96,71,.11);border-radius:8px}
.generation-lane.current-generation{background:#f7efdc;border-color:rgba(152,112,57,.25)}
.generation-lane-label{padding:.25rem .35rem;color:#604f39}.generation-lane-label span{display:block;font-weight:750}.generation-lane-label small{display:block;margin-top:.25rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#9a7040}
.generation-card-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,240px));gap:1rem;align-items:stretch}
.generation-card-strip .ancestor-card{width:auto!important;min-width:0!important;transform:none!important;min-height:128px}
.generation-card-strip .ancestor-card:hover{transform:translateY(-3px)!important}
.ancestor-card{overflow:visible!important}.ancestor-copy{min-width:0}.ancestor-copy strong{overflow-wrap:anywhere}.card-explore{font-size:.72rem!important}

.family-layout{grid-template-columns:minmax(0,1fr) 300px!important;align-items:start}
.family-tree{overflow:visible!important}.family-generation-browser{display:grid;gap:1rem}
.focus-tree-row{display:grid!important;grid-template-columns:145px minmax(0,1fr)!important;gap:1rem!important;align-items:start!important;padding:.8rem!important;background:#fffdf8;border:1px solid rgba(105,87,62,.11);border-radius:8px}
.focus-tree-label{position:static!important;width:auto!important;padding:.35rem!important;font-weight:750!important;color:#6b5638!important}
.focus-tree-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(185px,230px))!important;gap:1rem!important;justify-content:start!important}
.focus-tree-cards .ancestor-card{width:auto!important;min-width:0!important;transform:none!important}
.scrapbook-tree-head{margin-bottom:1rem;background:#f8f0df!important;border-radius:8px!important}

.inline-clue{display:inline;padding:0;border:0;background:transparent;color:#76572f;font:inherit;font-weight:750;text-decoration:underline;text-decoration-style:dotted;cursor:pointer}
.research-chat .assistant p{max-width:64ch}.research-page-header>div:first-child p:last-child{max-width:64ch}.progress-stat span{text-transform:none!important;letter-spacing:0!important}

.place-people{display:flex;flex-wrap:wrap;gap:.45rem}.place-people button{border:1px solid var(--line);background:#fffaf1;border-radius:999px;padding:.4rem .7rem;cursor:pointer}
.places-layout{align-items:start}.map-panel{overflow:hidden}.family-map{min-height:500px}.family-place-label{font-weight:700!important}

@media(max-width:1000px){.family-gameboard{grid-template-columns:1fr 1fr}.game-score-card{grid-column:1/-1}.family-layout{grid-template-columns:1fr!important}.detail-panel{position:static!important}}
@media(max-width:720px){.family-gameboard{grid-template-columns:1fr}.game-score-card{grid-column:auto}.generation-lane,.focus-tree-row{grid-template-columns:1fr!important}.generation-card-strip,.focus-tree-cards{display:flex!important;overflow-x:auto;padding-bottom:.5rem}.generation-card-strip .ancestor-card,.focus-tree-cards .ancestor-card{flex:0 0 210px!important}}


/* v1.9.1.1 — archive tagging dialog */
#contribute-dialog.tagging-mode .dialog-shell{
  width:min(760px,calc(100vw - 1rem));
  max-height:88vh;
  overflow:auto;
}
#contribute-dialog.tagging-mode #contribute-form > :not(#ingestion-identification){
  display:none!important;
}
#contribute-dialog.tagging-mode #ingestion-identification{
  display:block!important;
  margin-top:.75rem;
}
#contribute-dialog.tagging-mode .identification-card{
  border:1px solid rgba(117,91,53,.18);
  background:#fffaf0;
  border-radius:10px;
  padding:1rem;
}
#contribute-dialog.tagging-mode .person-tag-results{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem;
  max-height:320px;
  overflow:auto;
  margin-top:.65rem;
}
#contribute-dialog.tagging-mode .person-tag-choice{
  display:flex;
  justify-content:space-between;
  gap:.6rem;
  text-align:left;
  padding:.6rem .7rem;
  border:1px solid var(--line);
  background:#fffdf8;
  border-radius:8px;
  cursor:pointer;
}
#contribute-dialog.tagging-mode .person-tag-choice.is-tagged{
  background:#eaf0e5;
  border-color:rgba(83,108,76,.28);
}
#contribute-dialog.tagging-mode .tagged-people{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin:.7rem 0;
}
#contribute-dialog.tagging-mode .person-tag{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.35rem .55rem;
  background:#eef1e8;
  border-radius:999px;
}
#contribute-dialog.tagging-mode .person-tag button{
  border:0;background:transparent;cursor:pointer;font-size:1rem;
}
@media(max-width:650px){
  #contribute-dialog.tagging-mode .person-tag-results{grid-template-columns:1fr}
}


/* v1.9.1.2 — richer scrapbook, family hierarchy and contextual history */
.family-gameboard{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.today-card{background:#fff4d9}.today-card h2{font-size:1.45rem}.today-card .kicker{color:#9a4f2b}.scrap-card:nth-child(3){transform:rotate(.12deg)}.scrap-card:nth-child(4){transform:rotate(-.08deg)}
.family-layout{grid-template-columns:1fr!important;gap:1.2rem!important}.tree-panel{min-height:0!important;padding:24px!important}.family-generation-browser{max-width:none!important}.focus-tree-row{grid-template-columns:130px minmax(0,1fr)!important;padding:1rem 1.1rem!important;position:relative}.focus-tree-cards{grid-template-columns:repeat(auto-fit,minmax(210px,255px))!important;gap:1.15rem!important;justify-content:center!important}.focus-tree-row.parents-row .focus-tree-cards{grid-template-columns:repeat(2,minmax(210px,255px))!important;justify-content:center!important}.focus-tree-row.same-generation-row .focus-tree-cards{justify-content:center!important}.focus-tree-row.parents-row:after,.focus-tree-row.same-generation-row:before{content:"";position:absolute;left:50%;width:1px;background:rgba(100,87,64,.25);height:24px}.focus-tree-row.parents-row:after{bottom:-24px}.focus-tree-row.same-generation-row:before{top:-24px}#person-detail.detail-panel{min-height:0!important;padding:22px 26px!important}.person-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.person-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.person-detail-grid .detail-section{margin-top:0;padding:1rem;border:1px solid rgba(117,91,53,.14);background:#fffaf0;border-radius:12px}.work-explainer+.work-explainer{margin-top:.85rem;padding-top:.85rem;border-top:1px dashed var(--line)}.work-explainer small{display:block;margin:.25rem 0 .45rem;color:var(--muted)}
.context-portrait{display:grid!important;grid-template-rows:1fr auto auto!important;align-items:end!important;padding:.6rem!important;text-align:left!important;background:linear-gradient(155deg,#d9d2c4,#a7a08f)!important;color:#2d352d!important;overflow:hidden!important;position:relative}.context-portrait:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 14px,rgba(255,255,255,.14) 15px);mix-blend-mode:soft-light}.context-portrait.industry{background:linear-gradient(150deg,#566164,#b78a5b)!important}.context-portrait.rural{background:linear-gradient(150deg,#7c846c,#c5b78f)!important}.context-portrait b{font-size:2rem;position:relative}.context-portrait small{font-size:.63rem;line-height:1.05;font-weight:750;position:relative;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.context-portrait em{font-style:normal;font-size:.55rem;color:#f4eadb;position:relative}
.stories-grid{align-items:start}.micro-story-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:.2rem}.story-visual{height:220px;position:relative;overflow:hidden;padding:1.1rem;background:linear-gradient(135deg,#263f49,#81775f);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.story-visual.industry{background:linear-gradient(135deg,#283d43,#815d3f)}.story-visual.place{background:linear-gradient(135deg,#3f5033,#aa8d5a)}.story-visual.route{background:linear-gradient(135deg,#633d2c,#c09259)}.story-visual.document{background:linear-gradient(135deg,#6d604c,#c2ae82)}.story-visual.voice{background:linear-gradient(135deg,#304753,#756b62)}.story-visual-art{position:absolute;inset:0;opacity:.46}.story-art-mark{position:absolute;right:9%;top:20%;font-size:4.5rem}.story-art-lines{position:absolute;inset:18% 8%;border:1px solid rgba(255,255,255,.28);transform:rotate(-3deg);box-shadow:18px 12px 0 rgba(255,255,255,.08),-18px 26px 0 rgba(0,0,0,.08)}.story-visual-copy{position:relative;z-index:1;display:grid;gap:.25rem;max-width:86%}.story-visual-copy>span{text-transform:uppercase;letter-spacing:.13em;font-size:.62rem}.story-visual-copy strong{font-size:1.1rem}.story-visual-copy small{line-height:1.3;color:rgba(255,255,255,.88)}.story-visual-tags{position:absolute;right:1rem;bottom:1rem;z-index:2;display:grid;gap:.3rem;justify-items:end}.story-visual-tags i{font-style:normal;font-size:.58rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.25rem .45rem;background:rgba(20,30,30,.18)}
.micro-story-note{position:relative;background:#fff4dc;border:1px solid rgba(142,103,47,.24);padding:.85rem .9rem;border-radius:8px;box-shadow:0 8px 18px rgba(56,44,28,.06)}.micro-story-note:before{content:"";position:absolute;top:-8px;left:44%;width:62px;height:17px;background:rgba(219,204,160,.55);transform:rotate(-2deg)}.micro-story-note>span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;color:#9a542f}.micro-story-note>strong{display:block;font-size:1rem;margin:.25rem 0}.micro-story-note p{font-size:.8rem!important;line-height:1.4}.micro-story-note.large{padding:1.05rem 1.15rem}.micro-story-note.large>strong{font-size:1.15rem}
.timeline-event-list{gap:1rem}.timeline-context-card{background:#fff7e6;border:1px solid rgba(117,91,53,.18);border-radius:16px;padding:1.2rem 1.35rem;display:grid;grid-template-columns:minmax(220px,.65fr) 1.35fr;gap:1.5rem;box-shadow:0 8px 20px rgba(43,36,28,.05);position:relative}.timeline-context-card:before{content:"";position:absolute;width:78px;height:18px;top:-8px;left:48%;background:rgba(220,205,164,.52);transform:rotate(-1deg)}.timeline-context-card h2{margin:.15rem 0 .45rem}.timeline-context-card.quiet{grid-template-columns:1fr}.timeline-context-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.timeline-context-groups strong{display:block;margin-bottom:.45rem}.context-chips{display:flex;flex-wrap:wrap;gap:.35rem}.context-chips button{border:1px solid var(--line);background:#fffdf7;border-radius:999px;padding:.35rem .55rem;font-size:.72rem;cursor:pointer}.timeline-work-line{font-size:.75rem!important;margin:.35rem 0!important}.timeline-event{border-radius:14px!important;padding:1.1rem!important}.timeline-event .kicker{margin-bottom:.25rem}.empty-timeline-note{opacity:.84}.context-research-note{margin-top:1rem;padding:1rem;background:#f8efd9;border:1px dashed rgba(121,90,47,.3);border-radius:10px}.place-period{color:var(--muted);font-size:.78rem;margin-top:-.3rem}
@media(max-width:1200px){.family-gameboard{grid-template-columns:repeat(2,1fr)}.person-detail-grid{grid-template-columns:repeat(2,1fr)}.timeline-context-card{grid-template-columns:1fr}.timeline-context-groups{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.family-gameboard,.micro-story-row,.person-detail-grid,.timeline-context-groups{grid-template-columns:1fr}.focus-tree-row.parents-row .focus-tree-cards{display:flex!important;overflow-x:auto!important;justify-content:flex-start!important}.person-detail-head{flex-direction:column}.story-visual{height:190px}}

/* Current repair pass — make the scrapbook, contribution loop and contextual media visible */
#home.active-view{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
#home .family-gameboard{order:1;margin:0}
#home .home-showcase{order:2}
#home .home-focus-strip{order:3;margin:0}
#home .ancestry-panel{order:4;margin:0}
#home .home-research-panel{order:5;margin:0}

.home-showcase{
  padding:1.2rem 1.35rem 1.35rem;
  overflow:hidden;
}
.home-showcase .section-heading{align-items:flex-start;margin-bottom:1rem}
.home-showcase .section-heading p:last-child{max-width:760px;color:var(--muted);margin:.25rem 0 0;line-height:1.45}
.family-showcase-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.showcase-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(117,91,53,.18);
  border-radius:12px;
  background:#fffaf0;
  box-shadow:0 8px 18px rgba(48,39,28,.055);
}
.showcase-card:nth-child(2){transform:rotate(.12deg)}
.showcase-card:nth-child(3){transform:rotate(-.1deg)}
.showcase-visual{height:250px;background:#ded8cb;overflow:hidden;position:relative}
.showcase-photo,.place-context-photo{position:relative;margin:0;width:100%;height:100%;background:#e8e2d6;overflow:hidden}
.showcase-photo img,.place-context-photo img{display:block;width:100%;height:100%;object-fit:cover}
.showcase-photo figcaption,.place-context-photo figcaption{
  position:absolute;
  left:.8rem;right:.8rem;bottom:.7rem;
  display:flex;flex-direction:column;gap:.12rem;
  padding:.55rem .65rem;
  background:rgba(255,251,240,.92);
  color:var(--ink);
  border-radius:8px;
  box-shadow:0 3px 10px rgba(22,28,26,.11);
}
.showcase-photo figcaption strong,.place-context-photo figcaption strong{font-size:.82rem}
.showcase-photo figcaption small,.place-context-photo figcaption small{font-size:.62rem;color:var(--muted);line-height:1.25}
.context-image-badge{
  position:absolute;top:.7rem;left:.7rem;z-index:3;
  padding:.3rem .5rem;border-radius:999px;
  background:rgba(17,39,50,.9);color:#fff;
  font:700 .58rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;
}
.context-image-badge.family{background:rgba(58,77,46,.92)}
.context-loading{
  height:100%;display:grid;place-items:center;padding:1rem;text-align:center;
  color:#756e62;font-size:.78rem;
  background:linear-gradient(145deg,#ece6da,#d7d0c3);
}
.showcase-copy{padding:1rem 1.05rem 1.1rem}
.showcase-copy h3{margin:.15rem 0 .5rem;font-size:1.25rem}
.showcase-copy>p:not(.kicker){margin:.2rem 0 .65rem;line-height:1.48;font-size:.86rem}
.showcase-copy>small{display:block;color:var(--muted);font-size:.72rem;line-height:1.4}
.scout-example{
  display:flex;align-items:flex-end;min-height:100%;
  background:
    linear-gradient(rgba(255,248,232,.86),rgba(255,248,232,.94)),
    repeating-linear-gradient(-12deg,rgba(126,95,55,.08) 0 1px,transparent 1px 22px);
}
.scout-example .showcase-copy{padding:1.35rem}
.scout-example h3{font-size:1.45rem}

.family-contributors{display:grid;gap:.35rem;margin-top:.55rem}
.contributor-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.45rem;align-items:center;padding:.38rem .2rem;border-bottom:1px dashed rgba(99,79,53,.17)}
.contributor-row:last-child{border-bottom:0}
.contributor-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(152,111,51,.13);color:#8a6129;font-size:.8rem}
.contributor-row div{min-width:0;display:flex;flex-direction:column}
.contributor-row strong{font-size:.8rem;overflow-wrap:anywhere}
.contributor-row small{color:var(--muted);font-size:.63rem;line-height:1.25}

/* The assistant is useful, but it is a tool in the scrapbook rather than the homepage hero. */
#home .home-research-panel{
  grid-template-columns:minmax(210px,.62fr) minmax(0,1.38fr)!important;
  align-items:start;
  padding:1rem 1.15rem!important;
  background:#fbf8f1!important;
}
#home .home-research-copy h1{font-size:clamp(1.45rem,2.2vw,2rem);margin:.1rem 0 .25rem}
#home .home-research-copy>p:last-child{font-size:.82rem;line-height:1.4}
#home .home-research-progress{display:none}
#home .home-chat-shell{min-width:0}
#home .home-chat-avatar{width:38px;height:38px;font-size:.9rem}
#home .home-research-actions{gap:.3rem}
#home .home-research-actions .research-action{font-size:.7rem;padding:.4rem .55rem}

/* Context imagery should replace the decorative corporate-looking story panels while preserving labels. */
.story-visual.has-context-image{background:#293a3e!important;isolation:isolate}
.story-context-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.86) contrast(.96)}
.story-visual.has-context-image:after{content:"";position:absolute;inset:0;z-index:.5;background:linear-gradient(180deg,rgba(12,25,30,.08),rgba(12,25,30,.76) 76%,rgba(12,25,30,.9));pointer-events:none}
.story-visual.has-context-image .story-visual-copy,.story-visual.has-context-image .story-visual-tags{z-index:2}
.story-badge{z-index:3}
.story-context-credit{position:absolute;z-index:3;left:1rem;top:2.5rem;max-width:70%;font-size:.52rem;color:rgba(255,255,255,.86);text-shadow:0 1px 2px rgba(0,0,0,.7)}

.place-media-block{margin:.9rem 0 1rem}
.place-media-block .showcase-photo{height:230px;border-radius:10px;border:1px solid rgba(117,91,53,.16)}
.place-context-photo{height:230px;border-radius:10px;border:1px solid rgba(117,91,53,.16);margin:.9rem 0 1rem}
.place-media-block>.text-button{margin-top:.4rem}

/* Real upload-time tagging: visible before the upload is saved and usable outside tagging-only mode. */
.upload-tag-picker{
  padding:.85rem .9rem;
  border:1px solid rgba(117,91,53,.18);
  border-radius:12px;
  background:#fffaf0;
}
.upload-tag-picker>strong{display:block;margin-bottom:.2rem}
.upload-tag-picker>small{display:block;color:var(--muted);font-size:.72rem;line-height:1.35}
.upload-tag-picker input{width:100%;margin-top:.55rem;padding:.65rem .7rem;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}
.upload-tag-picker .person-tag-results,.identification-card .person-tag-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.55rem;max-height:260px;overflow:auto}
.upload-tag-picker .person-tag-choice,.identification-card .person-tag-choice{display:flex;justify-content:space-between;gap:.5rem;text-align:left;padding:.55rem .65rem;border:1px solid var(--line);background:#fffdf8;border-radius:8px;cursor:pointer}
.upload-tag-picker .person-tag-choice.is-tagged,.identification-card .person-tag-choice.is-tagged{background:#eaf0e5;border-color:rgba(83,108,76,.28)}
.upload-tag-picker .tagged-people,.identification-card .tagged-people{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0}
.upload-tag-picker .person-tag,.identification-card .person-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;background:#eef1e8;border-radius:999px;font-size:.75rem}
.upload-tag-picker .person-tag button,.identification-card .person-tag button{border:0;background:transparent;cursor:pointer;font-size:1rem;line-height:1}

/* Longer, family-language navigation labels still need to fit without looking like a corporate menu bar. */
.main-nav{justify-content:center;min-width:0}
.main-nav .nav-link{white-space:nowrap}

@media(max-width:1100px){
  .family-showcase-grid{grid-template-columns:1fr 1fr}
  .scout-example{grid-column:1/-1;min-height:190px}
}
@media(max-width:760px){
  #home.active-view{gap:.75rem}
  .family-showcase-grid{grid-template-columns:1fr}
  .scout-example{grid-column:auto}
  .showcase-visual{height:220px}
  #home .home-research-panel{grid-template-columns:1fr!important}
  .upload-tag-picker .person-tag-results,.identification-card .person-tag-results{grid-template-columns:1fr}
}


/* UI stability hotfix — bounded scrapbook media and predictable top-level view switching */
html,body{max-width:100%;overflow-x:hidden}
.view,.paper-panel,.home-showcase,.family-showcase-grid,.showcase-card{min-width:0}
.home-showcase{contain:layout paint}
.showcase-card{display:flex;flex-direction:column;max-width:100%;overflow:hidden!important}
.showcase-card .showcase-visual{position:relative;height:clamp(220px,18vw,280px)!important;min-height:220px!important;max-height:280px!important;overflow:hidden!important;flex:0 0 auto}
.showcase-card .showcase-photo{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;margin:0!important;overflow:hidden!important}
.showcase-card .showcase-photo>img{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;object-position:center!important}
.showcase-card .showcase-photo figcaption{position:absolute!important;left:.8rem!important;right:.8rem!important;bottom:.7rem!important;margin:0!important;max-width:calc(100% - 1.6rem)!important}
.context-loading{width:100%;height:100%;min-height:0;background:linear-gradient(110deg,#ddd6c9 25%,#ece7dd 45%,#ddd6c9 65%);background-size:220% 100%;animation:context-placeholder 1.4s ease-in-out infinite}
.context-media-missing .context-loading{animation:none;background:#e5dfd3}
@keyframes context-placeholder{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(max-width:760px){.showcase-card .showcase-visual{height:220px!important;min-height:220px!important;max-height:220px!important}}

/* v1.10 work-in-progress: family-facing review of externally sourced context */
.context-source-action{margin-top:.65rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.context-source-action .text-button{font-size:.74rem}
.context-scout-shell{width:min(1040px,calc(100vw - 2rem));max-width:1040px}
.context-scout-intro{max-width:760px;color:var(--muted);line-height:1.45;margin:.35rem 0 1rem}
.context-scout-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;max-height:min(68vh,720px);overflow:auto;padding:.1rem .15rem .25rem}
.context-scout-card{border:1px solid rgba(117,91,53,.2);border-radius:12px;background:#fffaf0;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.context-scout-card.is-accepted{outline:3px solid rgba(80,109,70,.28);border-color:rgba(80,109,70,.46)}
.context-scout-card img{display:block;width:100%;height:190px;object-fit:cover;background:#ddd6c9}
.context-scout-copy{display:flex;flex-direction:column;gap:.42rem;padding:.8rem .85rem .9rem;min-height:0;flex:1}
.context-scout-copy strong{font-size:.82rem;line-height:1.25;overflow-wrap:anywhere}
.context-scout-copy p{font-size:.72rem;line-height:1.4;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.context-scout-meta{font-size:.62rem;line-height:1.35;color:var(--muted)}
.context-scout-actions{display:flex;gap:.4rem;align-items:center;margin-top:auto;padding-top:.35rem;flex-wrap:wrap}
.context-scout-actions .button{padding:.48rem .65rem;font-size:.72rem}
.context-scout-source{font-size:.68rem;color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.context-scout-status{padding:.85rem 0;color:var(--muted)}
.context-scout-status.error{color:#8b3b2f}
@media(max-width:900px){.context-scout-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.context-scout-results{grid-template-columns:1fr}.context-scout-card img{height:220px}}

/* Family view legibility + softer portrait placeholders */
.family-generation-rail{display:flex;gap:1rem;align-items:stretch;overflow-x:auto;padding:.1rem 0 .35rem;scrollbar-width:thin}
.family-line-group,.family-side-group{flex:0 0 auto;border-radius:18px;padding:.75rem;background:rgba(255,255,255,.52)}
.family-line-group{border:2px solid rgba(170,116,38,.32);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.family-side-group{border:1px dashed rgba(76,83,72,.2);background:rgba(245,241,232,.66)}
.family-line-label,.family-side-label{display:block;margin:0 0 .55rem;font:700 .68rem/1.2 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.family-line-label{color:#94501f}.family-side-label{color:var(--muted)}
.family-generation-rail .focus-tree-cards{display:flex!important;gap:.8rem!important;justify-content:flex-start!important;grid-template-columns:none!important}
.family-generation-rail .ancestor-card{flex:0 0 220px}
.photo-missing{border-radius:24px!important;background:linear-gradient(145deg,#ede9e0,#d8d3c7)!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;overflow:hidden}
.photo-missing .portrait-head{width:62%;max-width:86px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.52);box-shadow:inset 0 0 0 1px rgba(74,79,68,.08)}
.photo-missing .portrait-head svg{width:70%;height:70%;fill:#77796f;opacity:.78}
.photo-missing.portrait-female .portrait-head svg{fill:#746f69}.photo-missing.portrait-male .portrait-head svg{fill:#69737a}
.photo-missing small{font:600 .62rem Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#69665e}
.context-image-link{display:block;width:100%;height:100%;cursor:zoom-in}
.context-image-link img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:760px){.focus-tree-row{grid-template-columns:1fr!important}.family-generation-rail{width:100%}.family-line-group,.family-side-group{padding:.6rem}.family-generation-rail .ancestor-card{flex-basis:200px}}


/* v1.10 release — family-first presentation and contribution */
.header-contribute{border:1px solid rgba(255,255,255,.42);background:#f4ead8;color:#18323d;border-radius:999px;padding:.55rem .9rem;font:700 .74rem Arial,sans-serif;white-space:nowrap;cursor:pointer}.person-crop{background-repeat:no-repeat!important;background-color:#ded8ca!important}.direct-answer{margin:.2rem 0!important}.direct-answer strong{font-size:2rem}.direct-answer-note{color:var(--muted);margin-top:.1rem!important}.person-confidence-wrap{margin-left:auto;display:flex;align-items:flex-end;gap:.35rem;flex-direction:column}.confidence-confirm{border:0;background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font-size:.68rem;padding:0}.confidence-badge[data-confidence-help]{cursor:pointer}.research-focus .focus-avatar .ancestor-photo{width:72px;height:88px;border-radius:18px;overflow:hidden}.research-focus .focus-avatar .ancestor-photo img{width:100%;height:100%;object-fit:cover}.research-focus .focus-avatar{flex:0 0 auto}.person-detail-identity{display:flex;align-items:center;gap:1rem}.person-detail-identity>.ancestor-photo{width:92px;height:112px;border-radius:20px;flex:0 0 auto}.person-detail-identity>.ancestor-photo img{width:100%;height:100%;object-fit:cover}.person-knowledge-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.known-panel ul{padding-left:1.15rem}.known-panel li{margin:.35rem 0}.service-context{border-top:1px dashed var(--line);margin-top:.8rem;padding-top:.7rem}.service-context p{margin:.35rem 0;color:var(--muted)}.person-clue{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:14px;padding:.75rem;margin:.45rem 0;background:#fffaf0;cursor:pointer}.person-clue strong,.person-clue small,.person-clue span{display:block}.person-clue small{color:var(--muted);margin:.2rem 0}.person-clue span{color:var(--green);font-weight:700;font-size:.72rem}.visual-timeline-card{display:grid!important;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)!important;gap:1rem!important;align-items:stretch}.timeline-context-visual{position:relative;min-height:240px;margin:0;border-radius:16px;overflow:hidden;background:#ded8ca}.timeline-context-visual>img,.timeline-context-visual .context-image-link,.timeline-context-visual .context-image-link>img{width:100%;height:100%;display:block;object-fit:cover}.timeline-context-visual figcaption{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;background:rgba(255,251,243,.92);padding:.65rem .75rem;border-radius:12px}.timeline-context-visual figcaption strong{display:block}.timeline-context-visual figcaption details{margin-top:.25rem;font-size:.65rem;color:var(--muted)}.place-context-photo figcaption details,.showcase-photo figcaption details{font-size:.62rem;color:var(--muted);margin-top:.25rem}.place-now{padding:1rem;border-top:1px solid var(--line);margin-top:.75rem}.place-now p{color:var(--muted)}.family-clues-panel{margin-top:1rem}.family-clue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.family-clue-card{text-align:left;border:1px solid var(--line);border-radius:16px;background:#fffaf0;padding:.9rem;cursor:pointer}.family-clue-card small,.family-clue-card span,.family-clue-card strong,.family-clue-card em{display:block}.family-clue-card small{color:var(--rust);text-transform:uppercase;letter-spacing:.08em}.family-clue-card span{font-size:.74rem;color:var(--muted);margin:.45rem 0}.family-clue-card span b{display:block;color:var(--ink);margin-bottom:.1rem}.family-clue-card strong{font-size:.92rem;line-height:1.3}.family-clue-card em{font-style:normal;color:var(--green);font-weight:700;margin-top:.55rem;font-size:.72rem}#contribute-dialog.tagging-mode .dialog-shell{width:min(1180px,calc(100vw - 2rem));max-width:1180px;overflow:hidden}#contribute-dialog.tagging-mode .tag-people-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:1rem;max-width:none!important;padding:0;background:transparent;border:0}#contribute-dialog.tagging-mode .tag-photo-pane,#contribute-dialog.tagging-mode .tag-controls-pane{min-width:0}.tag-photo-stage{position:relative;width:100%;height:min(66vh,720px);background:#161616;border-radius:18px;overflow:hidden;touch-action:none;cursor:crosshair}.tag-photo-stage img{width:100%;height:100%;object-fit:contain;display:block;user-select:none}.tag-selection{position:absolute;border:3px solid #f6e4a8;background:rgba(246,228,168,.12);box-shadow:0 0 0 9999px rgba(0,0,0,.16);pointer-events:none}.tag-photo-help{font-size:.72rem;color:var(--muted);margin:.45rem .2rem}.tag-controls-pane{padding:.7rem .4rem;overflow:auto;max-height:70vh}.compact-search-results{max-height:270px!important;grid-template-columns:1fr!important}.tag-controls-pane .tag-suggestions{margin:.7rem 0}.tag-controls-pane .tag-suggestions .candidate-person{font-size:.72rem;padding:.45rem .58rem}.archive-grid{gap:.8rem}.archive-category{border-radius:18px!important;min-height:250px!important;padding:1.1rem!important}.archive-category>span{font-size:1.5rem}.archive-category p{font-size:.82rem;line-height:1.45}.archive-category .text-button{margin-top:auto}@media(max-width:900px){.person-knowledge-grid,.visual-timeline-card{grid-template-columns:1fr!important}.family-clue-grid{grid-template-columns:1fr 1fr}#contribute-dialog.tagging-mode .tag-people-card{grid-template-columns:1fr}.tag-photo-stage{height:48vh}.header-contribute{display:none}}@media(max-width:620px){.family-clue-grid{grid-template-columns:1fr}.person-detail-identity{align-items:flex-start}}
.context-caption-meaning{display:block;font-size:.72rem;color:var(--muted);line-height:1.35;margin-top:.2rem}
.ancestor-card .ancestor-photo:not(.photo-missing){background:#fff;padding:4px;box-shadow:0 5px 14px rgba(34,31,25,.14);border-radius:16px;transform:rotate(-.35deg)}
.ancestor-card:nth-child(even) .ancestor-photo:not(.photo-missing){transform:rotate(.35deg)}

/* v1.10.0 usability polish */
#contribute-dialog.tagging-mode{width:100vw;max-width:100vw;margin:auto;padding:0;border:0;background:transparent;overflow:hidden}
#contribute-dialog.tagging-mode .dialog-shell{width:min(1080px,calc(100vw - 2rem))!important;max-width:1080px!important;max-height:calc(100dvh - 2rem)!important;margin:auto!important;padding:1.1rem!important;overflow:hidden!important;box-sizing:border-box}
#contribute-dialog.tagging-mode .dialog-shell>h2{font-size:clamp(1.6rem,3vw,2.25rem)!important;margin-right:3rem!important}
#contribute-dialog.tagging-mode .tag-people-card{grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr)!important;gap:1.2rem!important}
#contribute-dialog.tagging-mode .tag-photo-stage{height:min(58dvh,620px)!important;border-radius:20px}
#contribute-dialog.tagging-mode .tag-controls-pane{max-height:62dvh!important;padding:.25rem .2rem!important}
#contribute-dialog.tagging-mode .tag-suggestions{display:flex!important;flex-wrap:wrap!important;gap:.4rem!important;align-items:center}
#contribute-dialog.tagging-mode .tag-suggestions>span{width:100%;font-size:.7rem;color:var(--muted)}
#contribute-dialog.tagging-mode .compact-search-results{max-height:190px!important}
#contribute-dialog.tagging-mode .identification-status{min-height:1.2rem;margin-top:.35rem;font-size:.72rem;color:var(--green);font-weight:700}

.tree-focus-person{display:flex;align-items:center;gap:.85rem;min-width:0}
.tree-focus-person>.ancestor-photo{width:74px!important;height:88px!important;min-width:74px!important;border-radius:18px!important;overflow:hidden;flex:0 0 74px}
.tree-focus-person>.ancestor-photo img{width:100%;height:100%;object-fit:cover}
.scrapbook-tree-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:1rem!important;padding:.8rem 1rem!important}
.family-generation-rail{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:.85rem!important}
.family-line-group,.family-side-group{max-width:100%!important;flex:0 1 auto!important}
.family-generation-rail .focus-tree-cards{flex-wrap:wrap!important;overflow:visible!important;padding-bottom:0!important}

.research-page{padding-top:1.15rem!important}
.research-page-header{align-items:start!important;margin-bottom:.75rem!important}
.research-page-header h1{font-size:clamp(2.25rem,4vw,3.4rem)!important;line-height:1!important;margin:.1rem 0 .45rem!important}
.research-chat{min-height:220px!important;max-height:40vh!important}
.research-focus-bar{padding:.65rem .9rem!important}
.research-focus .focus-avatar .ancestor-photo{width:64px!important;height:78px!important;border-radius:16px!important}
.person-confidence-wrap{align-items:flex-start!important;margin-left:.6rem!important}
.confidence-confirm{font-size:.74rem!important}

.context-caption-meaning{display:block;margin-top:.25rem;line-height:1.35;color:var(--muted)}

@media(max-width:860px){
 #contribute-dialog.tagging-mode .dialog-shell{width:calc(100vw - 1rem)!important;max-height:calc(100dvh - 1rem)!important;padding:.8rem!important}
 #contribute-dialog.tagging-mode .tag-people-card{grid-template-columns:1fr!important}
 #contribute-dialog.tagging-mode .tag-photo-stage{height:42dvh!important}
 #contribute-dialog.tagging-mode .tag-controls-pane{max-height:35dvh!important}
 .scrapbook-tree-head{align-items:flex-start!important}
}


/* v1.10 usability bundle — family-first navigation, questions and tree */
.site-header{position:sticky!important;top:0!important}.site-header.compact-header{padding-top:7px!important;padding-bottom:7px!important}.site-header.compact-header .brand-copy small,.site-header.compact-header .viewer-control>span{display:none}.site-header.compact-header .brand-copy strong{font-size:18px}.site-header.compact-header .main-nav button{padding-top:8px;padding-bottom:8px}
.home-questions-panel{margin-top:1rem}.home-family-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.family-clue-card.compact{min-height:0}.family-clue-card em{font-style:normal;color:var(--green);font-weight:700}.questions-for-you{margin-bottom:1rem;padding:1rem}.assigned-question-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.assigned-question{text-align:left;border:1px solid var(--line);background:#fffaf0;border-radius:14px;padding:.8rem;cursor:pointer}.assigned-question strong,.assigned-question small,.assigned-question span{display:block}.assigned-question small{color:var(--muted);margin:.35rem 0}.assigned-question span{color:var(--green);font-weight:700;font-size:.75rem}.clue-answer-shell{width:min(700px,calc(100vw - 2rem))}.clue-known{padding:.8rem 1rem;border-left:4px solid var(--brass);background:#f7f0e2;color:var(--muted)}.clue-known strong{display:block;color:var(--ink);margin-bottom:.25rem}.ask-family-member{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.ask-family-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;margin-top:.55rem}.ask-family-row select{min-width:0}
#contribution-photo-fields[hidden],#contribution-date-fields[hidden]{display:none!important}
.family-focus-strip{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;padding:.75rem 1rem 1rem;margin-bottom:.8rem;border-bottom:1px solid var(--line)}.family-focus-identity{display:flex;align-items:center;gap:1rem;min-width:0}.family-focus-identity>.ancestor-photo{width:76px;height:88px;flex:0 0 auto;border-radius:22px}.family-focus-identity h2{font-size:clamp(1.55rem,3vw,2.6rem);line-height:1.05;margin:.1rem 0}.family-focus-meta{display:flex;flex-wrap:wrap;gap:.35rem .8rem;color:var(--muted);font-size:.8rem}.family-focus-meta span+span:before{content:'·';margin-right:.8rem;color:#b49c74}.family-generation-browser{gap:.85rem!important}.focus-tree-row{position:relative;overflow:hidden!important;padding:1rem!important;border:1px solid rgba(117,91,53,.14)!important;border-radius:20px!important;min-height:0!important}.focus-tree-row.has-generation-context:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(250,247,240,.92),rgba(250,247,240,.92)),var(--generation-bg);background-size:cover;background-position:center;z-index:0}.focus-tree-row>*{position:relative;z-index:1}.focus-tree-label{font-size:.78rem!important;letter-spacing:.1em;text-transform:uppercase;color:var(--rust);font-weight:700}.parent-family-layout{display:grid;grid-template-columns:minmax(180px,1fr) minmax(440px,1.4fr) minmax(180px,1fr);gap:1rem;align-items:start}.direct-family-pair{display:flex;justify-content:center;align-items:stretch;gap:.8rem;flex-wrap:wrap;padding:.55rem;border:2px solid rgba(183,148,91,.45);border-radius:22px;background:rgba(255,252,246,.86);position:relative}.family-line-label{width:100%;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rust);font-weight:700}.collateral-family{min-width:0;padding:.55rem;background:rgba(255,255,255,.55);border-radius:18px}.side-family-title{display:block;font-size:.72rem;color:var(--muted);font-weight:700;margin-bottom:.45rem}.collateral-card-strip{display:flex;gap:.55rem;overflow-x:auto;padding-bottom:.25rem}.wide-generation-layout{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}.wide-generation-layout>.direct-family-pair{flex:0 1 auto}.wide-generation-layout>.collateral-card-strip{flex:1 1 420px}.ancestor-card{min-width:220px!important;max-width:300px!important}.ancestor-card.collateral-card{min-width:175px!important;max-width:205px!important;opacity:.9}.ancestor-card.collateral-card .ancestor-photo{width:72px!important}.ancestor-card.focus-person{box-shadow:0 0 0 4px rgba(183,148,91,.38)}.relationship-label{font-weight:700;color:var(--rust)!important}.person-life,.person-place{display:block;font-size:.72rem;color:var(--muted);margin-top:.15rem}.ancestor-photo.photo-missing{border-radius:24px!important;background:linear-gradient(145deg,#e7e2d8,#d8d0c1)!important}.ancestor-photo.photo-missing small{font-size:.58rem!important}.portrait-head{border-radius:50%!important}.family-names{font-size:.7rem;color:var(--muted);margin-top:.2rem}
.live-archive-grid{align-items:stretch}.live-archive-item{min-width:0}.archive-file-icon{height:180px!important;display:flex!important;flex-direction:column;gap:.45rem;align-items:center;justify-content:center!important;background:#f2eee6!important}.archive-file-icon span{font-size:2rem;color:var(--navy)}.archive-file-icon small{font-weight:700;color:var(--muted)}.archive-photo-button img{object-fit:cover!important;object-position:50% 38%;}.archive-person-tags span{white-space:normal}.live-archive-copy>strong{line-height:1.25}
@media(max-width:1100px){.parent-family-layout{grid-template-columns:1fr}.collateral-family{order:2}.direct-family-pair{order:1}.home-family-questions,.assigned-question-list{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.site-header{position:sticky!important}.family-focus-strip{align-items:flex-start;flex-direction:column}.family-focus-identity>.ancestor-photo{width:64px;height:76px}.home-family-questions,.assigned-question-list{grid-template-columns:1fr}.ask-family-row{grid-template-columns:1fr}.ancestor-card{min-width:190px!important}.focus-tree-row{padding:.75rem!important}}

#contribution-document-fields[hidden]{display:none!important}#contribution-document-fields label{display:block}.person-detail .person-clue span{font-weight:700}

.archive-changes{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}.archive-changes[hidden]{display:none!important}.archive-changes h2{margin:.1rem 0}.archive-change-counts{display:flex;flex-wrap:wrap;gap:.55rem}.archive-change-counts span{padding:.5rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fffaf0;font-size:.76rem}.assigned-home{border-color:rgba(75,98,61,.45)!important}.assigned-home small{color:var(--green)!important}@media(max-width:720px){.archive-changes{align-items:flex-start;flex-direction:column}}


/* v1.10 family tree layout hotfix */
#family-tree.family-tree{
  display:block!important;
  grid-template-columns:none!important;
  width:100%!important;
  max-width:none!important;
}
#family-tree .family-focus-strip{
  width:100%!important;
  box-sizing:border-box;
}
#family-tree .family-generation-browser{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
#family-tree .focus-tree-row{
  width:100%!important;
  box-sizing:border-box;
  grid-template-columns:120px minmax(0,1fr)!important;
}
#family-tree .parent-family-layout,
#family-tree .wide-generation-layout{
  width:100%!important;
  min-width:0!important;
}
#family-tree .parent-family-layout{
  grid-template-columns:minmax(0,1fr) minmax(460px,1.35fr) minmax(0,1fr)!important;
}
#family-tree .direct-family-pair{
  min-width:0!important;
  max-width:100%!important;
}
#family-tree .collateral-family,
#family-tree .collateral-card-strip{
  min-width:0!important;
  max-width:100%!important;
}
#family-tree .collateral-card-strip{
  flex-wrap:wrap!important;
  overflow:visible!important;
}
@media(max-width:1200px){
  #family-tree .parent-family-layout{grid-template-columns:1fr!important}
  #family-tree .collateral-family{order:2}
  #family-tree .direct-family-pair{order:1}
}
@media(max-width:760px){
  #family-tree .focus-tree-row{grid-template-columns:1fr!important}
}

/* Contribution mode chooser */
.contribution-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin:.3rem 0 1rem;padding:.35rem;background:#f2ede3;border:1px solid var(--line);border-radius:18px}
.contribution-tab{border:0;background:transparent;border-radius:14px;padding:.72rem .8rem;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
.contribution-tab:hover,.contribution-tab:focus-visible{background:rgba(255,255,255,.65);outline:2px solid var(--gold);outline-offset:1px}
.contribution-tab.is-active{background:#fff;box-shadow:0 1px 5px rgba(25,35,30,.10);color:var(--navy)}
.contribution-note-kind{max-width:360px;margin-bottom:.8rem}
.contribution-note-kind[hidden]{display:none!important}
#contribute-dialog .dialog-shell{max-width:920px}
#contribute-dialog #contribute-form{display:grid;gap:.9rem}
#contribute-dialog #upload-tag-picker{margin:.15rem 0}
@media(max-width:650px){.contribution-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.contribution-tab{padding:.62rem .5rem}}

/* Family contribution governance */
.contribution-governance{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:.8rem;align-items:end;padding:.8rem .9rem;background:rgba(245,240,230,.58);border:1px solid var(--line);border-radius:16px}
.contribution-governance label{margin:0}
.contribution-governance small{display:block;margin-top:.35rem;color:var(--muted);line-height:1.35}
.contribution-check{display:flex!important;align-items:center;gap:.55rem;min-height:48px;padding:.7rem .8rem;background:rgba(255,255,255,.62);border:1px solid var(--line);border-radius:13px}
.contribution-check input{width:1.1rem;height:1.1rem;flex:0 0 auto}
.contribution-check[hidden]{display:none!important}
@media(max-width:720px){.contribution-governance{grid-template-columns:1fr}}

/* v1.10 tagging reliability: explicit region-first workflow */
.tag-selected-state{border:1px solid var(--line);background:#f7f2e8;border-radius:12px;padding:.7rem .8rem;margin:.7rem 0;display:grid;gap:.15rem}.tag-selected-state strong{font-size:.8rem}.tag-selected-state span{font-size:.7rem;color:var(--muted)}.tag-selected-state:has(+ .tag-suggestions:not([hidden])){margin-bottom:.45rem}.tag-controls-pane button[disabled]{opacity:.42;cursor:not-allowed}.tag-photo-help strong{color:var(--ink)}.tag-selection{border-width:3px!important;border-color:#f3d37b!important;background:rgba(243,211,123,.1)!important}.identification-status{min-height:1.25rem}.tag-photo-stage{cursor:crosshair}.tag-photo-stage img{pointer-events:none}


/* Family research and lineage usability pass */
.direct-family-pair.direct-couple{display:grid!important;grid-template-columns:repeat(2,minmax(210px,1fr));align-items:stretch;gap:.8rem;max-width:720px!important;margin-inline:auto}
.direct-family-pair.direct-couple>.family-line-label{grid-column:1/-1}
.direct-family-pair.direct-couple>.ancestor-card{width:100%!important;max-width:none!important;min-width:0!important}
.confidence-with-score{display:grid!important;grid-template-columns:auto auto;gap:.45rem;align-items:center}.confidence-with-score small{font-size:.68rem;opacity:.78}.confidence-with-score b{font-weight:700}
.clue-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:1rem 0;padding:.3rem;border:1px solid var(--line);background:#f2ede3;border-radius:16px}.clue-tab{border:0;background:transparent;padding:.7rem .65rem;border-radius:12px;font:inherit;font-weight:700;cursor:pointer}.clue-tab.is-active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.09)}.clue-evidence-content,.clue-context-action{padding:1rem;border:1px solid var(--line);background:#fffaf0;border-radius:14px}.clue-evidence-content h3,.clue-context-action h3{margin-top:0}.clue-evidence-content ul{padding-left:1.2rem}.family-clue-card{padding:.9rem!important;min-height:0!important}.family-clue-card small{font-size:.7rem!important;letter-spacing:.08em;text-transform:uppercase;color:var(--rust)}.family-clue-card span{font-size:.78rem!important;line-height:1.35;color:var(--muted);margin:.35rem 0}.family-clue-card strong{font-size:1rem!important;line-height:1.25}.family-clue-card em{margin-top:.45rem}.context-caption-meaning{max-width:42ch}.timeline-event .confidence{align-self:start}
@media(max-width:760px){.direct-family-pair.direct-couple{grid-template-columns:1fr!important;max-width:none!important}.direct-family-pair.direct-couple>.family-line-label{grid-column:auto}.clue-tabs{grid-template-columns:repeat(2,1fr)}.clue-answer-shell{width:min(100%,calc(100vw - 1rem))!important}.family-clue-grid{grid-template-columns:1fr!important}}

/* v1.10 family context + living portrait trial */
.timeline-world-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:1.1rem;padding:1.15rem 1.25rem;margin:.1rem 0 .9rem;border:1px solid #c8b79c;border-radius:18px;background:linear-gradient(135deg,#f3ead9,#e8e0d2);box-shadow:0 5px 14px rgba(60,48,31,.07)}
.timeline-world-card h2{margin:.1rem 0 .7rem}.world-facts{display:grid;gap:.45rem;margin:0}.world-facts>div{display:grid;grid-template-columns:110px 1fr;gap:.7rem;padding:.4rem 0;border-top:1px solid rgba(117,91,53,.14)}.world-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rust);font-weight:700}.world-facts dd{margin:0;line-height:1.4}.world-local{padding:1rem;border-radius:14px;background:rgba(255,255,255,.48)}.world-local>strong{font-family:Georgia,serif;font-size:1.05rem}.world-local p{line-height:1.45;color:var(--muted)}
.ai-ancestor-portrait{position:relative;overflow:hidden!important;background:#e9dfcf!important}.ai-ancestor-portrait img{width:100%;height:100%;object-fit:cover;display:block}.ai-ancestor-portrait small{position:absolute;left:.3rem;right:.3rem;bottom:.3rem;padding:.2rem .35rem;border-radius:8px;background:rgba(30,25,19,.78);color:#fff!important;font-size:.55rem!important;line-height:1.15;text-align:center}
.ai-portrait-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(260px,1.2fr);gap:1.2rem;align-items:center;padding:1.1rem;border:1px solid #c8b79c;border-radius:20px;background:linear-gradient(135deg,#f4ecdd,#e9dfcf)}.ai-portrait-feature h3{margin:.1rem 0 .45rem}.ai-portrait-copy p:not(.kicker){max-width:48ch;line-height:1.5}.ai-live-stage{position:relative;aspect-ratio:2/3;max-height:430px;overflow:hidden;border-radius:18px;background:#382f27;box-shadow:0 8px 24px rgba(40,30,20,.18)}.ai-live-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.ai-live-stage img:first-child{opacity:1}.ai-live-stage>span{position:absolute;left:.6rem;right:.6rem;bottom:.6rem;z-index:10;padding:.35rem .55rem;border-radius:10px;background:rgba(30,24,18,.78);color:#fff;font-size:.66rem;text-align:center}.ai-portrait-feature.is-animated .ai-live-stage img{animation:familyLivingPortrait 4.8s steps(1,end) infinite}.ai-portrait-feature.is-animated .ai-live-stage img:nth-child(1){animation-delay:0s}.ai-portrait-feature.is-animated .ai-live-stage img:nth-child(2){animation-delay:1.2s}.ai-portrait-feature.is-animated .ai-live-stage img:nth-child(3){animation-delay:2.4s}.ai-portrait-feature.is-animated .ai-live-stage img:nth-child(4){animation-delay:3.6s}@keyframes familyLivingPortrait{0%,24%{opacity:1}25%,100%{opacity:0}}
/* scrapbook colour without sacrificing whitespace */
#family .tree-panel{background:linear-gradient(180deg,#f6efe2,#efe5d5)}#family-tree .focus-tree-row:nth-child(4n+1){background-color:#f5ead9!important}#family-tree .focus-tree-row:nth-child(4n+2){background-color:#e9eee2!important}#family-tree .focus-tree-row:nth-child(4n+3){background-color:#e7edf0!important}#family-tree .focus-tree-row:nth-child(4n){background-color:#f1e4dd!important}
@media(max-width:720px){.timeline-world-card,.ai-portrait-feature{grid-template-columns:1fr}.world-facts>div{grid-template-columns:1fr;gap:.15rem}.ai-live-stage{width:min(78vw,330px);justify-self:center}.family-focus-strip{position:sticky;top:92px;z-index:8;background:rgba(247,240,226,.96);backdrop-filter:blur(8px);border-radius:16px}.family-generation-browser .direct-family-pair{width:100%}.family-generation-browser .collateral-card-strip{display:flex;overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:.45rem}.family-generation-browser .ancestor-card{flex:0 0 min(78vw,260px)}}


/* consolidated family-history usability patch */
.family-clues-panel{padding:1.25rem 1.35rem!important}
.family-clues-panel .section-heading{margin-bottom:1rem!important}
.home-showcase .section-heading{padding-inline:.1rem}
.family-showcase-grid{gap:.7rem!important}
.showcase-card .showcase-visual{height:clamp(165px,14vw,215px)!important;min-height:165px!important;max-height:215px!important}
.showcase-photo figcaption,.place-context-photo figcaption,.timeline-context-visual figcaption{display:none!important}
.showcase-copy{padding:.8rem 1rem!important}.showcase-copy h3{margin:.05rem 0 .35rem!important}.showcase-copy p{margin:.2rem 0!important}
.relationship-unit{display:flex;align-items:stretch;gap:.35rem;position:relative;flex:0 0 auto}.relationship-unit.is-couple{padding:.3rem;border-radius:18px;background:rgba(246,238,222,.72)}.relationship-unit .partner-link{width:20px;align-self:center;height:2px;background:var(--brass);position:relative;flex:0 0 20px}.relationship-unit .partner-link:before,.relationship-unit .partner-link:after{content:'';position:absolute;top:50%;width:5px;height:5px;border-radius:50%;background:var(--brass);transform:translateY(-50%)}.relationship-unit .partner-link:before{left:0}.relationship-unit .partner-link:after{right:0}.collateral-card-strip>.relationship-unit{margin-right:.4rem}
.scrap-tape{top:-5px!important;z-index:3!important}.paper-panel,.research-shell,.timeline-context-card{overflow:visible!important}
.embedded-streetview{margin-top:.75rem;border-radius:16px;overflow:hidden;min-height:320px;border:1px solid var(--line)}.embedded-streetview iframe{width:100%;height:320px;border:0;display:block}.place-now .text-button{display:inline-block;margin-top:.65rem}
@media(max-width:760px){.family-clues-panel{padding:1rem!important}.showcase-card .showcase-visual{height:180px!important;min-height:180px!important;max-height:180px!important}.relationship-unit.is-couple{flex-direction:column}.relationship-unit .partner-link{width:2px;height:16px;align-self:center;flex:0 0 16px}.relationship-unit .partner-link:before,.relationship-unit .partner-link:after{left:50%;top:auto;transform:translateX(-50%)}.relationship-unit .partner-link:before{top:0}.relationship-unit .partner-link:after{bottom:0}.embedded-streetview,.embedded-streetview iframe{min-height:260px;height:260px}}

/* timeline context hotfix: family-relevant imagery sits behind the timeline context */
.visual-timeline-card{position:relative!important;display:block!important;isolation:isolate;overflow:hidden!important;min-height:360px;padding:0!important;background:#e8dfcf!important}
.visual-timeline-card .timeline-context-visual{position:absolute!important;inset:0!important;z-index:0!important;width:100%!important;height:100%!important;min-height:100%!important;margin:0!important;border-radius:0!important;overflow:hidden!important;background:#d8d0c1!important}
.visual-timeline-card .timeline-context-visual>a,.visual-timeline-card .timeline-context-visual>img,.visual-timeline-card .timeline-context-visual .context-image-link,.visual-timeline-card .timeline-context-visual .context-image-link>img{width:100%!important;height:100%!important;min-height:100%!important;display:block!important;object-fit:cover!important}
.visual-timeline-card .timeline-context-visual:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(27,38,35,.16) 0%,rgba(247,240,226,.30) 38%,rgba(247,240,226,.78) 64%,rgba(247,240,226,.94) 100%);pointer-events:none}
.visual-timeline-card .timeline-context-visual .context-image-badge{z-index:3!important;top:.8rem!important;left:.8rem!important}
.timeline-context-content{position:relative;z-index:2;width:min(800px,72%);min-height:360px;margin-left:auto;padding:1.35rem 1.45rem 1.15rem;background:linear-gradient(90deg,rgba(250,245,235,.74),rgba(250,245,235,.94) 30%,rgba(250,245,235,.97));backdrop-filter:blur(1.5px);box-sizing:border-box}
.no-period-background .timeline-context-content{width:100%;min-height:0;margin:0;background:#fff8e8;backdrop-filter:none}
.timeline-context-groups{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;align-items:start}
.timeline-people-group{grid-column:1/-1}
.timeline-people{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.35rem}
.timeline-person{display:grid;grid-template-columns:56px minmax(88px,1fr);gap:.55rem;align-items:center;min-width:165px;max-width:235px;border:1px solid rgba(110,91,62,.20);border-radius:14px;padding:.38rem .55rem .38rem .38rem;background:rgba(255,253,248,.90);box-shadow:0 2px 8px rgba(45,36,25,.07);text-align:left;cursor:pointer;color:inherit}
.timeline-person:hover,.timeline-person:focus-visible{transform:translateY(-1px);box-shadow:0 5px 14px rgba(45,36,25,.12);outline:none}
.timeline-person>.ancestor-photo{width:56px!important;height:68px!important;min-height:68px!important;min-width:56px!important;border-radius:10px!important;margin:0!important;overflow:hidden!important;transform:none!important;box-shadow:none!important;padding:0!important}
.timeline-person>.ancestor-photo img{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important}
.timeline-person>.ancestor-photo.photo-missing{display:grid!important;place-items:center!important}
.timeline-person>.ancestor-photo.photo-missing .portrait-head{width:31px;height:31px}
.timeline-person>.ancestor-photo.photo-missing small{font-size:.5rem!important;text-align:center}
.timeline-person>span:last-child{display:flex;flex-direction:column;gap:.12rem;min-width:0}
.timeline-person>span:last-child strong{font-size:.78rem;line-height:1.18}
.timeline-person>span:last-child small{font-size:.64rem;color:var(--muted);line-height:1.25}
.timeline-image-meaning{margin:.9rem 0 0!important;padding-top:.65rem;border-top:1px solid rgba(117,91,53,.16);font-size:.69rem!important;line-height:1.35;color:var(--muted)}
@media(max-width:900px){.timeline-context-content{width:min(92%,760px);min-height:340px}.visual-timeline-card .timeline-context-visual:after{background:linear-gradient(180deg,rgba(27,38,35,.12),rgba(247,240,226,.56) 36%,rgba(247,240,226,.95) 72%)}.timeline-context-groups{grid-template-columns:1fr!important}}
@media(max-width:620px){.visual-timeline-card{min-height:0}.timeline-context-content{width:100%;min-height:0;margin:170px 0 0;padding:1rem;background:rgba(250,245,235,.96)}.visual-timeline-card .timeline-context-visual{height:230px!important;min-height:230px!important}.timeline-person{min-width:0;max-width:none;flex:1 1 145px;grid-template-columns:50px 1fr}.timeline-person>.ancestor-photo{width:50px!important;height:60px!important;min-width:50px!important;min-height:60px!important}}


/* timeline placement correction: period imagery belongs only behind the year control */
.timeline-control{position:relative!important;isolation:isolate;overflow:hidden!important;min-height:146px;background:var(--paper)!important}
.timeline-control::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(252,249,242,.90),rgba(252,249,242,.72) 52%,rgba(252,249,242,.82));pointer-events:none}
.timeline-control>.timeline-period-background{position:absolute!important;inset:0!important;z-index:0!important;width:100%!important;height:100%!important;min-height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;margin:0!important;border:0!important;border-radius:0!important}
.timeline-control>label,.timeline-control>input,.timeline-control>.decade-labels{position:relative;z-index:2}
.timeline-control.has-period-background label,.timeline-control.has-period-background output,.timeline-control.has-period-background .decade-labels{color:var(--ink)!important;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.timeline-context-card{display:block!important;min-height:0!important;padding:1.15rem 1.25rem!important;overflow:visible!important;background:#fff8e8!important}
.timeline-context-card .timeline-context-content{position:static!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;backdrop-filter:none!important}
.timeline-context-card .timeline-context-visual{display:none!important}
.context-chip{display:inline-flex;align-items:center;padding:.38rem .62rem;border:1px solid rgba(110,91,62,.18);border-radius:999px;background:#fffdf8;color:var(--ink);font-size:.72rem;line-height:1.2}
@media(max-width:620px){.timeline-control{min-height:138px}.timeline-context-content{margin:0!important}}

/* 2026-08-18 corrective review pass */
html,body{max-width:100%;overflow-x:hidden}
main{width:min(100%,1500px);padding-inline:clamp(18px,2vw,28px)}
.view,.paper-panel,.tree-panel,.research-page,.family-clues-panel,.family-generation-browser{min-width:0}
.family-clues-panel{padding:1.5rem!important}
.family-clue-grid{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))!important}
.family-clue-card{min-width:0}
.context-grid.single-context-field{grid-template-columns:1fr!important}

/* Family tree: make declared/derived couple units visibly connected rather than merely adjacent. */
.direct-family-pair.direct-couple>.relationship-unit.is-couple{width:100%;justify-content:center;background:rgba(246,238,222,.78);border:1px solid rgba(184,138,61,.28);padding:.55rem}
.collateral-card-strip .relationship-unit.is-couple{border:1px solid rgba(184,138,61,.20)}
.relationship-unit .partner-link{background:var(--brass)!important;box-shadow:0 0 0 1px rgba(184,138,61,.08)}

/* Restrained masking-tape treatment: visible, but not a floating beige rectangle. */
.scrap-tape{top:-12px!important;left:50%!important;width:82px!important;height:22px!important;transform:translateX(-50%) rotate(-1.3deg)!important;border:0!important;opacity:.76!important;background:repeating-linear-gradient(92deg,rgba(226,207,158,.78) 0 8px,rgba(235,218,174,.72) 8px 16px)!important;clip-path:polygon(3% 8%,98% 0,95% 94%,0 86%)!important;box-shadow:0 1px 2px rgba(69,52,27,.12)!important;pointer-events:none}
.scrap-tape:after{content:'';position:absolute;inset:3px 5px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);opacity:.55}
.paper-panel,.research-shell,.timeline-context-card,.family-clues-panel{overflow:visible!important}

/* Timeline controls use the archive palette, not browser-blue controls. */
.filter-panel input[type="checkbox"]{accent-color:var(--green);width:16px;height:16px;vertical-align:-2px}
.filter-panel label{color:var(--ink)}
.timeline-world-card{grid-template-columns:1fr!important}
.world-local{display:none!important}

/* Research counters are navigation, not dead status pills. */
.progress-link{font:inherit;color:inherit;text-align:left;cursor:pointer}
.progress-link:hover,.progress-link:focus-visible{border-color:var(--brass)!important;background:#fffaf0!important;outline:none;transform:translateY(-1px)}
.mini-progress button,.home-research-progress button{border:1px solid var(--line);background:#fffaf1;color:var(--ink);padding:7px 9px;border-radius:999px;font:700 .74rem Arial,sans-serif;cursor:pointer}

/* Unreviewed web images stay out of story/place cards. Curated choices still fill the visual. */
.context-media-missing .context-loading{display:none}
.story-visual.context-media-missing .story-visual-art{display:block}
.story-context-credit{display:none!important}

@media(max-width:760px){
 main{padding-inline:16px}
 .family-clues-panel{padding:1.1rem!important}
 .direct-family-pair.direct-couple>.relationship-unit.is-couple{width:auto}
}

/* v1.10 review correction — family tree relationships, portrait integrity and question padding */
.family-clues-panel{padding:1.25rem 1.4rem 1.35rem!important;box-sizing:border-box!important}
.family-clues-panel .section-heading{margin:0 0 1rem!important}

/* A family-tree photograph is a portrait window, not a stretched card background. */
#family-tree .ancestor-card{align-items:start!important}
#family-tree .ancestor-card .ancestor-photo{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:4/5!important;
  align-self:start!important;
  padding:0!important;
  overflow:hidden!important;
  transform:none!important;
  background:#e4ded2;
}
#family-tree .ancestor-card .ancestor-photo>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  transform:none!important;
}
#family-tree .ancestor-card .ancestor-photo.person-crop>img{object-fit:cover!important}
.photo-load-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#e7e2d8,#d8d0c1);color:#6b675e}
.photo-load-fallback[hidden]{display:none!important}
.photo-load-fallback .portrait-head{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.62)}
.photo-load-fallback .portrait-head svg{width:30px;height:30px;fill:#9b9a91}
.photo-load-fallback small{margin-top:.35rem;font:.56rem/1.1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;text-align:center}

/* Only asserted spouses/partners are joined. Shared children alone never create a visual couple. */
.relationship-unit.is-couple{
  display:grid!important;
  grid-template-columns:minmax(175px,1fr) 40px minmax(175px,1fr)!important;
  align-items:center!important;
  gap:.2rem!important;
  padding:.35rem!important;
  border:1px solid rgba(184,138,61,.28)!important;
  border-radius:20px!important;
  background:rgba(250,245,234,.82)!important;
  flex:0 0 auto!important;
}
.relationship-unit.is-couple>.ancestor-card{width:100%!important;min-width:0!important;max-width:260px!important}
.relationship-unit .partner-link{
  width:40px!important;height:2px!important;align-self:center!important;justify-self:center!important;position:relative!important;
  background:var(--brass)!important;flex:0 0 40px!important;box-shadow:none!important;
}
.relationship-unit .partner-link>span{
  position:absolute;left:50%;top:-17px;transform:translateX(-50%);white-space:nowrap;
  font:700 .52rem/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--rust);
  background:#faf5ea;padding:2px 4px;border-radius:999px;
}
.relationship-unit .partner-link:before,.relationship-unit .partner-link:after{width:5px!important;height:5px!important}
.direct-family-pair>.relationship-unit.is-couple{margin-inline:auto}

@media(max-width:760px){
 .family-clues-panel{padding:1rem!important}
 .relationship-unit.is-couple{grid-template-columns:1fr!important;gap:.35rem!important}
 .relationship-unit .partner-link{width:2px!important;height:22px!important;justify-self:center!important;flex-basis:22px!important}
 .relationship-unit .partner-link>span{left:12px;top:50%;transform:translateY(-50%)}
}

/* v1.10 review correction r2 — layout integrity, real photo crops, progress details */
*,*::before,*::after{box-sizing:border-box}
main{width:100%!important;max-width:1500px!important;padding:28px clamp(18px,2vw,28px)!important}
.view,#home,.paper-panel{min-width:0;max-width:100%}
.home-questions-panel{padding:1.35rem 1.45rem 1.45rem!important;margin-top:0!important;overflow:hidden!important}
.home-questions-panel .section-heading{align-items:flex-start!important;min-width:0}
.home-questions-panel .section-heading>div{min-width:0;max-width:100%}
.home-questions-panel .section-heading p{white-space:normal!important;overflow-wrap:break-word}
.home-questions-panel .text-button{flex:0 0 auto}
.home-family-questions{width:100%;min-width:0}
#home .section-heading.compact h2{font-size:clamp(1.65rem,2vw,1.95rem)!important;line-height:1.08}
#home .section-heading.compact p:not(.kicker){font-size:1rem!important;line-height:1.45}
#home .game-card h2{font-size:clamp(1.3rem,1.55vw,1.5rem)!important;line-height:1.18}
#home .game-card p:not(.kicker){font-size:.96rem!important;line-height:1.48}
#home .family-clue-card strong{font-size:1rem!important}
#home .family-clue-card span{font-size:.82rem!important}
#family-tree .ancestor-family-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.9rem!important;width:100%!important;min-width:0!important}
#family-tree .ancestor-family-layout>.direct-family-pair{width:100%!important;display:flex!important;justify-content:center!important;align-items:stretch!important;flex-wrap:wrap!important;gap:.75rem!important;overflow:hidden!important}
#family-tree .ancestor-sibling-groups{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;gap:.7rem!important;width:100%!important;min-width:0!important}
#family-tree .sibling-family-group{min-width:0!important;padding:.65rem!important;border:1px solid rgba(117,91,53,.12)!important;border-radius:16px!important;background:rgba(255,255,255,.52)!important;overflow:hidden!important}
#family-tree .sibling-family-group .collateral-card-strip{display:flex!important;flex-wrap:wrap!important;gap:.5rem!important;overflow:visible!important;padding:0!important}
#family-tree .sibling-family-group .relationship-unit{max-width:100%!important}
#family-tree .sibling-family-group .ancestor-card{min-width:170px!important;max-width:210px!important}
#family-tree .parent-family-layout{display:none!important}
#family-tree .focus-tree-row{grid-template-columns:125px minmax(0,1fr)!important;column-gap:.85rem!important;overflow:hidden!important}
#family-tree .direct-family-pair{overflow:hidden!important}
#family-tree .ancestor-card .ancestor-photo,.timeline-person>.ancestor-photo,.family-focus-identity>.ancestor-photo{position:relative!important;overflow:hidden!important}
.person-photo-with-fallback>img[data-person-photo]{display:block!important;transform:none!important;transform-origin:center!important}
.person-photo-with-fallback>img[data-person-photo][hidden]{display:none!important}
#family-tree .ancestor-card .ancestor-photo.person-crop>img[data-person-photo]{max-width:none!important;max-height:none!important}
.photo-load-fallback{position:absolute!important;inset:0!important;z-index:0!important}
.person-photo-with-fallback>img[data-person-photo]{z-index:1}
.scrap-tape{top:-9px!important;left:50%!important;width:78px!important;height:16px!important;transform:translateX(-50%) rotate(-1.1deg)!important;background:rgba(211,192,143,.52)!important;background-image:linear-gradient(90deg,rgba(255,255,255,.12),rgba(174,147,92,.08),rgba(255,255,255,.08))!important;clip-path:polygon(0 18%,6% 0,13% 15%,20% 2%,29% 14%,38% 1%,49% 13%,60% 0,70% 14%,80% 2%,89% 13%,100% 4%,98% 84%,91% 100%,82% 87%,72% 100%,61% 87%,50% 100%,39% 88%,28% 100%,18% 87%,8% 100%,0 88%)!important;box-shadow:0 1px 1px rgba(65,49,25,.08)!important;opacity:.7!important}
.scrap-tape:after{display:none!important}
.progress-detail-dialog{width:min(760px,calc(100vw - 2rem));border:0;padding:0;background:transparent}
.progress-detail-dialog::backdrop{background:rgba(11,34,45,.42);backdrop-filter:blur(2px)}
.progress-detail-shell{position:relative;max-height:min(82vh,760px);overflow:auto;padding:1.5rem 1.6rem 1.65rem!important;border-radius:22px;background:var(--paper);border:1px solid var(--line);box-shadow:0 22px 70px rgba(10,25,32,.28)}
.progress-detail-shell h2{font-size:clamp(1.65rem,3vw,2.25rem);margin:.15rem 0 .8rem}
.progress-detail-shell .dialog-close{position:absolute;right:1rem;top:.85rem;border:0;background:transparent;font-size:1.75rem;cursor:pointer}
.progress-detail-list{display:grid;gap:.7rem;margin-top:1rem}.progress-detail-list article{padding:.85rem .95rem;border:1px solid var(--line);border-radius:14px;background:#fffaf0}.progress-detail-list article>span{display:block;margin-bottom:.25rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--rust);font-weight:700}.progress-detail-list article>strong{display:block;font-size:1rem;line-height:1.3}.progress-detail-list article>p{margin:.35rem 0 0;color:var(--muted);line-height:1.45}.progress-detail-total{padding:.8rem 1rem;border-left:4px solid var(--brass);background:#f6efe2}.progress-detail-note{font-size:.85rem;color:var(--muted)}
@media(max-width:900px){#family-tree .focus-tree-row{grid-template-columns:1fr!important}#family-tree .ancestor-sibling-groups{grid-template-columns:1fr!important}}
@media(max-width:720px){main{padding:16px!important}.home-questions-panel{padding:1rem!important}.home-questions-panel .section-heading{display:grid!important;grid-template-columns:1fr!important}.home-questions-panel .text-button{justify-self:start}}

/* v1.10 review correction R3 — bounded archive, sympathetic archive cards, reliable media */
.family-game-score{display:grid;gap:.2rem}
.family-game-score>button{appearance:none;border:0;border-bottom:1px dashed rgba(92,73,47,.18);background:transparent;color:inherit;display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:.55rem;width:100%;padding:.58rem 0;text-align:left;cursor:pointer}
.family-game-score>button:hover,.family-game-score>button:focus-visible{color:var(--green);outline:none}
.family-game-score>button strong{font-size:1.6rem;color:var(--ink)}
.family-game-score>button span{font-size:.76rem;color:var(--muted)}
.family-game-score>button em{font-style:normal;font-size:.67rem;font-weight:700;color:var(--green);opacity:0;transition:opacity .15s ease}
.family-game-score>button:hover em,.family-game-score>button:focus-visible em{opacity:1}

.live-archive-summary{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:.1rem 0 .8rem;color:var(--muted);font-size:.78rem}
.live-archive-summary span{font-weight:700;color:var(--ink)}
.live-archive-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.8rem!important;overflow:visible!important}
.live-archive-item{display:flex;flex-direction:column;min-height:0;overflow:hidden!important}
.archive-photo-button{height:150px!important;background:#ebe5d8!important;overflow:hidden;position:relative}
.archive-photo-button img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important}
.archive-photo-button.image-unavailable{cursor:default}
.archive-photo-fallback{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:.35rem;color:var(--muted);background:linear-gradient(145deg,#eee8dc,#e2dbcc)}
.archive-photo-fallback>span{font-size:1.55rem;color:var(--brass)}
.archive-photo-fallback small{font-size:.68rem;font-weight:700}
.live-archive-copy{min-height:0;padding:.75rem!important;gap:.32rem!important}
.live-archive-copy>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.45em;line-height:1.22}
.archive-person-tags{display:flex;flex-wrap:wrap;gap:.28rem;max-height:2.3rem;overflow:hidden}
.archive-person-tags span{font-size:.62rem!important;padding:.18rem .38rem!important;border-radius:999px;background:#f5efe3;border:1px solid rgba(132,105,64,.15)}
.archive-item-more{margin-top:.18rem;border-top:1px solid rgba(110,90,58,.12);padding-top:.25rem}
.archive-item-more summary{list-style:none;cursor:pointer;color:var(--green);font-size:.68rem;font-weight:700;width:max-content}
.archive-item-more summary::-webkit-details-marker{display:none}
.archive-item-more[open] summary{margin-bottom:.35rem}
.archive-item-more>div{display:grid;gap:.28rem;color:var(--muted);font-size:.7rem;line-height:1.35;max-height:8.5rem;overflow:auto;padding-right:.2rem}
.archive-item-more p,.archive-item-more small{margin:0;font:inherit;color:inherit}

.archive-grid{align-items:stretch}
.archive-category{position:relative;display:flex;flex-direction:column;min-height:278px!important;padding:1.2rem 1.2rem 1.05rem!important;border-top:1px solid var(--line)!important;overflow:hidden}
.archive-category:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--brass);opacity:.7}
.archive-category-photo:before{background:var(--green)}
.archive-category-voice:before{background:#7d6b55}
.archive-category-record:before{background:var(--rust)}
.archive-category-help:before{background:var(--navy)}
.archive-category-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#f4eddf;border:1px solid rgba(119,91,53,.18);margin-bottom:.7rem;color:var(--navy)}
.archive-category-mark svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.archive-category-kicker{min-height:0!important;margin:0 0 .12rem!important;color:var(--rust)!important;text-transform:uppercase;letter-spacing:.09em;font-size:.62rem!important;font-weight:700}
.archive-category h2{margin:.12rem 0 .55rem!important;font-size:1.28rem!important;line-height:1.15}
.archive-category p:not(.archive-category-kicker){min-height:0!important;margin:0 0 1rem!important;font-size:.8rem!important;line-height:1.5!important;color:var(--muted)!important}
.archive-category .text-button{margin-top:auto!important;align-self:flex-start}

.showcase-photo.image-unavailable,.place-media-block.image-unavailable{background:#ece6da!important}
.showcase-photo.image-unavailable:after,.place-media-block.image-unavailable:after{content:"Photograph unavailable";display:grid;place-items:center;min-height:150px;color:var(--muted);font-size:.72rem;font-weight:700}
.resolved-research-list .resolved-by{display:block;margin-top:.48rem;padding-top:.4rem;border-top:1px dashed rgba(117,91,53,.2);font-size:.7rem;font-weight:700;color:var(--green)}

@media(max-width:1120px){.live-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.live-archive-summary{align-items:flex-start;flex-direction:column;gap:.15rem}}
@media(max-width:620px){.live-archive-grid{grid-template-columns:1fr!important}.archive-category{min-height:230px!important}.family-game-score>button em{opacity:1}.live-archive-summary{font-size:.72rem}}
.showcase-placeholder{width:100%;height:100%;min-height:170px;display:flex;flex-direction:column;justify-content:flex-end;gap:.3rem;padding:1rem;background:linear-gradient(145deg,#e7dfd0,#d8cfbd);color:var(--ink);position:relative;overflow:hidden}
.showcase-placeholder:before{content:"";position:absolute;inset:14% 9% 26%;border:1px solid rgba(89,72,49,.16);transform:rotate(-2deg);box-shadow:16px 10px 0 rgba(255,255,255,.18)}
.showcase-placeholder-line{position:absolute;left:10%;right:10%;bottom:36%;height:1px;background:rgba(89,72,49,.18)}
.showcase-placeholder strong,.showcase-placeholder small{position:relative;z-index:1}.showcase-placeholder strong{font-size:.96rem}.showcase-placeholder small{font-size:.67rem;color:var(--muted);max-width:28ch;line-height:1.35}
.context-image-unavailable{display:grid;place-items:center;width:100%;height:100%;min-height:150px;background:linear-gradient(145deg,#ebe5d8,#ddd5c6);color:var(--muted)}
.context-image-unavailable small{font-size:.7rem;font-weight:700}

/* v1.10 review correction r4 — remove filler, keep scrapbook links contained, and expose evidence */
.person-photo-with-fallback{position:relative!important;overflow:hidden!important;isolation:isolate}
.home-focus-strip .compact-person-card{overflow:hidden!important;position:relative!important}
.home-focus-strip .compact-person-card .ancestor-photo{position:relative!important;overflow:hidden!important;flex:0 0 auto!important}
.home-focus-strip .compact-person-card .ancestor-photo>img[data-person-photo]{max-width:none!important;max-height:none!important}
.home-focus-strip .compact-person-card .button-stack{flex-wrap:wrap!important}
.home-focus-strip .compact-person-card .button-stack .button{min-width:150px}
.home-focus-facts dd{min-width:0}
.home-relation-list{display:flex;flex-wrap:wrap;gap:.3rem .4rem!important;align-items:center}
.home-relation-link{appearance:none;border:0;background:transparent;padding:0;color:var(--green);font:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer;text-align:left}
.home-relation-link:hover,.home-relation-link:focus-visible{color:var(--rust);outline:none}

/* Continuous years do not need a synthetic "nothing happened" event card. */
.empty-timeline-note{display:none!important}

.person-memories-dialog{width:min(760px,calc(100vw - 2rem));border:0;padding:0;background:transparent}
.person-memories-dialog::backdrop{background:rgba(11,34,45,.42);backdrop-filter:blur(2px)}
.person-memories-shell{position:relative;max-height:min(84vh,780px);overflow:auto;padding:1.5rem 1.6rem 1.65rem!important;border-radius:22px;background:var(--paper);border:1px solid var(--line);box-shadow:0 22px 70px rgba(10,25,32,.28)}
.person-memories-shell .dialog-close{position:absolute;right:1rem;top:.85rem;border:0;background:transparent;font-size:1.75rem;cursor:pointer}
.person-memories-shell h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:.15rem 0 .55rem}
.person-memories-intro{color:var(--muted);line-height:1.5;max-width:65ch}
.person-memory-list{display:grid;gap:.7rem;margin:1rem 0}
.person-memory-list article{padding:.85rem .95rem;border:1px solid var(--line);border-radius:14px;background:#fffaf0}
.person-memory-list article>span{display:block;margin-bottom:.25rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--rust);font-weight:700}
.person-memory-list article>strong{display:block;font-size:1rem;line-height:1.3}
.person-memory-list article>p{margin:.35rem 0 0;color:var(--muted);line-height:1.45}
.person-memory-list article>small,.evidence-record-list article>small{display:block;margin-top:.4rem;color:var(--muted);font-size:.72rem}
.person-memories-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}

.evidence-record-list article{position:relative;padding-left:1rem!important}
.evidence-record-list article>span{color:var(--green)!important}
.evidence-record-list article>strong{padding-right:.4rem}

@media(max-width:900px){
 .home-focus-strip .compact-person-card .button-stack .button{min-width:0}
}

/* v1.10 review correction R4.4 — reasoned/probable relationships */
.reasoned-bridge{
  width:min(100%,720px);margin:.2rem auto .55rem;padding:.78rem .9rem;border:1px dashed rgba(166,116,37,.58);border-radius:14px;background:rgba(252,245,227,.92);color:var(--ink);text-align:left;display:grid;gap:.24rem;cursor:pointer;box-shadow:none
}
.reasoned-bridge:hover,.reasoned-bridge:focus-visible{background:#fff7e3;border-color:rgba(133,87,19,.8);outline:none;box-shadow:0 0 0 3px rgba(184,138,61,.12)}
.reasoned-bridge-status{font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a5a16}
.reasoned-bridge strong{font-family:var(--serif);font-size:.98rem;line-height:1.25;font-weight:700}
.reasoned-bridge small{font-size:.72rem;line-height:1.42;color:var(--muted);max-width:70ch}
.reasoned-bridge-action{font-size:.7rem;font-weight:800;color:var(--green);margin-top:.1rem}
.reasoned-bridge.is-possible{border-color:rgba(106,99,84,.48);background:rgba(245,241,231,.9)}
.reasoned-bridge.is-disputed{border-color:rgba(143,68,50,.55);background:rgba(250,237,233,.9)}
.family-focus-reasoning{appearance:none;border:0;border-bottom:1px dashed rgba(166,116,37,.55);background:transparent;padding:.08rem 0;color:#80561b;font:inherit;font-size:.74rem;font-weight:750;cursor:pointer;text-align:left}
.family-focus-reasoning:hover{color:var(--green)}
.reasoning-person-panel{margin:1rem 0;padding:1rem 1.05rem;border:1px dashed rgba(166,116,37,.5);border-radius:16px;background:linear-gradient(145deg,rgba(255,249,234,.96),rgba(246,237,216,.88));display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.reasoning-person-copy{min-width:0;max-width:780px}.reasoning-person-copy .kicker{margin-bottom:.2rem}.reasoning-person-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.reasoning-person-head h3{margin:.05rem 0 .25rem;font-size:1.05rem}.reasoning-confidence{flex:0 0 auto;border:1px solid rgba(166,116,37,.38);border-radius:999px;background:#fff8e8;padding:.3rem .55rem;font-size:.66rem;font-weight:800;color:#80561b;white-space:nowrap}.reasoning-person-copy>p{margin:.35rem 0;font-size:.82rem;line-height:1.5}.reasoning-settle{color:var(--muted)}
.relationship-reasoning-shell{width:min(760px,calc(100vw - 2rem))!important;max-height:min(88vh,850px);overflow:auto;padding:1.35rem 1.45rem!important}
.reasoning-dialog-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding-right:1.5rem}.reasoning-dialog-title h2{margin:.05rem 0 .45rem;line-height:1.12}.reasoning-dialog-title p{margin:0;color:var(--muted);line-height:1.55}.reasoning-dialog-confidence{min-width:92px;border:1px dashed rgba(166,116,37,.55);border-radius:16px;background:#fff8e9;padding:.65rem .7rem;text-align:center;font-family:var(--serif);font-size:1.45rem;font-weight:800;color:#80561b}.reasoning-dialog-confidence small{display:block;margin-top:.18rem;font-family:var(--sans);font-size:.6rem;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.reasoning-dialog-section{margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(117,91,53,.14)}.reasoning-dialog-section h3{margin:0 0 .55rem;font-size:.96rem}.reasoning-dialog-section>p{margin:.35rem 0;font-size:.81rem;line-height:1.52}.reasoning-evidence-list{display:grid;gap:.5rem}.reasoning-evidence-list article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.65rem;align-items:start;padding:.62rem .7rem;border-radius:12px;background:rgba(255,255,255,.66);border:1px solid rgba(117,91,53,.1)}.reasoning-evidence-list article>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:.68rem;font-weight:800}.reasoning-evidence-list strong{font-size:.78rem}.reasoning-evidence-list p{margin:.14rem 0 0;font-size:.75rem;line-height:1.45;color:var(--muted)}
.reasoning-caution{border:1px solid rgba(166,116,37,.24);border-radius:13px;background:rgba(255,248,230,.7);padding:.75rem .85rem;margin-top:1rem}.reasoning-caution h3{color:#80561b}.reasoning-next p{font-weight:650}.reasoning-existing-case{border:1px solid rgba(75,98,61,.24);border-radius:13px;background:rgba(237,242,232,.7);padding:.78rem .85rem}.reasoning-existing-case>span{display:block;font-size:.61rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:.2rem}.reasoning-existing-case>strong{font-family:var(--serif);font-size:.9rem}.reasoning-existing-case>p{margin:.25rem 0 .4rem}.reasoning-existing-case>small{font-size:.66rem;color:var(--muted)}.reasoning-dialog-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(117,91,53,.14)}
@media(max-width:720px){.reasoning-person-panel{align-items:stretch;flex-direction:column}.reasoning-person-head{display:block}.reasoning-confidence{display:inline-block;margin:.15rem 0 .3rem}.reasoning-dialog-title{grid-template-columns:1fr}.reasoning-dialog-confidence{justify-self:start}.relationship-reasoning-shell{padding:1.05rem!important}.reasoned-bridge{margin-inline:0}}

/* v1.11.0 — evidence-led genealogy intake and continuous reasoning */
.record-contribution-fields{display:grid;gap:.8rem;margin:.65rem 0 0}
.record-contribution-fields>label{display:grid;gap:.35rem}
.record-contribution-fields label small{font-size:.68rem;color:var(--muted);font-weight:500}
.record-type-grid{align-items:end}
.record-type-guide{min-height:72px;padding:.72rem .82rem;border:1px dashed rgba(75,98,61,.35);border-radius:13px;background:rgba(237,242,232,.66);display:grid;align-content:center;gap:.2rem}
.record-type-guide strong{font-size:.78rem;color:var(--green)}
.record-type-guide span{font-size:.7rem;line-height:1.45;color:var(--muted)}
#contribution-record-text{min-height:116px;resize:vertical;font-family:var(--sans);line-height:1.45}
.record-analysis{margin-top:.9rem}
.record-analysis-card{padding:1rem 1.05rem;border:1px solid rgba(75,98,61,.25);border-radius:17px;background:linear-gradient(145deg,rgba(248,250,244,.98),rgba(237,242,232,.86));display:grid;gap:.7rem}
.record-analysis-card>.kicker{margin:0;color:var(--green)}
.record-analysis-card>h3{margin:-.12rem 0 0;font-size:1.12rem;line-height:1.25}
.record-analysis-summary,.record-no-change{margin:0;color:var(--muted);font-size:.79rem;line-height:1.5}
.record-learned-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.record-learned-list article{padding:.62rem .7rem;border:1px solid rgba(75,98,61,.14);border-radius:12px;background:rgba(255,255,255,.7);min-width:0}
.record-learned-list article>span{display:block;margin-bottom:.18rem;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--green)}
.record-learned-list article>strong{display:block;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
.record-learned-list article>small{display:block;margin-top:.28rem;font-size:.64rem;color:var(--muted);line-height:1.35}
.record-conflicts{padding:.7rem .8rem;border:1px solid rgba(143,68,50,.3);border-radius:12px;background:rgba(250,237,233,.75)}
.record-conflicts>strong{font-size:.73rem;color:var(--rust)}
.record-conflicts p{margin:.3rem 0 0;font-size:.72rem;line-height:1.45;color:var(--ink)}
.record-conflicts em{font-style:normal;font-weight:700;color:var(--rust)}
.record-next-step{padding:.82rem .88rem;border:1px dashed rgba(166,116,37,.48);border-radius:14px;background:#fff8e9;display:grid;gap:.3rem}
.record-next-step>span{font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#80561b}
.record-next-step>strong{font-family:var(--serif);font-size:.93rem;color:var(--ink)}
.record-next-step>p{margin:.12rem 0;font-size:.79rem;line-height:1.5;font-weight:650;color:var(--ink)}
.record-next-step>small{font-size:.68rem;line-height:1.45;color:var(--muted)}
.record-next-step>.button{justify-self:start;margin-top:.25rem}
.record-provenance-note{font-size:.64rem;line-height:1.45;color:var(--muted);padding-top:.1rem}
@media(max-width:720px){.record-learned-list{grid-template-columns:1fr}.record-type-grid{grid-template-columns:1fr!important}}

/* v1.11 final — evidence review before graph mutation */
.record-candidates,.record-household{margin:.8rem 0;padding:.78rem .82rem;border:1px solid rgba(75,98,61,.18);border-radius:13px;background:rgba(255,255,255,.62)}
.record-candidates>.kicker{margin:0 0 .45rem;color:var(--green)}
.record-candidate{padding:.55rem 0;border-top:1px solid rgba(61,55,45,.09);display:grid;gap:.22rem}.record-candidate:first-of-type{border-top:0}.record-candidate>div{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.record-candidate strong{font-size:.82rem}.record-candidate span{font-size:.68rem;font-weight:700;color:var(--muted)}.record-candidate small{font-size:.67rem;color:var(--muted);line-height:1.4}.record-candidate.strong span{color:var(--green)}.record-candidate.probable span{color:#806a2f}.record-candidate.excluded span{color:var(--rust)}
.record-household>strong{font-size:.79rem}.record-household-list{display:grid;gap:.25rem;margin-top:.45rem}.record-household-list article{display:flex;justify-content:space-between;gap:.7rem;padding:.42rem .5rem;border-radius:9px;background:rgba(245,243,237,.72)}.record-household-list span{font-size:.75rem;font-weight:700}.record-household-list small{font-size:.65rem;color:var(--muted);text-align:right}
.record-next-step.compact{margin:.75rem 0;padding:.7rem .78rem}.record-next-step.compact p{margin:.25rem 0 0}
.record-decision-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.record-decision-actions button{border:1px solid rgba(61,55,45,.18);border-radius:10px;background:#fff;padding:.58rem .72rem;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.record-decision-actions .button.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.record-decision-actions button[data-exclude-record-match]{color:var(--rust)}.record-decision-actions button[data-follow-record-next]{color:var(--green)}
.record-decision-note{display:block;margin-top:.55rem;color:var(--muted);font-size:.66rem;line-height:1.45}
@media(max-width:650px){.record-candidate>div,.record-household-list article{align-items:flex-start;flex-direction:column}.record-household-list small{text-align:left}.record-decision-actions{display:grid;grid-template-columns:1fr}.record-decision-actions button{width:100%}}


/* v1.12 Scout — ranked research frontier */
.scout-panel{margin-top:1rem;padding:1rem 1.05rem 1.1rem;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(246,241,230,.78));border:1px solid var(--line)}
.scout-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.scout-panel-head h2{margin:.08rem 0 .35rem;font-size:clamp(1.25rem,2vw,1.65rem)}.scout-panel-head p{max-width:72ch;margin:.2rem 0;color:var(--muted);line-height:1.48}
.scout-summary{min-width:105px;border:1px solid rgba(75,94,70,.25);background:#eef2e8;border-radius:14px;padding:.65rem .75rem;display:grid;justify-items:end}.scout-summary strong{font:700 1.7rem Georgia,serif;line-height:1}.scout-summary span{font:700 .62rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}.scout-summary small{font-size:.65rem;color:var(--muted);margin-top:.15rem}
.scout-filters{display:flex;gap:.4rem;flex-wrap:wrap;margin:.85rem 0}.scout-filter{border:1px solid rgba(117,91,53,.25);background:#fffaf1;border-radius:999px;padding:.45rem .7rem;font:700 .68rem Arial,sans-serif;cursor:pointer;color:var(--ink)}.scout-filter.is-active{background:#445f49;color:#fff;border-color:#445f49}
.scout-leads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.scout-lead{border:1px solid rgba(117,91,53,.22);background:#fffaf1;border-radius:14px;padding:.8rem;display:flex;flex-direction:column;min-width:0;box-shadow:0 6px 16px rgba(63,49,32,.035)}.scout-lead.scout-evidence{border-top:4px solid #6c7e64}.scout-lead.scout-context{border-top:4px solid #98734f}.scout-lead.scout-research{border-top:4px solid #6c7483}.scout-lead.scout-family{border-top:4px solid #8d6f78}
.scout-lead-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:start}.scout-icon{width:30px;height:30px;border-radius:50%;background:#ece6d8;display:grid;place-items:center;font-weight:800}.scout-type{font:700 .58rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.scout-lead h3{font-size:.94rem;line-height:1.2;margin:.15rem 0 0}.scout-score{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6ebdf;border:1px solid rgba(68,95,73,.25);font:700 .75rem Arial,sans-serif}.scout-person{font-size:.67rem;margin:.55rem 0 0;color:var(--muted)}.scout-why{font-size:.74rem;line-height:1.43;margin:.45rem 0;color:#524b42}.scout-metrics{display:grid;gap:.18rem;margin:.1rem 0 .45rem}.scout-metrics span{font-size:.62rem;color:var(--muted)}.scout-stop{font-size:.66rem;line-height:1.4;padding-top:.45rem;border-top:1px dashed rgba(117,91,53,.22);margin:auto 0 .55rem}.scout-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.scout-action{padding:.46rem .6rem!important;font-size:.68rem!important}.scout-source-link{font-size:.66rem;color:var(--ink);text-decoration:underline;text-underline-offset:2px}
@media(max-width:1050px){.scout-leads{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.scout-panel-head{grid-template-columns:1fr}.scout-summary{justify-items:start;width:max-content}.scout-leads{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:.15rem}.scout-leads::-webkit-scrollbar{display:none}.scout-lead{min-width:min(82vw,330px);scroll-snap-align:start}.scout-filters{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.scout-filter{white-space:nowrap}}


/* Scout chase hotfix — broad priority bands + visible research execution */
.scout-stars{min-width:68px;display:inline-flex;justify-content:flex-end;align-items:center;white-space:nowrap;color:#50664d;font:700 .78rem/1 Arial,sans-serif;letter-spacing:.03em;padding:.35rem .1rem}.scout-stars.stars-3{color:#7a6a48}.scout-stars.stars-1{color:#827b70}
.scout-search-message{width:min(760px,94%);max-width:760px!important;padding:0!important;background:transparent!important}
.scout-run-card{border:1px solid rgba(68,95,73,.22);background:#f3f1e9;border-radius:16px;padding:1rem 1.05rem;overflow:hidden}
.scout-run-head{display:flex;gap:.75rem;align-items:flex-start}.scout-run-head>div{display:grid;gap:.13rem;min-width:0}.scout-run-head .kicker{margin:0;font-size:.58rem}.scout-run-head strong{font-size:.92rem;line-height:1.3}.scout-run-head small{font-size:.69rem;color:var(--muted)}
.scout-spinner,.scout-mini-spinner{display:inline-block;border-radius:50%;border:2px solid rgba(68,95,73,.18);border-top-color:#4b694e;animation:scout-spin .8s linear infinite;flex:0 0 auto}.scout-spinner{width:24px;height:24px;margin-top:.08rem}.scout-mini-spinner{width:12px;height:12px;border-width:1.5px}
.scout-run-finish{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e2eadf;color:#38513c;font-weight:800;flex:0 0 auto}
.scout-run-steps{list-style:none;margin:.85rem 0 .25rem;padding:0;display:grid;gap:.36rem}.scout-run-step{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.42rem;align-items:start;padding:.36rem .45rem;border-radius:8px;color:#756e64}.scout-run-step.is-active{background:#e9ede4;color:#314435}.scout-run-step.is-done{color:#455744}.scout-run-step.is-blocked{background:#f0ebe1;color:#745f43}.scout-step-mark{width:18px;height:18px;display:grid;place-items:center;font-weight:800}.scout-run-step strong{display:block;font-size:.72rem}.scout-run-step small{display:block;font-size:.64rem;color:inherit;opacity:.82;margin-top:.05rem}
.scout-run-findings{border-top:1px solid rgba(117,91,53,.18);margin-top:.75rem;padding-top:.7rem;display:grid;gap:.4rem}.scout-run-findings>strong{font-size:.72rem}.scout-run-findings article{display:grid;gap:.06rem;padding:.4rem .5rem;background:#fffaf1;border:1px solid rgba(117,91,53,.16);border-radius:8px}.scout-run-findings article span{font:700 .52rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.scout-run-findings article b{font-size:.7rem}.scout-run-findings article small{font-size:.62rem;color:var(--muted);line-height:1.35}.scout-run-note{font-size:.68rem;line-height:1.4;color:#5c554c;margin:.7rem 0 0;padding-top:.6rem;border-top:1px dashed rgba(117,91,53,.2)}
@keyframes scout-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.scout-spinner,.scout-mini-spinner{animation:none;border-top-color:#4b694e;box-shadow:inset 0 0 0 2px rgba(68,95,73,.05)}}
@media(max-width:680px){.scout-stars{min-width:62px;font-size:.72rem}.scout-run-card{padding:.85rem}.scout-search-message{width:100%}}
.scout-run-finish.is-warning{background:#efe7d7;color:#735a34}

/* v1.12 hotfix — resilient UI error boundaries */
.view-error-banner{margin:.75rem 1rem;padding:.75rem .85rem;border:1px solid rgba(143,68,50,.3);border-radius:12px;background:#faede9;display:flex;align-items:center;justify-content:space-between;gap:.8rem;color:var(--ink)}
.view-error-banner>div{display:grid;gap:.15rem}.view-error-banner strong{font-size:.8rem}.view-error-banner span{font-size:.7rem;line-height:1.4;color:var(--muted)}.view-error-banner button{flex:0 0 auto;border:1px solid rgba(143,68,50,.28);border-radius:999px;background:#fff;padding:.42rem .62rem;font:700 .66rem var(--sans);cursor:pointer;color:var(--rust)}
.component-error{padding:.8rem .85rem;border:1px dashed rgba(143,68,50,.34);border-radius:12px;background:rgba(250,237,233,.72);display:grid;gap:.2rem}.component-error strong{font-size:.78rem;color:var(--rust)}.component-error span{font-size:.69rem;line-height:1.42;color:var(--muted)}
@media(max-width:680px){.view-error-banner{align-items:flex-start;flex-direction:column}.view-error-banner button{align-self:flex-start}}

/* Scout chase synthesis: keep the live path visible while running, then collapse it behind a concise audit trail. */
.scout-run-progress{margin:.72rem 0 .1rem;border-top:1px solid rgba(117,91,53,.16);padding-top:.55rem}
.scout-run-progress>summary,.scout-more-findings>summary{cursor:pointer;list-style:none;font:700 .64rem Arial,sans-serif;color:#526150;display:flex;align-items:center;gap:.35rem}
.scout-run-progress>summary::-webkit-details-marker,.scout-more-findings>summary::-webkit-details-marker{display:none}
.scout-run-progress>summary::before,.scout-more-findings>summary::before{content:'›';display:inline-block;font-size:.9rem;line-height:1;transform:rotate(0deg);transition:transform .14s ease}
.scout-run-progress[open]>summary::before,.scout-more-findings[open]>summary::before{transform:rotate(90deg)}
.scout-run-progress .scout-run-steps{margin:.55rem 0 .1rem}
.scout-run-outcome{display:grid;gap:.16rem;margin:.72rem 0 0;padding:.65rem .72rem;border-radius:10px;border:1px solid rgba(68,95,73,.18);background:#edf1e9}
.scout-run-outcome>span{font:800 .52rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:#536754}
.scout-run-outcome>strong{font-size:.78rem;line-height:1.3;color:#283b2d}
.scout-run-outcome>p{margin:.05rem 0 0;font-size:.66rem;line-height:1.4;color:#56605a}
.scout-run-outcome.is-open,.scout-run-outcome.is-checked{background:#f3efe6;border-color:rgba(117,91,53,.18)}
.scout-run-outcome.is-open>span,.scout-run-outcome.is-checked>span{color:#77603e}
.scout-more-findings{margin-top:.15rem;border-top:1px dashed rgba(117,91,53,.18);padding-top:.4rem;display:grid;gap:.4rem}
.scout-more-findings>summary{margin-bottom:.15rem;color:#665d51}
.scout-run-note strong{color:#405243}

/* Scout runs are a separate research surface, not part of the family chat transcript. */
.scout-run-host{margin:.75rem 0 .9rem;min-width:0}
.scout-run-host[hidden]{display:none}
.scout-run-host .scout-run-card{background:#f4f3eb;border-color:rgba(68,95,73,.28);box-shadow:0 8px 20px rgba(63,49,32,.045)}
.scout-run-host .scout-run-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start}
.scout-dismiss-run{padding:.42rem .62rem!important;font-size:.66rem!important;white-space:nowrap}
@media(max-width:680px){.scout-run-host{margin:.65rem 0 .8rem}.scout-run-host .scout-run-head{grid-template-columns:auto minmax(0,1fr)}.scout-dismiss-run{grid-column:2;margin-top:.25rem;justify-self:start}}


/* Scout UI regression fix — consistent icons, plainer copy, visible search action */
.scout-icon{font-weight:400;color:#405447}
.scout-icon svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.scout-hint{font-size:.66rem;line-height:1.4;margin:.15rem 0 .5rem;color:var(--muted)}
.scout-hint strong{color:#4f4a43}
.scout-action.is-searching,.scout-action[aria-busy="true"]{cursor:wait;opacity:.78;position:relative;padding-left:1.7rem!important}
.scout-action.is-searching::before,.scout-action[aria-busy="true"]::before{content:'';position:absolute;left:.55rem;top:50%;width:.7rem;height:.7rem;margin-top:-.43rem;border:1.5px solid rgba(68,95,73,.25);border-top-color:#405f46;border-radius:50%;animation:scout-spin .8s linear infinite}
.scout-run-host{scroll-margin-top:92px}
.scout-run-host:not([hidden]){animation:scout-run-reveal .18s ease-out}
@keyframes scout-run-reveal{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.scout-run-host:not([hidden]){animation:none}}


/* Scout result visibility hotfix: keep the active search in the same grid as its lead. */
.scout-leads>.scout-run-host{grid-column:1/-1;width:100%;min-width:0;margin:.15rem 0 .25rem;order:-1}
.scout-leads>.scout-run-host[hidden]{display:none}
@media(max-width:680px){
  .scout-leads>.scout-run-host{flex:0 0 100%;min-width:100%;width:100%;scroll-snap-align:start}
}

/* Scout two-stage search: make the hand-off to outside records obvious. */
.scout-run-next{margin-top:14px;padding:13px 14px;border-top:1px solid var(--line,#ddd2bf);background:rgba(255,255,255,.38);border-radius:12px}.scout-run-next p{margin:0 0 9px;font-size:.92rem}.scout-run-next .button{margin:0}

/* Scout: read an outside record without leaving the app */
.scout-finding-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:.35rem}
.scout-finding-actions .button{padding:.38rem .55rem!important;font-size:.62rem!important}
.scout-finding-actions a,.scout-page-actions a{font-size:.64rem;color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.scout-page-read{margin-top:.8rem;padding:.8rem;border:1px solid rgba(68,95,73,.24);border-radius:12px;background:#fffaf1;display:grid;gap:.62rem}
.scout-page-read.is-running{background:#f0f2ea}
.scout-page-read.is-blocked{border-color:rgba(117,91,53,.22);background:#f5efe4}
.scout-page-read-head{display:flex;gap:.6rem;align-items:flex-start}.scout-page-read-head>div{display:grid;gap:.08rem}.scout-page-read-head .kicker{margin:0;font-size:.55rem}.scout-page-read-head strong{font-size:.78rem}.scout-page-read-head small{font-size:.63rem;color:var(--muted)}
.scout-page-verdict{padding:.65rem .7rem;border-radius:9px;background:#f3efe6;border:1px solid rgba(117,91,53,.16)}.scout-page-verdict.is-worth-saving,.scout-page-verdict.is-settled{background:#edf1e9;border-color:rgba(68,95,73,.18)}.scout-page-verdict strong{font-size:.74rem}.scout-page-verdict p{margin:.15rem 0 0;font-size:.65rem;line-height:1.42;color:#565f58}
.scout-page-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.scout-page-facts>div{padding:.45rem .5rem;border:1px solid rgba(117,91,53,.14);border-radius:8px;background:#fff}.scout-page-facts span{display:block;font:700 .52rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.scout-page-facts strong{display:block;margin-top:.08rem;font-size:.68rem;line-height:1.35}
.scout-page-reasons{display:grid;gap:.2rem}.scout-page-reasons p{margin:0;font-size:.65rem;line-height:1.4;color:#5b554d}.scout-page-reasons p::before{content:'• ';color:#60735f}
.scout-page-excerpt{border-top:1px dashed rgba(117,91,53,.18);padding-top:.45rem}.scout-page-excerpt summary{cursor:pointer;font:700 .64rem Arial,sans-serif;color:#526150}.scout-page-excerpt p{font-size:.64rem;line-height:1.48;color:#5b554d;white-space:pre-wrap}
.scout-page-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding-top:.15rem}.scout-page-actions .button{font-size:.66rem!important;padding:.48rem .62rem!important}
@media(max-width:680px){.scout-page-facts{grid-template-columns:1fr}}

/* Scout result judgement: search results may be noisy; reasoning stays explicit. */
.scout-finding-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.scout-finding-meta>span{min-width:0}
.scout-match-label{font:700 .54rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.045em;padding:.18rem .34rem;border-radius:999px;white-space:nowrap;background:#f2eee5;color:#625b50;border:1px solid rgba(117,91,53,.18)}
.scout-match-good .scout-match-label{background:#e8f0e7;color:#365c43;border-color:rgba(54,92,67,.22)}
.scout-match-possible .scout-match-label{background:#f5f0df;color:#725e2e;border-color:rgba(114,94,46,.2)}
.scout-match-poor .scout-match-label{background:#f2efeb;color:#746d65;border-color:rgba(116,109,101,.18)}
.scout-match-reason{margin:.12rem 0 .14rem;font-size:.65rem;line-height:1.4;color:#3f4c43}
.scout-match-poor .scout-match-reason{color:#6c665f}
.scout-poor-findings{margin-top:.35rem}
.scout-poor-findings>summary{color:#6c665f}


/* v1.12 working branches + dated timeline media */
.working-tree-key{display:flex;align-items:center;gap:.55rem;margin:.15rem 1rem .9rem;padding:.55rem .75rem;border:1px dashed rgba(126,97,53,.32);border-radius:12px;background:rgba(255,250,238,.72);font-size:.72rem;color:var(--muted)}
.working-tree-mark{width:22px;height:10px;border-top:2px dashed #9a742e;flex:0 0 auto}
.ancestor-card.working-branch-card{border-style:dashed!important;border-color:rgba(147,105,42,.62)!important;background:linear-gradient(180deg,#fffaf0,#f7efdf)!important}
.ancestor-card.working-branch-card.is-strong{border-style:solid!important;box-shadow:inset 0 0 0 1px rgba(92,115,80,.34)}
.ancestor-card.working-branch-card.is-disputed{border-color:rgba(143,68,50,.62)!important;background:#fbefeb!important}
.working-branch-status{display:inline-flex;align-self:flex-start;margin-bottom:.3rem;padding:.18rem .42rem;border-radius:999px;background:#f3e5c6;color:#745218;font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.working-branch-card.is-strong .working-branch-status{background:#e3ecde;color:#3e5d39}
.working-branch-card.is-disputed .working-branch-status{background:#f1d8d1;color:#814335}
.timeline-family-photos{padding:1rem 1.05rem;border:1px solid rgba(117,91,53,.18);border-radius:16px;background:#fffaf0;overflow:hidden}
.timeline-family-photos-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:.65rem}
.timeline-family-photos-head strong{font-family:var(--serif);font-size:1rem}.timeline-family-photos-head small{color:var(--muted);font-size:.7rem}
.timeline-family-photo-strip{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.2rem}
.timeline-family-photo{position:relative;flex:0 0 clamp(145px,18vw,220px);height:150px;padding:0;border:1px solid rgba(104,82,49,.2);border-radius:14px;overflow:hidden;background:#e9e0d2;cursor:pointer;text-align:left}
.timeline-family-photo img{width:100%;height:100%;object-fit:cover;display:block}
.timeline-family-photo>span{position:absolute;left:0;right:0;bottom:0;padding:.55rem .6rem;background:linear-gradient(transparent,rgba(24,20,16,.82));color:#fff;display:grid;gap:.08rem}
.timeline-family-photo>span strong{font-size:.74rem}.timeline-family-photo>span small{font-size:.62rem;color:rgba(255,255,255,.86)}
.timeline-control.has-family-background::after{content:'Family photograph';position:absolute;right:.65rem;top:.6rem;z-index:3;padding:.2rem .45rem;border-radius:999px;background:rgba(28,24,19,.72);color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:720px){.working-tree-key{margin-inline:.2rem}.timeline-family-photos-head{display:block}.timeline-family-photos-head small{display:block;margin-top:.15rem}.timeline-family-photo{flex-basis:70vw}}

/* v1.12 working people summary + timeline film strip */
.working-people-summary{display:grid;grid-template-columns:minmax(220px,.5fr) minmax(0,1.5fr);gap:.8rem;align-items:center;margin:0 1rem 1rem;padding:.75rem .85rem;border:1px solid rgba(126,97,53,.24);border-radius:14px;background:rgba(255,250,238,.86)}
.working-people-summary>div:first-child{display:grid;gap:.18rem}.working-people-title{font-family:var(--serif);font-weight:800;font-size:.92rem}.working-people-summary small{font-size:.66rem;line-height:1.45;color:var(--muted)}
.working-people-list{display:flex;gap:.55rem;overflow-x:auto;padding:.05rem 0 .15rem}.working-person-card{flex:0 0 220px;min-width:195px;border:1px dashed rgba(147,105,42,.55);border-radius:11px;background:#fffaf0;overflow:hidden}.working-person-card:hover{border-style:solid}.working-person-main{display:grid;gap:.18rem;width:100%;text-align:left;border:0;background:transparent;padding:.58rem .65rem .5rem;cursor:pointer}.working-person-main strong{font-size:.74rem;line-height:1.25}.working-person-facts{font-size:.62rem;line-height:1.4;color:var(--ink);text-transform:none;letter-spacing:0}.working-person-status{font-size:.53rem;color:#745218;text-transform:uppercase;letter-spacing:.035em;margin-top:.08rem}.working-person-scout{display:block;width:100%;border:0;border-top:1px solid rgba(147,105,42,.2);background:rgba(255,255,255,.45);padding:.42rem .65rem;text-align:left;font:inherit;font-size:.59rem;font-weight:700;color:#5f4315;cursor:pointer}.working-person-scout:hover{background:#fff}.scout-lead[data-working-tree],.scout-working-tree{box-shadow:inset 3px 0 0 rgba(147,105,42,.75)}
.timeline-filmstrip{position:absolute;inset:0;z-index:0;display:flex;overflow:hidden;background:#d7cebf}.timeline-film-frame{position:relative;flex:1 1 0;min-width:0;margin:0;border-right:3px solid rgba(246,239,224,.9);overflow:hidden;background:#d9d0c2}.timeline-film-frame:last-child{border-right:0}.timeline-film-photo{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.timeline-film-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) contrast(.94);transform:scale(1.02);transition:filter .18s ease,transform .18s ease}.timeline-film-frame::after{content:'';position:absolute;inset:0;background:rgba(248,242,231,.22);pointer-events:none}.timeline-film-frame:hover .timeline-film-photo img,.timeline-film-frame:focus-within .timeline-film-photo img{filter:saturate(.98) contrast(1);transform:scale(1.04)}.timeline-film-frame.is-nearest::after{background:rgba(248,242,231,.03);box-shadow:inset 0 0 0 2px rgba(255,255,255,.82)}.timeline-film-date{position:absolute;left:.35rem;right:.35rem;bottom:.3rem;z-index:3;display:grid;gap:.04rem;justify-items:start;padding:.22rem .34rem;border:0;border-radius:6px;background:rgba(24,20,16,.72);color:#fff;text-align:left;cursor:pointer}.timeline-film-date strong{font-size:.58rem;line-height:1.05}.timeline-film-date small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.46rem;opacity:.86}.timeline-film-frame.is-nearest .timeline-film-date{background:rgba(20,46,39,.88)}.timeline-control.has-filmstrip::after{content:'Family photographs';}.timeline-control.has-filmstrip label,.timeline-control.has-filmstrip input,.timeline-control.has-filmstrip .decade-labels{z-index:5;position:relative}@media(max-width:760px){.timeline-filmstrip{overflow-x:auto}.timeline-film-frame{flex:0 0 42vw;min-width:120px}.timeline-film-date small{display:none}}
@media(max-width:760px){.working-people-summary{grid-template-columns:1fr;margin-inline:.2rem}.timeline-film-frame:nth-child(n+6){display:none}}

/* Direct / extended family tree mode */
.family-mode-toolbar{align-items:center;gap:.7rem;margin-bottom:1rem;padding:.55rem .7rem;border:1px solid rgba(126,97,53,.18);border-radius:14px;background:rgba(255,250,238,.72)}
.tree-toolbar-label{font-family:var(--sans);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.family-mode-switch{display:flex;gap:.3rem;padding:.18rem;border-radius:999px;background:rgba(215,204,182,.42)}
.family-mode-switch .chip{margin:0;border-color:transparent;background:transparent;min-width:8.8rem}
.family-mode-switch .chip.active{background:var(--navy);color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.14)}
.tree-toolbar-help{font-size:.76rem;color:var(--muted);line-height:1.35}
.family-mode-note{display:flex;align-items:baseline;gap:.55rem;margin:0 1rem .65rem;padding:.55rem .7rem;border-radius:10px;background:rgba(232,238,225,.66);font-size:.76rem}
.family-mode-note strong{font-family:var(--serif);font-size:.86rem;color:var(--ink)}
.family-mode-note span{color:var(--muted)}
@media(max-width:760px){.family-mode-toolbar{align-items:stretch}.family-mode-switch{width:100%}.family-mode-switch .chip{flex:1;min-width:0}.tree-toolbar-help{width:100%}.family-mode-note{align-items:flex-start;flex-direction:column;gap:.12rem;margin-inline:.2rem}}

/* Scout visual search */
.scout-visual-next{border-top:1px dashed rgba(117,91,53,.22);padding-top:.8rem;margin-top:.8rem}
.scout-visual-guide{grid-column:1/-1;display:flex;flex-direction:column;gap:.2rem;padding:.7rem .8rem;border:1px dashed rgba(117,91,53,.28);border-radius:10px;background:rgba(255,250,240,.72)}
.scout-visual-guide strong{font-size:.8rem}.scout-visual-guide span{font-size:.7rem;line-height:1.4;color:var(--muted)}
.scout-visual-verdict{display:flex;align-items:center}.scout-visual-verdict strong{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .38rem;border-radius:999px;background:rgba(20,57,75,.08)}
.scout-visual-card.is-evidence .scout-visual-verdict strong{background:rgba(76,111,67,.14)}
.scout-visual-card.is-context .scout-visual-verdict strong{background:rgba(117,91,53,.12)}
.scout-visual-reason{font-size:.7rem!important;color:var(--ink)!important;-webkit-line-clamp:unset!important}
@media(max-width:620px){.scout-visual-guide{padding:.65rem}.context-scout-actions .button{flex:1 1 auto}}

.scout-relationship-decision{margin:.8rem 0 0;padding:.85rem;border:1px solid rgba(126,97,53,.28);border-radius:14px;background:#fffaf0;display:grid;gap:.48rem}.scout-relationship-decision h4{margin:0;font-family:var(--serif);font-size:1rem}.scout-relationship-decision p{margin:0;line-height:1.5}.scout-decision-people{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.55rem .65rem;border-radius:10px;background:rgba(255,255,255,.72);font-size:.72rem}.scout-decision-people span{color:var(--muted);font-size:.62rem}.scout-relationship-actions{display:flex;gap:.5rem;flex-wrap:wrap}.scout-relationship-actions .button{font-size:.66rem!important;padding:.5rem .68rem!important}.scout-relationship-decision>small{font-size:.61rem;color:var(--muted);line-height:1.45}.scout-relationship-decision.is-confirmed{border-color:rgba(56,112,70,.35);background:rgba(239,249,241,.9)}.scout-relationship-decision.is-rejected{border-color:rgba(143,75,61,.28);background:rgba(252,242,239,.92)}.scout-relationship-decision.is-confirmed>span,.scout-relationship-decision.is-rejected>span{text-transform:uppercase;letter-spacing:.045em;font-size:.55rem;font-weight:800}.scout-relationship-decision.is-saving{opacity:.72}

/* v1.12 photo graph reuse: one tagged/detailed photograph can appear wherever its links belong */
.person-linked-photos{margin-top:1rem}
.person-photo-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.65rem}
.person-photo-gallery-head .kicker{margin-bottom:.1rem}.person-photo-gallery-head h3{margin:0}.person-photo-gallery-head>small{opacity:.68;white-space:nowrap}
.person-photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.65rem}
.person-linked-photo{appearance:none;border:1px solid rgba(51,42,32,.16);background:#f8f2e8;padding:.28rem;text-align:left;border-radius:12px;overflow:hidden;cursor:pointer}
.person-linked-photo img{display:block;width:100%;height:112px;object-fit:cover;border-radius:8px}
.person-linked-photo span{display:block;padding:.42rem .35rem .25rem}.person-linked-photo strong,.person-linked-photo small{display:block}.person-linked-photo small{margin-top:.15rem;opacity:.7}
.story-family-photo{padding:0;overflow:hidden;min-height:230px}.story-family-photo-button{appearance:none;border:0;background:none;padding:0;width:100%;height:100%;position:relative;display:block;cursor:pointer;text-align:left}
.story-family-photo-button img{width:100%;height:100%;min-height:230px;object-fit:cover;display:block}.story-family-photo-meta{position:absolute;left:.7rem;right:.7rem;bottom:.65rem;background:rgba(247,241,230,.9);backdrop-filter:blur(3px);padding:.45rem .55rem;border-radius:8px}.story-family-photo-meta strong,.story-family-photo-meta small{display:block}.story-family-photo-meta small{margin-top:.1rem;opacity:.72}
@media(max-width:720px){.person-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.person-linked-photo img{height:104px}}

/* Family activity / What's new */
.family-activity-panel{margin:0 0 1rem;padding:1.15rem 1.25rem;border-width:2px;box-shadow:0 8px 22px rgba(57,48,37,.08)}
.family-activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.family-activity-head h2{margin:.12rem 0 .25rem;font-size:clamp(1.45rem,2.5vw,2rem)}
.family-activity-head p:last-child{margin:.2rem 0 0;color:var(--muted)}
.family-activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem}
.family-activity-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,250,240,.72)}
.family-activity-item.is-new{border-left:4px solid var(--green);background:#fffdf6}
.activity-item-copy{display:grid;gap:.18rem;min-width:0}
.activity-item-copy strong{font-size:.92rem;line-height:1.3}
.activity-item-copy small{color:var(--muted);line-height:1.3}
.activity-kind{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green);font-weight:700}
.family-activity-item .text-button{flex:0 0 auto;white-space:nowrap;font-size:.75rem}
.family-activity-actions{margin-top:.75rem;display:flex;justify-content:flex-end}
.nav-activity-badge{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;margin-left:.25rem;padding:0 .3rem;border-radius:999px;background:var(--green);color:#fff;font-size:.66rem;font-weight:800;line-height:1}
.nav-activity-badge[hidden]{display:none!important}
@media(max-width:760px){.family-activity-head{flex-direction:column}.family-activity-list{grid-template-columns:1fr}.family-activity-item{align-items:center}.family-activity-panel{padding:1rem}.family-activity-item .text-button{white-space:normal;text-align:right}}


/* Places and living history */
.place-section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.65rem}.place-section-head .kicker{margin:0 0 .08rem}.place-section-head h3{margin:0}.place-section-head>small{color:var(--muted);white-space:nowrap}.place-photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.place-photo-card{position:relative;appearance:none;border:1px solid rgba(51,42,32,.16);border-radius:12px;overflow:hidden;padding:0;background:#eee5d7;min-height:120px;cursor:pointer;text-align:left}.place-photo-card img{width:100%;height:135px;display:block;object-fit:cover}.place-photo-card span{position:absolute;left:.4rem;right:.4rem;bottom:.4rem;padding:.36rem .42rem;border-radius:8px;background:rgba(31,27,23,.76);color:#fff;backdrop-filter:blur(2px)}.place-photo-card strong,.place-photo-card small{display:block}.place-photo-card strong{font-size:.68rem}.place-photo-card small{font-size:.58rem;opacity:.86;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-history-list{display:grid;gap:.5rem}.place-history-list article{display:grid;grid-template-columns:64px 1fr;gap:.7rem;padding:.62rem .7rem;border-left:2px solid rgba(74,101,68,.35);background:rgba(255,250,240,.58);border-radius:0 10px 10px 0}.place-history-list time{font-family:var(--serif);font-weight:800;color:var(--green)}.place-history-list article>div{display:grid;gap:.12rem}.place-history-list p{margin:.15rem 0 0;color:var(--muted);font-size:.75rem}.place-history-list .text-button{justify-self:start}.place-story-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.place-story-links button{appearance:none;border:1px solid var(--line);border-radius:10px;background:#fffaf0;padding:.65rem .7rem;text-align:left;cursor:pointer}.place-story-links strong,.place-story-links small{display:block}.place-story-links small{margin-top:.14rem;color:var(--muted)}.place-summary-section{background:rgba(244,237,222,.45);border-radius:12px;padding:.75rem .85rem}@media(max-width:760px){.place-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.place-photo-card img{height:112px}.place-story-links{grid-template-columns:1fr}.place-history-list article{grid-template-columns:52px 1fr}.place-section-head{align-items:flex-start}}


/* Family groups: reveal breadth without turning the tree into a wall of cards. */
.family-group{margin:.55rem 0;border:1px solid rgba(117,91,53,.16);border-radius:14px;background:rgba(255,253,248,.72);overflow:hidden}
.family-group-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.72rem .85rem;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.family-group-toggle:hover,.family-group-toggle:focus-visible{background:rgba(246,238,222,.7);outline:none}
.family-group-toggle span{display:grid;gap:.12rem}.family-group-toggle strong{font-family:var(--serif);font-size:.92rem}.family-group-toggle small{color:var(--muted);font-size:.72rem}.family-group-toggle b{font-size:.72rem;color:var(--green);white-space:nowrap}
.family-group-people{display:flex;gap:.65rem;overflow-x:auto;padding:.2rem .8rem .85rem;scrollbar-width:thin}
.family-group-person{flex:0 0 auto;display:grid;gap:.3rem}.family-group-person .ancestor-card{min-width:170px;max-width:205px}.family-group-signal{max-width:205px;color:var(--muted);font-size:.67rem;line-height:1.35;padding-inline:.15rem}
.ancestor-family-groups{display:grid;gap:.45rem;margin-top:.3rem}
.person-family-group{margin-top:1rem}.person-sibling-strip{display:flex;gap:.6rem;overflow-x:auto;padding:.15rem 0 .35rem}.person-sibling-item{flex:0 0 min(220px,72vw)}.person-sibling-item button{width:100%;height:100%;display:grid;gap:.22rem;padding:.75rem .8rem;text-align:left;border:1px solid var(--line);border-radius:13px;background:#fffaf0;color:var(--ink);cursor:pointer}.person-sibling-item button:hover,.person-sibling-item button:focus-visible{border-color:var(--brass);outline:none}.person-sibling-item strong{font-family:var(--serif);font-size:.95rem}.person-sibling-item span,.person-sibling-item small{color:var(--muted);font-size:.72rem}.person-sibling-item b{margin-top:.15rem;font-size:.7rem;color:var(--green)}
/* Redundant explanation blocks are retired: the mode switch and the group controls now explain the view. */
.family-mode-note{display:none!important}.branch-section{display:none!important}
@media(max-width:760px){.family-group-toggle{align-items:flex-start}.family-group-people{padding-inline:.65rem}.family-group-person .ancestor-card{min-width:158px}.person-sibling-item{flex-basis:76vw}}


/* Unified family assistant */
.header-assistant{border:0;border-radius:999px;padding:.62rem .92rem;font:inherit;font-weight:700;cursor:pointer;background:var(--paper,#f4efe5);color:var(--ink,#172027);white-space:nowrap}
.header-assistant:hover,.header-assistant:focus-visible{transform:translateY(-1px)}
.home-assistant-result{margin-top:.85rem;padding:1rem 1.05rem;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(20,35,45,.12)}
.home-assistant-result[hidden]{display:none}
.assistant-shortcuts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}
.assistant-shortcuts .research-action{min-height:auto;padding:.5rem .72rem;background:transparent;border:1px solid rgba(20,35,45,.14)}
.assistant-dialog-shell{max-width:720px}
.assistant-dialog-intro{max-width:58ch}
.assistant-dialog-form{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end}
.assistant-dialog-form textarea{width:100%;min-height:88px;resize:vertical}
.assistant-dialog-shortcuts{padding-top:.2rem;border-top:1px solid rgba(20,35,45,.1)}
.assistant-known-first{padding:.78rem .9rem;border-left:3px solid currentColor;background:rgba(255,255,255,.45);border-radius:0 12px 12px 0}
.assistant-known-first .kicker{margin-bottom:.25rem}
@media (max-width:760px){.header-assistant{padding:.52rem .68rem;font-size:.88rem}.assistant-dialog-form{grid-template-columns:1fr}.assistant-dialog-form .button{justify-self:start}.assistant-shortcuts{gap:.35rem}.assistant-shortcuts .research-action{font-size:.88rem}}


/* Family stories and recollections */
.story-detail-meta{display:flex;flex-wrap:wrap;gap:.45rem .8rem;margin:.5rem 0 1.1rem;color:var(--muted,#665f55);font-size:.9rem}.story-connections{display:grid;gap:1rem}.story-link-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.story-link-group{padding:.9rem;border:1px solid rgba(71,58,42,.15);border-radius:14px;background:rgba(255,255,255,.55)}.story-link-group>strong{display:block;margin-bottom:.55rem}.story-link-group>div{display:flex;flex-wrap:wrap;gap:.45rem}.story-person-link,.story-place-link,.story-link-group span{border:0;border-radius:999px;padding:.42rem .65rem;background:rgba(91,77,57,.08);font:inherit;color:inherit}.story-person-link,.story-place-link{cursor:pointer}.story-linked-section,.story-recollections{padding-top:.3rem}.story-section-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.65rem}.story-section-head h3{margin:.1rem 0 .2rem}.story-section-head p{margin:.2rem 0;color:var(--muted,#665f55)}.story-photo-strip{display:flex;gap:.65rem;overflow-x:auto;padding:.1rem .05rem .35rem}.story-linked-photo{flex:0 0 132px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.story-linked-photo img{width:132px;height:96px;object-fit:cover;border-radius:10px;display:block}.story-linked-photo span{display:block;margin-top:.35rem;font-size:.82rem}.story-event-list{display:grid;gap:.55rem}.story-event-list article{display:grid;grid-template-columns:68px 1fr;gap:.7rem;padding:.65rem 0;border-top:1px solid rgba(71,58,42,.12)}.story-event-list time{font-weight:700}.story-event-list p{margin:.2rem 0 0}.recollection-list{display:grid;gap:.7rem}.recollection-card{padding:.9rem 1rem;border-left:3px solid rgba(91,77,57,.28);background:rgba(255,255,255,.5);border-radius:0 12px 12px 0}.recollection-card blockquote{margin:0;font-size:1rem;line-height:1.55}.recollection-card footer{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem;font-size:.82rem;color:var(--muted,#665f55)}.story-recollection-action{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding-top:.2rem}.story-recollection-action small{color:var(--muted,#665f55)}
@media(max-width:640px){.story-link-groups{grid-template-columns:1fr}.story-section-head{display:block}.story-event-list article{grid-template-columns:58px 1fr}.story-linked-photo{flex-basis:116px}.story-linked-photo img{width:116px;height:88px}}

/* Proactive Scout: graph-led branch discovery */
.scout-noticed-card{grid-column:span 2;display:flex;flex-direction:column;gap:.7rem}
.scout-noticed-list{display:grid;gap:.65rem}
.scout-noticed-lead{padding:.8rem 0;border-top:1px solid rgba(74,58,42,.16)}
.scout-noticed-lead:first-child{border-top:0;padding-top:.15rem}
.scout-noticed-lead>strong{display:block;font-family:var(--display,Georgia,serif);font-size:1.02rem;line-height:1.25}
.scout-noticed-lead p{margin:.3rem 0;color:var(--ink-soft,#5f554b);line-height:1.45}
.scout-noticed-lead small{display:block;color:var(--ink-soft,#5f554b);margin:.25rem 0 .45rem}
.scout-noticed-actions{display:flex;flex-wrap:wrap;gap:.35rem .8rem;align-items:center}
.scout-noticed-actions .text-button.quiet{font-size:.82rem;opacity:.72}
.scout-noticed-more{margin-top:auto;align-self:flex-start}
.scout-lead.scout-branch-discovery{border-left:3px solid rgba(87,102,78,.5)}
.scout-lead.scout-branch-discovery .scout-type::after{content:' · Graph lead';font-weight:500;opacity:.72}
@media(max-width:760px){.scout-noticed-card{grid-column:1/-1}.scout-noticed-actions{align-items:flex-start;flex-direction:column;gap:.2rem}.scout-noticed-actions .text-button{padding:.2rem 0}}

/* v1.12 Research Frontier — one ranked answer to "where do I start?" */
.research-frontier-panel{margin-top:1.25rem;overflow:hidden}
.research-frontier-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.2rem}
.research-frontier-heading h2{margin:.15rem 0 .35rem}
.research-frontier-heading p:last-child{max-width:62rem;margin-bottom:0}
.research-frontier-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.research-frontier-lead{position:relative;border:1px solid var(--line,#d8d0c3);border-radius:16px;padding:1rem 1.05rem;background:rgba(255,255,255,.55);min-width:0}
.research-frontier-lead.is-top{grid-column:1/-1;padding:1.15rem 1.25rem}
.research-frontier-rank{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
.research-frontier-rank span{font-size:.78rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.research-frontier-rank small{font-size:.83rem;letter-spacing:.08em;white-space:nowrap}
.research-frontier-lead h3{margin:.1rem 0 .25rem;font-size:1.08rem}
.research-frontier-lead.is-top h3{font-size:1.28rem}
.research-frontier-person{font-size:.83rem;font-weight:700;margin:.1rem 0 .45rem;opacity:.72}
.research-frontier-known,.research-frontier-settle{display:grid;grid-template-columns:8.6rem 1fr;gap:.65rem;margin:.55rem 0;font-size:.86rem}
.research-frontier-known strong,.research-frontier-settle strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}
.research-frontier-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}
.research-frontier-empty{grid-column:1/-1;padding:.5rem 0}
/* The old home question panel is intentionally retired: the Frontier now owns "what next?". */
@media(max-width:760px){.research-frontier-heading{display:block}.research-frontier-heading>.text-button{margin-top:.6rem}.research-frontier-list{grid-template-columns:1fr}.research-frontier-lead.is-top{grid-column:auto}.research-frontier-known,.research-frontier-settle{grid-template-columns:1fr;gap:.15rem}.research-frontier-actions .button{width:100%}}

/* Scout outcome learning: explanation only appears when prior outcomes materially affect rank. */
.research-frontier-learning{margin-top:.55rem;padding-top:.55rem;border-top:1px solid rgba(75,62,45,.16);font-size:.92em}

/* Research Frontier relevance is about the viewer, not the objective strength of the evidence. */
.research-frontier-relevance{display:flex;gap:.45rem;align-items:baseline;flex-wrap:wrap;margin:.25rem 0 .55rem;font-size:.9em}
.research-frontier-relevance strong{font-weight:700}
.research-frontier-relevance span{opacity:.78}

/* Join an existing family: first-run experience */
.welcome-shell{max-width:760px}
.welcome-step{display:grid;gap:1rem}
.welcome-search{display:grid;gap:.4rem}
.welcome-person-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;max-height:42vh;overflow:auto}
.welcome-person-choice,.welcome-help-card{border:1px solid rgba(75,62,45,.18);background:rgba(255,255,255,.58);border-radius:14px;padding:.85rem;text-align:left;display:grid;gap:.25rem}
.welcome-person-choice small,.welcome-help-card span,.welcome-frontier-card span{opacity:.76}
.welcome-known{display:grid;gap:.7rem}
.welcome-known-list{display:flex;flex-wrap:wrap;gap:.45rem}
.welcome-known-list span{padding:.42rem .62rem;border-radius:999px;background:rgba(75,62,45,.08);font-size:.9rem}
.welcome-help-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem}
.welcome-frontier{display:grid;gap:.6rem}
.welcome-frontier-head{margin-top:.35rem}
.welcome-frontier-card{display:grid;gap:.3rem;padding:.75rem 0;border-top:1px solid rgba(75,62,45,.14)}
.welcome-frontier-card small{font-weight:700}
.welcome-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:.35rem}
@media(max-width:620px){.welcome-person-list,.welcome-help-options{grid-template-columns:1fr}.welcome-shell{width:min(94vw,760px)}}

/* Branch collaboration */
.branch-collaboration{margin:1rem 0;padding:1rem;border:1px solid rgba(75,62,45,.14);border-radius:16px;background:rgba(255,255,255,.45)}
.branch-collaboration-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.branch-collaboration-head h3{margin:.1rem 0 .3rem}
.branch-collaboration-feed{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.55rem;margin-top:.85rem}
.branch-collaboration-item{display:grid;gap:.2rem;text-align:left;padding:.7rem;border:1px solid rgba(75,62,45,.12);border-radius:12px;background:rgba(255,255,255,.58)}
.branch-collaboration-item small,.branch-collaboration-item span,.branch-collaboration-scout span{opacity:.76}
.branch-collaboration-scout{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(75,62,45,.14)}
.branch-collaboration-scout>div{display:grid;gap:.2rem}

/* App-ready mobile action layer */
.mobile-action-bar{display:none}
@media(max-width:760px){
 body{padding-bottom:76px}
 .site-header{padding-left:.65rem;padding-right:.65rem}
 .main-nav{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
 .main-nav::-webkit-scrollbar{display:none}
 .header-assistant{display:none!important}
 .viewer-control span{display:none}
 .paper-panel,.detail-section,.branch-collaboration{border-radius:14px}
 .branch-collaboration-head,.branch-collaboration-scout{display:grid;grid-template-columns:1fr}
 .branch-collaboration-feed{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.2rem}
 .branch-collaboration-item{min-width:min(78vw,280px);scroll-snap-align:start}
 .person-detail-head,.family-focus-strip,.research-frontier-heading,.family-activity-head{align-items:flex-start}
 .person-detail-head,.family-focus-strip,.research-frontier-heading,.family-activity-head,.button-row{flex-wrap:wrap}
 .mobile-action-bar{position:fixed;z-index:80;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto auto;gap:.45rem;padding:.55rem max(.65rem,env(safe-area-inset-right)) calc(.55rem + env(safe-area-inset-bottom)) max(.65rem,env(safe-area-inset-left));background:rgba(249,246,239,.96);border-top:1px solid rgba(75,62,45,.18);backdrop-filter:blur(12px)}
 .mobile-action-bar button{min-height:46px;border-radius:12px;padding:.55rem .8rem}
 .mobile-action-primary{font-weight:700}
 dialog.dialog{max-width:none;width:100%;margin:auto 0 0;max-height:88dvh;border-radius:18px 18px 0 0}
 .dialog-shell{max-height:88dvh;overflow:auto;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}
}
@media(max-width:420px){
 .mobile-action-secondary{padding-inline:.6rem}
 .viewer-control{max-width:120px}
 .viewer-button{max-width:120px}
}

/* Living-family privacy */
.living-privacy-note{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem .75rem;align-items:center;margin:.8rem 0;padding:.75rem .85rem;border:1px solid rgba(75,62,45,.16);border-radius:14px;background:rgba(255,255,255,.52)}
.living-privacy-note span,.contribution-living-privacy span{opacity:.8}
.contribution-living-privacy{display:grid;gap:.25rem;padding:.7rem .8rem;border:1px solid rgba(75,62,45,.16);border-radius:12px;background:rgba(255,255,255,.52)}
@media(max-width:760px){.living-privacy-note{grid-template-columns:1fr}.living-privacy-note button{justify-self:start}}

/* Bring your own tree / GEDCOM review */
.welcome-import-tree{display:grid;gap:.2rem;width:100%;text-align:left;padding:.85rem;border:1px dashed rgba(75,62,45,.24);border-radius:14px;background:rgba(255,255,255,.35)}
.welcome-import-tree span{opacity:.76}
.gedcom-shell{max-width:920px}
.gedcom-file-picker{display:grid;gap:.4rem;margin:.8rem 0}
.gedcom-status{min-height:1.6rem}
.gedcom-summary{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:.55rem;margin:.8rem 0}
.gedcom-summary div{display:grid;gap:.1rem;padding:.65rem;border-radius:12px;background:rgba(75,62,45,.07)}
.gedcom-summary strong{font-size:1.25rem}
.gedcom-summary span{font-size:.82rem;opacity:.72}
.gedcom-review-tools{display:flex;gap:.45rem;flex-wrap:wrap;margin:.55rem 0}
.gedcom-people{display:grid;gap:.45rem;max-height:50vh;overflow:auto;padding-right:.2rem}
.gedcom-person{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:.75rem;align-items:center;padding:.7rem;border:1px solid rgba(75,62,45,.13);border-radius:12px;background:rgba(255,255,255,.5)}
.gedcom-person>div{display:grid;gap:.12rem;min-width:0}
.gedcom-person small{font-weight:700}
.gedcom-person span{font-size:.88rem;opacity:.78}
.gedcom-person select{width:100%;min-height:44px}
.gedcom-match{margin-top:.2rem}
.gedcom-privacy{font-weight:600!important;opacity:.8}
.gedcom-decision{display:block;padding:.5rem .6rem;border-radius:10px;background:rgba(75,62,45,.07)}
.gedcom-import-actions{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(75,62,45,.14)}
@media(max-width:760px){
 .gedcom-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gedcom-person{grid-template-columns:1fr}
 .gedcom-people{max-height:48dvh}
 .gedcom-import-actions{display:grid;grid-template-columns:1fr}
 .gedcom-import-actions .button{width:100%;min-height:48px}
}

/* Post-import reconciliation */
.gedcom-reconciliation{margin-top:1rem;padding-top:1rem;border-top:2px solid rgba(75,62,45,.16)}
.gedcom-reconcile-head h3{margin:.1rem 0 .35rem}
.gedcom-reconcile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.9rem}
.gedcom-reconcile-grid>section{min-width:0}
.gedcom-reconcile-grid h4{margin:0 0 .5rem}
.gedcom-reconcile-item,.gedcom-reconcile-lead{display:grid;gap:.22rem;padding:.65rem 0;border-top:1px solid rgba(75,62,45,.12)}
.gedcom-reconcile-item span,.gedcom-reconcile-lead span{opacity:.78}
.gedcom-reconcile-lead small{font-weight:700}
.gedcom-reconcile-actions{display:flex;gap:.65rem;justify-content:flex-end;flex-wrap:wrap;margin-top:.9rem}
@media(max-width:760px){
 .gedcom-reconcile-grid{grid-template-columns:1fr}
 .gedcom-reconcile-actions{display:grid;grid-template-columns:1fr}
 .gedcom-reconcile-actions .button{width:100%;min-height:48px}
}

.live-family-status{position:fixed;z-index:95;right:1rem;bottom:1rem;max-width:min(420px,calc(100vw - 2rem));display:flex;gap:.7rem;align-items:center;padding:.75rem .85rem;border:1px solid rgba(75,62,45,.18);border-radius:14px;background:rgba(249,246,239,.97);box-shadow:0 8px 28px rgba(45,38,30,.16)}
.live-family-status[hidden]{display:none}
@media(max-width:760px){.live-family-status{left:.65rem;right:.65rem;bottom:calc(72px + env(safe-area-inset-bottom));max-width:none}}

/* Evidence strength on the visible family tree */
.family-evidence-key{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.7rem 0 .25rem;padding:.55rem .7rem;border:1px solid rgba(75,62,45,.13);border-radius:14px;background:rgba(255,255,255,.42);font-size:.72rem}
.family-evidence-key-title{font-weight:800;margin-right:.15rem}
.family-evidence-key-item{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .42rem;border-radius:999px;background:rgba(75,62,45,.06)}
.family-evidence-key-item b{font-size:.68rem;letter-spacing:.02em}
.family-evidence-key-item.is-confirmed b{opacity:.76}
.family-evidence-key-item.is-working{background:rgba(160,132,67,.10)}
.family-evidence-key-item.is-possible{background:rgba(160,132,67,.07)}
.family-evidence-key-item.is-disputed{background:rgba(143,68,50,.10)}
.tree-evidence-status{display:inline-flex;align-items:center;gap:.28rem;margin-bottom:.3rem;padding:.18rem .4rem;border-radius:999px;font-size:.58rem;font-weight:800;letter-spacing:.02em}
.tree-evidence-status b{font-size:.54rem;letter-spacing:-.02em}
.tree-evidence-status.is-confirmed{background:rgba(62,93,57,.08);color:#496345}
.tree-evidence-status.is-working{background:#e8e0c8;color:#6e561f}
.tree-evidence-status.is-possible{background:#f3e5c6;color:#745218}
.tree-evidence-status.is-disputed{background:#f1d8d1;color:#814335}
.ancestor-card.evidence-confirmed{border-style:solid!important}
.ancestor-card.evidence-working{border-style:solid!important;border-color:rgba(147,105,42,.52)!important}
.ancestor-card.evidence-possible{border-style:dashed!important;border-color:rgba(147,105,42,.62)!important}
.ancestor-card.evidence-disputed{border-style:dashed!important;border-color:rgba(143,68,50,.7)!important;background:#fbefeb!important}
.family-evidence-help-list{display:grid;gap:.7rem;margin:1rem 0}
.family-evidence-help-list p{display:grid;gap:.16rem;margin:0;padding:.65rem 0;border-top:1px solid rgba(75,62,45,.12)}
.family-evidence-help-list span{opacity:.8}
@media(max-width:760px){.family-evidence-key{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.family-evidence-key>*{flex:0 0 auto}.tree-evidence-status{max-width:100%}}

/* Person-level claims and evidence */
.person-evidence-panel{margin:1rem 0;padding:1rem;border:1px solid rgba(75,62,45,.15);border-radius:16px;background:rgba(255,252,246,.7)}
.person-evidence-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:1rem;align-items:start}
.person-evidence-head h3{margin:.1rem 0}.person-evidence-head>p{margin:.2rem 0;opacity:.78}
.person-evidence-claims{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.55rem;margin-top:.8rem}
.person-evidence-claim{display:flex;justify-content:space-between;gap:.7rem;align-items:flex-start;padding:.7rem;border:1px solid rgba(75,62,45,.12);border-radius:12px;background:rgba(255,255,255,.54)}
.person-evidence-claim>div{display:grid;gap:.2rem}.person-evidence-claim p{margin:0;font-size:.86rem;opacity:.78}
.person-evidence-state{display:flex;gap:.35rem;align-items:center;font-size:.68rem;font-weight:800}.person-evidence-state b{font-size:.62rem}
.person-evidence-claim.is-confirmed{border-left:4px solid rgba(62,93,57,.55)}
.person-evidence-claim.is-working{border-left:4px solid rgba(147,105,42,.62)}
.person-evidence-claim.is-possible{border-left:4px dashed rgba(147,105,42,.72)}
.person-evidence-claim.is-disputed{border-left:4px dashed rgba(143,68,50,.75)}
.person-evidence-sources{margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(75,62,45,.12)}
.person-evidence-sources h4{margin:0 0 .45rem}
.person-evidence-sources button{display:grid;width:100%;gap:.12rem;text-align:left;padding:.55rem 0;border:0;border-top:1px solid rgba(75,62,45,.09);background:transparent}
.person-evidence-sources span{font-size:.84rem;opacity:.76}
.person-evidence-blocker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .8rem;align-items:center;margin-top:.9rem;padding:.8rem;border-radius:12px;background:rgba(147,105,42,.09)}
.person-evidence-blocker .kicker{grid-column:1}.person-evidence-blocker strong{grid-column:1;font-size:.92rem}.person-evidence-blocker .button{grid-column:2;grid-row:1/3}
@media(max-width:760px){.person-evidence-head{grid-template-columns:1fr}.person-evidence-claims{grid-template-columns:1fr}.person-evidence-blocker{grid-template-columns:1fr}.person-evidence-blocker .kicker,.person-evidence-blocker strong,.person-evidence-blocker .button{grid-column:1;grid-row:auto}.person-evidence-blocker .button{width:100%;min-height:46px}}

.person-evidence-blocker-actions{grid-column:2;grid-row:1/3;display:grid;gap:.3rem;align-self:center}
.evidence-bridge-highlight{animation:evidenceBridgePulse 3.2s ease}
@keyframes evidenceBridgePulse{0%,100%{outline-color:transparent}18%,55%{outline:5px solid rgba(185,131,47,.42);outline-offset:5px}}
@media(max-width:760px){.person-evidence-blocker-actions{grid-column:1;grid-row:auto}.person-evidence-blocker-actions .button{width:100%;min-height:46px}}

/* Direct-line progress: frontier, not gamification */
.branch-progress{margin:.8rem 0 1rem;padding:.9rem 1rem;border:1px solid rgba(75,62,45,.14);border-radius:16px;background:rgba(255,252,246,.66)}
.branch-progress-copy h3{margin:.1rem 0 .25rem;font-size:1.05rem}.branch-progress-copy p{margin:.15rem 0;opacity:.82}
.branch-progress-track{display:flex;gap:.38rem;overflow-x:auto;margin-top:.7rem;padding-bottom:.15rem;scrollbar-width:none}
.branch-progress-step{flex:0 0 auto;display:grid;gap:.08rem;min-width:118px;padding:.5rem .58rem;text-align:left;border:1px solid rgba(75,62,45,.13);border-radius:10px;background:rgba(255,255,255,.5)}
.branch-progress-step span{font-size:.66rem}.branch-progress-step b{font-size:.72rem}
.branch-progress-step.is-confirmed{border-bottom:3px solid rgba(62,93,57,.5)}
.branch-progress-step.is-working{border-bottom:3px solid rgba(147,105,42,.65)}
.branch-progress-step.is-possible{border-bottom:3px dashed rgba(147,105,42,.72)}
.branch-progress-step.is-disputed{border-bottom:3px dashed rgba(143,68,50,.78)}
.branch-progress-frontier{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:.75rem;padding:.7rem .75rem;border-radius:12px;background:rgba(147,105,42,.08)}
.branch-progress-frontier>div:first-child{display:flex;gap:.65rem;align-items:flex-start}.branch-progress-frontier>div:first-child>span{font-size:.72rem;font-weight:800;white-space:nowrap}
.branch-progress-frontier small,.branch-progress-frontier strong,.branch-progress-frontier p{display:block}.branch-progress-frontier p{margin:.18rem 0 0;font-size:.84rem;opacity:.78}
.branch-progress-actions{display:grid;gap:.25rem;min-width:max-content}
@media(max-width:760px){.branch-progress-frontier{display:grid;grid-template-columns:1fr}.branch-progress-actions{min-width:0}.branch-progress-actions .button{width:100%;min-height:46px}}

/* Personalised return catch-up */
.since-you-were-here{margin:0 0 1rem;padding:1rem;border:1px solid rgba(75,62,45,.16);border-radius:18px;background:rgba(247,241,225,.78)}
.since-you-were-here[hidden]{display:none}.since-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.since-head h2{margin:.08rem 0 .2rem}.since-head p{margin:.1rem 0;opacity:.78}
.since-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem;margin-top:.8rem}
.since-group{display:grid;gap:.22rem;text-align:left;padding:.7rem;border:1px solid rgba(75,62,45,.12);border-radius:12px;background:rgba(255,255,255,.5)}
.since-group span{font-size:.82rem;opacity:.8}.since-group small{font-weight:700;margin-top:.2rem}
.since-consequence{display:grid;gap:.15rem;margin-top:.7rem;padding:.65rem .75rem;border-radius:12px;background:rgba(62,93,57,.08)}.since-consequence span{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:760px){.since-head{display:grid}.since-groups{grid-template-columns:1fr}.since-group{min-height:64px}}

/* Personal notification preferences */
.notification-settings-button{margin-left:.35rem;min-height:36px;padding:.35rem .65rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:transparent;color:inherit}
.notification-settings-shell{max-width:680px}
.notification-settings-intro{opacity:.8}
.notification-preference-list{display:grid;gap:.5rem;margin:1rem 0}
.notification-preference-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.75rem;border:1px solid rgba(75,62,45,.13);border-radius:12px;background:rgba(255,255,255,.48)}
.notification-preference-row span{display:grid;gap:.15rem}.notification-preference-row small{opacity:.75}
.notification-preference-row input{width:22px;height:22px}
.notification-delivery{display:grid;gap:.5rem;margin:1rem 0;padding:.8rem;border:1px solid rgba(75,62,45,.13);border-radius:12px}
.notification-delivery legend{font-weight:700;padding:0 .3rem}.notification-delivery label{display:flex;align-items:center;gap:.5rem}
.notification-settings-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.since-head-actions{display:flex;gap:.4rem;flex-wrap:wrap}
@media(max-width:760px){
 .notification-settings-button{display:none}
 .notification-preference-row{grid-template-columns:1fr auto}
 .notification-settings-actions{display:grid;grid-template-columns:1fr}
 .notification-settings-actions .button{width:100%;min-height:46px}
 .since-head-actions{display:flex;justify-content:flex-start}
}

/* Followed branches and relevance */
.follow-branch-button{min-height:36px;padding:.38rem .68rem;border:1px solid rgba(75,62,45,.24);border-radius:999px;background:rgba(255,255,255,.48)}
.follow-branch-button.is-followed{background:rgba(62,93,57,.1);border-color:rgba(62,93,57,.35)}
.followed-branches-summary{display:flex;gap:.4rem;align-items:center;overflow-x:auto;margin:.5rem 0 .8rem;padding:.45rem .55rem;border-radius:12px;background:rgba(62,93,57,.06);scrollbar-width:none}
.followed-branches-summary>span{flex:0 0 auto;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.followed-branches-summary button{flex:0 0 auto;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px}
.branch-relevance-note{display:grid;gap:.2rem;margin:.75rem 0;padding:.7rem;border-radius:12px;background:rgba(62,93,57,.07)}
.branch-relevance-note span{font-size:.86rem;opacity:.8}
@media(max-width:760px){.kinship-actions .follow-branch-button{min-height:44px}.followed-branches-summary{margin-inline:-.15rem}}

/* Evidence and source library */
.source-library-panel{margin-bottom:1rem}.source-library-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.source-library-head h2{margin:.08rem 0 .25rem}.source-library-head p{margin:.1rem 0;opacity:.78}
.source-library-count{display:grid;justify-items:center;min-width:72px;padding:.55rem;border:1px solid rgba(75,62,45,.13);border-radius:12px}.source-library-count strong{font-size:1.25rem}.source-library-count span{font-size:.72rem}
.source-library-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.7rem;align-items:center;margin:.8rem 0}.source-library-tools input{min-height:44px;padding:.55rem .7rem;border:1px solid rgba(75,62,45,.18);border-radius:12px;background:rgba(255,255,255,.55)}
.source-library-filters{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none}.source-library-filters button{flex:0 0 auto;padding:.42rem .62rem;border:1px solid rgba(75,62,45,.15);border-radius:999px;background:transparent}.source-library-filters button.is-active{background:rgba(62,93,57,.11);border-color:rgba(62,93,57,.3)}
.source-library{display:grid;gap:.55rem}.source-library-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr) auto;gap:.85rem;align-items:start;padding:.75rem;border:1px solid rgba(75,62,45,.12);border-radius:13px;background:rgba(255,255,255,.5)}
.source-library-main{display:grid;gap:.15rem}.source-library-main h3{margin:0}.source-library-main p{margin:.08rem 0;font-size:.87rem;opacity:.78}.source-library-main small{opacity:.7}.source-kind{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.source-library-links{display:grid;gap:.45rem}.source-library-links>div{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}.source-library-links>div>span{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.source-library-links button{border:0;background:rgba(75,62,45,.06);border-radius:999px;padding:.28rem .42rem}
.source-library-actions{align-self:center;min-width:max-content}
@media(max-width:760px){.source-library-head{display:grid;grid-template-columns:1fr auto}.source-library-tools{grid-template-columns:1fr}.source-library-card{grid-template-columns:1fr}.source-library-actions{min-width:0}.source-library-actions button{min-height:44px}.source-library-count{grid-column:2;grid-row:1}.source-library-filters{margin-inline:-.2rem;padding-inline:.2rem}}

/* Mobile-first consolidation: hide the machinery, surface the family */
@media(max-width:760px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .site-header{
   grid-template-columns:minmax(0,1fr) auto;
   gap:.55rem;
   padding:.55rem .7rem;
   border-bottom-width:2px;
 }
 .brand-mark{font-size:20px}
 .brand-copy strong{font-size:17px}
 .brand-copy small{display:none}
 .main-nav{display:none!important}
 .header-assistant{display:none!important}
 .notification-settings-button{display:none!important}
 .viewer-control{grid-column:2;display:block;max-width:138px}
 .viewer-control span{display:none}
 .viewer-control .viewer-button{max-width:138px;min-width:0;width:100%;padding:.48rem .55rem;font-size:.82rem}
 main{padding:12px 10px 18px}
 footer{display:none}

 .mobile-action-bar{
   position:fixed;z-index:90;left:0;right:0;bottom:0;
   display:grid!important;
   grid-template-columns:repeat(4,minmax(0,1fr));
   gap:.28rem;
   padding:.45rem max(.5rem,env(safe-area-inset-right)) calc(.45rem + env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));
   background:rgba(249,246,239,.98);
   border-top:1px solid rgba(75,62,45,.18);
   backdrop-filter:blur(14px);
 }
 .mobile-action-bar button{
   min-width:0;min-height:48px;padding:.48rem .35rem;border-radius:12px;
   font-size:.78rem;white-space:nowrap;
 }
 .mobile-action-primary{
   background:var(--navy);color:#fff;font-weight:800;border:1px solid var(--navy);
 }
 .mobile-action-secondary{
   background:transparent;color:var(--ink);border:1px solid transparent;
 }
 .mobile-action-secondary.active,.mobile-action-secondary[aria-current="page"]{
   background:rgba(22,45,58,.08);border-color:rgba(22,45,58,.12);font-weight:800;
 }

 /* Home should answer "what's new?" and "what can I do?" before exposing tools. */
 #home .archive-changes.family-activity-panel{display:none}
 #home .home-research-panel{margin-top:.65rem}
 #home .assistant-shortcuts{display:none}
 #home .home-research-copy p:not(.kicker){max-width:34ch}
 #home .home-research-head{gap:.55rem}
 #home .home-chat-shell{padding:.75rem}
 #home .home-chat-avatar{display:none}
 #home .home-chat-main{width:100%}

 /* Secondary destinations stay usable when reached contextually, but do not compete for navigation. */
 .view-heading{gap:.65rem;align-items:flex-start}
 .view-heading h1{font-size:clamp(1.75rem,8vw,2.35rem)}
 .archive-grid{grid-template-columns:1fr}
 .archive-category p{min-height:0}
 .source-library-panel{margin-top:.4rem}

 /* Reduce repeated chrome around explanatory sections. */
 .family-evidence-key{margin-top:.45rem}
 .branch-collaboration,.branch-progress,.person-evidence-panel{padding:.78rem}
 .branch-collaboration-head h3,.branch-progress-copy h3,.person-evidence-head h3{font-size:1rem}

 /* Mobile dialogs behave as sheets and keep the primary action within thumb reach. */
 dialog.dialog{width:100%;max-width:none;margin:auto 0 0;max-height:88dvh;border-radius:18px 18px 0 0}
 .dialog-shell{max-height:88dvh;overflow:auto;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))}
}

/* Keep technical internals out of the normal family experience. */
footer>div:first-child span{font-style:normal;opacity:.72}

.home-discovery{margin:0 0 1rem}.discovery-heading{padding-inline:.15rem}.discovery-heading h2{margin:.08rem 0}.discovery-heading p{margin:.1rem 0;opacity:.76}
.home-discovery-feed{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.discovery-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(75,62,45,.13);border-radius:16px;overflow:hidden;background:rgba(255,252,246,.72);box-shadow:0 5px 18px rgba(56,45,31,.05)}.discovery-card.is-featured{grid-column:span 2}.discovery-image{margin:0;aspect-ratio:16/9;overflow:hidden}.discovery-image img{width:100%;height:100%;object-fit:cover}.discovery-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:.75rem}.discovery-eyebrow{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;opacity:.72}.discovery-copy h3{margin:.18rem 0 .28rem;font-size:1.02rem}.discovery-copy p{margin:0 0 .55rem;font-size:.86rem;line-height:1.45;opacity:.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.discovery-copy .text-button{margin-top:auto}.discovery-card.is-help{border-style:dashed;background:rgba(62,93,57,.055)}
@media(max-width:760px){.home-discovery{margin-inline:-10px;padding-left:10px;overflow:hidden}.discovery-heading{padding-right:10px}.home-discovery-feed{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 18vw .35rem 0;scrollbar-width:none}.discovery-card,.discovery-card.is-featured{flex:0 0 78vw;max-width:340px;grid-column:auto;scroll-snap-align:start}.discovery-card.is-help{flex-basis:70vw}}

/* Place and period storytelling */
.place-world{margin:.9rem 0;padding:.85rem;border:1px solid rgba(75,62,45,.14);border-radius:16px;background:rgba(255,252,246,.64)}
.place-world-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.place-world-head h3{margin:.08rem 0 .25rem}.place-world-head p{margin:.1rem 0;opacity:.78}
.place-world-film{display:flex;gap:.45rem;overflow-x:auto;margin:.75rem 0;padding-bottom:.2rem;scroll-snap-type:x proximity;scrollbar-width:none}.place-world-frame{flex:0 0 150px;padding:0;border:0;border-radius:10px;overflow:hidden;background:rgba(75,62,45,.06);text-align:left;scroll-snap-align:start}.place-world-frame img{width:100%;height:102px;object-fit:cover;display:block}.place-world-frame span{display:block;padding:.4rem .45rem;font-size:.72rem;font-weight:700}
.place-world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.7rem}.place-world-column h4{margin:0 0 .35rem}.place-world-column article{display:grid;grid-template-columns:auto 1fr;gap:.1rem .5rem;padding:.45rem 0;border-top:1px solid rgba(75,62,45,.1)}.place-world-column article>span{grid-row:1/3;font-size:.72rem;font-weight:800;opacity:.7}.place-world-column article strong{font-size:.88rem}.place-world-column article p{margin:0;font-size:.8rem;opacity:.76}
.place-world-nearby{display:flex;gap:.35rem;align-items:center;overflow-x:auto;margin-top:.7rem;padding-top:.6rem;border-top:1px solid rgba(75,62,45,.1);scrollbar-width:none}.place-world-nearby>span{flex:0 0 auto;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.place-world-nearby button{flex:0 0 auto;border:0;border-radius:999px;padding:.3rem .48rem;background:rgba(75,62,45,.07)}
@media(max-width:760px){.place-world{padding:.72rem}.place-world-head{display:grid;grid-template-columns:1fr}.place-world-grid{grid-template-columns:1fr}.place-world-frame{flex-basis:44vw;max-width:170px}.place-world-head .text-button{justify-self:start}}

/* App-native Person Worlds: introduce the wider family through a life */
.person-world{display:grid;gap:1rem}.person-world-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;padding:.9rem;border-radius:18px;background:rgba(255,252,246,.72);border:1px solid rgba(75,62,45,.12)}.person-world-hero .person-photo{width:116px;height:116px}.person-world-hero h2{margin:.08rem 0}.person-world-intro{max-width:60ch;margin:.35rem 0;opacity:.8}.person-world-actions{display:flex;gap:.5rem;align-items:center;margin-top:.55rem}
.person-world-section-head h3{margin:.08rem 0 .45rem}.person-world-family{display:grid;gap:.8rem}.person-world-family-group h4{margin:0 0 .35rem;font-size:.82rem}.person-world-relative-strip,.person-world-photo-strip,.person-world-place-strip,.person-world-work-strip,.person-world-moment-strip{display:flex;gap:.55rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:.2rem}
.person-world-relative{flex:0 0 210px;display:grid;grid-template-columns:54px 1fr;gap:.5rem;align-items:center;text-align:left;padding:.5rem;border:1px solid rgba(75,62,45,.12);border-radius:13px;background:rgba(255,255,255,.5);scroll-snap-align:start}.person-world-relative .person-photo{width:54px;height:54px}.person-world-relative span{display:grid}.person-world-relative small{font-size:.64rem;text-transform:uppercase;font-weight:800;opacity:.65}.person-world-relative strong{font-size:.88rem}.person-world-relative em{font-size:.7rem;font-style:normal;opacity:.68}
.person-world-photo-strip>button{flex:0 0 180px;padding:0;overflow:hidden;border:0;border-radius:12px;background:rgba(75,62,45,.06);text-align:left;scroll-snap-align:start}.person-world-photo-strip img{display:block;width:100%;height:125px;object-fit:cover}.person-world-photo-strip span{display:block;padding:.42rem;font-size:.72rem;font-weight:700}
.person-world-moment-strip article,.person-world-work-strip article{flex:0 0 220px;padding:.65rem;border:1px solid rgba(75,62,45,.11);border-radius:13px;background:rgba(255,255,255,.45);scroll-snap-align:start}.person-world-moment-strip article>span,.person-world-work-strip article>span{display:block;font-size:.7rem;font-weight:800;opacity:.68}.person-world-moment-strip p,.person-world-work-strip p{margin:.25rem 0 0;font-size:.8rem;opacity:.78}
.person-world-place-strip>button{flex:0 0 210px;display:grid;gap:.12rem;text-align:left;padding:.65rem;border:1px solid rgba(75,62,45,.11);border-radius:13px;background:rgba(255,255,255,.45);scroll-snap-align:start}.person-world-place-strip span,.person-world-place-strip small{font-size:.72rem;opacity:.72}
.person-world-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.person-world-depth{border-top:1px solid rgba(75,62,45,.14);padding-top:.65rem}.person-world-depth>summary{cursor:pointer;font-weight:800;font-size:.86rem}
@media(max-width:760px){.person-world{gap:.85rem}.person-world-hero{grid-template-columns:76px 1fr;padding:.72rem;align-items:start}.person-world-hero .person-photo{width:76px;height:76px}.person-world-hero h2{font-size:1.55rem}.person-world-intro{grid-column:1/-1}.person-world-actions{grid-column:1/-1}.person-world-relative{flex-basis:68vw;max-width:270px}.person-world-photo-strip>button{flex-basis:58vw;max-width:220px}.person-world-moment-strip article,.person-world-work-strip article,.person-world-place-strip>button{flex-basis:72vw;max-width:280px}.person-world-more{grid-template-columns:1fr}.person-world-depth .person-evidence-panel,.person-world-depth .reasoning-person-panel{margin-top:.65rem}}

/* Follow the thread: objects lead to people, places and stories without menu hopping */
.thread-dialog-shell{max-width:720px}.thread-view{display:grid;gap:.8rem}.thread-view h2{margin:.05rem 0}.thread-photo{margin:0;border-radius:14px;overflow:hidden;background:rgba(75,62,45,.06)}.thread-photo img{display:block;width:100%;max-height:48vh;object-fit:contain}.thread-meta{margin:-.3rem 0 0;opacity:.72}
.thread-view section{display:grid;gap:.35rem}.thread-view section h3{margin:0;font-size:.92rem}.thread-links{display:flex;gap:.35rem;flex-wrap:wrap}.thread-links button{border:0;border-radius:999px;padding:.38rem .55rem;background:rgba(75,62,45,.07)}
.thread-story-list{display:grid;gap:.35rem}.thread-story-list button{display:grid;gap:.1rem;text-align:left;padding:.55rem;border:1px solid rgba(75,62,45,.1);border-radius:11px;background:rgba(255,255,255,.48)}.thread-story-list span{font-size:.8rem;opacity:.75}
.thread-actions{padding-top:.4rem;border-top:1px solid rgba(75,62,45,.1)}.thread-cue{display:grid;gap:.12rem;margin:.6rem 0;padding:.55rem .65rem;border-radius:11px;background:rgba(62,93,57,.06)}.thread-cue span{font-size:.82rem;opacity:.76}
@media(max-width:760px){.thread-dialog-shell{max-width:none}.thread-photo img{max-height:42dvh}.thread-links{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.thread-links button{flex:0 0 auto}}

/* Ruthless app-shell cleanup */
.place-world-dialog-shell{max-width:760px}
@media(max-width:760px){
 .place-world-dialog-shell{max-width:none}
 #home{display:grid;gap:.85rem}
 #home>.home-research-panel,#home>.home-discovery,#home>.since-you-were-here{margin:0}
}


/* ==========================================================================
   v1.13 — Our Family app experience
   Warm, quiet, photographic. Hide the machinery; surface the family.
   ========================================================================== */
:root{
  --plum:#4a1834;
  --plum-deep:#2d0d20;
  --plum-soft:#6d3453;
  --cream:#f5eee6;
  --cream-deep:#eadfd2;
  --card:#fffaf4;
  --card-strong:#fffdf9;
  --gold:#c39a52;
  --gold-soft:#e7d3ac;
  --rose:#a95d72;
  --forest:#52634a;
  --ink:#2c2528;
  --muted:#746a6b;
  --line:rgba(74,24,52,.12);
  --navy:var(--plum);
  --navy-2:var(--plum-deep);
  --paper:var(--card);
  --paper-2:var(--cream-deep);
  --paper-3:#dac9bb;
  --brass:var(--gold);
  --rust:var(--rose);
  --green:var(--forest);
  --white:#fffdf9;
  --shadow:0 12px 35px rgba(60,29,44,.08);
  --shadow-soft:0 5px 18px rgba(60,29,44,.06);
  --radius:18px;
  --ui-font:"Segoe UI Variable Text","Segoe UI",Aptos,Arial,sans-serif;
  --display-font:"Segoe UI Variable Display","Segoe UI",Aptos,Arial,sans-serif;
}
html{background:var(--cream)}
body{
  color:var(--ink);
  font-family:var(--ui-font);
  background:
    radial-gradient(circle at 8% 0%,rgba(255,255,255,.72),transparent 32rem),
    linear-gradient(180deg,#f8f2eb 0%,var(--cream) 50%,#f1e8df 100%);
  background-attachment:fixed;
}
body,button,input,textarea,select{font-family:var(--ui-font)}
h1,h2,h3,h4,.brand-copy strong{font-family:var(--display-font);letter-spacing:-.035em}
main{max-width:1280px;padding:32px 26px 64px}
.paper-panel{
  background:rgba(255,250,244,.86);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(8px);
}
.paper-panel:before{display:none}
.kicker{color:var(--plum-soft);font-size:10px;letter-spacing:.11em;font-weight:750}
.text-button{color:var(--plum);text-decoration:none}
.text-button:hover{text-decoration:underline;text-underline-offset:4px}
.button{border-radius:999px;padding:11px 17px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.button.dark,.button.primary{background:var(--plum);border-color:var(--plum);color:#fff}
.button.dark:hover,.button.primary:hover{background:var(--plum-deep)}
.button.secondary,.button.soft{background:#f2e8df;border-color:rgba(74,24,52,.14);color:var(--plum)}
.button.ghost{border-color:rgba(74,24,52,.22);color:var(--plum)}
input,textarea,select{border-color:rgba(74,24,52,.18)!important;background:rgba(255,253,249,.94)!important;color:var(--ink)!important}
input:focus,textarea:focus,select:focus{outline:3px solid rgba(195,154,82,.24);outline-offset:1px;border-color:rgba(74,24,52,.34)!important}

/* App shell */
.site-header{
  grid-template-columns:minmax(210px,1fr) auto auto auto;
  gap:12px;
  padding:11px 24px;
  background:rgba(62,17,43,.98);
  border-bottom:0;
  box-shadow:0 8px 25px rgba(45,13,32,.18);
}
.brand{gap:9px}.brand-mark{color:var(--gold);font-size:22px}
.brand-copy strong{font-size:19px}.brand-copy small{color:#d9c5cf;font-size:9px}
.main-nav{gap:3px;padding:3px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);border-radius:999px}
.main-nav button{border-radius:999px;padding:9px 13px;color:#eadfe5;font-size:14px}
.main-nav button:hover,.main-nav button.active{background:rgba(255,255,255,.12);color:#fff}
.main-nav button.active{box-shadow:none}
.header-assistant{border:1px solid rgba(231,211,172,.45);background:var(--gold);color:var(--plum-deep);border-radius:999px;padding:9px 14px;font-weight:800}
.viewer-control{display:flex;align-items:center;gap:7px;color:#eadfe5}
.viewer-control span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;opacity:.76}
.viewer-button{border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.07)!important;color:#fff!important;border-radius:999px;padding:8px 12px}
.notification-settings-button{border-color:rgba(255,255,255,.14);color:#f4eaf0}
.nav-activity-badge{background:var(--gold)}

/* Home: discovery, not dashboard */
#home{max-width:1160px;margin:0 auto}
.home-welcome{padding:20px 4px 13px}
.home-welcome h1{font-size:clamp(2.4rem,6vw,4.5rem);line-height:.96;margin:.05rem 0 .65rem;color:var(--plum-deep);font-weight:680}
.home-welcome>p:last-child{font-size:1.08rem;margin:0;color:var(--muted)}
.since-you-were-here{
  margin:.65rem 0 1.35rem;
  padding:1rem 1.05rem;
  border:1px solid rgba(74,24,52,.10);
  border-radius:18px;
  background:rgba(255,250,244,.72);
  box-shadow:var(--shadow-soft)
}
.since-head h2{color:var(--plum);font-size:1.35rem}
.since-group{border-radius:14px;border-color:rgba(74,24,52,.09);background:#fffaf5}
.since-consequence{background:rgba(195,154,82,.13)}
.home-discovery{margin-top:1.1rem}
.discovery-heading{margin-bottom:.65rem}
.discovery-heading h2{font-size:1.55rem;color:var(--plum-deep)}
.home-discovery-feed{gap:.8rem}
.discovery-card{
  border-radius:20px;
  border:1px solid rgba(74,24,52,.09);
  background:var(--card-strong);
  box-shadow:0 8px 24px rgba(62,17,43,.07);
  transition:transform .17s ease,box-shadow .17s ease
}
.discovery-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(62,17,43,.10)}
.discovery-image{background:#e9ddd3}
.discovery-copy{padding:.9rem}
.discovery-eyebrow{color:var(--plum-soft)}
.discovery-copy h3{color:var(--plum-deep);font-size:1.1rem}
.discovery-card.is-help{border:1px dashed rgba(74,24,52,.28);background:#f7eee9}

/* Family */
.view-heading{margin:9px 0 18px}
.view-heading h1{color:var(--plum-deep);font-size:clamp(2.25rem,5vw,3.7rem);font-weight:680}
.view-heading p:not(.kicker){color:var(--muted)}
.family-layout{grid-template-columns:minmax(0,1.18fr) minmax(350px,.82fr);gap:16px;align-items:start}
.tree-panel,.detail-panel{border-radius:22px}
.tree-panel{padding:18px}
.detail-panel{padding:18px;position:sticky;top:82px;max-height:calc(100vh - 104px);overflow:auto}
.tree-toolbar{align-items:center}
.tree-toolbar-label{color:var(--muted);font-size:.72rem}
.tree-toolbar-help{color:var(--muted);font-size:.75rem}
.chip{border-color:rgba(74,24,52,.13);background:#f6eee7;color:var(--plum);border-radius:999px}
.chip.active{background:var(--plum);border-color:var(--plum);color:#fff}
.focus-tree-row+.focus-tree-row:before,.focus-tree-cards:before,.focus-tree-cards .ancestor-card:before{border-color:rgba(74,24,52,.18)}
.ancestor-card,.person-node{
  border-radius:15px;
  border:1px solid rgba(74,24,52,.10)!important;
  background:#fffaf5!important;
  box-shadow:0 4px 12px rgba(62,17,43,.055)
}
.ancestor-card:hover,.person-node:hover{box-shadow:0 8px 20px rgba(62,17,43,.09);transform:translateY(-1px)}
.partner-link{color:var(--plum-soft)}
.family-evidence-key{border-radius:14px;background:rgba(255,250,245,.75);border-color:rgba(74,24,52,.10)}
.branch-progress,.branch-collaboration{border-radius:17px;background:rgba(255,250,245,.72);border-color:rgba(74,24,52,.10)}
.follow-branch-button{border-color:rgba(74,24,52,.18);color:var(--plum)}
.follow-branch-button.is-followed{background:rgba(195,154,82,.16);border-color:rgba(195,154,82,.45);color:var(--plum-deep)}

/* Person World */
.person-world{gap:1rem}
.person-world-hero{
  position:relative;
  grid-template-columns:auto minmax(0,1fr);
  gap:1.1rem;
  padding:1.1rem;
  border:0;
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 10%,rgba(195,154,82,.18),transparent 15rem),
    linear-gradient(145deg,var(--plum) 0%,var(--plum-deep) 100%);
  box-shadow:0 14px 30px rgba(45,13,32,.16)
}
.person-world-hero .kicker{color:#e6c985}
.person-world-hero h2{color:#fff;font-size:clamp(1.8rem,4vw,2.75rem)}
.person-world-hero .known-as,.person-world-hero .person-world-intro{color:#eadfe5}
.person-world-hero .person-photo{
  width:112px;height:112px;border-radius:50%;
  border:4px solid rgba(255,255,255,.86);
  box-shadow:0 7px 20px rgba(0,0,0,.17);
  overflow:hidden
}
.person-world-hero .button.dark{background:var(--gold);border-color:var(--gold);color:var(--plum-deep)}
.person-world-hero .text-button{color:#f6e7ee}
.person-world-family,.person-world-photos,.person-world-moments,.person-world-places,.person-world-work,.person-world-more{
  padding:.85rem .1rem
}
.person-world-section-head h3{color:var(--plum-deep);font-size:1.18rem}
.person-world-relative,.person-world-photo-strip>button,.person-world-moment-strip article,.person-world-work-strip article,.person-world-place-strip>button{
  border-radius:16px;
  border-color:rgba(74,24,52,.09);
  background:#fffaf5;
  box-shadow:0 4px 13px rgba(62,17,43,.045)
}
.person-world-relative .person-photo{border-radius:50%}
.person-world-depth{border-color:rgba(74,24,52,.11)}
.person-world-depth>summary{color:var(--plum);padding:.55rem 0}

/* Follow the thread / Place World */
.thread-dialog-shell,.place-world-dialog-shell{max-width:760px}
.thread-view h2,#place-detail>h2{color:var(--plum-deep);font-size:clamp(1.8rem,5vw,2.7rem)}
.thread-photo{border-radius:18px;background:#efe3db}
.thread-links button,.place-people button,.place-world-nearby button{
  background:#f2e7df;color:var(--plum);border-radius:999px
}
.thread-story-list button,.place-world{
  border-color:rgba(74,24,52,.10);
  background:#fffaf5;
  border-radius:16px
}
.place-world-head h3{color:var(--plum-deep)}
.place-world-frame{border-radius:13px;background:#f1e6de}
.place-now{border-radius:16px;background:rgba(74,24,52,.055)}

/* Scout */
.research-page{max-width:1040px;margin:0 auto}
.research-page-header{
  margin:0 0 1rem;
  padding:1.25rem 1.35rem;
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 0%,rgba(195,154,82,.18),transparent 15rem),
    linear-gradient(140deg,var(--plum),var(--plum-deep))
}
.research-page-header .kicker{color:#e6c985}
.research-page-header h1{font-size:clamp(2rem,5vw,3.35rem);margin:.05rem 0 .45rem}
.research-page-header p{color:#eadfe5;max-width:650px}
.research-progress-strip{color:#fff}
.questions-for-you,.scout-panel{border-radius:20px}
.research-chat-shell{
  border:1px solid rgba(74,24,52,.10);
  background:rgba(255,250,245,.75);
  border-radius:20px;
  box-shadow:var(--shadow-soft)
}
.research-focus-bar{border-color:rgba(74,24,52,.10)}
.research-chat{background:transparent}
.research-composer{border-top-color:rgba(74,24,52,.10)}
.research-input-row textarea{border-radius:16px!important}
.scout-panel{margin-top:1rem;background:#fffaf5}
.scout-panel h2{color:var(--plum-deep)}
.scout-filter{border-radius:999px;border-color:rgba(74,24,52,.12);background:#f4ebe4;color:var(--plum)}
.scout-filter.is-active{background:var(--plum);color:#fff;border-color:var(--plum)}
.scout-lead,.scout-lead-card{border-radius:16px!important;border-color:rgba(74,24,52,.10)!important;background:#fffdf9!important}

/* Dialogs as calm app surfaces */
dialog.dialog{border:0;background:transparent;padding:0}
.dialog-shell{
  border-radius:22px;
  background:#fffaf5;
  color:var(--ink);
  box-shadow:0 24px 70px rgba(45,13,32,.24)
}
.dialog::backdrop{background:rgba(45,13,32,.52);backdrop-filter:blur(3px)}
.dialog-close{border-radius:50%;background:#f1e5dd;color:var(--plum)}
.notification-settings-shell,.clue-answer-shell,.assistant-dialog-shell{max-width:690px}

/* Bottom navigation */
.mobile-action-bar{background:rgba(255,252,248,.97);border-top:1px solid rgba(74,24,52,.10);box-shadow:0 -7px 25px rgba(62,17,43,.07)}
.mobile-action-bar button{border-radius:14px;color:var(--plum)}
.mobile-action-primary{background:var(--plum)!important;border-color:var(--plum)!important;color:#fff!important}
.mobile-action-secondary.active,.mobile-action-secondary[aria-current="page"]{background:rgba(74,24,52,.08);color:var(--plum-deep)}

/* Phone-first rhythm */
@media(max-width:900px){
  main{padding:22px 16px 78px}
  .site-header{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .brand-copy small{display:none}
  .viewer-control{grid-column:2}
  .family-layout{grid-template-columns:1fr}
  .detail-panel{position:static;max-height:none}
}
@media(max-width:760px){
  main{padding:18px 10px calc(86px + env(safe-area-inset-bottom))}
  .site-header{padding:.55rem .7rem;background:rgba(62,17,43,.99)}
  .brand-mark{font-size:20px}
  .brand-copy strong{font-size:17px}
  .viewer-control{max-width:135px}
  .viewer-button{max-width:135px;padding:.45rem .55rem!important}
  #home{gap:.7rem}
  .home-welcome{padding:14px 5px 7px}
  .home-welcome h1{font-size:clamp(2.15rem,11vw,3.05rem);margin-bottom:.45rem}
  .home-welcome>p:last-child{font-size:.98rem}
  .since-you-were-here{margin:.35rem 0 .75rem}
  .home-discovery{margin-top:.55rem}
  .discovery-heading{padding-left:5px}
  .home-discovery-feed{padding-right:20vw}
  .discovery-card,.discovery-card.is-featured{flex-basis:82vw;max-width:350px}
  .discovery-card.is-help{flex-basis:74vw}
  .person-world-hero{grid-template-columns:72px 1fr;padding:.8rem}
  .person-world-hero .person-photo{width:72px;height:72px;border-width:3px}
  .person-world-hero h2{font-size:1.55rem}
  .person-world-actions{grid-column:1/-1}
  .person-world-relative{flex-basis:72vw}
  .person-world-photo-strip>button{flex-basis:62vw}
  .person-world-moment-strip article,.person-world-work-strip article,.person-world-place-strip>button{flex-basis:76vw}
  .research-page-header{padding:1rem;border-radius:18px}
  .research-page-header h1{font-size:2rem}
  .research-chat-shell,.scout-panel{border-radius:18px}
  dialog.dialog{max-height:90dvh}
  .dialog-shell{border-radius:20px 20px 0 0}
}

/* v1.13.1 performance/layout hotfix */
@media(min-width:901px){
 .site-header{grid-template-columns:minmax(190px,1fr) auto auto minmax(135px,190px) auto}
 .notification-settings-button{grid-column:auto;grid-row:auto;width:auto;margin-left:0;white-space:nowrap}
}

/* v1.13.4 — progressive Family rendering */
.family-deferred{min-height:42px;margin-top:.7rem}
.family-deferred-placeholder,.person-world-loading{padding:.8rem 1rem;border:1px dashed rgba(74,24,52,.14);border-radius:14px;color:var(--muted);background:rgba(255,250,245,.55)}
.family-deeper-head{display:flex;align-items:baseline;gap:.45rem;margin:.9rem 0 .45rem}.family-deeper-head span{font-weight:800;color:var(--plum-deep)}.family-deeper-head small{color:var(--muted)}

/* v1.13.5 — progressive Scout rendering */
.scout-loading{grid-column:1/-1;padding:1rem;border:1px dashed rgba(74,24,52,.14);border-radius:14px;background:rgba(255,250,245,.55);color:var(--muted)}

/* v1.13.7 — rendering/data integrity */
.viewer-control>span{display:none!important}
.dialog-close{
  position:absolute!important;top:10px!important;right:10px!important;
  display:grid!important;place-items:center!important;
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;
  font-size:24px!important;line-height:1!important;font-family:Arial,sans-serif!important;
  background:#f1e5dd!important;color:var(--plum)!important;cursor:pointer!important;z-index:5
}
.notification-delivery label{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:.65rem!important;align-items:center!important}
.notification-delivery input[type="radio"]{
  appearance:auto!important;-webkit-appearance:radio!important;
  width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;padding:0!important;
  accent-color:var(--plum)!important;background:transparent!important;border:0!important;box-shadow:none!important
}
.person-world-depth{border:1px solid rgba(74,24,52,.12)!important;border-radius:14px!important;padding:0!important;overflow:hidden;background:#fffaf5}
.person-world-depth>summary{
  display:flex!important;align-items:center!important;gap:.45rem!important;
  list-style:none!important;padding:.7rem .8rem!important;color:var(--plum)!important;
  border:0!important;background:transparent!important;cursor:pointer!important
}
.person-world-depth>summary::-webkit-details-marker{display:none}
.person-world-depth>summary:before{content:'+';display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(74,24,52,.08);font-weight:900}
.person-world-depth[open]>summary:before{content:'–'}
.person-world-depth[open]>:not(summary){margin:.65rem .8rem}
.person-world-record-strip{display:flex;gap:.55rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:.2rem}
.person-world-record-strip article{flex:0 0 230px;display:grid;gap:.12rem;padding:.65rem;border:1px solid rgba(74,24,52,.10);border-radius:14px;background:#fffaf5;scroll-snap-align:start}
.person-world-record-strip small{color:var(--plum-soft);font-weight:800;text-transform:uppercase;font-size:.62rem;letter-spacing:.04em}
.person-world-record-strip span{font-size:.76rem;color:var(--muted)}
.person-photo-with-fallback:not(.person-crop) img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 35%!important}

.dialog-shell{position:relative}

/* v1.13.8 — contextual Scout, trusted photographs and layout repair */
.person-world-hero>.ancestor-photo,.person-world-hero .ancestor-photo{position:relative!important;display:block!important;overflow:hidden!important;width:112px!important;height:112px!important;min-width:112px!important;max-width:112px!important;border-radius:50%!important;border:4px solid rgba(255,255,255,.86)!important;background:#e9ddd3!important;box-shadow:0 7px 20px rgba(0,0,0,.17)!important}
.person-world-hero>.ancestor-photo img,.person-world-hero .ancestor-photo img{width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important;max-height:none!important}
.person-world-relative>.ancestor-photo{position:relative!important;width:54px!important;height:54px!important;min-width:54px!important;overflow:hidden!important;border-radius:50%!important}
.person-world-relative>.ancestor-photo img{width:100%!important;height:100%!important;object-fit:cover!important}
.person-world-family,.person-world-photos,.person-world-moments,.person-world-records,.person-world-places,.person-world-work{max-width:100%;overflow:hidden}
.person-world-photo-strip img{object-fit:cover!important;object-position:center 35%!important}
.scout-workspace-tabs{display:flex;gap:.35rem;margin:0 0 .75rem;padding:.25rem;border:1px solid rgba(74,24,52,.10);border-radius:999px;background:rgba(255,250,245,.7);width:max-content;max-width:100%}
.scout-workspace-tab{border:0;border-radius:999px;padding:.55rem .85rem;background:transparent;color:var(--plum);font-weight:800;cursor:pointer}
.scout-workspace-tab.is-active{background:var(--plum);color:#fff}
[data-scout-workspace-pane][hidden]{display:none!important}
@media(min-width:761px) and (max-width:1100px){.site-header{grid-template-columns:minmax(170px,1fr) auto minmax(135px,175px)!important;gap:8px!important}.notification-settings-button{display:none!important}.main-nav .nav-link{padding:8px 10px!important;font-size:12px!important}.viewer-control{min-width:135px!important}}
@media(max-width:760px){.person-world-hero>.ancestor-photo,.person-world-hero .ancestor-photo{width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;border-width:3px!important}.scout-workspace-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.scout-workspace-tab{min-width:0;padding:.58rem .45rem}}
