pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#a626a4}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#50a14f}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#986801}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.menu-btn[data-v-ac647b1b]{display:none}@media(max-width:960px){.menu-btn[data-v-ac647b1b]{display:flex}}.nav[data-v-ac647b1b]{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.nav-link[data-v-ac647b1b]{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid transparent;color:var(--text-2);font-size:13px;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.nav-link[data-v-ac647b1b]:hover{background:var(--hover);border-color:var(--border);color:var(--text)}.nav-link.active[data-v-ac647b1b]{background:var(--surface);border-color:var(--border-2);color:var(--text);box-shadow:var(--shadow-2)}.nav-dot[data-v-ac647b1b]{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.35}.nav-link.active .nav-dot[data-v-ac647b1b]{opacity:.85}.side-title[data-v-d7ecdbe5]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;margin:2px 0 8px;background:transparent;border:none;cursor:pointer;font-size:12px;color:var(--text-3);text-align:left}.side-title[data-v-d7ecdbe5]:hover{color:var(--text-2)}.chevron[data-v-d7ecdbe5]{transition:transform .2s ease}.chevron.open[data-v-d7ecdbe5]{transform:rotate(0)}.chevron[data-v-d7ecdbe5]:not(.open){transform:rotate(-90deg)}.muted-badge[data-v-d7ecdbe5]{font-size:11px;color:var(--text-3);background:transparent;border:none;padding:0}.item-label[data-v-d7ecdbe5]{display:flex;align-items:center;gap:8px}.side-stats[data-v-d7ecdbe5]{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.layout-home[data-v-bca780ec]{width:min(1600px,96vw);display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.notes-grid-section[data-v-bca780ec]{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-2);overflow:hidden}.grid-header[data-v-bca780ec]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.grid-header b[data-v-bca780ec]{font-size:14px;font-weight:700;color:var(--text)}.grid-actions[data-v-bca780ec]{display:flex;align-items:center;gap:10px}.muted[data-v-bca780ec]{font-size:12px;color:var(--text-3)}.mode-btn[data-v-bca780ec]{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:grid;place-items:center;transition:background .15s ease}.mode-btn[data-v-bca780ec]:hover,.mode-btn.active[data-v-bca780ec]{background:var(--hover)}.notes-grid[data-v-bca780ec]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:16px}.notes-grid.compact[data-v-bca780ec]{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.note-card[data-v-bca780ec]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.note-card[data-v-bca780ec]:hover{border-color:var(--border-2);box-shadow:var(--shadow-2);transform:translateY(-2px)}.compact .note-card[data-v-bca780ec]{padding:12px}.card-header[data-v-bca780ec]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.card-title[data-v-bca780ec]{font-size:15px;font-weight:600;color:var(--text);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.compact .card-title[data-v-bca780ec]{font-size:13px;-webkit-line-clamp:1}.star-icon[data-v-bca780ec]{flex-shrink:0;color:#f59e0b}.card-snippet[data-v-bca780ec]{font-size:13px;color:var(--text-3);line-height:1.5;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.card-tags[data-v-bca780ec]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chip[data-v-bca780ec]{font-size:11px;color:var(--text-3);background:var(--surface-2);padding:3px 8px;border-radius:999px}.chip-more[data-v-bca780ec]{background:var(--hover)}.card-footer[data-v-bca780ec]{display:flex;align-items:center;justify-content:flex-end}.card-date[data-v-bca780ec]{font-size:11px;color:var(--text-3)}.empty-state[data-v-bca780ec]{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--text-3)}.empty-icon[data-v-bca780ec]{margin-bottom:24px;opacity:.4}.empty-title[data-v-bca780ec]{font-size:20px;font-weight:600;color:var(--text);margin:0 0 12px}.empty-desc[data-v-bca780ec]{font-size:14px;line-height:1.8;margin:0 0 24px}.empty-desc code[data-v-bca780ec]{background:var(--surface-2);padding:2px 8px;border-radius:4px;font-family:var(--mono);font-size:12px}.empty-action[data-v-bca780ec]{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--text);color:var(--surface);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.empty-action[data-v-bca780ec]:hover{opacity:.85}.global-toast[data-v-bca780ec]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);font-size:14px;color:var(--text-2);z-index:100}.global-toast.success[data-v-bca780ec]{border-color:#059669;color:#059669}.global-toast.error[data-v-bca780ec]{border-color:#dc2626;color:#dc2626}.confirm-overlay[data-v-bca780ec]{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:200}.confirm-dialog[data-v-bca780ec]{background:var(--surface);border-radius:12px;padding:24px;width:min(400px,90vw);box-shadow:0 20px 60px #00000026}.confirm-title[data-v-bca780ec]{font-size:18px;font-weight:600;margin:0 0 12px;color:var(--text)}.confirm-message[data-v-bca780ec]{font-size:14px;color:var(--text-2);margin:0 0 24px;line-height:1.6}.confirm-actions[data-v-bca780ec]{display:flex;justify-content:flex-end;gap:12px}.confirm-actions .ghost[data-v-bca780ec]{padding:10px 20px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-2);cursor:pointer;transition:background .2s}.confirm-actions .ghost[data-v-bca780ec]:hover{background:var(--hover)}.confirm-actions .danger[data-v-bca780ec]{padding:10px 20px;border:none;border-radius:6px;background:#dc2626;color:#fff;cursor:pointer;transition:opacity .2s}.confirm-actions .danger[data-v-bca780ec]:hover{opacity:.9}.sidebar-overlay[data-v-bca780ec]{position:fixed;inset:0;background:#0000004d;z-index:15}.fade-enter-active[data-v-bca780ec],.fade-leave-active[data-v-bca780ec]{transition:opacity .2s ease}.fade-enter-from[data-v-bca780ec],.fade-leave-to[data-v-bca780ec]{opacity:0}.toast-enter-active[data-v-bca780ec]{transition:all .3s ease}.toast-leave-active[data-v-bca780ec]{transition:all .2s ease}.toast-enter-from[data-v-bca780ec]{opacity:0;transform:translate(-50%,20px)}.toast-leave-to[data-v-bca780ec]{opacity:0;transform:translate(-50%,-10px)}.slide-left-enter-active[data-v-bca780ec],.slide-left-leave-active[data-v-bca780ec]{transition:all .25s ease}.slide-left-enter-from[data-v-bca780ec],.slide-left-leave-to[data-v-bca780ec]{opacity:0;transform:translate(-20px)}.slide-right-enter-active[data-v-bca780ec],.slide-right-leave-active[data-v-bca780ec]{transition:all .25s ease}.slide-right-enter-from[data-v-bca780ec],.slide-right-leave-to[data-v-bca780ec]{opacity:0;transform:translate(20px)}@media(max-width:960px){.layout-home[data-v-bca780ec]{grid-template-columns:1fr}[data-v-bca780ec] .side{position:fixed;left:0;top:64px;bottom:0;z-index:20;width:280px;background:var(--surface);border-right:1px solid var(--border)}.notes-grid[data-v-bca780ec]{grid-template-columns:1fr}}:root{--bg: #fafafa;--surface: #ffffff;--surface-2: #f7f7f7;--text: #111111;--text-2: #333333;--text-3: #777777;--text-muted: #999999;--border: #eeeeee;--border-2: #e0e0e0;--hover: #f0f0f0;--primary: #1e40af;--primary-hover: #1e3a8a;--shadow: 0 4px 14px rgba(0, 0, 0, .05);--shadow-2: 0 2px 8px rgba(0, 0, 0, .04);--shadow-3: 0 8px 24px rgba(0, 0, 0, .08);--shadow-4: 0 12px 32px rgba(0, 0, 0, .12);--radius: 16px;--radius-sm: 12px;--radius-md: 8px;--radius-lg: 16px;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit;font-size:inherit}::selection{background:#00000014}.header{position:sticky;top:0;z-index:20;height:64px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center}.header-inner{width:min(1600px,96vw);display:flex;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.logo{width:34px;height:34px;border-radius:10px;background:url(/logo.png) center/cover no-repeat;box-shadow:var(--shadow-2)}.brand .title{display:flex;flex-direction:column;line-height:1.1}.brand .title b{font-size:14px;font-weight:700}.brand .title span{font-size:12px;color:var(--text-3)}.header-center{flex:1;display:flex;align-items:center;justify-content:center;gap:12px}.page-title{font-size:16px;font-weight:600;letter-spacing:.2px}.header-right{min-width:340px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.icon-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .08s ease}.icon-btn:hover{background:var(--hover);border-color:var(--border-2)}.icon-btn:active{transform:translateY(1px)}.icon{width:18px;height:18px;display:inline-block}.search{flex:1;max-width:520px;position:relative}.search input{width:100%;height:40px;border-radius:8px;border:1px solid var(--border);background:var(--surface);padding:0 40px 0 42px;outline:none;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.search input:focus{border-color:var(--border-2);box-shadow:0 0 0 4px #0000000a}.search .search-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);opacity:.85;font-size:18px}.search .kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:12px;color:var(--text-3);border:1px solid var(--border);border-bottom-color:var(--border-2);padding:3px 8px;border-radius:10px;background:var(--surface-2)}.primary-cta{height:40px;border-radius:8px;border:1px solid var(--text);background:var(--text);color:#fff;cursor:pointer;font-weight:650;padding:0 14px;display:flex;align-items:center;gap:8px;transition:opacity .15s ease,transform .08s ease;white-space:nowrap}.primary-cta:hover{opacity:.92}.primary-cta:active{transform:translateY(1px)}.wrap{display:flex;justify-content:center;padding:24px 0 32px}.layout{width:min(1600px,96vw);display:grid;grid-template-columns:240px 1fr 260px;gap:24px;align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-2);overflow:hidden}.panel-hd{padding:14px 14px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-hd b{font-size:13px;letter-spacing:.2px;font-weight:700}.muted{color:var(--text-3);font-size:12px}.panel-bd{padding:12px 14px}.side-section{margin-bottom:14px}.side-title{font-size:12px;color:var(--text-3);display:flex;align-items:center;justify-content:space-between;margin:2px 0 8px}.tree,.taglist{display:flex;flex-direction:column;gap:6px}.item{height:36px;border-radius:12px;border:1px solid transparent;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:0 10px;cursor:pointer;transition:background .15s ease,border-color .15s ease;font-size:13px;color:var(--text-2)}.item:hover{background:var(--hover)}.item.active{background:var(--surface-2);border-color:var(--border);color:var(--text)}.badge{font-size:12px;color:var(--text-3);border:1px solid var(--border);background:var(--surface);padding:2px 8px;border-radius:999px}.center{display:grid;grid-template-columns:320px 1fr;gap:24px}.list .panel-bd{padding:10px}.note-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease;position:relative;margin-bottom:12px;box-shadow:none}.note-card:hover{background:var(--hover);border-color:var(--border-2)}.note-card.active{background:var(--surface-2);border-color:var(--border-2)}.note-title{font-size:14px;font-weight:650;line-height:1.35;display:flex;align-items:center;gap:8px}.pin{font-size:12px;border:1px solid var(--border);background:var(--surface);padding:2px 6px;border-radius:999px;color:var(--text-3)}.note-snippet{font-size:12.5px;color:var(--text-3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-2);cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none}.chip:hover{background:var(--hover)}.chip.active{background:var(--text);border-color:var(--text);color:#fff}.card-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px;opacity:0;transition:opacity .12s ease}.note-card:hover .card-actions{opacity:1}.mini-btn{width:30px;height:30px;border-radius:10px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;cursor:pointer}.mini-btn:hover{background:var(--hover)}.detail{display:flex;flex-direction:column;overflow:hidden}.detail .panel-hd{padding:18px 18px 14px;align-items:flex-start;border-bottom:none;flex-shrink:0}.detail-title{font-size:28px;font-weight:600;letter-spacing:-.5px;line-height:1.2;margin:0;color:var(--text)}.detail-sub{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.divider{height:1px;background:var(--border);margin:0 18px;flex-shrink:0}.content{padding:0 24px 24px;color:var(--text-2);font-size:16px;line-height:1.8;max-width:75ch;margin:0 auto}.content p{margin:0 0 12px}.content h1,.content h2,.content h3{margin:24px 0 12px}.content h1{font-size:24px}.content h2{font-size:20px}.content h3{font-size:18px}.content code{background:var(--surface-2);border:1px solid var(--border);padding:2px 6px;border-radius:4px;font-family:var(--mono);font-size:13px}.content pre{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;margin:12px 0}.meta .panel-bd{padding:14px}.kv{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.kv:last-child{border-bottom:none}.k{color:var(--text-3);font-size:12px}.v{color:var(--text-2);font-size:12.5px;text-align:right}.primary-btn{width:100%;height:40px;border-radius:14px;border:1px solid var(--text);background:var(--text);color:#fff;cursor:pointer;font-weight:650;transition:transform .08s ease,opacity .15s ease}.primary-btn:hover{opacity:.92}.primary-btn:active{transform:translateY(1px)}.hint{margin-top:12px;color:var(--text-3);font-size:12px;line-height:1.5}.hint code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);padding:2px 6px;border-radius:10px}.overlay{position:fixed;inset:0;background:#00000061;display:none;z-index:50}.overlay.show{display:block}.quick{position:fixed;top:86px;right:calc((100vw - min(1600px,96vw))/2);width:440px;max-width:calc(96vw - 24px);background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:0 18px 60px #0000002e;z-index:60;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;overflow:hidden}.quick.show{opacity:1;transform:translateY(0);pointer-events:auto}.quick-hd{padding:14px 14px 10px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border)}.quick-title{display:flex;flex-direction:column;gap:4px}.quick-title b{font-size:14px;letter-spacing:.2px;font-weight:700}.quick-title span{font-size:12px;color:var(--text-3)}.quick-actions{display:flex;gap:8px}.quick-bd{padding:12px 14px 14px}.quick-top{display:flex;gap:10px;align-items:center;margin-bottom:10px}.pill{height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:12.5px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease;-webkit-user-select:none;user-select:none}.pill:hover{background:var(--hover);border-color:var(--border-2)}.pill small{color:var(--text-3);font-size:12px}.quick-bd textarea{width:100%;min-height:140px;resize:vertical;border-radius:16px;border:1px solid var(--border);background:var(--surface);padding:12px;font-size:14px;line-height:1.65;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.quick-bd textarea:focus{border-color:var(--border-2);box-shadow:0 0 0 4px #0000000a}.quick-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.counter{font-size:12px;color:var(--text-3)}.ghost{height:40px;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:pointer;padding:0 12px;font-weight:650;color:var(--text);transition:background .15s ease,border-color .15s ease,transform .08s ease}.ghost:hover{background:var(--hover);border-color:var(--border-2)}.ghost:active{transform:translateY(1px)}.quick-save{height:40px;border-radius:14px;border:1px solid var(--text);background:var(--text);color:#fff;cursor:pointer;padding:0 14px;font-weight:650;display:flex;align-items:center;gap:8px;transition:opacity .15s ease,transform .08s ease;white-space:nowrap}.quick-save:hover{opacity:.92}.quick-save:active{transform:translateY(1px)}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:#ffffffe6;border:1px solid var(--border);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow);font-size:13px;color:var(--text-2);display:none;z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast.show{display:block}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:32px;margin-bottom:16px;font-weight:600;color:var(--text)}.markdown-content h1{font-size:32px;letter-spacing:-.5px}.markdown-content h2{font-size:26px;letter-spacing:-.3px}.markdown-content h3{font-size:22px}.markdown-content h4{font-size:18px}.markdown-content h5{font-size:16px}.markdown-content h6{font-size:14px}.markdown-content p{margin:0 0 16px;line-height:1.8}.markdown-content ul,.markdown-content ol{margin:16px 0;padding-left:24px}.markdown-content li{margin:8px 0}.markdown-content blockquote{border-left:3px solid var(--text);padding-left:16px;margin:24px 0;color:var(--text-2);font-style:italic}.markdown-content code{background:var(--surface-2);padding:2px 6px;border-radius:4px;font-family:var(--mono);font-size:.9em;color:var(--text)}.markdown-content pre{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:16px;overflow-x:auto;margin:24px 0}.markdown-content pre code{background:none;padding:0;border-radius:0}@media(max-width:1200px){.layout{grid-template-columns:220px 1fr 240px;gap:16px}.center{grid-template-columns:280px 1fr;gap:16px}}@media(max-width:960px){.layout,.center{grid-template-columns:1fr}.side,.meta,.header-center{display:none}.brand,.header-right{min-width:auto}.primary-cta span{display:none}.quick{right:12px;width:calc(100vw - 24px);max-width:100%}}
