@font-face{font-family:XiangNeiShengZhang;src:url(/assets/xiang-nei-sheng-zhang-C11Fhxcz.woff2) format("woff2");font-display:swap}@font-face{font-family:MaShanZheng;src:url(/assets/ma-shan-zheng-DioD0Qeq.ttf) format("truetype");font-display:swap}@font-face{font-family:ZhiMangXing;src:url(/assets/zhi-mang-xing-CO6TmRC4.ttf) format("truetype");font-display:swap}@font-face{font-family:LongCang;src:url(/assets/long-cang-B_plepVj.ttf) format("truetype");font-display:swap}@font-face{font-family:ZCOOLXiaoWei;src:url(/assets/zcool-xiaowei-DjuTI9cG.ttf) format("truetype");font-display:swap}@font-face{font-family:GreatFlourish;src:url(/assets/english-flourish-DOCVuyrd.ttf) format("truetype");font-display:swap}@font-face{font-family:DancingScriptBold;src:url(/assets/dancing-script-bold-DvaMCgQG.ttf) format("truetype");font-display:swap}@font-face{font-family:SourceHanSerifCN;src:url(/assets/source-han-serif-cn-regular-D37soinm.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:NotoSerifSC;src:url(/assets/noto-serif-sc-regular-3AKGwivk.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--cn-font-choice-a: "SourceHanSerifCN";--cn-font-choice-b: "NotoSerifSC";--cn-font-choice-c: "Songti SC";--cn-font-choice-d: "Source Han Serif CN";--cn-font-choice-e: "SimSun";--cn-serif-fallback: "serif";--cn-font-primary: var(--cn-font-choice-a), var(--cn-font-choice-b), var(--cn-font-choice-c), var(--cn-font-choice-d), var(--cn-font-choice-e), var(--cn-serif-fallback);--script-heading-font: "DancingScriptBold", "Playfair Display", serif;--page-line-brown-rgb: 138, 93, 42;--page-line-brown: rgb(var(--page-line-brown-rgb));--page-paper-color: #fffefc;--book-shell-bg: #eee9e1;--page-stack-shadow: 0 14px 20px rgba(32, 26, 21, .08), 0 34px 34px rgba(32, 26, 21, .11), 0 55px 48px rgba(32, 26, 21, .14);--page-paper-glow: radial-gradient( circle at 20% 0%, rgba(255, 255, 255, .92), transparent 55% );--page-paper-shade: linear-gradient( 180deg, rgba(0, 0, 0, .03) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .04) 100% );--page-paper-edges: linear-gradient( 90deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, 0) 14%, rgba(0, 0, 0, 0) 86%, rgba(0, 0, 0, .02) );font-family:var(--cn-font-primary);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--page-paper-color)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page-paper-color);color:#1c150d}#root{max-width:1280px;margin:0 auto}.app-shell{min-height:100vh;padding:3rem 1.5rem 5rem;color:#1c150d;display:flex;flex-direction:column;gap:2.5rem}.app-header{text-align:center;margin:0 auto 1rem}.app-header h1{font-family:var(--script-heading-font);font-size:clamp(3.2rem,6vw,4.8rem);font-weight:700;color:#1e140c;margin:0;letter-spacing:.28em;text-transform:uppercase}.app-subtitle{margin:.75rem 0 0;font-size:2.5rem;font-weight:800;color:#8a5d2a;letter-spacing:.2em}.book-stage{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.book-shell{width:min(100%,1200px);border-radius:28px;padding:clamp(1rem,3vw,2.5rem);background:var(--book-shell-bg);box-shadow:0 35px 80px #20181126;border:1px solid rgba(28,21,13,.08)}.flipbook{width:var(--book-width, 960px);height:var(--book-height, 620px);max-width:100%;margin:0 auto;opacity:0;transform:translateY(24px);transition:opacity .4s ease,transform .4s ease;pointer-events:none;will-change:opacity,transform}.flipbook.is-ready{opacity:1;transform:translateY(0);pointer-events:auto}.flipbook.is-single{margin-left:auto;margin-right:auto}.flipbook .book-page{width:var(--page-width, 480px);height:var(--page-height, 620px);border-radius:0;overflow:hidden;background:var(--page-paper-color);box-shadow:var(--page-stack-shadow);border:1px solid rgba(78,53,32,.06)}.book-page .page-face{width:100%;height:100%;display:flex;flex-direction:column;padding:clamp(1.9rem,6vw,2.8rem) clamp(1.3rem,5vw,2.4rem) clamp(1.4rem,5vw,2.2rem);position:relative;background:var(--page-paper-glow),var(--page-paper-edges),var(--page-paper-shade),var(--page-paper-color);box-shadow:inset 0 0 32px #00000008}.book-shell[data-layout=single] .book-page .page-face{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.book-page.book-cover{background:var(--page-paper-glow),var(--page-paper-shade),var(--page-paper-color);color:#1f130c;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.2rem;font-family:var(--script-heading-font),"Playfair Display",serif;box-shadow:inset 0 0 24px #00000006}.cover-title{font-size:2rem;letter-spacing:.28em;text-transform:uppercase;color:#22160f;font-family:var(--script-heading-font);font-weight:700}.cover-title.multiline{display:flex;flex-direction:column;gap:.3rem;letter-spacing:.2em;text-align:center}.cover-lines{font-family:var(--cn-font-primary);font-size:1.05rem;line-height:1.8;color:#21170fe6;position:relative;padding:1.5rem 0}.cover-lines p{margin:.15rem 0;position:relative;z-index:1}.cover-lines.closing{font-size:1.2rem;letter-spacing:.15em}.cover-lines:before,.cover-lines:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:min(80%,320px);height:3px;border-radius:999px;background:var(--page-line-brown);box-shadow:0 6px 14px rgba(var(--page-line-brown-rgb),.4),inset 0 0 6px #ffffff73}.cover-lines:before{top:0}.cover-lines:after{bottom:0}.cover-lines.closing:before,.cover-lines.closing:after{width:min(90%,360px)}.quote-face{font-family:SourceHanSerifCN,NotoSerifSC,serif;color:#2b1c11}.quote-face:after{content:"";position:absolute;inset:0;box-shadow:inset 0 45px 60px #0000000f;pointer-events:none}.quote-face blockquote{margin:0;flex:1;display:flex;align-items:center;justify-content:flex-start;padding:.5rem 0;width:100%}.quote-face blockquote p{margin:0;font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.4;letter-spacing:.04em;color:#2a1c13;text-align:left;white-space:pre-line;border-left:3px solid var(--page-line-brown);padding:.3rem 0 .3rem 1.2rem;display:block;width:100%}.quote-face .quote-footer{display:flex;justify-content:flex-end;align-items:center;gap:1rem;font-size:.95rem;z-index:1}.page-download{border:none;border-radius:8px;padding:.65rem 1.4rem;background:#0e0e0e;color:#fff;font-family:inherit;font-size:.95rem;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.page-download:disabled{opacity:.5;cursor:not-allowed}.reflection-face{border-left:1px solid rgba(30,20,12,.08);font-family:SourceHanSerifCN,NotoSerifSC,serif;color:#2a1b11e0}.reflection-face:after{content:"";position:absolute;inset:0;box-shadow:inset 0 30px 50px #0000000a;pointer-events:none}.reflection-body{font-size:clamp(.94rem,2.6vw,1.1rem);line-height:clamp(1.45,3vw,1.7);white-space:pre-line;text-align:justify;word-break:break-word}.reflection-body p{margin:0 0 clamp(.8rem,3vw,1rem);text-indent:clamp(1.4em,4.5vw,2em)}.page-ribbon{font-family:var(--script-heading-font);font-weight:700;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;color:#1e130cbf;margin-bottom:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reflection-footer{justify-content:flex-end;opacity:.4}.book-controls{display:flex;gap:1.5rem;align-items:center;justify-content:center;font-size:1rem;color:#20150db3}.ghost-button{border-radius:8px;padding:.85rem 1.8rem;font-size:1rem;border:1px solid rgba(30,20,12,.18);background:#ffffffa6;color:#1c130b;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.ghost-button:disabled{opacity:.4;cursor:not-allowed}.download-proxy{position:absolute;left:-9999px;top:-9999px;pointer-events:none;opacity:0}.download-page{width:480px;height:620px}@media(max-width:1100px){.book-shell{padding:1.5rem}}@media(max-width:960px){.app-shell{padding:2rem 1rem 4rem}}
