/* Os Almeidas: leitura, fotografias e navegação de família. */
:root {
  --bg-canvas:#f7f3eb; --bg-surface:#fffdf8; --bg-elevated:#fffdf8; --bg-subtle:#eee8df;
  --bg-glass:rgba(255,253,248,.97); --ink-primary:#2f2c2a; --ink-secondary:#67605a; --ink-muted:#77716b; --ink-inverse:#fffdf8;
  --line-hair:#e4ddd3; --line-strong:#bfb2a4; --line-focus:#b64c25;
  --accent-braun:#b64c25; --accent-gold:#9b703d; --accent-signal:#4c647b;
  --font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-display:var(--font-sans); --font-mono:var(--font-sans);
  --radius-md:10px; --radius-lg:16px;
  --shadow-card:0 2px 9px #39302905; --shadow-float:0 12px 40px #39302918;
  --leg-avos:#937039; --leg-filhos:#b48b3c; --leg-noras:#a95e48; --leg-netos:#507395;
  --leg-conj-netos:#625b91; --leg-bisnetos:#85689a; --leg-conj-bisnetos:#5c536e; --leg-trinetos:#ac6280;
}
body.theme-dark {
  --bg-canvas:#211e1c; --bg-surface:#2c2825; --bg-elevated:#35302c; --bg-subtle:#403832;
  --bg-glass:rgba(44,40,37,.97); --ink-primary:#f8f0e7; --ink-secondary:#d7cabe;
  --ink-muted:#c1b5aa; --ink-inverse:#211e1c; --line-hair:#50453b; --line-strong:#897566;
  --accent-braun:#f3aa7d; --accent-gold:#dab483; --line-focus:#ffc09a;
}
html,body{font-size:16px;line-height:1.55}
button,input,select,textarea{font:inherit}
[hidden]{display:none!important}
.btn{min-height:42px;height:auto;padding:.55rem .9rem;font-size:.875rem;white-space:normal;line-height:1.3}
.btn-primary{background:var(--accent-braun);color:var(--ink-inverse)!important;border-color:var(--accent-braun)}
.btn-primary:hover{background:#943d1c;filter:none}
.ctrl-icon-btn{min-width:40px;min-height:40px}
:where(button,input,select,textarea,summary,a,[tabindex]):focus-visible{outline:3px solid var(--line-focus);outline-offset:3px}
.top-header{padding:14px 24px;gap:16px;min-height:88px;flex-wrap:wrap}
.brand-group{gap:12px}.crest-thumb{width:48px;height:48px;object-fit:contain;border:0}
.brand-titles h1{font:700 27px/1.1 var(--font-display);text-transform:none;letter-spacing:-.03em}
.brand-subtitle{font-size:12px;margin-top:5px;letter-spacing:.04em}
#headerMetricsSummary,.brand-subtitle>.hide-on-xs{display:none}
.view-tabs{background:transparent;padding:0;gap:4px;flex-shrink:0}
.tab-btn{font-size:14px;min-height:42px;padding:10px 16px;border-radius:24px;white-space:nowrap}
.tab-btn.active,.tab-btn[aria-current="page"]{background:var(--accent-braun);color:var(--bg-elevated);box-shadow:none}
.top-header .header-actions{flex:1 1 350px;justify-content:flex-end;gap:8px;min-width:0;margin:0}
.header-actions .search-box{width:clamp(180px,19vw,300px);flex:1 1 180px;max-width:320px;min-width:0}
.search-box input{height:44px;font-size:14px;width:100%}
.search-box input::placeholder{color:var(--ink-muted);opacity:1}
.search-kbd{display:none}.header-more-menu{min-width:220px}.header-more-menu .btn{min-height:44px}
#syncStatus{font-size:12px}.search-result-item{width:100%;border:0;border-bottom:1px solid var(--line-hair);text-align:left;color:var(--ink-primary);background:var(--bg-elevated);gap:10px;min-height:56px;font-size:14px}
.search-results-dropdown{max-width:calc(100vw - 32px);width:370px;z-index:110}
.family-subnav{display:flex;gap:6px;align-items:center;padding:10px 24px;border-bottom:1px solid var(--line-hair);background:var(--bg-surface);overflow:auto;flex-shrink:0}
.family-subnav .tab-btn{font-size:13px;padding:8px 16px;min-height:38px}
body:not(:has(:is(#view-tree,#view-radial,#view-facts,#view-birthdays,#view-census,#view-registry).active)) :is(.family-subnav,.filter-rail){display:none}
body:not(:has(:is(#view-tree,#view-radial).active)) .filter-rail{display:none}
.filter-rail{flex-wrap:wrap;padding:7px 24px;gap:5px;min-height:44px}
.houses-chips{flex:1 1 100%;min-width:0}.house-chip{font-size:12px;min-height:36px}
.filter-rail-right{width:100%;justify-content:flex-end}.legend-strip{gap:12px}.legend-item{font-size:12px;min-height:32px}
.main-workspace{min-height:0}.dashboard-container{max-width:1240px;padding:32px 30px 64px;gap:24px}
.section-header-bar h2{font:32px/1.2 var(--font-display);letter-spacing:-.025em;text-transform:none}
.section-header-bar p{font-size:15px;line-height:1.6;margin-top:10px;max-width:820px}
.section-header-bar{align-items:flex-start;gap:20px;flex-wrap:wrap}
.fact-panel{padding:24px;gap:16px}.fact-panel h3{font-size:16px;text-transform:none;letter-spacing:0;line-height:1.4;gap:12px;flex-wrap:wrap}
.fact-panel p,.house-patriarch-card p{font-size:14px!important;line-height:1.6}
.house-patriarch-card{padding:22px;border-top:2px solid var(--accent-gold)}
.house-card-head h3{font:23px/1.2 var(--font-display)}.mini-stat-box span{font-size:12px}.mini-stat-box{border:0;background:var(--bg-canvas);padding:10px 3px}
.complete-family-details{margin-top:20px}.complete-family-details>summary{cursor:pointer;padding:16px;border:1px solid var(--line-hair);border-radius:8px;font-weight:600}
.complete-family-details .fact-panel{margin-top:12px}
.fun-facts-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.bar-row-header,.kpi-card .kpi-label{font-size:13px}
.filter-controls{min-width:0;max-width:100%}.filter-controls input,.filter-controls select,.kinship-select{min-width:0;max-width:100%;min-height:44px;font-size:16px}
.canvas-instructions{font-size:13px;max-width:450px;padding:10px 14px}
.node-name{font-size:14px}.node-year,.node-spouse-box{font-size:11px}.node-code-badge,.node-chrono-badge{font-size:10px}.node-role-tag{font-size:10px}
.tree-node-card{height:72px}.tree-node-card:has(.node-spouse-box){height:98px}
.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.profile-facts>div{min-width:0}.profile-facts dt{font-size:13px;color:var(--ink-secondary)}.profile-facts dd{margin:4px 0 0;font-size:16px;overflow-wrap:anywhere}
.profile-relations{display:flex;flex-wrap:wrap;gap:8px}.profile-person-link{padding:8px 12px;border:1px solid var(--line-hair);border-radius:8px;background:var(--bg-surface);color:var(--accent-braun);font:inherit;cursor:pointer;min-height:44px}
.profile-no-photo{padding:18px;border:1px dashed var(--line-strong);border-radius:10px;font-size:16px;color:var(--ink-secondary);background:var(--bg-subtle)}
.profile-spouse-photo{width:90px;height:120px;object-fit:contain;border-radius:8px}
.person-metadata-fields{margin:16px 0;padding:16px;border:1px solid var(--line-hair);border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.person-metadata-fields legend{font-weight:600;padding:0 6px;font-size:14px}.person-metadata-fields label{display:grid;gap:6px;font-size:14px;min-width:0}.person-metadata-fields input,.person-metadata-fields select{min-width:0;width:100%;min-height:44px;font-size:16px;background:var(--bg-surface);color:var(--ink-primary);border:1px solid var(--line-strong);border-radius:6px;padding:8px}
#memberFormError:not(:empty){color:#a2252f;background:#fff1ef;padding:12px;border-radius:8px}#syncRecoveryActions{display:flex;flex-wrap:wrap;gap:8px;padding:12px}#birthdaysUnknownNotice{padding:16px;background:var(--bg-subtle);border-radius:8px}#birthdaysUnknownList{margin-top:12px}
.member-drawer{position:fixed;top:0;right:0;width:540px;max-width:95vw;height:100dvh;max-height:none;z-index:200;background:var(--bg-surface);border-left:1px solid var(--line-hair)}
.member-drawer:not(.open){visibility:hidden;pointer-events:none}.member-drawer.open{visibility:visible}
.drawer-header{padding:16px 24px;align-items:center;flex-shrink:0;min-height:64px}
.drawer-title-group h2{font:22px/1.2 var(--font-display)}
#drawerCodeBadge{display:none}#drawerMemberRole{font-size:13px!important}
.drawer-body{padding:24px;gap:20px;min-height:0;overscroll-behavior:contain}
.profile-hero{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:0 0 12px}
.profile-portrait-button{display:block;border:0;background:transparent;padding:0;cursor:zoom-in;max-width:100%;border-radius:12px}
.profile-portrait{display:block;width:240px;height:320px;max-width:100%;object-fit:contain;border-radius:10px;background:var(--bg-subtle);box-shadow:0 8px 26px #2f2c2a18}
.profile-identity h2,.profile-identity h3{font:30px/1.15 var(--font-display);margin:4px 0 10px}
.profile-identity p{font-size:15px;color:var(--ink-secondary);margin:6px 0}.profile-empty{padding:18px;border:1px dashed var(--line-strong);border-radius:10px;font-size:16px}
.profile-record-details{padding:16px;border:1px solid var(--line-hair);border-radius:10px}.profile-record-details summary{cursor:pointer;font-weight:600;font-size:15px}.profile-record-details[open]>*:not(summary){margin-top:16px}
.info-card{padding:18px;border:0;border-radius:10px;background:var(--bg-elevated)}
.info-card h4{font:600 16px/1.4 var(--font-sans);text-transform:none;letter-spacing:0;color:var(--ink-primary);margin-bottom:12px}
.info-field span.label{font-size:13px}.info-field span.value{font-size:15px}.info-grid{gap:16px}.lineage-step{font-size:14px;min-height:44px;flex-wrap:wrap}
.drawer-actions{padding:12px 20px;gap:8px;flex-shrink:0;background:var(--bg-surface)}
.drawer-actions .btn{font-size:13px}.drawer-actions #btnDrawerFocusRadial{display:none!important}
#portraitViewer{max-width:94vw;width:fit-content;min-width:min(440px,94vw);max-height:94dvh;padding:20px}#portraitViewer img{display:block;max-width:100%;max-height:75dvh;width:auto;height:auto;object-fit:contain;margin:12px auto}#portraitViewer button{min-height:44px;padding:8px 14px;border:1px solid var(--line-hair);border-radius:8px;background:var(--bg-surface);color:var(--ink-primary);font:inherit;cursor:pointer}
dialog{width:min(700px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:92dvh;overflow:auto;border:1px solid var(--line-hair);border-radius:16px;background:var(--bg-elevated);color:var(--ink-primary)}
.dialog-inner{width:100%;min-width:0;max-width:100%;padding:24px;overflow-wrap:anywhere}
.dialog-header{gap:16px}.dialog-header h2{font:25px/1.25 var(--font-display);min-width:0}.dialog-header button{flex-shrink:0}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid>*{min-width:0}.form-group,.form-extra,.spouse-fieldset{min-width:0;max-width:100%}
.form-group label,.form-field-label{font-size:14px}.form-group input,.form-group select,.form-group textarea{min-width:0;width:100%;min-height:44px;font-size:16px}.form-group textarea{height:auto;padding:12px}.form-extra{padding:16px}.form-extra>p{font-size:14px}
.file-input-accessible{width:1px!important;max-width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important}.form-photo-controls{min-width:0;max-width:100%}
.dialog-footer{flex-wrap:wrap;gap:12px}.proposal-meta-box{padding:16px;overflow-wrap:anywhere}.proposal-meta-box p{font-size:14px!important}.proposal-meta-box>div:first-child{font-size:14px!important}
.family-gate-overlay{background:#203038;background-image:radial-gradient(ellipse at top,#364649,transparent 70%)}
.family-gate-card{max-width:650px;padding:24px}.family-gate-image-wrap{width:280px;height:280px;max-height:32dvh;margin-bottom:20px}
.family-gate-title{font:38px/1.15 var(--font-display)}.family-gate-sub{color:#e2ddd4;font-size:16px;max-width:490px}.family-gate-badge{font:12px/1.5 var(--font-sans);letter-spacing:.08em;color:#e2c695;background:transparent;border:0}
.family-gate-form{max-width:460px}.family-gate-input{font-size:16px;background:#15242b;border-color:#8c9b9e}.family-gate-help{font-size:13px;color:#d4d8d6}.family-gate-label{font-size:15px}.family-gate-btn{background:var(--accent-braun)}.family-gate-feedback.error{color:#ffbdbd}
.festa-countdown-grid>div:not(:first-child){display:none}.festa-countdown-grid{grid-template-columns:1fr!important;max-width:200px!important}
@media(min-width:961px){.mobile-bottom-nav{display:none!important}}
@media(max-width:1100px){.top-header{gap:12px;padding:12px 18px}.top-header .header-actions{flex-basis:100%;justify-content:stretch}.header-actions .search-box{max-width:none}.view-tabs{margin-left:auto}}
@media(max-width:960px){
 .top-header{min-height:0;padding:12px 16px;gap:10px}.brand-titles h1{font-size:25px}.crest-thumb{width:42px;height:42px}.view-tabs{display:none!important}
 .header-actions{flex-wrap:nowrap!important}.header-actions .search-box{flex:1 1 0}.header-actions #btnNewMemberTop{display:none}.header-actions .btn,.header-more summary{min-height:44px;font-size:14px}.header-actions .header-more{margin-left:0}
 .family-subnav{padding:6px 12px;gap:2px}.family-subnav .tab-btn{font-size:13px;min-height:40px;padding:7px 13px}
 .filter-rail{padding:4px 12px;min-height:0}.filter-rail-right{display:none}.houses-chips{min-height:36px}
 .mobile-bottom-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;gap:0;padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:var(--bg-surface);border-top:1px solid var(--line-hair);min-height:60px}
 .mob-nav-btn{width:100%;min-width:0;min-height:48px;flex:none;font-size:13px;gap:0;padding:8px 2px;font-weight:600;white-space:nowrap;color:var(--ink-secondary)}
 .mob-nav-btn.active{background:var(--bg-subtle);color:var(--accent-braun);border-radius:10px}
 .member-drawer{position:fixed;inset:0;width:100%;max-width:100%;height:100dvh;z-index:200;border:0;border-radius:0;transform:translateX(105%)}
 .member-drawer.open{transform:translateX(0)!important}.drawer-drag-handle{display:none}.drawer-header{padding:12px 18px}.drawer-header h2{font-size:19px}.drawer-body{padding:18px}.drawer-actions{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
 .drawer-actions #btnDrawerAddChild,.drawer-actions #btnDrawerCloseBottom{display:none!important}.profile-portrait{height:min(320px,38dvh);width:auto;max-width:85vw}.profile-identity h2,.profile-identity h3{font-size:28px}.person-metadata-fields{grid-template-columns:minmax(0,1fr)}
 .dashboard-container{padding:24px 16px 36px}.section-header-bar h2{font-size:28px}.section-header-bar p{font-size:15px}.fact-panel{padding:18px}.houses-showcase-grid{grid-template-columns:1fr}.house-card-head h3{font-size:24px}
 .form-grid{grid-template-columns:minmax(0,1fr)}.dialog-inner{padding:18px}.dialog-header h2{font-size:22px}.dialog-footer .btn{flex:1 1 130px}.form-photo-row{flex-wrap:wrap}.form-photo-inputs{min-width:0;width:100%}.kinship-box{grid-template-columns:minmax(0,1fr)}
 .family-gate-title{font-size:32px}.family-gate-image-wrap{width:230px;height:230px}.family-gate-card{padding:20px 16px}.family-gate-sub{font-size:15px}.family-gate-badge{font-size:11px}
 .canvas-instructions{max-width:calc(100% - 24px);font-size:12px;padding:6px 10px}
 .filter-controls{width:100%}.filter-controls input,.filter-controls select{width:100%}.section-header-bar>*{min-width:0;max-width:100%}
 .canvas-hud-bottom{max-width:calc(100% - 18px)}.hud-pod{min-width:0;max-width:100%;scrollbar-width:thin}.hud-pod>*{flex-shrink:0}.hud-pod .btn{white-space:nowrap}.hud-pod .btn-step-birth{display:inline-flex}.hud-pod .time-slider{width:100px}.hud-pod .time-label{font-size:10px;min-width:180px}.hud-pod::-webkit-scrollbar{display:block;height:3px}.hud-pod::-webkit-scrollbar-thumb{background:var(--line-strong)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Pessoas: acrescentar ao refresh.css; não é necessário carregar outro ficheiro. */
.people-directory-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0}
.people-directory-controls>p{margin:0;color:var(--ink-secondary);font-size:.9rem}
.people-display-switch{display:flex;gap:.35rem}
.people-display-switch [aria-pressed="true"]{background:var(--ink-primary);color:var(--bg-surface);border-color:var(--ink-primary)}
.people-directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr));gap:1rem;align-items:stretch}
.person-directory-card{display:flex;align-items:flex-start;gap:1rem;min-width:0;width:100%;padding:1.1rem;border:1px solid var(--line-hair);border-radius:14px;background:var(--bg-elevated);color:var(--ink-primary);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .15s,transform .15s}
.person-directory-card:hover{border-color:var(--accent-braun);transform:translateY(-2px)}
.person-directory-card:focus-visible{outline:3px solid var(--accent-braun);outline-offset:3px}
.person-card-portrait{width:72px;height:90px;flex:0 0 72px;object-fit:cover;border-radius:9px;background:var(--bg-subtle)}
.person-initials{display:flex;align-items:center;justify-content:center;font-family:var(--font-serif,var(--font-sans));font-size:1.5rem;color:var(--ink-muted);letter-spacing:.02em}
.person-card-content{display:flex;flex-direction:column;align-self:stretch;gap:.35rem;min-width:0;line-height:1.35}
.person-card-name{font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.person-card-relation,.person-card-partner,.person-card-dates{font-size:.79rem;color:var(--ink-secondary);overflow-wrap:anywhere}
.person-card-dates:empty{display:none}
.person-card-open{font-size:.8rem;color:var(--accent-braun);padding-top:.45rem;margin-top:auto;font-weight:600}
.people-empty{grid-column:1/-1;padding:2rem;border:1px dashed var(--line-strong);border-radius:14px;text-align:center}
.people-empty p{margin:.65rem 0 1rem;color:var(--ink-secondary)}
.birthday-person-heading{display:flex;align-items:center;gap:.8rem;min-width:0}
.birthday-person-portrait{width:64px;height:80px;object-fit:cover;border-radius:8px;flex:0 0 64px}
.birthday-list-portrait{width:34px;height:42px;object-fit:cover;border-radius:5px;flex:0 0 34px}
.house-person-portrait{width:64px;height:80px;object-fit:cover;border-radius:8px;flex:0 0 64px}
.house-card-head>div{min-width:0;flex:1}
.house-card-head h3{overflow-wrap:anywhere}
.memorial-person-portrait{float:right;width:64px;height:80px;object-fit:cover;border-radius:8px;margin:0 0 .65rem .75rem}
@media(max-width:560px){.people-display-switch{width:100%}.people-display-switch .btn{flex:1}.people-directory-grid{gap:.75rem}.person-directory-card{padding:1rem}.person-card-portrait{width:64px;height:80px;flex-basis:64px}.house-card-head{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.person-directory-card{transition:none}.person-directory-card:hover{transform:none}}

.registry-about{font-size:14px;margin-top:12px;color:var(--ink-secondary)}.registry-about summary,.directory-filters summary{cursor:pointer;min-height:36px;padding:6px 0}.directory-filters{width:100%}.directory-filters[open]>.filter-controls{margin-top:10px;gap:10px}.directory-toolbar{align-items:flex-start;gap:16px}.directory-toolbar>.filter-controls{flex:1;min-width:0}.directory-toolbar #dirSearchInput{width:100%;min-width:0}

/* Arquivo familiar: navegação e tipografia comuns. */
body{font-family:var(--font-sans);font-weight:400}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:650;letter-spacing:-.025em}
.app-shell{padding-left:232px}.site-sidebar{position:fixed;inset:0 auto 0 0;width:232px;display:flex;flex-direction:column;padding:30px 22px;background:var(--bg-surface);border-right:1px solid var(--line-hair);z-index:45}.site-sidebar .brand-group{flex-direction:column;align-items:flex-start;gap:18px;white-space:normal}.site-sidebar .crest-thumb{width:72px;height:72px;border-radius:50%;box-shadow:none}.site-sidebar .brand-titles h1{font-size:25px;line-height:1.1;font-weight:700;letter-spacing:-.045em}.site-sidebar .brand-subtitle{font-size:12px;letter-spacing:0;color:var(--ink-secondary)}
.nav-caption{margin:36px 12px 12px;color:var(--ink-muted);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.site-sidebar .view-tabs{display:flex!important;flex-direction:column;align-items:stretch;gap:6px;width:100%;margin:0;overflow:visible}.site-sidebar .tab-btn{min-height:46px;text-align:left;padding:12px 14px;border:0;border-radius:8px;font-size:14px;font-weight:550;color:var(--ink-secondary);background:transparent;box-shadow:none}.site-sidebar .tab-btn:hover{background:var(--bg-canvas);color:var(--ink-primary)}.site-sidebar .tab-btn.active{background:var(--bg-subtle);color:var(--accent-braun);font-weight:700;box-shadow:inset 3px 0 var(--accent-braun)}.sidebar-note{margin-top:auto;padding:28px 12px 4px;color:var(--ink-secondary);font-size:13px;line-height:1.65}.sidebar-note>span{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.sidebar-note p{margin-top:8px}
.top-header{min-height:84px;padding:18px 32px;flex-wrap:nowrap;gap:18px;background:var(--bg-surface)}.top-header .header-actions{flex:1 1 auto;justify-content:flex-start;margin:0;gap:12px;min-width:0}.header-actions .search-box{max-width:520px;flex:1 1 220px;width:auto}.search-box input{background:var(--bg-canvas);border-color:transparent;border-radius:9px;padding-left:14px;font-size:14px}.header-actions .btn,.header-more summary{border-radius:8px;font-size:13px;white-space:nowrap}#syncStatus{font-size:11px!important;max-width:104px;flex:0 0 auto;line-height:1.4;color:var(--ink-secondary)}
.family-subnav{padding:10px 32px;background:var(--bg-surface);gap:6px}.family-subnav .tab-btn{border-radius:7px;font-weight:550;font-size:13px}.family-subnav .tab-btn.active{background:var(--bg-subtle);color:var(--accent-braun)}.filter-rail{padding:8px 32px;background:var(--bg-canvas)}.dashboard-container,.community-view .community-page{max-width:1360px;padding:34px 36px 70px}
.community-page h2,.section-header-bar h2{font:650 clamp(28px,2.8vw,38px)/1.15 var(--font-sans);letter-spacing:-.035em}.community-page h3,.community-event h3{font:650 23px/1.3 var(--font-sans);letter-spacing:-.025em}.community-eyebrow{color:var(--ink-secondary);font-size:11px!important;letter-spacing:.1em;margin-bottom:10px}.community-button,.btn{border-radius:8px;font-weight:550}.community-primary,.btn-primary{background:var(--accent-braun);border-color:var(--accent-braun);color:var(--ink-inverse)!important}.community-primary:hover,.btn-primary:hover{background:var(--accent-braun);color:var(--ink-inverse)!important;filter:brightness(.93)}.community-subnav{gap:18px}.community-subnav button{padding:10px 2px}.community-section-heading{margin-top:38px;margin-bottom:20px;gap:16px}.community-page-heading{margin-top:4px}.community-page-heading p{font-size:15px;max-width:640px}.community-filters{padding:18px;background:var(--bg-surface);border-radius:10px}
.memory-card{padding:0;overflow:hidden;border-radius:12px;box-shadow:none}.memory-open img{height:240px;background:var(--bg-subtle)}.memory-caption{padding:18px;gap:6px}.memory-caption strong{font:600 17px/1.4 var(--font-sans);letter-spacing:-.015em}.memory-story-cover p{font:400 18px/1.55 var(--font-sans)}.recipe-card{padding:24px;border-top:1px solid var(--line-hair);border-radius:12px;box-shadow:none}.recipe-card h3{font:650 21px/1.3 var(--font-sans)}.community-recipe-invite{background:var(--bg-subtle);border:0;border-radius:14px;padding:30px;margin-top:38px}.community-recipe-invite h3{font-size:25px}.community-recipe-invite p:not(.community-eyebrow){font-size:15px;color:var(--ink-secondary)}.community-dialog h2,.dialog-header h2{font:650 25px/1.25 var(--font-sans)}.community-panel h4,.recipe-reading h3,.house-card-head h3,.profile-identity h2,.profile-identity h3{font-family:var(--font-sans);font-weight:650}.profile-identity h2,.profile-identity h3{font-size:28px}.profile-portrait{box-shadow:none;border-radius:12px}.member-drawer{box-shadow:-10px 0 50px #39302914}.drawer-header{border-bottom:1px solid var(--line-hair)}
.profile-birth-navigation{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-subtle);border:1px solid var(--line-hair);border-radius:12px}.profile-birth-position{font-size:13px;font-weight:600}.profile-birth-controls{display:flex;gap:8px;flex-wrap:wrap}.profile-birth-controls .btn{flex:1 1 auto;min-height:44px;font-size:13px}.profile-birth-note{font-size:12px;line-height:1.5;color:var(--ink-secondary)}button:disabled{cursor:not-allowed;opacity:.45}.hud-pod{background:var(--bg-surface);border:1px solid var(--line-hair);border-radius:12px;padding:8px;gap:8px;box-shadow:var(--shadow-float)}.hud-pod .btn-step-birth{font-size:12px;min-height:38px}.hud-pod .time-label{font-size:12px;font-weight:500}
.home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin:2px 0 28px}.home-heading h2{font:650 clamp(34px,3.6vw,48px)/1.08 var(--font-sans);letter-spacing:-.045em;margin:10px 0 16px}.home-heading>div>p:last-child{max-width:530px;font-size:16px;line-height:1.65;color:var(--ink-secondary)}.home-gathering{display:flex;flex-direction:column;gap:8px;text-align:left;min-width:220px;max-width:290px;padding:18px 20px;border:1px solid var(--line-hair);border-radius:12px;background:var(--bg-surface);color:var(--ink-primary);font:inherit;cursor:pointer}.home-gathering span{font-size:12px;color:var(--ink-secondary)}.home-gathering strong{font-size:16px;font-weight:600}.home-gathering:hover{border-color:var(--accent-braun)}
.home-feature-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-bottom:24px;align-items:stretch}.home-album-feature{margin:0;min-width:0;overflow:hidden;border:1px solid var(--line-hair);border-radius:14px;background:var(--bg-surface)}.home-album-feature button{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;background:transparent;color:var(--ink-primary);font:inherit;text-align:left;cursor:pointer}.home-album-feature img{display:block;width:100%;height:300px;flex:1;min-height:0;object-fit:contain;background:var(--bg-subtle)}.home-album-feature button>span{padding:14px 18px;font-size:13px;display:flex;justify-content:space-between;gap:10px}.home-roots-feature{display:flex;flex-direction:column;align-items:flex-start;padding:30px;border-radius:14px;background:#34312f;color:#fffdf8}.home-roots-feature .community-eyebrow{color:#ddcfc3}.home-roots-feature h3{font-size:32px;line-height:1.2;font-weight:600;letter-spacing:-.03em;margin:6px 0 16px}.home-roots-feature>p:not(.community-eyebrow){font-size:15px;line-height:1.6;color:#f0e7df;margin-bottom:24px;max-width:360px}.home-roots-feature .community-button{background:#f0a36f;color:#302722!important;border-color:#f0a36f;margin-top:auto;min-height:46px;font-size:13px;padding:11px 16px}.home-feature-note{display:block;font-size:11px;color:#ddcfc3;margin-top:16px}
.home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line-hair);border-radius:12px;background:var(--bg-surface);overflow:hidden}.home-shortcuts button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;border:0;border-right:1px solid var(--line-hair);color:var(--ink-primary);background:transparent;font:inherit;text-align:left;cursor:pointer}.home-shortcuts button:last-child{border-right:0}.home-shortcuts button:hover{background:var(--bg-subtle)}.home-shortcut-index{font-size:11px;letter-spacing:.06em;color:var(--ink-muted)}.home-shortcuts strong{font-size:17px;font-weight:650}.home-shortcuts button>span:last-child{font-size:12px;line-height:1.5;color:var(--ink-secondary)}.home-archive-numbers{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:20px 0;color:var(--ink-secondary);font-size:13px;border-bottom:1px solid var(--line-hair)}.home-archive-numbers strong{font-weight:650;color:var(--ink-primary)}.home-archive-numbers .community-button{margin-left:auto;font-size:12px;padding:8px 12px;min-height:36px;background:transparent;border:0}
.family-gate-overlay{background:#f7f3eb;background-image:none;color:#2f2c2a}.family-gate-card{color:#2f2c2a;max-width:560px}.family-gate-image-wrap{width:190px;height:190px;margin-bottom:24px}.family-gate-title{font:650 34px/1.15 var(--font-sans);letter-spacing:-.035em;color:#2f2c2a}.family-gate-sub,.family-gate-help,.family-gate-badge{color:#67605a}.family-gate-label{color:#2f2c2a}.family-gate-input{background:#fff;color:#2f2c2a;border-color:#bfb2a4}.family-gate-input:focus{background:#fff;color:#2f2c2a;border-color:#b64c25;box-shadow:0 0 0 3px rgba(182,76,37,.2)}.family-gate-input::placeholder{color:#67605a}.family-gate-btn{background:#b64c25;color:white}.family-gate-feedback.error{color:#9a3338}.family-gate-retry{color:#2f2c2a;background:white}
@media(max-width:1200px) and (min-width:1081px){.app-shell{padding-left:208px}.site-sidebar{width:208px;padding:26px 18px}.site-sidebar .brand-titles h1{font-size:23px}.top-header{padding:16px 24px;gap:8px}#syncStatus{max-width:80px}.header-actions .btn{font-size:12px}.dashboard-container,.community-view .community-page{padding:28px 26px 60px}.home-gathering{min-width:190px}.home-roots-feature{padding:24px}.home-roots-feature h3{font-size:29px}.home-shortcuts button{padding:16px}}
@media(max-width:1080px){.app-shell{padding-left:0}.site-sidebar{position:static;width:100%;padding:12px 20px;border-right:0;border-bottom:0;min-height:68px;flex-shrink:0}.site-sidebar .brand-group{flex-direction:row;gap:12px;align-items:center}.site-sidebar .crest-thumb{width:44px;height:44px}.site-sidebar .brand-titles h1{font-size:24px}.site-sidebar .brand-subtitle{font-size:11px}.site-sidebar .view-tabs,.nav-caption,.sidebar-note{display:none!important}.top-header{padding:0 20px 12px;min-height:0;gap:10px;align-items:center}.top-header .header-actions{flex:1 1 0;gap:8px}.header-actions .search-box{max-width:none;flex:1 1 0}.header-actions #btnNewMemberTop{display:none}.header-actions .btn,.header-more summary{font-size:12px}#syncStatus{max-width:80px;font-size:10px!important;padding:0!important}.mobile-bottom-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--bg-surface);border-top:1px solid var(--line-hair);min-height:60px}.mob-nav-btn{min-height:44px;font-size:12px;font-weight:550;padding:8px 2px;white-space:nowrap}.mob-nav-btn.active{background:var(--bg-subtle);color:var(--accent-braun);border-radius:8px;font-weight:700}.family-subnav{padding:6px 16px}.filter-rail{padding:6px 16px}.family-subnav .tab-btn{font-size:12px}.dashboard-container,.community-view .community-page{padding:28px 24px 40px}.home-heading{gap:20px}.home-heading h2{font-size:40px}.home-roots-feature{padding:26px}.home-roots-feature h3{font-size:30px}.home-album-feature img{height:300px}}
@media(max-width:640px){.site-sidebar{padding:12px 16px 10px}.top-header{padding:0 16px 12px;flex-wrap:wrap;gap:4px}.header-actions .search-box{width:0}.header-more summary{padding:10px}.search-box input{height:44px;font-size:13px}#syncStatus{max-width:none;width:100%;font-size:10px!important;line-height:1.2}.dashboard-container,.community-view .community-page{padding:24px 16px 36px}.section-header-bar h2,.community-page h2{font-size:29px}.community-page h3{font-size:22px}.home-heading{display:block;margin-bottom:22px}.home-heading h2{font-size:38px;line-height:1.08}.home-heading>div>p:last-child{font-size:15px}.home-gathering{display:none}.home-feature-grid{grid-template-columns:1fr;gap:14px}.home-album-feature img{height:auto;max-height:320px;min-height:180px}.home-album-feature button>span{font-size:12px;padding:12px 14px}.home-roots-feature{padding:25px}.home-roots-feature h3{font-size:28px}.home-roots-feature h3 br{display:none}.home-roots-feature>p:not(.community-eyebrow){font-size:14px;margin-bottom:18px}.home-feature-note{font-size:10px;margin-top:14px}.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.home-shortcuts button{padding:17px;gap:6px;border-bottom:1px solid var(--line-hair)}.home-shortcuts button:nth-child(2){border-right:0}.home-shortcuts button:nth-child(n+3){border-bottom:0}.home-shortcuts strong{font-size:16px}.home-shortcuts button>span:last-child{font-size:12px}.home-archive-numbers{gap:14px;font-size:12px;padding:16px 0}.home-archive-numbers .community-button{margin-left:0;padding:4px 0;min-height:30px}.community-section-heading{align-items:flex-start;gap:12px}.community-section-heading .community-button{font-size:12px;padding:9px 12px}.memory-grid{gap:16px}.memory-caption strong{font-size:17px}.community-recipe-invite{padding:24px}.community-recipe-invite h3{font-size:24px}.community-dialog h2{font-size:23px}.profile-birth-navigation{padding:12px;gap:10px}.profile-birth-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-birth-controls .btn{padding:9px 7px;font-size:12px}.profile-birth-controls .btn:nth-child(2){grid-row:2;grid-column:1/-1}.profile-birth-controls .btn:nth-child(3){grid-row:1;grid-column:2}.hud-pod .time-slider{width:90px}.hud-pod .time-label{font-size:11px;min-width:160px}.family-gate-image-wrap{width:170px;height:170px}.family-gate-title{font-size:30px}}

/* Antepassados: arquivo de investigação separado da árvore familiar. */
.ancestry-page{max-width:1260px}
.ancestry-context{padding:20px 24px;background:var(--bg-subtle);border-left:3px solid var(--accent-braun);border-radius:0 10px 10px 0;margin:0 0 28px;line-height:1.6}
.ancestry-context p{margin:0 0 10px;font-size:14px;max-width:1000px;color:var(--ink-secondary)}
.ancestry-context p strong{color:var(--ink-primary)}
.ancestry-context>span{display:block;font-size:12px;color:var(--ink-secondary)}
.ancestry-root-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0 16px}
.ancestry-root-switch button{padding:20px 24px;text-align:left;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-surface);color:var(--ink-primary);font:inherit;cursor:pointer;min-width:0}
.ancestry-root-switch button span{display:block;font-size:13px;color:var(--ink-secondary);margin-bottom:5px}
.ancestry-root-switch button strong{font-size:23px;letter-spacing:-.025em;line-height:1.3}
.ancestry-root-switch button[aria-pressed=true]{border-color:var(--accent-braun);background:var(--accent-braun);color:var(--ink-inverse,#fff)}
.ancestry-root-switch button[aria-pressed=true] span{color:inherit;opacity:.9}
.ancestry-root-switch button:focus-visible,.ancestry-person:focus-visible{outline:3px solid var(--line-focus);outline-offset:3px}
.ancestry-branch-note{font-size:14px;line-height:1.6;margin:10px 0 24px;color:var(--ink-secondary)}
.ancestry-filter{max-width:600px;margin:28px 0 12px}
.ancestry-generation{margin:30px 0}
.ancestry-generation-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.ancestry-generation-heading h3{font:600 21px/1.35 var(--font-sans);letter-spacing:-.015em;margin:0}
.ancestry-generation-heading>span{font-size:12px;color:var(--ink-secondary)}
.ancestry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ancestry-person{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0;text-align:left;padding:22px;background:var(--bg-surface);color:var(--ink-primary);border:1px solid var(--line-hair);border-radius:10px;font:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.ancestry-person:hover{border-color:var(--accent-braun);background:var(--bg-elevated)}
.ancestry-person>strong{font:600 20px/1.3 var(--font-sans);letter-spacing:-.02em;overflow-wrap:anywhere}
.ancestry-person-relation{font-size:12px;font-weight:600;color:var(--ink-secondary)}
.ancestry-person-dates{font-size:13px;line-height:1.6;color:var(--ink-secondary);overflow-wrap:anywhere}
.ancestry-status{display:inline-flex;align-items:center;min-height:27px;line-height:1.3;font-size:12px;font-weight:600;border-radius:5px;padding:5px 8px;background:var(--bg-subtle);color:var(--ink-secondary);max-width:100%}
.ancestry-status-family{background:#e9eff7;color:#304e6a}
.ancestry-status-documented{background:#e7edf3;color:#38546e}
.ancestry-status-candidate,.ancestry-status-hypothesis,.ancestry-status-unresolved{background:#f3eedf;color:#665225}
.ancestry-person-open{margin-top:auto;padding-top:8px;font-size:13px;font-weight:600;color:var(--accent-braun)}
.ancestry-hypotheses{padding-top:26px;margin-top:40px;border-top:1px solid var(--line-hair)}
.ancestry-hypotheses:empty{display:none}
.ancestry-questions{display:grid;gap:10px}
.ancestry-questions details{padding:18px 22px;border:1px solid var(--line-hair);border-radius:8px;background:var(--bg-surface);min-width:0}
.ancestry-questions summary{cursor:pointer;font-weight:600;min-height:26px}
.ancestry-questions p{font-size:14px;line-height:1.65;margin-top:14px;white-space:pre-wrap}
.ancestry-dialog{width:min(780px,calc(100vw - 32px))}
.ancestry-dialog h2{font:600 29px/1.25 var(--font-sans)}
.ancestry-dialog h3{font:600 18px/1.4 var(--font-sans);margin-bottom:14px}
.ancestry-dialog .community-eyebrow{margin-bottom:7px;font-size:11px!important;letter-spacing:.06em}
.ancestry-detail-summary{font-size:16px;line-height:1.7;margin:20px 0;white-space:pre-wrap}
.ancestry-person-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px 0;border-bottom:1px solid var(--line-hair);margin:12px 0}
.ancestry-person-facts dt{font-size:12px;color:var(--ink-secondary);margin-bottom:5px}
.ancestry-person-facts dd{font-size:15px;line-height:1.6;margin:0}
.ancestry-person-facts small{display:block;font-size:12px;color:var(--ink-secondary);margin-top:5px}
.ancestry-person-facts:empty{display:none}
.ancestry-link-note{background:var(--bg-subtle);border-left:3px solid var(--line-strong);padding:16px 20px;line-height:1.7;font-size:14px;margin:20px 0}
.ancestry-detail-section{margin-top:26px}
.ancestry-detail-section>ul:not(.ancestry-sources){padding-left:22px;line-height:1.7;font-size:14px}
.ancestry-detail-section>ul:not(.ancestry-sources)>li{margin:10px 0}
.ancestry-parent-links{display:flex;gap:8px;flex-wrap:wrap}
.ancestry-sources{list-style:none;padding:0;margin:12px 0;display:grid;gap:16px}
.ancestry-source{padding:16px;background:var(--bg-subtle);border-radius:7px;overflow-wrap:anywhere;font-size:14px;line-height:1.6}
.ancestry-source strong,.ancestry-source>span{display:block}
.ancestry-source a{color:var(--accent-braun);text-decoration:underline;text-underline-offset:3px}
.ancestry-source>span{font-size:12px;margin-top:7px;color:var(--ink-secondary)}
.ancestry-source p{font-size:13px;margin-top:8px;white-space:pre-wrap;color:var(--ink-secondary)}
body.theme-dark .ancestry-status-family{background:#293e52;color:#c6d8ea}
body.theme-dark .ancestry-status-documented{background:#2d3d4d;color:#cfdfed}
body.theme-dark :is(.ancestry-status-candidate,.ancestry-status-hypothesis,.ancestry-status-unresolved){background:#453e2e;color:#ead8ac}
@media(max-width:900px){.ancestry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ancestry-context{padding:16px}.ancestry-context p{font-size:13px}.ancestry-root-switch{gap:10px}.ancestry-root-switch button{padding:16px 12px}.ancestry-root-switch button strong{font-size:19px}.ancestry-root-switch button span{font-size:11px}.ancestry-grid{grid-template-columns:1fr}.ancestry-person{padding:20px}.ancestry-generation-heading h3{font-size:20px}.ancestry-person-facts{grid-template-columns:1fr}.ancestry-dialog h2{font-size:25px}.ancestry-source{padding:14px}}
@media(prefers-reduced-motion:reduce){.ancestry-person{transition:none}}
.ancestry-relations{list-style:none;padding:0;display:grid;gap:16px}.ancestry-relations li{padding:16px;border:1px solid var(--line-hair);border-radius:8px}.ancestry-relation-label{display:block;font-size:12px;color:var(--ink-secondary);margin-bottom:10px}.ancestry-relations p{font-size:13px;line-height:1.6;color:var(--ink-secondary);margin-top:10px}.ancestry-other-relations summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}.ancestry-dialog .ancestry-relations{list-style:none;padding-left:0}
.site-sidebar .view-tabs{border:0;box-shadow:none;border-radius:0}

/* Eventos documentados ou candidatos, com certeza e fontes próprias. */
.ancestry-events{display:grid;gap:16px}.ancestry-event{padding:18px;border:1px solid var(--line-hair);border-radius:8px;background:var(--bg-surface)}
.ancestry-event-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.ancestry-event-heading h4{font:600 17px/1.4 var(--font-sans);margin:0}.ancestry-event-date{font-size:15px;line-height:1.6;margin:12px 0}
.ancestry-event-participants{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ink-secondary)}.ancestry-event-note{font-size:14px;line-height:1.65;margin:14px 0;color:var(--ink-secondary)}
.ancestry-event>details{margin-top:14px}.ancestry-event>details>summary{cursor:pointer;min-height:40px;padding:9px 0;font-size:13px;font-weight:600}.ancestry-event .ancestry-sources{margin-bottom:0}
@media(max-width:600px){.ancestry-event{padding:15px}.ancestry-event-heading{align-items:flex-start;flex-direction:column}}
.ancestry-context{padding:14px 18px;margin-bottom:20px}.ancestry-context summary{font-size:13px;line-height:1.6;font-weight:550;cursor:pointer}.ancestry-context[open] summary{margin-bottom:16px}.ancestry-root-switch{margin-top:20px}.ancestry-root-switch button{padding:16px 20px}.ancestry-filter{margin:20px 0 12px}.ancestry-branch-note{font-size:13px;margin:10px 0 16px}
:is(h2,h3)[tabindex="-1"]:focus{outline:none}
.festa-countdown-banner,body.theme-dark .festa-countdown-banner{background:var(--bg-surface);border:1px solid var(--line-hair);box-shadow:var(--shadow-card);margin-bottom:0;padding:32px 24px}
.festa-banner-badge,body.theme-dark .festa-banner-badge{color:var(--accent-braun);background:var(--bg-subtle);border:0;border-radius:6px;letter-spacing:.06em}
.festa-banner-title,body.theme-dark .festa-banner-title{color:var(--ink-primary);font-size:28px;font-weight:600}
.festa-banner-sub,body.theme-dark .festa-banner-sub{color:var(--ink-secondary)}
.countdown-unit,body.theme-dark .countdown-unit{background:var(--bg-subtle);border:0;box-shadow:none}
.unit-num,body.theme-dark .unit-num{color:var(--ink-primary)}
.unit-lbl,body.theme-dark .unit-lbl{color:var(--ink-secondary)}
.community-event{margin:20px 0}
@media(max-width:640px){.festa-countdown-banner{padding:24px 18px}.festa-banner-title{font-size:24px}}

/* V5 — marfim, cinza carvão e apontamentos de laranja. */
.site-sidebar .crest-thumb{width:82px;height:82px;border-radius:0}
.site-sidebar .tab-btn.active{background:var(--bg-subtle);color:var(--ink-primary);box-shadow:inset 3px 0 var(--accent-braun)}
.home-heading h2{font-weight:600;letter-spacing:-.035em}
.home-gathering{border-top:3px solid var(--accent-braun);background:var(--bg-surface)}
.home-feature-grid{grid-template-columns:1.25fr 1fr;gap:22px}
.home-album-feature{padding:8px 8px 0;border-radius:12px}
.home-album-feature img{border-radius:6px}
.home-roots-feature h3{font-weight:550;letter-spacing:-.02em}
.home-shortcut-index{color:var(--accent-braun);font-weight:650}
.profile-birth-navigation{border:1px solid var(--line-hair);background:var(--bg-canvas)}
.profile-birth-controls [data-birth-playback],#btnPlayTimeline,#btnPlayRadialTimeline{background:var(--accent-braun);border:1px solid var(--accent-braun);color:var(--ink-inverse);font-size:13px;font-weight:650;min-width:116px;padding:10px 14px;border-radius:8px;white-space:nowrap}
.profile-birth-controls [data-birth-playback][aria-pressed="true"],#btnPlayTimeline.playing,#btnPlayRadialTimeline.playing{background:var(--ink-primary);border-color:var(--ink-primary);color:var(--bg-surface)}
.time-machine-pod{flex-wrap:wrap;justify-content:center;max-width:100%;overflow:visible}
.time-machine-pod .time-label{flex-basis:100%;text-align:center;order:10;min-width:0;padding:2px 8px;font-size:12px}
.time-machine-pod .time-slider{flex:1 1 100px;min-width:70px;max-width:160px;accent-color:var(--accent-braun)}
.time-machine-pod .ctrl-icon-btn{flex-shrink:0}
.time-machine-pod #btnNextBirthTree,.time-machine-pod #btnNextBirthRadial{display:none}
.time-machine-pod .btn-step-birth{font-size:12px}
.deceased-pill{background:var(--bg-subtle);color:var(--ink-secondary);border:1px solid var(--line-hair)}
.profile-birth-note summary{cursor:pointer;min-height:28px;padding:3px 0}.profile-birth-note[open] p{margin-top:8px}
.profile-facts>div:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:1080px){.site-sidebar .crest-thumb{width:48px;height:48px}}
@media(max-width:640px){.home-feature-grid{grid-template-columns:1fr;gap:16px}.home-heading h2{font-size:36px}.home-album-feature{padding:6px 6px 0}.canvas-hud-bottom{width:calc(100% - 20px);max-width:440px;gap:6px}.canvas-hud-bottom>.hud-pod:not(.time-machine-pod){justify-content:flex-start;overflow:auto;max-width:100%;padding:4px 8px}.time-machine-pod{gap:6px;padding:8px}.time-machine-pod #btnPlayTimeline,.time-machine-pod #btnPlayRadialTimeline{min-width:115px;min-height:44px}.time-machine-pod .btn-step-birth{min-height:44px;padding:8px}.time-machine-pod .time-slider{max-width:none;flex-basis:90px}.time-machine-pod .time-label{font-size:11px}.profile-birth-controls [data-birth-playback]{min-height:46px}}
@media(max-width:640px){.profile-birth-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.profile-birth-controls .btn{min-width:0;font-size:12px;padding:8px 5px;white-space:normal}.profile-birth-controls .btn:nth-child(n){grid-column:auto;grid-row:auto}.profile-birth-navigation{gap:8px}}
