:root{--paper:#ffffff;--red:#b94132;--ink:#292929;--muted:#686868;--line:#e2e2e2;--pink:#f0f0f0;--ease:cubic-bezier(.22,.8,.25,1)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--paper);color:var(--ink)}body,button,input,textarea,select{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;font-size:15px}button,input,textarea,select{color:inherit}button{cursor:pointer;border:0;background:none;padding:0;text-align:inherit;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.55}button:active{transform:scale(.97)}button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}textarea:focus,input:focus,select:focus{outline:2px solid var(--ink);outline-offset:2px}p,h1,h2,h3,figure,blockquote{margin:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{display:block;width:100%;object-fit:cover}.sprite{position:absolute;width:0;height:0;overflow:hidden}[x-cloak]{display:none!important}.app{position:relative;width:100%;max-width:500px;height:100dvh;margin:0 auto;overflow:hidden;background:var(--paper)}.screen{position:absolute;inset:0;display:flex;flex-direction:column}.busy>.screen{pointer-events:none}.icon-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;scroll-snap-type:y mandatory}.profile-scroll::-webkit-scrollbar,.chat-scroll::-webkit-scrollbar{display:none}.identity{height:64px;min-height:64px;padding:10px 16px 10px 24px;display:flex;justify-content:space-between;align-items:center}.identity h1{font-size:15px;line-height:22px;font-weight:550;white-space:nowrap}.identity h1 span{font-size:13px;font-weight:400;color:var(--muted)}.identity .icon-button{width:34px;height:44px;color:var(--muted)}.answer-lead{padding:0 24px}.reading-meta{font-size:14px;line-height:22px;color:var(--muted);margin-bottom:24px}.answer-passage{display:block;font-family:Songti SC,Noto Serif CJK SC,serif;font-size:32px;line-height:49px;font-weight:500;letter-spacing:0;position:relative;user-select:none;touch-action:pan-y}.answer-passage.responding{background:var(--red);color:#fff}.quote-punctuation{display:inline-block;width:.65em}.answer-line{display:block;position:relative;width:max-content;max-width:100%}.answer-line:after{content:"";position:absolute;bottom:4px;left:var(--ink-left,0px);width:var(--ink-width,0px);height:2px;background:var(--red);transition:width 180ms var(--ease),left 180ms var(--ease)}.answer-line.drawing:after{transition:none}.answer-passage.marked .answer-line:after{left:0;width:100%}.answer-passage.marked{color:var(--ink)}.respond{font-size:14px;color:var(--ink);min-height:44px;margin-top:28px;white-space:nowrap;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#999}.hero-photo{position:relative;width:100%;overflow:hidden}.hero-photo>img{object-position:center}.photo-target{position:relative}.tap-heart{position:absolute;pointer-events:none;width:34px;height:34px;color:var(--red);fill:currentColor;filter:drop-shadow(0 1px 2px #fff);z-index:3;animation:heart-pop 180ms var(--ease) both}@keyframes heart-pop{0%{transform:scale(.4)}65%{transform:scale(1.2)}100%{transform:scale(1)}}.journal-answer{padding:0 24px}.bottom-nav{position:relative;flex-shrink:0;height:68px;display:flex;background:var(--paper);border-top:1px solid var(--line);padding:6px 0 3px}.bottom-nav>button{width:25%;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.bottom-nav>button.active{color:var(--ink)}.bottom-nav svg{width:22px;height:22px}.nav-marker{position:absolute;top:-1px;left:0;width:25%;height:2px;transition:transform 240ms var(--ease)}.nav-marker:before{content:'';display:block;background:var(--ink);width:24px;height:2px;margin:auto}.tab-content{overflow:auto;flex:1;min-height:0;padding:24px}.section-head{margin-bottom:36px}.section-head h1{font-size:29px;font-weight:550}.tab-content h2{font-size:17px;font-weight:550;margin-bottom:18px}.person-row{display:flex;align-items:center;gap:13px;width:100%;padding:14px 0}.person-row>img{width:56px;height:67px;border-radius:3px;object-position:center 30%}.person-row>div{flex:1;min-width:0}.person-row h3{font-size:17px;font-weight:500}.person-row h3 small{font-size:12px;font-weight:400;color:var(--muted);float:right}.person-row p{font-size:13px;color:var(--muted);margin-top:7px;line-height:21px}.person-row>svg{width:18px;height:18px}.his-response{font-family:'Songti SC',serif;font-size:19px;line-height:30px;padding:12px 0 24px;border-bottom:1px solid var(--line)}.outgoing-heading{margin-top:32px}.empty-copy{font-size:14px;color:var(--muted);padding:17px 0}.row-actions{display:flex;gap:23px;color:var(--ink);font-size:13px}.row-actions button{min-height:44px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:330px;text-align:center;gap:20px;color:var(--muted)}.empty-state>svg{width:34px;height:34px}.empty-state h1{font-size:20px;font-weight:500}.text-button{color:var(--ink);min-height:44px;display:block;margin:8px auto;font-size:14px}.my-photo{height:320px;object-position:center 38%;margin-bottom:23px}.tab-content>p{line-height:26px;color:var(--muted);font-size:14px}.topbar{height:72px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.topbar>span{display:flex;align-items:center;gap:9px;font-size:14px}.compose{overflow:auto}.reply-stage{background:var(--red);color:#fff;min-height:0;flex-shrink:0;position:relative}.stage-copy{padding:56px 29px 58px}.reply-topic{font-size:14px;line-height:22px;color:#fff;margin-bottom:19px}.reply-quote{font-family:'Songti SC',serif;font-size:32px;line-height:49px;letter-spacing:0;font-weight:500;max-width:334px;white-space:pre-line}.selected-photo{height:180px;max-width:280px;margin-bottom:13px;border-radius:3px;object-position:center 35%}.photo-quote{font-size:17px;line-height:28px}.compose-body{padding:20px 24px 28px;flex:1;min-height:360px;background:var(--paper);position:relative;z-index:11;display:flex;flex-direction:column}.writing-box{border:1px solid transparent;border-radius:0;padding:8px 2px;background:var(--paper);position:relative;min-height:163px;flex:1;display:flex;flex-direction:column}.writing-box textarea{display:block;resize:none;border:0;background:none;line-height:28px;font-size:19px;width:100%;height:auto;flex:1;min-height:100px;padding:0}.writing-box textarea::placeholder{color:var(--muted);font-size:17px}.primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:53px;min-height:53px;background:var(--ink);color:#fff;border-radius:12px;font-size:16px;font-weight:500;text-align:center}.primary svg{width:20px;height:20px}.send-opening{margin-top:28px;transition:transform 120ms}.send-opening.sending{transform:scale(.97);opacity:1}.field-error,.global-error,.chat-error{font-size:12px;line-height:19px;color:var(--red);margin:6px 0 13px}.global-error{position:absolute;bottom:69px;background:var(--paper);width:100%;padding:10px 24px;margin:0}.chat-top{height:78px;border-bottom:1px solid var(--line)}.chat-identity{display:flex;align-items:center;flex:1;margin-left:8px}.chat-identity h1{font-size:16px;font-weight:550;line-height:24px}.chat-scroll{padding:30px 24px 25px;flex:1;min-height:0;overflow:auto;scrollbar-width:none}.chat-quote{display:block;background:var(--red);color:#fff;padding:28px 24px;width:100%;border-radius:2px;position:relative}.chat-quote>span{font-size:13px;line-height:20px;display:block;margin-bottom:24px}.source-text{font-family:Songti SC,serif;font-size:25px;line-height:39px;font-weight:500;letter-spacing:0;white-space:pre-line}.chat-quote>img{height:110px;margin-bottom:12px;object-position:center 35%}.opening-join{position:relative;padding-top:24px}.message{position:relative;font-size:15px;line-height:25px;padding:12px 15px;width:fit-content;border-radius:12px;max-width:290px}.message.yours{background:var(--pink);margin-left:auto;border-top-right-radius:3px;min-width:0;}.message p{display:inline;white-space:pre-line}.message-meta{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:12px;line-height:18px;color:var(--muted);vertical-align:baseline;margin-left:9px;float:right;margin-top:4px}.message-meta svg{width:12px;height:12px;stroke-width:2}.opening-bubble{max-width:302px}.message-row{display:flex;align-items:flex-end;gap:9px;margin-top:19px}.message-row>img{width:28px;height:28px;border-radius:50%;object-position:center 30%;flex-shrink:0}.message.theirs{background:#ededed;max-width:287px;border-bottom-left-radius:3px;padding:12px 14px}.outgoing-message{display:flex;justify-content:flex-end;margin-top:16px}.chat-composer{flex-shrink:0;border-top:1px solid var(--line);padding:14px 19px 16px 24px;display:flex;gap:10px;align-items:center;position:relative;min-height:78px}.chat-composer input{border:1px solid var(--line);background:var(--paper);border-radius:12px;height:44px;flex:1;width:0;min-width:0;padding:0 14px;font-size:14px}.chat-composer input::placeholder{color:var(--muted)}.chat-send{color:var(--ink)}.chat-send:disabled{opacity:.4}.chat-error{position:absolute;bottom:100%;background:var(--paper);margin:0;padding:8px 10px;left:24px;right:24px}.panel-backdrop{position:absolute;inset:0;background:#2929295c;display:flex;align-items:flex-end;z-index:20}.panel{background:var(--paper);border-radius:20px 20px 0 0;width:100%;max-height:85%;overflow:auto;padding:18px 24px 30px;animation:panel-in 260ms var(--ease)}.panel>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel h2{font-size:20px;font-weight:550}.panel-content p{font-size:14px;line-height:26px;margin-bottom:18px}.panel blockquote{font-family:'Songti SC',serif;font-size:25px;line-height:37px;margin:15px 0 25px}.incoming-photo{height:220px;object-position:center 35%;margin-bottom:17px}.panel form label{display:block;font-size:13px;color:var(--muted);margin-bottom:18px}.panel select{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff9;padding:12px;margin-top:8px}.panel-row{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:14px}.panel-row svg{width:20px;height:20px}.panel-row.danger{color:var(--red)}.source-topic{color:var(--muted)}@keyframes panel-in{from{transform:translateY(25px)}to{transform:none}}.entry .identity{animation:name-in 240ms var(--ease) both}.entry .answer-line{animation:line-in 340ms var(--ease) both;animation-delay:160ms}.entry .answer-line:nth-child(2){animation-delay:220ms}@keyframes name-in{from{opacity:0}to{opacity:1}}@keyframes line-in{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes photo-reveal{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes photo-scale{from{transform:scale(1.04)}to{transform:scale(1)}}.flight{position:absolute;pointer-events:none;z-index:15;transform-origin:top left;margin:0}.flight-text{font-family:'Songti SC',serif;font-weight:500;white-space:pre-line}.flight-stage{background:var(--red);z-index:12}.flight-opening{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;line-height:28px;font-size:19px}.hidden-flight{visibility:hidden!important}.transition-reveal{opacity:0}.send-reveal{animation:reveal-match 250ms var(--ease) both}@keyframes reveal-match{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(max-height:650px){.person-glimpse{width:88px;height:96px;margin-bottom:12px}.answer-lead .answer-content{padding-bottom:20px}.answer-lead .reading-meta{margin-bottom:16px}.answer-lead .respond{margin-top:20px}.reply-stage{min-height:0}.stage-copy{padding:15px 29px 22px}.reply-quote{font-size:29px;line-height:42px}.compose-body{padding-top:20px;min-height:290px}.writing-box{min-height:135px}.writing-box textarea{height:74px}.chat-scroll{padding-top:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.writing-box:focus-within{border-bottom-color:var(--ink)}.writing-box textarea:focus{outline:none}.compose .reply-stage{z-index:14}.compose .reply-stage .topbar,.compose .stage-copy{position:relative;z-index:14}.departure{position:absolute;inset:0;pointer-events:none;overflow:hidden}.typing-note{font-size:12px;color:var(--muted);margin:19px 0}.unread-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink);margin-right:6px;vertical-align:middle}.flight-bubble{z-index:14;background:var(--pink);border-radius:12px 3px 12px 12px}.flight-opening{z-index:15}.empty-state{gap:0}.empty-state>svg{margin-bottom:32px}.empty-state h1{margin-bottom:8px}.empty-state>p{margin-bottom:8px}

.message.yours .message-meta{float:none;display:inline-flex;margin:2px 0 0 8px;vertical-align:baseline;white-space:nowrap}
.message.yours{position:relative}.message.yours p:after{content:'';display:inline-block;width:68px;height:1px}.message.yours .message-meta{position:absolute;right:15px;bottom:12px;margin:0;line-height:18px;vertical-align:baseline}

.answer-passage:active{transform:none}

.empty-state:has(h1)>svg{margin-bottom:40px}.empty-state h1{margin-bottom:0}.empty-state h1+.text-button{color:var(--ink);min-height:44px;display:block;margin:8px auto;font-size:14px}

.profile-pages{height:100%}.profile-page{height:100%;min-height:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative}.answer-lead,.journal-answer{display:flex;align-items:center}.answer-content{width:100%;padding-bottom:70px}.person-glimpse{width:154px;height:188px;margin:0 0 28px;border-radius:2px;overflow:hidden}.person-glimpse img{height:100%;object-position:center 28%;transform:scale(1.65);transform-origin:center 28%}.answer-lead .answer-content{padding-bottom:52px}.entry .person-glimpse{animation:name-in 420ms var(--ease) 40ms both}.page-cue{position:absolute;bottom:30px;left:24px;font-size:16px;line-height:22px;color:var(--muted)}.photo-page{display:flex;flex-direction:column}.photo-page>img{height:0;flex:1;min-height:0;object-position:center 35%}.photo-page figcaption{min-height:58px;padding:7px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;line-height:20px;color:var(--muted);background:var(--paper)}.photo-page figcaption button{font-size:13px;min-height:44px;color:var(--ink);white-space:nowrap;text-decoration:underline;text-underline-offset:5px}.chat-identity h1 span{font-size:13px;font-weight:400;color:var(--muted)}.topbar-space{width:44px;flex-shrink:0}.profile-secondary-actions{display:flex;justify-content:space-between;margin-top:16px;color:var(--muted);font-size:13px}.profile-secondary-actions button{min-height:44px}.answer-passage:active{transform:none}
@media(max-width:370px){.answer-passage{font-size:31px;line-height:48px}.source-text{font-size:24px;line-height:37px}.identity{padding-left:18px;padding-right:12px}.identity h1{font-size:14px}.identity h1 span{font-size:12px}}

.profile-scroll:focus-visible{outline:1px solid var(--line);outline-offset:-1px}

/* One relationship fact replaces the old source label. */
.chat-quote>.match-context{margin-bottom:26px}.match-title{display:block;font-family:Songti SC,serif;font-size:29px;line-height:40px;font-weight:500;transform-origin:left center}.match-cause{display:block;font-size:14px;line-height:23px;margin-top:10px;white-space:pre-line}.match-beat .source-text,.match-beat .chat-quote>img{opacity:.78}


