html,body,#root{height:100%;width:100%;overflow:hidden}:root{--bg: #faf6ef;--bg-soft: #fdfaf4;--panel: #fffefa;--paper: #fffefa;--border: #eadfc8;--text: #4a4438;--text-2: #6e675a;--text-dim: #a39a86;--accent: #e8a87c;--accent-deep: #c97b4a;--accent-from: #f0bc8e;--accent-to: #e8a87c;--accent-soft: #fbeedf;--on-accent: #fffaf2;--shadow: rgba(120, 95, 55, .14);--font-display: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif}:root[data-theme=tengzi]{--bg: #f4f1fa;--bg-soft: #f9f7fd;--panel: #fefdff;--paper: #fefdff;--border: #ddd5ec;--text: #453e57;--text-2: #67607f;--text-dim: #a89ebe;--accent: #9d7bce;--accent-deep: #6f4fa3;--accent-from: #b08fd9;--accent-to: #9d7bce;--accent-soft: #e9e0f7;--on-accent: #faf8fd;--shadow: rgba(105, 90, 140, .14)}:root[data-theme=zhuwu]{--bg: #eef4ea;--bg-soft: #f5faf1;--panel: #fdfffa;--paper: #fdfffa;--border: #d5e4cb;--text: #3d4a3a;--text-2: #5e6f59;--text-dim: #98ad92;--accent: #6faf7e;--accent-deep: #4a7f5c;--accent-from: #86c496;--accent-to: #6faf7e;--accent-soft: #e2f0e4;--on-accent: #f5fbf4;--shadow: rgba(90, 120, 90, .14)}:root[data-theme=dailan]{--bg: #ecf1f7;--bg-soft: #f4f8fc;--panel: #fdfeff;--paper: #fdfeff;--border: #d0deeb;--text: #36485c;--text-2: #5a6f84;--text-dim: #97adbf;--accent: #6a9ac9;--accent-deep: #42688f;--accent-from: #82aed6;--accent-to: #6a9ac9;--accent-soft: #e0ebf5;--on-accent: #f4f9fd;--shadow: rgba(90, 115, 140, .14)}:root[data-theme=moye]{--bg: #1a1a2e;--bg-soft: #20203a;--panel: #22223e;--paper: #22223e;--border: #34345a;--text: #e8e8f0;--text-2: #b8b8d0;--text-dim: #7a7a9a;--accent: #7c6ff0;--accent-deep: #a5a0f0;--accent-from: #8f84f5;--accent-to: #7c6ff0;--accent-soft: #2e2e5a;--on-accent: #1a1a2e;--shadow: rgba(0, 0, 0, .3)}:root[data-theme=jianghong]{--bg: #fdf2f2;--bg-soft: #fef6f6;--panel: #fffafa;--paper: #fffafa;--border: #f0d5d5;--text: #5c3a3a;--text-2: #7d5555;--text-dim: #c9a0a0;--accent: #c25e5e;--accent-deep: #8f3a3a;--accent-from: #d47a7a;--accent-to: #c25e5e;--accent-soft: #f9e4e4;--on-accent: #fdf2f2;--shadow: rgba(140, 70, 70, .12)}body{background:var(--bg);color:var(--text)}::selection{background:var(--accent-soft)}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}*::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}*::-webkit-scrollbar-track{background:transparent}input,textarea,[contenteditable=true]{caret-color:var(--accent)}.cursor-trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9999}button{transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease,color .2s ease,border-color .2s ease,filter .15s ease}button:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.04)}button:not(:disabled):active{transform:translateY(0) scale(.98)}.memo-panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 10px 8px;display:flex;flex-direction:column;gap:6px;min-height:0}.memo-panel-title{font-size:12px;font-weight:700;color:var(--text-2);padding:0 2px}.memo-paper{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.memo-row{display:flex;align-items:flex-start;gap:7px}.memo-circle{flex:0 0 auto;width:19px;height:19px;margin-top:3px;border-radius:50%;border:1.5px solid var(--border);background:transparent;color:var(--accent-deep);font-size:12px;line-height:1;cursor:pointer;padding:0}.memo-circle.done{background:var(--accent-soft);border-color:var(--accent)}.memo-circle-new{border:none;color:var(--text-dim);font-size:13px}.memo-text{flex:1;min-width:0;border:none;outline:none;resize:none;overflow:hidden;background:transparent;color:var(--text);font-size:13px;line-height:1.65;font-family:inherit;padding:2px 0}.memo-text::placeholder{color:var(--text-dim)}.memo-text.done{text-decoration:line-through;color:var(--text-dim)}.memo-del{flex:0 0 auto;border:none;background:none;color:var(--text-dim);font-size:15px;line-height:1;cursor:pointer;padding:4px 2px;opacity:1}.sidebar-footer .memo-circle{width:19px;padding:0;background:transparent;border:1.5px solid var(--border)}.sidebar-footer .memo-circle.done{background:var(--accent-soft);border-color:var(--accent)}.sidebar-footer .memo-del{width:auto;padding:4px 2px;background:none;border:none}.age-overlay{position:fixed;inset:0;background:#5a463259;display:flex;align-items:center;justify-content:center;z-index:2000}.age-card{width:520px;max-width:94vw;max-height:88vh;overflow-y:auto;background:var(--panel);border-radius:16px;padding:22px 26px;box-shadow:0 16px 48px #5d4a3440;color:var(--text)}.age-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.age-title{font-size:17px;font-weight:700}.age-close{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;width:30px;height:30px;cursor:pointer;color:var(--text-2);font-size:14px}.age-hint{font-size:12.5px;color:var(--text-dim);margin-bottom:14px;line-height:1.6}.age-empty{font-size:13px;color:var(--text-dim);padding:12px 0}.age-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.age-chip{background:var(--bg-soft);border:1.5px solid var(--border);border-radius:20px;padding:5px 14px;font-size:13px;color:var(--text-2);cursor:pointer}.age-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep);font-weight:700}.age-body{border-top:1px solid var(--border);padding-top:16px}.age-name{font-size:15px;font-weight:700;margin-bottom:8px}.age-big{font-size:34px;font-weight:700;color:var(--accent-deep);margin:6px 0}.age-meta{font-size:12.5px;color:var(--text-dim);line-height:1.7;margin-bottom:12px}.age-note{font-size:13px;color:var(--text-2);line-height:1.7;margin-bottom:12px}.age-actions{display:flex;gap:8px;margin-top:4px}.age-btn{background:var(--panel);border:1px solid var(--border);border-radius:7px;padding:5px 12px;font-size:12.5px;cursor:pointer;color:var(--text-2)}.age-btn-primary{background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--on-accent);border:none;font-weight:700}.age-btn-danger{color:#c0392b}.age-form{display:flex;flex-direction:column;gap:10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-top:4px}.age-field{font-size:12.5px;color:var(--text-2);display:flex;flex-direction:column;gap:6px}.age-field input{width:100%;box-sizing:border-box;background:var(--panel);border:1.5px solid var(--border);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--text);outline:none}.age-check{font-size:12.5px;color:var(--text-2);display:flex;align-items:center;gap:6px;cursor:pointer}.age-search{width:100%;box-sizing:border-box;background:var(--bg-soft);border:1.5px solid var(--border);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--text);outline:none;margin-bottom:12px}.age-fill{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.age-fill-title{font-size:13px;font-weight:700;color:var(--text-2);margin-bottom:8px}.age-fill-row{display:flex;gap:8px}.age-select{flex:1;background:var(--bg-soft);border:1.5px solid var(--border);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--text);outline:none;cursor:pointer}.age-form-name{font-size:13px;font-weight:700;color:var(--text-2)}.age-era-row{display:flex;align-items:center;gap:8px}.age-era-select{background:var(--panel);border:1.5px solid var(--border);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--text);outline:none;cursor:pointer}.age-era-suffix{font-size:13px;color:var(--text-2)}.age-infer{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.age-infer-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.age-infer-row{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.age-infer-name{font-size:14px;font-weight:700}.age-infer-age{font-size:20px;font-weight:700;color:var(--accent-deep);margin-left:8px}.age-infer-basis{font-size:12.5px;color:var(--text-dim);line-height:1.6}.age-infer-note{font-size:12.5px;color:var(--text-2);line-height:1.6}.age-infer-stats{font-size:12.5px;color:var(--text-dim);line-height:1.6;margin-top:12px}.age-infer-error{font-size:13px;color:#c0392b;line-height:1.6;margin-top:8px}.editor-container{position:relative;flex:1;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--paper);transition:box-shadow .25s ease}.editor-container:focus-within{box-shadow:inset 0 0 0 2px var(--accent-soft),inset 0 0 34px var(--accent-soft)}.fx-rip{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid var(--accent);pointer-events:none;z-index:30;transform:translate(-50%,-50%);animation:fx-rip .55s ease-out forwards}.fx-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:30;transform:translate(-50%,-50%);animation:fx-spark .6s ease-out forwards}@keyframes fx-rip{0%{transform:translate(-50%,-50%) scale(.35);opacity:.65}to{transform:translate(-50%,-50%) scale(2.6);opacity:0}}@keyframes fx-spark{0%{transform:translate(-50%,-50%);opacity:.85}to{transform:translate(calc(-50% + var(--dx, 6px)),calc(-50% + var(--dy, -8px)));opacity:0}}.editor-content-area{flex:1;padding:28px 36px;outline:none;overflow-y:auto;font-size:15.5px;line-height:1.85;color:var(--text);font-family:"Noto Serif SC",Songti SC,STSong,SimSun,serif}.editor-content-area p{margin-bottom:12px;text-indent:2em}.editor-content-area:empty:before{content:attr(data-placeholder);color:var(--text-dim);font-style:italic;pointer-events:none;display:block}.selection-ai-floating-popover{position:fixed;z-index:3000;animation:selectionPopAppear .2s cubic-bezier(.16,1,.3,1)}@keyframes selectionPopAppear{0%{transform:translateY(6px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.selection-ai-toolbar{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--accent-to);border-radius:30px;padding:6px 12px;display:flex;align-items:center;gap:6px;box-shadow:0 10px 25px -5px #04785726,0 8px 10px -6px #0000000d}.selection-ai-title{font-size:12px;font-weight:700;color:var(--accent-deep);margin-right:2px}.selection-ai-toolbar button{background:var(--bg-soft);border:1px solid var(--accent-soft);color:var(--accent-deep);padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.selection-ai-toolbar button:hover{background:var(--accent-to);color:var(--accent-deep);border-color:var(--accent-to);transform:translateY(-1px);box-shadow:0 2px 6px #34d39940}.btn-close-popover{background:none!important;border:none!important;color:var(--text-dim)!important;font-size:16px!important;padding:0 4px!important;cursor:pointer;margin-left:4px;box-shadow:none!important}.btn-close-popover:hover{color:#ef4444!important}.selection-ask-ai-drawer{margin-top:6px;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--accent-to);border-radius:16px;box-shadow:0 12px 28px -6px #0478572e,0 4px 10px -2px #0000000a;animation:askDrawerSlide .2s cubic-bezier(.16,1,.3,1)}@keyframes askDrawerSlide{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ask-ai-input-wrap{display:flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--accent-soft);border-radius:10px;padding:4px 6px 4px 10px;transition:all .2s ease}.ask-ai-input-wrap:focus-within{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px #10b98126}.ask-sparkle-icon{font-size:13px;color:var(--accent-deep)}.ask-ai-input-wrap input{flex:1;border:none;outline:none;font-size:12.5px;color:var(--text);background:transparent}.btn-ask-submit{display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:var(--panel);border:none;border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-ask-submit:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-deep),var(--accent-deep));transform:translateY(-1px)}.btn-ask-submit:disabled{background:var(--border);cursor:not-allowed;transform:none}.ask-ai-quick-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.chips-label{font-size:10.5px;font-weight:700;color:var(--accent-deep);margin-right:2px}.ask-ai-quick-chips button{background:var(--bg-soft);border:1px solid var(--accent-soft);color:var(--accent-deep);padding:3px 8px;border-radius:12px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.ask-ai-quick-chips button:hover{background:var(--accent-to);color:var(--accent-deep);border-color:var(--accent-to);transform:translateY(-1px)}.selection-ai-loading{background:var(--panel);border:1px solid var(--accent-to);border-radius:12px;padding:10px 16px;font-size:12.5px;color:var(--accent-deep);font-weight:700;box-shadow:0 8px 20px #00000014;display:flex;align-items:center;gap:8px}.selection-ai-loading .spinner{animation:rotateSpinner 1.2s infinite linear;display:inline-block}@keyframes rotateSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.selection-ai-result-card{width:380px;max-width:90vw;background:var(--panel);border:1px solid var(--accent-to);border-radius:16px;padding:14px;box-shadow:0 12px 30px #04785726;display:flex;flex-direction:column;gap:10px}.result-card-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--accent-deep)}.result-card-body{max-height:200px;overflow-y:auto;background:var(--bg-soft);border:1px solid var(--accent-soft);border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-all}.result-card-actions{display:flex;gap:6px;justify-content:flex-end}.result-card-actions button{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease}.btn-replace{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;border:none}.btn-replace:hover{background:linear-gradient(135deg,var(--accent-deep),var(--accent-deep))}.btn-append{background:var(--bg-soft);border:1px solid var(--accent-to);color:var(--accent-deep)}.btn-append:hover{background:var(--accent-soft)}.btn-cancel{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim)}.btn-cancel:hover{background:var(--border)}.ai-replaced-highlight{background:var(--accent-soft);color:var(--accent-deep);border-bottom:2px solid var(--accent);padding:2px 4px;border-radius:4px;animation:fadeHighlight 2.5s forwards}.ai-inserted-highlight{background:#fef3c7;color:#92400e;border-bottom:2px solid #f59e0b;padding:2px 4px;border-radius:4px;animation:fadeHighlight 2.5s forwards}@keyframes fadeHighlight{0%{opacity:1}70%{opacity:1}to{background:transparent;color:inherit;border-bottom:none}}.import-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:110}.import-container{width:650px;max-height:80vh;background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;position:relative}.import-container h3{font-size:18px;margin-bottom:8px}.import-container .hint{color:var(--text-dim);font-size:13px;margin-bottom:16px}.import-input{flex:1;min-height:250px;padding:16px;border:1px solid var(--border);border-radius:10px;font-size:14px;resize:none}.error-msg{color:#dc2626;font-size:13px;margin-top:8px}.import-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.char-count{color:var(--text-dim);font-size:12px}.btn-analyze,.btn-import{padding:12px 24px;border-radius:10px;border:none;font-weight:500;cursor:pointer;background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--accent-deep)}.btn-analyze:disabled{background:var(--border);color:var(--text-dim)}.btn-back{padding:12px 24px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer}.extract-header{display:flex;justify-content:space-between;margin-bottom:12px;font-size:14px}.extract-header button{background:var(--bg-soft);border:none;padding:6px 12px;border-radius:6px;cursor:pointer}.extract-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;max-height:350px}.extract-item{display:flex;gap:12px;padding:12px;background:var(--bg-soft);border-radius:10px;cursor:pointer;border:2px solid transparent}.extract-item.selected{border-color:var(--accent-to);background:var(--bg-soft)}.extract-item input{width:18px;height:18px;accent-color:var(--accent)}.extract-info{flex:1}.extract-meta{display:flex;gap:8px;align-items:center;margin-bottom:4px}.extract-title{font-weight:500}.extract-keywords{font-size:11px;color:var(--text-dim);margin-bottom:4px}.extract-preview{font-size:12px;color:var(--text-dim)}.long-import-modal{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.long-import-container{width:760px;max-height:85vh;background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;position:relative;box-shadow:0 20px 60px #0003;overflow:hidden;border:1px solid var(--accent-soft)}.long-import-container h3{font-size:18px;color:var(--accent-deep);font-weight:700;margin-bottom:4px}.file-select{display:flex;align-items:center;gap:10px}.file-btn{padding:8px 16px;background:var(--bg-soft);border:1px solid var(--accent-to);border-radius:8px;font-size:13px;color:var(--accent-deep);cursor:pointer;display:inline-block;font-weight:700;transition:all .2s}.file-btn:hover{background:var(--accent-soft)}.long-input{width:100%;height:260px;padding:14px;border:1px solid var(--accent-soft);border-radius:12px;font-size:14px;line-height:1.6;resize:none;outline:none;background:var(--bg-soft);color:var(--text)}.long-input:focus{border-color:var(--accent-to);box-shadow:0 0 0 3px #34d39926}.error-msg{color:#dc2626;font-size:13px;margin:0}.long-footer{display:flex;justify-content:flex-end;align-items:center;font-size:13px;color:var(--accent-deep)}.btn-analyze{padding:10px 24px;background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--accent-deep);border:none;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;transition:transform .1s;box-shadow:0 2px 6px #34d39933}.btn-analyze:active{transform:scale(.98)}.result-list{flex:1;overflow-y:auto;max-height:380px;display:flex;flex-direction:column;gap:10px;padding-right:4px}.result-item{padding:12px 16px;background:var(--bg-soft);border:1px solid var(--accent-soft);border-radius:10px;display:flex;flex-direction:column;gap:4px}.result-item strong{font-size:14px;color:var(--accent-deep)}.result-item p{font-size:13px;color:var(--text-2);line-height:1.5;margin:0}.long-import-container .btn-import{padding:12px;background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--accent-deep);border:none;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;width:100%;margin-top:8px}.long-import-container .btn-close{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--text-dim)}.long-import-container .btn-close:hover{color:var(--text)}.knowledge-modal{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.knowledge-container{width:960px;height:600px;background:#fff;border-radius:16px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0003}.knowledge-sidebar{width:320px;background:var(--bg-soft);border-right:1px solid var(--border);display:flex;flex-direction:column}.knowledge-header{padding:12px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--border);align-items:stretch}.knowledge-header h3{font-size:15px;color:#0f766e;font-weight:700}.header-actions{display:flex;flex-wrap:wrap;gap:6px}.btn-import,.btn-new,.btn-export{padding:6px 10px;border-radius:8px;font-size:12px;cursor:pointer;border:none;white-space:nowrap}.btn-export{background:var(--bg-soft);color:var(--text-2);border:1px solid var(--border)}.btn-export:hover{background:var(--border)}.btn-import{background:var(--border);color:var(--text-2)}.btn-new{background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--accent-deep)}.category-filter{padding:8px;display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border)}.category-filter button{background:transparent;border:1px solid var(--border);padding:4px 8px;border-radius:6px;font-size:12px;cursor:pointer}.category-filter button.active{background:var(--accent-soft);border-color:var(--accent-to);color:var(--accent-deep)}.knowledge-list{flex:1;overflow-y:auto;list-style:none;padding:8px}.knowledge-list li{padding:12px;cursor:pointer;border-radius:8px;display:flex;flex-direction:column;gap:4px}.knowledge-list li:hover{background:var(--bg-soft)}.knowledge-list li.active{background:var(--accent-soft)}.knowledge-list li.empty{color:var(--text-dim);text-align:center}.entry-category{font-size:11px;color:var(--accent-deep)}.entry-title{font-size:14px}.knowledge-detail{flex:1;display:flex;flex-direction:column;padding:20px;min-height:0}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.detail-header h4{font-size:18px}.detail-actions{display:flex;gap:8px}.detail-actions button{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer}.detail-actions .btn-save{background:linear-gradient(135deg,var(--accent-from),var(--accent-to));border:none;color:var(--accent-deep)}.detail-actions .btn-delete{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.detail-form{flex:1;display:flex;flex-direction:column;gap:16px}.detail-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-dim)}.detail-form input,.detail-form select,.detail-form textarea{padding:10px;border:1px solid var(--border);border-radius:8px;font-size:14px}.detail-form textarea{flex:1;min-height:150px;resize:none}.detail-content{flex:1;overflow-y:auto}.detail-content .meta{display:flex;gap:12px;margin-bottom:16px}.category-tag{background:var(--accent-soft);color:var(--accent-deep);padding:4px 10px;border-radius:6px;font-size:12px}.keywords{color:var(--text-dim);font-size:12px}.content-text{white-space:pre-wrap;line-height:1.8}.detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.btn-close{position:absolute;top:12px;right:12px;background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--text-dim)}.btn-close:hover{color:var(--text)}.markdown-body strong{color:#0369a1;font-weight:700;background:#0ea5e914;padding:1px 4px;border-radius:4px}.markdown-body h2.md-h2{font-size:15px;color:#0284c7;margin:14px 0 8px;font-weight:700;border-bottom:1px solid #bae6fd;padding-bottom:4px}.markdown-body h3.md-h3{font-size:13.5px;color:#0369a1;margin:12px 0 6px;font-weight:700}.mac-window-container{position:fixed;inset:0;pointer-events:none;z-index:900}.mac-window.plot-discussion-window{position:fixed;bottom:24px;left:280px;width:520px;height:480px;background:var(--panel);border-radius:12px;box-shadow:0 16px 40px #0000002e,0 0 0 1px #00000014;display:flex!important;flex-direction:column!important;overflow:hidden;pointer-events:auto;animation:macWindowPop .25s cubic-bezier(.16,1,.3,1)}@keyframes macWindowPop{0%{transform:scale(.95) translateY(12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.mac-window-header{padding:10px 14px;background:var(--bg-soft);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.mac-traffic-lights{display:flex;align-items:center;gap:6px}.mac-light{width:12px;height:12px;border-radius:50%;display:inline-block;cursor:pointer}.mac-light.close{background:#ff5f56;border:1px solid #e0443e}.mac-light.minimize{background:#ffbd2e;border:1px solid #dea123}.mac-light.maximize{background:#27c93f;border:1px solid #1aab29}.mac-window-title{font-size:12px;font-weight:700;color:var(--text-2)}.btn-clear-plot{background:#fff;border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:11px;color:var(--accent-deep);cursor:pointer}.plot-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--bg-soft)}.plot-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--accent-deep);padding:16px}.plot-msg{display:flex;flex-direction:column;gap:4px;max-width:90%}.plot-msg.user{align-self:flex-end}.plot-msg.assistant{align-self:flex-start}.plot-msg-role{font-size:10px;color:var(--text-dim);font-weight:700}.plot-msg.user .plot-msg-role{text-align:right;color:var(--accent-deep)}.plot-msg-body{padding:10px 14px;border-radius:16px;font-size:12.5px;line-height:1.7;box-shadow:0 2px 12px #00000014;animation:bubbleIn .25s ease-out}.plot-msg.user .plot-msg-body{background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #6366f140}.plot-msg.assistant .plot-msg-body{background:#fff;border:1px solid #f3f4f6;border-bottom-left-radius:4px;color:var(--text)}.plot-msg.assistant .plot-msg-body:after{content:"";display:inline-block;width:2px;height:14px;background:var(--accent-to, #6366f1);vertical-align:-2px;margin-left:2px;animation:caretBlink 1s infinite;opacity:0}.plot-msg.assistant.typing .plot-msg-body:after{opacity:1}@keyframes caretBlink{0%,50%{opacity:1}51%,to{opacity:0}}.plot-msg-actions{display:flex;gap:6px;margin-top:2px}.plot-msg-actions button{background:#fff;border:1px solid var(--accent-soft);border-radius:6px;padding:2px 6px;font-size:10px;color:var(--accent-deep);cursor:pointer}.plot-msg-actions button:hover{background:var(--bg-soft)}.plot-input-area{padding:10px;border-top:1px solid var(--accent-soft);display:flex;gap:8px;background:#fff}.plot-input-area textarea{flex:1;height:52px;border:1px solid var(--accent-soft);border-radius:8px;padding:8px;font-size:12px;resize:none;outline:none}.plot-input-area textarea:focus{border-color:var(--accent-to)}.plot-input-area button{padding:0 16px;background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--accent-deep);border:none;border-radius:8px;font-weight:700;font-size:12px;cursor:pointer}.mac-window.plot-directions-window{position:fixed;bottom:24px;left:280px;width:580px;height:480px;background:var(--panel);border-radius:12px;box-shadow:0 16px 40px #0000002e,0 0 0 1px #00000014;display:flex!important;flex-direction:column!important;overflow:hidden;pointer-events:auto;animation:macWindowPop .25s cubic-bezier(.16,1,.3,1)}.plot-directions-body{flex:1;display:grid;grid-template-columns:200px 1fr;min-height:0}.plot-directions-controls{background:var(--bg-soft);border-right:1px solid var(--accent-soft);padding:12px;display:flex;flex-direction:column;gap:10px}.control-group{display:flex;flex-direction:column;gap:4px;flex:1}.control-group label{font-size:11px;font-weight:700;color:var(--accent-deep)}.control-group textarea{flex:1;width:100%;border:1px solid var(--accent-soft);border-radius:8px;padding:8px;font-size:11px;resize:none;outline:none;background:#fff}.control-group textarea:focus{border-color:var(--accent-to)}.btn-run-directions{padding:8px;background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--accent-deep);font-weight:700;font-size:12px;border:none;border-radius:8px;cursor:pointer;transition:transform .1s}.btn-run-directions:active{transform:scale(.98)}.btn-run-directions:disabled{background:var(--border);color:var(--text-dim);cursor:not-allowed}.plot-directions-output{padding:12px;display:flex;flex-direction:column;gap:10px;min-height:0;background:var(--panel)}.directions-result-viewport{flex:1;border:1px solid var(--accent-soft);border-radius:8px;background:var(--bg-soft);padding:12px;overflow-y:auto;box-shadow:inset 0 2px 6px #00000005}.directions-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--accent-deep)}.directions-actions-row{display:flex;gap:8px;justify-content:flex-end}.directions-actions-row button{padding:6px 12px;border-radius:6px;border:1px solid var(--accent-soft);background:#fff;color:var(--accent-deep);font-size:11px;font-weight:700;cursor:pointer}.directions-actions-row button:hover{background:var(--bg-soft)}.directions-actions-row button:disabled{background:var(--bg-soft);color:var(--border);border-color:var(--border);cursor:not-allowed}.foreshadowing-modal{width:760px;max-width:92vw;height:560px;background:var(--panel);border-radius:20px;border:1px solid var(--accent-soft);box-shadow:0 12px 30px #0478571f;display:flex;flex-direction:column;overflow:hidden}.foreshadowing-header{padding:16px 24px;background:linear-gradient(135deg,var(--bg-soft) 0%,var(--bg-soft) 100%);border-bottom:1px solid var(--accent-soft);display:flex;justify-content:space-between;align-items:center}.foreshadowing-header h3{font-size:16px;color:var(--accent-deep);font-weight:700}.foreshadowing-body{flex:1;padding:20px;display:flex;flex-direction:column;gap:14px;min-height:0;overflow:hidden}.foreshadowing-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:8px}.foreshadowing-tabs button{padding:6px 14px;border-radius:8px;border:none;background:var(--bg-soft);color:var(--text-2);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.foreshadowing-tabs button.active{background:var(--bg-soft);color:var(--accent-deep);box-shadow:0 0 0 1px var(--accent-to)}.tab-content{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0}.board-toolbar{display:flex;justify-content:space-between;align-items:center}.status-filters{display:flex;gap:6px}.status-filters button{padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:#fff;font-size:12px;cursor:pointer;color:var(--text-dim)}.status-filters button.active{background:var(--bg-soft);border-color:var(--accent-to);color:var(--accent-deep);font-weight:700}.btn-new-foreshadowing{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;border:none;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.foreshadowing-list-container{flex:1;overflow-y:auto;padding-right:4px}.empty-foreshadowing{text-align:center;color:var(--text-dim);margin-top:60px;font-size:13px}.empty-foreshadowing span{font-size:32px;display:block;margin-bottom:8px}.foreshadowing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.foreshadowing-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;transition:all .2s}.foreshadowing-card:hover{border-color:var(--accent-soft);box-shadow:0 4px 12px #0000000a}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:11px}.badge-type{padding:2px 6px;border-radius:4px;font-weight:700}.badge-type.main{background:#fee2e2;color:#991b1b}.badge-type.sub{background:#e0f2fe;color:#0369a1}.badge-type.character{background:#f3e8ff;color:#6b21a8}.badge-type.item{background:#fef3c7;color:#b45309}.badge-status{font-size:11px;font-weight:700}.card-title{font-size:14px;color:var(--text);font-weight:700}.card-content{font-size:12px;color:var(--text-2);line-height:1.5;max-height:60px;overflow-y:auto;white-space:pre-wrap}.card-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:auto;padding-top:6px;border-top:1px dashed var(--bg-soft)}.card-actions button{background:none;border:none;font-size:11px;color:var(--accent-deep);cursor:pointer}.card-actions button:hover{color:var(--accent-deep)}.btn-mark-resolved{color:var(--accent)!important;font-weight:700}.scan-control-box{display:flex;flex-direction:column;gap:10px}.btn-run-scan{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;font-weight:700;padding:10px;border-radius:10px;border:none;cursor:pointer}.scan-log-view{background:var(--bg-soft);border:1px solid var(--accent-soft);border-radius:10px;padding:10px;font-size:12px;line-height:1.5;max-height:100px;overflow-y:auto}.candidates-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.candidates-title{font-size:13px;color:var(--accent-deep)}.candidate-card{background:var(--panel);border:1px solid var(--accent-to);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.candidate-header{display:flex;align-items:center;gap:8px;font-size:13px}.candidate-desc{font-size:12px;color:var(--text-2);line-height:1.5}.candidate-quote{font-size:11px;color:var(--text-dim);font-style:italic;background:var(--bg-soft);padding:6px;border-radius:6px}.candidate-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.btn-approve{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;border:none;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer}.btn-discard{background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);padding:5px 10px;border-radius:6px;font-size:12px;cursor:pointer}.relation-modal{width:780px;max-width:92vw;height:600px;background:var(--panel);border-radius:20px;border:1px solid var(--accent-soft);box-shadow:0 12px 30px #0478571f;display:flex;flex-direction:column;overflow:hidden}.relation-header{padding:16px 24px;background:linear-gradient(135deg,var(--bg-soft) 0%,var(--bg-soft) 100%);border-bottom:1px solid var(--accent-soft);display:flex;justify-content:space-between;align-items:center}.relation-header h3{font-size:16px;color:var(--accent-deep);font-weight:700}.relation-body{flex:1;padding:20px;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden}.relation-top-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--bg-soft);border:1px solid var(--accent-soft);border-radius:12px;padding:10px 14px}.focus-select-box{display:flex;align-items:center;gap:6px}.focus-label{font-size:12px;color:var(--accent-deep);font-weight:700}.focus-select{padding:5px 10px;border-radius:8px;border:1px solid var(--accent-to);font-size:13px;font-weight:700;color:var(--accent-deep);outline:none;background:#fff}.top-btn-group{display:flex;gap:8px}.btn-ai-extract{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;border:none;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.btn-add-relation{background:var(--panel);border:1px solid var(--accent-to);color:var(--accent-deep);padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.ai-report-banner{background:var(--bg-soft);border:1px solid var(--accent-soft);color:var(--accent-deep);padding:8px 12px;border-radius:8px;font-size:12px;font-weight:700}.focus-character-hero{display:flex;align-items:center;gap:12px;padding:10px 16px;background:linear-gradient(135deg,var(--bg-soft),var(--bg-soft));border-radius:14px;border:1.5px solid var(--accent-soft)}.avatar-circle{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 6px #10b98133}.hero-info h2{font-size:16px;color:var(--accent-deep);font-weight:700}.hero-info p{font-size:11px;color:var(--accent-deep)}.relation-groups-viewport{flex:1;overflow-y:auto;min-height:0;padding-right:4px}.empty-relations{text-align:center;color:var(--text-dim);margin-top:60px}.empty-relations span{font-size:36px;display:block;margin-bottom:8px}.relation-categories-grid{display:flex;flex-direction:column;gap:14px}.category-block{border-radius:12px;padding:10px 14px;border:1px solid var(--border)}.category-block.enemy-block{background:#fff5f5;border-color:#fca5a5}.category-block.romance-block{background:#fff0f6;border-color:#fbcfe8}.category-block.mentor-block{background:#f0f9ff;border-color:#bae6fd}.category-block.ally-block{background:var(--bg-soft);border-color:var(--accent-soft)}.category-block.faction-block{background:#fefce8;border-color:#fef08a}.block-title{font-size:13px;font-weight:700;margin-bottom:8px}.enemy-block .block-title{color:#991b1b}.romance-block .block-title{color:#9d174d}.mentor-block .block-title{color:#0369a1}.ally-block .block-title{color:var(--accent-deep)}.faction-block .block-title{color:#854d0e}.cards-wrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.rel-card{background:#fff;border-radius:10px;padding:10px 12px;border:1px solid var(--border);cursor:pointer;position:relative;transition:all .15s ease}.rel-card:hover{transform:translateY(-1.5px);box-shadow:0 4px 12px #0000000f}.rel-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.label-badge-group{display:flex;gap:4px;flex-wrap:wrap}.rel-label{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;white-space:nowrap}.rel-card.enemy .rel-label{background:#fee2e2;color:#991b1b}.rel-card.romance .rel-label{background:#fce7f3;color:#9d174d}.rel-card.mentor .rel-label{background:#e0f2fe;color:#0369a1}.rel-card.ally .rel-label{background:var(--accent-soft);color:var(--accent-deep)}.rel-card.faction .rel-label{background:#fef3c7;color:#854d0e}.rel-card strong{font-size:13.5px;color:var(--text);white-space:nowrap}.rel-desc-list{display:flex;flex-direction:column;gap:3px;margin-top:6px;border-top:1px dashed rgba(0,0,0,.05);padding-top:5px}.rel-desc{font-size:11px;color:var(--text-dim);line-height:1.45;margin:0!important;text-indent:0!important}.btn-del-rel{position:absolute;top:4px;right:4px;background:none;border:none;color:var(--border);cursor:pointer;font-size:14px;display:none}.rel-card:hover .btn-del-rel{display:block}.btn-del-rel:hover{color:#ef4444}.inner-form-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:10}.inner-form-card{background:#fff;border-radius:14px;width:400px;padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 25px #0000001a}.inner-form-card label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2);font-weight:700}.inner-form-card input,.inner-form-card select,.inner-form-card textarea{padding:8px;border-radius:6px;border:1px solid var(--accent-soft);outline:none;font-size:12px}.inner-form-card textarea{height:70px;resize:none}.inner-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.inner-form-actions button{padding:6px 14px;border-radius:6px;border:none;cursor:pointer;font-size:12px}.inner-form-actions .btn-save{background:var(--accent);color:#fff;font-weight:700}.interview-modal{position:fixed;top:0;left:0;width:0;height:0;z-index:999;color:var(--text-2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.interview-container{position:fixed;width:850px;height:550px;background:var(--panel);border:1px solid var(--border);box-shadow:0 10px 30px #0000001f;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.interview-drag-handle{padding:10px 16px;background:var(--bg-soft);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;cursor:move;-webkit-user-select:none;user-select:none;height:40px}.interview-drag-handle span{font-size:13px;font-weight:700;color:#0f172a}.btn-close-container{background:var(--bg-soft);border:none;font-size:16px;color:var(--text-dim);width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-close-container:hover{background:#fee2e2;color:#ef4444}.interview-main-content{display:flex;flex:1;overflow:hidden;background:var(--panel)}.interview-sidebar{width:250px;background:var(--bg-soft);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:16px;min-width:250px}.sidebar-section{display:flex;flex-direction:column;gap:8px}.interview-sidebar h4{margin:0;font-size:13px;color:var(--text);font-weight:600;border-bottom:2px solid var(--border);padding-bottom:6px}.sidebar-hint{font-size:11px;color:var(--text-dim);margin:0}.predictor-select{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;background-color:var(--panel);color:var(--text-2);outline:none;font-size:12px}.predictor-char-brief{background:var(--bg-soft);border-radius:6px;padding:8px 12px;font-size:11px;color:var(--text-2);line-height:1.5}.predictor-char-brief strong{color:var(--text)}.record-list{list-style:none;padding:0;margin:6px 0 0;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:6px}.record-list li{position:relative;background:var(--panel);border:1px solid var(--border);padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:2px}.record-list li:hover{background:var(--bg-soft);border-color:var(--border)}.record-list li.active{background:var(--bg-soft);border-color:#86efac}.record-meta{display:flex;justify-content:space-between;align-items:center}.record-name{font-size:11px;font-weight:600;color:var(--text)}.record-time{font-size:10px;color:var(--text-dim)}.record-desc{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:16px}.btn-del-record{position:absolute;top:8px;right:8px;background:transparent;border:none;font-size:14px;color:var(--text-dim);cursor:pointer;padding:0;line-height:1}.btn-del-record:hover{color:#ef4444}.interview-body{flex:1;display:flex;flex-direction:column;background:var(--panel);overflow:hidden}.predictor-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;background:#fafafb}.predictor-icon{font-size:48px;color:var(--border);margin-bottom:12px}.predictor-empty h3{font-size:18px;color:var(--text);margin:0 0 8px}.predictor-empty p{font-size:12px;color:var(--text-dim);margin:4px 0}.predictor-main{flex:1;display:flex;flex-direction:column;padding:20px;overflow:hidden;gap:12px}.predictor-inputs{display:flex;flex-direction:column;gap:10px;background:var(--bg-soft);border:1px solid var(--border);padding:12px;border-radius:8px}.predictor-input-row{display:flex;flex-direction:column;gap:4px}.predictor-input-row label{font-size:12px;color:var(--text)}.label-tip{font-size:10px;color:var(--text-dim);margin-left:6px}.predictor-input-row textarea{width:100%;height:60px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-2);font-size:12px;outline:none;resize:none;line-height:1.5}.predictor-input-row textarea:focus{border-color:var(--accent-to)}.predictor-input-row input[type=text]{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text-2);font-size:12px;outline:none}.predictor-input-row input[type=text]:focus{border-color:var(--accent-to)}.btn-run-predict{background:var(--accent);border:none;border-radius:6px;color:var(--panel);font-weight:600;font-size:12px;padding:8px;cursor:pointer;transition:background .2s}.btn-run-predict:hover:not(:disabled){background:var(--accent-deep)}.btn-run-predict:disabled{background:var(--text-dim);cursor:not-allowed}.predictor-results{flex:1;border:1px solid var(--border);border-radius:8px;background:var(--panel);overflow-y:auto;padding:16px}.predictor-result-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-dim);font-size:12px;text-align:center;line-height:1.6}.result-card{display:flex;flex-direction:column;gap:10px}.result-card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--border);padding-bottom:8px}.result-card-header h5{margin:0;font-size:13px;color:var(--text);font-weight:700}.btn-use-result{background:var(--bg-soft);border:1px solid #86efac;color:#166534;font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;cursor:pointer;transition:all .2s}.result-card-body{font-size:12px;color:var(--text-2);line-height:1.6}.search-assistant-floating-window{position:fixed;width:400px;height:580px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 25px #00000014;z-index:1000;display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-2)}.search-header-bar{padding:12px 16px;background:var(--bg-soft);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;cursor:move;-webkit-user-select:none;user-select:none}.search-title{font-size:12px;font-weight:700;color:#0f172a}.header-window-btns{display:flex;align-items:center;gap:8px}.btn-clear-history{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-size:11px;padding:2px 8px;border-radius:4px;cursor:pointer;transition:all .2s}.btn-clear-history:hover{background:#fee2e2;border-color:#fca5a5;color:#ef4444}.btn-close-window{background:var(--bg-soft);border:none;font-size:16px;color:var(--text-dim);width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-close-window:hover{background:#fee2e2;color:#ef4444}.search-source-selector{padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--bg-soft);display:flex;gap:12px}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-2);cursor:pointer}.checkbox-label input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent)}.search-messages-area{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;background:#fafafb}.search-placeholder{margin:auto;text-align:center;font-size:12px;color:var(--text-dim);line-height:1.8;max-width:280px}.search-placeholder em{color:var(--accent);font-style:normal}.search-msg-bubble{display:flex;flex-direction:column;max-width:95%;animation:bubbleSlide .2s ease-out}@keyframes bubbleSlide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.search-msg-bubble.user{align-self:flex-end}.search-msg-bubble.assistant{align-self:flex-start;width:100%}.bubble-sender{font-size:10px;color:var(--text-dim);margin-bottom:4px;font-weight:700}.search-msg-bubble.user .bubble-sender{text-align:right;color:var(--accent)}.bubble-text{padding:10px 14px;font-size:13px;line-height:1.7;border-radius:16px;box-shadow:0 2px 12px #00000014;animation:bubbleIn .25s ease-out}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.search-msg-bubble.user .bubble-text{background:linear-gradient(135deg,#10b981,#06b6d4);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #10b98140}.search-msg-bubble.assistant .bubble-text{background:#fff;color:var(--text-2);border-bottom-left-radius:4px;border:1px solid #f3f4f6;box-shadow:0 2px 12px #0000000f}.bubble-options{display:flex;margin-top:6px}.bubble-options button{background:var(--bg-soft);border:1px solid #86efac;color:#166534;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;cursor:pointer;transition:all .2s}.bubble-options button:hover{background:var(--accent);color:var(--panel)}.search-msg-bubble.loading{font-size:12px;color:var(--text-dim);align-self:flex-start}.search-input-bar{padding:12px;background:var(--panel);border-top:1px solid var(--border);display:flex;gap:8px}.search-input-bar input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:12px;outline:none;background:var(--bg-soft)}.search-input-bar input:focus{border-color:var(--accent);background:var(--panel)}.search-input-bar button{background:var(--accent);border:none;color:var(--panel);font-weight:700;font-size:12px;padding:0 16px;border-radius:6px;cursor:pointer;transition:background .2s}.search-input-bar button:hover:not(:disabled){background:var(--accent-deep)}.modal-overlay.oc-modeless{pointer-events:none;background:transparent}.modal-overlay.oc-modeless .outline-chapter-modal{pointer-events:auto}.outline-chapter-modal{background:var(--bg, #fff);color:var(--text, #1f2937);border-radius:16px;width:880px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 48px #00000040}.oc-header{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--border, #e5e7eb);flex-shrink:0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.oc-header.oc-dragging{cursor:grabbing}.oc-title{font-size:16px;font-weight:700}.oc-tabs{display:flex;gap:6px;margin-left:8px}.oc-tab{background:var(--bg-soft, #f3f4f6);border:1px solid var(--border, #e5e7eb);color:var(--text-2, #4b5563);border-radius:8px;padding:6px 16px;font-size:13px;cursor:pointer}.oc-tab.active{background:var(--accent, #10b981);border-color:var(--accent, #10b981);color:#fff;font-weight:700}.oc-close{margin-left:auto;background:none;border:none;font-size:22px;line-height:1;color:var(--text-dim, #9ca3af);cursor:pointer;padding:4px 8px}.oc-body{overflow-y:auto;padding:18px}.oc-panel{display:flex;flex-direction:column;gap:12px}.oc-desc,.oc-context-summary{margin:0;font-size:13px;line-height:1.6;color:var(--text-2, #4b5563)}.oc-context-summary{background:var(--bg-soft, #f3f4f6);border-radius:8px;padding:8px 12px}.oc-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.oc-field input,.oc-field textarea{font-size:14px;font-weight:400;color:var(--text, #1f2937);background:var(--bg, #fff);border:1px solid var(--border, #d1d5db);border-radius:8px;padding:8px 10px;width:100%;box-sizing:border-box}.oc-field textarea{resize:vertical;line-height:1.6}.oc-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.oc-field-inline{flex:1;min-width:180px}.oc-actions{margin-top:2px}.oc-btn{background:var(--bg-soft, #f3f4f6);border:1px solid var(--border, #d1d5db);color:var(--text-2, #374151);border-radius:8px;padding:8px 16px;font-size:13px;cursor:pointer}.oc-btn:disabled{opacity:.5;cursor:not-allowed}.oc-btn-primary{background:var(--accent, #10b981);border-color:var(--accent, #10b981);color:#fff;font-weight:700}.oc-btn-quiet{background:transparent;border-color:transparent;color:var(--text-dim, #9ca3af)}.oc-btn-small{padding:4px 10px;font-size:12px}.oc-error{margin:0;font-size:13px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px}.oc-note{margin:0;font-size:13px;line-height:1.6;color:var(--text-2, #4b5563);background:var(--bg-soft, #f3f4f6);border-radius:8px;padding:8px 12px}.oc-draft-wrap{display:flex;flex-direction:column;gap:6px}.oc-draft-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:600}.oc-draft-hint{font-weight:400;color:var(--text-dim, #9ca3af)}.oc-editor-box{height:360px;display:flex;border:1px solid var(--border, #d1d5db);border-radius:10px;overflow:hidden}.oc-draft-list{border-top:1px solid var(--border, #e5e7eb);padding-top:10px;display:flex;flex-direction:column;gap:6px}.oc-draft-list-title{font-size:13px;font-weight:700}.oc-draft-item{display:flex;align-items:center;gap:8px;font-size:13px}.oc-draft-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{display:flex;height:100vh;width:100vw;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%);overflow:hidden}.sidebar{width:260px;min-width:260px;background:#ffffffeb;border-right:1px solid var(--accent-soft);display:flex;flex-direction:column;height:100%;overflow:hidden}.work-header{padding:10px 12px;background:var(--bg-soft);border-bottom:1px solid var(--accent-soft);display:flex;flex-direction:column;gap:6px}.work-select-box{display:flex;align-items:center;gap:4px}.work-label{font-size:12px;color:var(--accent-deep);font-weight:700;white-space:nowrap}.work-select{flex:1;padding:4px 6px;border-radius:6px;border:1px solid var(--accent-to);background:#fff;color:var(--accent-deep);font-size:12px;font-weight:700;outline:none;overflow:hidden;text-overflow:ellipsis}.btn-add-work{width:100%;padding:5px;border-radius:6px;border:1px dashed var(--accent-to);background:var(--panel);color:var(--accent-deep);font-size:11px;font-weight:700;cursor:pointer;text-align:center;transition:all .2s}.btn-add-work:hover{background:var(--accent-soft)}.main{flex:1;display:flex;min-width:0;height:100%;min-height:0}.editor-panel{flex:1;display:flex;flex-direction:column;min-width:0;height:100%;min-height:0}.editor-panel .editor-wrapper{flex:1;min-height:0;height:auto!important}.chat-panel{width:380px;min-width:380px;display:flex;flex-direction:column;background:#fffc;border-left:1px solid var(--accent-soft);height:100%;min-height:0}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.settings-modal{background:#fff;border-radius:16px;width:720px;height:520px;display:flex!important;flex-direction:row!important;overflow:hidden}.settings-sidebar{width:180px;background:var(--bg-soft);border-right:1px solid var(--border);padding:20px;display:flex;flex-direction:column}.settings-sidebar h4{margin-bottom:12px;font-size:14px;color:var(--text-2)}.provider-list{list-style:none;flex:1;overflow-y:auto}.provider-list li{padding:8px 12px;border-radius:8px;margin-bottom:4px;font-size:13px;cursor:pointer;color:var(--text-2)}.provider-list li.active{background:var(--bg-soft);color:var(--accent-deep);font-weight:700}.settings-main{flex:1;padding:24px;overflow-y:auto;position:relative}.btn-close-x{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-dim)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;color:var(--text-2);margin-bottom:6px}.form-group input{width:100%;padding:8px 12px;border:1px solid var(--accent-soft);border-radius:8px;outline:none;font-size:13px}.form-group input:focus{border-color:var(--accent-to)}.settings-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-dim)}.footer-btns{display:flex;gap:8px}.btn-add{background:var(--border);border:none;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:12px;margin-bottom:12px}.btn-del{background:#fee2e2;color:#991b1b;border:none;padding:6px 12px;border-radius:8px;cursor:pointer}.btn-confirm{background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--on-accent);border:none;padding:6px 16px;border-radius:8px;cursor:pointer;font-weight:700}.sidebar-header{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--bg-soft)}.sidebar-header h2{font-size:13px;color:var(--accent-deep);font-weight:700}.sidebar-header button{background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--on-accent);border:none;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:11px;font-weight:700}.doc-tree-container{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:10px}.tree-empty{color:var(--text-dim);font-size:12px;text-align:center;margin-top:30px}.volume-group{display:flex;flex-direction:column;gap:4px}.volume-title{font-size:12px;font-weight:700;color:var(--accent-deep);padding:4px 8px;background:var(--bg-soft);border-radius:6px;border-left:3px solid var(--accent-to)}.volume-doc-list{list-style:none;padding-left:4px;display:flex;flex-direction:column;gap:2px;margin:0}.doc-item{padding:6px 8px;cursor:pointer;border-radius:6px;font-size:12px;display:flex;align-items:center;gap:6px;transition:background .15s}.doc-item:hover{background:var(--bg-soft)}.doc-item.active{background:#bbf7d0;color:var(--accent-deep);font-weight:700}.doc-type-badge{font-size:10px;padding:1px 4px;border-radius:4px;font-weight:700;white-space:nowrap}.doc-type-badge.正文{background:var(--accent-soft);color:var(--accent-deep)}.doc-type-badge.卷首{background:#fef3c7;color:#b45309}.doc-type-badge.设定{background:#e0f2fe;color:#0369a1}.doc-type-badge.作者的话{background:#f3e8ff;color:#6b21a8}.doc-title-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-item input{flex:1;width:100%;padding:2px 6px;border-radius:4px;border:1px solid var(--accent-to);font-size:12px;outline:none}.delete-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:16px}.delete-btn:hover{color:#ef4444}.sidebar-footer{padding:12px;border-top:1px solid var(--accent-soft);display:flex;flex-direction:column;gap:6px;background:var(--bg-soft);min-height:0;overflow-y:auto}.sidebar-footer .grid-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sidebar-footer button{width:100%;padding:8px 4px;border-radius:8px;border:1px solid var(--accent-soft);background:#fff;color:var(--accent-deep);cursor:pointer;font-size:12px;text-align:center!important;display:flex;align-items:center;justify-content:center;gap:4px}.sidebar-footer button:hover{background:var(--bg-soft)}.sidebar-footer button.active-footer-btn{background:#bbf7d0;border-color:var(--accent-to);font-weight:700}.export-btns{display:flex;gap:6px;margin-top:2px}.export-btns button{flex:1;text-align:center}.chat-header{padding:12px 16px;border-bottom:1px solid var(--accent-soft);display:flex;justify-content:space-between;align-items:center;background:var(--bg-soft)}.model-select{padding:4px 8px;border-radius:8px;border:1px solid var(--accent-soft);font-size:12px;outline:none}.chat-messages{flex:1;overflow-y:auto;padding:16px}.message{margin-bottom:15px;padding:12px 14px;border-radius:14px;max-width:90%;font-size:14px;line-height:1.6}.message.user{background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--on-accent);margin-left:auto;position:relative;padding-right:32px}.message.assistant{background:#fff;border:1px solid var(--accent-soft)}.message-content{position:relative}.edit-icon{position:absolute!important;right:8px!important;bottom:8px!important;top:auto!important;background:#fff6!important;border:none!important;cursor:pointer!important;font-size:11px!important;opacity:0;transition:opacity .2s;border-radius:4px;padding:2px 5px!important;display:flex!important;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000000d}.message.user:hover .edit-icon{opacity:1}.edit-icon:hover{background:#ffffffbf!important}.edit-box textarea{width:100%;height:60px;border:1px solid var(--accent-soft);border-radius:8px;padding:6px;font-size:14px;resize:none}.edit-btns{display:flex;gap:6px;margin-top:6px;justify-content:flex-end}.edit-btns button{padding:4px 8px;border-radius:6px;border:none;cursor:pointer;font-size:12px}.edit-btns button:first-child{background:var(--accent-to);color:var(--accent-deep)}.message-actions{display:flex;gap:8px;margin-top:8px;border-top:1px dashed var(--bg-soft);padding-top:6px;justify-content:flex-end;position:relative}.message-actions button{background:none;border:none;cursor:pointer;font-size:12px;color:var(--accent-deep);display:flex;align-items:center;gap:2px}.message-actions button:hover{color:var(--accent-deep)}.save-dropdown{position:absolute;right:0;bottom:30px;background:#fff;border:1px solid var(--accent-soft);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:4px;z-index:10;box-shadow:0 4px 12px #0000000d}.save-dropdown button{padding:4px 8px;border-radius:4px;text-align:left;width:120px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matched-hint{padding:6px 16px;background:var(--bg-soft);color:var(--accent-deep);font-size:12px;border-top:1px solid var(--accent-soft)}.chat-input{padding:12px;border-top:1px solid var(--accent-soft);display:flex;gap:10px}.chat-input textarea{flex:1;background:#fff;border:1px solid var(--accent-soft);padding:12px;border-radius:12px;height:70px;resize:none}.chat-input button{background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--on-accent);border:none;padding:0 18px;border-radius:12px;cursor:pointer;font-weight:700}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-2)}.empty-state button{background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--on-accent);border:none;padding:10px 24px;border-radius:12px;font-weight:700;cursor:pointer;margin-top:16px}.bottom-task-panel{height:350px;max-height:45vh;background:var(--panel);border-top:1.5px solid var(--accent-soft);display:flex;flex-direction:row;min-height:0;box-shadow:0 -4px 12px #0478570a}.bottom-task-controls{width:320px;min-width:320px;border-right:1px solid var(--accent-soft);padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--bg-soft)}.task-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.task-header-title{font-size:14px;color:var(--accent-deep);font-weight:700}.btn-close-bottom{background:none;border:1px solid var(--accent-soft);border-radius:6px;padding:2px 8px;font-size:11px;color:var(--text-2);cursor:pointer;transition:all .2s}.btn-close-bottom:hover{background:#fee2e2;color:#ef4444;border-color:#fca5a5}.task-select-dropdown{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--accent-soft);font-size:13px;background:#fff;outline:none}.task-select-dropdown:focus{border-color:var(--accent-to)}.task-intro-card{background:var(--bg-soft);border:1px solid var(--accent-soft);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--accent-deep);line-height:1.5}.task-run-btn{width:100%;background:linear-gradient(135deg,var(--accent-from),var(--accent-to));color:var(--on-accent);font-weight:700;border:none;padding:10px;border-radius:10px;cursor:pointer;transition:transform .1s}.task-run-btn:active{transform:scale(.98)}.task-run-btn:disabled{background:var(--border);color:var(--text-dim);cursor:not-allowed}.bottom-task-output{flex:1;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:0}.task-result-viewport{flex:1;border:1px solid var(--accent-soft);border-radius:10px;background:var(--bg-soft);padding:12px;font-size:13px;line-height:1.6;overflow-y:auto;white-space:pre-wrap;word-break:break-all;box-shadow:inset 0 2px 6px #00000005}.task-actions-row{display:flex;gap:8px;justify-content:flex-end}.task-action-btn{width:120px;padding:8px;border-radius:8px;border:1px solid var(--accent-soft);background:#fff;color:var(--accent-deep);font-size:12px;font-weight:700;cursor:pointer;transition:background .15s}.task-action-btn:hover{background:var(--bg-soft)}.task-action-btn:disabled{background:var(--bg-soft);color:var(--border);border-color:var(--border);cursor:not-allowed}.markdown-body{font-size:13px;color:var(--text);line-height:1.6}.markdown-body p.md-p{margin-bottom:8px}.markdown-body strong{color:var(--accent-deep);font-weight:700;background:#34d39914;padding:1px 4px;border-radius:4px}.markdown-body h2.md-h2{font-size:15px;color:var(--accent-deep);margin:14px 0 8px;font-weight:700;border-bottom:1px solid var(--accent-soft);padding-bottom:4px}.markdown-body h3.md-h3{font-size:13.5px;color:var(--accent-deep);margin:12px 0 6px;font-weight:700}.markdown-body h4.md-h4{font-size:12px;color:#0f766e;margin:10px 0 4px;font-weight:700}.markdown-body li{margin-left:20px;margin-bottom:4px;list-style-type:disc;line-height:1.5}.thinking-accordion{margin-bottom:14px;border:1px solid var(--accent-soft);border-radius:10px;background:var(--panel);overflow:hidden;box-shadow:0 2px 6px #00000005}.thinking-header{padding:10px 14px;background:linear-gradient(135deg,var(--bg-soft),var(--bg-soft));display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.thinking-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--accent-deep)}.thinking-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--accent-deep)}.thinking-meta .arrow{transition:transform .2s;font-size:10px}.thinking-meta .arrow.open{transform:rotate(180deg)}.thinking-steps-list{padding:12px;border-top:1px solid var(--bg-soft);display:flex;flex-direction:column;gap:8px;background:var(--bg-soft)}.thinking-step-item{padding:8px 10px;border-radius:8px;background:#fff;border:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.thinking-step-item.thinking{border-left:3px solid #8b5cf6}.thinking-step-item.tool{border-left:3px solid var(--accent)}.step-badge{font-size:10px;font-weight:700}.thinking-step-item.thinking .step-badge{color:#7c3aed}.thinking-step-item.tool .step-badge{color:var(--accent-deep)}.step-content{font-size:12px;font-weight:700;color:var(--text)}.step-detail{font-size:11px;color:var(--text-dim);font-family:Consolas,Monaco,monospace}.r2-modal{background:var(--panel);border-radius:20px;width:540px;max-width:90vw;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border:1px solid var(--accent-soft);display:flex;flex-direction:column;overflow:hidden;animation:r2ModalAppear .25s cubic-bezier(.16,1,.3,1)}@keyframes r2ModalAppear{0%{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}.r2-header{padding:16px 24px;background:linear-gradient(135deg,var(--bg-soft) 0%,var(--bg-soft) 100%);border-bottom:1px solid var(--accent-soft);display:flex;justify-content:space-between;align-items:center}.r2-header h3{font-size:15px;color:var(--accent-deep);font-weight:700;display:flex;align-items:center;gap:8px}.btn-close-r2{background:none;border:none;font-size:24px;cursor:pointer;color:var(--accent-deep);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.btn-close-r2:hover{background:#10b9811a;color:var(--accent-deep)}.r2-body{padding:24px;display:flex;flex-direction:column;gap:16px}.r2-form-group{display:flex;flex-direction:column;gap:6px}.r2-form-group label{font-size:12px;font-weight:700;color:var(--accent-deep)}.r2-form-group input{width:100%;padding:10px 14px;border:1px solid var(--accent-soft);border-radius:10px;outline:none;font-size:13px;background:var(--bg-soft);transition:all .2s}.r2-form-group input:focus{border-color:var(--accent-to);background:var(--panel);box-shadow:0 0 0 3px #34d39926}.r2-autosync-option{background:var(--bg-soft);border:1px dashed var(--accent-to);border-radius:12px;padding:12px 14px;transition:all .2s}.r2-autosync-option:hover{background:var(--bg-soft);border-style:solid}.r2-action-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}.r2-sync-btn{padding:12px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;border:none}.r2-sync-btn:active{transform:scale(.98)}.r2-sync-btn.backup{background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;box-shadow:0 4px 10px #10b98126}.r2-sync-btn.backup:hover{background:linear-gradient(135deg,var(--accent-deep),var(--accent-deep))}.r2-sync-btn.restore{background:var(--panel);border:1.5px solid var(--accent)!important;color:var(--accent-deep)}.r2-sync-btn.restore:hover{background:var(--bg-soft)}.r2-status-panel{background:#fafdfc;border:1px solid var(--accent-soft);border-radius:12px;padding:14px}.r2-status-panel .status-title{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.r2-status-panel .status-text{font-size:12.5px;color:var(--text-2);line-height:1.5}.r2-status-panel .sync-time{font-size:11px;color:var(--accent-deep);margin-top:8px;border-top:1px dashed var(--accent-soft);padding-top:8px;font-weight:700}.delete-icon-user{position:absolute!important;right:36px!important;bottom:8px!important;top:auto!important;background:#fff6!important;border:none!important;cursor:pointer!important;font-size:11px!important;opacity:0;transition:opacity .2s;border-radius:4px;padding:2px 5px!important;display:flex!important;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000000d}.message.user:hover .delete-icon-user{opacity:1}.delete-icon-user:hover{background:#ffffffbf!important;color:#ef4444!important}.models-grid-container{display:flex;flex-direction:column;gap:10px;flex:1;min-height:180px}.models-toolbar{display:flex;gap:8px;align-items:center}.model-search-input{flex:1;padding:6px 12px;font-size:12px;border:1px solid var(--accent-soft);border-radius:8px;outline:none;background:var(--panel);transition:all .2s}.model-search-input:focus{border-color:var(--accent-to);box-shadow:0 0 0 2px #34d39926}.models-quick-actions{display:flex;gap:6px}.models-quick-actions button{padding:5px 10px;font-size:11px;background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;color:var(--text-2);cursor:pointer;font-weight:700;transition:all .15s}.models-quick-actions button:hover{background:var(--bg-soft);color:var(--accent-deep);border-color:var(--accent-soft)}.models-card-grid{flex:1;max-height:220px;overflow-y:auto;border:1px solid var(--accent-soft);border-radius:12px;padding:10px;background:var(--bg-soft);display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;align-content:start}.model-card-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--panel);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease;min-width:0}.model-card-item:hover{border-color:var(--accent-soft);background:var(--bg-soft);transform:translateY(-1px);box-shadow:0 2px 5px #00000008}.model-card-item.enabled{background:var(--bg-soft);border-color:var(--accent-to);box-shadow:0 1px 3px #10b9811a}.model-card-item .model-checkbox{accent-color:var(--accent);width:15px;height:15px;cursor:pointer;flex-shrink:0}.model-card-item .model-name-text{font-size:12px;font-family:Consolas,Monaco,monospace;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.model-card-item.enabled .model-name-text{color:var(--accent-deep);font-weight:700}.empty-state h2{font-family:var(--font-display);letter-spacing:.06em}
