/* First-day narrative and state-backed personal panels; opening styles are untouched. */
.firstday-vn{min-height:100svh;max-width:980px;margin:auto;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column}
.firstday-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0 20px;border-bottom:1px solid var(--line);font-size:12px}
.firstday-header time{font-family:'Cormorant Garamond',serif;letter-spacing:.1em;white-space:nowrap}
.firstday-roster{display:flex;justify-content:space-between;gap:8px;margin:24px 0 0}
.firstday-roster figure{margin:0;text-align:center;font-size:12px;color:#8F8580}
.firstday-roster img{display:block;width:clamp(42px,12vw,64px);height:clamp(42px,12vw,64px);border-radius:50%;object-fit:cover;object-position:50% 30%;margin:0 auto 10px}
.firstday-roster .speaking{color:#803C48}
.firstday-roster .speaking img{outline:1px solid var(--accent);outline-offset:4px}
.firstday-scene{flex:1;min-height:130px;max-height:260px;display:flex;align-items:center;justify-content:center;gap:20px;position:relative;color:var(--accent)}
.firstday-scene:before,.firstday-scene:after{content:'';height:1px;width:min(23vw,170px);background:var(--line)}
.firstday-scene i{display:none}
.firstday-scene span{font:38px 'Cormorant Garamond',serif}
.firstday-read{min-height:220px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 10px 18px;cursor:pointer;touch-action:manipulation;outline-offset:5px}
.firstday-speaker{font-size:14px;letter-spacing:.12em;color:#803C48}
.firstday-text{font-size:clamp(18px,2.4vw,22px);line-height:1.9;text-align:left;letter-spacing:.05em;max-width:34em;margin:22px auto;animation:firstday-sentence .24s ease-out both}
.firstday-tap{display:block;text-align:right;font:11px 'Cormorant Garamond',serif;letter-spacing:.16em;color:#8F8580;margin-top:25px}
.firstday-options{display:flex;flex-direction:column;gap:10px;padding:8px 0 16px}
.firstday-options button{padding:13px 16px;text-align:left;font-size:15px;letter-spacing:.025em;line-height:1.6;min-height:50px;background:var(--surface);border:1px solid var(--line)}
.firstday-choice-intro{padding:24px 0 6px}
.firstday-choice-intro p{text-align:left;line-height:1.8;font-size:18px;letter-spacing:.04em;margin:12px 0}
.firstday-save-status{color:#803C48;font-size:13px;letter-spacing:.02em;line-height:1.7}
.firstday-ending{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 30px}
.firstday-ending-text{max-width:28em;font-size:clamp(19px,3vw,26px);line-height:2.1;letter-spacing:.1em;will-change:opacity}
.family-readout{font-size:12px;text-align:right;color:#8F8580;letter-spacing:.06em;margin:10px 0}
.game .avatars .person[role="button"]{cursor:pointer;outline-offset:5px}
.relationship-profile{width:min(380px,calc(100vw - 40px));padding:36px 28px 24px;border:1px solid var(--line);background:var(--surface);color:#24211F;text-align:center;max-height:calc(100svh - 48px);overflow:auto}
.relationship-profile::backdrop{background:rgba(43,32,35,.25)}
.profile-close{position:absolute;right:5px;top:5px;width:44px;height:44px;padding:0;border:0;font-size:25px;letter-spacing:0}
.relationship-profile .profile-photo{width:180px;height:180px;max-width:100%;object-fit:cover;object-position:50% 30%;border-radius:2px}
.relationship-profile h2{font-size:20px;font-weight:400;letter-spacing:.12em;margin:22px 0}
.relationship-profile dl{margin:0;border-top:1px solid var(--line)}
.relationship-profile dl div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}
.relationship-profile dd{margin:0;font-variant-numeric:tabular-nums}
@keyframes firstday-sentence{from{opacity:0}to{opacity:1}}
@media(max-width:390px){.firstday-vn{padding-left:18px;padding-right:18px}.firstday-header{gap:6px}.firstday-header .eyebrow{font-size:11px;letter-spacing:.12em}.firstday-roster{gap:6px}.firstday-roster figure{font-size:11px}.firstday-read{padding-left:3px;padding-right:3px}}
