.deceased-portrait img{filter:grayscale(1) contrast(.92);opacity:.86}
.family-tree{--tree-card:212px!important;width:max(100%,var(--tree-width))!important}.tree-person{grid-template-columns:38px minmax(0,1fr)!important;min-height:82px!important}.tree-portrait{width:38px!important;height:46px!important;border-radius:7px!important}.tree-portrait>span{font-size:1.25rem!important}
.tree-card-actions{grid-column:1/-1;display:flex;gap:6px}.tree-card-actions a{flex:1;padding:5px 6px;border:1px solid rgba(199,148,66,.26);border-radius:7px;color:#d8c59c;font-size:.61rem;font-weight:800;text-align:center}.tree-card-actions a:first-child{background:rgba(199,148,66,.12);color:#e9c77e}.tree-card-actions a:hover,.tree-card-actions a:focus-visible{border-color:var(--gold);background:rgba(199,148,66,.2);outline:none}.tree-controls label small{color:var(--muted);font-size:.66rem;font-weight:500}.tree-at-glance{padding:17px}.tree-at-glance .section-heading{margin-bottom:13px}.tree-at-glance .section-heading h2{font-size:1.25rem}.tree-at-glance .section-heading p:last-child{color:var(--muted);font-size:.74rem}.tree-relative-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.tree-relative-group{min-width:0;padding:10px;border:1px solid rgba(199,148,66,.15);border-radius:10px;background:rgba(255,255,255,.018)}.tree-relative-group h3{display:flex;justify-content:space-between;gap:8px;margin:0 0 7px;color:#d2ae6a;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}.tree-relative-group h3 span{color:var(--muted)}.tree-relative-list{display:grid;gap:5px}.tree-relative{display:flex;min-width:0;align-items:stretch;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#17191d}.tree-relative>a:first-child{display:grid;min-width:0;flex:1;padding:6px 8px}.tree-relative strong,.tree-relative small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-relative strong{font-size:.72rem}.tree-relative small,.tree-none{color:var(--muted);font-size:.61rem}.tree-profile-arrow{display:grid;width:30px;place-items:center;border-left:1px solid rgba(255,255,255,.07);color:#d9b46b}.tree-relative:hover{border-color:rgba(199,148,66,.45)}
.stats-grid,.note-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}
.year-grid{display:flex;gap:10px;flex-wrap:wrap}.year-grid div{display:grid;min-width:110px;padding:12px;border:1px solid var(--line);border-radius:10px}.year-grid .death{border-color:#63383c}
.pager{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.pager a{padding:7px 11px;border:1px solid var(--line);border-radius:8px}.pager a.active{background:var(--gold);color:#17120c}
.record-editor{display:block}.record-editor>summary,.rule-row>summary,.note-card>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;width:100%}.record-editor>summary::-webkit-details-marker,.rule-row>summary::-webkit-details-marker,.note-card>summary::-webkit-details-marker{display:none}.record-editor form,.rule-row form,.note-card form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.rule-row{padding:13px 0;border-bottom:1px solid var(--line)}.focus-card{border-color:var(--gold)}.secret-result{margin-top:15px;padding:15px;border:1px dashed var(--gold);border-radius:10px;background:#111217}.secret-result input{font-family:Consolas,monospace}.health-error{border-left:4px solid var(--red)}.health-warning{border-left:4px solid var(--gold)}
pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0d0e11;padding:12px;border-radius:8px;color:var(--muted)}ol li{margin:.6em 0}.danger{color:#ffc5ca;border-color:#8f3f43;background:#341f22}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;max-height:320px;overflow:auto;padding:8px 2px}.choice{display:flex!important;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.choice input{width:auto}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.metric-strip article{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.metric-strip span{display:block;color:var(--muted);font-size:.85rem}.metric-strip strong{display:block;font-size:1.65rem;margin-top:4px}.danger-zone{margin-top:22px;padding:18px;border:1px solid rgba(173,71,71,.55);border-radius:14px;background:rgba(125,35,35,.1)}.danger-zone form{margin:0}.danger-zone button{width:auto}
.metric-strip.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-strip.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-strip small{display:block;color:var(--muted);margin-top:4px}
.statistics-nav{position:sticky;z-index:12;top:8px;display:flex;gap:7px;overflow-x:auto;margin:-10px 0 34px;padding:9px;border:1px solid rgba(199,148,66,.24);border-radius:14px;background:rgba(18,20,25,.94);box-shadow:0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(12px);scrollbar-width:thin}.statistics-nav a{flex:0 0 auto;padding:7px 11px;border:1px solid transparent;border-radius:9px;color:#d4cabc;font-size:.78rem;font-weight:800}.statistics-nav a:hover,.statistics-nav a:focus-visible{border-color:rgba(199,148,66,.5);background:rgba(199,148,66,.12);color:#f0d59f;outline:none}.statistics-section{margin:0 0 48px;scroll-margin-top:74px}.statistics-section>.section-heading{padding-bottom:10px;border-bottom:1px solid rgba(199,148,66,.16)}.statistics-section>.section-heading h2{font-size:clamp(1.9rem,3vw,2.65rem)}.large-number{display:block;margin:.2rem 0;color:#e8ce95;font:700 2.55rem Georgia,serif}.summary-cards .panel{min-height:150px}.current-year-panel{grid-column:span 2;background:radial-gradient(circle at 90% 15%,rgba(199,148,66,.13),transparent 30%),linear-gradient(145deg,#211e1a,#17191e)}.mini-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.mini-stat-grid>div,.generation-stat{display:grid;gap:2px;padding:13px;border:1px solid rgba(199,148,66,.16);border-radius:10px;background:rgba(9,10,13,.25)}.mini-stat-grid strong,.generation-stat strong{color:#e6c987;font:700 1.45rem Georgia,serif}.mini-stat-grid span,.generation-stat span{color:#beb5a7;font-size:.76rem}.generation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.generation-stat strong{font-size:1.8rem}.roll-stat{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 2px;border-bottom:1px solid var(--line)}.roll-stat>span{display:grid;gap:2px}.roll-stat>span:last-child{text-align:right}.roll-stat b{color:#e8c983;font:700 1.15rem Georgia,serif}.yearly-ledger{overflow:hidden}.year-ledger-row{display:grid;grid-template-columns:70px repeat(7,minmax(82px,1fr));gap:9px;align-items:center;padding:10px 5px;border-top:1px solid var(--line);font-size:.78rem}.year-ledger-row>strong{color:#e7c77f;font:700 1rem Georgia,serif}.year-ledger-row>span{color:#bbb4a9}.year-ledger-row .positive{color:#9ed7b6}.year-ledger-row .negative{color:#e3a8ad}.quality-panel{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;align-items:start}.quality-panel.has-issues{border-left:3px solid #b18045}.quality-total{display:grid;justify-items:center;padding:20px;border:1px solid rgba(199,148,66,.2);border-radius:13px;background:rgba(199,148,66,.06);text-align:center}.quality-total strong{color:#edcf8c;font:700 3.2rem Georgia,serif}.quality-total span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.quality-panel>.notice{grid-column:1/-1;margin:0}
.progress-card{align-items:start}.progress-meter{height:9px;background:#111217;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:11px 0}.progress-meter span{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#745027,var(--gold),#e2c27d);transition:width .25s ease}.progress-meter.large{height:15px}.progress-number{font-size:2rem;color:var(--gold)}
.census-line{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.census-line span{font-size:.78rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 8px}.digest>summary{display:flex;justify-content:space-between;gap:12px}.digest>summary span{color:var(--muted);font-weight:400}.digest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 18px;margin-top:15px}.digest-grid p{margin:.35rem 0}.compact-chronicle{max-height:640px;overflow:auto;padding-right:6px}
.portrait-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:18px}.portrait-gallery article{display:grid;gap:8px;padding:10px;background:#121419;border:1px solid var(--line);border-radius:12px}.portrait-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}.portrait-gallery strong{text-align:center}
.tree-controls{align-items:end}.tree-controls button{height:42px}.tree-key{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.tree-key>span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.82rem}.tree-key-line{display:inline-block;width:30px;height:0;border-top:3px solid #d8a957}.tree-key-line.partner{border-color:#cf8492;border-top-style:dashed}.tree-key-line.former{border-color:#777a82;border-top-style:dotted}.tree-reading-guide{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px;padding:13px 17px}.tree-reading-guide .eyebrow{margin:0 0 3px}.tree-reading-guide strong{display:block;max-width:920px;font-size:.86rem}.tree-reading-guide>span{flex:0 0 auto;color:var(--muted);font-size:.76rem}.family-tree-shell{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at 50% 38%,rgba(199,148,66,.055),transparent 42%),#111318;scrollbar-color:#695332 #17191e;scrollbar-width:thin}.family-tree-shell:focus{outline:2px solid var(--gold);outline-offset:2px}.family-tree{--tree-card:184px;position:relative;display:grid;gap:76px;width:max(100%,calc(var(--tree-columns) * (var(--tree-card) + 22px) + 90px));min-height:360px;padding:26px 44px 44px}.tree-lines{position:absolute;z-index:0;inset:0;pointer-events:none;overflow:visible}.tree-generation{position:relative;z-index:1;display:grid;gap:14px;min-width:0}.tree-generation-heading{position:sticky;left:16px;z-index:3;display:flex;width:max-content;align-items:center;gap:8px;padding:5px 9px;border:1px solid rgba(199,148,66,.22);border-radius:999px;background:rgba(17,19,24,.92);backdrop-filter:blur(8px)}.tree-generation-heading span{color:#dfc483;font-size:.7rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.tree-generation-heading small{color:var(--muted);font-size:.66rem}.tree-people{display:flex;flex-wrap:nowrap;justify-content:center;gap:22px;min-width:0}.tree-person{position:relative;display:grid;width:var(--tree-card);flex:0 0 var(--tree-card);grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;min-height:90px;padding:11px;border:1px solid #3b3a38;border-radius:14px;background:linear-gradient(145deg,rgba(31,32,35,.98),rgba(21,23,27,.98));box-shadow:0 9px 25px rgba(0,0,0,.22);transition:border-color .15s,box-shadow .15s,opacity .15s,transform .15s}.tree-person:hover,.tree-person:focus-visible{z-index:3;border-color:#c49a52;box-shadow:0 12px 30px rgba(0,0,0,.38);transform:translateY(-2px);outline:none}.tree-person.focus{border:2px solid var(--gold);background:linear-gradient(145deg,#34291d,#1c1b1c);box-shadow:0 0 0 4px rgba(199,148,66,.13),0 12px 30px rgba(0,0,0,.32)}.tree-person.focus:after{content:"FOCUS";position:absolute;right:8px;top:-10px;padding:2px 7px;border-radius:999px;background:var(--gold);color:#18120b;font-size:.56rem;font-weight:900;letter-spacing:.08em}.tree-portrait{display:grid;width:52px;height:64px;place-items:center;overflow:hidden;border:1px solid rgba(199,148,66,.3);border-radius:9px;background:#29241f}.tree-portrait img{width:100%;height:100%;object-fit:cover}.tree-portrait>span{color:var(--gold);font:700 1.8rem Georgia}.tree-person-copy{display:grid;min-width:0;gap:2px}.tree-relation{overflow:hidden;color:#d8ad62;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.tree-person-copy strong,.tree-person-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-person-copy strong{font:700 .92rem Georgia,serif}.tree-person-copy small{color:var(--muted);font-size:.64rem}.tree-life-dates{font-size:.6rem!important}.tree-connection-count{grid-column:1/-1;display:flex;justify-content:center;gap:4px;margin-top:-2px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06);color:#8e8c86;font-size:.62rem}.tree-connection-count b{color:#c9b789}.without-photos .tree-person{grid-template-columns:1fr;min-height:72px}.tree-edge{fill:none;stroke:#b8873e;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tree-edge-group.partner .tree-edge{stroke:#c67384;stroke-width:2.5;stroke-dasharray:7 5}.tree-edge-group.former .tree-edge{stroke:#777a82;stroke-width:1.8;stroke-dasharray:3 6}.tree-edge-node{fill:#13151a;stroke:#d4a657;stroke-width:2;vector-effect:non-scaling-stroke}.tree-edge-group.partner .tree-edge-node{stroke:#cf8492}.tree-edge-group.former .tree-edge-node{stroke:#777a82}.family-tree.is-tracing .tree-person{opacity:.22}.family-tree.is-tracing .tree-person.trace-active{opacity:1}.family-tree.is-tracing .tree-edge-group{opacity:.08}.family-tree.is-tracing .tree-edge-group.trace-active{opacity:1}.tree-edge-group.trace-active .tree-edge{stroke-width:4;filter:drop-shadow(0 0 4px rgba(216,169,87,.7))}.tree-edge-group.partner.trace-active .tree-edge{filter:drop-shadow(0 0 4px rgba(207,132,146,.75))}
@media(max-width:1000px){.metric-strip.five{grid-template-columns:repeat(3,1fr)}.metric-strip.four{grid-template-columns:repeat(2,1fr)}.year-ledger-row{grid-template-columns:62px repeat(4,minmax(82px,1fr))}.year-ledger-row>span:nth-last-child(-n+3){display:none}}
@media(max-width:800px){.stats-grid,.note-grid,.metric-strip,.metric-strip.four,.metric-strip.five{grid-template-columns:1fr}.digest>summary{display:block}.tree-reading-guide{display:grid}.tree-reading-guide>span{white-space:normal}.family-tree{--tree-card:168px;padding-inline:25px}.tree-person{grid-template-columns:44px minmax(0,1fr)}.tree-portrait{width:44px;height:56px}.current-year-panel{grid-column:auto}.quality-panel{grid-template-columns:1fr}.mini-stat-grid{grid-template-columns:repeat(2,1fr)}.year-ledger-row{grid-template-columns:54px repeat(3,minmax(75px,1fr))}.year-ledger-row>span:nth-last-child(-n+4){display:none}}
.record-filter{align-items:end;margin:0 0 1rem}.record-filter label{min-width:180px}.record-filter small{margin-left:auto}.pager{align-items:center;justify-content:center;gap:1rem}.pager .button{width:auto}aside nav a.active{background:rgba(190,137,57,.16);color:#f1d69d;border-color:rgba(190,137,57,.42)}main.htmx-swapping{opacity:.55;transition:opacity .12s ease}main.htmx-settling{opacity:1}
.scan-list{display:grid;gap:.45rem;max-height:28rem;overflow:auto;margin:1rem 0;padding:.25rem}.scan-row{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.65rem;background:rgba(255,255,255,.025)}.scan-row input{width:1.1rem;height:1.1rem;flex:0 0 auto}.scan-row>span:not(.scan-portrait){display:grid;gap:.15rem}.scan-row small{color:var(--muted)}.scan-portrait{width:3rem;height:3rem;object-fit:cover;object-position:center top;border-radius:.55rem;border:1px solid var(--line);background:#17171a;flex:0 0 auto}.scan-portrait.placeholder{display:grid;place-items:center;color:var(--muted);font-size:1.25rem}
.story-opening blockquote{margin:.6rem 0 0;padding:1rem 1.2rem;border-left:3px solid var(--gold);font-family:Georgia,serif;font-size:1.18rem;line-height:1.75;color:#eadfc9;background:rgba(190,137,57,.06)}
.guide-reader iframe{width:100%;height:min(72vh,820px);margin-top:1rem;border:1px solid var(--line);border-radius:12px;background:#fff}.guide-reader>summary{cursor:pointer;font-family:Georgia,serif;font-size:1.15rem}
.lifespan-chart{display:grid;gap:.45rem;margin-top:1rem;max-height:34rem;overflow:auto}.lifespan-row{display:grid;grid-template-columns:minmax(130px,220px) 1fr minmax(120px,auto);gap:.65rem;align-items:center;padding:.35rem}.lifespan-track{height:.7rem;position:relative;border-radius:999px;background:#121319;border:1px solid var(--line)}.lifespan-track i{position:absolute;left:var(--left);width:var(--width);height:100%;border-radius:inherit;background:linear-gradient(90deg,#8f6632,var(--gold))}@media(max-width:700px){.lifespan-row{grid-template-columns:1fr}.lifespan-row small{text-align:right}}

/* Sim dossier */
.profile-back{display:inline-flex;margin-bottom:14px;color:var(--muted);font-weight:700}.profile-back:hover{color:var(--gold)}
.sim-dossier-hero{position:relative;display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:center;margin:0 0 16px;padding:34px;border:1px solid #5b452a;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 12% 25%,rgba(199,148,66,.14),transparent 32%),linear-gradient(135deg,#29221d,#17181d 70%)}
.sim-dossier-hero:after{content:"";position:absolute;inset:10px;border:1px solid rgba(222,191,126,.12);border-radius:17px;pointer-events:none}.sim-dossier-hero.is-deceased{border-color:#684149;background:radial-gradient(circle at 12% 25%,rgba(143,63,67,.18),transparent 32%),linear-gradient(135deg,#2b2021,#17181d 70%)}
.dossier-portrait{position:relative;z-index:1;width:100%;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(222,191,126,.42);border-radius:18px;background:#111318;box-shadow:0 18px 42px rgba(0,0,0,.35)}.dossier-portrait:after{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.15);border-radius:12px;pointer-events:none}.dossier-portrait>span{font:700 6rem Georgia;color:rgba(199,148,66,.65)}.dossier-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dossier-identity{position:relative;z-index:1}.dossier-identity h1{max-width:900px;margin:.12em 0;font-size:clamp(3rem,6vw,5.8rem);letter-spacing:-.035em}.name-history{margin:.2rem 0 1rem;color:#c9bda7;font:italic 1.05rem Georgia,serif}.identity-tags{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.identity-tags>span:not(.status){padding:4px 10px;border:1px solid rgba(199,148,66,.25);border-radius:999px;background:rgba(10,11,14,.3);color:#d8d0c2;font-size:.8rem;font-weight:700}
.vital-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.vital-line>div{display:grid;gap:2px;padding:13px 15px;border-left:2px solid var(--gold);background:rgba(0,0,0,.18)}.vital-line>div.death-vital{border-left-color:#a75b62}.vital-line small{letter-spacing:.1em;text-transform:uppercase}.vital-line strong{font-family:Georgia,serif;font-size:1.05rem}.vital-line span{color:var(--muted);font-size:.82rem}.profile-actions{display:flex;flex-wrap:wrap;gap:9px}.profile-actions .button{width:auto}
.profile-jump{position:sticky;top:0;z-index:20;display:flex;gap:5px;overflow-x:auto;margin:0 0 15px;padding:8px;border:1px solid var(--line);border-radius:13px;background:rgba(15,17,21,.94);backdrop-filter:blur(14px);scrollbar-width:thin}.profile-jump a{flex:0 0 auto;padding:7px 10px;border-radius:8px;color:var(--muted);font-size:.82rem;font-weight:800}.profile-jump a:hover{background:rgba(199,148,66,.13);color:var(--ink)}
.profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.profile-metrics article{min-width:0;padding:16px 17px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#1b1d22,#16181d)}.profile-metrics span,.profile-metrics small{display:block;color:var(--muted)}.profile-metrics>article>span{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.profile-metrics strong{display:block;overflow:hidden;margin:3px 0;font:700 1.35rem Georgia,serif;text-overflow:ellipsis;white-space:nowrap}
.sim-profile-columns{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(270px,.8fr);gap:16px;align-items:start;scroll-margin-top:55px}.sim-profile-main,.sim-profile-side{display:grid;gap:16px}.sim-profile-side{position:sticky;top:58px}.profile-section{padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(27,29,34,.98),rgba(20,22,27,.98));scroll-margin-top:58px}.profile-section h2{font-size:1.75rem}.profile-side-card h2{font-size:1.45rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-heading>span,.section-heading>a{flex:0 0 auto;color:var(--muted);font-size:.82rem}.record-stamp,.sync-chip{padding:5px 9px;border:1px solid rgba(199,148,66,.3);border-radius:999px;background:rgba(199,148,66,.08);color:#d7bd88!important;font-weight:800}.life-stage-track{margin:18px 0 20px}.life-stage-track>div:first-child{display:flex;justify-content:space-between;gap:10px}.life-stage-track>div:first-child span{color:var(--muted)}
.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--line)}.fact-grid>div{min-width:0;padding:13px;background:#181a1f}.fact-grid dt,.side-facts dt{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.fact-grid dd,.side-facts dd{margin:3px 0 0;font-weight:700}.fact-grid dd small{display:block;margin-top:3px;font-weight:400}.profile-note{margin:17px 0 0;padding:14px 17px;border-left:3px solid var(--gold);background:rgba(199,148,66,.06);color:#e2dacb;font:italic 1rem/1.65 Georgia,serif}
.household-banner{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;margin:14px 0 20px;padding:14px;border:1px solid rgba(199,148,66,.25);border-radius:13px;background:rgba(199,148,66,.06)}.household-banner>span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:#2a241c;color:var(--gold);font-size:1.5rem}.household-banner div{display:grid}.household-banner small,.household-banner em{color:var(--muted);font-style:normal}.household-banner>b{color:var(--gold);font-size:.82rem}.family-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.family-groups>.wide{grid-column:1/-1}.family-groups h3{margin-bottom:8px}.kin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.kin-card{display:flex;align-items:center;gap:10px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:11px;background:#15171c}.kin-card:hover{border-color:var(--gold);background:#1d1c1c}.kin-portrait{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:9px;background:#29241f}.kin-portrait img{width:100%;height:100%;object-fit:cover}.kin-portrait b{color:var(--gold);font:700 1.35rem Georgia}.kin-card>span:last-child{display:grid;min-width:0}.kin-card small,.kin-card em{overflow:hidden;color:var(--muted);font-size:.72rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.kin-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connected-list{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.connected-list>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.06)}.connected-list>a>span{display:grid}.connected-list small{color:var(--muted)}.connected-list em{color:var(--gold);font-size:.8rem;font-style:normal}
.spouse-editor{margin:20px 0 0}.spouse-editor>p{max-width:760px}.spouse-editor textarea{min-height:76px}
.health-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}.compact-record{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.07)}.compact-record>span:nth-child(2){display:grid;min-width:0}.compact-record strong,.compact-record small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-record small,.compact-record em{color:var(--muted);font-size:.76rem;font-style:normal}.record-dot{width:8px;height:8px;border-radius:50%;background:#697079}.record-dot.active{background:#d7a64e;box-shadow:0 0 0 4px rgba(215,166,78,.1)}.record-dot.closed{background:#4e8d6d}.allowance-ledger{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.allowance-ledger .section-heading p{margin:.3rem 0;color:var(--muted);font-size:.85rem}
.detected-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.detected-summary>div{display:grid;gap:2px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#15171c}.detected-summary span{color:var(--muted);font-size:.72rem;text-transform:uppercase}.detected-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detected-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detected-columns>div{min-width:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#15171c}.detected-columns h3{display:flex;justify-content:space-between}.detected-columns h3 span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#29241f;color:var(--gold);font:700 .75rem Inter}.tag-cloud{display:flex;flex-wrap:wrap;gap:5px;max-height:250px;overflow:auto}.tag-cloud span{padding:4px 7px;border:1px solid #3a3834;border-radius:999px;color:#c9c4bb;font-size:.72rem}.tag-cloud em{color:var(--muted);font-size:.8rem}
.profile-chronicle{position:relative;max-height:600px;overflow:auto;margin-top:13px;padding-left:16px}.profile-chronicle:before{content:"";position:absolute;left:76px;top:0;bottom:0;width:1px;background:linear-gradient(var(--gold),var(--line))}.profile-chronicle article{position:relative;display:grid;grid-template-columns:57px minmax(0,1fr);gap:26px;padding:0 0 19px}.profile-chronicle article:before{content:"";position:absolute;left:56px;top:5px;width:8px;height:8px;border:2px solid var(--gold);border-radius:50%;background:#191b20}.profile-chronicle time{color:var(--gold);font-size:.75rem;font-weight:800}.profile-chronicle h3{font-size:1rem}.profile-chronicle small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.roll-ledger{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.side-facts{display:grid;gap:0;margin:12px 0 0}.side-facts>div{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.side-facts dd{overflow-wrap:anywhere}.portrait-upload{display:grid;gap:5px}.portrait-upload button{width:100%}.portrait-gallery.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.portrait-gallery.compact article{padding:6px}.portrait-gallery.compact button{width:100%;padding:6px;font-size:.72rem}
.profile-editor{margin-top:20px;border:1px solid #5b452a;border-radius:17px;background:#17191e;scroll-margin-top:58px}.profile-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;cursor:pointer;list-style:none}.profile-editor>summary::-webkit-details-marker{display:none}.profile-editor>summary>span{display:grid}.profile-editor>summary small{color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.14em}.profile-editor>summary strong{font:700 1.35rem Georgia}.profile-editor>summary em{color:var(--muted);font-size:.8rem;font-style:normal}.profile-editor[open]>summary{border-bottom:1px solid var(--line)}.profile-editor[open]>summary em{font-size:0}.profile-editor[open]>summary em:after{content:"Close editor";font-size:.8rem}.dossier-form{padding:22px}.dossier-form fieldset{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:13px}.dossier-form legend{padding:0 8px;color:#dfc182;font:700 1.1rem Georgia}.checkbox-line{display:flex!important;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:8px}.checkbox-line input{width:auto}.save-dock{position:sticky;bottom:10px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border:1px solid rgba(199,148,66,.4);border-radius:12px;background:rgba(24,25,29,.96);box-shadow:0 10px 35px rgba(0,0,0,.35);backdrop-filter:blur(10px)}.save-dock span{color:var(--muted);font-size:.8rem}.save-dock button{width:auto}.profile-safety{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.profile-safety>.panel{margin:0}
@media(max-width:1150px){.sim-profile-columns{grid-template-columns:1fr}.sim-profile-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.sim-dossier-hero{grid-template-columns:105px minmax(0,1fr);gap:18px;padding:20px}.dossier-identity h1{font-size:clamp(2.2rem,10vw,3.5rem)}.dossier-portrait{align-self:start}.vital-line,.fact-grid,.family-groups,.health-split,.detected-columns,.sim-profile-side,.profile-safety{grid-template-columns:1fr}.family-groups>.wide{grid-column:auto}.profile-jump{top:0}.profile-section{padding:17px}.profile-metrics{grid-template-columns:1fr 1fr}.profile-actions{grid-column:1/-1}.save-dock{display:grid}.save-dock button{width:100%}}
@media(max-width:560px){.sim-dossier-hero{grid-template-columns:1fr}.dossier-portrait{width:130px}.profile-metrics{grid-template-columns:1fr}.vital-line{grid-template-columns:1fr}.profile-actions .button{width:100%;text-align:center}.section-heading{display:grid}.household-banner{grid-template-columns:auto 1fr}.household-banner>b{grid-column:1/-1}.detected-summary{grid-template-columns:1fr}.profile-jump{margin-inline:-8px;border-radius:0}.profile-chronicle{padding-left:0}.profile-chronicle:before{left:60px}.profile-chronicle article{grid-template-columns:42px 1fr}.profile-chronicle article:before{left:56px}.compact-record{grid-template-columns:auto minmax(0,1fr)}.compact-record>em{grid-column:2}.portrait-gallery.compact{grid-template-columns:repeat(2,1fr)}}
.tracker-alert-tray{position:fixed;z-index:1000;right:18px;bottom:18px;display:grid;width:min(410px,calc(100vw - 28px));gap:10px}.tracker-alert{display:grid;grid-template-columns:1fr auto;gap:14px;padding:16px;border:1px solid rgba(199,148,66,.55);border-radius:14px;background:rgba(24,25,29,.97);box-shadow:0 18px 50px rgba(0,0,0,.5);backdrop-filter:blur(12px)}.tracker-alert.baby{border-color:#d79bae}.tracker-alert.death{border-color:#a75b62}.tracker-alert strong{font:700 1.05rem Georgia,serif;color:#f1d69d}.tracker-alert p{margin:.3rem 0 0;color:var(--muted);font-size:.82rem}.tracker-alert>div:last-child{display:flex;gap:6px;align-items:center}.tracker-alert .button,.tracker-alert button{width:auto;white-space:nowrap}@media(max-width:620px){.tracker-alert{grid-template-columns:1fr}.tracker-alert>div:last-child{justify-content:flex-end}}
.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.export-grid .button{text-align:center}@media(max-width:620px){.export-grid{grid-template-columns:1fr}}
/* Save-a-Sims: keep a potentially emotional decision legible and compact. */
.save-a-sim-hero{background:linear-gradient(135deg,rgba(70,105,84,.28),rgba(31,25,22,.96)),radial-gradient(circle at 88% 0,rgba(216,164,79,.16),transparent 42%)}.save-a-sim-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.save-a-sim-card{margin:0}.save-a-sim-balance{border-color:rgba(95,166,113,.48)!important;background:linear-gradient(145deg,rgba(54,110,74,.23),rgba(24,28,25,.95))!important}.save-a-sim-balance strong{color:#b9ddb5}.save-a-sim-progress{display:grid;grid-template-columns:auto minmax(100px,1fr);gap:.7rem 1rem;align-items:center;margin:.9rem 0;padding:.9rem;border:1px solid var(--line);border-radius:.85rem;background:rgba(255,255,255,.025)}.save-a-sim-progress>div:first-child{display:grid}.save-a-sim-progress strong{font:700 1.6rem Georgia,serif;color:var(--gold)}.save-a-sim-progress span,.save-a-sim-progress small{color:var(--muted);font-size:.76rem}.save-a-sim-progress small{grid-column:1/-1}.save-a-sim-track{height:.6rem;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.save-a-sim-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8a682e,var(--gold));transition:width .25s ease}.condition-status{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 0;border-top:1px solid var(--line)}.condition-status>span{display:grid;place-items:center;width:1.6rem;height:1.6rem;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;color:var(--muted)}.condition-status.complete>span{border-color:rgba(95,166,113,.55);background:rgba(95,166,113,.15);color:#b9ddb5}.condition-status div{display:grid;gap:.13rem}.condition-status small{color:var(--muted);line-height:1.4}.save-a-sim-spend-note{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem;border:1px solid rgba(199,148,66,.3);border-radius:.7rem;background:rgba(199,148,66,.07)}.save-a-sim-spend-note span{flex:0 0 auto;padding:.18rem .45rem;border-radius:999px;background:rgba(199,148,66,.2);color:var(--gold);font-size:.73rem;font-weight:800}.save-a-sim-spend-note small{color:var(--muted);line-height:1.4}.save-a-sim-rule-list{display:grid;gap:.65rem;margin-top:1rem}.save-a-sim-rule-body{padding:.85rem 1rem 1rem;border-top:1px solid var(--line)}.save-a-sim-rule-body>p{margin:.15rem 0 .7rem}.save-a-sim-rule-body .nested-drawer{margin-top:.8rem}.save-a-sim-rule-body .nested-drawer>form{margin-top:.8rem}.save-a-sim-ledger{margin-top:1rem}.save-a-sim-ledger-list{max-height:32rem;overflow:auto}.save-a-sim-amount{min-width:2.5rem;padding:.35rem .55rem;border:1px solid var(--line);border-radius:999px;text-align:center;font-size:.85rem}.save-a-sim-amount.earned{border-color:rgba(95,166,113,.45);background:rgba(95,166,113,.12);color:#b9ddb5}.save-a-sim-amount.spent{border-color:rgba(186,94,94,.45);background:rgba(186,94,94,.12);color:#e6aaaa}@media(max-width:850px){.save-a-sim-grid{grid-template-columns:1fr}}@media(max-width:560px){.save-a-sim-progress{grid-template-columns:1fr}.save-a-sim-progress small{grid-column:auto}.save-a-sim-track{width:100%}}
.conflict-table{display:grid;grid-template-columns:minmax(120px,.55fr) minmax(220px,1fr) minmax(220px,1fr);gap:1px;margin:14px 0;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--line)}.conflict-table>div,.conflict-choice{min-width:0;padding:9px;background:#16181d}.conflict-head{color:var(--gold);font-weight:800}.conflict-choice{display:flex!important;gap:7px;align-items:flex-start}.conflict-choice.changed{background:#211e1c}.conflict-choice input{width:auto;margin-top:3px}.conflict-choice code{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.72rem}@media(max-width:760px){.conflict-table{grid-template-columns:100px minmax(170px,1fr) minmax(170px,1fr)}}
/* Historical Life keeps a large connected feature set readable without
   turning it into another spreadsheet. */
.historical-life-hero{background:linear-gradient(135deg,rgba(87,55,26,.34),rgba(31,25,22,.96)),radial-gradient(circle at 88% 0,rgba(216,164,79,.18),transparent 42%)}
.historical-life-nav{position:sticky;top:0;z-index:8;display:flex;gap:.45rem;overflow-x:auto;padding:.65rem;margin:1rem 0 1.4rem;border:1px solid var(--line);border-radius:1rem;background:rgba(15,17,22,.94);backdrop-filter:blur(12px)}
.historical-life-nav a{white-space:nowrap;padding:.55rem .75rem;border-radius:.7rem;color:var(--muted);text-decoration:none;font-weight:700;font-size:.82rem}
.historical-life-nav a:hover,.historical-life-nav a:focus{color:var(--text);background:rgba(207,151,60,.14)}
.historical-life-section{scroll-margin-top:5rem;margin:1.4rem 0;padding:1.1rem;border:1px solid var(--line);border-radius:1.15rem;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006))}
.historical-profile{border-left:4px solid var(--gold)}
.era-progress{height:.55rem;margin:.8rem 0 1rem;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07)}
.era-progress span{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#96702f,#e1ad50);transition:width .25s ease}
.historical-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.65rem}
.historical-check,.historical-check button{width:100%;height:100%;margin:0}
.historical-check button{display:grid;grid-template-columns:1.5rem 1fr;text-align:left;align-items:start;gap:.1rem .5rem;padding:.85rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface-2);color:var(--text)}
.historical-check button span{grid-row:1/3;color:var(--gold);font-size:1.2rem}
.historical-check button small{grid-column:2;color:var(--muted);line-height:1.35}
.historical-check.complete button{opacity:.7;background:rgba(71,121,88,.12);border-color:rgba(91,165,113,.35)}
.two-column-life{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.two-column-life>.panel{margin:0;min-width:0}
.historical-estates{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.compact-form{display:grid;gap:.55rem}.compact-form textarea{min-height:5rem}
.marriage-pair,.inventory-suggestion{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.marriage-pair span{display:grid}.marriage-pair small{color:var(--muted)}
.historical-letter{margin:.75rem 0;padding:1rem;border-left:3px solid var(--gold);background:rgba(255,255,255,.025);font-family:Georgia,serif;line-height:1.65}
.warning-copy{color:#e6b36d}.notice.warning{border-color:rgba(204,126,63,.5);background:rgba(133,68,32,.15)}
@media(max-width:850px){.two-column-life{grid-template-columns:1fr}.historical-life-section{padding:.8rem}.historical-life-nav{top:3.9rem;margin-inline:-.5rem;border-radius:.75rem}.historical-checklist{grid-template-columns:1fr}}

/* Compact family plans and the connected Life Records workspace. */
.family-plan-list{display:grid;gap:.55rem}.family-plan-compact{margin:0;padding:0;overflow:hidden}.family-plan-compact>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;cursor:pointer;list-style:none}.family-plan-compact>summary::-webkit-details-marker{display:none}.family-plan-compact>summary>span:first-child{display:grid;min-width:0}.family-plan-compact>summary small{color:var(--gold);font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.family-plan-compact>summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-quick{display:flex;gap:.55rem;align-items:center;color:var(--muted);font-size:.76rem;white-space:nowrap}.plan-quick b{color:#e2c27e}.family-plan-detail{padding:0 1rem 1rem;border-top:1px solid var(--line)}.family-plan-detail .metric-strip{margin:.8rem 0}.family-plan-detail .metric-strip article{padding:.75rem}.family-plan-detail .metric-strip strong{font-size:1.15rem}
.compact-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.65rem}.compact-record-grid>.empty{grid-column:1/-1}
details.compact-record{display:block;margin:0;padding:0;border:1px solid var(--line);border-radius:.85rem;background:var(--panel);overflow:hidden}details.compact-record>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;cursor:pointer;list-style:none}details.compact-record>summary::-webkit-details-marker{display:none}details.compact-record>summary>span:first-child{display:grid;min-width:0}details.compact-record>summary strong,details.compact-record>summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}details.compact-record>summary small{color:var(--muted);font-size:.72rem}details.compact-record[open]>summary{border-bottom:1px solid var(--line);background:rgba(199,148,66,.05)}details.compact-record>form,details.compact-record>p,details.compact-record>ul,details.compact-record>details{margin:.8rem}
.record-inline-form{display:grid;grid-template-columns:minmax(170px,1fr) minmax(150px,.8fr) auto auto;gap:.5rem;align-items:center}.record-inline-form input,.record-inline-form select,.record-inline-form button{margin:0}.record-inline-form>span{display:grid;min-width:0}.record-inline-form small{color:var(--muted)}.sim-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.35rem;max-height:19rem;overflow:auto;padding:.75rem;border:1px solid var(--line);border-radius:.75rem}.sim-check-grid legend{padding:0 .35rem;color:var(--gold);font-weight:800}.newspaper>div{margin-top:.8rem;padding:1rem;border:1px solid rgba(199,148,66,.2);background:#151619;font:1rem/1.7 Georgia,serif}
@media(max-width:850px){.family-plan-compact>summary{align-items:flex-start}.plan-quick{flex-wrap:wrap;justify-content:flex-end}.compact-record-grid{grid-template-columns:1fr}.record-inline-form{grid-template-columns:1fr 1fr}.record-inline-form>span{grid-column:1/-1}}
@media(max-width:560px){.family-plan-compact>summary{display:grid}.plan-quick{justify-content:flex-start;white-space:normal}.record-inline-form{grid-template-columns:1fr}.record-inline-form>span{grid-column:auto}.sim-check-grid{grid-template-columns:1fr}}
