@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&family=Spectral:wght@500;600;700&display=swap";*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font:inherit}.reader-app{--bg:#f7f3e9;--bg-elevated:#fffaf0;--bg-panel:#f1e8d4;--text:#3c3428;--text-soft:#766b5b;--heading:#1f1a14;--border:#d8ccb5;--accent:#8c5a2b;--accent-soft:#8c5a2b29;--link:#6f3f11;--code-bg:#f3e8d5;--code-border:#d3bea0;--shadow:0 14px 30px #54411f14;--space-xs:6px;--space-sm:10px;--space-md:12px;--space-lg:16px;--text-tight:1.32;--text-normal:1.56;--glow:radial-gradient(circle at 18% -10%, #f9e5b7a6, transparent 45%), radial-gradient(circle at 110% 40%, #cea36540, transparent 40%);height:100vh;min-height:100vh;color:var(--text);background:var(--glow), linear-gradient(180deg, color-mix(in oklab, var(--bg), #fff 4%) 0%, var(--bg) 100%);flex-direction:column;font-family:IBM Plex Sans,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;display:flex;position:relative;overflow:hidden}.reader-app:before{content:"";pointer-events:none;opacity:.2;mix-blend-mode:soft-light;background-image:radial-gradient(circle,#ffffff2e 1px,#0000 1px);background-size:24px 24px;position:fixed;inset:0}.drop-mask{z-index:40;letter-spacing:.06em;color:var(--heading);background:color-mix(in oklab, var(--bg), transparent 12%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:3px dashed color-mix(in oklab, var(--accent), transparent 20%);opacity:0;pointer-events:none;place-items:center;font-size:1.6rem;font-weight:700;transition:opacity .2s;display:grid;position:fixed;inset:0}.drop-mask.visible{opacity:1}.reader-toolbar{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--bg-elevated), transparent 8%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.reader-toolbar.compact{grid-template-columns:auto auto auto minmax(180px,1fr);align-items:center;gap:8px;min-height:58px;padding:6px 12px;display:grid}.brand-title{color:var(--heading);margin:0;font-family:Spectral,Georgia,serif}.brand-title.compact{white-space:nowrap;font-size:1.04rem;line-height:1}.mode-switch{border:1px solid var(--border);background:color-mix(in oklab, var(--bg-panel), transparent 24%);border-radius:12px;gap:4px;padding:3px;display:inline-flex}.mode-pill{color:var(--text-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 10px;font-size:.76rem;font-weight:600}.mode-pill.active{background:color-mix(in oklab, var(--accent-soft), white 30%);color:color-mix(in oklab, var(--heading), var(--accent) 28%)}.mode-pill:disabled{cursor:not-allowed;opacity:.55}.action-group{align-items:center;gap:8px;display:flex}.action-group.compact{flex-wrap:nowrap}.search-group{justify-content:flex-end;align-items:center;gap:8px;display:flex}.search-group.compact{min-width:0}.search-field{margin:0}.search-field.compact{width:min(100%,240px)}.search-field input{border:1px solid var(--border);background:var(--bg-elevated);width:100%;height:32px;color:var(--text);border-radius:10px;padding:0 10px}.search-field input:focus-visible{outline:2px solid color-mix(in oklab, var(--accent), white 20%);outline-offset:2px}.search-actions{align-items:center;gap:6px;display:inline-flex}.search-meta{text-align:right;min-width:56px;color:var(--text-soft);font-family:JetBrains Mono,Consolas,monospace;font-size:.75rem}.button{border:1px solid color-mix(in oklab, var(--border), var(--text) 6%);background:var(--bg-elevated);color:var(--heading);cursor:pointer;border-radius:10px;padding:6px 10px;font-size:.84rem;font-weight:600;transition:transform .14s,box-shadow .14s,background .14s}.button:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.button:focus-visible{outline:2px solid color-mix(in oklab, var(--accent), white 20%);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:.6}.button-active{border-color:color-mix(in oklab, var(--accent), transparent 40%);background:color-mix(in oklab, var(--accent-soft), white 10%);color:color-mix(in oklab, var(--heading), var(--accent) 30%)}.button-mini{padding:5px 8px;font-size:.73rem}.export-menu{position:relative}.export-popover{border:1px solid var(--border);background:var(--bg-elevated);width:180px;box-shadow:var(--shadow);z-index:40;border-radius:12px;gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.export-popover button{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px;font-size:.83rem}.export-popover button:hover{background:var(--accent-soft)}.progress-track{background:color-mix(in oklab, var(--bg-panel), transparent 8%);border-bottom:1px solid var(--border);width:100%;height:4px}.progress-bar{background:linear-gradient(90deg, var(--accent), color-mix(in oklab, var(--accent), white 30%));height:100%;transition:width 80ms linear}.reader-layout{min-height:0;padding:var(--space-sm);gap:var(--space-sm);flex:1;grid-template-columns:minmax(220px,272px) minmax(0,1fr) minmax(296px,356px);align-items:stretch;display:grid;overflow:hidden}.toc-panel,.settings-panel,.viewer-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:color-mix(in oklab, var(--bg-elevated), transparent 6%);border-radius:16px;min-height:0}.toc-panel{padding:var(--space-md);overflow:auto}.settings-panel{overscroll-behavior:none;padding:var(--space-md);border-color:color-mix(in oklab, var(--border), #c8baa0 18%);background:linear-gradient(180deg, color-mix(in oklab, var(--bg-elevated), white 8%) 0%, var(--bg-elevated) 100%);overflow:hidden}.panel-header h2{color:var(--heading);font-family:Spectral,Georgia,serif;font-size:1.03rem;line-height:var(--text-tight);margin:0}.panel-header p{color:var(--text-soft);margin:4px 0 0;font-size:.78rem;line-height:1.45}.settings-panel .panel-header{border-bottom:1px solid color-mix(in oklab, var(--border), transparent 20%);padding:2px 2px 10px}.settings-panel .panel-header h2{font-size:1.02rem}.settings-panel .panel-header p{font-size:.75rem;line-height:1.5}.toc-panel nav{margin-top:var(--space-sm);gap:5px;display:grid}.toc-item{color:var(--text);text-align:left;padding:7px 9px;padding-left:calc(11px + (var(--toc-level,1) - 1) * 12px);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;font-size:.84rem;line-height:1.38}.toc-item:hover{background:var(--accent-soft)}.toc-item.active{border-color:color-mix(in oklab, var(--accent), transparent 42%);background:color-mix(in oklab, var(--accent-soft), white 22%);color:color-mix(in oklab, var(--heading), var(--accent) 35%);font-weight:600}.empty-hint{color:var(--text-soft);margin-top:14px;font-size:.83rem}.viewer-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.document-meta{justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--bg-panel), transparent 12%);display:flex}.document-meta.compact{padding:var(--space-sm) var(--space-md)}.meta-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:.72rem}.document-meta h1{color:var(--heading);font-family:Spectral,Georgia,serif;font-size:1.05rem;line-height:var(--text-tight);overflow-wrap:anywhere;margin:3px 0 0}.meta-grid{grid-template-columns:repeat(3,minmax(62px,1fr));gap:5px;display:grid}.meta-grid div{border:1px solid var(--border);background:color-mix(in oklab, var(--bg-elevated), transparent 4%);text-align:center;border-radius:9px;padding:5px 6px}.meta-grid span{color:var(--heading);font-family:JetBrains Mono,Consolas,monospace;font-size:.82rem;font-weight:700}.meta-grid p{color:var(--text-soft);margin:1px 0 0;font-size:.66rem;line-height:1.35}.status-line{color:var(--text-soft);border-bottom:1px dashed var(--border);margin:0;padding:6px 11px;font-size:.8rem;line-height:1.45}.workspace-shell{flex:1;grid-template-columns:1fr;min-height:0;display:grid;overflow:hidden}.workspace-shell.split{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)}.editor-pane,.preview-pane{flex-direction:column;min-height:0;display:flex}.workspace-shell.split .preview-pane{border-left:1px solid var(--border)}.editor-pane{background:linear-gradient(#f5f6f9 0%,#f1f3f7 100%)}.editor-toolbar{align-items:center;gap:var(--space-xs);padding:8px var(--space-sm);border-bottom:1px solid var(--border);background:color-mix(in oklab, #f9fafc, var(--bg-elevated) 12%);flex-wrap:wrap;display:flex}.editor-toolbar.arya{gap:0}.editor-tool-group{align-items:center;gap:4px;margin-right:8px;padding-right:8px;display:inline-flex}.editor-tool-group:last-child{margin-right:0;padding-right:0}.editor-tool-group+.editor-tool-group{border-left:1px solid color-mix(in oklab, var(--border), #b8c2d8 22%);padding-left:8px}.icon-tool{color:#5f6776;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;transition:color .14s,border-color .14s,background .14s;display:inline-flex}.icon-tool:hover{color:#2c3340;border-color:color-mix(in oklab, var(--border), #a6b0c6 28%);background:oklab(95.7583% -.000826776 -.00861812/.9)}.icon-tool:focus-visible{outline-offset:1px;outline:2px solid oklab(70.1157% -.00749092 -.087948)}.icon-tool.active{color:#284b93;border-color:color-mix(in oklab, #5f7fc6, var(--border) 55%);background:oklab(94.8688% -.000943065 -.0199042/.92)}.icon-tool.placeholder{color:#98a0af;border-style:dashed}.editor-surface{background:color-mix(in oklab, #f8f9fb, var(--bg-elevated) 10%);flex:1;min-height:0}.arya-editor-cm,.arya-editor-cm .cm-editor{height:100%}.arya-editor-cm .cm-editor{background:0 0;border:0}.arya-editor-cm .cm-scroller{color:#243247;padding:10px 0;font-family:JetBrains Mono,Consolas,monospace;font-size:.95rem;line-height:1.66;overflow:auto}.arya-editor-cm .cm-content{caret-color:#2f4570;min-height:100%;padding:0 20px 20px}.arya-editor-cm .cm-gutters{border-right:1px solid color-mix(in oklab, var(--border), #c1cbde 28%);background:color-mix(in oklab, #eef2f8, var(--bg-panel) 18%);color:#97a1b4}.arya-editor-cm .cm-lineNumbers .cm-gutterElement{padding:0 9px 0 11px}.arya-editor-cm .cm-activeLine{background:oklab(93.9641% -.000946045 -.0199531/.2)}.arya-editor-cm .cm-focused{outline:none}.scroll-viewport{min-height:0;padding:var(--space-md);flex:1;overflow:auto}.markdown-body{width:min(var(--content-width), 100%);font-size:var(--content-font-size);line-height:var(--content-line-height);color:var(--text);margin:0 auto}.markdown-body :where(h1,h2,h3,h4,h5,h6){color:var(--heading);font-family:Spectral,Georgia,serif;line-height:var(--text-tight);margin:1.58em 0 .58em;scroll-margin-top:84px}.markdown-body :where(h1,h2){border-bottom:1px solid color-mix(in oklab, var(--border), transparent 20%);padding-bottom:.24em}.markdown-body h1{font-size:2em}.markdown-body h2{font-size:1.54em}.markdown-body h3{font-size:1.26em}.markdown-body p,.markdown-body li,.markdown-body blockquote{margin:.82em 0}.markdown-body a{color:var(--link);-webkit-text-decoration-color:color-mix(in oklab, var(--link), transparent 55%);text-decoration-color:color-mix(in oklab, var(--link), transparent 55%)}.markdown-body ul,.markdown-body ol{padding-left:1.4em}.markdown-body img,.markdown-body svg{border-radius:10px;max-width:100%}.markdown-body table{border-collapse:collapse;border-radius:12px;width:100%;font-size:.9em;overflow:hidden}.markdown-body table th,.markdown-body table td{border:1px solid var(--border);padding:8px 10px}.markdown-body table th{background:color-mix(in oklab, var(--bg-panel), white 12%);color:var(--heading)}.markdown-body pre{background:var(--code-bg);border:1px solid var(--code-border);border-radius:12px;padding:14px;overflow:auto}.markdown-body code{font-family:JetBrains Mono,Consolas,monospace;font-size:.88em}.markdown-body :not(pre)>code{background:color-mix(in oklab, var(--code-bg), white 8%);border:1px solid var(--code-border);border-radius:6px;padding:.1em .35em}.markdown-body blockquote{border-left:4px solid var(--accent);background:color-mix(in oklab, var(--accent-soft), white 22%);color:color-mix(in oklab, var(--text), var(--heading) 18%);border-radius:0 10px 10px 0;margin-left:0;padding:8px 14px}.mermaid-block{border:1px solid var(--code-border);background:color-mix(in oklab, var(--code-bg), white 5%);border-radius:12px;margin:16px 0;padding:12px;overflow:auto}.mermaid-error{border:1px solid color-mix(in oklab, #d14, var(--border) 70%);background:color-mix(in oklab, #ffd9d9, var(--bg-elevated) 84%);border-radius:12px;margin:16px 0;padding:10px}.mermaid-error p{color:#8e2323;margin:0 0 8px;font-weight:600}.heading-anchor{opacity:0;color:color-mix(in oklab, var(--accent), var(--heading) 25%);margin-left:.45rem;text-decoration:none;transition:opacity .14s}.markdown-body :where(h1,h2,h3,h4,h5,h6):hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.markdown-body mark.search-hit{background:color-mix(in oklab, var(--accent), white 48%);color:color-mix(in oklab, var(--heading), black 12%);border-radius:4px;padding:.02em .14em}.markdown-body mark.search-hit-active{background:color-mix(in oklab, var(--accent), white 24%);box-shadow:0 0 0 1px color-mix(in oklab, var(--accent), black 8%)}.settings-panel{align-content:start;gap:var(--space-md);display:grid}.control-block{border:1px solid color-mix(in oklab, var(--border), #ccbeaa 18%);background:color-mix(in oklab, var(--bg-panel), white 26%);border-radius:12px;gap:8px;padding:11px;display:grid}.control-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin:0;font-size:.72rem;font-weight:700;line-height:1.4}.theme-grid,.mode-select-panel{gap:8px;display:grid}.theme-card{border:1px solid color-mix(in oklab, var(--border), #cdbb9f 14%);text-align:left;background:color-mix(in oklab, var(--bg-elevated), transparent 6%);color:var(--text);cursor:pointer;border-radius:10px;padding:9px 10px;transition:border-color .14s,background .14s,transform .14s}.theme-card:hover{border-color:color-mix(in oklab, var(--accent), transparent 55%);background:color-mix(in oklab, var(--accent-soft), white 32%);transform:translateY(-1px)}.theme-card strong{color:var(--heading);font-size:.82rem;line-height:1.35;display:block}.theme-card span{color:var(--text-soft);margin-top:3px;font-size:.72rem;line-height:1.42;display:block}.theme-card.active{border-color:color-mix(in oklab, var(--accent), transparent 30%);background:color-mix(in oklab, var(--accent-soft), white 18%)}.control-block label{color:var(--text);gap:7px;font-size:.78rem;font-weight:500;line-height:1.42;display:grid}.control-block input[type=range]{width:100%;accent-color:var(--accent);background:color-mix(in oklab, var(--border), white 30%);border-radius:999px;height:3px;margin:0}.control-block input[type=range]::-webkit-slider-thumb{background:color-mix(in oklab, var(--accent), white 4%);border:1px solid color-mix(in oklab, var(--accent), black 12%);border-radius:999px;width:13px;height:13px}.control-block input[type=range]::-moz-range-thumb{background:color-mix(in oklab, var(--accent), white 4%);border:1px solid color-mix(in oklab, var(--accent), black 12%);border-radius:999px;width:13px;height:13px}.control-switches{gap:9px}.switch-button{border:1px solid color-mix(in oklab, var(--border), #c8b99e 16%);background:color-mix(in oklab, var(--bg-elevated), transparent 6%);color:var(--text);text-align:left;cursor:pointer;border-radius:10px;min-height:38px;padding:9px 11px;font-size:.82rem;line-height:1.35;transition:border-color .14s,background .14s,transform .14s}.switch-button:hover:not(:disabled){border-color:color-mix(in oklab, var(--accent), transparent 55%);background:color-mix(in oklab, var(--accent-soft), white 30%);transform:translateY(-1px)}.switch-button.active{border-color:color-mix(in oklab, var(--accent), transparent 40%);background:color-mix(in oklab, var(--accent-soft), white 20%);color:var(--heading);font-weight:600}.switch-button:disabled{cursor:not-allowed;opacity:.55}.shortcut-block ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.shortcut-block li{grid-template-columns:minmax(88px,auto) 1fr;align-items:center;column-gap:9px;font-size:.76rem;line-height:1.4;display:grid}.shortcut-block li span{color:var(--text-soft)}.shortcut-block kbd{border:1px solid color-mix(in oklab, var(--border), #c9bcaa 14%);background:color-mix(in oklab, var(--bg-panel), white 12%);color:var(--heading);border-radius:7px;justify-self:start;padding:3px 7px;font-family:JetBrains Mono,Consolas,monospace}.shortcut-block{border:1px solid color-mix(in oklab, var(--border), #ccbeaa 18%);background:color-mix(in oklab, var(--bg-panel), white 26%);border-radius:12px;gap:8px;padding:11px;display:grid}.is-fullscreen .toc-panel,.is-fullscreen .settings-panel{display:none}.is-fullscreen .reader-layout{grid-template-columns:1fr;padding:8px}.is-fullscreen .workspace-shell,.is-fullscreen .workspace-shell.split{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)}@media (width<=1180px){.reader-toolbar.compact{grid-template-columns:auto auto 1fr;grid-template-areas:"brand modes actions""search search search"}.brand-title.compact{grid-area:brand}.mode-switch{grid-area:modes}.action-group.compact{grid-area:actions;justify-self:end}.search-group.compact{grid-area:search;justify-content:flex-start}.reader-layout{grid-template-columns:minmax(0,1fr) minmax(278px,332px)}.toc-panel{display:none}}@media (width<=980px){.reader-app{height:auto;overflow:visible}.reader-layout{grid-template-columns:1fr;padding:10px;overflow:visible}.settings-panel{overflow:visible}.workspace-shell.split{grid-template-columns:1fr}.workspace-shell.split .preview-pane{border-left:0;border-top:1px solid var(--border)}.scroll-viewport{max-height:62vh}.is-fullscreen .workspace-shell,.is-fullscreen .workspace-shell.split{grid-template-columns:1fr}}@media (width<=680px){.reader-toolbar.compact{grid-template-columns:1fr;grid-template-areas:"brand""modes""actions""search";gap:8px;padding:8px}.action-group.compact{flex-wrap:wrap;justify-self:stretch}.search-group.compact{flex-wrap:wrap}.search-field.compact{width:100%}.meta-grid{grid-template-columns:repeat(2,minmax(62px,1fr))}.meta-grid div:last-child{grid-column:1/-1}.editor-toolbar{gap:6px;padding:8px}.editor-tool-group{margin-right:6px;padding-right:6px}.editor-tool-group+.editor-tool-group{padding-left:6px}}@media print{.reader-app{color:#111;background:#fff;height:auto;overflow:visible}.reader-app:before,.reader-toolbar,.progress-track,.toc-panel,.settings-panel,.status-line,.editor-pane{display:none!important}.reader-layout{padding:0;display:block}.viewer-panel{box-shadow:none;border:0;min-height:auto}.document-meta{border:0;padding:0 0 16px}.scroll-viewport{max-height:none;padding:0;overflow:visible}.markdown-body{width:100%;font-size:12pt;line-height:1.6}}
