:root{--bg: #0f0f12;--surface: #17171c;--surface-2: #1d1d24;--surface-hover: #23232c;--border: #2a2a33;--text: #e7e7ea;--text-muted: #9a9aa6;--text-faint: #6c6c78;--accent: #7c6cf0;--accent-hover: #8f80f5;--accent-soft: rgba(124, 108, 240, .14);--danger: #f0656f;--danger-soft: rgba(240, 101, 111, .16);--editor-bg: #131318;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .25);--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace}:root[data-theme=light]{--bg: #f6f6f8;--surface: #ffffff;--surface-2: #f0f0f3;--surface-hover: #ebebef;--border: #e4e4e9;--text: #1c1c22;--text-muted: #6b6b76;--text-faint: #9a9aa4;--accent: #6355e0;--accent-hover: #5648d4;--accent-soft: rgba(99, 85, 224, .1);--danger: #d63e48;--danger-soft: rgba(214, 62, 72, .1);--editor-bg: #ffffff;--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 16px rgba(0, 0, 0, .06)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]):not([data-theme=light]){--bg: #f6f6f8;--surface: #ffffff;--surface-2: #f0f0f3;--surface-hover: #ebebef;--border: #e4e4e9;--text: #1c1c22;--text-muted: #6b6b76;--text-faint: #9a9aa4;--accent: #6355e0;--accent-hover: #5648d4;--accent-soft: rgba(99, 85, 224, .1);--danger: #d63e48;--danger-soft: rgba(214, 62, 72, .1);--editor-bg: #ffffff;--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 16px rgba(0, 0, 0, .06)}}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}#app{display:flex;flex-direction:column;height:100vh;width:100vw}#topbar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.brand{display:flex;align-items:center;gap:9px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.brand-name{font-size:14px;font-weight:600;letter-spacing:-.01em}.topbar-right{display:flex;align-items:center;gap:14px}.save-status{font-size:12px;color:var(--text-faint);transition:color .2s ease}.save-status[data-state=saving]{color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px}.theme-opt{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;border:none;background:transparent;color:var(--text-faint);border-radius:7px;cursor:pointer;transition:background .12s ease,color .12s ease}.theme-opt:hover{color:var(--text)}.theme-opt.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}#body{flex:1;display:flex;min-height:0}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex-shrink:0;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.sidebar-toggle:hover{background:var(--surface-hover);color:var(--text)}.sidebar-toggle:focus-visible,.snippet-delete-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#sidebar[hidden]{display:none}#sidebar{width:264px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.btn-new{display:flex;align-items:center;justify-content:center;gap:7px;margin:12px;padding:9px 12px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:550;font-family:inherit;transition:background .15s ease,transform .05s ease}.btn-new:hover{background:var(--accent-hover)}.btn-new:active{transform:translateY(1px)}.snippet-list{list-style:none;margin:0;padding:0 8px 12px;overflow-y:auto;flex:1}.snippet-item{position:relative;padding:10px 11px;border-radius:8px;cursor:pointer;margin-bottom:2px;border:1px solid transparent;transition:background .12s ease}.snippet-item:hover{background:var(--surface-hover)}.snippet-item.active{background:var(--accent-soft);border-color:transparent}.snippet-item.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--accent)}.snippet-item-title{font-size:13px;font-weight:550;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:36px}.snippet-item-preview{padding-right:36px;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.snippet-item-meta{font-size:11px;color:var(--text-faint);margin-top:4px}.snippet-delete-btn{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:15px;line-height:1;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.snippet-item:hover .snippet-delete-btn,.snippet-item:focus-within .snippet-delete-btn,.snippet-item.active .snippet-delete-btn{opacity:1}.snippet-delete-btn:hover{background:var(--danger-soft);color:var(--danger)}.snippet-delete-btn svg{width:16px;height:16px;flex-shrink:0}@media (pointer: coarse){.snippet-delete-btn{width:44px;height:44px;opacity:1}.snippet-item-title,.snippet-item-preview{padding-right:48px}}@media (max-width: 700px){#body{position:relative}#sidebar{position:absolute;inset:0 auto 0 0;width:min(264px,85vw);z-index:20;box-shadow:var(--shadow)}.note-counts{display:none}}.sidebar-empty{padding:24px 16px;text-align:center;color:var(--text-faint);font-size:12px}#main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--editor-bg)}#note-titlebar{height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface)}#note-title{font-size:13px;font-weight:550;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.titlebar-right{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}.note-counts{font-size:12px;font-family:var(--font-mono);color:var(--text-faint);white-space:nowrap;font-variant-numeric:tabular-nums}.export-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:550;font-family:inherit;cursor:pointer;flex-shrink:0;transition:background .12s ease,color .12s ease,border-color .12s ease}.export-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--text-faint)}.export-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.view-toggle{display:inline-flex;align-items:center;gap:2px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;flex-shrink:0}.view-opt{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 10px;border:none;background:transparent;color:var(--text-faint);border-radius:7px;cursor:pointer;font-size:12px;font-weight:550;font-family:inherit;transition:background .12s ease,color .12s ease}.view-opt:hover{color:var(--text)}.view-opt.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}#monaco-container{flex:1;min-height:0}#monaco-container[hidden]{display:none!important}.markdown-preview{flex:1;min-height:0;overflow-y:auto;padding:20px 28px 48px;background:var(--editor-bg);color:var(--text);font-size:15px;line-height:1.65}.markdown-preview[hidden]{display:none!important}.markdown-preview-empty{color:var(--text-faint);font-style:italic;margin:0}.markdown-preview>:first-child{margin-top:0}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{margin:1.4em 0 .5em;font-weight:650;line-height:1.25;letter-spacing:-.01em}.markdown-preview h1{font-size:1.7em;border-bottom:1px solid var(--border);padding-bottom:.3em}.markdown-preview h2{font-size:1.35em;border-bottom:1px solid var(--border);padding-bottom:.25em}.markdown-preview h3{font-size:1.15em}.markdown-preview p,.markdown-preview ul,.markdown-preview ol,.markdown-preview blockquote,.markdown-preview pre,.markdown-preview table{margin:0 0 1em}.markdown-preview ul,.markdown-preview ol{padding-left:1.4em}.markdown-preview li+li{margin-top:.25em}.markdown-preview a{color:var(--accent)}.markdown-preview a:hover{color:var(--accent-hover)}.markdown-preview blockquote{margin-left:0;padding:.15em 0 .15em 1em;border-left:3px solid var(--border);color:var(--text-muted)}.markdown-preview code{font-family:var(--font-mono);font-size:.9em;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:.12em .35em}.markdown-preview pre{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;overflow-x:auto}.markdown-preview pre code{background:none;border:none;padding:0;font-size:.88em;line-height:1.55}.markdown-preview hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.markdown-preview table{border-collapse:collapse;width:100%;font-size:.95em}.markdown-preview th,.markdown-preview td{border:1px solid var(--border);padding:6px 10px;text-align:left}.markdown-preview th{background:var(--surface-2);font-weight:600}.markdown-preview img{max-width:100%;height:auto;border-radius:8px}.markdown-preview .mermaid{margin:0 0 1em;padding:12px;overflow-x:auto;text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.markdown-preview .mermaid svg{max-width:100%;height:auto}.markdown-preview .mermaid-error{white-space:pre-wrap;text-align:left;font-family:var(--font-mono);font-size:.85em;color:var(--text-muted)}.monaco-editor,.monaco-editor .margin,.monaco-editor-background{background-color:var(--editor-bg)!important}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:pre-wrap}.monaco-editor .find-widget{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:var(--shadow)!important;color:var(--text)!important}.monaco-editor .find-widget .monaco-inputbox{background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:7px!important;color:var(--text)!important}.monaco-editor .find-widget .monaco-inputbox .input{color:var(--text)!important}.monaco-editor .find-widget .monaco-inputbox .input::placeholder{color:var(--text-faint)!important}.monaco-editor .find-widget .button,.monaco-editor .find-widget .codicon{color:var(--text-muted)!important}.monaco-editor .find-widget .button:hover,.monaco-editor .find-widget .button:hover .codicon{color:var(--text)!important;background:var(--surface-hover)!important}.monaco-editor .find-widget .button.checked,.monaco-editor .find-widget .button.checked .codicon{color:var(--accent)!important;background:var(--accent-soft)!important}.monaco-editor .find-widget .matchesCount{color:var(--text-faint)!important}:root{--vscode-editorSuggestWidget-background: var(--surface);--vscode-editorSuggestWidget-border: var(--border);--vscode-editorSuggestWidget-foreground: var(--text);--vscode-editorSuggestWidget-selectedBackground: var(--accent-soft);--vscode-editorSuggestWidget-selectedForeground: var(--text);--vscode-editorSuggestWidget-selectedIconForeground: var(--text);--vscode-editorSuggestWidget-highlightForeground: var(--accent);--vscode-editorSuggestWidget-focusHighlightForeground: var(--accent);--vscode-editorSuggestWidgetStatus-foreground: var(--text-muted)}.monaco-editor .suggest-widget{border-radius:10px!important;box-shadow:var(--shadow)!important;overflow:hidden;width:min(260px,90vw)!important;font-family:var(--font-ui)!important;font-size:13px!important;padding:6px 0!important}.monaco-editor .suggest-widget .monaco-list{background:transparent!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{border-radius:7px!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{background:var(--accent-soft)!important;color:var(--text)!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:hover:not(.focused){background:var(--surface-hover)!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before,.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:none!important;width:0!important;margin:0!important;padding:0!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{padding:0 14px!important;box-sizing:border-box!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{padding-left:0!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-name-container{letter-spacing:.01em}.monaco-editor .suggest-details{border-radius:10px!important;box-shadow:var(--shadow)!important;background:var(--surface)!important;border-color:var(--border)!important;color:var(--text)!important}.privacy-fab{position:fixed;right:16px;bottom:16px;z-index:10;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);box-shadow:var(--shadow);text-decoration:none;transition:background .12s ease,color .12s ease,border-color .12s ease}.privacy-fab:hover{background:var(--surface-hover);color:var(--text);border-color:var(--text-faint)}@page{margin:16mm}@media print{html,body,#app,#body,#main{height:auto!important;width:auto!important;overflow:visible!important;background:#fff!important;color:#111!important}#topbar,#sidebar,#note-titlebar,#monaco-container,.privacy-fab,.monaco-editor .find-widget{display:none!important}#markdown-preview{display:block!important;overflow:visible!important;padding:0!important;background:#fff!important;color:#111!important}#markdown-preview a{color:#111!important;text-decoration:underline}#markdown-preview code,#markdown-preview pre,#markdown-preview .mermaid{background:#f4f4f6!important;border-color:#ddd!important;color:#111!important}#markdown-preview .mermaid svg{max-width:100%!important;break-inside:avoid}}.command-dialog{width:min(480px,calc(100vw - 32px));max-height:min(600px,calc(100dvh - 48px));padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.command-dialog::backdrop{background:#00000059}.command-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.command-header h2{margin:0;font-size:15px}.command-header button{font-size:24px;padding:0;width:32px;height:32px}.command-dialog input{width:100%;margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);font:inherit}.command-list{max-height:50dvh;overflow-y:auto}.command-dialog button{border:none;border-radius:6px;background:transparent;color:var(--text);font-family:inherit;cursor:pointer}.command-list button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:40px;padding:8px;text-align:left;font-size:13px}.command-dialog button:hover,.command-list button:focus-visible{background:var(--surface-hover)}.command-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:1px}.command-list kbd{color:var(--text-muted);font:11px var(--font-mono);white-space:nowrap}.command-hint{margin:12px 0 0;font-size:11px;color:var(--text-muted)}.snippet-item{padding:0;cursor:default}.snippet-select{display:block;width:100%;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.snippet-select>span{display:block}.snippet-select:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 0}.sidebar-heading h2{font-size:12px;color:var(--text-muted);margin:0;font-weight:600}#sidebar-close{display:none;font-size:24px}.note-search-row{position:relative;margin:0 12px 12px}#note-search{width:100%;min-width:0;height:36px;padding:0 32px 0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text);font:12px var(--font-ui)}#note-search::-webkit-search-cancel-button{display:none}#clear-search{position:absolute;right:2px;top:2px;width:32px;height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-muted);font-size:20px;cursor:pointer}#clear-search[hidden],.undo-toast[hidden],.save-error[hidden]{display:none}.save-error{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--danger-soft);font-size:12px}.save-error button,.undo-toast button{color:var(--text);background:var(--surface-2);border:1px solid var(--border);padding:8px 12px;border-radius:6px;font:inherit;white-space:nowrap;cursor:pointer}.save-status[data-state=error]{color:var(--danger)}.undo-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:calc(100vw - 96px);padding:8px 12px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);font-size:13px}.history-dialog{position:fixed;inset:0 auto 0 0;margin:0;padding:0;width:min(280px,85vw);max-width:none;height:100dvh;max-height:none;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.history-dialog::backdrop{background:#00000059}.history-dialog #sidebar{position:static;width:100%;height:100%;box-shadow:none;border:0}#app{height:100dvh;width:100%}#body,.brand,.topbar-right{min-width:0}@media (max-width: 700px){#sidebar-close{display:inline-flex}#note-titlebar{height:auto;min-height:48px;flex-wrap:wrap;padding:8px 12px;gap:8px}#note-title{flex:1 1 80px}.titlebar-right{gap:8px}}@media (max-width: 480px){#topbar{height:auto;min-height:48px;flex-wrap:wrap;gap:4px 8px;padding:4px 8px}.brand{gap:6px}.brand-mark{display:none}.brand-name{font-size:12px}.topbar-right{gap:4px;margin-left:auto}.save-status{font-size:10px}.theme-opt{width:24px}.undo-toast{left:12px;transform:none;max-width:calc(100vw - 72px)}.command-list button{gap:8px;flex-wrap:wrap}}@media (pointer: coarse){.sidebar-toggle,.theme-opt,.view-opt,.export-btn,#clear-search{min-width:44px;min-height:44px}#note-search{height:48px;padding-right:48px}.snippet-select{min-height:64px}.command-list button,.command-header button,.undo-toast button,.save-error button{min-height:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}@media print{.undo-toast,.history-dialog,.command-dialog,.save-error{display:none!important}}#main:not([data-full-width=true]) #monaco-container,#main:not([data-full-width=true]) .markdown-preview{width:100%;max-width:806px;margin-inline:auto}#main[data-full-width=true] #monaco-container,#main[data-full-width=true] .markdown-preview{width:100%}#writing-width-btn[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.copy-check,#copy-markdown-btn[data-copied=true] .copy-icon{display:none}#copy-markdown-btn[data-copied=true] .copy-check{display:block;color:var(--accent)}#copy-markdown-btn:disabled{cursor:progress}.copy-dialog p{font-size:13px;color:var(--text-muted);line-height:1.5}.copy-dialog textarea{display:block;width:100%;height:min(45dvh,320px);resize:vertical;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--editor-bg);color:var(--text);font:13px/1.6 var(--font-mono)}.markdown-preview table{display:block;max-width:100%;overflow-x:auto}@media print{#main .markdown-preview{max-width:none!important;width:100%!important;margin:0!important}.markdown-preview table{display:table}}#main{container:writing-workspace / inline-size}#main:not([data-full-width=true]){background:var(--bg)}#monaco-container{background:var(--editor-bg)}#monaco-container,.markdown-preview{transition:box-shadow .16s ease,background-color .16s ease}@container writing-workspace (min-width: 850px){#main:not([data-full-width=true]) #monaco-container,#main:not([data-full-width=true]) .markdown-preview{box-shadow:-1px 0 0 var(--border),1px 0 0 var(--border),0 0 24px #0000000f}}@media print{#main{container-type:normal}#main .markdown-preview{box-shadow:none!important}}#app[data-focus-mode=true] #topbar,#app[data-focus-mode=true] #note-titlebar,#app[data-focus-mode=true] .privacy-fab{display:none}#app[data-focus-mode=true] #main{padding-top:56px}.focus-exit{position:fixed;top:12px;right:16px;z-index:25;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-muted);font:12px var(--font-ui);cursor:pointer}.focus-exit[hidden]{display:none}.focus-exit:hover{background:var(--surface-hover);color:var(--text)}.focus-exit kbd{color:var(--text-faint);font:11px var(--font-mono)}#note-titlebar{height:auto;min-height:42px;padding-block:6px;flex-wrap:wrap}.titlebar-right{flex-wrap:wrap;max-width:100%}@container writing-workspace (max-width: 650px){.note-counts{display:none}}@media (pointer: coarse){.focus-exit{min-height:44px}}@media print{.focus-exit{display:none!important}#app[data-focus-mode=true] #main{padding-top:0!important}}
