:root{--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-system:var(--font-family);--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Monaco, Consolas, monospace;--font-active:var(--font-system);--editor-scale:1;--editor-font-size:calc(18px * var(--editor-scale));--editor-line-height:calc(var(--editor-font-size) * 1.72);--color-bg:#f4f6f9;--color-bg-top:#f8fafc;--color-bg-glow:#1665d814;--color-surface:#fff;--color-surface-muted:#f7f9fc;--color-surface-hover:#eef3fa;--color-text:#1e293b;--color-text-muted:#64748b;--color-on-accent:#fff;--color-accent:#1665d8;--color-accent-soft:#1665d824;--color-danger:#b42318;--color-border:#d6dce7;--color-border-strong:#bfccdc;--bg-page:var(--color-bg);--bg-panel:var(--color-surface);--bg-soft:var(--color-surface-muted);--text-main:var(--color-text);--text-muted:var(--color-text-muted);--line:var(--color-border);--line-strong:var(--color-border-strong);--accent:var(--color-accent);--accent-soft:var(--color-accent-soft);--danger:var(--color-danger);--focus-ring:0 0 0 2px #1665d838;--shadow-soft:0 14px 34px #0f172a24;--radius-sm:8px;--radius-md:8px;--radius-lg:8px;--radius-pill:999px;--control-size:32px;color-scheme:light}:root[data-theme=dark]{--color-bg:#0b0d10;--color-bg-top:#0b0d10;--color-bg-glow:transparent;--color-surface:#121417;--color-surface-muted:#1a1d22;--color-surface-hover:#23272e;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-on-accent:#f8fafc;--color-accent:#60a5fa;--color-accent-soft:#60a5fa38;--color-danger:#f87171;--color-border:#2b3038;--color-border-strong:#3a414d;--focus-ring:0 0 0 2px #60a5fa57;--shadow-soft:0 20px 40px #02061773;color-scheme:dark}:root[data-font=serif]{--font-active:var(--font-serif)}:root[data-font=mono]{--font-active:var(--font-mono)}*{box-sizing:border-box}html,body{min-height:100%}body{font-family:var(--font-system);color:var(--text-main);background:radial-gradient(circle at top right, var(--color-bg-glow), transparent 38%), linear-gradient(180deg, var(--color-bg-top) 0%, var(--color-bg) 100%);margin:0;font-weight:400}:root[data-theme=dark] body{background:var(--color-bg)}button,input,select,textarea{font:inherit}button{color:inherit}h1,h2,h3,p{margin:0}.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.icon{fill:none;stroke:currentColor;stroke-width:1.75px;pointer-events:none;flex:none;width:16px;height:16px}.app-shell{min-height:100vh}.top-actions{z-index:20;border:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-panel) 86%, transparent);width:min(960px,100vw - 20px);height:42px;box-shadow:var(--shadow-soft);opacity:0;backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:12px;padding:4px;transition:opacity .14s,background .14s,transform .14s;display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%,-8px)}.top-actions:before{z-index:-1;content:"";position:absolute;inset:-18px 0 -14px}.top-actions:hover,.top-actions:focus-within{opacity:1;transform:translate(-50%)}.brand-mark,.action-cluster,.floating-toolbar,.floating-status,.dialog-head,.dialog-actions{align-items:center;display:flex}.brand-mark{min-width:0;color:var(--text-muted);flex:1;gap:9px;padding-left:10px;font-size:13px;font-weight:650}.brand-mark>span:first-child{color:var(--text-main);flex:none}.title-input{border-radius:var(--radius-lg);width:min(360px,42vw);min-width:120px;height:32px;color:var(--text-main);font-family:var(--font-system);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;outline:0;padding:0 10px;font-size:14px;font-weight:600;transition:border-color .14s,background .14s;overflow:hidden}.title-input:hover,.title-input:focus{border-color:color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--bg-soft) 86%, transparent)}.action-cluster{flex:none;gap:4px}.button,.tool-button,.command-item,.document-row,.document-open,.outline-item{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-panel);cursor:pointer}.button,.tool-button{min-width:var(--control-size);height:var(--control-size);justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.button:hover,.tool-button:hover,.command-item:hover,.document-row:hover,.document-open:hover,.outline-item:hover,.document-row[data-active=true],.command-item[data-active=true]{border-color:var(--line-strong);background:var(--accent-soft)}.button:focus-visible,.tool-button:focus-visible,.command-item:focus-visible,.document-row:focus-visible,.document-open:focus-visible,.outline-item:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-button{width:var(--control-size);padding:0}.workspace{grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}.writing-column{width:min(820px,100%);margin:0 auto;padding:104px 28px 130px}.editor-shell{position:relative}.pretty-editor{z-index:3;color:var(--text-main);font-family:var(--font-active);font-size:var(--editor-font-size);line-height:var(--editor-line-height);overflow-wrap:break-word;pointer-events:none;tab-size:2;white-space:pre-wrap;position:absolute;top:0;left:0;right:0;overflow:hidden}.editor-shell[data-editing=true] .pretty-editor{visibility:hidden}.pretty-line{min-height:var(--editor-line-height);line-height:var(--editor-line-height)}.pretty-heading-line,.pretty-heading-line-after-heading,.pretty-heading-line:first-child{margin-top:0}.pretty-blank-line{height:var(--editor-line-height)}.pretty-line[data-active=true]{color:color-mix(in srgb, var(--text-main) 82%, var(--text-muted))}.pretty-syntax{display:none}.pretty-heading{color:var(--text-main);line-height:var(--editor-line-height)}.pretty-heading-1,.pretty-heading-2,.pretty-heading-3{letter-spacing:0}.pretty-heading-1{font-size:1.72em}.pretty-heading-2{font-size:1.42em}.pretty-heading-3{font-size:1.22em}.pretty-heading-4{font-size:1.08em}.pretty-heading-5,.pretty-heading-6{font-size:1em}.pretty-heading-3,.pretty-heading-4,.pretty-heading-5,.pretty-heading-6{color:color-mix(in srgb, var(--text-main) 88%, var(--accent))}.pretty-list-marker{width:1.1em;color:var(--accent);display:inline-block}.pretty-quote{border-left:2px solid var(--accent);color:var(--text-muted);padding-left:.7em}.pretty-divider{border-top:1px solid var(--line-strong);vertical-align:middle;width:100%;display:inline-block}.pretty-image{color:var(--accent)}.pretty-table-line{vertical-align:top;gap:4px;max-width:100%;display:inline-flex}.pretty-table-cell{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-panel) 72%, var(--bg-soft));border-radius:4px;min-width:6ch;padding:0 .45em}.pretty-table-block{white-space:normal;margin:1.2em 0 1.45em}.pretty-list-block{white-space:normal;margin:.55em 0 1.05em}.pretty-image-block{white-space:normal;margin:1.2em 0 1.45em}.pretty-editor strong{color:color-mix(in srgb, var(--text-main) 82%, var(--accent));font-weight:400}.pretty-editor em{font-style:italic}.pretty-editor code{background:var(--bg-soft);color:var(--text-main);font-family:var(--font-mono);border-radius:4px;padding:.08em .26em;font-size:.9em}.pretty-editor a{color:var(--accent);cursor:pointer;pointer-events:auto;text-underline-offset:.18em;text-decoration:underline}.pretty-editor .prose{font-size:inherit;line-height:inherit}.pretty-editor .prose pre code{line-height:inherit}.editor{z-index:2;resize:none;color:#0000;width:100%;min-height:calc(100vh - 230px);font-family:var(--font-active);font-size:var(--editor-font-size);line-height:var(--editor-line-height);caret-color:var(--accent);tab-size:2;background:0 0;border:0;position:relative;overflow:hidden}.editor-shell[data-editing=true] .editor{color:var(--text-main)}:root[data-source-mode=true] .pretty-editor{display:none}:root[data-source-mode=true] .editor{color:var(--text-main)}.editor::selection{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text-main)}.title-input:focus,.editor:focus{outline:0}.print-preview{display:none}.prose{font-family:var(--font-active);font-size:calc(17px * var(--editor-scale));line-height:1.74}.prose>*+*{margin-top:1em}.prose p{margin:0}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin-top:1.9em;font-weight:400;line-height:1.14}.prose h1{font-size:2.65em}.prose h2{font-size:1.95em}.prose h3{font-size:1.48em}.prose h4{font-size:1.2em}.prose h5,.prose h6{font-size:1em}.prose a{color:var(--accent);text-underline-offset:.18em}.prose code,.prose pre{font-family:var(--font-mono)}.prose code{background:var(--bg-soft);border-radius:4px;padding:.12em .28em;font-size:.88em}.prose del{color:var(--text-muted)}.md-callout{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-soft);margin:1.35em 0;padding:.85em 1em}.md-callout>strong{margin-bottom:.45em;font-weight:400;display:block}.md-callout-warning,.md-callout-caution{border-left-color:var(--danger)}.md-math,.md-math-block pre{font-family:var(--font-serif);font-style:italic}.md-math{padding:0 .12em}.md-math-block,.md-diagram{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-soft);margin:1.35em 0;overflow:hidden}.md-math-block pre,.md-diagram pre{white-space:pre;margin:0;padding:14px;overflow:auto}.md-diagram figcaption{border-bottom:1px solid var(--line);color:var(--text-muted);font-family:var(--font-mono);padding:7px 12px;font-size:.78em}.md-toc{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-soft);margin:1.2em 0;padding:.9em 1em}.md-toc ol{gap:.28em;margin:0;padding-left:1.2em;display:grid}.md-toc-level-3{margin-left:1em}.md-toc-level-4,.md-toc-level-5,.md-toc-level-6{margin-left:2em}.md-footnotes{border-top:1px solid var(--line);color:var(--text-muted);margin-top:2em;padding-top:1em;font-size:.88em}.md-footnotes ol{padding-left:1.35em}.md-code-block{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-soft);margin:1.35em 0;overflow:hidden}.md-code-block figcaption{border-bottom:1px solid var(--line);color:var(--text-muted);font-family:var(--font-mono);padding:7px 12px;font-size:.78em}.prose pre{background:0 0;margin:0;padding:14px;overflow:auto}.prose pre code{white-space:pre;background:0 0;padding:0;line-height:1.58;display:block}.pretty-code-block,.pretty-quote-block{white-space:normal;margin:1.2em 0 1.45em}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin:1.35em 0;padding:.15em 0 .15em 1.15em}.prose blockquote p+p{margin-top:1em}.prose ul,.prose ol{margin:0;padding-left:1.4em}.prose li{margin:.16em 0}.prose li>p,.prose li>ul,.prose li>ol{margin-top:.28em;margin-bottom:.28em}.prose li>p:first-child,.prose li>ul:first-child,.prose li>ol:first-child{margin-top:0}.prose li>p:last-child,.prose li>ul:last-child,.prose li>ol:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--line);margin:1.5em 0}.task-list-item{list-style:none}.task-list-item input{accent-color:var(--accent);margin-left:-1.35em}.md-table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-panel) 78%, transparent);margin:1.3em 0;overflow-x:auto}.prose table{border-collapse:separate;border-spacing:0;width:100%;min-width:100%;font-size:.92em}.prose th,.prose td{border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.prose .md-align-center{text-align:center}.prose .md-align-right{text-align:right}.prose th{background:var(--bg-soft);font-weight:400}.prose tbody tr:last-child td{border-bottom:0}.prose th+th,.prose td+td{border-left:1px solid var(--line)}.md-figure{margin:1.4em 0}.md-figure img{border-radius:var(--radius-md);object-fit:contain;max-width:100%;max-height:min(70vh,680px);display:block}.md-figure-wide{width:min(100vw - 40px,980px);margin-left:50%;transform:translate(-50%)}.md-figure-small{width:min(360px,100%)}.md-figure figcaption{color:var(--text-muted);margin-top:8px;font-size:.82em}.floating-toolbar{z-index:18;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-panel) 88%, transparent);box-shadow:var(--shadow-soft);opacity:0;backdrop-filter:blur(18px);gap:4px;padding:5px;transition:opacity .14s,transform .14s;position:fixed;bottom:18px;left:50%;transform:translate(-50%,8px)}.floating-toolbar:before{z-index:-1;content:"";position:absolute;inset:-20px -14px -18px}.floating-toolbar:hover,.floating-toolbar:focus-within{opacity:1;transform:translate(-50%)}.tool-button{font-weight:400}.tool-button.italic{font-style:italic}.floating-status{color:var(--text-muted);opacity:0;gap:8px;font-size:12px;transition:opacity .14s,transform .14s;position:fixed;bottom:22px;right:18px;transform:translateY(8px)}.floating-status:hover,.floating-toolbar:hover~.floating-status,.floating-toolbar:focus-within~.floating-status{opacity:1;transform:translateY(0)}dialog{color:var(--text-main)}.side-dialog,.settings-dialog,.command-dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:var(--shadow-soft)}dialog::backdrop{backdrop-filter:blur(5px);background:#0000003d}.side-dialog{width:min(390px,100vw - 28px);max-height:calc(100vh - 28px);margin:14px 14px 14px auto;padding:12px}.settings-dialog{width:min(360px,100vw - 28px);padding:12px}.command-dialog{width:min(620px,100vw - 28px);padding:0}.dialog-head{justify-content:space-between;gap:10px;margin-bottom:12px}.dialog-head h2{font-size:16px;font-weight:400}.search-input,.command-input,.settings-dialog select,.settings-dialog input[type=range]{width:100%}.search-input,.command-input,.settings-dialog select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-page);height:36px;color:var(--text-main);padding:0 10px}.find-dialog .search-input+.search-input{margin-top:8px}.backlink-list,.document-list,.find-list,.history-list,.outline-list,.link-list,.tag-filter-list{gap:6px;margin-top:12px;display:grid}.tag-filter-list{grid-template-columns:repeat(auto-fit,minmax(0,max-content))}.tag-filter{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-panel);min-height:28px;color:var(--text-muted);cursor:pointer;padding:0 9px;font-size:12px}.tag-filter[data-active=true],.tag-filter:hover{border-color:var(--line-strong);background:var(--accent-soft);color:var(--text-main)}.document-row,.document-open,.find-result,.history-row,.link-item,.outline-item,.command-item{text-align:left;width:100%;min-height:42px;padding:9px 10px}.document-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px;display:grid}.document-open{background:0 0;border-color:#0000;gap:3px;min-width:0;min-height:36px;display:grid}.document-open span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-open em{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;overflow:hidden}.document-actions{gap:4px;display:flex}.danger-button{color:var(--danger)}.history-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-panel);justify-content:space-between;align-items:center;gap:10px;display:flex}.history-row>div{gap:3px;display:grid}.find-result{gap:4px;display:grid}.document-row small,.find-result small,.history-row small,.command-item small,.link-item,.empty-state{color:var(--text-muted);font-size:12px}.empty-state{padding:10px}.review-summary{color:var(--text-muted);gap:8px;font-size:13px;line-height:1.45;display:grid}.review-summary strong{color:var(--text-main);font-weight:400}.snapshot-preview{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-page);max-height:min(48vh,420px);color:var(--text-main);font-family:var(--font-mono);white-space:pre-wrap;margin:12px 0 0;padding:12px;font-size:12px;line-height:1.55;overflow:auto}.stacked-actions{grid-template-columns:1fr;display:grid}.find-result mark{background:var(--accent-soft);color:var(--text-main);border-radius:3px}.dialog-actions{justify-content:space-between;gap:8px;margin-top:14px}.library-dialog .dialog-actions{justify-content:flex-start;gap:6px}.outline-level-1{padding-left:10px}.outline-level-2{padding-left:24px}.outline-level-3{padding-left:38px}.outline-level-4{padding-left:52px}.outline-level-5{padding-left:66px}.outline-level-6{padding-left:80px}.dialog-section-label{color:var(--text-muted);margin-top:14px;font-size:11px}.backlink-list,.link-list{border-top:1px solid var(--line);padding-top:12px}.link-item{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shortcut-list{gap:8px;display:grid}.shortcut-list>div{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;display:grid}.shortcut-list kbd{border:1px solid var(--line);color:var(--text-muted);font-family:var(--font-mono);border-radius:4px;padding:4px 6px;font-size:11px}.settings-dialog label{color:var(--text-muted);gap:7px;margin-top:12px;font-size:12px;display:grid}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-dialog .toggle-row{color:var(--text-main);align-items:center;display:flex}.settings-dialog input[type=number],.settings-dialog input[type=text],.settings-dialog input[type=url],.settings-dialog select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-page);width:100%;height:36px;color:var(--text-main);padding:0 10px}.command-head{border-bottom:1px solid var(--line);gap:8px;padding:12px;display:grid}.command-head label{color:var(--text-muted);font-size:11px}.command-input{background:0 0;border:0;font-size:22px}.command-list{gap:4px;max-height:380px;padding:8px;display:grid;overflow:auto}.command-item{border-color:#0000;justify-content:space-between;align-items:center;gap:12px;display:flex}.command-item span{gap:3px;display:grid}.command-item strong{font-weight:400}.command-item kbd{border:1px solid var(--line);color:var(--text-muted);font-family:var(--font-mono);border-radius:4px;padding:3px 6px;font-size:11px}.command-foot{color:var(--text-muted);padding:8px 12px 12px;font-size:11px}.toast{z-index:30;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text-main);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;padding:8px 12px;transition:opacity .12s,transform .12s;position:fixed;bottom:78px;left:50%;transform:translate(-50%,8px)}.toast[data-visible=true]{opacity:1;transform:translate(-50%)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=920px){.writing-column{padding-inline:18px}}@media (width<=620px){.top-actions{opacity:1;width:calc(100vw - 16px);top:8px;transform:translate(-50%)}.brand-mark{gap:6px;padding-left:6px}.brand-mark>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.writing-column{padding-top:84px;padding-bottom:110px}.title-input{width:clamp(76px,24vw,150px);min-width:0;padding:0 8px}.editor{font-size:calc(17px * var(--editor-scale))}.floating-toolbar{justify-content:center;width:calc(100vw - 18px);overflow-x:auto}.tool-button{flex:0 0 var(--control-size)}}@media (width<=430px){.title-input{display:none}.brand-mark>span:first-child{max-width:108px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}@media print{@page{margin:18mm 16mm}html,body{color:#000;background:#fff;min-height:auto}.top-actions,.floating-toolbar,.floating-status,.writing-column,dialog,.toast{display:none}.workspace{min-height:auto;display:block}.print-preview{color:#000;width:auto;max-width:none;font-family:var(--font-serif);padding:0;font-size:11.5pt;line-height:1.55;display:block}.print-preview a{color:#000;text-decoration:underline}.print-preview h1,.print-preview h2,.print-preview h3,.print-preview table,.print-preview figure,.print-preview pre,.print-preview blockquote{break-inside:avoid}.print-preview img{max-width:100%}.print-preview .md-table-wrap{overflow:visible}}