:root{font-family:Arial,"Segoe UI",sans-serif;color:#202c28;background:#fafbf9;font-size:125%;line-height:1.6;--accent:#2b594b;--muted:#56635e;--border:#99aaa2;--soft:#eaf0ec;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{min-height:56px;padding:13px 24px;border:1.5px solid var(--accent);border-radius:8px;background:white;color:var(--accent);font-weight:600;cursor:pointer;line-height:1.4}button:hover{background:var(--soft)}button:disabled{cursor:wait;opacity:.6}.primary{background:var(--accent);color:#fff}.primary:hover{background:#204737}a{color:var(--accent);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a36b13;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:2.8rem;line-height:1.15;letter-spacing:-.025em}h2{font-size:1.55rem;line-height:1.3;font-weight:600}h3{font-size:1.15rem}p+p{margin-top:1rem}.site-header{max-width:1160px;margin:0 auto;padding:27px 36px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d8e0da}.brand{font-family:Georgia,serif;font-size:1.05rem;font-weight:bold}.header-note{font-size:.9rem;color:var(--muted)}main{max-width:790px;margin:0 auto;padding:48px 30px 70px}main:focus{outline:none}.welcome{padding-top:24px;max-width:690px}.welcome h1{margin-bottom:30px}.lead{font-size:1.05rem;line-height:1.8}.welcome button{margin-top:32px;min-width:220px}.quiet,.hint{color:var(--muted);font-size:.9rem;line-height:1.55}.welcome .quiet{margin-top:20px}.progress-head{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:.9rem;margin-bottom:10px}.save-state{color:var(--muted);font-size:.9rem}progress{display:block;width:100%;height:6px;appearance:none;border:0;border-radius:6px;background:#dce4df;margin-bottom:32px}progress::-webkit-progress-bar{background:#dce4df;border-radius:6px}progress::-webkit-progress-value{background:var(--accent);border-radius:6px}.section-title{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.2}.intro{color:var(--muted);margin-top:12px}.theme{margin-top:32px;border-top:1px solid #d8e0da;padding-top:26px}.theme-title{margin-bottom:8px}.theme-subtitle{margin-bottom:26px;color:var(--muted);font-size:.9rem}.field{border:0;margin:28px 0;padding:0;min-width:0}.field label,.field legend{display:block;font-weight:600;margin-bottom:10px}.field input[type=text],.field textarea,.field select{display:block;width:100%;border:1.5px solid var(--border);border-radius:7px;background:white;color:#202c28;padding:13px 15px;line-height:1.55;min-height:58px}.field textarea{min-height:148px;resize:vertical}.field textarea.large{min-height:290px}.hint{display:block;margin-top:9px}.unknown{display:flex!important;align-items:center;gap:12px;font-weight:400!important;font-size:.9rem;color:var(--muted);min-height:48px;cursor:pointer;margin:10px 0 0!important}.unknown input{width:24px;height:24px;accent-color:var(--accent);flex-shrink:0}.date-options{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}.date-options label{display:flex;align-items:center;gap:9px;min-height:44px;font-weight:400;margin:0}.date-options input{width:23px;height:23px;accent-color:var(--accent)}input:disabled,textarea:disabled{background:#edf0ed!important;color:#66716a!important}.nav{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #d8e0da;padding-top:26px;margin-top:34px}.nav button{min-width:130px}.secondary-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.text-button{border:0;background:transparent;padding:8px 0;min-height:48px;text-decoration:underline;text-underline-offset:4px;font-size:.9rem;font-weight:400}.text-button:hover{background:transparent;color:#162f25}.secondary-actions .text-button{margin-right:20px}.person-list{margin-top:28px}.person-row{padding:20px 0;border-bottom:1px solid #d8e0da;display:flex;align-items:center;justify-content:space-between;gap:18px}.person-row span{display:block}.person-row .quiet{margin-top:4px}.add-person{margin-top:28px;width:100%;border-style:dashed}.empty{margin:25px 0;padding:25px;background:var(--soft);border-radius:8px}.callout{margin-top:25px;background:var(--soft);border-left:4px solid var(--accent);padding:20px 24px}.callout.error{background:#fff4e4;border-color:#916024;color:#513713}.success-title{font-family:Georgia,serif;font-size:2.6rem;font-weight:400;margin-bottom:24px}.action-stack{display:grid;gap:14px;margin-top:28px}.action-stack button{width:100%}.overview-list{list-style:none;padding:0;margin:25px 0}.overview-list li{border-bottom:1px solid #d8e0da}.overview-list button{text-align:left;display:block;width:100%;border:0;border-radius:0;background:transparent;font-weight:400;padding-left:0}.review{margin-top:22px}.review summary{cursor:pointer;min-height:56px;padding:14px 0;font-weight:600}.review pre{white-space:pre-wrap;font-family:inherit;max-height:480px;overflow:auto;background:white;padding:18px;border:1px solid var(--border);font-size:.9rem}.upload-label{display:block;margin-top:24px}.upload-label input{max-width:100%;margin-top:12px;font-size:.9rem}.file-row{margin-top:18px;padding-top:18px;border-top:1px solid #d8e0da}.file-row img{display:block;max-width:100%;max-height:220px;margin:12px 0;object-fit:contain}.file-actions{display:flex;gap:22px;align-items:center}.file-actions button{font-size:.9rem}.attachment-meta{font-size:.9rem;margin-top:12px}.attachment-meta input,.attachment-meta select{width:100%;min-height:54px;font:inherit;padding:9px;border:1px solid var(--border);border-radius:7px;margin:5px 0 12px}.notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#202c28;color:white;border-radius:8px;padding:16px 24px;max-width:calc(100% - 32px);width:max-content;z-index:10;font-size:.9rem}#saveWarning:empty{display:none}.fine{font-size:.9rem;color:var(--muted);margin-top:20px}.offline-actions{display:flex;gap:12px;flex-wrap:wrap}.download-link{display:block;font-size:1rem;margin-top:16px}#copyArea{width:100%;min-height:240px;font:inherit}.upload-progress{margin-top:15px}
@media(max-width:600px){.site-header{padding:20px;display:block}.header-note{display:none}main{padding:30px 20px 48px}h1{font-size:2.3rem}.welcome{padding-top:14px}.welcome h1{margin-bottom:25px}.lead{font-size:1rem;line-height:1.7}.welcome button{width:100%;margin-top:28px}.section-title{font-size:1.75rem}.progress-head{align-items:flex-start;flex-direction:column;gap:3px}progress{margin-bottom:25px}.theme{margin-top:24px;padding-top:22px}.nav button{min-width:0;flex:1;padding-left:15px;padding-right:15px}.secondary-actions{gap:4px;display:grid}.secondary-actions .text-button{margin:0;text-align:left}.person-row{align-items:flex-start;flex-direction:column}.person-row button{width:100%}.success-title{font-size:2.2rem}.date-options{gap:4px 18px}.callout{padding:17px 18px}.file-actions{align-items:flex-start;flex-direction:column;gap:8px}.quiet,.hint,.fine{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.relation-actions{display:grid;gap:12px;margin-top:24px}.relation-actions button{text-align:left}.relationship-list{padding-left:24px;overflow-wrap:anywhere}.relationship-list li{margin:14px 0}.answer-list dt{font-weight:600;margin-top:20px}.answer-list dd{margin:6px 0 20px;white-space:pre-wrap;overflow-wrap:anywhere}.person-row>div{min-width:0;overflow-wrap:anywhere}.theme+.review{padding-top:14px}#app>.text-button{display:block;margin-top:18px}
.person-actions{display:grid;gap:6px;flex-shrink:0}.person-actions .text-button{max-width:220px;text-align:center}.person-actions .text-button:hover{text-decoration-thickness:2px}@media(max-width:600px){.person-actions{width:100%}.person-actions .text-button{max-width:none}}
