:root{--font-system:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--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;--bg-page:#f7f5f0;--bg-panel:#fffefa;--bg-soft:#eeebe4;--text-main:#191815;--text-muted:#6f695f;--line:#ddd7ca;--line-strong:#c7bdae;--accent:#2e6b5f;--accent-soft:#ddece7;--danger:#a9364d;--shadow-soft:0 18px 50px #2a23181a;--radius-md:6px;--radius-lg:8px;--control-size:34px;color-scheme:light}:root[data-theme=dark]{--bg-page:#101112;--bg-panel:#181a1b;--bg-soft:#222527;--text-main:#ede7dc;--text-muted:#a9a092;--line:#343434;--line-strong:#4d4c48;--accent:#8ab7a6;--accent-soft:#1f332f;--danger:#f08a9c;--shadow-soft:0 18px 50px #00000040;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:var(--bg-page);margin:0;font-weight:400}button,input,select,textarea{font:inherit}button{color:inherit}h1,h2,h3,p{margin:0}.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{color:var(--text-muted);gap:9px;padding-left:10px;font-size:12px}.brand-mark>span:first-child{color:var(--text-main)}.save-state{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-soft);text-align:center;min-width:58px;padding:3px 7px;font-size:11px}.action-cluster{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);padding:0 10px}.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{outline:2px solid var(--accent);outline-offset:2px}.icon-button{width:var(--control-size);padding:0}.command-button{min-width:50px;font-family:var(--font-mono);font-size:12px}.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}.title-input{width:100%;color:var(--text-main);font-family:var(--font-active);font-size:calc(34px * var(--editor-scale));text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;margin-bottom:22px;line-height:1.12;overflow:hidden}.editor-shell{position:relative}.pretty-editor{z-index:3;color:var(--text-main);font-family:var(--font-active);font-size:calc(18px * var(--editor-scale));overflow-wrap:break-word;pointer-events:none;tab-size:2;white-space:pre-wrap;line-height:1.72;position:absolute;top:0;left:0;right:0;overflow:hidden}.editor-shell[data-editing=true] .pretty-editor{visibility:hidden}.pretty-line{min-height:calc(18px * var(--editor-scale) * 1.72)}.pretty-heading-line{margin-top:1.15em}.pretty-heading-line-after-heading{margin-top:.42em}.pretty-heading-line:first-child{margin-top:0}.pretty-blank-line{height:calc(8px * var(--editor-scale))}.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:1.24}.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}.editor{z-index:2;resize:none;color:#0000;width:100%;min-height:calc(100vh - 230px);font-family:var(--font-active);font-size:calc(18px * var(--editor-scale));caret-color:var(--accent);tab-size:2;background:0 0;border:0;line-height:1.72;position:relative;overflow:hidden}.editor-shell[data-editing=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}.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 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{gap:6px;margin-top:12px;display:grid}.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-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}.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}.outline-item{padding-left:calc(10px + (var(--level) - 1) * 14px)}.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{width:calc(100vw - 16px);top:8px}.brand-mark{padding-left:6px}.brand-mark>span:first-child{display:none}.writing-column{padding-top:84px;padding-bottom:110px}.title-input{font-size:calc(27px * var(--editor-scale))}.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 (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}@media print{body{color:#000;background:#fff}.top-actions,.floating-toolbar,.floating-status,.writing-column,dialog,.toast{display:none}.workspace{display:block}.print-preview{width:auto;padding:0;display:block}}