/* Home-only themes; genealogy, chart colours and print geometry are untouched. */
:root{--hub-bg:#f2f5f8;--hub-surface:#fff;--hub-ink:#172b37;--hub-muted:#586a77;--hub-line:#dde4e9;--hub-accent:#286252;--hub-soft:#edf2f6;--hub-font:Arial,Helvetica,sans-serif}
:root[data-folkspan-theme=heritage]{--hub-bg:#f5f0e6;--hub-surface:#fffdf7;--hub-ink:#304b3b;--hub-muted:#756951;--hub-line:#e3d8c4;--hub-accent:#695530;--hub-soft:#f0e8d5;--hub-font:Georgia,serif}
:root[data-folkspan-theme=midnight]{--hub-bg:#111c26;--hub-surface:#1b2b37;--hub-ink:#edf5fa;--hub-muted:#b3c5d1;--hub-line:#354b5b;--hub-accent:#9ed7c5;--hub-soft:#263e4c}
html[data-folkspan-signed-in=true] #homeSection{background:var(--hub-bg)!important;color:var(--hub-ink)!important;max-width:1600px;width:calc(100% - 64px);box-sizing:border-box;margin:16px auto;padding:20px 32px 56px;font-family:var(--hub-font)}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome{padding:0 0 24px;background:none!important;border:0!important;gap:24px;grid-template-columns:minmax(0,1fr) auto}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-copy h2{font:700 28px/1.2 var(--hub-font)!important;letter-spacing:-1px;color:var(--hub-ink)!important}
html[data-folkspan-signed-in=true] #homeSection .mh-intro{color:var(--hub-muted)!important;max-width:620px;font:14px/1.5 var(--hub-font)!important}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-actions{display:none}
html[data-folkspan-signed-in=true] #homeSection .mh-heritage-art{width:152px;height:88px;min-height:0;flex:none;border-radius:16px;box-shadow:none}
html[data-folkspan-signed-in=true] #homeSection .mh-art-copy{font-size:14px;top:50%;right:10%;transform:translateY(-50%)}
.home-hub-layout{display:grid;grid-template-columns:275px minmax(0,1fr);gap:24px;align-items:start}
.home-branch-sidebar{background:var(--hub-surface);border:1px solid var(--hub-line);border-radius:18px;padding:20px;position:sticky;top:100px;min-width:0;color:var(--hub-ink)}
.home-sidebar-kicker{font:700 11px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:1.8px;color:var(--hub-muted);margin:0 0 8px}
.home-branch-sidebar h3{font:700 22px/1.25 var(--hub-font);margin:0 0 15px;color:var(--hub-ink)}
.home-branch-sidebar p{font:12px/1.6 var(--hub-font);color:var(--hub-muted)}
.home-theme-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font:12px Arial,sans-serif;margin:0;padding:14px;color:var(--hub-ink)}
#homeTheme{max-width:135px;background:var(--hub-bg);color:var(--hub-ink);padding:8px;border:1px solid var(--hub-line);border-radius:8px;font:12px var(--hub-font)}
#homeWholeFamilyChart{width:100%;border:0;border-radius:10px;background:var(--hub-soft);color:var(--hub-ink);padding:12px;text-align:start;font:600 13px var(--hub-font);cursor:pointer;margin-bottom:18px}
.home-branch-sidebar summary{cursor:pointer;font:700 13px/1.5 var(--hub-font);padding-bottom:10px}
.home-branch-row{display:flex;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--hub-line)}
.home-branch-avatar{flex:none;display:grid;place-items:center;width:36px;height:42px;background:var(--hub-soft);border-radius:10px;overflow:hidden;font:600 17px var(--hub-font)}
.home-branch-avatar img{width:100%;height:100%;object-fit:cover}
.home-branch-copy{flex:1;min-width:0}.home-branch-copy strong{display:block;font:600 13px/1.4 var(--hub-font);overflow-wrap:anywhere}.home-branch-copy small{display:block;color:var(--hub-muted);font:11px/1.6 var(--hub-font)}
#homeSection .home-branch-chart{padding:5px 0;border:0;background:none;color:var(--hub-accent);font:600 12px var(--hub-font);cursor:pointer;white-space:nowrap}#homeSection .home-branch-chart:disabled{opacity:.6;cursor:wait}
html[data-folkspan-signed-in=true] #homeSection .mh-dashboard{padding:0;min-width:0;max-width:none;margin:0}
html[data-folkspan-signed-in=true] #homeSection .mh-family-bar{padding:20px 24px;margin:0 0 28px;background:var(--hub-surface);border:1px solid var(--hub-line);border-radius:18px;color:var(--hub-ink)}
html[data-folkspan-signed-in=true] #homeSection .mh-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
html[data-folkspan-signed-in=true] #homeSection .photo-feature{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;min-height:230px}
html[data-folkspan-signed-in=true] #homeSection :is(.mh-panel,.mh-feature){background:var(--hub-surface);border:1px solid var(--hub-line);border-radius:18px;box-shadow:none;color:var(--hub-ink);overflow:hidden}
html[data-folkspan-signed-in=true] #homeSection :is(.mh-panel,.mh-feature) h3{font:650 23px/1.3 var(--hub-font);color:var(--hub-ink)!important}
html[data-folkspan-signed-in=true] #homeSection :is(.mh-panel,.mh-feature) :is(p,small,.mh-chat-empty,.mh-empty,.mh-activity-list,.mh-chat-message-meta,.mh-feature-kicker,.mh-section-kicker,.mh-person-highlight,.mh-family-stats){color:var(--hub-muted)}
html[data-folkspan-signed-in=true] #homeSection :is(.mh-panel,.mh-feature) :is(select,input){background:var(--hub-bg);color:var(--hub-ink);border-color:var(--hub-line)}
html[data-folkspan-signed-in=true] #homeSection :is(.mh-chat-message,.mh-person-avatar,.mh-photo-empty,.mh-event-item){background:var(--hub-soft);color:var(--hub-ink)}
html[data-folkspan-signed-in=true] #homeSection :is(.mh-text-button,.mh-person-highlight strong){color:var(--hub-accent)}
html[data-folkspan-signed-in=true] #homeSection .mh-three-column{gap:28px;margin-top:28px}
html[data-folkspan-signed-in=true] #homeSection .mh-three-column.lower{grid-template-columns:minmax(0,1fr)}
html[data-folkspan-signed-in=true] #homeSection .mh-relationship-picker{display:flex;flex-wrap:wrap;gap:10px}html[data-folkspan-signed-in=true] #homeSection .mh-relationship-picker select{flex:1;min-width:140px}
.home-branch-chart:focus-visible,#homeWholeFamilyChart:focus-visible,#homeTheme:focus-visible{outline:3px solid #5b9dca;outline-offset:4px}
html:not([data-folkspan-audience=member]) .home-branch-sidebar{display:none}
html:not([data-folkspan-audience=member]) #homeSection .home-hub-layout{display:none}
@media(max-width:1100px){.home-hub-layout{grid-template-columns:240px minmax(0,1fr);gap:18px}html[data-folkspan-signed-in=true] #homeSection .mh-three-column{grid-template-columns:1fr}html[data-folkspan-signed-in=true] #homeSection .mh-feature-grid{grid-template-columns:1fr}html[data-folkspan-signed-in=true] #homeSection .photo-feature{grid-template-columns:1fr}}
@media(max-width:760px){.home-hub-layout{grid-template-columns:1fr}.home-branch-sidebar{position:static}#homeBranchLinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 20px}html[data-folkspan-signed-in=true] #homeSection .mh-welcome{grid-template-columns:1fr}html[data-folkspan-signed-in=true] #homeSection .mh-welcome-media{max-width:100%;width:100%}html[data-folkspan-signed-in=true] #homeSection .mh-heritage-art{width:120px;height:72px}}

html[data-folkspan-signed-in=true] #homeSection .mh-family-bar h3{color:var(--hub-ink);font-family:var(--hub-font)}
html[data-folkspan-audience=member] #homeGuestWelcome{display:none}
html[data-folkspan-signed-in=true] #homeSection .photo-feature{grid-template-rows:auto}

html[data-folkspan-signed-in=true] #homeSection :is(.mh-section-kicker,.mh-feature-kicker,.home-sidebar-kicker){color:var(--hub-accent)!important;font:700 12px/1.5 Arial,sans-serif;letter-spacing:1px}
html[data-folkspan-signed-in=true] #homeSection #homeViewAllActivity{border:1px solid var(--hub-line);border-radius:8px;background:var(--hub-soft);color:var(--hub-accent);padding:9px 12px;font:600 12px var(--hub-font);cursor:pointer}

@media(min-width:1101px){
html[data-folkspan-signed-in=true] #homeSection .home-hub-layout{grid-template-columns:280px minmax(0,1fr);gap:32px}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome{max-width:none;margin:0;gap:32px;padding-bottom:24px}
html[data-folkspan-signed-in=true] #homeSection .mh-feature-grid{gap:28px}
html[data-folkspan-signed-in=true] #homeSection .mh-three-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px}
html[data-folkspan-signed-in=true] #homeSection .mh-three-column.lower{grid-template-columns:1fr}
html[data-folkspan-signed-in=true] #homeSection .mh-events{grid-column:1/-1}
html[data-folkspan-signed-in=true] #homeSection .mh-family-bar{flex-wrap:wrap;gap:18px}
}
@media(max-width:760px){html[data-folkspan-signed-in=true] #homeSection{width:100%;margin:0;padding:18px 18px 40px}}

nav .nav-appearance{position:relative;flex:none;color:#fff;font:600 12px Arial,sans-serif;margin-inline:6px}
nav .nav-appearance>summary{cursor:pointer;list-style:none;padding:9px 6px;white-space:nowrap;border-radius:6px}
nav .nav-appearance>summary::-webkit-details-marker{display:none}
nav .nav-appearance>summary:hover,nav .nav-appearance[open]>summary{background:#ffffff20}
nav .nav-appearance>summary:focus-visible{outline:3px solid #e3bf6b;outline-offset:2px}
nav .nav-appearance>.home-theme-label{position:absolute;inset-inline-end:0;top:100%;min-width:230px;background:var(--hub-surface);border:1px solid var(--hub-line);border-radius:10px;box-shadow:0 8px 24px #0003;z-index:10002}
html:not([data-folkspan-signed-in=true]) nav .nav-appearance{display:none}
@media(max-width:1100px){nav .nav-appearance .appearance-caption{display:none}nav .nav-appearance>summary{font-size:20px;padding:5px}nav .nav-appearance{margin-inline:2px}}
@media(max-width:760px){nav .fl-nav-logo{order:-2}nav .nav-appearance{order:-1}nav .nav-appearance>.home-theme-label{position:fixed;top:64px;inset-inline-end:12px;min-width:230px;max-width:calc(100vw - 24px)}}

html[data-folkspan-signed-in=true] #homeSection .mh-family-bar{flex-wrap:wrap}
.home-descendant-breakdown{flex-basis:100%;margin:0;color:var(--hub-muted);font:13px/1.6 var(--hub-font)}
/* Match the home content's inner edges on wide/zoomed-out desktop viewports. */
@media(min-width:1700px){html[data-folkspan-signed-in=true] body>nav{padding-inline:calc((100% - 1536px)/2)!important}}
@media(min-width:1700px){html[data-folkspan-signed-in=true] body>nav .fl-nav-search{min-width:0}html[data-folkspan-signed-in=true] body>nav .fl-nav-search input{min-width:65px;flex:1}}

.home-main-person-settings{flex-basis:100%;display:flex;gap:10px;flex-wrap:wrap;align-items:center;font:12px var(--hub-font)}
.home-main-person-settings label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.home-main-person-settings select{max-width:min(340px,80vw);padding:8px;border:1px solid var(--hub-line);border-radius:7px;background:var(--hub-bg);color:var(--hub-ink)}.home-main-person-settings button{padding:9px 12px;border:1px solid var(--hub-line);border-radius:7px;background:var(--hub-soft);color:var(--hub-accent);cursor:pointer}.main-person-status{flex-basis:100%;color:var(--hub-muted)}

/* A consistent neutral canvas around Modern's white cards. */
html[data-folkspan-signed-in=true][data-folkspan-theme=modern] body{background:var(--hub-bg)!important}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-media{display:flex;align-items:center;gap:12px;max-width:320px}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-photo-actions{margin:0;max-width:150px;gap:8px}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-copy h2{margin:0 0 6px!important;letter-spacing:-.5px}
html[data-folkspan-signed-in=true] #homeSection .mh-intro{margin:0}
html[data-folkspan-signed-in=true] #homeSection :is(.mh-panel,.mh-feature-content){padding:24px}
@media(max-width:760px){
html[data-folkspan-signed-in=true] #homeSection .mh-welcome{padding:0 0 24px!important;gap:14px}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-copy h2{font-size:24px!important}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-media{max-width:100%}
html[data-folkspan-signed-in=true] #homeSection :is(.mh-panel,.mh-feature-content){padding:20px}
}


/* Personal welcome beside the family's shared daily memory. */
html[data-folkspan-signed-in=true] #homeSection .mh-welcome{grid-template-columns:minmax(230px,.8fr) minmax(0,1.6fr);align-items:stretch;gap:28px!important}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-copy{background:var(--hub-surface);border:1px solid var(--hub-line);border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}
.home-welcome-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin-bottom:16px;background:var(--hub-soft);color:var(--hub-accent);font:700 24px var(--hub-font);background-size:cover;background-position:center;flex-shrink:0}.home-welcome-avatar.has-photo{font-size:0}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-media{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);max-width:none;width:auto;gap:0;background:var(--hub-surface);border:1px solid var(--hub-line);border-radius:16px;overflow:hidden;align-items:stretch}
html[data-folkspan-signed-in=true] #homeSection .mh-heritage-art{width:100%;height:260px;min-height:100%;border-radius:0;margin:0;max-width:none}
html[data-folkspan-signed-in=true] #homeSection .mh-welcome-photo{width:100%;height:100%;object-fit:contain;object-position:center;background:var(--hub-soft)}
.daily-photo-copy{padding:24px;display:flex;flex-direction:column;justify-content:center;min-width:0;color:var(--hub-ink);overflow-wrap:anywhere}.daily-photo-copy strong{font:600 18px/1.45 var(--hub-font)}.daily-photo-copy p{margin:8px 0;color:var(--hub-muted)}.daily-photo-copy small{color:var(--hub-muted);line-height:1.5}.daily-photo-copy button{margin-top:16px;padding:9px 12px;border:1px solid var(--hub-line);border-radius:8px;background:var(--hub-soft);color:var(--hub-accent);cursor:pointer;align-self:flex-start}
#dailyPhotoManager{width:min(760px,calc(100vw - 32px));max-height:85vh;box-sizing:border-box;overflow:auto;border:1px solid var(--hub-line);border-radius:16px;padding:24px;background:var(--hub-surface);color:var(--hub-ink)}#dailyPhotoManager::backdrop{background:#0008}.daily-photo-setting{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--hub-line)}.daily-photo-setting span{flex:1 1 240px;overflow-wrap:anywhere}#dailyPhotoManager button{padding:9px 12px;cursor:pointer;border:1px solid var(--hub-line);border-radius:7px;background:var(--hub-soft);color:var(--hub-ink)}
@media(max-width:1000px){html[data-folkspan-signed-in=true] #homeSection .mh-welcome{grid-template-columns:1fr!important}html[data-folkspan-signed-in=true] #homeSection .mh-welcome-copy{min-height:160px}}
@media(max-width:540px){html[data-folkspan-signed-in=true] #homeSection .mh-welcome-media{grid-template-columns:1fr}html[data-folkspan-signed-in=true] #homeSection .mh-heritage-art{height:240px;min-height:0}.daily-photo-copy{padding:20px}}
html[data-folkspan-signed-in=true] #homeSection #homeWelcomePhotoPanel:before{display:none}

/* Photo conversations have their own dialog; chart and print layouts are untouched. */
.photo-comments-dialog{width:min(820px,calc(100vw - 24px));max-height:90vh;overflow:auto;box-sizing:border-box;padding:24px;border:1px solid var(--hub-line);border-radius:16px;background:var(--hub-surface);color:var(--hub-ink);font:14px/1.5 var(--hub-font)}
.photo-comments-dialog::backdrop{background:#0009}.photo-comments-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.photo-comments-header h2{font-size:22px;margin:0 0 16px}.photo-comments-dialog>img{display:block;width:100%;max-height:330px;object-fit:contain;background:var(--hub-soft);border-radius:10px;margin:16px 0}.photo-comments-dialog [hidden]{display:none!important}.photo-comments-caption{font-weight:600;overflow-wrap:anywhere}.photo-comments-dialog button{border:1px solid var(--hub-line);border-radius:7px;padding:8px 12px;background:var(--hub-soft);color:var(--hub-ink);cursor:pointer}.photo-comments-dialog button:disabled{opacity:.55;cursor:wait}
.photo-comment{border-top:1px solid var(--hub-line);padding:16px 0;overflow-wrap:anywhere}.photo-comment-reply{margin-inline-start:28px;border-inline-start:3px solid var(--hub-line);padding-inline-start:16px}.photo-comment-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.photo-comment-head small{color:var(--hub-muted)}.photo-comment p{white-space:pre-wrap;margin:8px 0}.photo-comment-actions{display:flex;gap:8px;flex-wrap:wrap}.photo-comments-form{margin-top:20px;border-top:1px solid var(--hub-line);padding-top:16px}.photo-comments-form label{display:block;margin-bottom:8px}.photo-comments-form textarea{display:block;box-sizing:border-box;width:100%;resize:vertical;max-height:240px;padding:12px;margin-bottom:10px;border:1px solid var(--hub-line);border-radius:8px;background:var(--hub-bg);color:var(--hub-ink);font:inherit}.photo-comments-dialog :is(button,textarea):focus-visible{outline:3px solid #5b9dca;outline-offset:3px}
@media(max-width:540px){.photo-comments-dialog{padding:16px}.photo-comment-reply{margin-inline-start:12px;padding-inline-start:10px}}

.photo-comments-header{position:sticky;top:-24px;z-index:1;background:var(--hub-surface);padding-top:8px;padding-bottom:8px}.photo-comments-form{margin-bottom:20px}
@media(max-width:540px){.photo-comments-dialog>img{max-height:220px}.photo-comments-header{top:-16px}}

/* Compact non-modal photo window: keep the family hub visible and usable. */
.photo-comments-dialog{position:fixed;inset:auto;left:auto;right:24px;top:112px;margin:0;width:min(460px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 24px));padding:0;overflow:hidden;z-index:10070;box-shadow:0 12px 42px #10202c40;font-size:13px}
.photo-comments-header{position:relative;top:auto;display:flex;padding:12px 16px;background:var(--hub-soft);border-bottom:1px solid var(--hub-line);cursor:move;touch-action:none;user-select:none}
.photo-comments-header h2{font-size:17px;margin:0;flex:1}.photo-comments-header h2:before{content:'⠿';margin-inline-end:8px;color:var(--hub-muted)}.photo-comments-header button{cursor:pointer;flex:none}
.photo-comments-body{max-height:min(550px,calc(100dvh - 96px));overflow:auto;padding:14px 16px;box-sizing:border-box}.photo-comments-body>img{display:block;width:100%;max-height:150px;object-fit:contain;background:var(--hub-soft);border-radius:8px;margin:0 0 10px}.photo-comments-body .photo-comments-form{margin:10px 0;padding-top:10px}.photo-comments-body .photo-comments-form textarea{min-height:60px;max-height:160px;padding:8px}.photo-comments-body .photo-comment{padding:12px 0}.photo-comment-highlight{background:var(--hub-soft);border-radius:8px;padding-inline:8px!important;outline:2px solid var(--hub-accent);outline-offset:-2px}
.photo-chat-notice{margin:8px 0}.photo-chat-link{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;text-align:start;border:1px solid var(--hub-line);border-radius:9px;padding:9px;background:var(--hub-soft);color:var(--hub-ink);cursor:pointer;font:12px/1.45 var(--hub-font)}.photo-chat-thumb{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:6px;overflow:hidden;background:var(--hub-surface);color:var(--hub-muted)}.photo-chat-thumb img{width:100%;height:100%;object-fit:cover}.photo-chat-copy{flex:1;min-width:0;overflow-wrap:anywhere}.photo-chat-copy>span{display:block}.photo-chat-copy small{color:var(--hub-muted);display:block;font-size:11px}.photo-chat-time{color:var(--hub-muted);font-size:10px;flex:none}.photo-chat-link:focus-visible,.photo-comments-header:focus-visible{outline:3px solid #5b9dca;outline-offset:2px}
@media(max-width:540px){.photo-comments-dialog{width:calc(100vw - 24px)}.photo-comments-header{padding:10px 12px}.photo-comments-body{padding:12px}.photo-comments-body>img{max-height:120px}.photo-chat-time{display:none}}

.photo-chat-copy .photo-chat-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--hub-ink);font-size:13px;line-height:1.45;margin:4px 0}

.family-emoji-picker{position:relative;display:inline-flex;flex:none}.family-emoji-picker>button{padding:7px 9px!important;background:var(--hub-soft)!important;color:var(--hub-ink)!important;border:1px solid var(--hub-line)!important;border-radius:7px!important;cursor:pointer}.family-emoji-options{position:absolute;bottom:100%;inset-inline-end:0;z-index:10080;display:grid;grid-template-columns:repeat(4,36px);gap:4px;padding:8px;border:1px solid var(--hub-line);border-radius:10px;background:var(--hub-surface);box-shadow:0 5px 18px #0002}.family-emoji-options[hidden]{display:none!important}.family-emoji-options button{font-size:20px!important;padding:5px!important;border:0!important;background:var(--hub-soft)!important;color:var(--hub-ink)!important;cursor:pointer}.photo-comments-form .family-emoji-picker{margin-bottom:8px}.family-reactions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:7px;font:11px/1.4 var(--hub-font);color:var(--hub-muted)}.family-reactions .family-reaction{font:13px/1.3 var(--hub-font);border:1px solid var(--hub-line);border-radius:12px;padding:3px 7px;background:var(--hub-surface);color:var(--hub-ink);cursor:pointer}.family-reactions .family-reaction[aria-pressed=true]{background:var(--hub-soft);border-color:var(--hub-accent);outline:1px solid var(--hub-accent)}.family-reactions details{flex-basis:100%;font-size:11px}.family-reactions summary{cursor:pointer}.family-reactions details p{margin:4px 0}.family-reactions-unavailable{font-size:10px}.family-reactions :focus-visible,.family-emoji-picker button:focus-visible{outline:3px solid #5b9dca;outline-offset:2px}

.family-emoji-options{max-height:250px;overflow-y:auto;overscroll-behavior:contain}.family-reactions .family-reaction-more{flex-basis:auto}.family-reaction-options{display:grid;grid-template-columns:repeat(4,max-content);gap:5px;padding:7px;border:1px solid var(--hub-line);border-radius:8px;background:var(--hub-surface)}.family-reaction-more:not([open])>.family-reaction-options{display:none}.chat-attach-button{padding:8px!important;border:1px solid var(--hub-line)!important;border-radius:7px!important;background:var(--hub-soft)!important;color:var(--hub-ink)!important;cursor:pointer}.chat-attachment-draft{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;margin-top:8px;border:1px dashed var(--hub-accent);border-radius:9px;background:var(--hub-soft);color:var(--hub-ink);font:12px var(--hub-font)}.chat-attachment-draft img{width:80px;height:60px;object-fit:contain}.chat-attachment-draft span{flex:1;min-width:0;overflow-wrap:anywhere}.chat-attachment-draft button,.chat-attachment button{border:1px solid var(--hub-line);border-radius:7px;padding:6px 9px;background:var(--hub-surface);color:var(--hub-ink);cursor:pointer}.chat-attachment{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:8px;border:1px solid var(--hub-line);border-radius:8px;background:var(--hub-surface);color:var(--hub-ink)}.chat-attachment img{max-width:140px;max-height:110px;object-fit:contain;border-radius:6px}.chat-attachment span{flex:1;min-width:120px;overflow-wrap:anywhere;font-size:12px}

.family-emoji-options{position:fixed;bottom:auto;inset-inline-end:auto;z-index:10100}

/* Put the archive with the daily photograph and prioritise the conversation. */
html[data-folkspan-signed-in=true] #homeSection .mh-feature-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start}
html[data-folkspan-signed-in=true] #homeSection .mh-chat-messages{height:clamp(360px,52vh,620px);max-height:620px;margin-top:10px}
html[data-folkspan-signed-in=true] #homeSection .chat-feature{min-width:0;padding:20px}
html[data-folkspan-signed-in=true] #homeSection .chat-feature h3{margin:8px 0;font-size:20px}
html[data-folkspan-signed-in=true] #homeSection .chat-feature p{margin:6px 0;font-size:13px}
.chat-attachment{margin-top:4px;padding:3px 0;border:0;background:transparent;gap:6px}
.chat-attachment span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-attachment button{padding:3px 9px;font-size:16px;flex:none}
.chat-attachment img{max-width:100px;max-height:76px}
.daily-photo-copy .daily-photo-archive{border:0;padding:0;background:transparent;text-align:start;font-weight:600}
@media(max-width:1100px){html[data-folkspan-signed-in=true] #homeSection .mh-feature-grid{grid-template-columns:1fr}.chat-feature{grid-row:1}}
@media(max-width:540px){html[data-folkspan-signed-in=true] #homeSection .mh-chat-messages{height:380px;max-height:60vh}}

/* Compact account mentions; no changes to chart/print behavior. */
.chat-mention-button{padding:8px!important;border:1px solid var(--hub-line)!important;border-radius:7px!important;background:var(--hub-soft)!important;color:var(--hub-ink)!important;cursor:pointer}
.chat-mention-options{position:fixed;z-index:10100;box-sizing:border-box;max-height:240px;overflow:auto;overscroll-behavior:contain;padding:5px;background:var(--hub-surface);color:var(--hub-ink);border:1px solid var(--hub-line);border-radius:9px;box-shadow:0 6px 20px #0002}
.chat-mention-options[hidden]{display:none}.chat-mention-options button{display:block;width:100%;border:0;background:transparent;color:inherit;padding:9px;text-align:start;cursor:pointer;overflow-wrap:anywhere;font:13px/1.4 var(--hub-font)}
.chat-mention-options button[aria-selected=true],.chat-mention-options button:hover{background:var(--hub-soft);border-radius:5px}.chat-mention-note{display:block;padding:9px;font:12px/1.5 var(--hub-font)}
.chat-mention{background:var(--hub-soft);color:var(--hub-accent);font-weight:700;border-radius:4px;padding:1px 3px;box-decoration-break:clone}.chat-mention-self{outline:1px solid var(--hub-accent)}
@media(max-width:540px){.mh-chat-form{gap:4px!important}.mh-chat-form button{padding-inline:7px!important}}

/* Personal unread status stays above the conversation, outside its scroll area. */
.chat-unread-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;padding:6px 0;color:var(--hub-muted);font:12px/1.5 var(--hub-font)}.chat-unread-summary{flex:1;min-width:100px}.chat-unread-bar button{border:1px solid var(--hub-line);border-radius:6px;background:var(--hub-soft);color:var(--hub-accent);padding:4px 7px;font:600 11px/1.5 var(--hub-font);cursor:pointer}.chat-unread-bar button:disabled{opacity:.6;cursor:wait}
.chat-is-unread{border-inline-start:3px solid var(--hub-accent)!important}.chat-unread-bar small{font-size:11px}

/* The notification panel is outside the scrolling navigation, with no screen dimming. */
#familyNotifications[hidden],.family-notifications-panel[hidden],.family-notifications-badge[hidden]{display:none!important}
#familyNotifications{display:inline-flex;flex:none;align-items:center;margin-inline:3px}nav .family-notifications-toggle{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:6px;border:0;background:transparent;color:#fff;border-radius:7px;cursor:pointer}nav .family-notifications-toggle:hover{background:#ffffff20}.family-notifications-badge{position:absolute;top:-2px;inset-inline-end:-3px;padding:1px 4px;min-width:13px;border-radius:12px;background:#f2cb71;color:#193d34;font:700 10px/1.4 Arial,sans-serif}
.family-notifications-panel{position:fixed;z-index:10020;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;background:var(--hub-surface);color:var(--hub-ink);border:1px solid var(--hub-line);border-radius:12px;box-shadow:0 8px 30px #0003;padding:12px;font:13px/1.5 var(--hub-font)}.family-notifications-heading{display:flex;align-items:center;gap:7px}.family-notifications-heading strong{flex:1}.family-notifications-panel button{cursor:pointer;border:1px solid var(--hub-line);background:var(--hub-soft);color:var(--hub-accent);border-radius:6px;padding:5px 7px;font:12px/1.4 var(--hub-font)}.family-notifications-heading button{font-size:10px;max-width:90px}.family-notifications-filters{display:flex;gap:6px;margin-top:12px}.family-notifications-filters button[aria-pressed=true]{font-weight:700;border-color:var(--hub-accent)}.family-notifications-count{font-size:12px;color:var(--hub-muted)}.family-notifications-body ul{list-style:none;margin:0;padding:0}.family-notifications-body li+li{border-top:1px solid var(--hub-line)}.family-notifications-body .family-notification-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;border:0;border-radius:0;text-align:start;background:transparent;color:var(--hub-ink);padding:11px 5px;overflow-wrap:anywhere}.family-notification-item:hover{background:var(--hub-soft)}.family-notification-item small,.family-notification-item time{font-size:11px;color:var(--hub-muted)}.family-notification-item>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.family-notifications-panel button:focus-visible,.family-notifications-toggle:focus-visible{outline:3px solid #b78d36;outline-offset:2px}
@media(max-width:760px){nav #familyNotifications{order:-1;margin-inline:1px}}
@media print{#familyNotifications,.family-notifications-panel{display:none!important}}
