:root{color:#20242c;font-synthesis:none;--ink:#20242c;--muted:#747c89;--line:#e4e7ec;--paper:#fff;--canvas:#f5f6f8;--blue:#315eea;--blue-dark:#234bd0;--blue-soft:#edf1ff;--orange:#bd592e;background:#f5f6f8;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #8ca5ff}.auth-shell{background:#252a34;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:var(--paper);border-radius:8px;width:min(430px,100%);padding:42px;box-shadow:0 24px 70px #10152155}.mark,.welcome-mark{background:var(--blue);color:#fff;border-radius:8px;place-items:center;width:48px;height:48px;margin-bottom:26px;font-size:16px;font-weight:700;display:grid}.eyebrow{color:var(--muted);margin:0 0 8px;font:500 11px ui-monospace,Consolas,monospace}.auth-panel h1{color:var(--ink);margin:0 0 12px;font:600 30px/1.15 Georgia,serif}.muted{color:#69717e;font-size:14px;line-height:1.65}.auth-panel form{gap:9px;margin-top:28px;display:grid}.auth-panel label{font-size:13px;font-weight:700}.auth-panel input{background:#fff;border:1px solid #d7dce4;border-radius:5px;outline:none;height:46px;padding:0 13px}.auth-panel input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #315eea20}.primary,.save{background:var(--blue);color:#fff;border-radius:5px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 15px;font-weight:700;display:inline-flex}.primary:hover,.save:hover{background:var(--blue-dark)}.primary:disabled,.save:disabled{opacity:.45;cursor:not-allowed}.error{color:#bb492e;font-size:13px}.app-shell{background:var(--canvas);min-height:100vh}.topbar{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--blue);color:#fff;border-radius:6px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.brand strong{font-size:14px;display:block}.brand small{color:var(--muted);margin-top:1px;font-size:11px;display:block}.top-actions{display:flex}.icon-button{color:#68717d;background:0 0;border-radius:5px;place-items:center;width:36px;height:36px;display:grid}.icon-button:hover{color:var(--ink);background:#f0f2f5}.icon-button.accent{background:var(--blue-soft);color:var(--blue)}.workspace{grid-template-columns:var(--sidebar-width,280px) 6px minmax(0, 1fr);height:calc(100vh - 64px);min-height:0;display:grid}.sidebar{background:#f9fafb;flex-direction:column;min-width:0;min-height:0;padding:26px 16px 18px;display:flex;overflow:auto}.workspace-splitter{touch-action:none;background:#f9fafb;min-height:0;position:relative}.workspace-splitter:before{background:var(--line);content:"";width:1px;position:absolute;inset:0 auto 0 2px}.workspace-splitter:hover:before,.workspace-splitter:focus-visible:before,.workspace-splitter.dragging:before{background:var(--blue);width:2px}.workspace-splitter:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}:is(.workspace:has(.workspace-splitter.dragging),.workspace:has(.workspace-splitter.dragging) *){-webkit-user-select:none;user-select:none;cursor:col-resize!important}.sidebar-head{justify-content:space-between;align-items:center;padding:0 9px 16px;display:flex}.head-actions{gap:3px;display:flex}.sidebar h2,.panel-head h2{margin:0;font-size:21px}.folder-tree{flex:1;min-height:0;margin:-3px;padding:3px;overflow:auto}.tree-items{margin:0;padding:0;list-style:none}.tree-items[hidden]{display:none}.folder-row{min-width:0;padding-left:calc((var(--depth) - 1) * 16px);color:#4e5866;border-radius:5px;align-items:center;margin-top:2px;display:flex}.folder-row:hover,.folder-row:focus-within{background:#eef0f4}.folder-row.active{color:var(--ink);background:#e9edf2}.folder-select{min-width:0;min-height:36px;color:inherit;text-align:left;background:0 0;border-radius:5px;flex:1;align-items:center;gap:7px;padding:0 5px;font-size:13px;display:flex}.folder-select svg,.doc-item svg{flex-shrink:0}.disclosure{color:#697381;flex:0 0 14px;place-items:center;display:grid}.folder-name,.doc-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-count{color:#626c79;font-variant-numeric:tabular-nums;flex:none;margin-left:auto;padding-left:3px;font-size:11px}.folder-actions{align-items:center;padding-right:2px;display:none}.folder-row:hover .folder-actions,.folder-row:focus-within .folder-actions{display:flex}.folder-actions button{color:#596371;background:0 0;border-radius:4px;place-items:center;width:28px;height:32px;padding:0;display:grid}.folder-actions button:hover{color:var(--blue);background:#fff}.icon-button:disabled{opacity:.35;cursor:not-allowed}.doc-item{width:100%;min-width:0;min-height:36px;padding:7px 8px 7px calc(26px + (var(--depth) - 1) * 16px);color:#4e5866;text-align:left;background:0 0;border-radius:5px;align-items:center;gap:7px;margin-top:2px;font-size:13px;display:flex}.doc-item:hover{background:#eef0f4}.doc-item svg{color:#697381}.doc-item.active{background:var(--blue-soft);color:var(--blue-dark);font-weight:600}.doc-item.active svg{color:inherit}.tree-empty{padding:9px 8px 9px calc(26px + (var(--depth) - 1) * 16px);color:#626c79;overflow-wrap:anywhere;font-size:12px;line-height:1.6}.sidebar-footer{gap:10px;padding-top:16px;display:grid}.folder-error{color:#b13e30;overflow-wrap:anywhere;margin:3px 0;font-size:12px;line-height:1.5}.folder-add{color:#596371;background:0 0;border-radius:4px;flex:0 0 28px;place-items:center;width:28px;height:32px;padding:0;display:grid}.folder-add:hover:enabled{background:var(--blue-soft);color:var(--blue-dark)}.folder-add:disabled{opacity:.4;cursor:not-allowed}.folder-create-dialog::backdrop{background:#20242c9c}.folder-create-dialog form{gap:16px}.folder-create-dialog .dialog-actions{padding-top:4px}.empty{color:#838a96;padding:14px 10px;font-size:13px;line-height:1.6}.new-doc{color:#394252;background:#fff;border:1px solid #dfe3eb;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;height:38px;margin-top:auto;font-size:12px;font-weight:700;display:flex}.new-doc:hover{color:var(--blue);background:#f8f9ff;border-color:#b9c8fc}.editor-area{background:var(--paper);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;container-type:inline-size}.document-header{border-bottom:1px solid var(--line);flex-shrink:0;padding:28px 32px 0}.editor-head{justify-content:space-between;align-items:flex-start;gap:24px;width:100%;display:flex}.document-identity{min-width:0}.editor-head h1{color:var(--ink);overflow-wrap:anywhere;margin:0;font:600 22px/1.4 Segoe UI,Arial,sans-serif}.document-meta{color:#626c79;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;font-size:12px;line-height:1.5;display:flex}.document-location{align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.document-location span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-location svg,.status svg{flex-shrink:0}.status{color:#626c79;align-items:center;gap:4px;font:12px/1.5 Segoe UI,Arial,sans-serif;display:inline-flex}.status.dirty{color:#a04723}.document-version{font-variant-numeric:tabular-nums}.edit-document{flex-shrink:0;min-width:82px}.document-command-bar{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:8px 0;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.toolbar-divider{border-left:1px solid var(--line);height:16px;margin:0 6px}.document-updated{color:#626c79;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px}.toolbar .document-delete{color:#626c79;margin-left:8px}.toolbar .document-delete:hover{color:#b13e30;background:#fff1ef;border-color:#0000}.tool{color:#586170;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:6px;height:35px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.tool:hover{border-color:var(--line);color:var(--ink);background:#fff}.tool.danger{color:#b64b3c}.save{height:35px;font-size:12px}.document-preview{scrollbar-gutter:stable;flex:1;width:100%;min-height:0;padding:40px 40px 64px;position:relative;overflow:auto}.document-preview:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.document-footer{border-top:1px solid var(--line);color:#626c79;font-variant-numeric:tabular-nums;background:#fafbfc;flex-shrink:0;justify-content:space-between;gap:16px;padding:10px 32px;font-size:12px;display:flex}.scroll-top{z-index:1;width:44px;height:44px;color:var(--blue);background:#fff;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;bottom:54px;right:24px;box-shadow:0 5px 16px #20242c20}.scroll-top:hover{background:var(--blue-soft);border-color:#b9c8fc}.markdown{color:#38404b;overflow-wrap:anywhere;max-width:960px;margin:0 auto;font-size:15px;line-height:1.8}.markdown h1,.markdown h2,.markdown h3{color:#222832;font-family:Georgia,serif;line-height:1.25}.markdown h1{font-size:34px}.markdown h2{margin-top:1.7em;font-size:26px}.markdown h3{font-size:20px}.markdown code{color:#3f4c69;background:#f0f2f6;border-radius:3px;padding:2px 5px;font:13px ui-monospace,Consolas,monospace}.code-block{margin:1em 0;position:relative}.markdown pre{color:#f4f5f7;background:#252a34;border-radius:5px;margin:0;padding:16px 52px 16px 16px;overflow:auto}.markdown pre code{color:inherit;background:0 0;padding:0}.copy-code-button{color:#d7dce4;background:#ffffff12;border:1px solid #ffffff2b;border-radius:4px;place-items:center;width:28px;height:28px;padding:0;display:grid;position:absolute;top:8px;right:8px}.copy-code-button:hover,.copy-code-button:focus-visible{color:#fff;background:#fff2;border-color:#ffffff5c}.markdown blockquote{color:#626c79;border-left:1px solid #b7c5e9;margin-left:0;padding-left:16px}.markdown a{color:var(--blue)}.markdown img{max-width:100%;height:auto}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2{scroll-margin-top:24px}.markdown a{text-underline-offset:3px}.markdown table{border-collapse:collapse;width:max-content;max-width:100%;font-size:14px;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--line);text-align:left;min-width:8rem;padding:10px 14px}.markdown th{background:#f5f6f8;font-weight:600}.markdown hr{border:0;border-top:1px solid var(--line);margin:32px 0}.markdown pre{max-width:100%}.editor-area ::selection{color:#173ca8;background:#dce5ff}.editor-area{caret-color:var(--blue)}.welcome{color:#626c79;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:48px 24px;display:flex}.welcome>svg{color:#8492ac;margin-bottom:24px}.welcome h1{color:var(--ink);margin:0 0 12px;font-size:24px;font-weight:600;line-height:1.4}.welcome p{max-width:38ch;margin:0 0 28px;font-size:14px;line-height:1.8}.overlay{z-index:3;background:#20242c66;justify-content:flex-end;display:flex;position:fixed;inset:0}.history-panel{background:#fff;width:min(430px,100%);height:100%;padding:27px;overflow:auto}.panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.history-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:15px 0;display:flex}.history-item strong{font:500 14px ui-monospace,Consolas,monospace;display:block}.history-item span{color:#7b838f;margin-top:5px;font-size:11px;display:block}.restore{background:var(--blue-soft);color:var(--blue);border-radius:4px;align-items:center;gap:5px;padding:8px 10px;font-size:12px;font-weight:700;display:flex}.toast{z-index:5;color:#fff;background:#252a34;border-radius:5px;padding:12px 16px;font-size:13px;position:fixed;bottom:22px;right:22px;box-shadow:0 8px 24px #20242c25}.dialog-backdrop{z-index:6;background:#20242c9c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.editor-dialog,.small-dialog{min-width:0;max-height:calc(100dvh - 48px);color:var(--ink);background:#fff;border:1px solid #dfe3e9;border-radius:7px;box-shadow:0 22px 64px #10152145}.editor-dialog{flex-direction:column;width:min(1040px,100%);height:min(780px,100dvh - 48px);padding:0;display:flex;overflow:hidden}.editor-dialog .dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:15px 20px;display:flex}.editor-dialog-title{min-width:0}.editor-dialog-title h2{margin:0;font-size:17px}.editor-dialog-title p{max-width:55ch;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:12px;overflow:hidden}.editor-dialog-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:16px;font:11px ui-monospace,Consolas,monospace;display:flex}.editor-dialog textarea{resize:none;color:#28313d;tab-size:2;background:#fbfcfd;border:0;outline:0;flex:1;width:100%;min-height:0;padding:22px 26px;font:13px/1.75 ui-monospace,Consolas,monospace}.editor-dialog textarea:focus-visible{outline:none}.editor-dialog .dialog-actions{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:12px 20px;display:flex}.editor-dialog .dialog-actions>div{align-items:center;gap:8px;display:flex}.editor-hint{color:var(--muted);font-size:12px}.small-dialog{width:min(440px,100%);padding:6px 22px 20px;display:block;overflow:auto}.small-dialog .dialog-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0 20px;display:flex}.small-dialog .dialog-head h2{margin:0;font-size:18px;line-height:1.35}.small-dialog .dialog-head p{max-width:50ch;color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.5}.small-dialog label{color:#596371;gap:7px;font-size:13px;display:grid}.small-dialog input,.small-dialog select{width:100%;height:40px;color:var(--ink);background:#fff;border:1px solid #d7dce4;border-radius:4px;padding:0 10px}.small-dialog input:focus,.small-dialog select:focus{border-color:var(--blue);outline:3px solid #315eea20}.small-dialog form{gap:12px;display:grid}.small-dialog .dialog-actions{justify-content:flex-end;align-items:center;gap:8px;padding:20px 0 0;display:flex}.create-dialog{width:min(520px,100%);padding:6px 24px 20px}.create-dialog .dialog-head{padding-bottom:18px}.create-fields{gap:13px;display:grid}.create-fields label{color:#596371;gap:6px;font-size:12px;font-weight:600;display:grid}.create-fields input,.create-fields select{width:100%;height:40px;color:var(--ink);background:#fff;border:1px solid #d7dce4;border-radius:4px;padding:0 10px}.create-fields input:focus,.create-fields select:focus{border-color:var(--blue);outline:3px solid #315eea20}.create-fields input:first-of-type{font-family:ui-monospace,Consolas,monospace}.create-fields label small{color:var(--muted);font-size:11px;font-weight:400}.file-pick{align-items:center;gap:10px;min-width:0;padding-top:2px;display:flex}.file-pick span{color:#697381;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.create-error{color:#b64b3c;margin:14px 0 0;font-size:12px}.create-actions{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.create-actions .save{order:2}.create-actions .tool{order:1}@media (prefers-reduced-motion:no-preference){.dialog-backdrop{animation:.15s ease-out both backdrop-in}.editor-dialog,.small-dialog{animation:.18s cubic-bezier(.2,.75,.25,1) both dialog-in}@keyframes backdrop-in{0%{background:#20242c00}to{background:#20242c9c}}@keyframes dialog-in{0%{opacity:.8;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (width<=650px){.topbar{height:58px;padding:0 15px}.workspace{height:auto;min-height:calc(100vh - 58px);display:block}.workspace-splitter{display:none}.sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:38vh;padding:12px 13px;overflow:auto}.sidebar-head{padding:0 5px 9px}.folder-add{flex-basis:32px;width:32px;height:44px}.folder-create-dialog{max-width:none;position:fixed;inset:auto 0 0}.folder-tree{flex:auto;min-height:80px;max-height:28dvh;overflow:auto}.folder-select,.doc-item{min-height:44px}.folder-row.active .folder-actions{display:flex}.folder-actions button{width:32px;height:44px}.sidebar-footer{display:none}.editor-area{min-height:62dvh}.document-preview{flex:none;min-height:40dvh;overflow:visible}.markdown{font-size:14px}.markdown h1{font-size:28px}.welcome{min-height:55dvh}.auth-panel{padding:34px 26px}.auth-panel h1{font-size:27px}.dialog-backdrop{align-items:stretch;padding:0}.dialog-backdrop:has(.small-dialog){align-items:end}.small-dialog{width:100%;max-height:min(88dvh,720px);padding:8px 20px max(20px, env(safe-area-inset-bottom));border-radius:10px 10px 0 0;align-self:end;margin:0}.small-dialog .dialog-head{padding-top:10px}.editor-dialog{border:0;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.editor-dialog .dialog-head{align-items:flex-start;padding:12px 14px}.editor-dialog-meta{white-space:normal;flex-wrap:wrap;justify-content:flex-end;gap:4px 8px}.editor-dialog-meta .status{text-align:right;flex-basis:100%}.editor-dialog textarea{padding:17px 15px;font-size:12px}.editor-dialog .dialog-actions{padding:10px 14px max(10px, env(safe-area-inset-bottom))}.editor-hint{display:none}.editor-dialog .dialog-actions .tool,.editor-dialog .dialog-actions .save{padding:0 10px}.toast{bottom:12px;left:12px;right:12px}}@container (width<=900px){.document-updated{display:none}}@container (width<=560px){.document-header{padding:20px 20px 0}.editor-head{gap:16px}.editor-head h1{font-size:18px}.document-meta{gap:6px 12px}.document-location{flex-basis:100%}.document-command-bar{margin-top:16px}.toolbar{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;display:grid}.toolbar .tool{flex-direction:column;gap:5px;height:52px;padding:4px 0;font-size:11px}.toolbar-divider{display:none}.toolbar .document-delete{margin-left:0}.edit-document{min-width:72px;height:40px;padding:0 12px}.document-preview{padding:28px 24px 48px}.document-footer{padding:10px 20px}}
