:root{--ink:#14233b;--cream:#f6f1e8;--gold:#e6aa5c;--muted:#5b6573;--line:#dedbd3;--serif:Newsreader,Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 var(--sans)}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #b5752d;outline-offset:4px}input:focus,textarea:focus{outline:2px solid #b5752d;outline-offset:2px}a{color:inherit}.topbar{max-width:1440px;margin:auto;min-height:92px;padding:20px 5%;display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font:28px var(--serif);white-space:nowrap}.brand span{color:#9b6022}.pilot{font-size:10px;letter-spacing:.2em;margin-left:auto;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:600;display:block;color:#f1c98e}.dark{color:#8b622f}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(40px,5vw,66px);margin:16px 0 22px}h2{font-size:40px;margin:20px 0 14px}h3{font-size:28px;margin:10px 0}.muted{color:var(--muted);max-width:620px}.fine{font-size:12px;line-height:1.65;color:var(--muted)}.primary{border:1px solid var(--ink);background:var(--ink);color:white;border-radius:5px;padding:14px 22px;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px}.primary:hover{background:#253c5b}.wide{width:100%}.quiet,.back{border:0;background:transparent;color:var(--ink);padding:12px;font-size:14px;min-height:44px}.quiet:hover,.back:hover{text-decoration:underline}.back{padding-left:0;display:block;margin-bottom:28px;color:var(--muted)}.auth-layout{max-width:1280px;margin:38px auto 64px;display:grid;grid-template-columns:1fr 1fr;min-height:720px;padding:0 32px;gap:0}.welcome{position:relative;border-radius:8px 0 0 8px;overflow:hidden;background:linear-gradient(180deg,rgba(13,29,51,.68),rgba(13,29,51,.94)),url('/assets/imprint-hero.png') 60% center/cover;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:58px 50px}.welcome h1{font-size:clamp(54px,6vw,83px);line-height:.95;margin:42px 0 30px}.welcome h1 em{color:var(--gold);font-style:italic}.welcome p{font:23px/1.45 var(--serif);color:#eef1f3}.photo-note{font-size:10px;letter-spacing:.2em;color:#d7d5cc}.auth-panel{background:#fffdf9;padding:42px 52px;border:1px solid var(--line);border-radius:0 8px 8px 0}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:38px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:0 0 12px;font-size:13px;min-height:44px}.tabs button.selected{border-color:#9b6022;color:var(--ink)}label,legend{display:block;font-size:13px;font-weight:500;margin:18px 0 7px}label span#password-hint{font-size:11px;font-weight:400;color:var(--muted)}input:not([type=checkbox]):not([type=radio]),textarea{width:100%;border:1px solid #cfcfc8;border-radius:4px;background:#fff;color:var(--ink);padding:12px 14px;font-size:16px;min-height:48px}textarea{resize:vertical;line-height:1.65;min-height:150px}.check{display:flex;align-items:flex-start;gap:12px;font-size:12px;font-weight:400;margin:24px 0;line-height:1.6}.check input{flex-shrink:0;width:18px;height:18px;accent-color:var(--ink);margin-top:2px}.notice{border:1px solid #b5752d;background:#fff6e4;max-width:1160px;margin:22px auto 0;padding:14px 20px;border-radius:5px;color:#6c461a;font-size:14px}.notice.success{background:#edf2e8;border-color:#8fa681;color:#344e2e}.page{max-width:1160px;margin:65px auto 90px;padding:0 24px;min-height:62vh}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:46px}.page-heading h1{font-size:52px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.profile-card{background:#fffdf9;border:1px solid var(--line);border-radius:7px;padding:28px;display:flex;flex-direction:column;align-items:start;gap:12px}.avatar{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#eee4d4;color:#8b622f;font:30px var(--serif)}.profile-card h2{font-size:32px;margin:8px 0 0}.profile-card p{margin:0;font-size:13px;color:var(--muted)}.profile-card button{margin-top:14px;width:100%}.badge{display:inline-block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#856132;padding:4px 8px;border-radius:3px;background:#f3ebdc}.empty-card{grid-column:1/-1;background:#fffdf9;border:1px dashed #cbb99d;border-radius:7px;padding:46px;max-width:760px}.empty-card p{max-width:560px;color:var(--muted)}.next-chapter{border-top:1px solid var(--line);margin-top:58px;padding-top:34px;display:flex;gap:28px}.chapter-number{font:46px var(--serif);color:#b5966c}.next-chapter p{max-width:650px;color:var(--muted);font-size:14px}.narrow{max-width:740px}.paper{padding:34px;background:#fffdf9;border:1px solid var(--line);border-radius:7px}.paper h2{font-size:44px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}fieldset{border:0;padding:0;margin:0}legend{padding:0}.choice{display:flex;gap:10px;border:1px solid var(--line);border-radius:5px;padding:16px;margin:0;align-items:flex-start}.choice:has(input:checked){border-color:#a37135;background:#faf2e5}.choice input{accent-color:var(--ink);margin-top:5px}.choice small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.soft-note{background:#f3eee5;border-radius:5px;padding:16px;font-size:13px;color:#5e594f;margin-top:24px}.question-layout{display:grid;grid-template-columns:320px 1fr;gap:60px}.question-layout aside h1{font-size:52px;overflow-wrap:anywhere}.progress-label{font-size:12px;margin-top:30px;color:var(--muted)}progress{width:100%;height:7px;margin:8px 0 14px;accent-color:#9b6022}.small-promise{border-top:1px solid var(--line);padding-top:28px;margin-top:32px;font-size:10px;letter-spacing:.1em;color:#856132}.small-promise span{display:block;font-size:12px;letter-spacing:0;color:var(--muted);margin-top:8px}.question-block{margin-top:24px}.question-block label{font:26px/1.2 var(--serif);margin:8px 0 16px}.question-index{font-size:10px;letter-spacing:.15em;color:#8b622f}.form-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px}.saved-section{margin-top:36px}.saved-answer{border-top:1px solid var(--line);padding:20px 0}.saved-answer summary{font-family:var(--serif);font-size:23px;cursor:pointer;line-height:1.3}.saved-answer p{white-space:pre-wrap;overflow-wrap:anywhere;color:#4a5565;font-size:14px}.completion{padding:46px}.completion p{color:var(--muted);margin-bottom:28px}footer{border-top:1px solid var(--line);padding:26px 5%;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}@media(max-width:900px){.auth-panel{padding:36px 30px}.welcome{padding:45px 32px}.profile-grid{grid-template-columns:repeat(2,1fr)}.question-layout{grid-template-columns:250px 1fr;gap:30px}.paper{padding:26px}}@media(max-width:650px){.topbar{min-height:76px;padding:16px 20px;gap:12px}.brand{font-size:24px}.pilot{font-size:8px;letter-spacing:.1em}.auth-layout{grid-template-columns:1fr;padding:0 18px;margin:22px auto 44px}.welcome{border-radius:7px 7px 0 0;min-height:280px;padding:28px}.welcome h1{font-size:54px;margin:24px 0}.welcome h1 br{display:none}.welcome p{font-size:21px;margin:0 0 20px}.photo-note{display:none}.auth-panel{border-radius:0 0 7px 7px;padding:28px}.page{margin:34px auto 54px;padding:0 20px}.page-heading{display:block}.page-heading h1{font-size:42px}.page-heading>button{margin-top:16px}.profile-grid{grid-template-columns:1fr}.empty-card{padding:28px}.question-layout{grid-template-columns:1fr;gap:26px}.question-layout aside h1{font-size:44px}.small-promise{display:none}.choice-row{grid-template-columns:1fr}.paper{padding:24px}.notice{margin:16px 20px 0}.tabs{gap:20px}.tabs button{font-size:12px}footer{flex-direction:column;gap:5px}.next-chapter{gap:18px}.form-actions .primary{width:100%}}

#person-life-status,#status-life{width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;font:inherit;background:white;color:var(--ink);margin-bottom:16px}

.rename-control{margin-top:18px;border-top:1px solid var(--line);padding-top:12px;overflow-wrap:anywhere}.rename-control summary{cursor:pointer;font-size:14px}.rename-control form{margin-top:14px}.rename-control input{width:100%}.rename-preview{padding:16px;border:1px solid var(--line);border-radius:5px;margin:12px 0}.rename-control .primary{margin-right:10px}

/* Compact library cards; keep every action comfortably tappable. */
.profile-card{padding:24px;gap:8px}.profile-card .avatar{width:48px;height:48px;font-size:27px}.profile-card h2{font-size:30px;line-height:1.2;margin:4px 0 0;overflow-wrap:anywhere}.profile-card>.primary{min-height:48px;margin-top:10px}.profile-card-actions{display:grid;width:100%;gap:0;margin-top:4px}.profile-card-actions:empty{display:none}.profile-card .profile-card-actions button{margin-top:0;min-height:44px;padding:8px 10px}
