@font-face{font-family:"Life Serif";src:url(/fonts/NotoSerifSC.ttf) format("truetype");font-style:normal;font-weight:200 900;font-display:swap}*{box-sizing:border-box}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--theme-color-brand);outline-offset:5px}input:focus,textarea:focus{outline:1px solid var(--theme-color-brand)}.app{min-height:100vh;background:var(--theme-color-bg);color:var(--theme-color-text);font-family:var(--theme-font-heading);font-size:calc(var(--theme-size-body)*var(--theme-font-size-scale-body));--line:var(--theme-border-thickness) solid var(--theme-color-border)}.masthead{height:var(--theme-header-height);display:flex;align-items:center;border-bottom:var(--line);gap:var(--theme-space-7);padding:0 var(--theme-space-8);background:url(/assets/interview-paper.png) top center/100% auto}.brand{display:flex;align-items:center;gap:var(--theme-space-3);flex-shrink:0}.brand img{width:46px;height:54px;object-fit:contain}.brand strong{font-size:var(--theme-size-brand);font-weight:600;letter-spacing:.03em;white-space:nowrap}.brand small{display:block;letter-spacing:.18em;color:var(--theme-color-muted);font-size:var(--theme-size-xs);margin-top:var(--theme-space-1)}.main-nav{display:flex;justify-content:center;gap:var(--theme-space-7);height:100%;margin-left:auto;white-space:nowrap}.main-nav button{position:relative;padding:0;font-size:var(--theme-size-nav);transition:color .2s}.main-nav button:hover,.main-nav [aria-current]{color:var(--theme-color-brand)}.main-nav [aria-current]:after{content:"";position:absolute;bottom:var(--theme-space-4);left:0;right:0;border-bottom:2px solid var(--theme-color-brand)}.header-tools{display:flex;gap:var(--theme-space-6);align-items:center;white-space:nowrap;margin-left:auto}.view-switch{display:flex;gap:var(--theme-space-3);border-left:var(--line);padding-left:var(--theme-space-4);font-size:var(--theme-size-xs)}.view-switch button{display:flex;align-items:center;gap:var(--theme-space-1);padding:0;color:var(--theme-color-muted)}.view-switch button:hover,.view-switch .active{color:var(--theme-color-text)}.export-button{display:flex;align-items:center;gap:var(--theme-space-2);padding:var(--theme-space-3) var(--theme-space-4);border-radius:var(--theme-button-radius);background:var(--theme-color-brand);color:var(--theme-color-white);font-size:var(--theme-size-sm)}.export-button:hover{background:var(--theme-color-brand-dark)}.header-tools>p{font-size:var(--theme-size-xs);line-height:1.9;letter-spacing:.14em;color:var(--theme-color-muted);text-align:center;margin:0}.workspace{display:flex;min-height:calc(100vh - var(--theme-header-height));max-width:1800px;margin:auto}.desktop-reader{width:calc(100% - var(--theme-aside-width));padding:var(--theme-space-7) var(--theme-space-6) 0;min-width:0}.reader-heading{display:flex;align-items:center;gap:var(--theme-space-7);margin:0 var(--theme-space-4) var(--theme-space-6)}.reader-heading h1{font-size:var(--theme-size-title);font-weight:600;letter-spacing:.03em;margin:0;white-space:nowrap}.reader-heading p{margin:0;color:var(--theme-color-muted);line-height:1.9;font-size:var(--theme-size-xs);letter-spacing:.16em}.book-spread{background:url(/assets/book-spread.png) center/100% 100% no-repeat;display:grid;grid-template-columns:1fr 1fr;min-height:var(--theme-book-height);padding:6px 36px 22px;filter:drop-shadow(var(--theme-book-shadow));isolation:isolate}.book-left{display:flex;flex-direction:column;min-width:0;padding-right:var(--theme-space-7)}.book-right{min-width:0;padding:0 0 var(--theme-space-3) var(--theme-space-7);position:relative;display:flex;flex-direction:column;align-items:flex-start}.photo-frame{position:relative;display:flex;flex-direction:column;width:100%;background:var(--theme-color-card);padding:var(--theme-space-4) var(--theme-space-4) var(--theme-space-2);box-shadow:0 2px 5px #45331a13;transition:transform .25s;text-align:center}.photo-frame:hover{transform:rotate(-.4deg)}.photo-frame img{width:100%;height:var(--theme-photo-height);object-fit:cover;object-position:center 40%;filter:saturate(.75);border-radius:var(--theme-image-radius)}.photo-caption{display:block;font-size:var(--theme-size-sm);padding:var(--theme-space-2) 0 var(--theme-space-1);white-space:nowrap}.photo-hint{position:absolute;bottom:var(--theme-space-9);left:50%;transform:translate(-50%);background:var(--theme-color-text);color:var(--theme-color-white);border-radius:var(--theme-pill-radius);padding:var(--theme-space-2) var(--theme-space-3);font-size:var(--theme-size-xs);opacity:0;transition:opacity .2s;white-space:nowrap}.photo-frame:hover .photo-hint,.photo-frame:focus-visible .photo-hint{opacity:1}.photo-back,.photo-empty{height:var(--theme-photo-height);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--theme-space-6);padding:var(--theme-space-7);background:var(--theme-color-soft);color:var(--theme-color-muted)}.photo-back p{font-size:var(--theme-size-read);line-height:2;color:var(--theme-color-text)}.photo-back small,.photo-back span,.photo-empty span{font-size:var(--theme-size-xs)}.photo-empty p{font-size:var(--theme-size-read);line-height:2}.audio-player{display:flex;align-items:center;gap:var(--theme-space-3);padding:var(--theme-space-4) var(--theme-space-4) 0;margin-top:auto;font-size:var(--theme-size-sm);white-space:nowrap}.play-button{width:40px;height:40px;border-radius:var(--theme-pill-radius);background:var(--theme-color-brand);color:var(--theme-color-white);display:grid;place-items:center;flex-shrink:0}.play-button:hover{background:var(--theme-color-brand-dark)}.audio-mark{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;color:var(--theme-color-muted);opacity:.7;overflow:hidden}.audio-mark svg{width:25%;height:32px;flex-shrink:0}.is-playing svg{animation:wave 1s infinite alternate}.is-playing svg:nth-child(2n){animation-delay:-.4s}.audio-player time{font-size:var(--theme-size-xs)}.chapter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--theme-space-2);width:100%}.chapter-kicker{font-size:var(--theme-size-xs);letter-spacing:.04em;line-height:1.8;white-space:nowrap}.chapter-kicker strong{display:block;font-size:var(--theme-size-body);font-weight:500;letter-spacing:0}.prose-tabs{display:flex;align-items:center;background:var(--theme-color-soft);padding:var(--theme-space-1);border:var(--line);border-radius:var(--theme-pill-radius);font-size:10px;white-space:nowrap}.prose-tabs button{padding:6px 8px;border-radius:var(--theme-pill-radius)}.prose-tabs .active{color:var(--theme-color-white);background:var(--theme-color-brand)}.book-right h2{font-size:calc(var(--theme-size-chapter)*var(--theme-font-size-scale-heading));line-height:1.55;letter-spacing:.005em;font-weight:600;margin:var(--theme-space-9) 0 var(--theme-space-4);width:100%;animation:appear .4s}.chapter-rule{display:block;width:24px;border-top:var(--theme-border-thickness) solid var(--theme-color-brand);margin-bottom:var(--theme-space-6)}.chapter-copy{font-size:var(--theme-size-read);line-height:1.95;text-align:justify;white-space:pre-line;max-height:260px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--theme-color-border) transparent;padding-right:var(--theme-space-1)}.family-quote{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:0;margin-top:var(--theme-space-8);width:100%;gap:var(--theme-space-4);z-index:1}.family-quote q{font-size:var(--theme-size-read);line-height:1.8;color:var(--theme-color-brand);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.family-quote span{font-size:var(--theme-size-body);padding-left:var(--theme-space-5)}.book-colophon{margin-top:auto;align-self:flex-end;font-size:var(--theme-size-xs);color:var(--theme-color-muted);text-align:center;line-height:1.9;letter-spacing:.17em;transform:rotate(-5deg);padding-top:var(--theme-space-6);opacity:.72}.timeline{display:flex;align-items:flex-start;padding:var(--theme-space-6) var(--theme-space-9);position:relative}.timeline button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--theme-space-1);flex:1;padding:var(--theme-space-5) 0 0}.timeline button:before{content:"";border-top:var(--line);position:absolute;left:0;right:0;top:0}.timeline button:nth-of-type(4):before{right:25%}.timeline-dot{position:absolute;left:0;top:-6px;width:13px;height:13px;border:var(--theme-border-thickness) solid var(--theme-color-text);border-radius:var(--theme-pill-radius);background:var(--theme-color-bg)}.timeline button strong{font-weight:500;font-size:var(--theme-size-nav);margin-left:-10px}.timeline button>span:last-child{font-size:var(--theme-size-sm);margin-left:-25px;white-space:nowrap}.timeline .active{color:var(--theme-color-brand)}.timeline .active .timeline-dot{background:var(--theme-color-brand);border:3px solid var(--theme-color-bg);outline:1px solid var(--theme-color-brand);width:17px;height:17px;top:-8px;left:-2px}.timeline>p{margin:var(--theme-space-2) 0 0;font-size:var(--theme-size-xs);color:var(--theme-color-muted);letter-spacing:.13em;line-height:1.9;transform:rotate(-7deg);text-align:center;min-width:165px}.companion{width:var(--theme-aside-width);flex-shrink:0;border-left:var(--line);display:flex;flex-direction:column;background:var(--theme-color-card) url(/assets/interview-paper.png) right bottom/100% 100% no-repeat;min-height:calc(100vh - var(--theme-header-height));position:relative}.companion-top{display:flex;align-items:center;justify-content:space-between;margin:0 var(--theme-space-7);padding:var(--theme-space-6) 0 var(--theme-space-5);border-bottom:var(--line);flex-shrink:0}.companion-top h2{font-size:23px;font-weight:500;margin:0;white-space:nowrap}.companion-top button{display:flex;align-items:center;gap:var(--theme-space-1);font-size:var(--theme-size-sm);white-space:nowrap;padding:0}.companion-top button:hover{color:var(--theme-color-brand)}.companion-body{padding:var(--theme-space-10) var(--theme-space-8) var(--theme-space-6);flex:1;min-height:0}.interview-topic{font-size:var(--theme-size-body);display:flex;flex-direction:column;gap:var(--theme-space-3)}.interview-topic i{width:24px;border-top:1px solid var(--theme-color-brand)}.interview-question{font-size:calc(var(--theme-size-question)*var(--theme-font-size-scale-heading));line-height:1.75;font-weight:600;margin:var(--theme-space-5) 0 0;letter-spacing:0}.record-area{text-align:center;margin-top:var(--theme-space-10);display:flex;flex-direction:column;align-items:center}.record-button{position:relative;width:var(--theme-mic-size);height:var(--theme-mic-size);display:grid;place-items:center;color:var(--theme-color-white);background:var(--theme-color-brand);border:var(--theme-space-2) solid var(--theme-color-soft);outline:var(--theme-border-thickness) solid var(--theme-color-border);outline-offset:var(--theme-space-2);border-radius:var(--theme-pill-radius);transition:transform .2s}.record-button:before{content:"";position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border:var(--theme-border-thickness) solid var(--theme-color-border);border-radius:var(--theme-pill-radius);opacity:.5}.record-button:hover{transform:scale(1.04)}.recording .record-button{animation:pulse 1.6s infinite}.record-label{font-size:25px;margin-top:var(--theme-space-5);padding:0}.record-area p{font-size:var(--theme-size-body);color:var(--theme-color-muted);margin:var(--theme-space-2) 0 0}.change-question{display:flex;gap:var(--theme-space-3);align-items:center;justify-content:center;margin:var(--theme-space-8) auto 0;font-size:var(--theme-size-body)}.change-question svg{color:var(--theme-color-brand)}.change-question:hover{color:var(--theme-color-brand)}.saved-line{display:flex;align-items:center;gap:var(--theme-space-2);margin-top:var(--theme-space-9);font-size:var(--theme-size-xs);font-family:var(--theme-font-body);color:var(--theme-color-muted)}.saved-line>svg{color:var(--theme-color-text)}.saved-line time{margin-left:var(--theme-space-2)}.write-instead{display:flex;align-items:center;gap:var(--theme-space-1);margin-top:var(--theme-space-4);padding:0;font-size:var(--theme-size-xs);color:var(--theme-color-muted)}.write-instead:hover{color:var(--theme-color-brand)}.mobile-tabs{display:flex;border-top:var(--line);min-height:96px;align-items:center;justify-content:space-around;background:var(--theme-color-bg);flex-shrink:0;position:sticky;bottom:0}.mobile-tabs button{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--theme-space-2);font-size:var(--theme-size-body);padding:var(--theme-space-3) var(--theme-space-2)}.mobile-tabs [aria-current]{color:var(--theme-color-brand)}.mobile-tabs [aria-current]:after{content:"";width:22px;position:absolute;bottom:0;border-bottom:2px solid var(--theme-color-brand)}.companion-content h2{font-size:30px;line-height:1.7;font-weight:500;margin:var(--theme-space-5) 0 var(--theme-space-7)}.companion-content .eyebrow{font-size:var(--theme-size-xs)}.companion-body:not(.mode-interview){padding-top:var(--theme-space-7)}.family-contribution{border-bottom:var(--line);padding:var(--theme-space-5) 0}.family-contribution strong{font-size:var(--theme-size-body);font-weight:500}.family-contribution time{display:block;font-size:var(--theme-size-xs);font-weight:400;color:var(--theme-color-muted);margin-top:var(--theme-space-1)}.family-contribution p{font-size:var(--theme-size-body);line-height:2;overflow-wrap:anywhere}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--theme-space-2);padding:var(--theme-space-3) var(--theme-space-5);color:var(--theme-color-white);background:var(--theme-color-brand);border-radius:var(--theme-button-radius);font-family:var(--theme-font-body);font-size:var(--theme-size-sm);line-height:1.6}.primary-button:hover{background:var(--theme-color-brand-dark)}.companion-content>.primary-button{margin-top:var(--theme-space-6);width:100%}.quiet-button{display:flex;align-items:center;justify-content:center;gap:var(--theme-space-2);padding:var(--theme-space-3) 0;font-size:var(--theme-size-sm);color:var(--theme-color-brand)}.companion-content>.quiet-button{margin:var(--theme-space-2) auto}.mobile-prose{font-size:var(--theme-size-nav);line-height:2.1;white-space:pre-line}.chapter-pager{display:flex;justify-content:space-between;border-top:var(--line);padding-top:var(--theme-space-4);margin-top:var(--theme-space-6)}.chapter-pager button{display:flex;align-items:center;gap:var(--theme-space-2);font-size:var(--theme-size-sm)}.capsule-entry{border-top:var(--line);padding:var(--theme-space-6) 0;color:var(--theme-color-brand)}.capsule-entry h3{font-size:var(--theme-size-nav);line-height:1.8;font-weight:500;color:var(--theme-color-text)}.capsule-entry p{font-size:var(--theme-size-xs);color:var(--theme-color-muted)}.secondary-view{padding:var(--theme-space-7) var(--theme-space-8) var(--theme-space-10);min-height:800px}.eyebrow{font-size:var(--theme-size-sm);letter-spacing:.12em;color:var(--theme-color-brand)}.secondary-view h1{font-size:var(--theme-size-title);line-height:1.6;font-weight:500;margin:var(--theme-space-5) 0}.view-intro{color:var(--theme-color-muted);line-height:2;margin-bottom:var(--theme-space-9)}.family-directory>button{display:flex;align-items:center;text-align:left;gap:var(--theme-space-6);width:100%;border-top:var(--line);padding:var(--theme-space-7) 0}.family-directory>button:hover{color:var(--theme-color-brand)}.family-directory h2{margin:0 0 var(--theme-space-2);font-size:23px;font-weight:500}.family-directory small{margin-left:var(--theme-space-4);font-size:var(--theme-size-sm);color:var(--theme-color-muted)}.family-directory p{font-size:var(--theme-size-sm);margin:0;color:var(--theme-color-muted)}.family-directory>button>span{margin-left:auto;display:flex;align-items:center;gap:var(--theme-space-2);font-size:var(--theme-size-sm)}.era-entry{padding:var(--theme-space-7) 0;border-top:var(--line)}.era-entry>small,.era-entry>span{font-size:var(--theme-size-sm);color:var(--theme-color-muted)}.era-entry h2{font-size:25px;font-weight:500;line-height:1.8}.era-entry p{line-height:2;font-size:var(--theme-size-nav);max-width:65ch}.text-button{display:flex;align-items:center;gap:var(--theme-space-2);color:var(--theme-color-brand);font-size:var(--theme-size-sm);padding:var(--theme-space-5) 0 0}.archive-search{display:flex;gap:var(--theme-space-3);margin-bottom:var(--theme-space-8)}.archive-search input{flex:1;min-width:0;border:var(--line);background:var(--theme-color-card);padding:var(--theme-space-4);font-family:var(--theme-font-body);border-radius:var(--theme-button-radius);color:inherit}.fine-print{font-family:var(--theme-font-body);font-size:var(--theme-size-xs);color:var(--theme-color-muted);line-height:1.9;margin-top:var(--theme-space-6)}.view-desktop .companion{display:none}.view-desktop .desktop-reader{width:100%;max-width:1280px;margin:auto;padding-left:var(--theme-space-8);padding-right:var(--theme-space-8)}.view-mobile .desktop-reader{display:none}.view-mobile .companion{width:420px;margin:auto;border-right:var(--line)}.modal{padding:var(--theme-space-7);border:var(--line);border-radius:var(--theme-card-radius);width:min(560px,calc(100% - 32px));max-height:90vh;background:var(--theme-color-card);color:var(--theme-color-text);font-family:var(--theme-font-heading);box-shadow:var(--theme-modal-shadow)}.modal::backdrop{background:var(--theme-color-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--theme-space-6)}.modal-head h2{font-weight:500;font-size:26px;margin:0}.icon-button{padding:0;display:grid;place-items:center;flex-shrink:0}.modal-description{color:var(--theme-color-muted);font-size:var(--theme-size-sm);line-height:1.9;margin:var(--theme-space-4) 0 var(--theme-space-6)}.modal label{display:block;font-size:var(--theme-size-sm);margin-bottom:var(--theme-space-5)}.modal input,.modal textarea{display:block;width:100%;margin-top:var(--theme-space-2);padding:var(--theme-space-3);border:var(--line);border-radius:var(--theme-button-radius);background:var(--theme-color-bg);color:inherit;font-family:var(--theme-font-body);font-size:var(--theme-size-body);resize:vertical}.export-choice{display:flex;align-items:center;gap:var(--theme-space-4);width:100%;text-align:left;border-top:var(--line);padding:var(--theme-space-5) 0}.export-choice:hover{color:var(--theme-color-brand)}.export-choice>span{flex:1}.export-choice strong{display:block;font-size:var(--theme-size-nav);font-weight:500}.export-choice small{display:block;font-size:var(--theme-size-xs);color:var(--theme-color-muted);margin-top:var(--theme-space-2)}.letter-content{font-size:var(--theme-size-nav);line-height:2.1}.toast{position:fixed;left:50%;bottom:var(--theme-space-6);transform:translate(-50%,10px);padding:var(--theme-space-3) var(--theme-space-6);border-radius:var(--theme-pill-radius);font:var(--theme-size-sm)/1.7 var(--theme-font-body);background:var(--theme-color-text);color:var(--theme-color-white);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center;z-index:30}.toast.visible{opacity:1;transform:translate(-50%)}.visually-hidden{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.book-right:after{content:"";background:url(/assets/ginkgo.png) right bottom/contain no-repeat;position:absolute;right:0;bottom:0;width:125px;height:160px;opacity:.35;pointer-events:none;z-index:0}.remove-note{font-family:var(--theme-font-body);font-size:var(--theme-size-xs);color:var(--theme-color-muted);padding:var(--theme-space-2) 0}.remove-note:hover{color:var(--theme-color-brand)}@keyframes appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes wave{to{opacity:.45;transform:scaleY(.6)}}@keyframes pulse{50%{outline-offset:14px}}.brand img{transform:scale(var(--theme-logo-scale))}.book-spread{height:var(--theme-book-height)}.book-right{min-height:0;padding-top:0}.book-right h2{margin-top:var(--theme-chapter-title-gap)}.prose-tabs{font-size:var(--theme-size-control)}.chapter-copy{line-height:var(--theme-copy-line-height);flex-shrink:1;min-height:0}.family-quote{margin-top:var(--theme-quote-margin)}.book-colophon{padding-top:var(--theme-space-3)}.record-area{margin-top:var(--theme-record-gap)}.saved-line{margin-top:var(--theme-saved-gap)}.write-instead{margin-top:var(--theme-space-2)}@media(min-width:1101px){.companion{height:calc(100vh - var(--theme-header-height))}.companion-body{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--theme-color-border) transparent}}@media(min-width:1600px){.book-spread{height:770px;min-height:770px}.photo-frame img,.photo-back,.photo-empty{height:560px}.book-right h2{margin-top:64px}.interview-question{font-size:43px}}@media(max-width:1350px){.masthead{padding:0 var(--theme-space-6);gap:var(--theme-space-6)}.brand strong{font-size:24px}.brand img{width:40px}.main-nav{gap:var(--theme-space-6)}.header-tools{gap:var(--theme-space-4)}.header-tools>p{display:none}.book-spread{padding:var(--theme-space-7) var(--theme-space-7) var(--theme-space-6)}.book-left{padding-right:var(--theme-space-6)}.book-right{padding-left:var(--theme-space-6)}.chapter-toolbar{flex-direction:column;align-items:flex-start;gap:var(--theme-space-3)}.book-right h2{font-size:38px;margin-top:var(--theme-space-7)}.chapter-copy{font-size:18px;line-height:1.95}.reader-heading{gap:var(--theme-space-5)}.reader-heading h1{font-size:30px}.reader-heading p{font-size:11px}.companion-body{padding-left:var(--theme-space-7);padding-right:var(--theme-space-7)}.interview-question{font-size:32px}.record-area{margin-top:var(--theme-space-9)}.timeline{padding-right:var(--theme-space-7)}.timeline>p{min-width:120px;font-size:10px}}@media(max-width:1100px){.masthead{height:auto;min-height:var(--theme-header-height);flex-wrap:wrap;padding-top:var(--theme-space-4);padding-bottom:var(--theme-space-4);gap:var(--theme-space-5)}.main-nav{order:3;width:100%;height:38px;justify-content:flex-start;gap:var(--theme-space-7)}.main-nav [aria-current]:after{bottom:0}.header-tools{margin-left:auto}.workspace{display:block}.desktop-reader{width:100%;padding:var(--theme-space-6)}.companion{width:100%;border-left:0;border-top:var(--line);min-height:760px}.companion-body{padding-top:var(--theme-space-8);max-width:560px;margin:auto;width:100%}.companion-top{margin:0 var(--theme-space-7)}.interview-question{font-size:var(--theme-size-question)}.record-area{margin-top:var(--theme-space-8)}.saved-line{margin-top:var(--theme-space-7)}.mobile-tabs{position:static}.book-spread{min-height:700px}.timeline{padding-bottom:var(--theme-space-7)}.view-mobile .companion{max-width:100%}.reader-heading p{font-size:var(--theme-size-xs)}}@media(max-width:640px){.masthead{padding:var(--theme-space-4);gap:var(--theme-space-4)}.brand img{width:34px;height:42px}.brand strong{font-size:21px}.brand small{font-size:9px;letter-spacing:.1em}.header-tools{gap:var(--theme-space-2)}.header-tools .view-switch{display:none}.export-button{font-size:11px;padding:var(--theme-space-2)}.export-button svg{display:none}.main-nav{justify-content:space-between;gap:var(--theme-space-2);height:34px}.main-nav button{font-size:var(--theme-size-sm)}.desktop-reader{padding:var(--theme-space-6) var(--theme-space-2) 0}.reader-heading{margin:0 var(--theme-space-4) var(--theme-space-5)}.reader-heading h1{font-size:24px}.reader-heading p{display:none}.book-spread{display:flex;flex-direction:column;padding:var(--theme-space-7) var(--theme-space-6);background-size:auto 100%;background-position:center;min-height:0}.book-left{padding:0}.photo-frame{max-width:380px;margin:auto}.photo-frame img,.photo-empty,.photo-back{height:360px}.audio-player{justify-content:center;padding-top:var(--theme-space-5);max-width:380px;width:100%;margin:auto}.book-right{padding:var(--theme-space-8) var(--theme-space-3) var(--theme-space-5)}.chapter-toolbar{flex-direction:row;align-items:center}.chapter-kicker{font-size:10px}.chapter-kicker strong{font-size:var(--theme-size-sm)}.prose-tabs{font-size:9px}.prose-tabs button{padding:5px 6px}.book-right h2{font-size:34px;margin-top:var(--theme-space-6)}.chapter-copy{font-size:17px;max-height:none}.family-quote{margin-top:var(--theme-space-6)}.family-quote q{font-size:18px}.book-colophon{padding-top:var(--theme-space-7)}.timeline{padding:var(--theme-space-6) var(--theme-space-6) var(--theme-space-7);margin:0 var(--theme-space-3)}.timeline>p{display:none}.timeline button strong{font-size:var(--theme-size-body)}.timeline button>span:last-child{font-size:11px;margin-left:-16px}.timeline button:nth-of-type(4):before{right:0}.companion-top{margin:0 var(--theme-space-6)}.companion-body{padding-left:var(--theme-space-8);padding-right:var(--theme-space-8)}.interview-question{font-size:34px}.companion{min-height:800px}.secondary-view{padding:var(--theme-space-6);min-height:600px}.secondary-view h1{font-size:28px}.family-directory>button{gap:var(--theme-space-4)}.family-directory>button>span{display:none}.family-directory h2{font-size:21px}.era-entry h2{font-size:22px}.archive-search{flex-wrap:wrap}.archive-search input{width:100%;flex-basis:100%}.modal{padding:var(--theme-space-6)}.modal-head h2{font-size:23px}}@media(max-width:640px){.book-spread{height:auto}.chapter-copy{flex-shrink:0}.brand img{transform:scale(1.2)}.view-mobile .main-nav{display:none}.header-tools{display:contents}.header-tools .view-switch{display:flex;order:3;flex-basis:100%;justify-content:center;border:0;padding:var(--theme-space-1) 0;gap:var(--theme-space-6)}.export-button{margin-left:auto}.view-switch button{padding:var(--theme-space-1) var(--theme-space-2)}.view-mobile .companion{border:0}}@media(max-width:640px){.view-mobile .masthead{height:var(--theme-mobile-header-height)}.view-mobile .companion{height:calc(100dvh - var(--theme-mobile-header-height));min-height:0}.view-mobile .companion-body{overflow-y:auto;scrollbar-width:thin;margin:0;max-width:none}.view-mobile .record-area{margin-top:var(--theme-space-8)}.view-mobile .mobile-tabs{position:static}.view-mobile .workspace{min-height:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reader-actions{margin-left:auto;display:flex;gap:var(--theme-space-3)}.subtle-action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:var(--line);border-radius:var(--theme-pill-radius);background:var(--theme-color-card);color:var(--theme-color-muted);font-size:var(--theme-size-xs);transition:color .2s,border-color .2s}.subtle-action:hover{color:var(--theme-color-brand);border-color:var(--theme-color-brand)}.reupload-link{font-size:var(--theme-size-xs);color:var(--theme-color-muted);margin-left:var(--theme-space-2)}.reupload-link:hover{color:var(--theme-color-brand)}.secondary-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--theme-space-6);flex-wrap:wrap}.era-actions{display:flex;align-items:center;gap:var(--theme-space-6);flex-wrap:wrap;margin-top:var(--theme-space-4)}.era-actions .text-button{padding:0}.resonate-button{display:inline-flex;align-items:center;gap:6px;font-size:var(--theme-size-xs);color:var(--theme-color-muted);padding:4px 12px;border:var(--line);border-radius:var(--theme-pill-radius);background:var(--theme-color-card);transition:color .2s,border-color .2s}.resonate-button:hover,.resonate-button.is-lit{color:var(--theme-color-brand);border-color:var(--theme-color-brand)}.modal-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--theme-space-4)}.db-badge-line{display:flex;align-items:center;gap:8px;margin-top:var(--theme-space-5);padding-top:var(--theme-space-4);border-top:var(--line);font-family:var(--theme-font-body);font-size:var(--theme-size-xs);color:var(--theme-color-muted)}.app-root{min-height:100vh;background:var(--theme-color-bg);color:var(--theme-color-text);font-family:var(--theme-font-heading)}.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--theme-space-5);padding:var(--theme-space-7);text-align:center;color:var(--theme-color-muted);font-size:var(--theme-size-nav);background:url(/assets/interview-paper.png) center/cover}.boot-screen p{max-width:28em;line-height:1.9;margin:0}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--theme-space-8) var(--theme-space-5) var(--theme-space-5);background:var(--theme-color-bg) url(/assets/interview-paper.png) center/cover;font-family:var(--theme-font-heading);color:var(--theme-color-text);position:relative}.auth-card{width:min(440px,100%);margin-top:auto;background:color-mix(in srgb,var(--theme-color-card) 94%,transparent);border:var(--theme-border-thickness) solid var(--theme-color-border);border-radius:var(--theme-card-radius);padding:var(--theme-space-8) var(--theme-space-7);box-shadow:0 18px 50px #45331a1a}.auth-brand{display:flex;align-items:center;gap:var(--theme-space-3);color:inherit}.auth-brand img{width:46px;height:54px;object-fit:contain}.auth-brand strong{display:block;font-size:24px;font-weight:600;letter-spacing:.03em}.auth-brand small{display:block;margin-top:var(--theme-space-1);font-size:var(--theme-size-xs);letter-spacing:.18em;color:var(--theme-color-muted)}.auth-lede{margin:var(--theme-space-5) 0 var(--theme-space-6);font-size:var(--theme-size-read);line-height:1.7}.auth-tabs{display:flex;border-bottom:var(--theme-border-thickness) solid var(--theme-color-border);margin-bottom:var(--theme-space-5)}.auth-tabs button{flex:1;padding:var(--theme-space-3) 0;font-size:var(--theme-size-nav);color:var(--theme-color-muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}.auth-tabs button:hover{color:var(--theme-color-text)}.auth-tabs .active{color:var(--theme-color-brand);border-bottom-color:var(--theme-color-brand)}.auth-form{display:flex;flex-direction:column;gap:var(--theme-space-4)}.auth-form label{display:flex;flex-direction:column;gap:var(--theme-space-2);font-size:var(--theme-size-sm)}.auth-form label small{color:var(--theme-color-muted);font-size:var(--theme-size-xs)}.auth-form input:not([type=checkbox]):not([type=radio]){padding:var(--theme-space-3);border:var(--theme-border-thickness) solid var(--theme-color-border);border-radius:var(--theme-button-radius);background:var(--theme-color-bg);color:inherit;font-family:var(--theme-font-body);font-size:var(--theme-size-body)}.auth-form .primary-button{margin-top:var(--theme-space-2);padding:var(--theme-space-4);font-size:var(--theme-size-body)}.auth-choice{display:grid;grid-template-columns:1fr 1fr;gap:var(--theme-space-2)}.auth-choice label{flex-direction:row;align-items:center;justify-content:center;text-align:center;gap:var(--theme-space-2);padding:var(--theme-space-3) var(--theme-space-2);border:var(--theme-border-thickness) solid var(--theme-color-border);border-radius:var(--theme-button-radius);cursor:pointer;line-height:1.5;transition:border-color .2s,color .2s}.auth-choice label.active{border-color:var(--theme-color-brand);color:var(--theme-color-brand);background:var(--theme-color-white)}.auth-choice input{position:absolute;opacity:0;pointer-events:none}.consent-line{flex-direction:row!important;align-items:flex-start;gap:var(--theme-space-2)!important;font-family:var(--theme-font-body);font-size:var(--theme-size-xs)!important;line-height:1.8;color:var(--theme-color-muted)}.consent-line input{margin-top:5px;accent-color:var(--theme-color-brand)}.consent-line a,.legal-page a{color:var(--theme-color-brand)}.form-error{margin:0;padding:var(--theme-space-3);border-radius:var(--theme-button-radius);background:#9d49351a;color:var(--theme-color-brand-dark);font-family:var(--theme-font-body);font-size:var(--theme-size-sm);line-height:1.7}.site-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--theme-space-2);margin-top:var(--theme-space-6);margin-bottom:auto;font-family:var(--theme-font-body);font-size:var(--theme-size-xs);color:var(--theme-color-muted)}.site-links a:hover{color:var(--theme-color-brand)}.site-footer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding-top:var(--theme-space-5);font-family:var(--theme-font-body);font-size:var(--theme-size-xs);color:var(--theme-color-muted);letter-spacing:.03em;text-align:center}.site-footer a:hover{color:var(--theme-color-brand);text-decoration:underline}.legal-page{width:min(760px,100%);background:var(--theme-color-card);border:var(--theme-border-thickness) solid var(--theme-color-border);border-radius:var(--theme-card-radius);padding:var(--theme-space-8);line-height:2;font-family:var(--theme-font-body);font-size:var(--theme-size-body)}.legal-page h1{font-family:var(--theme-font-heading);font-size:var(--theme-size-title);font-weight:600;margin:var(--theme-space-7) 0 var(--theme-space-2)}.legal-page h2{font-family:var(--theme-font-heading);font-size:20px;font-weight:600;margin:var(--theme-space-7) 0 var(--theme-space-2)}.legal-meta{color:var(--theme-color-muted);font-size:var(--theme-size-sm)}.legal-page table{width:100%;border-collapse:collapse;font-size:var(--theme-size-sm);line-height:1.7}.legal-page th,.legal-page td{border:var(--theme-border-thickness) solid var(--theme-color-border);padding:var(--theme-space-2) var(--theme-space-3);text-align:left;vertical-align:top}.legal-page th{background:var(--theme-color-soft);font-weight:500}.account-button{display:flex;align-items:center;gap:var(--theme-space-2);padding:var(--theme-space-2) var(--theme-space-3);border:var(--theme-border-thickness) solid var(--theme-color-border);border-radius:var(--theme-pill-radius);font-size:var(--theme-size-sm);max-width:160px;transition:border-color .2s,color .2s}.account-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-button:hover{border-color:var(--theme-color-brand);color:var(--theme-color-brand)}.account-panel{display:flex;flex-direction:column;gap:var(--theme-space-2);margin-top:var(--theme-space-4)}.account-panel section{border-top:var(--theme-border-thickness) solid var(--theme-color-border);padding:var(--theme-space-4) 0}.account-panel h3{margin:0 0 var(--theme-space-3);font-size:var(--theme-size-nav);font-weight:500}.account-panel section>p{margin:0;font-size:var(--theme-size-body)}.account-panel section>p small{margin-left:var(--theme-space-3);color:var(--theme-color-muted);font-family:var(--theme-font-body);font-size:var(--theme-size-xs)}.account-row{display:flex;align-items:center;gap:var(--theme-space-3);width:100%;padding:var(--theme-space-3) 0;font-size:var(--theme-size-body);text-align:left;color:inherit}.account-row>span{flex:1}.account-row small{color:var(--theme-color-muted);font-size:var(--theme-size-xs);font-family:var(--theme-font-body)}a.account-row:hover,button.account-row:not(:disabled):hover{color:var(--theme-color-brand)}.account-row.is-current{color:var(--theme-color-brand)}.account-row.danger,.quiet-button.danger{color:var(--theme-color-brand-dark)}.primary-button.danger{background:var(--theme-color-brand-dark)}.invite-box{margin-top:var(--theme-space-3);display:flex;flex-direction:column;gap:var(--theme-space-3)}.invite-controls{display:flex;gap:var(--theme-space-2);align-items:stretch;flex-wrap:wrap}.invite-controls select,.invite-controls input,.delete-confirm input,.guardian-required select{flex:1;min-width:0;padding:var(--theme-space-2) var(--theme-space-3);border:var(--theme-border-thickness) solid var(--theme-color-border);border-radius:var(--theme-button-radius);background:var(--theme-color-bg);color:inherit;font-family:var(--theme-font-body);font-size:var(--theme-size-sm)}.invite-result{padding:var(--theme-space-3) var(--theme-space-4);background:var(--theme-color-soft);border-radius:var(--theme-button-radius);font-size:var(--theme-size-sm)}.invite-result p{margin:0}.invite-result strong{font-family:var(--theme-font-body);letter-spacing:.15em;color:var(--theme-color-brand);font-size:var(--theme-size-nav)}.delete-confirm{display:flex;flex-direction:column;gap:var(--theme-space-3)}.delete-confirm p{margin:0;font-family:var(--theme-font-body);font-size:var(--theme-size-xs);line-height:1.8;color:var(--theme-color-muted)}.guardian-picker{border:var(--theme-border-thickness) solid var(--theme-color-border);border-radius:var(--theme-button-radius);padding:var(--theme-space-3) var(--theme-space-4);margin:0 0 var(--theme-space-4);display:flex;flex-wrap:wrap;gap:var(--theme-space-2) var(--theme-space-5)}.guardian-picker legend{padding:0 var(--theme-space-2);font-size:var(--theme-size-sm)}.modal .guardian-option{display:flex;align-items:center;gap:var(--theme-space-2);margin:0}.modal .guardian-option input{display:inline;width:auto;margin:0;accent-color:var(--theme-color-brand)}.modal .guardian-required{display:flex;align-items:center;gap:var(--theme-space-2);flex-basis:100%;margin:0}.modal .guardian-required select{flex:0 0 auto;width:auto;margin:0}.guardian-status{list-style:none;padding:0;margin:var(--theme-space-3) 0 var(--theme-space-5);display:flex;flex-direction:column;gap:var(--theme-space-2)}.guardian-status li{display:flex;align-items:center;gap:var(--theme-space-2);font-size:var(--theme-size-body)}.guardian-status li small{margin-left:auto;color:var(--theme-color-muted);font-size:var(--theme-size-xs)}.guardian-status li.is-approved{color:var(--theme-color-green)}.guardian-status .dot{width:16px;height:16px;border:var(--theme-border-thickness) solid var(--theme-color-border);border-radius:var(--theme-pill-radius)}.creator-preview{margin-bottom:var(--theme-space-5);font-size:var(--theme-size-sm);color:var(--theme-color-muted)}.creator-preview summary{cursor:pointer}.creator-preview .letter-content{color:var(--theme-color-text)}.export-choice:disabled{opacity:.45}a.export-choice{color:inherit}.empty-book{display:flex!important;align-items:center;justify-content:center}.empty-book-page{max-width:440px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--theme-space-4)}.empty-book-page img{width:90px;opacity:.5}.empty-book-page h2{margin:0;font-size:calc(var(--theme-size-chapter)*.8);font-weight:600;line-height:1.5}.empty-book-page p{margin:0;color:var(--theme-color-muted);line-height:2;font-size:var(--theme-size-body)}.empty-book-actions{display:flex;flex-direction:column;align-items:center;gap:var(--theme-space-2);margin-top:var(--theme-space-3)}@media(max-width:640px){.auth-card{padding:var(--theme-space-7) var(--theme-space-5)}.auth-choice{grid-template-columns:1fr}.legal-page{padding:var(--theme-space-6) var(--theme-space-5)}.account-button span{display:none}.empty-book{min-height:520px}}
