:root{--bg: #f7f4ef;--bg-elevated: #fffdfa;--surface: #ffffff;--surface-soft: #faf7f2;--surface-sunken: #f2ede5;--ink: #22201d;--ink-strong: #14120f;--ink-soft: #5c5750;--ink-muted: #8c857b;--line: #e6dfd3;--line-strong: #d6ccbc;--accent: #b4552d;--accent-strong: #93411f;--accent-soft: #f7e9e2;--success: #3f7d54;--success-soft: #e8f2ea;--warn: #9a6a1c;--warn-soft: #fbf1dd;--danger: #ab3832;--danger-soft: #fbe9e7;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(34, 32, 29, .05);--shadow-md: 0 4px 14px rgba(34, 32, 29, .07);--shadow-lg: 0 16px 40px rgba(34, 32, 29, .12);--sidebar-w: 264px;--transition: .15s ease;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}html,body{touch-action:pan-x pan-y}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;color:var(--ink-strong);font-weight:600;line-height:1.35;letter-spacing:-.01em}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-strong)}button{font:inherit;color:inherit}code{font-family:var(--font-mono);font-size:.86em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-4);top:-60px;z-index:100;padding:var(--s-2) var(--s-3);background:var(--ink-strong);color:#fff;border-radius:var(--r-sm);transition:top var(--transition)}.skip-link:focus{top:var(--s-4);color:#fff}.muted{color:var(--ink-muted);font-size:13px}.mono{font-family:var(--font-mono);font-size:12.5px;word-break:break-all}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100%}.sidebar{display:flex;flex-direction:column;gap:var(--s-6);padding:var(--s-5) var(--s-4);background:linear-gradient(180deg,#fdfbf7,#f8f4ee);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-1) var(--s-2) var(--s-2)}.brand-mark{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:#c0392b;color:#fdfbf7;box-shadow:var(--shadow-sm)}.brand-mark svg{display:block}.brand-text{display:flex;flex-direction:column;gap:2px;line-height:1.32}.brand-text strong{font-size:15px;color:var(--ink-strong)}.brand-text small{color:var(--ink-muted);font-size:11.5px;letter-spacing:.02em}.nav{display:flex;flex-direction:column;gap:var(--s-1)}.nav-item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);color:var(--ink-soft);transition:background var(--transition),color var(--transition)}.nav-item:hover{background:var(--surface-soft);color:var(--ink-strong)}.nav-item.is-active{background:var(--accent-soft);color:var(--accent-strong)}.nav-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}.nav-item.is-active .nav-icon{background:var(--accent);border-color:var(--accent);color:#fff}.nav-text{display:flex;flex-direction:column;line-height:1.3}.nav-text strong{font-size:14px;font-weight:600}.nav-text small{font-size:11.5px;color:var(--ink-muted)}.nav-item.is-active .nav-text small{color:var(--accent)}.sidebar-foot{margin-top:auto;padding:var(--s-3);border-top:1px solid var(--line);color:var(--ink-muted);font-size:12px;line-height:1.6}.content-col{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-6);border-bottom:1px solid var(--line);background:#f7f4efe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.topbar-title{font-size:16px;font-weight:600}.nav-toggle,.nav-backdrop{display:none}.main{padding:var(--s-6);max-width:1240px;width:100%;margin:0 auto}.page{display:flex;flex-direction:column;gap:var(--s-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:9px var(--s-4);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition),box-shadow var(--transition)}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink-soft)}.btn-ghost:hover:not(:disabled){background:var(--surface);color:var(--accent-strong)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#8f2b26;border-color:#8f2b26;color:#fff}.btn-danger-text{color:var(--danger)}.btn-danger-text:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.btn-sm{padding:6px var(--s-3);font-size:13px;border-radius:var(--r-sm)}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ink-muted);cursor:pointer;transition:background var(--transition),color var(--transition)}.icon-btn:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink-strong)}.link-btn{border:0;background:none;padding:0 0 0 var(--s-1);color:var(--accent);cursor:pointer;font-size:inherit}.link-btn:hover{text-decoration:underline}.form{display:flex;flex-direction:column;gap:var(--s-4)}.field{display:flex;flex-direction:column;gap:var(--s-2);min-width:0}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-4);align-items:start}.field-label,legend.field-label{font-size:13px;font-weight:600;color:var(--ink-soft);padding:0}.field-optional,.field-required{font-weight:400;font-size:12px;color:var(--ink-muted)}.field-required{color:var(--danger)}.field-help{display:inline-flex;align-items:center;gap:var(--s-1);font-size:12.5px;color:var(--ink-muted)}.field-error{font-size:13px;color:var(--danger)}.field-hint{font-size:13px;color:var(--warn)}.field-success{font-size:13px;color:var(--success)}.input,.textarea,.select{width:100%;padding:9px var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.textarea{resize:vertical;line-height:1.6}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b4552d1f;outline:none}.input:disabled,.textarea:disabled,.select:disabled{background:var(--surface-sunken);color:var(--ink-muted)}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(135deg,var(--ink-muted) 50%,transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:var(--s-6)}.input-with-icon{position:relative;display:block}.input-icon{position:absolute;left:var(--s-3);top:50%;transform:translateY(-50%);color:var(--ink-muted);display:grid;place-items:center;pointer-events:none}.input-with-icon .input{padding-left:36px}.form-actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;padding-top:var(--s-2)}.form-note{display:inline-flex;align-items:center;gap:var(--s-1);font-size:12.5px;color:var(--ink-muted)}.field-inline{display:flex;flex-direction:column;gap:var(--s-1)}.checkbox{display:inline-flex;align-items:center;gap:var(--s-2);font-size:13.5px;cursor:pointer}.checkbox input{width:16px;height:16px;accent-color:var(--accent)}.segmented,.view-toggle,.mode-group{display:inline-flex;gap:var(--s-1);padding:3px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft)}.toggle-btn{border:0;background:transparent;padding:6px var(--s-3);border-radius:var(--r-sm);font-size:13px;color:var(--ink-soft);cursor:pointer;transition:background var(--transition),color var(--transition)}.toggle-btn:hover{color:var(--ink-strong)}.toggle-btn.is-active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-sm);font-weight:600}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--s-2);border-radius:var(--r-pill);font-size:11.5px;font-weight:500;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink-soft);white-space:nowrap}.badge-ok,.badge-ready{background:var(--success-soft);border-color:#cfe3d5;color:var(--success)}.badge-warn,.badge-processing{background:var(--warn-soft);border-color:#edd9ad;color:var(--warn)}.badge-failed{background:var(--danger-soft);border-color:#f0c9c5;color:var(--danger)}.badge-pending{background:var(--surface-sunken)}.source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--s-2);border-radius:var(--r-pill);font-size:11.5px;background:var(--surface-soft);border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px var(--s-2);border-radius:var(--r-pill);background:var(--accent-soft);border:1px solid #ecd6cc;color:var(--accent-strong);font-size:12px}.tag-chip-static{padding-right:var(--s-2)}.tag-chip-remove{border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:13px;line-height:1;padding:0 2px}.tag-row{display:flex;flex-wrap:wrap;gap:var(--s-1)}.progress{display:block;height:6px;border-radius:var(--r-pill);background:var(--surface-sunken);overflow:hidden}.progress-bar{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .4s ease}.notice{display:flex;align-items:flex-start;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);font-size:13.5px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink-soft)}.notice-warn{background:var(--warn-soft);border-color:#edd9ad;color:#6f4c14}.notice-info{background:var(--surface-soft)}.notice-lg{padding:var(--s-4)}.notice-list{margin-top:var(--s-2);display:flex;flex-direction:column;gap:var(--s-1);list-style:disc;padding-left:var(--s-4)}.notice-list li{font-size:13px;line-height:1.6}.panel{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-sm)}.panel+.panel{margin-top:0}.panel-head{display:flex;flex-direction:column;gap:var(--s-1);margin-bottom:var(--s-4)}.panel-head-row{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--s-4)}.panel-title{font-size:17px}.panel-desc{font-size:13.5px;color:var(--ink-muted);line-height:1.6}.subpanel{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.subpanel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.subpanel-title{font-size:14px;font-weight:600;color:var(--ink-strong)}.stack{display:flex;flex-direction:column;gap:var(--s-3)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-7) var(--s-4);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-soft)}.empty-title{font-size:14.5px;font-weight:600;color:var(--ink-soft)}.empty-desc{font-size:13px;color:var(--ink-muted);max-width:46ch}.empty-error{border-color:#f0c9c5;background:var(--danger-soft)}.empty-error .empty-title{color:var(--danger)}.loading{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--ink-muted);font-size:13.5px;padding:var(--s-3) 0}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid #f0c9c5;border-radius:var(--r-md);background:var(--danger-soft)}.error-box-message{font-size:13.5px;color:var(--danger);font-weight:500}.error-box-hint{font-size:13px;color:#7c4a46}.toast-stack{position:fixed;right:var(--s-5);bottom:var(--s-5);z-index:200;display:flex;flex-direction:column;gap:var(--s-2);max-width:min(380px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:var(--s-2);padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);animation:toast-in .18s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-info{border-left:3px solid var(--accent)}.toast-body{display:flex;flex-direction:column;gap:2px;min-width:0}.toast-text{font-size:13.5px;font-weight:600;color:var(--ink-strong)}.toast-hint{font-size:12.5px;color:var(--ink-muted)}.toast-close{border:0;background:none;color:var(--ink-muted);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;margin-left:auto}.dialog{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);border:1px solid #edd9ad;border-radius:var(--r-md);background:var(--warn-soft)}.dialog-text{font-size:13.5px;color:#6f4c14}.dialog-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.confirm-inline{display:inline-flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;font-size:13px;color:var(--danger)}.collect-page{gap:var(--s-5)}.hero{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-6);border-radius:var(--r-lg);background:linear-gradient(135deg,#fffdfa,#f6efe5);border:1px solid var(--line)}.hero-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}.hero-title{font-size:26px;letter-spacing:-.02em}.hero-desc{font-size:14px;color:var(--ink-soft);max-width:62ch}.tabs{display:flex;gap:var(--s-1);padding:var(--s-1);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-soft);overflow-x:auto}.tab{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-soft);font-size:14px;cursor:pointer;transition:background var(--transition),color var(--transition);white-space:nowrap}.tab:hover{color:var(--ink-strong)}.tab.is-active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-sm);font-weight:600}.collect-panel{display:flex;flex-direction:column;gap:var(--s-4)}.collect-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-5);align-items:start}.collect-footnote{font-size:12.5px;color:var(--ink-muted);text-align:center}.tag-picker{display:flex;flex-direction:column;gap:var(--s-2);position:relative}.tag-picker-box{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1);padding:6px var(--s-2);min-height:40px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition)}.tag-picker-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #b4552d1f}.tag-picker-input{flex:1 1 120px;min-width:100px;border:0;outline:none;background:transparent;font:inherit;padding:2px}.tag-suggest{position:absolute;z-index:15;top:100%;left:0;right:0;margin-top:var(--s-1);padding:var(--s-1);display:flex;flex-wrap:wrap;gap:var(--s-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-md)}.tag-suggest-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:var(--r-pill);padding:2px var(--s-2);font-size:12px;color:var(--ink-soft);cursor:pointer}.tag-suggest-item:hover{border-color:var(--accent);color:var(--accent-strong)}.recorder{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft)}.recorder-top{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap}.record-btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:10px var(--s-5);border-radius:var(--r-pill);border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:600;cursor:pointer;transition:background var(--transition),transform var(--transition)}.record-btn:hover:not(:disabled){background:var(--accent-strong)}.record-btn:disabled{opacity:.5;cursor:not-allowed}.record-btn.is-recording{background:var(--danger);border-color:var(--danger);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px #ab38321f}}.recorder-clock{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-size:15px;color:var(--ink-strong)}.record-dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong)}.record-dot.is-live{background:var(--danger);animation:blink 1s steps(2,start) infinite}@keyframes blink{50%{opacity:.25}}.waveform{display:flex;align-items:center;gap:2px;height:34px;flex:1 1 180px;min-width:140px;padding:0 var(--s-2);border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}.wave-bar{flex:1;min-height:3px;border-radius:2px;background:var(--accent);opacity:.75;transition:height 90ms linear}.recording-tag{font-size:12px;color:var(--danger);font-weight:600}.audio-preview{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-3);border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-soft)}.audio-preview audio{height:36px;flex:1 1 240px;min-width:200px}.audio-asset{display:flex;flex-direction:column;gap:var(--s-1)}.audio-asset audio{width:100%;max-width:420px}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-6) var(--s-4);border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-soft);color:var(--ink-soft);text-align:center;transition:border-color var(--transition),background var(--transition)}.dropzone-title{font-weight:600;font-size:14px}.dropzone-hint{font-size:12.5px;color:var(--ink-muted)}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--s-3)}.thumb{position:relative;display:flex;flex-direction:column;gap:var(--s-1)}.thumb img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-sunken)}.thumb-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:50%;background:#14120f9e;color:#fff;cursor:pointer}.thumb-name{font-size:11.5px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-3);padding:0;border:0;background:transparent}.mode-option{display:flex;flex-direction:column;gap:2px;padding:var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);cursor:pointer;transition:border-color var(--transition),background var(--transition)}.mode-option:hover{border-color:var(--accent)}.mode-option.is-active{border-color:var(--accent);background:var(--accent-soft)}.mode-option input{position:absolute;opacity:0;pointer-events:none}.mode-name{font-size:13.5px;font-weight:600;color:var(--ink-strong)}.mode-desc{font-size:12px;color:var(--ink-muted);line-height:1.5}.editor{border:1px solid var(--line-strong);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.editor-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);background:var(--surface-soft)}.toolbar{display:flex;gap:var(--s-1);flex-wrap:wrap}.toolbar-btn{border:1px solid transparent;background:transparent;border-radius:var(--r-sm);padding:4px var(--s-2);font-size:12.5px;color:var(--ink-soft);cursor:pointer;transition:background var(--transition),color var(--transition)}.toolbar-btn:hover{background:var(--surface);border-color:var(--line);color:var(--accent-strong)}.editor-body{display:grid}.editor-body.mode-split{grid-template-columns:1fr 1fr}.editor-body.mode-write,.editor-body.mode-preview{grid-template-columns:1fr}.editor-pane{min-width:0}.editor-preview{border-left:1px solid var(--line);padding:var(--s-4);max-height:520px;overflow-y:auto;background:var(--bg-elevated)}.editor-body.mode-preview .editor-preview{border-left:0}.editor-textarea{width:100%;min-height:320px;resize:vertical;border:0;outline:none;padding:var(--s-4);font-family:var(--font-mono);font-size:13.5px;line-height:1.75;background:var(--surface);color:var(--ink)}.save-state{display:inline-flex;align-items:center;gap:var(--s-1);font-size:13px;color:var(--ink-muted)}.save-saved{color:var(--success)}.save-saving{color:var(--accent)}.save-error{color:var(--danger)}.search-panel{display:flex;flex-direction:column;gap:var(--s-4)}.search-bar{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.search-input-wrap{flex:1 1 260px}.filters{display:flex;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap}.filters .field-inline{min-width:150px}.filters-reset{margin-left:auto}.results-meta{font-size:12.5px;color:var(--ink-muted);padding-top:var(--s-1);border-top:1px solid var(--line)}.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s-4)}.note-card{display:flex;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.note-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.note-card-main{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);width:100%;color:inherit}.note-card-main:hover{color:inherit}.note-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-2)}.note-card-title{font-size:15px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-card-excerpt{font-size:13px;color:var(--ink-soft);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.note-card-snippet mark{background:#fbe6c8;color:var(--ink-strong);padding:0 2px;border-radius:3px}.note-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:auto;padding-top:var(--s-2);border-top:1px solid var(--line)}.note-card-meta{display:inline-flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end}.note-card-skeleton{flex-direction:column;gap:var(--s-2);padding:var(--s-4);min-height:148px}.sk-line{display:block;height:12px;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--surface-sunken),#ece5d9,var(--surface-sunken));background-size:200% 100%;animation:shimmer 1.4s linear infinite}.sk-title{height:16px;width:60%}.sk-short{width:40%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--s-4)}.pagination-info{font-size:13px;color:var(--ink-muted)}.search-suggestion{font-size:13px;color:var(--warn);text-align:center}.breadcrumb{display:flex;align-items:center;gap:var(--s-2);font-size:12.5px;color:var(--ink-muted)}.detail-head{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5);background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-lg)}.detail-title{font-size:22px;letter-spacing:-.02em}.detail-meta{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;font-size:12.5px}.detail-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:var(--s-5);align-items:start}.detail-main,.detail-side{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.summary-text{font-size:14px;color:var(--ink-soft);line-height:1.75}.bullet-list{display:flex;flex-direction:column;gap:var(--s-2)}.bullet-item{display:flex;align-items:center;gap:var(--s-2)}.bullet-mark{width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none}.inline-input{flex:1;min-width:0;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;padding:4px var(--s-2);font:inherit;color:var(--ink);transition:border-color var(--transition),background var(--transition)}.inline-input:hover:not(:disabled){background:var(--surface-soft)}.inline-input:focus{border-color:var(--accent);background:var(--surface);outline:none}.inline-add{display:flex;gap:var(--s-2)}.asset-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--s-3)}.asset-item{display:flex;flex-direction:column;gap:var(--s-1)}.asset-item img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-sunken)}.asset-name{font-size:11.5px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-url{font-size:12.5px;color:var(--ink-soft);word-break:break-all;padding:var(--s-2);border-radius:var(--r-sm);background:var(--surface-soft);border:1px solid var(--line)}.raw-panel{max-height:420px;overflow-y:auto;padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft);transition:background var(--transition),box-shadow var(--transition)}.raw-panel.is-flash{background:#fdf3e3;box-shadow:0 0 0 3px #9a6a1c26}.plain-text{margin:0;font-family:var(--font-sans);font-size:13.5px;line-height:1.8;color:var(--ink-soft);white-space:pre-wrap;word-break:break-word}.markdown-body{font-size:14.5px;line-height:1.8;color:var(--ink);word-break:break-word}.markdown-body>*+*{margin-top:var(--s-3)}.markdown-body h1{font-size:21px;margin-top:var(--s-5)}.markdown-body h2{font-size:18px;margin-top:var(--s-5)}.markdown-body h3{font-size:16px}.markdown-body h1,.markdown-body h2{padding-bottom:var(--s-1);border-bottom:1px solid var(--line)}.markdown-body ul,.markdown-body ol{padding-left:var(--s-5);list-style:disc}.markdown-body ol{list-style:decimal}.markdown-body li{margin:var(--s-1) 0}.markdown-body blockquote{margin:0;padding:var(--s-2) var(--s-4);border-left:3px solid var(--accent);background:var(--surface-soft);color:var(--ink-soft);border-radius:0 var(--r-sm) var(--r-sm) 0}.markdown-body code{background:var(--surface-sunken);padding:1px 5px;border-radius:4px}.markdown-body pre{background:#2b2823;color:#f2ece2;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);overflow-x:auto}.markdown-body pre code{background:none;padding:0;color:inherit}.markdown-body table{width:100%;border-collapse:collapse;font-size:13.5px}.markdown-body th,.markdown-body td{border:1px solid var(--line);padding:var(--s-2);text-align:left}.markdown-body th{background:var(--surface-soft)}.markdown-body img{max-width:100%;border-radius:var(--r-sm)}.markdown-body a{text-decoration:underline;text-underline-offset:2px}.markdown-body hr{border:0;border-top:1px solid var(--line)}.ask-controls{display:flex;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap}.examples{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--line)}.chip-btn{display:inline-flex;align-items:center;gap:var(--s-1);padding:4px var(--s-3);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);font-size:12.5px;color:var(--ink-soft);cursor:pointer;transition:border-color var(--transition),color var(--transition)}.chip-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.answer-panel{display:flex;flex-direction:column;gap:var(--s-4)}.citations{display:flex;flex-direction:column;gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line)}.citation-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-3)}.citation-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);height:100%;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:inherit;transition:border-color var(--transition),box-shadow var(--transition)}.citation-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);color:inherit}.citation-head{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.citation-index{font-family:var(--font-mono);font-size:12px;color:var(--accent)}.citation-title{font-size:13.5px}.citation-score{margin-left:auto;font-size:11.5px;color:var(--ink-muted)}.citation-quote{margin:0;padding-left:var(--s-3);border-left:2px solid var(--line-strong);font-size:13px;color:var(--ink-soft);line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.citation-foot{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-top:auto;font-size:11.5px;color:var(--ink-muted)}.citation-anchor{background:var(--surface-sunken);padding:1px 5px;border-radius:4px}.citation-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.citation-open{display:inline-flex;align-items:center;gap:3px;margin-left:auto;color:var(--accent)}.tag-cloud{display:flex;flex-wrap:wrap;gap:var(--s-3)}.tag-cloud-item{display:inline-flex;align-items:baseline;gap:var(--s-2);padding:var(--s-2) var(--s-4);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);transition:border-color var(--transition),background var(--transition),color var(--transition)}.tag-cloud-item:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.tag-cloud-name{font-weight:600;line-height:1.2}.tag-cloud-count{font-size:12px;color:var(--ink-muted)}.kb-create{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:var(--s-3);align-items:end;margin-bottom:var(--s-4)}.kb-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:var(--s-4);align-items:start}.kb-list{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-1);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft)}.kb-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--s-2) var(--s-3);border:0;border-radius:var(--r-sm);background:transparent;text-align:left;cursor:pointer;transition:background var(--transition)}.kb-item:hover{background:var(--surface)}.kb-item.is-active{background:var(--surface);box-shadow:var(--shadow-sm)}.kb-item strong{font-size:13.5px}.kb-detail{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.kb-detail-head{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft)}.kb-detail-title{font-size:16px}.kb-detail-desc{font-size:13.5px;color:var(--ink-soft)}.kb-candidates,.kb-note-list{display:flex;flex-direction:column;gap:var(--s-2)}.kb-candidate,.kb-note{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.kb-candidate-main,.kb-note-link{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;color:inherit}.kb-candidate-main p{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-note-link strong{font-size:13.5px}.kb-note-link span{font-size:12px}.status-banner{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--line);margin-bottom:var(--s-4)}.status-banner.is-ok{background:var(--success-soft);border-color:#cfe3d5}.status-banner.is-warn{background:var(--warn-soft);border-color:#edd9ad}.status-banner strong{font-size:14px}.status-banner p{font-size:12.5px;color:var(--ink-soft)}.status-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--warn)}.status-banner.is-ok .status-dot{background:var(--success)}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s-3);margin:0}.kv{padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.kv dt{font-size:11.5px;color:var(--ink-muted);margin-bottom:2px}.kv dd{margin:0;font-size:13.5px;color:var(--ink-strong);word-break:break-word}.metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--s-3)}.metric-card{display:flex;flex-direction:column;gap:2px;padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:linear-gradient(160deg,#ffffff 0%,var(--surface-soft) 100%)}.metric-label{font-size:12px;color:var(--ink-muted)}.metric-value{font-size:24px;font-weight:600;color:var(--ink-strong);letter-spacing:-.02em}.metric-sub{font-size:11.5px;color:var(--ink-muted)}.stats-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-4);margin-top:var(--s-4)}.bar-list{display:flex;flex-direction:column;gap:var(--s-2)}.bar-item{display:grid;grid-template-columns:4.5em 1fr 3em;align-items:center;gap:var(--s-2);font-size:12.5px}.bar-label{color:var(--ink-soft)}.bar-track{height:8px;border-radius:var(--r-pill);background:var(--surface-sunken);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .4s ease}.bar-fill.bar-success{background:var(--success)}.bar-fill.bar-failed{background:var(--danger)}.bar-fill.bar-processing{background:var(--warn)}.bar-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-soft)}.data-actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-4)}.danger-zone{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4);border:1px solid #f0c9c5;border-radius:var(--r-md);background:var(--danger-soft)}.danger-zone .subpanel-title{color:var(--danger)}.task-tray{position:fixed;right:var(--s-5);bottom:var(--s-5);z-index:180;display:flex;flex-direction:column;align-items:flex-end;gap:var(--s-2)}.task-tray-toggle{display:inline-flex;align-items:center;gap:var(--s-2);padding:9px var(--s-4);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-strong);font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-lg);transition:border-color var(--transition),transform var(--transition)}.task-tray-toggle:hover{border-color:var(--accent)}.task-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-pill);font-size:11.5px;color:#fff;background:var(--accent)}.task-count.is-failed{background:var(--danger)}.task-count.is-busy{background:var(--accent)}.task-tray-panel{width:min(360px,calc(100vw - 40px));max-height:min(60vh,520px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-elevated);box-shadow:var(--shadow-lg);overflow:hidden;animation:toast-in .16s ease}.task-tray-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);background:var(--surface-soft)}.task-tray-head h2{font-size:14px}.task-tray-body{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-3) var(--s-4);overflow-y:auto}.task-tray-note{font-size:12.5px;color:var(--ink-muted);line-height:1.6}.task-tray-error{color:var(--danger);padding:var(--s-2) var(--s-4) 0}.task-item{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.task-item-failed{border-color:#f0c9c5;background:var(--danger-soft)}.task-item-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.task-item-title{display:inline-flex;align-items:center;gap:var(--s-2);font-size:12.5px;color:var(--ink-strong);min-width:0}.task-item-progress{font-size:12px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.task-item-message{font-size:12px;color:#7c4a46}.task-item-actions{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.task-item-link,.task-list-link{font-size:12.5px}.task-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 1.4s ease-in-out infinite}.task-list{display:flex;flex-direction:column;gap:var(--s-3)}.task-list-item{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.task-list-head{display:flex;align-items:center;gap:var(--s-2);font-size:12.5px;color:var(--ink-soft)}.task-list-kind{padding:1px var(--s-2);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-strong);font-size:11.5px}.task-list-step{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-list-percent{font-variant-numeric:tabular-nums;color:var(--ink-muted)}.task-list-failure{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3);border:1px solid #f0c9c5;border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font-size:12.5px}.quick-composer{position:relative;padding:var(--s-4) var(--s-4) var(--s-3);background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition)}.quick-composer:focus-within{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.quick-input{width:100%;min-height:84px;padding:0 34px 0 0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:15px;line-height:1.7;resize:vertical}.quick-input:focus{outline:none}.quick-input::placeholder{color:var(--ink-muted)}.quick-expand{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-muted);cursor:pointer;transition:background var(--transition),color var(--transition)}.quick-expand:hover{background:var(--surface-sunken);color:var(--ink)}.quick-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--line)}.quick-tools{display:flex;align-items:center;gap:2px}.quick-tool{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-soft);font:inherit;cursor:pointer;transition:background var(--transition),color var(--transition)}.quick-tool:hover{background:var(--surface-sunken);color:var(--ink-strong)}.quick-tool-text{font-size:14px;font-weight:700}.quick-tool-italic{font-family:Georgia,Times New Roman,serif;font-style:italic}.quick-send{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-soft);color:var(--ink-muted);cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.quick-send:not(:disabled):hover{background:var(--accent);border-color:var(--accent);color:#fff}.quick-send:disabled{opacity:.55;cursor:not-allowed}.quick-error{margin:var(--s-2) 0 0}.section-kicker{margin:0 0 var(--s-3);font-size:13px;color:var(--ink-muted)}.alt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}.alt-card{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.alt-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.alt-card:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b4552d24}.alt-card-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-strong)}.alt-card-text{display:flex;flex-direction:column;gap:1px;min-width:0}.alt-card-text strong{font-size:14.5px;font-weight:600;color:var(--ink-strong)}.alt-card-text small{font-size:12.5px;color:var(--ink-muted)}.collect-active .panel-head{margin-bottom:var(--s-3)}.collect-list{display:flex;flex-direction:column;gap:var(--s-3)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.section-head-left{display:flex;align-items:center;gap:var(--s-3)}.section-head-actions{display:flex;align-items:center;gap:var(--s-1)}.section-title{font-size:16px}.section-count{font-size:13px;color:var(--ink-muted)}.icon-btn.is-active{background:var(--accent-soft);color:var(--accent-strong)}.note-list-stack{display:flex;flex-direction:column;gap:var(--s-4)}.note-list-card{padding:var(--s-4) var(--s-5);background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition)}.note-list-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.note-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3)}.note-list-title{margin:0;font-size:17px;line-height:1.5}.note-list-title a{color:var(--ink-strong);text-decoration:none}.note-list-title a:hover{color:var(--accent-strong)}.note-list-menu{position:relative;flex:0 0 auto}.note-source-line{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;margin:var(--s-3) 0 0;padding:6px var(--s-3);border-radius:var(--r-sm);background:var(--surface-sunken);font-size:12.5px;color:var(--ink-soft)}.note-source-icon{display:inline-grid;place-items:center;flex:0 0 auto}.note-source-icon.source-link{color:var(--accent-strong)}.note-source-icon.source-audio{color:#8a5a2b}.note-source-icon.source-image{color:#4a6f63}.note-source-icon.source-text{color:var(--ink-soft)}.note-source-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-list-body{margin:var(--s-3) 0 0;font-size:14px;line-height:1.75;color:var(--ink-soft)}.note-list-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-4)}.note-list-tags{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px var(--s-3);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-soft);color:var(--ink-soft);font-size:12px;white-space:nowrap}.tag-pill-source.source-link,.tag-pill-source.source-audio,.tag-pill-source.source-image{border-color:#eccfc2;background:var(--accent-soft);color:var(--accent-strong)}.note-list-time{font-size:12.5px;color:var(--ink-muted);white-space:nowrap}.note-list-card-skeleton{display:flex;flex-direction:column;gap:var(--s-3)}.collect-more{margin:0;text-align:center}.badge-demo{background:var(--accent-soft);border-color:#eccfc2;color:var(--accent-strong)}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:150px;padding:var(--s-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.menu-item{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:7px var(--s-3);border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-soft);font:inherit;font-size:13.5px;text-align:left;text-decoration:none;cursor:pointer}.menu-item:hover{background:var(--surface-sunken);color:var(--ink-strong)}.menu-item-danger{color:var(--danger)}.menu-item-danger:hover{background:var(--danger-soft);color:var(--danger)}.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);padding:var(--s-5) var(--s-4);border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-soft);text-align:center;transition:border-color var(--transition),background var(--transition)}.dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone.has-file{padding:var(--s-3)}.dropzone-hint{margin:0;font-size:12.5px;color:var(--ink-muted)}.media-preview{display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-3);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.media-meta{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;font-size:13px}.media-kind-badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--s-2);border-radius:var(--r-pill);font-size:12px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink-soft)}.media-kind-badge.kind-video{border-color:#eccfc2;background:var(--accent-soft);color:var(--accent-strong)}.media-name{font-weight:500;color:var(--ink-strong);max-width:min(320px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-player{width:100%;max-height:320px;border-radius:var(--r-sm);background:#000}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:var(--s-7) var(--s-4) var(--s-4);background:#14120f6b;overflow-y:auto;animation:modal-fade .14s ease}.modal{width:min(680px,100%);background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:modal-rise .16s ease}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding:var(--s-5) var(--s-5) var(--s-3);border-bottom:1px solid var(--line)}.modal-head-text{min-width:0}.modal-title{font-size:17px}.modal-desc{margin:4px 0 0;font-size:13px;color:var(--ink-muted);line-height:1.6}.modal-body{padding:var(--s-5)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1080px){.collect-grid,.detail-grid{grid-template-columns:minmax(0,1fr)}.alt-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.kb-layout,.kb-create{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(280px,82vw);height:100vh;z-index:60;transform:translate(-104%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.nav-open .sidebar{transform:translate(0)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;border:0;background:#14120f52}.nav-toggle{display:inline-grid}.topbar{padding:var(--s-3) var(--s-4)}.main{padding:var(--s-4)}.hero{padding:var(--s-5) var(--s-4)}.hero-title{font-size:21px}.panel{padding:var(--s-4)}.page-title{font-size:23px}.modal-backdrop{padding:var(--s-4) var(--s-3)}.modal-head,.modal-body,.note-list-card{padding:var(--s-4)}.note-list-title{font-size:16px}.alt-cards{grid-template-columns:minmax(0,1fr)}.quick-composer{padding:var(--s-4) var(--s-3) var(--s-3)}.editor-body.mode-split{grid-template-columns:minmax(0,1fr)}.editor-preview{border-left:0;border-top:1px solid var(--line)}.detail-title{font-size:19px}.toast-stack{right:var(--s-3);left:var(--s-3);bottom:var(--s-3);max-width:none}.task-tray{right:var(--s-3);bottom:var(--s-3)}.task-tray-panel{width:min(340px,calc(100vw - 24px))}.note-grid,.citation-list{grid-template-columns:minmax(0,1fr)}.filters{gap:var(--s-3)}.filters .field-inline{min-width:120px;flex:1 1 120px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.auth-splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);padding:var(--s-6) var(--s-4);text-align:center}.auth-splash-title{font-size:14.5px;color:var(--ink-soft)}.auth-splash-error{font-size:15px;color:var(--danger);max-width:44ch}.auth-splash-hint{font-size:13px;color:var(--ink-muted);max-width:46ch}.auth-splash .btn{margin-top:var(--s-2)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--s-7) var(--s-4);background:var(--bg)}.auth-card{width:min(420px,100%);background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:var(--s-6) var(--s-5) var(--s-5)}.auth-brand{display:flex;align-items:center;gap:var(--s-3);padding-bottom:var(--s-4);margin-bottom:var(--s-4);border-bottom:1px solid var(--line)}.auth-brand-text{display:flex;flex-direction:column;gap:2px;line-height:1.32}.auth-title{font-size:17px;color:var(--ink-strong)}.auth-subtitle{font-size:11.5px;color:var(--ink-muted)}.auth-headline{font-size:16px;margin-bottom:var(--s-2)}.auth-note{font-size:13px;color:var(--ink-muted);line-height:1.65;margin-bottom:var(--s-5)}.auth-note.is-strong{color:var(--ink-soft)}.auth-form{display:flex;flex-direction:column;gap:var(--s-4)}.auth-form-error{margin-top:calc(-1 * var(--s-1))}.auth-submit{width:100%;margin-top:var(--s-1)}.auth-switch{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line);font-size:13px;color:var(--ink-soft)}.auth-switch-muted{color:var(--ink-muted);font-size:12.5px;line-height:1.6}.auth-switch .link-btn:disabled{opacity:.5;cursor:not-allowed}.account-panel{display:flex;flex-direction:column;gap:var(--s-5)}.account-section{display:flex;flex-direction:column;gap:var(--s-3)}.account-section+.account-section{padding-top:var(--s-5);border-top:1px solid var(--line)}.account-section-title{font-size:14px;color:var(--ink-soft)}.account-avatar-row{display:flex;align-items:flex-start;gap:var(--s-4)}.account-avatar{display:grid;place-items:center;width:64px;height:64px;flex:none;overflow:hidden;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--accent-soft);color:var(--accent-strong)}.account-avatar img{width:100%;height:100%;object-fit:cover;display:block}.account-avatar-initial{font-size:24px;font-weight:600}.account-avatar-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);min-width:0}.account-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;opacity:0}.account-file-input:focus-visible+.btn{outline:2px solid var(--accent);outline-offset:2px}.account-form{display:flex;flex-direction:column;gap:var(--s-4)}.account-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s-3);margin:0}.account-meta>div{padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-soft)}.account-meta dt{font-size:11.5px;color:var(--ink-muted);margin-bottom:2px}.account-meta dd{margin:0;font-size:13.5px;color:var(--ink-strong);word-break:break-word}.help-panel{display:flex;flex-direction:column;gap:var(--s-5)}.help-section{display:flex;flex-direction:column;gap:var(--s-3)}.help-section+.help-section{padding-top:var(--s-5);border-top:1px solid var(--line)}.help-section-title{font-size:14px;color:var(--ink-soft)}.help-text{font-size:13.5px;color:var(--ink-soft);line-height:1.7}.help-list{display:flex;flex-direction:column;gap:var(--s-3)}.help-list li{display:flex;flex-direction:column;gap:2px;padding-left:var(--s-3);border-left:2px solid var(--accent-soft)}.help-list li strong{font-size:13.5px;color:var(--ink-strong)}.help-list li span{font-size:13px;color:var(--ink-soft);line-height:1.7}.help-list-notes li{border-left-color:var(--line-strong)}.user-menu{position:relative;margin-top:auto;padding-top:var(--s-4);border-top:1px solid var(--line)}.user-menu-trigger{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2);border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.user-menu-trigger:hover,.user-menu-trigger.is-open{background:var(--surface);border-color:var(--line)}.user-menu-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b4552d24}.user-menu-text{display:flex;flex-direction:column;min-width:0;gap:1px}.user-menu-text strong{font-size:14px;font-weight:600;color:var(--ink-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-text small{font-size:12px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar{display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;overflow:hidden;background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--line)}.user-avatar img{width:100%;height:100%;object-fit:cover;display:block}.user-avatar em{font-style:normal;font-weight:600;font-size:.85em}.user-menu-pop{position:absolute;left:0;right:0;bottom:calc(100% + var(--s-2));z-index:40;padding:var(--s-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:user-menu-rise .14s ease}@keyframes user-menu-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.user-menu-head{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);border-bottom:1px solid var(--line);margin-bottom:var(--s-1)}.user-menu-name{font-size:15px;font-weight:600;color:var(--ink-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-list{display:flex;flex-direction:column}.user-menu-item{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:9px var(--s-3);border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-soft);font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:background var(--transition),color var(--transition)}.user-menu-item:hover{background:var(--surface-sunken);color:var(--ink-strong)}.user-menu-item.is-current{background:var(--accent-soft);color:var(--accent-strong)}.user-menu-item:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.user-menu-logout{color:var(--danger)}.user-menu-logout:hover{background:var(--danger-soft);color:var(--danger)}.user-menu-logout:disabled{opacity:.6;cursor:not-allowed}body{overflow-wrap:break-word}.note-list-body,.note-card-excerpt,.note-card-title,.note-list-title,.markdown-body,.bullet-item,.detail-title,.citation-quote,.citation-title,.notice,.notice-list li,.kv dd,.field-help,.field-hint{overflow-wrap:anywhere}.markdown-body table{display:block;max-width:100%;overflow-x:auto}.markdown-body img{max-width:100%;height:auto}.markdown-body a{overflow-wrap:anywhere}.tag-pill,.tag-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}.dropzone-paste{width:100%;max-width:320px;min-height:34px;margin-top:var(--s-1);padding:6px var(--s-3);border:1px dashed var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:12.5px;line-height:1.5;text-align:center;cursor:text;transition:border-color var(--transition),background var(--transition)}.dropzone-paste:empty:before{content:"或在此长按粘贴图片";color:var(--ink-muted)}.dropzone-paste:hover{border-color:var(--accent)}.dropzone-paste:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b4552d1f}.dropzone.is-dragging .dropzone-paste{border-color:var(--accent);background:var(--accent-soft)}.note-list-title a,.note-card-title{display:flex;align-items:flex-start;gap:8px}.note-list-title-text,.note-card-title-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0}.processing-dot{flex:0 0 auto;width:8px;height:8px;margin-top:7px;border-radius:50%;background:#35a86b;animation:processing-breathe 1.5s ease-in-out infinite}@keyframes processing-breathe{0%,to{opacity:.35;transform:scale(.8);box-shadow:0 0 #35a86b73}50%{opacity:1;transform:scale(1);box-shadow:0 0 0 4px #35a86b00}}@media(prefers-reduced-motion:reduce){.processing-dot{animation:none;opacity:1;transform:none}}
