*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;background:#f7f5f2;color:#2b2b2b}.page{max-width:640px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.header{padding:16px 20px;border-bottom:1px solid #e4dfd8;background:#fffdf9}.header h1{font-size:15px;margin:0;color:#6b6255}.header p{font-size:12px;margin:4px 0 0;color:#9a9186}.messages{flex:1 1;padding:20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.bubble{max-width:80%;padding:10px 14px;border-radius:14px;line-height:1.6;font-size:14px;white-space:pre-wrap}.bubble.ai{align-self:flex-start;background:#ffffff;border:1px solid #e4dfd8;border-bottom-left-radius:4px}.bubble.user{align-self:flex-end;background:#4a7c6f;color:white;border-bottom-right-radius:4px}.state-badge{align-self:center;font-size:11px;color:#9a9186;padding:4px 10px}.completed-box{align-self:stretch;background:#fffdf9;border:1px solid #d8c9a3;border-radius:10px;padding:14px;font-size:13px;line-height:1.7}.completed-box h3{margin:0 0 8px;font-size:13px;color:#8a7a4d}.input-row{display:flex;gap:8px;padding:16px 20px;border-top:1px solid #e4dfd8;background:#fffdf9}.input-row input{flex:1 1;padding:10px 14px;border-radius:20px;border:1px solid #d8d1c6;font-size:14px}.input-row button{padding:10px 18px;border-radius:20px;border:none;background:#4a7c6f;color:white;font-size:14px;cursor:pointer}.input-row button:disabled{background:#c9c2b6;cursor:not-allowed}.compilation-page{max-width:720px;margin:0 auto;padding:20px}.note-input{width:100%;padding:10px 14px;border-radius:10px;border:1px solid #d8d1c6;font-size:14px;margin-bottom:8px;font-family:inherit}.run-button{padding:10px 18px;border-radius:20px;border:none;background:#4a7c6f;color:white;font-size:14px;cursor:pointer;margin-bottom:20px}.run-button:disabled{background:#c9c2b6;cursor:not-allowed}.run-list{display:flex;flex-direction:column;gap:8px}.run-item{display:block;padding:12px 16px;border-radius:10px;border:1px solid #e4dfd8;background:#fffdf9;text-decoration:none;color:inherit}.run-item .run-item-title{font-size:13px;color:#6b6255;font-weight:700}.run-item .run-item-meta{font-size:11px;color:#9a9186;margin-top:4px}.chapter{background:#fffdf9;border:1px solid #e4dfd8;border-radius:10px;padding:18px;margin-bottom:16px}.chapter h2{font-size:14px;color:#8a7a4d;margin:0 0 10px}.chapter p{font-size:14px;line-height:1.9;white-space:pre-wrap;margin:0}.chapter .closing-reflection{margin-top:10px;padding-top:10px;border-top:1px dashed #d8d1c6;font-size:13px;color:#6b6255}.book-preview{max-width:640px;margin:0 auto;padding-bottom:40px}.watermark-banner{background:#8a7a4d;color:#fffdf9;text-align:center;font-size:12px;padding:8px 12px;letter-spacing:.05em;position:-webkit-sticky;position:sticky;top:0;z-index:1}.book-cover{position:relative;background:#fffdf9;border:1px solid #e4dfd8;border-radius:10px;margin:20px;padding:56px 24px;text-align:center;overflow:hidden}.book-cover .brand{font-size:13px;letter-spacing:.15em;color:#8a7a4d;margin-bottom:28px}.book-cover h1{font-size:22px;color:#2b2b2b;margin:0 0 20px;line-height:1.6;position:relative}.book-cover .recipient{font-size:14px;color:#6b6255;margin-bottom:8px;position:relative}.book-cover .created-at{font-size:12px;color:#9a9186;position:relative}.watermark-diagonal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}.watermark-diagonal span{font-size:40px;font-weight:700;color:rgba(139,122,77,.08);transform:rotate(-28deg);white-space:nowrap;letter-spacing:.1em}.book-toc{margin:20px;background:#fffdf9;border:1px solid #e4dfd8;border-radius:10px;padding:20px}.book-toc h2{font-size:14px;color:#8a7a4d;margin:0 0 12px}.book-toc-item{display:flex;align-items:center;padding:12px 4px;background:none;border:none;border-bottom:1px solid #e4dfd8;width:100%;text-align:left;cursor:pointer;font-size:14px;color:#2b2b2b;font-family:inherit}.book-toc-item:last-child{border-bottom:none}.book-toc-item .toc-number{color:#9a9186;margin-right:10px;font-size:12px}.book-chapter-view{margin:20px;position:relative}.book-chapter-nav{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:13px}.book-chapter-nav button{padding:8px 16px;border-radius:20px;border:1px solid #d8d1c6;background:#fffdf9;cursor:pointer;font-size:13px}.book-chapter-nav button:disabled{color:#c9c2b6;cursor:not-allowed}.book-chapter-nav .position{color:#9a9186}.back-to-toc{display:inline-block;margin-bottom:12px;font-size:12px;color:#6b6255;background:none;border:none;cursor:pointer;padding:0;font-family:inherit;text-decoration:underline}.pricing-section{margin:32px 20px 0;padding-top:24px;border-top:1px solid #e4dfd8}.pricing-section h2{font-size:14px;color:#8a7a4d;margin:0 0 4px;text-align:center}.pricing-section .pricing-lead{font-size:14px;color:#6b6255;text-align:center;margin:0 0 8px;line-height:1.7}.pricing-section .pricing-note{font-size:12px;color:#9a9186;text-align:center;margin:0 0 16px}.pricing-cards{display:flex;gap:12px}.pricing-card{flex:1 1;background:#fffdf9;border:1px solid #e4dfd8;border-radius:10px;padding:20px 12px 16px;text-align:center;position:relative}.pricing-card.recommended{border:2px solid #4a7c6f}.pricing-card .badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:#4a7c6f;color:white;font-size:10px;padding:2px 10px;border-radius:10px;white-space:nowrap}.pricing-card .plan-name{font-size:18px;font-weight:700;color:#6b6255;margin-bottom:6px;letter-spacing:.05em}.pricing-card .plan-tagline{font-size:12px;color:#6b6255;margin-bottom:8px;line-height:1.5;min-height:36px}.pricing-card .plan-desc{font-size:11px;color:#9a9186;margin-bottom:10px;line-height:1.5}.pricing-card .plan-price{font-size:15px;color:#2b2b2b;margin-bottom:10px;font-weight:700}.pricing-card button{width:100%;padding:8px;border-radius:20px;border:none;background:#4a7c6f;color:white;font-size:12px;cursor:pointer}.pricing-card button:disabled{background:#c9c2b6;cursor:not-allowed}.pricing-section .pricing-footnote{text-align:center;font-size:11px;color:#9a9186;margin-top:12px}.lp-page{max-width:640px;margin:0 auto;padding-bottom:60px}.lp-hero{text-align:center;padding:64px 24px 40px}.lp-brand{font-size:13px;letter-spacing:.15em;color:#8a7a4d;margin-bottom:24px}.lp-hero h1{font-size:24px;color:#2b2b2b;line-height:1.6;margin:0 0 24px}.lp-lead{font-size:14px;color:#6b6255;line-height:1.9;margin:0 0 16px}.lp-cta{display:inline-block;margin-top:12px;padding:12px 32px;border-radius:24px;background:#4a7c6f;color:white;font-size:14px;text-decoration:none}.lp-payment-note{margin-top:10px;font-size:12px;color:#9a9186}.lp-section{padding:36px 24px;border-top:1px solid #e4dfd8}.lp-section h2{font-size:17px;color:#2b2b2b;margin:0 0 16px;line-height:1.6}.lp-section p{font-size:14px;color:#6b6255;line-height:1.9;margin:0 0 12px}.lp-section .pricing-cards{margin-top:20px}.lp-plan-desc{font-size:12px;color:#9a9186;line-height:1.6;margin:0}.lp-final-cta{text-align:center;padding:48px 24px 24px;border-top:1px solid #e4dfd8}.lp-final-cta h2{font-size:18px;color:#2b2b2b;margin:0 0 12px}.lp-final-cta p{font-size:14px;color:#6b6255;margin:0 0 20px}.lp-final-cta .lp-ps{text-align:left;max-width:480px;margin:32px auto 0;padding-top:24px;border-top:1px dashed #d8d1c6;font-size:13px;color:#9a9186;line-height:1.8}.lp-footer{text-align:center;padding:20px 24px 32px}.lp-footer a{text-decoration:none}.lp-footer a,.lp-plan-note{font-size:12px;color:#9a9186}.lp-plan-note{text-align:center;line-height:1.7;margin:16px 0 24px}.lp-faq-item{margin-bottom:20px}.lp-faq-q{font-size:14px;color:#2b2b2b;font-weight:700;margin:0 0 6px}.lp-faq-a{font-size:14px;color:#6b6255;line-height:1.8;margin:0}