/* Compact family portrait editor and horizontal gallery. */
.profile-family-group .info-title{align-items:center;gap:8px}
.profile-family-add,.profile-family-undo{border:0;background:transparent;color:var(--neoes-1);font:600 12px/1.2 Arial,sans-serif;min-height:44px;padding:8px 3px;white-space:nowrap}
.profile-family-undo{margin-left:auto;color:#3880a6}
html.dark .profile-family-add,html.dark .profile-family-undo{color:#a8cced}
.profile-family-reel-wrap{position:relative;min-width:0}
.profile-family-reel-wrap::before,.profile-family-reel-wrap::after{content:"";position:absolute;z-index:2;top:6px;bottom:8px;width:15px;pointer-events:none;opacity:0;transition:opacity .18s}
.profile-family-reel-wrap::before{left:0;background:linear-gradient(90deg,rgba(95,171,214,.38),transparent)}
.profile-family-reel-wrap::after{right:0;background:linear-gradient(270deg,rgba(95,171,214,.38),transparent)}
.profile-family-reel-wrap.has-left::before,.profile-family-reel-wrap.has-right::after{opacity:1}
.profile-family-group .family-icons-edit{display:flex;gap:7px;padding:8px 9px 10px;align-items:start;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#64849d transparent;touch-action:pan-x pan-y;scroll-snap-type:x proximity;overscroll-behavior-y:auto}
.profile-family-group .family-icons-edit .fi-edit{display:flex;flex:0 0 67px;flex-direction:column;min-width:0;gap:0;scroll-snap-align:start}
.profile-family-group .family-icons-edit .fi-edit .ic{display:flex;align-items:center;justify-content:center;margin:0 auto 5px;width:56px;height:56px;min-width:56px;min-height:56px;padding:0;border:1px solid #7c9bb0;border-radius:50%;background:#0c283b;color:#f0f5fa;box-shadow:0 1px 5px rgba(3,21,37,.2);animation:none}
.profile-family-group .family-icons-edit .fi-edit.has-photo .ic{box-shadow:0 1px 5px rgba(3,21,37,.2);animation:none}
.profile-family-group .fi-edit .ic .family-photo-thumb{width:100%;height:100%;object-fit:cover;border-radius:50%}
.profile-family-group .fi-edit .ic:has(.family-photo-thumb) .family-photo-fallback{display:none}
.profile-family-group .family-icons-edit .fi-edit .nm{display:block;width:100%;min-height:18px;margin:0;text-align:center;color:var(--ink);font-size:13px;line-height:1.2;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-family-group .family-icons-edit .fi-edit.has-photo .nm{color:var(--ink);font-weight:500}
.profile-family-group .fi-edit .ic:focus-visible,.profile-family-add:focus-visible,.profile-family-undo:focus-visible{outline:2px solid #9cd4ee;outline-offset:3px}
.profile-family-modal-host{position:absolute;inset:0;z-index:70;pointer-events:auto}
.profile-family-scrim{position:absolute;inset:0;background:rgba(2,13,23,.13)}
.profile-family-popup{box-sizing:border-box;position:absolute;left:var(--family-popup-left,6px);top:var(--family-popup-top,72px);width:var(--family-popup-width,min(304px,calc(100% - 12px)));padding:8px 9px 10px;border:1px solid #42637a;border-radius:15px;background:#0c283b;color:#edf3f7;box-shadow:0 12px 32px rgba(0,0,0,.36),inset 0 1px rgba(216,236,250,.12);color-scheme:dark}
.profile-family-name-row{min-height:44px;display:flex;align-items:center;margin-bottom:4px}
.profile-family-name-row>.profile-family-name,.profile-family-name-row>input{flex:1;min-width:0}
.profile-family-popup-nav{display:flex;flex-shrink:0;margin-right:-6px}
.profile-family-popup-nav button{display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:12px;border:0;background:transparent;color:#b7d2e4}
.profile-family-popup-nav svg{width:18px;height:18px}
.profile-family-name{max-width:100%;min-height:27px;border:0;background:none;color:#f5f8fc;font:600 17px Georgia,serif;padding:0 4px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-family-name span{font:15px Arial,sans-serif;color:#9bb8ca;margin-left:3px}
.profile-family-name-row input,.profile-family-custom{box-sizing:border-box;width:100%;height:36px;padding:5px 8px;border:1px solid #618199;border-radius:7px;background:#122f43;color:#fff;font:16px Arial,sans-serif}
.profile-family-picker{display:flex;gap:8px;align-items:start}
.profile-family-choices{flex:1;min-width:0}
.profile-family-choice-row{display:flex;gap:2px;justify-content:space-between;align-items:center;height:44px}
.profile-family-choice-row button,.profile-family-pet-grid button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:#e9f3fb;font:24px/1 Arial,sans-serif}
.profile-family-choice-row button[aria-pressed="true"],.profile-family-pet-grid button[aria-pressed="true"]{border-color:#99bdd5;background:rgba(68,147,194,.2);box-shadow:0 0 0 1px rgba(162,220,245,.24),0 0 9px rgba(101,190,231,.33)}
.profile-family-step-label{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:24px;color:#b6ccdb;font:12px/1.2 Arial,sans-serif}
.profile-family-step-label>span{font-size:10px;white-space:nowrap;color:#90acbe}
.profile-family-child-popup .profile-family-choice-row{align-items:start;justify-content:space-evenly;gap:1px;height:78px;padding-top:6px}
.profile-family-child-popup .profile-family-choice-row button{display:flex;flex-direction:column;gap:4px;justify-content:start;width:44px;height:auto;min-height:66px;border:0;border-radius:0;background:transparent;box-shadow:none}
.profile-family-choice-head{display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;border:1px solid rgba(143,188,215,.23);border-radius:50%;font:30px/1 Arial,sans-serif}
.profile-family-child-popup button[aria-pressed="true"] .profile-family-choice-head{border-color:#99bdd5;background:rgba(68,147,194,.2);box-shadow:0 0 0 1px rgba(162,220,245,.16)}
.profile-family-choice-caption{color:#d3e0e9;font:11px/1.2 Arial,sans-serif;text-align:center}
.profile-family-child-popup .profile-family-choice-row[aria-label="Skin tone"] button{min-height:44px}
.profile-family-pet-grid{display:grid;grid-template-columns:repeat(4,44px);grid-auto-rows:44px;justify-content:space-between;gap:0}
.profile-family-preview-column{flex:0 0 88px;display:flex;flex-direction:column;align-items:center;gap:7px}
.profile-family-preview{display:grid;place-items:center;width:70px;height:70px;border:1px solid #7698ae;border-radius:50%;background:#112e42;overflow:hidden;font-size:38px;box-shadow:inset 0 0 15px rgba(110,175,213,.13)}
.profile-family-preview .family-photo-thumb{width:100%;height:100%;object-fit:cover;border-radius:50%}
.profile-family-preview:has(.family-photo-thumb) .family-photo-fallback{display:none}
.profile-family-tools{display:flex;width:88px}
.profile-family-tools button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border:0;background:none;color:#bad5e7;font:23px Arial,sans-serif}
.profile-family-tools button[data-family-popup="remove"]{color:#d6a5a6}
.profile-family-tools svg{width:22px;height:22px}
.profile-family-child-popup .profile-family-tools button[data-family-popup="photo"]{display:flex;flex-direction:column;align-items:center;justify-content:start;gap:3px;height:auto;min-height:68px;padding:3px 0}
.profile-family-child-popup .profile-family-tools button[data-family-popup="photo"]>.neoes-icon{flex:none;width:32px;height:32px;margin:0}
.profile-family-photo-label{display:block;color:#d3e0e9;font:12px/1.15 Arial,sans-serif;text-align:center}
.profile-family-custom{margin-top:4px}
.profile-family-error{min-height:0;margin:0;color:#f0b0af;font:12px/1.3 Arial,sans-serif}
.profile-family-error:not(:empty){margin-top:4px}
.profile-family-popup button:focus-visible,.profile-family-popup input:focus-visible{outline:2px solid #a6d8f0;outline-offset:2px}
.profile-family-popup:focus{outline:none}
@media(max-width:370px){.profile-family-popup{padding-inline:6px}.profile-family-picker{gap:3px}}
/* Use the keyboard's visible area without moving the anchored name field. */
.profile-family-popup{max-height:var(--family-popup-max-height,calc(100dvh - 80px));overflow-y:auto;overscroll-behavior:contain}
.profile-family-group .info-title{font-size:22px;line-height:1.15;padding-block:0;min-height:38px;margin:0}
.profile-family-group .family-icons-edit{padding-top:3px;padding-bottom:5px}
.profile-family-group{margin-top:4px;margin-bottom:7px}
.profile-family-photo-choice{display:flex;align-items:center;gap:7px;min-height:49px;max-width:100%;padding:2px 0;border:0;background:none;color:#d3e0e9}
.profile-family-photo-choice>.neoes-icon{flex:none;width:37px;height:37px;margin:0}
.profile-family-photo-choice .profile-family-photo-label{font-size:13px;white-space:nowrap;text-align:left}
.profile-family-preview-column>.profile-family-photo-choice{flex-direction:column;gap:0;min-height:58px}
.profile-family-popup-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:1px 0 0;color:#a6bfce;font:11px/1.3 Arial,sans-serif}
.profile-family-delete{flex:none;min-height:44px;padding:4px;border:0;background:none;color:#d6a5a6;font:12px/1.2 Arial,sans-serif}
.profile-family-child-popup .profile-family-choice-row{height:76px;padding-top:2px}
.profile-family-child-popup .profile-family-choice-row[aria-label="Skin tone"]{height:50px}
body.in-edit-mode .profile-interest-photos .info-title,body.in-edit-mode .profile-interest-photos h3{font-size:22px}
body.in-edit-mode .profile-interest-add,body.in-edit-mode [data-profile-interest-add]{font-size:14px;min-height:44px}

/* Pictures actions remain easy to tap with less space between their row and rail. */
body.in-edit-mode .profile-interest-photos .interest-add{font-size:14px;min-height:44px;padding:2px 5px}
body.in-edit-mode .profile-interest-photos .info-title{margin:0;padding-block:0;min-height:38px}
body.in-edit-mode .profile-interest-photos .interest-note{margin:1px 2px 4px}
