:root{--pdf-page-width: 210mm;--pdf-page-height: 297mm;--pdf-page-margin: 16mm;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Arial,sans-serif;color:#171717;background:#f4f4f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}button,textarea{font:inherit}.app-shell{display:flex;flex-direction:column;min-height:100%}.top-bar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px;border-bottom:1px solid #d8d8d3;background:#fff}.top-bar h1{margin:0;font-size:18px;font-weight:650;letter-spacing:0}.actions{display:flex;align-items:center;gap:10px}.actions button{min-width:72px;height:34px;padding:0 16px;border:1px solid #c8c8c2;border-radius:6px;color:#171717;background:#fff;cursor:pointer}.actions button:hover:not(:disabled){border-color:#8f8f86;background:#f7f7f4}.actions button:disabled{color:#8e8e88;background:#eeeeea;cursor:not-allowed}.actions .download-button.is-loading{display:inline-flex;align-items:center;justify-content:center;color:transparent}.download-spinner{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at center,#ffffff 52%,transparent 54%),conic-gradient(#33332f var(--download-progress, 0%),#d6d6d0 0);animation:download-spin .8s linear infinite}@keyframes download-spin{to{transform:rotate(360deg)}}.file-input{display:none}.workspace{display:grid;grid-template-columns:1fr 1fr;flex:1;min-height:0}.editor{width:100%;height:calc(100vh - 56px);padding:24px;border:0;border-right:1px solid #d8d8d3;outline:none;resize:none;color:#1f1f1d;background:#fbfbf8;font-family:SFMono-Regular,Consolas,Liberation Mono,Microsoft YaHei UI,monospace;font-size:15px;line-height:1.65}.preview-panel{height:calc(100vh - 56px);overflow:auto;padding:20px;background:#e7e7e2}.preview-error{max-width:520px;margin:48px auto 0;padding:14px 16px;border:1px solid #d7b5b5;border-radius:6px;color:#8f3f3f;background:#fff8f6;font-size:14px;line-height:1.6;text-align:center}.pdf-document{display:flex;flex-direction:column;align-items:center}.pdf-document-preview{min-width:100%;gap:20px}.pdf-page-shell{position:relative;flex:0 0 auto}.pdf-page{position:relative;width:var(--pdf-page-width);height:var(--pdf-page-height);margin:0 auto;padding:0;overflow:hidden;background:#fff;box-shadow:0 12px 32px #1e1e1921;transform-origin:top left}.pdf-content{width:100%;height:100%;padding:var(--pdf-page-margin);overflow:hidden}.pdf-page-header,.pdf-page-footer{position:absolute;left:var(--pdf-page-margin);right:var(--pdf-page-margin);color:#77776f;font-size:10px;line-height:1.4;pointer-events:none}.pdf-page-header{top:7mm;border-bottom:1px solid #ecece7;padding-bottom:2mm}.pdf-page-footer{bottom:7mm;display:flex;justify-content:space-between;gap:8px;border-top:1px solid #ecece7;padding-top:2mm}.pdf-page-footer .page-number{margin-left:auto}.pdf-export-host{position:fixed;top:0;left:0;z-index:-1;width:var(--pdf-page-width);overflow:visible;pointer-events:none}.pdf-page-export{display:block;margin:0;box-shadow:none}.pdf-document-export{display:block;width:var(--pdf-page-width);overflow:hidden}.pagination-host{position:fixed;top:0;left:0;z-index:-1;width:var(--pdf-page-width);overflow:hidden;pointer-events:none;visibility:hidden}.pdf-page-measure{margin:0;box-shadow:none}.batch-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;flex:1;padding:24px;color:#3c3c38;text-align:center;font-size:18px;background:#f4f4f2}.batch-message p{margin:0}.batch-message .batch-error{max-width:min(720px,90vw);color:#a13d3d;font-size:14px;line-height:1.6}.batch-message button{min-width:76px;height:34px;padding:0 18px;border:1px solid #c8c8c2;border-radius:6px;color:#171717;background:#fff;cursor:pointer}.batch-message button:hover{border-color:#8f8f86;background:#f7f7f4}.markdown-body{color:#20201d;font-size:14px;line-height:1.72;overflow-wrap:break-word}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:0 0 .7em;color:#151512;font-weight:700;line-height:1.28;page-break-after:avoid}.markdown-body .header-anchor{margin-left:.35em;color:#9a9a92;font-size:.75em;text-decoration:none;opacity:0}.markdown-body h1:hover .header-anchor,.markdown-body h2:hover .header-anchor,.markdown-body h3:hover .header-anchor,.markdown-body h4:hover .header-anchor,.markdown-body h5:hover .header-anchor,.markdown-body h6:hover .header-anchor{opacity:1}.markdown-body h1{font-size:28px}.markdown-body h2{margin-top:1.5em;padding-bottom:.25em;border-bottom:1px solid #e1e1dc;font-size:22px}.markdown-body h3{margin-top:1.25em;font-size:18px}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body blockquote,.markdown-body table,.markdown-body pre{margin:0 0 1em}.markdown-body ul,.markdown-body ol{padding-left:1.5em}.markdown-body li+li{margin-top:.25em}.markdown-body .table-of-contents{margin:0 0 1.2em;padding:12px 16px;border:1px solid #d9d9d2;border-radius:6px;background:#f7f8f4;font-size:13px;break-inside:avoid;page-break-inside:avoid}.markdown-body .table-of-contents ul{margin:0;padding-left:1.2em}.markdown-body .table-of-contents li{margin:.25em 0}.markdown-body .table-of-contents a{display:inline-flex;align-items:baseline;gap:.4em;max-width:100%;text-decoration:none}.markdown-body .toc-page-number{color:#77776f;font-size:.85em}.markdown-body .contains-task-list{padding-left:1.2em;list-style:none}.markdown-body .task-list-item{position:relative}.markdown-body .task-list-item-checkbox{width:.95em;height:.95em;margin:0 .55em 0 -1.2em;accent-color:#21625d;vertical-align:-.12em}.markdown-body a{color:#21625d}.markdown-body abbr[title]{text-decoration:underline dotted;text-underline-offset:.12em}.markdown-body mark{padding:.08em .24em;border-radius:3px;background:#fff2a8}.markdown-body ins{text-decoration-color:#21625d;text-decoration-thickness:.08em;text-underline-offset:.14em}.markdown-body sub,.markdown-body sup{line-height:0}.markdown-body dl{padding:0}.markdown-body dt{margin-top:.65em;font-weight:700}.markdown-body dd{margin:.25em 0 .65em 1.5em;color:#454540}.markdown-body blockquote{padding:.1em 1em;border-left:3px solid #8fa8a0;color:#555852;background:#f6f7f3}.markdown-body .md-alert,.markdown-body .md-container{margin:0 0 1em;padding:.65em .85em;border:1px solid #d9d9d2;border-left-width:4px;border-radius:6px;background:#f8f8f4;break-inside:avoid;page-break-inside:avoid}.markdown-body .md-alert>strong,.markdown-body .md-container>strong{display:block;margin-bottom:.25em;font-size:.92em}.markdown-body .md-alert p:last-child,.markdown-body .md-container p:last-child{margin-bottom:0}.markdown-body .md-alert-note,.markdown-body .md-container-note,.markdown-body .md-alert-important,.markdown-body .md-container-info{border-left-color:#3b73b9}.markdown-body .md-alert-tip,.markdown-body .md-container-tip,.markdown-body .md-container-success{border-left-color:#27885f}.markdown-body .md-alert-warning,.markdown-body .md-container-warning{border-left-color:#b18422}.markdown-body .md-alert-caution,.markdown-body .md-container-danger{border-left-color:#b64b4b}.markdown-body pre,.markdown-body code{border-radius:5px;background:#f1f1ed;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.markdown-body code{padding:.1em .35em;font-size:.92em}.markdown-body pre{overflow:auto;padding:12px 14px;color:#24292f;page-break-inside:avoid}.markdown-body pre code{padding:0;background:transparent;white-space:pre}.markdown-body .hljs-comment,.markdown-body .hljs-quote{color:#6a737d}.markdown-body .hljs-keyword,.markdown-body .hljs-selector-tag,.markdown-body .hljs-subst{color:#d73a49}.markdown-body .hljs-number,.markdown-body .hljs-literal,.markdown-body .hljs-variable,.markdown-body .hljs-template-variable,.markdown-body .hljs-tag .hljs-attr{color:#005cc5}.markdown-body .hljs-string,.markdown-body .hljs-doctag{color:#032f62}.markdown-body .hljs-title,.markdown-body .hljs-section,.markdown-body .hljs-selector-id{color:#6f42c1}.markdown-body .hljs-type,.markdown-body .hljs-class .hljs-title,.markdown-body .hljs-tag,.markdown-body .hljs-name,.markdown-body .hljs-attribute{color:#22863a}.markdown-body .hljs-regexp,.markdown-body .hljs-link{color:#032f62}.markdown-body .hljs-symbol,.markdown-body .hljs-bullet{color:#e36209}.markdown-body .hljs-built_in,.markdown-body .hljs-builtin-name{color:#005cc5}.markdown-body .hljs-meta{color:#6a737d}.markdown-body .hljs-emphasis{font-style:italic}.markdown-body .hljs-strong{font-weight:700}.markdown-body table{width:96%;max-width:96%;margin:0 auto 1em;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:12px;line-height:1.55;break-inside:auto;page-break-inside:auto}.markdown-body .page-break{display:none}.markdown-body thead{display:table-header-group}.markdown-body tbody{display:table-row-group}.markdown-body tr{break-inside:avoid;page-break-inside:avoid;page-break-after:auto}.markdown-body th,.markdown-body td{padding:8px 10px;border:1px solid #d9d9d2;text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.markdown-body td code,.markdown-body th code{white-space:normal}.markdown-body th{background:#f1f3ee;font-weight:650}.markdown-body img{display:block;max-width:100%;max-height:228mm;height:auto;margin:.8em auto;break-inside:avoid;page-break-inside:avoid}.markdown-body .image-figure{margin:.8em auto 1.1em;text-align:center;break-inside:avoid;page-break-inside:avoid}.markdown-body .image-figure img{max-height:220mm;margin-bottom:.35em}.markdown-body .image-figure figcaption{color:#66665f;font-size:12px;line-height:1.45}.markdown-body .missing-image{margin:.8em auto 1.1em;padding:12px 14px;border:1px dashed #b9b9b2;border-radius:6px;color:#8f3f3f;background:#fff8f6;font-size:12px;text-align:center;break-inside:avoid;page-break-inside:avoid}.markdown-body .mermaid-diagram{max-width:100%;margin:1em auto;overflow-x:auto;text-align:center;break-inside:avoid;page-break-inside:avoid}.markdown-body .mermaid-diagram svg{max-width:100%;height:auto}.markdown-body .mermaid-error{text-align:left}.markdown-body .katex{font-size:1.05em}.markdown-body .katex-display{max-width:100%;margin:1em 0;overflow-x:auto;overflow-y:hidden;text-align:center;break-inside:avoid;page-break-inside:avoid}.markdown-body .footnotes{margin-top:2em;padding-top:.8em;border-top:1px solid #d9d9d2;color:#4c4c47;font-size:12px}.markdown-body .footnotes ol{margin-bottom:0}.markdown-body .footnote-ref,.markdown-body .footnote-backref{color:#21625d;text-decoration:none}@media(max-width:960px){.workspace{grid-template-columns:1fr}.editor,.preview-panel{height:calc((100vh - 56px)/2)}.editor{border-right:0;border-bottom:1px solid #d8d8d3}.preview-panel{padding:18px}.preview-panel{padding:14px}}
