.vm-modal{width:760px;max-width:94vw;max-height:84vh;display:flex;flex-direction:column}.vm-nested{display:contents}.vm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-shrink:0}.vm-title{margin-bottom:4px}.vm-hint{margin:0;color:var(--text-secondary);font-size:var(--font-size-xs, 12px);line-height:1.6}.vm-dirty{margin-left:8px;padding:1px 6px;border-radius:4px;background-color:var(--warning-color, #b7791f);color:#fff;font-size:var(--font-size-caption, 11px)}.vm-add{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1px solid var(--primary-color);border-radius:var(--radius-sm);background-color:var(--primary-color);color:#fff;font-family:inherit;font-size:var(--font-size-xs, 12px);cursor:pointer;white-space:nowrap;transition:all .15s}.vm-add:hover:not(:disabled){background-color:var(--primary-color-hover)}.vm-add:disabled{opacity:.5;cursor:not-allowed}.vm-list{display:flex;flex-direction:column;gap:8px;margin:14px 0;overflow-y:auto;flex:1;min-height:0}.vm-item{border:1px solid var(--border-color);border-radius:var(--radius-sm)}.vm-item-head{display:flex;align-items:center;gap:6px;padding:9px 12px}.vm-expand{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.vm-expand:hover{background-color:var(--hover-bg);color:var(--text-color)}.vm-item-title{font-size:var(--font-size-sm, 13px);font-weight:600;color:var(--text-color)}.vm-title-input{padding:2px 6px;border:1px solid var(--primary-color);border-radius:var(--radius-sm);background-color:var(--card-bg);color:var(--text-color);font-family:inherit;font-size:var(--font-size-sm, 13px);font-weight:600;min-width:180px}.vm-badge{padding:1px 6px;border-radius:4px;background-color:var(--primary-color-light);color:var(--primary-color);font-size:var(--font-size-caption, 11px)}.vm-badge-new{background-color:var(--hover-bg);color:var(--text-secondary)}.vm-item-meta{flex:1;color:var(--text-secondary);font-size:var(--font-size-caption, 11px)}.vm-item-actions{display:flex;gap:2px}.vm-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.vm-icon:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-color)}.vm-icon-danger:hover:not(:disabled){color:var(--danger-color)}.vm-icon:disabled{opacity:.4;cursor:not-allowed}.vm-chapters{border-top:1px dashed var(--border-color);padding:4px 10px 8px 30px;display:flex;flex-direction:column;gap:2px}.vm-chapter{display:flex;align-items:center;gap:8px;padding:5px 6px;border:1px solid transparent;border-radius:var(--radius-sm);transition:background-color .12s,border-color .12s}.vm-chapter:hover{background-color:var(--hover-bg)}.vm-chapter.is-drop-target{border-color:var(--primary-color);border-style:dashed;background-color:var(--primary-color-light)}.vm-grip{display:inline-flex;align-items:center;color:var(--text-secondary);opacity:.45;cursor:grab}.vm-chapter:hover .vm-grip{opacity:1}.vm-chapter-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-color);font-size:var(--font-size-xs, 12px)}.vm-chapter-words{flex-shrink:0;color:var(--text-secondary);font-size:var(--font-size-caption, 11px);font-variant-numeric:tabular-nums}.vm-chapter-drop{margin:2px 6px;padding:5px 8px;border:1px dashed var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-caption, 11px);text-align:center;opacity:.55}.vm-chapter-drop.is-drop-target{border-color:var(--primary-color);background-color:var(--primary-color-light);color:var(--primary-color);opacity:1}.vm-select{padding:3px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--card-bg);color:var(--text-color);font-family:inherit;font-size:var(--font-size-xs, 12px);cursor:pointer;max-width:200px}.vm-select:disabled{opacity:.5;cursor:not-allowed}.vm-empty{padding:8px 0;color:var(--text-secondary);font-size:var(--font-size-caption, 11px);opacity:.7}.vm-delete{border-top:1px dashed var(--border-color);padding:10px 12px;background-color:var(--hover-bg);border-radius:0 0 var(--radius-sm) var(--radius-sm)}.vm-delete-title{margin-bottom:8px;color:var(--text-color);font-size:var(--font-size-xs, 12px);font-weight:600}.vm-delete-option{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:6px;color:var(--text-secondary);font-size:var(--font-size-xs, 12px);cursor:pointer}.vm-delete-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.vm-warn{display:flex;align-items:center;gap:6px;margin:0 0 8px;color:var(--danger-color);font-size:var(--font-size-xs, 12px);flex-shrink:0}.vm-confirm-close{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--warning-color, #b7791f);border-radius:var(--radius-sm);background-color:var(--hover-bg);color:var(--text-color);font-size:var(--font-size-xs, 12px);flex-shrink:0}.vm-confirm-close-actions{display:flex;gap:8px}.vm-actions{flex-shrink:0;margin-top:0}.vm-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--card-bg);color:var(--text-color);font-family:inherit;font-size:var(--font-size-xs, 12px);cursor:pointer;transition:all .15s}.vm-btn:hover:not(:disabled){background-color:var(--hover-bg)}.vm-btn:disabled{opacity:.5;cursor:not-allowed}.vm-btn-danger{border-color:var(--danger-color);background-color:var(--danger-color);color:#fff}.vm-btn-danger:hover:not(:disabled){opacity:.9;background-color:var(--danger-color)}.cr-panel{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;min-height:0;flex-shrink:0}.cr-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.cr-tabs{display:flex;gap:4px}.cr-self{margin-left:auto;font-size:var(--font-size-caption, 11px);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:8em}.cr-tab{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:var(--font-size-caption, 12px);font-family:inherit;cursor:pointer}.cr-tab:hover{color:var(--text-color);background-color:var(--hover-bg)}.cr-tab.is-active{border-color:var(--primary-color);background-color:var(--primary-color-light);color:var(--primary-color);font-weight:600}.cr-tab-count{opacity:.7}.cr-add{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--card-bg);color:var(--text-secondary);font-size:var(--font-size-caption, 12px);font-family:inherit;cursor:pointer}.cr-add:hover{border-color:var(--primary-color);color:var(--primary-color)}.cr-form{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px;border:1px solid var(--primary-color);border-radius:8px;background-color:var(--card-bg)}.cr-form-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cr-input,.cr-select{padding:4px 7px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-color);color:var(--text-color);font-size:var(--font-size-caption, 12px);font-family:inherit}.cr-input:focus,.cr-select:focus{outline:none;border-color:var(--primary-color)}.cr-input-note{flex:1;min-width:100px}.cr-check{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-caption, 12px);color:var(--text-secondary);cursor:pointer}.cr-form-actions{display:flex;justify-content:flex-end;gap:6px}.cr-primary,.cr-ghost{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:6px;font-size:var(--font-size-caption, 12px);font-family:inherit;cursor:pointer;border:1px solid transparent}.cr-primary{background-color:var(--primary-color);color:#fff}.cr-ghost{background:transparent;border-color:var(--border-color);color:var(--text-secondary)}.cr-primary:disabled,.cr-ghost:disabled{opacity:.5;cursor:default}.cr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.cr-empty{padding:14px 4px;color:var(--text-secondary);font-size:var(--font-size-caption, 12px);line-height:1.6}.cr-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border-color);border-radius:7px;background-color:var(--card-bg)}.cr-item-main{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--font-size-caption, 12px)}.cr-name{color:var(--text-color)}.cr-type{padding:1px 6px;border-radius:4px;background-color:var(--primary-color-light);color:var(--primary-color)}.cr-dir{color:var(--text-secondary)}.cr-note{color:var(--text-secondary);opacity:.8;word-break:break-word}.cr-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.cr-icon:hover{background-color:var(--hover-bg);color:var(--danger-color)}.cr-appearances{display:flex;flex-direction:column;min-height:0}.cr-appear-summary{margin-bottom:8px;font-size:var(--font-size-caption, 12px);color:var(--text-secondary)}.cr-appear-item{padding:7px 8px;border:1px solid var(--border-color);border-radius:7px;background-color:var(--card-bg)}.cr-appear-head{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:transparent;color:var(--primary-color);font-size:var(--font-size-caption, 12px);font-family:inherit;font-weight:600;cursor:pointer;text-align:left}.cr-appear-head:hover{text-decoration:underline}.cr-appear-count{margin-left:4px;color:var(--text-secondary);font-weight:400}.cr-appear-snippet{margin:4px 0 0;font-size:var(--font-size-caption, 12px);color:var(--text-secondary);line-height:1.55;word-break:break-word}.cr-appear-snippet mark{background-color:#d99a2b4d;color:inherit;border-radius:2px;padding:0 1px}.pt-root{display:flex;flex-direction:column;height:100%;min-height:0;background-color:var(--bg-color);color:var(--text-color)}.pt-titlebar{height:40px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-color);flex-shrink:0;font-weight:600;font-size:var(--font-size-lg);color:var(--text-color);background-color:var(--card-bg);min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 10px;flex-shrink:0}.pt-head-title{display:flex;flex-direction:column;gap:2px;min-width:0}.pt-head-title strong{font-size:var(--font-size-lg, 15px)}.pt-head-sub{font-size:var(--font-size-caption, 11px);color:var(--text-secondary)}.pt-stale{color:#d99a2b}.pt-filters{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 10px;flex-shrink:0}.pt-filter{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid var(--border-color);border-radius:999px;background-color:var(--card-bg);color:var(--text-secondary);font-size:var(--font-size-caption, 12px);font-family:inherit;cursor:pointer;transition:all .15s}.pt-filter:hover{border-color:var(--primary-color);color:var(--primary-color)}.pt-filter.is-active{border-color:var(--primary-color);background-color:var(--primary-color-light);color:var(--primary-color);font-weight:600}.pt-filter-count{opacity:.7}.pt-form{display:flex;flex-direction:column;gap:8px;margin:0 18px 12px;padding:12px;border:1px solid var(--primary-color);border-radius:10px;background-color:var(--card-bg);flex-shrink:0}.pt-form-row{display:flex;flex-wrap:wrap;gap:8px}.pt-field{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-caption, 12px);color:var(--text-secondary)}.pt-input,.pt-select,.pt-textarea{padding:5px 8px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-color);color:var(--text-color);font-size:var(--font-size-sm, 13px);font-family:inherit}.pt-input{flex:1;min-width:180px}.pt-input:focus,.pt-select:focus,.pt-textarea:focus{outline:none;border-color:var(--primary-color)}.pt-textarea{resize:vertical;min-height:46px}.pt-form-actions{display:flex;justify-content:flex-end;gap:8px}.pt-primary,.pt-ghost{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:6px;font-size:var(--font-size-sm, 13px);font-family:inherit;cursor:pointer;border:1px solid transparent}.pt-primary{background-color:var(--primary-color);color:#fff}.pt-primary:hover:not(:disabled){background-color:var(--primary-color-hover, var(--primary-color))}.pt-ghost{background-color:transparent;border-color:var(--border-color);color:var(--text-secondary)}.pt-ghost:hover:not(:disabled){color:var(--text-color)}.pt-primary:disabled,.pt-ghost:disabled{opacity:.5;cursor:default}.pt-list{flex:1;min-height:0;overflow-y:auto;padding:0 18px 20px;display:flex;flex-direction:column;gap:8px}.pt-empty{padding:32px 12px;text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm, 13px)}.pt-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border-color);border-left-width:3px;border-radius:8px;background-color:var(--card-bg)}.pt-status-open{border-left-color:#d99a2b}.pt-status-resolved{border-left-color:#3f9e63}.pt-status-dropped{border-left-color:var(--border-color);opacity:.65}.pt-item-main{flex:1;min-width:0}.pt-item-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.pt-kind{padding:1px 6px;border-radius:4px;font-size:var(--font-size-caption, 11px);background-color:var(--primary-color-light);color:var(--primary-color)}.pt-kind-subplot{background-color:#5a8f6a24;color:#3f7a52}.pt-kind-mystery{background-color:#d99a2b29;color:#a8761d}.pt-kind-promise{background-color:#c47e5a29;color:#a2603c}.pt-item-title{font-size:var(--font-size-sm, 13px);font-weight:600;min-width:0;word-break:break-word}.pt-status-tag{font-size:var(--font-size-caption, 11px);color:var(--text-secondary)}.pt-status-tag-open{color:#a8761d}.pt-status-tag-resolved{color:#3f7a52}.pt-item-detail{margin:4px 0 0;font-size:var(--font-size-caption, 12px);color:var(--text-secondary);line-height:1.5;word-break:break-word}.pt-item-refs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.pt-ref{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border:1px solid var(--border-color);border-radius:999px;background-color:transparent;color:var(--text-secondary);font-size:var(--font-size-caption, 11px);font-family:inherit;cursor:pointer}.pt-ref:hover{border-color:var(--primary-color);color:var(--primary-color)}.pt-ref-static{cursor:default}.pt-ref-static:hover{border-color:var(--border-color);color:var(--text-secondary)}.pt-item-quote{display:flex;align-items:flex-start;gap:5px;margin:6px 0 0;padding:5px 9px;border-left:2px solid var(--border-color);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background-color:var(--hover-bg);color:var(--text-secondary);font-size:var(--font-size-caption, 12px);line-height:1.6;word-break:break-word}.pt-quote-icon{flex-shrink:0;margin-top:3px;opacity:.6}.pt-item-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-color)}.pt-bar-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--card-bg);color:var(--text-color);font-family:inherit;font-size:var(--font-size-xs, 12px);cursor:pointer;transition:all .15s}.pt-bar-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.pt-bar-primary{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff}.pt-bar-primary:hover{background-color:var(--primary-color-hover);border-color:var(--primary-color-hover);color:#fff}.pt-bar-danger:hover{border-color:var(--danger-color);color:var(--danger-color)}.pt-bar-field{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:var(--font-size-caption, 11px)}.pt-select-inline{padding:3px 6px;font-size:var(--font-size-xs, 12px)}.pt-bar-spacer{flex:1}.pt-kind-filters{margin-top:-6px}.pt-kind-filters .pt-filter{font-size:var(--font-size-caption, 11px)}.pt-root{container-type:inline-size;container-name:xts-plot-panel}@container xts-plot-panel (max-width: 420px){.pt-head{flex-wrap:wrap;padding:12px 12px 8px}.pt-filters{padding:0 12px 8px}.pt-form{margin:0 12px 10px}.pt-list{padding:0 12px 16px}.pt-form-row{flex-direction:column;align-items:stretch}.pt-form-row>.pt-input,.pt-form-row>.pt-select,.pt-field{flex:1 1 auto;width:100%;min-width:0}.pt-input{min-width:0}.pt-field{display:flex;flex-direction:column;align-items:stretch;gap:4px}.pt-select{width:100%;min-width:0;max-width:100%}.pt-bar-field{flex:1 1 100%;min-width:0;flex-direction:column;align-items:stretch;gap:4px}.pt-bar-field .pt-select-inline{flex:1 1 auto;width:100%;min-width:0}}@container xts-plot-panel (max-width: 300px){.pt-head{padding:10px 10px 8px;gap:8px}.pt-filters{padding:0 10px 8px;gap:4px}.pt-filter{padding:3px 8px}.pt-form{margin:0 10px 10px;padding:10px}.pt-list{padding:0 10px 16px}.pt-item{padding:8px 10px}.pt-bar-spacer{display:none}.pt-item-bar .pt-bar-btn,.pt-form-actions .pt-primary,.pt-form-actions .pt-ghost{flex:1 1 auto;justify-content:center}}.chapter-tree-head{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border-color);flex-shrink:0}.chapter-tree-manage{flex:1;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-color);font-family:inherit;font-size:var(--font-size-xs, 12px);font-weight:600;text-align:left;cursor:pointer;transition:background-color .15s,color .15s}.chapter-tree-manage:hover{background-color:var(--hover-bg);color:var(--primary-color)}.chapter-tree-add{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--card-bg);color:var(--text-color);font-family:inherit;font-size:var(--font-size-xs, 12px);cursor:pointer;transition:all .15s}.chapter-tree-add:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--primary-color-light)}.chapter-tree-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background-color:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.chapter-tree-icon:hover{border-color:var(--border-color);color:var(--text-color);background-color:var(--hover-bg)}.chapter-tree-icon.is-active{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--primary-color-light)}.chapter-pace-filters{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border-color);flex-shrink:0}.chapter-pace-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border:1px solid var(--border-color);border-radius:999px;background-color:transparent;color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-caption, 11px);cursor:pointer;transition:all .15s}.chapter-pace-chip:hover{border-color:var(--primary-color);color:var(--primary-color)}.chapter-pace-chip.is-active{border-color:var(--primary-color);background-color:var(--primary-color-light);color:var(--primary-color);font-weight:600}.chapter-pace-chip-count{opacity:.7}.chapter-pace-hint{width:100%;color:var(--text-secondary);font-size:var(--font-size-caption, 11px);opacity:.65}.chapter-pace-list{display:flex;flex-direction:column;gap:6px;padding:8px}.chapter-pace-row{padding:7px 9px;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.chapter-pace-row:hover{border-color:var(--primary-color);background-color:var(--hover-bg)}.chapter-pace-row--current{border-color:var(--primary-color);background-color:var(--primary-color-light)}.chapter-pace-head{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs, 12px)}.chapter-pace-number{flex-shrink:0;color:var(--text-secondary);font-variant-numeric:tabular-nums}.chapter-pace-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-color)}.chapter-pace-words{flex-shrink:0;color:var(--text-secondary);font-variant-numeric:tabular-nums}.chapter-pace-words.is-good{color:#3f9e63}.chapter-pace-words.is-low{color:var(--danger-color, #c0392b)}.chapter-pace-words .is-met{font-weight:600}.chapter-pace-bar{margin-top:5px;height:3px;border-radius:2px;background-color:var(--border-color);overflow:hidden}.chapter-pace-bar.is-good{background-color:#3f9e6333}.chapter-pace-bar.is-low{background-color:#c0392b29}.chapter-pace-fill{height:100%;border-radius:2px;background-color:var(--primary-color);transition:width .2s}.chapter-pace-bar.is-good .chapter-pace-fill{background-color:#3f9e63}.chapter-pace-bar.is-low .chapter-pace-fill{background-color:var(--danger-color, #c0392b)}.chapter-pace-summary{margin-top:5px;color:var(--text-secondary);font-size:var(--font-size-caption, 11px);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chapter-pace-summary.is-empty{opacity:.5;font-style:italic}.timeline-container{height:100%;display:flex;flex-direction:column;overflow:hidden}.timeline-header{display:flex;align-items:center;gap:12px;padding:14px 20px 8px;flex-shrink:0}.timeline-title{display:flex;align-items:center;gap:8px;margin:0;font-size:17px;font-weight:700;color:var(--text-color)}.timeline-summary{font-size:12px;color:var(--text-secondary)}.timeline-filters{display:flex;align-items:center;gap:6px;padding:0 20px 10px;flex-shrink:0}.timeline-filter-chip{display:flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.timeline-filter-chip:hover{border-color:var(--primary-color);color:var(--text-color)}.timeline-filter-chip.is-active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.timeline-filter-count{font-size:11px;opacity:.75}.timeline-filter-hint{margin-left:auto;font-size:11px;color:var(--text-secondary);white-space:nowrap}.timeline-scroll{flex:1;min-height:0;overflow-y:auto;padding:4px 20px 40px}.timeline-loading,.timeline-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary);font-size:14px}.timeline-loading-spin{animation:spin .8s linear infinite;color:var(--primary-color)}.timeline-group{margin-bottom:28px}.timeline-volume-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;padding-left:12px}.timeline-volume-badge{font-size:13px;font-weight:700;color:var(--primary-color);white-space:nowrap}.timeline-volume-title{font-size:15px;font-weight:600;color:var(--text-color)}.timeline-volume-meta{font-size:12px;color:var(--text-secondary)}.timeline-item{display:flex;align-items:stretch;width:100%;text-align:left;background:none;border:none;border-radius:10px;padding:0}.timeline-item:hover .timeline-item-body{background:var(--hover-bg)}.timeline-item--current .timeline-item-title{color:var(--primary-color)}.timeline-item--current .timeline-item-dot{background:var(--primary-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-color) 22%,transparent)}.timeline-item-rail{width:32px;display:flex;flex-direction:column;align-items:center;flex-shrink:0;position:relative;padding-top:6px}.timeline-item-dot{width:10px;height:10px;border-radius:50%;background:var(--border-color);flex-shrink:0;margin-top:6px;z-index:1}.timeline-item-line{flex:1;width:2px;background:var(--border-color);margin-top:2px}.timeline-item-body{flex:1;min-width:0;padding:8px 12px;border-radius:8px;transition:background .15s ease}.timeline-item-head{display:flex;align-items:baseline;gap:8px}.timeline-item-number{font-size:12px;color:var(--text-secondary);white-space:nowrap}.timeline-item-title-wrap{flex:1;min-width:0;display:flex;align-items:baseline}.timeline-item-title{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;color:var(--text-color);background:none;border:none;padding:0;text-align:left;font-family:inherit;cursor:pointer}.timeline-item-title:hover{color:var(--primary-color);text-decoration:underline;text-underline-offset:3px}.timeline-item-current-tag{flex-shrink:0;font-size:11px;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--primary-color) 16%,transparent);color:var(--primary-color)}.timeline-item-words{font-size:12px;color:var(--text-secondary);white-space:nowrap}.timeline-item-words.is-good{color:var(--success-color)}.timeline-item-words.is-low{color:var(--danger-color)}.timeline-item-words .is-met{color:var(--success-color);font-weight:600}.timeline-item-head .chapter-status-dot{width:6px;height:6px;margin-right:2px}.timeline-bar{height:4px;border-radius:2px;background:var(--hover-bg);margin:7px 0 6px;overflow:hidden}.timeline-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--primary-color) 0%,color-mix(in srgb,var(--primary-color) 55%,transparent) 100%);opacity:.72;transition:width .3s ease}.timeline-bar--good .timeline-bar-fill{background:var(--success-color);opacity:.65}.timeline-bar--low .timeline-bar-fill{background:var(--danger-color);opacity:.6}.timeline-item-summary-row{display:flex;align-items:flex-start;gap:6px}.timeline-item-summary{flex:1;min-width:0;margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.timeline-no-summary{flex:1;font-size:12px;color:var(--text-secondary);opacity:.55;font-style:italic}.timeline-summary-edit-btn{flex-shrink:0;display:flex;align-items:center;gap:3px;padding:2px 6px;font-size:11px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;opacity:0;transition:all .15s ease}.timeline-item:hover .timeline-summary-edit-btn{opacity:1}.timeline-summary-edit-btn:hover{border-color:var(--border-color);background:var(--bg-color);color:var(--text-color)}.timeline-summary-edit-btn.is-highlight{opacity:1;border-color:var(--primary-color);color:var(--primary-color)}.timeline-summary-edit{flex:1;min-width:0}.timeline-summary-edit textarea{width:100%;min-height:52px;padding:6px 8px;font-size:13px;line-height:1.5;border:1px solid var(--primary-color);border-radius:6px;background:var(--bg-color);color:var(--text-color);outline:none;resize:vertical;box-sizing:border-box}.timeline-summary-edit-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.timeline-summary-edit-hint{font-size:11px;color:var(--text-secondary);margin-right:auto}.timeline-summary-save,.timeline-summary-cancel{display:flex;align-items:center;gap:4px;padding:3px 10px;font-size:12px;border-radius:5px;cursor:pointer;border:none}.timeline-summary-save{background:var(--primary-color);color:#fff}.timeline-summary-save:disabled{opacity:.6;cursor:not-allowed}.timeline-summary-cancel{background:transparent;color:var(--text-secondary)}.timeline-summary-cancel:hover{background:#ef44441a;color:#ef4444}.volume-chapter-row+.volume-chapter-row{border-top:1px solid var(--border-color)}.ai-popup-root{display:flex;width:100%;height:calc(100vh / var(--ui-zoom, 1));overflow:hidden;background-color:var(--bg-color, #f5f5f5);color:var(--text-color, #333);font-family:var(--font-family-ui)}.ai-popup-left{flex:1;min-width:180px;max-width:280px;flex-shrink:0;display:flex;flex-direction:column;background-color:var(--card-bg, #fff);border-right:1px solid var(--border-color, #e8e8e8);overflow:hidden}.ai-popup-new-btn-wrap{padding:12px 12px 8px;flex-shrink:0}.ai-popup-new-btn{width:100%;padding:8px 12px;background:var(--primary-color, #6366f1);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .2s}.ai-popup-new-btn:hover{background:var(--primary-hover, #4f46e5)}.ai-popup-divider{height:1px;background-color:var(--border-color, #e8e8e8);margin:0 12px;flex-shrink:0}.ai-popup-conv-list{flex:1;overflow-y:auto;padding:8px}.ai-popup-conv-list::-webkit-scrollbar{width:4px}.ai-popup-conv-list::-webkit-scrollbar-thumb{background:var(--border-color, #e8e8e8);border-radius:2px}.ai-popup-conv-item{width:100%;display:flex;align-items:center;border-radius:6px;background:transparent;transition:background .15s;margin-bottom:2px;position:relative}.ai-popup-conv-item:hover{background:var(--hover-bg, rgba(0, 0, 0, .04))}.ai-popup-conv-item.is-selected{background:var(--selected-bg, rgba(99, 102, 241, .08))}.ai-popup-conv-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 4px 8px 8px;border:none;background:transparent;cursor:pointer;text-align:left}.ai-popup-conv-delete-btn{width:20px;height:20px;margin-right:4px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #bbb);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,color .15s;flex-shrink:0}.ai-popup-conv-item:hover .ai-popup-conv-delete-btn{opacity:1}.ai-popup-conv-delete-btn:hover{background:#ef44441a;color:#ef4444}.ai-chat-sidebar-tools{display:flex;flex-direction:column;gap:6px;padding:0 10px 8px}.ai-chat-sidebar-search{position:relative;display:flex;align-items:center}.ai-chat-sidebar-search-icon{position:absolute;left:8px;color:var(--text-secondary);pointer-events:none}.ai-chat-sidebar-search-input{width:100%;padding:5px 8px 5px 24px;font-size:12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-color);outline:none}.ai-chat-sidebar-search-input:focus{border-color:var(--primary-color)}.ai-chat-sidebar-filter{width:100%;padding:4px 6px;font-size:12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-color);color:var(--text-color);outline:none;cursor:pointer}.ai-popup-conv-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.ai-popup-conv-item:hover .ai-popup-conv-actions{opacity:1}.ai-popup-conv-rename-btn{flex-shrink:0;width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.ai-popup-conv-rename-btn:hover{background:var(--hover-bg);color:var(--text-color)}.ai-popup-conv-rename{display:flex;align-items:center;gap:3px;width:100%}.ai-popup-conv-rename input{flex:1;min-width:0;padding:3px 6px;font-size:12px;border:1px solid var(--primary-color);border-radius:4px;background:var(--bg-color);color:var(--text-color);outline:none}.ai-popup-conv-rename-ok,.ai-popup-conv-rename-cancel{flex-shrink:0;width:18px;height:18px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.ai-popup-conv-rename-ok{background:var(--primary-color);color:#fff}.ai-popup-conv-rename-cancel{background:transparent;color:var(--text-secondary)}.ai-popup-conv-rename-cancel:hover{background:#ef44441a;color:#ef4444}.ai-popup-mode-badge{flex-shrink:0;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.3px}.ai-popup-mode-badge.badge-chat{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.25)}.ai-popup-mode-badge.badge-writing{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.25)}.ai-popup-conv-info{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;gap:8px}.ai-popup-conv-title{flex:1;min-width:0;font-size:12px;color:var(--text-color, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.ai-popup-conv-date{flex-shrink:0;font-size:11px;color:var(--text-secondary, #999);line-height:1.3;white-space:nowrap}.ai-popup-conv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;gap:8px;color:var(--text-secondary, #999)}.ai-popup-conv-empty-icon{font-size:28px;opacity:.6}.ai-popup-conv-empty p{font-size:12px;margin:0;text-align:center}.ai-popup-right{flex:5;min-width:0;display:flex;flex-direction:column;overflow:hidden;background-color:var(--bg-color, #f5f5f5)}.ai-popup-right-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary, #999)}.ai-popup-right-empty-icon{font-size:48px;opacity:.4}.ai-popup-right-empty h3{font-size:16px;font-weight:500;color:var(--text-color, #555);margin:0}.ai-popup-right-empty p{font-size:13px;margin:0;text-align:center;max-width:280px;line-height:1.6}.ai-popup-right-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ai-popup-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--text-secondary)}.ai-popup-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.ai-popup-modal{background:var(--card-bg, #fff);border-radius:12px;padding:24px;width:320px;box-shadow:0 8px 32px #0003}.ai-popup-modal h3{font-size:16px;font-weight:600;color:var(--text-color, #333);margin:0 0 16px;text-align:center}.ai-popup-modal-options{display:flex;flex-direction:column;gap:10px}.ai-popup-modal-option{padding:12px 16px;border:1.5px solid var(--border-color, #e8e8e8);border-radius:8px;background:transparent;cursor:pointer;text-align:left;transition:all .15s;display:flex;flex-direction:column;gap:4px}.ai-popup-modal-option:hover{border-color:var(--primary-color, #6366f1);background:#6366f10a}.ai-popup-modal-option-title{font-size:14px;font-weight:500;color:var(--text-color, #333)}.ai-popup-modal-option-desc{font-size:12px;color:var(--text-secondary, #999)}.ai-popup-modal-cancel{margin-top:12px;width:100%;padding:8px;border:none;background:transparent;color:var(--text-secondary, #999);font-size:13px;cursor:pointer;border-radius:6px;transition:background .15s}.ai-popup-modal-cancel:hover{background:var(--hover-bg, rgba(0, 0, 0, .04))}.dark-mode .ai-popup-left{background-color:var(--card-bg, #1e1e2e);border-right-color:var(--border-color, #2d2d3d)}.dark-mode .ai-popup-conv-item:hover{background:#ffffff0f}.dark-mode .ai-popup-conv-item.is-selected{background:#6366f126}.dark-mode .ai-popup-modal{background:var(--card-bg, #1e1e2e)}.dark-mode .ai-popup-modal-option{border-color:var(--border-color, #2d2d3d)}.dark-mode .ai-popup-modal-option:hover{border-color:var(--primary-color, #6366f1);background:#6366f11a}.ai-combined-section{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0 8px 8px}.ai-combined-header{display:flex;align-items:center;padding:8px 4px 6px;flex-shrink:0}.ai-combined-label{font-size:11px;font-weight:600;color:var(--text-secondary, #999);text-transform:uppercase;letter-spacing:.5px}.ai-combined-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.ai-combined-list::-webkit-scrollbar{width:3px}.ai-combined-list::-webkit-scrollbar-thumb{background:var(--border-color, #e8e8e8);border-radius:2px}.ai-combined-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 6px;border:none;border-radius:6px;background:transparent;cursor:pointer;text-align:left;transition:background .15s}.ai-combined-item:hover{background:var(--hover-bg, rgba(0, 0, 0, .04))}.ai-combined-mode-badge{flex-shrink:0;padding:1px 5px;border-radius:3px;font-size:11px;font-weight:600;letter-spacing:.3px}.ai-combined-mode-badge.badge-chat{background:#10b9811f;color:#059669;border:1px solid rgba(16,185,129,.2)}.ai-combined-mode-badge.badge-writing{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.2)}.ai-combined-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ai-combined-item-title{font-size:12px;color:var(--text-color, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.ai-combined-item-date{font-size:11px;color:var(--text-secondary, #aaa);line-height:1.3}.ai-combined-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 12px;gap:6px;color:var(--text-secondary, #bbb)}.ai-combined-empty-icon{font-size:24px;opacity:.5}.ai-combined-empty p{font-size:12px;margin:0;text-align:center}.ai-combined-empty-hint{font-size:11px!important;opacity:.7}.cm-ai-panel-popup-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #999);cursor:pointer;transition:all .15s;flex-shrink:0}.cm-ai-panel-popup-btn:hover{background:var(--hover-bg, rgba(0, 0, 0, .06));color:var(--text-color, #555)}.cm-ai-panel-content-hidden{display:none!important}.ai-popup-mode-selection{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 24px;background-color:var(--bg-color, #f5f5f5)}.ai-popup-mode-selection-inner{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:400px;width:100%}.ai-popup-mode-selection-icon{font-size:40px;opacity:.7;margin-bottom:4px}.ai-popup-mode-selection-title{font-size:20px;font-weight:600;color:var(--text-color, #333);margin:0;text-align:center}.ai-popup-mode-selection-desc{font-size:13px;color:var(--text-secondary, #999);margin:0 0 8px;text-align:center}.ai-popup-mode-selection-options{display:flex;flex-direction:column;gap:12px;width:100%}.ai-popup-mode-option{display:flex;align-items:center;gap:14px;padding:16px 20px;border:1.5px solid var(--border-color, #e8e8e8);border-radius:12px;background:var(--card-bg, #fff);cursor:pointer;text-align:left;transition:all .18s;width:100%}.ai-popup-mode-option:hover{border-color:var(--primary-color, #6366f1);background:#6366f10a;transform:translateY(-1px);box-shadow:0 4px 12px #6366f11f}.ai-popup-mode-option:active{transform:translateY(0)}.ai-popup-mode-option-icon{font-size:28px;flex-shrink:0;line-height:1}.ai-popup-mode-option-body{display:flex;flex-direction:column;gap:4px;min-width:0}.ai-popup-mode-option-title{font-size:15px;font-weight:600;color:var(--text-color, #333);line-height:1.3}.ai-popup-mode-option-desc{font-size:12px;color:var(--text-secondary, #999);line-height:1.5}.dark-mode .ai-popup-mode-option{background:var(--card-bg, #1e1e2e);border-color:var(--border-color, #2d2d3d)}.dark-mode .ai-popup-mode-option:hover{border-color:var(--primary-color, #6366f1);background:#6366f11a}.ai-tools-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ai-tools-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--card-bg, #fff);color:var(--text-secondary, #666);cursor:pointer;transition:all .15s ease}.ai-tools-btn:hover:not(:disabled){border-color:var(--primary-color, #6366f1);color:var(--primary-color, #6366f1)}.ai-tools-btn:disabled{opacity:.5;cursor:not-allowed}.ai-tools-history-btn.is-active{border-color:var(--primary-color, #6366f1);color:var(--primary-color, #6366f1);background:#6366f114}.ai-tools-group{position:relative}.ai-tools-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;box-shadow:0 6px 20px #0000001f;padding:4px;display:flex;flex-direction:column;min-width:170px}.ai-tools-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;font-size:12px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-color, #333);text-align:left}.ai-tools-menu-item:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.ai-tools-menu-label{font-weight:600}.ai-tools-menu-desc{color:var(--text-secondary, #666);font-size:11px}.ai-context-blocks{padding:6px 8px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ai-context-block{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;font-size:11px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--card-bg, #fff);color:var(--text-color, #333)}.ai-context-block-header{white-space:nowrap}.ai-context-block-remove{border:none;background:transparent;color:var(--text-secondary, #666);cursor:pointer;font-size:13px;line-height:1;padding:0 2px}.ai-context-block-remove:hover{color:var(--danger-color, #e5484d)}.ai-context-block-clear{padding:3px 8px;font-size:11px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:transparent;color:var(--text-secondary, #666);cursor:pointer}.ai-context-block-clear:hover{color:var(--danger-color, #e5484d);border-color:var(--danger-color, #e5484d)}.ai-act-user-pill--context{border:1px solid var(--border-color, #e5e7eb);background:var(--card-bg, #fff);cursor:default}.ai-act-user-pill--context.is-jumpable{cursor:pointer}.ai-act-user-pill--context.is-jumpable:hover{border-color:var(--primary-color, #6366f1);color:var(--primary-color, #6366f1)}.ai-act-context-jump{font-size:11px;opacity:.7;margin-left:2px}nav.sidebar-rail{flex:0 0 auto;width:48px;min-height:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0;background-color:var(--card-bg);border-right:1px solid var(--border-color);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.sidebar-rail>.sidebar-rail-btn,.sidebar-rail-vol,.sidebar-rail-chap-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;line-height:1;transition:background-color .15s,color .15s}.sidebar-rail>.sidebar-rail-btn:hover,.sidebar-rail-vol:hover:not(:disabled),.sidebar-rail-chap-item:hover{background-color:var(--hover-bg);color:var(--text-color)}.sidebar-rail>.sidebar-rail-btn:active,.sidebar-rail-vol:active:not(:disabled),.sidebar-rail-chap-item:active{transform:scale(.94)}.sidebar-rail>.sidebar-rail-btn:focus-visible,.sidebar-rail-vol:focus-visible,.sidebar-rail-chap-item:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.sidebar-rail>.sidebar-rail-btn{width:34px;height:34px;margin-bottom:2px}.sidebar-rail-nav{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,color .15s}.sidebar-rail-nav:hover{background-color:var(--hover-bg);color:var(--text-color)}.sidebar-rail-nav:active{transform:scale(.94)}.sidebar-rail-nav:focus-visible{outline:2px solid var(--primary-color);outline-offset:-2px}.sidebar-rail-nav.is-active{background-color:var(--primary-color-light);color:var(--primary-color)}.sidebar-rail-vol{width:40px;height:44px;border-top:1px solid transparent;border-bottom:1px solid transparent}.sidebar-rail-vol .sidebar-rail-num{font-size:var(--font-size-xs);font-weight:600}.sidebar-rail-vol[aria-expanded=true]{background-color:var(--primary-color-light);color:var(--primary-color)}.sidebar-rail-vol.is-current{box-shadow:inset 2px 0 0 0 var(--primary-color);color:var(--primary-color)}.sidebar-rail-scroll{flex:1 1 auto;min-height:0;width:100%;padding:2px 0 6px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;gap:2px;scrollbar-width:thin}.sidebar-rail-vol-block{width:100%;display:flex;flex-direction:column;align-items:center;gap:1px;flex-shrink:0}.sidebar-rail-chap-list{width:100%;display:flex;flex-direction:column;align-items:center;gap:1px;padding-bottom:3px}.sidebar-rail-chap-item{width:36px;min-height:22px;padding:2px 0;font-size:var(--font-size-caption)}.sidebar-rail-chap-item.is-current{background-color:var(--primary-color-light);color:var(--primary-color);font-weight:600}.sidebar-rail-chap-empty{flex-shrink:0;padding:4px 0;font-family:var(--font-family-mono);font-size:var(--font-size-caption);color:var(--text-secondary)}.chapter-editor-container{flex:1;min-height:0;display:flex;flex-direction:column;background-color:var(--bg-color);position:relative}.editor-toolbar{display:flex;align-items:center;gap:1px;row-gap:3px;padding:3px 8px;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);border-radius:0;flex-shrink:0;flex-wrap:wrap;min-height:40px;margin:0}.toolbar-group{display:flex;align-items:center;gap:1px}.toolbar-group button{display:flex;align-items:center;justify-content:center;width:26px;height:28px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;position:relative}.toolbar-group button:hover{background-color:var(--hover-bg);color:var(--text-color)}.toolbar-group button.is-active{background-color:var(--primary-color);color:#fff}.toolbar-group button:disabled{opacity:.3;cursor:not-allowed}.toolbar-group button:disabled:hover{background:transparent;color:var(--text-secondary)}.toolbar-divider{width:1px;height:18px;background-color:var(--border-color);margin:0 3px;flex-shrink:0}.toolbar-group .toolbar-text-btn{width:22px;font-size:11px;font-weight:700;letter-spacing:0}.toolbar-group .toolbar-text-btn.is-active{background-color:var(--primary-color);color:#fff}.save-status{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:none;font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap;cursor:pointer}.save-status:hover{color:var(--text-color)}.save-status:before{content:"";width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--success-color)}.save-status.has-changes{color:var(--text-color)}.save-status.has-changes:before{background:var(--accent-color);animation:saveDotPulse 1.4s ease-in-out infinite}.save-status.is-saving:before{background:var(--text-secondary);opacity:.5}@keyframes saveDotPulse{0%,to{opacity:1;box-shadow:0 0 #c47e5a59}50%{opacity:.65;box-shadow:0 0 0 4px #c47e5a00}}.chapter-summary-area{padding:6px 16px;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;transition:max-height .25s ease}.summary-label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none}.summary-label:after{content:" + 添加摘要";font-size:11px;font-weight:400;color:var(--text-secondary);opacity:.5;font-style:italic}.summary-textarea{width:100%;padding:6px 10px;margin-top:4px;font-size:13px;line-height:1.6;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--bg-color);color:var(--text-color);resize:vertical;outline:none;font-family:inherit;transition:border-color .2s;box-sizing:border-box;min-height:36px}.summary-textarea:focus{border-color:var(--primary-color)}.summary-textarea::placeholder{color:var(--text-secondary);opacity:.5}.chapter-title-area{padding:12px 16px 4px;flex-shrink:0}.chapter-title-input{width:100%;font-size:22px;font-weight:700;border:none;background:transparent;color:var(--text-color);outline:none;padding:0;line-height:1.4}.chapter-title-input::placeholder{color:var(--text-secondary);opacity:.4}.editor-area-wrapper{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.editor-wrapper{flex:1;min-height:0;overflow-y:auto;padding:8px 16px 16px;scrollbar-width:none;-ms-overflow-style:none}.editor-wrapper::-webkit-scrollbar{width:0;height:0;display:none}.editor-wrapper .tiptap{outline:none;min-height:300px;padding:20px 0;font-size:var(--editor-font-size, 16px);line-height:1.9;color:var(--text-color);background-color:var(--editor-paper, transparent);border-radius:var(--radius-md);transition:background-color .2s ease}.editor-wrapper .tiptap>*:first-child{margin-top:0}.editor-wrapper .tiptap p{margin:.5em 0}.editor-wrapper .tiptap h1{font-size:1.8em;font-weight:700;margin:1em 0 .5em;line-height:1.3}.editor-wrapper .tiptap h2{font-size:1.4em;font-weight:600;margin:.8em 0 .4em;line-height:1.4}.editor-wrapper .tiptap h3{font-size:1.2em;font-weight:600;margin:.6em 0 .3em;line-height:1.4}.editor-wrapper .tiptap ul{list-style-type:disc;padding-left:1.5em;margin:.5em 0}.editor-wrapper .tiptap ol{list-style-type:decimal;padding-left:1.5em;margin:.5em 0}.editor-wrapper .tiptap li{margin:.2em 0}.editor-wrapper .tiptap li p{margin:0}.editor-wrapper .tiptap blockquote{border-left:3px solid var(--primary-color);padding-left:1em;margin:.8em 0;color:var(--text-secondary);font-style:italic}.editor-wrapper .tiptap blockquote p{margin:.3em 0}.editor-wrapper .tiptap hr{border:none;border-top:2px solid var(--border-color);margin:1.5em 0}.editor-wrapper .tiptap mark{background-color:#fef08a;border-radius:2px;padding:0 2px}html.dark-mode .editor-wrapper .tiptap mark{background-color:#854d0e;color:#fef08a}.editor-wrapper .tiptap code{background-color:var(--hover-bg);border-radius:3px;padding:.15em .4em;font-size:.9em;font-family:var(--font-family-mono)}.editor-wrapper .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-secondary);opacity:.35;pointer-events:none;height:0;font-style:italic}.editor-wrapper .tiptap [style*="text-align: center"]{text-align:center}.editor-wrapper .tiptap [style*="text-align: right"]{text-align:right}.editor-wrapper .tiptap [style*="text-align: justify"]{text-align:justify}.editor-status-bar{display:flex;align-items:center;justify-content:space-between;margin:0;padding:4px 36px;background-color:var(--bg-color);border-top:1px solid var(--border-color);font-size:11px;color:var(--text-secondary);flex-shrink:0;box-sizing:border-box;min-height:30px;height:auto}.status-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.status-right{display:flex;align-items:center;gap:8px}.status-divider{opacity:.3}.word-count{font-weight:600;color:var(--accent-color)}.word-target{color:var(--text-secondary);opacity:.75}.word-target-met{color:#3f9e63;opacity:1;font-weight:600}.chapter-status-picker{display:flex;align-items:center;gap:2px}.chapter-status-option{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border:none;border-radius:5px;background:transparent;color:var(--text-secondary);font-size:11px;font-family:inherit;cursor:pointer;transition:background-color .15s,color .15s}.chapter-status-option:hover{background-color:var(--hover-bg);color:var(--text-color)}.chapter-status-option.is-active{background-color:var(--primary-color-light);color:var(--primary-color);font-weight:600}.chapter-status-option .chapter-status-dot{width:6px;height:6px;margin-right:0}.word-target-input{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);opacity:.85}.word-target-input input{width:58px;padding:1px 4px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--card-bg);color:var(--text-color);font-size:11px;font-family:inherit;text-align:right}.word-target-input input:focus{outline:none;border-color:var(--primary-color)}.cm-version-diff-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-color)}.cm-version-diff-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0}.cm-version-diff-title{font-size:13px;font-weight:600;color:var(--text-color)}.cm-version-diff-content{flex:1;overflow-y:auto;padding:16px}.cm-version-diff-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:13px;opacity:.5}.editor-writing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:15;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.editor-context-menu{position:fixed;z-index:2000;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;min-width:160px;animation:menuExpand .12s ease-out}.draft-recovery-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;margin:8px 16px 0;border:1px solid var(--primary-color, #6366f1);border-radius:8px;background:var(--primary-color-light, rgba(99, 102, 241, .08));font-size:12px;color:var(--text-color, #333)}.draft-recovery-actions{display:flex;gap:8px;flex-shrink:0}.draft-recovery-actions button{padding:4px 12px;font-size:12px;border-radius:5px;cursor:pointer}.draft-recovery-restore{border:none;background:var(--primary-color, #6366f1);color:#fff}.draft-recovery-discard{border:1px solid var(--border-color, #e5e7eb);background:transparent;color:var(--text-secondary, #666)}.cm-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;background:color-mix(in srgb,var(--modal-mask) 78%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease-out;padding:12px}.cm-preview-stage{display:flex;align-items:center;justify-content:center;gap:18px}.cm-preview-phone{position:relative;width:360px;height:min(78vh,748px);background:linear-gradient(160deg,#17171b,#0c0c0f);border-radius:46px;box-shadow:0 0 0 2px #45464c,0 26px 70px #14182073,inset 0 0 0 3px #131316;overflow:hidden;animation:scaleUp .2s ease-out;flex-shrink:0}.cm-preview-phone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:46px;box-shadow:inset 0 0 0 1.5px #ffffff1a;pointer-events:none;z-index:6}.cm-preview-notch{position:absolute;top:11px;left:50%;transform:translate(-50%);width:96px;height:27px;background:#000;border-radius:15px;z-index:7;pointer-events:none}.cm-preview-topbar{position:absolute;top:0;left:0;right:0;height:44px;z-index:6;pointer-events:none;background:var(--pv-bg, #f7f3ec);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 22px}.cm-preview-bookinfo{max-width:124px;font-size:12px;font-weight:600;color:var(--pv-topbar, #47433c);letter-spacing:.01em;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-preview-bookinfo--left{text-align:left}.cm-preview-bookinfo--right{text-align:right;font-weight:500;color:var(--pv-secondary, #6f6a60)}.cm-preview-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:8;transition:all .15s;box-shadow:var(--shadow-md)}.cm-preview-close:hover{background:var(--hover-bg);color:var(--text-color)}.cm-preview-screen{position:absolute;top:3px;right:3px;bottom:3px;left:3px;background:var(--pv-bg, #f7f3ec);border-radius:43px;overflow:hidden;display:flex;flex-direction:column;color:var(--pv-text, #24262b);transition:background-color .2s ease,color .2s ease}.cm-preview-content{flex:1;min-height:0;overflow-y:auto;padding:58px 20px 54px;scrollbar-width:none;-ms-overflow-style:none}.cm-preview-content::-webkit-scrollbar{width:0;height:0;display:none}.cm-preview-heading{margin:0 0 22px;font-size:19px;font-weight:700;text-align:center;color:var(--pv-heading, #1c1e22);line-height:1.5}.cm-preview-body{font-size:17px;line-height:2;text-align:justify;color:var(--pv-text, #24262b);transition:color .2s ease}.cm-preview-body p{text-indent:2em;margin:0 0 .55em}.cm-preview-body h1,.cm-preview-body h2,.cm-preview-body h3{text-indent:0;margin:1em 0 .5em;color:var(--pv-heading, #1c1e22)}.cm-preview-body h1{font-size:21px}.cm-preview-body h2{font-size:19px}.cm-preview-body h3{font-size:18px}.cm-preview-body ul,.cm-preview-body ol{padding-left:1.5em;margin:.6em 0}.cm-preview-body blockquote{margin:.8em 0;padding:0 1em;border-left:3px solid var(--pv-quote-border, #c9c2b5);color:var(--pv-quote-text, #77726a)}.cm-preview-body mark{background-color:#fdeeb0;border-radius:2px;padding:0 2px}html.dark-mode .cm-preview-body mark{background-color:#854d0e;color:#fef08a}.cm-preview-body hr{border:none;border-top:1px solid var(--pv-hr, #d8d2c6);margin:1.2em 0}.cm-preview-empty{text-align:center;color:var(--pv-secondary, #9b968b);font-size:15px;margin-top:40px}.cm-preview-home-bar{position:absolute;bottom:6px;left:50%;transform:translate(-50%);width:118px;height:5px;border-radius:3px;background:var(--pv-home, rgba(20, 22, 26, .45));z-index:6;pointer-events:none}.cm-preview-bottom-fade{position:absolute;left:0;right:0;bottom:0;height:40px;z-index:6;pointer-events:none;background:linear-gradient(to top,var(--pv-bg, #f7f3ec) 78%,color-mix(in srgb,var(--pv-bg, #f7f3ec) 0%,transparent) 100%)}.cm-preview-progress-label{position:absolute;left:16px;bottom:14px;font-size:11px;font-weight:500;color:var(--pv-secondary, #8b867c);letter-spacing:.03em;z-index:7;pointer-events:none;font-variant-numeric:tabular-nums}.cm-preview-panel{width:196px;flex-shrink:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);padding:14px;display:flex;flex-direction:column;gap:12px;color:var(--text-color);animation:scaleUp .2s ease-out;align-self:center;max-height:min(78vh,748px);overflow-y:auto}.cm-preview-panel-title{font-size:13px;font-weight:700;letter-spacing:.02em;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.cm-preview-setting{display:flex;flex-direction:column;gap:6px}.cm-preview-setting-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cm-preview-setting-label{font-size:12px;color:var(--text-secondary);font-weight:500}.cm-preview-swatches{display:flex;flex-wrap:wrap;gap:6px}.cm-preview-swatches.is-disabled{opacity:.4;pointer-events:none}.cm-preview-swatch{width:24px;height:24px;border-radius:7px;border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0;transition:all .15s}.cm-preview-swatch:hover{transform:scale(1.08)}.cm-preview-swatch.is-active{box-shadow:0 0 0 2px var(--card-bg),0 0 0 4px var(--primary-color)}.cm-preview-switch{position:relative;width:38px;height:21px;border-radius:11px;border:1px solid var(--border-color);background:var(--hover-bg);cursor:pointer;padding:0;transition:all .2s;flex-shrink:0}.cm-preview-switch.is-on{background:var(--primary-color);border-color:var(--primary-color)}.cm-preview-switch-thumb{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:left .2s}.cm-preview-switch.is-on .cm-preview-switch-thumb{left:19px}.cm-preview-stepper{display:flex;align-items:center;gap:4px}.cm-preview-stepper button{width:24px;height:24px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;transition:all .15s}.cm-preview-stepper button:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.cm-preview-stepper button:disabled{opacity:.35;cursor:not-allowed}.cm-preview-stepper-value{flex:1;text-align:center;font-size:12px;font-weight:600;color:var(--text-color);font-variant-numeric:tabular-nums;min-width:44px}.cm-preview-reset{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px 0;margin-top:2px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);border-radius:7px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.cm-preview-reset:hover{border-color:var(--primary-color);color:var(--primary-color)}.cm-preview-panel-note{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:var(--text-secondary);opacity:.75}.chapter-editor-container{--editor-rule-color: rgba(90, 102, 118, .16)}html.dark-mode .chapter-editor-container{--editor-rule-color: rgba(255, 255, 255, .13)}.chapter-editor-container.editor-bg-default{--editor-paper: transparent}.chapter-editor-container.editor-bg-white{--editor-paper: #ffffff}html.dark-mode .chapter-editor-container.editor-bg-white{--editor-paper: #222221}.chapter-editor-container.editor-bg-beige{--editor-paper: #f8f1df}html.dark-mode .chapter-editor-container.editor-bg-beige{--editor-paper: #2c2922}.chapter-editor-container.editor-bg-green{--editor-paper: #e8f1e6}html.dark-mode .chapter-editor-container.editor-bg-green{--editor-paper: #242c25}.chapter-editor-container.editor-bg-slate{--editor-paper: #f2f3f5}html.dark-mode .chapter-editor-container.editor-bg-slate{--editor-paper: #212226}.editor-rule-solid .editor-wrapper .tiptap>p{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(1.9em - 1px),var(--editor-rule-color) calc(1.9em - 1px),var(--editor-rule-color) 1.9em);background-size:100% 1.9em;background-repeat:repeat-y}.editor-rule-dashed .editor-wrapper .tiptap>p{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32' preserveAspectRatio='none'%3E%3Cline x1='0' y1='31' x2='24' y2='31' stroke='%234f5a68' stroke-opacity='0.30' stroke-width='1' stroke-dasharray='8 4'/%3E%3C/svg%3E");background-size:24px 1.9em;background-repeat:repeat}html.dark-mode .editor-rule-dashed .editor-wrapper .tiptap>p{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32' preserveAspectRatio='none'%3E%3Cline x1='0' y1='31' x2='24' y2='31' stroke='%23ffffff' stroke-opacity='0.14' stroke-width='1' stroke-dasharray='8 4'/%3E%3C/svg%3E")}.editor-gap-compact .editor-wrapper .tiptap>p{margin:.3em 0}.editor-gap-standard .editor-wrapper .tiptap>p{margin:.8em 0}.editor-gap-wide .editor-wrapper .tiptap>p{margin:1.3em 0}.editor-rule-solid.editor-gap-compact .editor-wrapper .tiptap>p,.editor-rule-solid.editor-gap-standard .editor-wrapper .tiptap>p,.editor-rule-solid.editor-gap-wide .editor-wrapper .tiptap>p,.editor-rule-dashed.editor-gap-compact .editor-wrapper .tiptap>p,.editor-rule-dashed.editor-gap-standard .editor-wrapper .tiptap>p,.editor-rule-dashed.editor-gap-wide .editor-wrapper .tiptap>p{margin:0}.editor-gap-compact .editor-wrapper .tiptap>p:first-child,.editor-gap-standard .editor-wrapper .tiptap>p:first-child,.editor-gap-wide .editor-wrapper .tiptap>p:first-child{margin-top:0}.editor-indent-on .editor-wrapper .tiptap>p{text-indent:2em}.editor-appearance-panel{position:absolute;top:8px;right:10px;z-index:80;width:252px;padding:12px 14px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:13px;color:var(--text-color);animation:scaleUp .15s ease-out}.ea-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ea-title{font-size:13px;font-weight:700;letter-spacing:.02em}.ea-header-actions{display:flex;align-items:center;gap:2px}.ea-icon-btn{width:22px;height:22px;border:none;background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.ea-icon-btn:hover{background:var(--hover-bg);color:var(--text-color)}.ea-section{display:flex;flex-direction:column;gap:6px}.ea-section-row{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.ea-section-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.ea-section-hint{font-size:11px;line-height:1.5;color:var(--text-secondary);opacity:.72}.ea-swatches{display:flex;gap:6px}.ea-swatch{width:32px;height:22px;padding:0;border:1px solid rgba(0,0,0,.14);border-radius:6px;cursor:pointer;transition:all .15s}.ea-swatch:hover{transform:scale(1.07)}.ea-swatch.is-active{box-shadow:0 0 0 2px var(--card-bg),0 0 0 4px var(--primary-color)}.ea-swatch-default{background:#faf8f5}html.dark-mode .ea-swatch-default{background:#1a1a18}.ea-swatch-white{background:#fff}html.dark-mode .ea-swatch-white{background:#222221}.ea-swatch-beige{background:#f8f1df}html.dark-mode .ea-swatch-beige{background:#2c2922}.ea-swatch-green{background:#e8f1e6}html.dark-mode .ea-swatch-green{background:#242c25}.ea-swatch-slate{background:#f2f3f5}html.dark-mode .ea-swatch-slate{background:#212226}.ea-swatch-names{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-secondary)}.ea-swatch-names span{flex:1;text-align:center}.ea-swatch-names span.is-active{color:var(--primary-color);font-weight:600}.ea-segment{display:flex;gap:2px;padding:2px;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:7px}.ea-segment-option{flex:1;padding:3px 0;font-size:11px;font-weight:500;white-space:nowrap;border:none;background:transparent;color:var(--text-secondary);border-radius:5px;cursor:pointer;transition:all .15s}.ea-segment-option:hover:not(:disabled){color:var(--text-color)}.ea-segment-option.is-active{background:var(--primary-color);color:#fff}.ea-segment-option:disabled{opacity:.4;cursor:default}.ea-switch{position:relative;width:38px;height:21px;padding:0;border:1px solid var(--border-color);border-radius:11px;background:var(--hover-bg);cursor:pointer;transition:all .2s;flex-shrink:0}.ea-switch.is-on{background:var(--primary-color);border-color:var(--primary-color)}.ea-switch-thumb{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:left .2s}.ea-switch.is-on .ea-switch-thumb{left:19px}.ptm-modal{width:460px}.ptm-quote{display:flex;align-items:flex-start;gap:6px;margin-bottom:6px;padding:8px 10px;border-left:3px solid var(--primary-color);border-radius:var(--radius-sm);background-color:var(--hover-bg);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6;max-height:96px;overflow:hidden}.ptm-quote-icon{flex-shrink:0;margin-top:3px;color:var(--primary-color)}.ptm-hint{margin:0 0 16px;color:var(--text-secondary);font-size:var(--font-size-xs);opacity:.8}.ptm-field{margin-bottom:16px}.ptm-label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:var(--font-size-xs)}.ptm-kinds{display:flex;gap:6px}.ptm-kind{flex:1;padding:7px 0;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--card-bg);color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:all .15s}.ptm-kind:hover{background-color:var(--hover-bg)}.ptm-kind.is-active{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff;font-weight:500}.ptm-kind-subplot.is-active{border-color:#3f7a52;background-color:#3f7a52}.ptm-kind-mystery.is-active{border-color:#a8761d;background-color:#a8761d}.ptm-kind-promise.is-active{border-color:#a2603c;background-color:#a2603c}.find-replace-panel{position:absolute;top:8px;right:16px;z-index:30;display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--card-bg);box-shadow:0 6px 20px #0000001f;font-size:var(--font-size-caption, 12px)}.find-replace-row{display:flex;align-items:center;gap:4px}.find-replace-input{width:190px;padding:3px 7px;border:1px solid var(--border-color);border-radius:5px;background-color:var(--bg-color);color:var(--text-color);font-size:var(--font-size-caption, 12px);font-family:inherit}.find-replace-input:focus{outline:none;border-color:var(--primary-color)}.find-replace-count{min-width:46px;text-align:center;color:var(--text-secondary);white-space:nowrap}.find-replace-count.is-error{color:var(--danger-color)}.find-replace-toggle,.find-replace-flag,.find-replace-nav{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background-color .15s,color .15s}.find-replace-toggle:hover,.find-replace-flag:hover,.find-replace-nav:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-color)}.find-replace-nav:disabled{opacity:.35;cursor:default}.find-replace-flag.is-active{background-color:var(--primary-color-light);color:var(--primary-color)}.find-replace-action{padding:3px 9px;border:1px solid var(--border-color);border-radius:5px;background-color:var(--bg-color);color:var(--text-color);font-size:var(--font-size-caption, 12px);font-family:inherit;cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s}.find-replace-action:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.find-replace-action:disabled{opacity:.4;cursor:default}.find-replace-spacer{width:22px;flex-shrink:0}.find-replace-hint{color:var(--text-secondary);opacity:.8;padding-left:26px}.chapter-editor-content .search-match{background-color:#d99a2b47;border-radius:2px}.chapter-editor-content .search-match-active{background-color:#d99a2b8c;box-shadow:0 0 0 1px #d99a2bb3}.ng-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-mask);display:flex;align-items:center;justify-content:center;z-index:1200;animation:fadeIn .15s ease-out}.ng-overlay--paused{pointer-events:none;background:transparent;z-index:990}.ng-overlay--paused .ng-modal{opacity:.55;filter:grayscale(.3);transform:scale(.98);box-shadow:none}.ng-confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-mask);display:flex;align-items:center;justify-content:center;z-index:1300;animation:fadeIn .12s ease-out}.ng-confirm{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(420px,88vw);padding:22px 24px;display:flex;flex-direction:column;gap:12px;animation:fadeUp .18s ease-out}.ng-confirm-title{font-size:16px;font-weight:600;color:var(--primary-color);font-family:var(--font-family-ui);letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ng-confirm-desc{font-size:13px;color:var(--text-secondary);line-height:1.6}.ng-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.ng-modal{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(860px,92vw);height:min(86vh,620px);display:flex;flex-direction:column;overflow:hidden;animation:fadeUp .2s ease-out}.ng-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-color);flex-shrink:0}.ng-header-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-color)}.ng-header-title svg{color:var(--primary-color)}.ng-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.ng-close:hover{background:var(--hover-bg);color:var(--text-color)}.ng-tabs{display:flex;gap:4px;padding:10px 18px 0;border-bottom:1px solid var(--border-color);flex-shrink:0}.ng-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:2px solid transparent;transition:all .15s ease}.ng-tab:hover{color:var(--text-color);background:var(--hover-bg)}.ng-tab.is-active{color:var(--primary-color);font-weight:600;border-bottom-color:var(--primary-color)}.ng-body{display:flex;flex:1;min-height:0;overflow:hidden}.ng-filters{width:280px;flex-shrink:0;padding:16px;border-right:1px solid var(--border-color);overflow-y:auto;display:flex;flex-direction:column;gap:14px}.ng-field{display:flex;flex-direction:column;gap:6px}.ng-field-label{font-size:12px;color:var(--text-secondary)}.ng-seg{display:flex;gap:6px}.ng-seg-btn{flex:1;padding:6px 0;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-color);font-size:13px;cursor:pointer;transition:all .15s ease}.ng-seg-btn:hover{border-color:var(--primary-color)}.ng-seg-btn.is-active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:500}.ng-input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-color);font-size:13px;outline:none}.ng-input:focus{border-color:var(--primary-color)}.ng-textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-color);font-size:13px;line-height:1.5;resize:none;height:84px;outline:none}.ng-textarea:focus{border-color:var(--primary-color)}.ng-generate-section{margin-top:auto;display:flex;flex-direction:column;gap:12px}.ng-generate-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;border:1px solid var(--primary-color);border-radius:var(--radius-sm);background:var(--primary-color);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.ng-generate-btn:hover{background:var(--primary-color-hover);border-color:var(--primary-color-hover)}.ng-ai-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ng-ai-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary-color),var(--primary-color-hover));color:#fff;font-size:13px;cursor:pointer;transition:opacity .15s ease}.ng-ai-btn:hover:not(.is-disabled){opacity:.9}.ng-ai-btn.is-disabled{opacity:.45;cursor:not-allowed}.ng-spin{animation:spin .8s linear infinite}.ng-ai-hint{font-size:12px;color:var(--text-secondary)}.ng-ai-error{font-size:12px;color:var(--danger-color);margin-top:4px}.ng-results{flex:1;min-width:0;display:flex;flex-direction:column;padding:14px 16px;gap:10px}.ng-results-head{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.ng-results-label{font-size:13px;color:var(--text-secondary)}.ng-name-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;overflow-y:auto;align-content:start;padding-right:4px}.ng-name-chip{padding:9px 10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-color);font-size:14px;font-family:var(--font-family-ui);letter-spacing:.5px;cursor:pointer;text-align:center;transition:all .15s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ng-name-chip:hover{border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px)}.ng-name-chip.is-selected{border-color:var(--primary-color);background:var(--primary-color-light);color:var(--primary-color);font-weight:600;box-shadow:0 0 0 1px var(--primary-color)}.ng-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.ng-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--border-color);background:var(--surface-bg);flex-shrink:0}.ng-action-text{font-size:13px;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ng-action-type{font-size:12px;color:var(--text-secondary);margin-left:4px}.ng-action-btns{display:flex;gap:8px;flex-shrink:0}.ng-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);transition:all .15s ease}.ng-btn:hover{border-color:var(--primary-color)}.ng-btn-copy{color:var(--text-color)}.ng-btn-create{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ng-btn-create:hover{background:var(--primary-color-hover);border-color:var(--primary-color-hover)}.ng-btn-cancel{color:var(--text-secondary)}.cm-ai-assistant-panel.cm-ai-assistant-panel{background:var(--ink-1)}.cm-ai-assistant-panel .ai-rw-container{background:transparent}.ai-rw-container--writing .ai-conv-back-bar{height:calc(var(--ink-grid) * 10);min-height:calc(var(--ink-grid) * 10);padding:0 calc(var(--ink-grid) * 2);background:var(--ink-3);border-bottom:1px solid var(--ink-line)}.ai-rw-container--writing .ai-conv-back-title-wrap{gap:calc(var(--ink-grid) * 2)}.ai-conv-seal{flex-shrink:0;width:var(--ink-seal);height:var(--ink-seal);border-radius:0;background:var(--primary-color)}.ai-rw-container--writing .ai-conv-back-title{font-size:var(--font-size-caption);font-weight:500;letter-spacing:.03em;color:var(--text-color)}.conv-cost-tag,.ai-rw-container--writing .ai-conv-back-title,.ai-rw-container--writing .ai-conv-all-item-date,.ai-rw-container--writing .ai-conv-all-count,.ai-rw-container--writing .ai-rw-model-label-btn{font-variant-numeric:tabular-nums}.ai-rw-container--writing .conv-cost-tag,.ai-rw-container--writing .ai-conv-all-item-date,.ai-rw-container--writing .ai-conv-all-count{letter-spacing:.02em;color:var(--ink-flow-ink)}.ai-rw-container--writing .conv-cost-tag{padding:0 var(--ink-grid);border:1px solid color-mix(in srgb,var(--ink-cost-text) 42%,transparent);border-radius:var(--ink-seal);background:transparent;color:var(--ink-cost-text)}.ai-rw-container--writing .ai-conv-close-btn{width:calc(var(--ink-grid) * 6);height:calc(var(--ink-grid) * 6);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink-muted);transition:background-color .12s ease,border-color .12s ease,color .12s ease}.ai-rw-container--writing .ai-conv-close-btn:hover{background:var(--ink-2);border-color:var(--ink-nav-hover);color:var(--ink-nav-hover)}.ai-rw-container--writing .ai-conv-all-page{flex:1;min-height:0;background:var(--ink-1);animation:ink-panel-fade-in .16s ease both}.ai-rw-container--writing .ai-conv-all-page-bar{height:calc(var(--ink-grid) * 10);min-height:calc(var(--ink-grid) * 10);padding:0 var(--ink-grid);background:var(--ink-3);border-bottom:1px solid var(--ink-line)}.ai-rw-container--writing .ai-conv-all-page-title{font-size:var(--font-size-caption);font-weight:500;letter-spacing:.03em;color:var(--text-color)}.ai-rw-container--writing .ai-conv-all-back-btn{width:calc(var(--ink-grid) * 6);height:calc(var(--ink-grid) * 6);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink-muted);transition:background-color .12s ease,border-color .12s ease,color .12s ease}.ai-rw-container--writing .ai-conv-all-back-btn:hover{background:var(--ink-2);border-color:var(--ink-nav-hover);color:var(--ink-nav-hover)}.ai-rw-container--writing .ai-conv-all-toolbar{padding:var(--ink-grid) calc(var(--ink-grid) * 3);background:transparent;border-bottom:1px solid var(--ink-line)}.ai-rw-container--writing .ai-conv-all-count{font-size:var(--font-size-caption)}.ai-rw-container--writing .ai-conv-all-scroll{gap:calc(var(--ink-grid) * 2);padding:calc(var(--ink-grid) * 2)}.ai-rw-container--writing .ai-conv-all-scroll::-webkit-scrollbar-thumb{background:var(--ink-line-strong);border-radius:0}.ai-rw-container--writing .ai-conv-all-item{background:var(--ink-2);border:1px solid var(--ink-line);border-radius:var(--radius-sm);transition:background-color .12s ease,border-color .12s ease}.ai-rw-container--writing .ai-conv-all-item:hover{background:var(--ink-3);border-color:var(--ink-line-strong)}.ai-rw-container--writing .ai-conv-all-item.is-selected{background:var(--ink-3);border-color:color-mix(in srgb,var(--primary-color) 45%,var(--ink-line-strong))}.ai-rw-container--writing .ai-rw-conv-stripe{width:var(--ink-seal);background-color:transparent;transition:background-color .12s ease}.ai-rw-container--writing .ai-conv-all-item:hover .ai-rw-conv-stripe{background-color:color-mix(in srgb,var(--primary-color) 45%,transparent)}.ai-rw-container--writing .ai-conv-all-item.is-selected .ai-rw-conv-stripe{background-color:var(--primary-color)}.ai-rw-container--writing .ai-conv-all-item-main{gap:calc(var(--ink-grid) * 2);padding:calc(var(--ink-grid) * 2) var(--ink-grid)}.ai-rw-container--writing .ai-conv-all-item.is-selected .ai-conv-all-item-main{padding-left:var(--ink-grid)}.ai-rw-container--writing .ai-conv-all-item-check{padding:0 var(--ink-grid)}.ai-rw-container--writing .ai-conv-all-item-date{font-size:var(--font-size-caption)}.ai-rw-container--writing .ai-conv-all-delete-btn{padding:var(--ink-grid) calc(var(--ink-grid) * 2);background:transparent;border:1px solid color-mix(in srgb,var(--danger-color) 45%,transparent);border-radius:var(--radius-sm);color:var(--danger-color);font-size:var(--font-size-caption);letter-spacing:.02em;transition:border-color .12s ease,background-color .12s ease}.ai-rw-container--writing .ai-conv-all-delete-btn:hover{opacity:1;background:color-mix(in srgb,var(--danger-color) 10%,transparent);border-color:var(--danger-color)}.ai-rw-container--writing .ai-conv-list-empty{opacity:1;gap:var(--ink-grid)}.ai-rw-container--writing .ai-conv-list-empty-icon{display:flex;margin:0 0 var(--ink-grid);color:var(--ink-muted)}.ai-rw-container--writing .ai-conv-list-empty p{font-size:var(--font-size-caption);letter-spacing:.02em;color:var(--ink-muted)}.cm-ai-assistant-panel .ai-rw-no-config{gap:calc(var(--ink-grid) * 2);padding:calc(var(--ink-grid) * 6) calc(var(--ink-grid) * 4)}.cm-ai-assistant-panel .ai-rw-no-config-title{font-size:var(--font-size-sm);letter-spacing:.04em}.cm-ai-assistant-panel .ai-rw-no-config-desc{font-size:var(--font-size-xs);line-height:1.7;color:var(--ink-muted)}.ai-rw-container--writing .ai-rw-bottom-section{padding:calc(var(--ink-grid) * 2) 0 0;background:var(--ink-3);border-top:1px solid var(--ink-line)}.ai-rw-container--writing .ai-rw-tools-row{gap:calc(var(--ink-grid) * 2);padding:0 calc(var(--ink-grid) * 2) calc(var(--ink-grid) * 2)}.cm-ai-assistant-panel .ai-tools-btn{gap:var(--ink-grid);padding:var(--ink-grid) calc(var(--ink-grid) * 2);font-size:var(--font-size-caption);letter-spacing:.02em;border:1px solid var(--ink-line);border-radius:var(--radius-sm);background:transparent;color:var(--ink-muted);transition:background-color .12s ease,border-color .12s ease,color .12s ease}.cm-ai-assistant-panel .ai-tools-btn:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-line-strong);color:var(--text-color)}.cm-ai-assistant-panel .ai-tools-history-btn.is-active{background:var(--ink-2);border-color:color-mix(in srgb,var(--primary-color) 55%,var(--ink-line));color:var(--primary-color)}.cm-ai-assistant-panel .ai-prompt-trigger-btn{gap:var(--ink-grid);padding:var(--ink-grid) calc(var(--ink-grid) * 2);font-size:var(--font-size-caption);letter-spacing:.02em;border:1px solid var(--ink-line);border-radius:var(--radius-sm);background:transparent;color:var(--ink-muted);transition:background-color .12s ease,border-color .12s ease,color .12s ease}.cm-ai-assistant-panel .ai-prompt-trigger-btn:hover:not(:disabled){background:var(--ink-2);border-color:color-mix(in srgb,var(--ink-cost-text) 55%,var(--ink-line));color:var(--ink-cost-text)}.ai-rw-container--writing .ai-rw-input-wrap{background:transparent;border-top:1px solid var(--ink-line)}.ai-rw-container--writing .ai-rw-textarea{padding:calc(var(--ink-grid) * 2) calc(var(--ink-grid) * 3);border:none;border-bottom:1px solid var(--ink-line);border-radius:0;background:transparent;transition:border-bottom-color .12s ease}.ai-rw-container--writing .ai-rw-textarea:focus,.ai-rw-container--writing .ai-rw-textarea:focus-visible{border-bottom-color:var(--ink-zone-chapter);box-shadow:none}.ai-rw-container--writing .ai-rw-textarea::placeholder{color:color-mix(in srgb,var(--text-color) 46%,var(--ink-3));opacity:1;font-size:var(--font-size-xs)}.ai-rw-container--writing .ai-rw-ctrl-bar{height:calc(var(--ink-grid) * 8);border-top:none}.ai-rw-container--writing .ai-rw-model-label-btn{height:calc(var(--ink-grid) * 8);padding:0 var(--ink-grid) 0 calc(var(--ink-grid) * 2);font-size:var(--font-size-caption);letter-spacing:.02em;line-height:calc(var(--ink-grid) * 8);color:var(--ink-flow-ink);transition:color .12s ease}.ai-rw-container--writing .ai-rw-model-label-btn:hover:not(:disabled),.ai-rw-container--writing .ai-rw-model-label-btn.is-active{color:var(--ink-zone-doc)}.ai-rw-container--writing .ai-rw-ctrl-btn{width:calc(var(--ink-grid) * 8);height:calc(var(--ink-grid) * 8);transition:color .12s ease}.ai-rw-container--writing .ai-rw-ctrl-btn--send:hover:not(:disabled){color:var(--primary-color)}.ai-rw-container--writing .ai-rw-ctrl-btn--stop:hover:not(:disabled){color:var(--ink-danger-text)}.ai-rw-container--writing .ai-rw-ctrl-btn--send:active:not(:disabled),.ai-rw-container--writing .ai-rw-ctrl-btn--stop:active:not(:disabled){transform:none}.ai-rw-container--writing{position:relative;--ink-matrix-size: 96px;--ink-matrix-half: 48px;--ink-dot-base: color-mix(in srgb, var(--text-color) 72%, var(--ink-muted));--ink-alpha-gain: 1.45;--ink-glow-min: .55;--ink-glow-max: .8;--ink-matrix-home-drop: calc(var(--ink-matrix-half) + 48px + 30px);--ink-matrix-conv-top: calc(var(--ink-grid) * 11);--ink-matrix-conv-feed-gap: calc(var(--ink-matrix-size) + var(--ink-grid) * 2)}html.dark-mode .ai-rw-container--writing{--ink-dot-base: var(--ink-muted);--ink-alpha-gain: 1;--ink-glow-min: .36;--ink-glow-max: 1}.ai-rw-container--writing .ai-rw-matrix-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;transform-origin:0 0;transition:transform .26s cubic-bezier(.22,.61,.36,1)}.ai-rw-container--writing.is-history-open .ai-rw-matrix-layer{display:none}.ai-rw-container--home .ai-rw-matrix-layer,.ai-rw-container--conv .ai-rw-matrix-layer{transform:translate(calc(50% - var(--ink-matrix-half)),calc(50% - var(--ink-matrix-half)))}.ai-rw-container--conv.is-started .ai-rw-matrix-layer{transform:translate(calc(50% - var(--ink-matrix-half)),var(--ink-matrix-conv-top))}.ai-rw-container--conv.is-started .ai-rw-mid-area{margin-top:var(--ink-matrix-conv-feed-gap)}.ai-rw-container--writing .ai-ink-matrix{position:absolute;left:0;top:0;width:var(--ink-matrix-size);height:var(--ink-matrix-size)}.ai-rw-container--writing .ai-ink-matrix-block{position:absolute;border-radius:50%;background:color-mix(in srgb,var(--ink-dot-base) min(100%,calc(var(--ink-dot-alpha) * var(--ink-alpha-gain))),transparent);animation-name:ink-matrix-drift-a,ink-matrix-drift-b;animation-duration:var(--ink-dur-a),var(--ink-dur-b);animation-delay:var(--ink-d-a),var(--ink-d-b);animation-timing-function:ease-in-out,ease-in-out;animation-iteration-count:infinite,infinite}.ai-rw-container--writing .ai-ink-matrix-block--core{--ink-dot-base: var(--primary-color)}.ai-rw-container--writing .ai-ink-matrix-block--blip{animation-name:ink-matrix-drift-a,ink-matrix-blip}.ai-rw-container--writing .ai-ink-matrix.is-busy .ai-ink-matrix-block{animation-name:ink-matrix-drift-a-busy,ink-matrix-drift-b-busy;animation-duration:calc(var(--ink-dur-a) * .52),calc(var(--ink-dur-b) * .52)}.ai-rw-container--writing .ai-ink-matrix.is-busy .ai-ink-matrix-block--blip{animation-name:ink-matrix-drift-a-busy,ink-matrix-blip}.ai-rw-container--writing .ai-ink-matrix-arc{display:none;position:absolute;inset:var(--ink-seal);border-radius:50%;border:1px solid transparent;border-top-color:var(--primary-color)}.ai-rw-container--writing .ai-ink-matrix.is-busy .ai-ink-matrix-arc{display:block;animation:ink-matrix-arc-sweep 1.8s linear infinite}@keyframes ink-matrix-arc-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ink-matrix-drift-a{0%{transform:scale(calc(var(--ink-amp-a) * .8))}50%{transform:scale(calc(var(--ink-amp-a) * 1.07))}to{transform:scale(calc(var(--ink-amp-a) * .8))}}@keyframes ink-matrix-drift-b{0%{opacity:clamp(var(--ink-glow-min),calc(.42 * var(--ink-amp-b)),var(--ink-glow-max))}50%{opacity:clamp(var(--ink-glow-min),1,var(--ink-glow-max))}to{opacity:clamp(var(--ink-glow-min),calc(.42 * var(--ink-amp-b)),var(--ink-glow-max))}}@keyframes ink-matrix-drift-a-busy{0%{transform:scale(calc(var(--ink-amp-a) * .62))}50%{transform:scale(calc(var(--ink-amp-a) * 1.2))}to{transform:scale(calc(var(--ink-amp-a) * .62))}}@keyframes ink-matrix-drift-b-busy{0%{opacity:clamp(var(--ink-glow-min),calc(.3 * var(--ink-amp-b)),var(--ink-glow-max))}50%{opacity:clamp(var(--ink-glow-min),1,var(--ink-glow-max))}to{opacity:clamp(var(--ink-glow-min),calc(.3 * var(--ink-amp-b)),var(--ink-glow-max))}}@keyframes ink-matrix-blip{0%{opacity:clamp(var(--ink-glow-min),calc(.34 * var(--ink-amp-b)),var(--ink-glow-max))}46%{opacity:clamp(var(--ink-glow-min),calc(.34 * var(--ink-amp-b)),var(--ink-glow-max))}52%{opacity:1}58%{opacity:clamp(var(--ink-glow-min),calc(.5 * var(--ink-amp-b)),var(--ink-glow-max))}to{opacity:clamp(var(--ink-glow-min),calc(.34 * var(--ink-amp-b)),var(--ink-glow-max))}}.ai-rw-container--home .ai-rw-home{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--ink-grid) * 4)}.ai-rw-container--home .ai-rw-home-matrix-slot{flex-shrink:0;width:var(--ink-matrix-size);height:var(--ink-matrix-size);margin-bottom:calc(var(--ink-grid) * 4);margin-top:calc(var(--ink-grid) * -2)}.ai-rw-container--home .ai-rw-home-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--ink-grid) * 2);width:100%;max-width:calc(var(--ink-grid) * 100)}.ai-rw-container--home .ai-rw-home-actions .ai-tools-btn{display:flex;flex:0 0 calc((100% - var(--ink-grid) * 4) / 3);flex-direction:column;align-items:center;justify-content:center;gap:var(--ink-grid);min-width:0;height:calc(var(--ink-grid) * 14);padding:calc(var(--ink-grid) * 2) var(--ink-grid);border:1px solid var(--ink-line);border-radius:var(--radius-sm);background:transparent;color:var(--ink-muted);transition:background-color .14s ease,border-color .14s ease,color .14s ease}.ai-rw-container--home .ai-rw-home-actions .ai-tools-btn:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-line-strong);color:var(--text-color)}.ai-rw-container--home .ai-rw-home-actions .ai-tools-btn:disabled{opacity:.45;cursor:not-allowed}.ai-rw-container--home .ai-rw-home-actions .ai-home-action-label{max-width:100%;font-size:var(--font-size-caption);line-height:1;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-rw-container--home .ai-rw-home-actions .ai-home-action--primary{border-color:color-mix(in srgb,var(--primary-color) 55%,var(--ink-line));color:color-mix(in srgb,var(--primary-color) 88%,var(--text-color) 12%)}.ai-rw-container--home .ai-rw-home-actions .ai-home-action--primary:hover:not(:disabled){background:var(--ink-2);border-color:var(--primary-color);color:var(--primary-color)}.cm-ai-assistant-panel .ai-rw-home-actions .ai-tools-btn.ai-home-action--plot:hover:not(:disabled),.cm-ai-assistant-panel .ai-rw-home-actions .ai-tools-btn.ai-home-action--plot:focus-visible{background:var(--ink-2);border-color:color-mix(in srgb,var(--ink-warn-text) 55%,var(--ink-line));color:var(--ink-warn-text)}.cm-ai-assistant-panel .ai-rw-home-actions .ai-tools-btn.ai-home-action--summary:hover:not(:disabled),.cm-ai-assistant-panel .ai-rw-home-actions .ai-tools-btn.ai-home-action--summary:focus-visible{background:var(--ink-2);border-color:color-mix(in srgb,var(--ink-zone-chapter) 55%,var(--ink-line));color:var(--ink-zone-chapter)}.cm-ai-assistant-panel .ai-rw-home-actions .ai-tools-btn.ai-home-action--inspiration:hover:not(:disabled),.cm-ai-assistant-panel .ai-rw-home-actions .ai-tools-btn.ai-home-action--inspiration:focus-visible{background:var(--ink-2);border-color:color-mix(in srgb,var(--ink-cost-text) 55%,var(--ink-line));color:var(--ink-cost-text)}.cm-ai-assistant-panel .ai-rw-home-actions .ai-tools-btn.ai-home-action--history:hover:not(:disabled),.cm-ai-assistant-panel .ai-rw-home-actions .ai-tools-btn.ai-home-action--history:focus-visible{background:var(--ink-2);border-color:color-mix(in srgb,var(--ink-zone-doc) 55%,var(--ink-line));color:var(--ink-zone-doc)}.cm-ai-assistant-panel .ai-rw-home-actions .ai-tools-btn.ai-tools-history-btn.is-active{background:var(--ink-2);border-color:color-mix(in srgb,var(--ink-zone-doc) 60%,var(--ink-line));color:var(--ink-zone-doc)}.ai-rw-container--home .ai-rw-home-hint{position:absolute;left:0;right:0;bottom:calc(var(--ink-grid) * 6);margin:0;text-align:center;font-size:var(--font-size-caption);letter-spacing:.02em;color:var(--ink-muted)}.ai-rw-container--home .ai-rw-home-context{position:absolute;top:0;left:0;right:0}.ai-rw-container--conv .ai-conv-history-btn{width:calc(var(--ink-grid) * 6);height:calc(var(--ink-grid) * 6);margin-right:var(--ink-seal);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--ink-muted);transition:background-color .12s ease,border-color .12s ease,color .12s ease}.ai-rw-container--conv .ai-conv-history-btn:hover{background:var(--ink-2);border-color:var(--ink-nav-hover);color:var(--ink-nav-hover)}.ai-rw-container--conv .ai-conv-history-btn.is-active{background:var(--ink-2);border-color:color-mix(in srgb,var(--primary-color) 55%,var(--ink-line));color:var(--primary-color)}@keyframes ink-panel-fade-in{0%{opacity:0}to{opacity:1}}.cm-ai-assistant-panel button:focus-visible,.cm-ai-assistant-panel input:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}@media (prefers-reduced-motion: reduce){.cm-ai-assistant-panel .ai-rw-textarea,.cm-ai-assistant-panel .ai-tools-btn,.cm-ai-assistant-panel .ai-prompt-trigger-btn,.cm-ai-assistant-panel .ai-conv-all-item,.cm-ai-assistant-panel .ai-rw-conv-stripe,.cm-ai-assistant-panel .ai-conv-close-btn,.cm-ai-assistant-panel .ai-conv-all-back-btn,.cm-ai-assistant-panel .ai-conv-history-btn{animation:none;transition:none}.ai-rw-container--writing .ai-ink-matrix-block,.ai-rw-container--writing .ai-ink-matrix.is-busy .ai-ink-matrix-block{animation:none;transform:none;opacity:.85}.ai-rw-container--writing .ai-ink-matrix.is-busy .ai-ink-matrix-arc{animation:none;transform:none;border-color:var(--primary-color)}.ai-rw-container--writing .ai-rw-matrix-layer{transition:none}}.ai-rw-container--home{position:relative}.ai-rw-container--home .ai-rw-home-matrix-slot{display:none}.ai-rw-container--home .ai-rw-home-actions{position:absolute;left:0;right:0;top:calc(50% + var(--ink-matrix-home-drop));margin-top:0}.ai-rw-container--writing{position:relative}.ai-rw-container--home{position:static}.ai-rw-container--home .ai-rw-home-actions{left:0;right:0}.ai-rw-container--home .ai-rw-home{position:static}.cm-ai-assistant-panel{position:relative}.ai-rw-matrix-layer:has(.ai-rw-home-actions) .ai-rw-home-actions{position:absolute;left:0;right:0;top:calc(50% + var(--ink-matrix-home-drop));margin:0;z-index:2}.ai-rw-matrix-layer .ai-rw-home-hint{position:absolute;left:0;right:0;top:calc(50% + var(--ink-matrix-home-drop) + 120px + var(--ink-grid) * 2);text-align:center}.ai-rw-container--home .ai-rw-home-actions{align-self:center;margin-left:auto;margin-right:auto}.ai-approval-detail,.ai-act-approval-tag,.ai-act-approval-chapter-tag{--approval-kind-color: var(--primary-color);--approval-kind-text: var(--ink-zone-approve);--approval-kind-soft: color-mix(in srgb, var(--primary-color) 10%, transparent);--approval-kind-line: color-mix(in srgb, var(--primary-color) 36%, transparent)}.ai-approval-kind--create{--approval-kind-color: var(--success-color);--approval-kind-text: var(--ink-success-text);--approval-kind-soft: color-mix(in srgb, var(--success-color) 12%, transparent);--approval-kind-line: color-mix(in srgb, var(--success-color) 38%, transparent)}.ai-approval-kind--update{--approval-kind-color: var(--primary-color);--approval-kind-text: var(--ink-zone-approve);--approval-kind-soft: color-mix(in srgb, var(--primary-color) 10%, transparent);--approval-kind-line: color-mix(in srgb, var(--primary-color) 36%, transparent)}.ai-approval-kind--delete{--approval-kind-color: var(--danger-color);--approval-kind-text: var(--ink-danger-text);--approval-kind-soft: color-mix(in srgb, var(--danger-color) 10%, transparent);--approval-kind-line: color-mix(in srgb, var(--danger-color) 38%, transparent)}.ai-approval-detail{--approval-state-color: var(--ink-zone-approve)}.ai-approval-detail.is-state-confirmed{--approval-state-color: var(--ink-success-text)}.ai-approval-detail.is-state-cancelled{--approval-state-color: var(--ink-zone-doc)}.ai-approval-detail-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2600;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--modal-mask)}.ai-approval-detail{display:flex;flex-direction:column;width:min(760px,100%);max-height:82vh;min-width:0;background:var(--ink-1);border:1px solid var(--ink-line-strong);border-left:4px solid var(--approval-kind-color);border-radius:var(--radius-sm);overflow:hidden}.ai-approval-detail__head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;gap:10px;min-width:0;padding:10px 12px;background:var(--ink-1);border-bottom:1px solid var(--ink-line)}.ai-approval-detail__headtext{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ai-approval-detail__title{margin:0;font-size:var(--font-size-md);font-weight:600;line-height:1.5;color:var(--text-color);word-break:break-word}.ai-approval-detail__subtitle{margin:0;font-size:var(--font-size-xs);line-height:1.6;color:var(--ink-muted);word-break:break-word;font-variant-numeric:tabular-nums;letter-spacing:.04em}.ai-approval-detail__badge,.ai-approval-detail__item-badge{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:1px 7px;font-size:var(--font-size-caption);font-weight:600;line-height:1.7;color:var(--approval-kind-text);background:var(--approval-kind-soft);border:1px solid var(--approval-kind-line);border-radius:var(--radius-sm);white-space:nowrap}.ai-approval-detail__badge-icon{font-size:var(--font-size-caption);line-height:1}.ai-approval-detail__close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:24px;height:22px;padding:0 6px;font-family:inherit;font-size:var(--font-size-xs);line-height:1;color:var(--ink-muted);background:transparent;border:1px solid var(--ink-line);border-radius:var(--radius-sm);cursor:pointer}.ai-approval-detail__close:hover{color:var(--ink-nav-hover);border-color:var(--ink-nav-hover)}.ai-approval-detail__body{flex:1;min-height:0;min-width:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column}.ai-approval-detail__item{display:flex;flex-direction:column;gap:8px;min-width:0}.ai-approval-detail__item+.ai-approval-detail__item{margin-top:12px;padding-top:12px;border-top:1px solid var(--ink-line)}.ai-approval-detail__item-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;padding-left:8px;border-left:3px solid var(--approval-kind-color)}.ai-approval-detail__item-label{font-size:var(--font-size-xs);line-height:1.6;color:var(--ink-muted);word-break:break-word;font-variant-numeric:tabular-nums;letter-spacing:.04em}.ai-approval-detail__warn{display:flex;align-items:flex-start;gap:6px;margin:0 0 10px;padding:6px 9px;font-size:var(--font-size-xs);line-height:1.6;color:var(--danger-color);background:color-mix(in srgb,var(--danger-color) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger-color) 28%,transparent);border-left:3px solid var(--danger-color);border-radius:var(--radius-sm);word-break:break-word}.ai-approval-detail__item .ai-approval-detail__warn{margin:0}.ai-approval-detail__caption{margin:0;font-size:var(--font-size-xs);line-height:1.6;color:var(--ink-muted);word-break:break-word;font-variant-numeric:tabular-nums;letter-spacing:.04em}.ai-approval-detail__fields{display:flex;flex-direction:column;min-width:0}.ai-approval-detail__fields>.ai-approval-detail__caption{margin-bottom:8px}.ai-approval-detail__field{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;min-width:0}.ai-approval-detail__field+.ai-approval-detail__field{margin-top:10px;padding-top:10px;border-top:1px solid var(--ink-line)}.ai-approval-detail__field--long{flex-direction:column;gap:5px}.ai-approval-detail__field-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.ai-approval-detail__field-label{flex:0 0 88px;min-width:0;padding-top:2px;font-size:var(--font-size-sm);font-weight:500;line-height:1.6;color:var(--ink-muted);word-break:break-word}.ai-approval-detail__field--long .ai-approval-detail__field-label{flex:0 0 auto;padding-top:0}.ai-approval-detail__col{display:flex;flex-direction:column;gap:4px;flex:1 1 200px;min-width:0}.ai-approval-detail__col-tag{align-self:flex-start;padding:0 5px;font-size:var(--font-size-caption);font-weight:600;line-height:1.7;border:1px solid;border-radius:var(--radius-sm);white-space:nowrap}.ai-approval-detail__col--old .ai-approval-detail__col-tag{color:var(--diff-removed-text);background:color-mix(in srgb,var(--diff-removed-bg) 60%,var(--card-bg));border-color:color-mix(in srgb,var(--diff-removed-text) 35%,transparent)}.ai-approval-detail__col--next .ai-approval-detail__col-tag{color:var(--diff-added-text);background:color-mix(in srgb,var(--diff-added-bg) 60%,var(--card-bg));border-color:color-mix(in srgb,var(--diff-added-text) 35%,transparent)}.ai-approval-detail__text{max-height:240px;overflow:auto;padding:6px 8px;font-size:var(--font-size-sm);line-height:1.7;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:var(--text-color);background:var(--ink-3);border:1px solid var(--ink-line);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}.ai-approval-detail__col--old .ai-approval-detail__text{color:var(--ink-muted);background:color-mix(in srgb,var(--diff-removed-bg) 45%,var(--card-bg));border-left:3px solid color-mix(in srgb,var(--diff-removed-text) 55%,transparent)}.ai-approval-detail__col--next .ai-approval-detail__text{background:color-mix(in srgb,var(--diff-added-bg) 45%,var(--card-bg));border-left:3px solid color-mix(in srgb,var(--diff-added-text) 55%,transparent)}.ai-approval-detail__field--plain .ai-approval-detail__text{flex:1 1 200px;min-width:0}.ai-approval-detail__long{display:flex;flex-direction:column;gap:5px;min-width:0}.ai-approval-detail__legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;font-size:var(--font-size-caption);line-height:1.6;color:var(--ink-muted);font-variant-numeric:tabular-nums}.ai-approval-detail__legend-old{color:var(--diff-removed-text)}.ai-approval-detail__legend-next{color:var(--diff-added-text)}.ai-approval-detail__legend-text{flex:1;min-width:0;word-break:break-word}.ai-approval-detail__split{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.ai-approval-detail__diff{max-height:240px;overflow:auto;padding:3px 0;border:1px solid var(--ink-line);border-radius:var(--radius-sm)}.ai-approval-detail__diff-line{display:flex;gap:6px;padding:0 6px;min-width:0}.ai-approval-detail__diff-line.is-add{background:var(--diff-added-bg)}.ai-approval-detail__diff-line.is-del{background:var(--diff-removed-bg)}.ai-approval-detail__diff-sign{flex-shrink:0;width:10px;font-size:var(--font-size-xs);line-height:1.75;text-align:center;color:var(--ink-muted);font-variant-numeric:tabular-nums;letter-spacing:.04em}.ai-approval-detail__diff-line.is-add .ai-approval-detail__diff-sign{color:var(--diff-added-text)}.ai-approval-detail__diff-line.is-del .ai-approval-detail__diff-sign{color:var(--diff-removed-text)}.ai-approval-detail__diff-text{flex:1;min-width:0;font-size:var(--font-size-sm);line-height:1.75;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:var(--text-color);font-variant-numeric:tabular-nums}.ai-approval-detail__diff-line.is-del .ai-approval-detail__diff-text{color:var(--ink-muted)}.ai-approval-detail__small-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 8px;font-family:inherit;font-size:var(--font-size-xs);line-height:1.5;color:var(--ink-muted);background:transparent;border:1px solid var(--ink-line);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.ai-approval-detail__small-btn:hover{color:var(--ink-nav-hover);border-color:var(--ink-nav-hover);background:var(--ink-2)}.ai-approval-detail__small-btn--primary{color:var(--approval-kind-text, var(--ink-zone-approve))}.ai-approval-detail__foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;padding:8px 12px;background:var(--ink-1);border-top:1px solid var(--ink-line)}.ai-approval-detail__foot-note{flex:1;min-width:0;font-size:var(--font-size-caption);line-height:1.6;color:var(--ink-muted);word-break:break-word;font-variant-numeric:tabular-nums}.ai-approval-detail__foot-note--danger{color:var(--ink-danger-text)}.ai-approval-detail__btn{flex-shrink:0;padding:4px 14px;font-family:inherit;font-size:var(--font-size-sm);line-height:1.5;color:var(--text-color);background:transparent;border:1px solid var(--ink-line);border-radius:var(--radius-sm);cursor:pointer}.ai-approval-detail__btn:hover{color:var(--ink-nav-hover);border-color:var(--ink-nav-hover);background:var(--ink-2)}.ai-approval-detail__state{display:inline-flex;align-items:center;flex-shrink:0;padding:1px 8px;font-size:var(--font-size-caption);font-weight:500;line-height:1.7;letter-spacing:.04em;color:var(--approval-state-color, var(--ink-zone-approve));background:color-mix(in srgb,var(--approval-state-color, var(--ink-zone-approve)) 10%,transparent);border:1px solid color-mix(in srgb,var(--approval-state-color, var(--ink-zone-approve)) 32%,transparent);border-radius:var(--radius-sm);white-space:nowrap;font-variant-numeric:tabular-nums}.ai-act-approval-tag[class*=ai-approval-kind--],.ai-act-approval-chapter-tag[class*=ai-approval-kind--]{border-color:var(--approval-kind-line);background:color-mix(in srgb,var(--approval-kind-color) 5%,var(--ink-2))}.ai-act-approval-tag .ai-act-approval-tag__type-badge,.ai-act-approval-chapter-tag .ai-act-approval-tag__type-badge{width:auto;min-width:20px;padding:0 5px;background:var(--approval-kind-color)}.ai-act-approval-tag .ai-act-approval-tag__target-badge,.ai-act-approval-chapter-tag .ai-act-approval-tag__target-badge{color:var(--approval-kind-color);border-color:var(--approval-kind-line)}@media (max-width: 560px){.ai-approval-detail-mask{padding:12px}.ai-approval-detail{max-height:88vh}.ai-approval-detail__body{padding:10px}.ai-approval-detail__field{flex-direction:column;align-items:stretch;gap:6px}.ai-approval-detail__field-label{flex:0 0 auto;padding-top:0}.ai-approval-detail__col{flex:1 1 100%}.ai-approval-detail__text,.ai-approval-detail__diff{max-height:200px}}.toast-viewport{position:fixed;left:50%;transform:translate(-50%);bottom:24px;z-index:2000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;max-width:min(560px,calc(100vw - 32px))}.toast{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--border-color);border-left-width:3px;border-radius:8px;background-color:var(--card-bg);color:var(--text-color);box-shadow:0 8px 24px #00000024;font-size:var(--font-size-caption, 12px);line-height:1.45;pointer-events:auto;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left-color:#3f9e63}.toast-success .toast-icon{color:#3f9e63}.toast-error{border-left-color:var(--danger-color, #c0392b)}.toast-error .toast-icon{color:var(--danger-color, #c0392b)}.toast-warn{border-left-color:#d99a2b}.toast-warn .toast-icon{color:#d99a2b}.toast-info{border-left-color:var(--primary-color)}.toast-info .toast-icon{color:var(--primary-color)}.toast-icon{display:inline-flex;flex-shrink:0}.toast-message{flex:1;min-width:0;word-break:break-word}.toast-action{flex-shrink:0;padding:2px 8px;border:1px solid var(--border-color);border-radius:5px;background:transparent;color:var(--primary-color);font-size:var(--font-size-caption, 12px);font-family:inherit;font-weight:600;cursor:pointer}.toast-action:hover{border-color:var(--primary-color);background-color:var(--primary-color-light)}.toast-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.toast-close:hover{background-color:var(--hover-bg);color:var(--text-color)}.load-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 16px;color:var(--text-secondary);font-size:var(--font-size-caption, 12px);text-align:center}.load-error-icon{color:var(--danger-color, #c0392b)}.load-error-message{max-width:340px;line-height:1.6}.load-error-retry{padding:4px 14px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--card-bg);color:var(--text-color);font-size:var(--font-size-caption, 12px);font-family:inherit;cursor:pointer}.load-error-retry:hover{border-color:var(--primary-color);color:var(--primary-color)}.rs-panel{position:absolute;top:52px;right:12px;z-index:40;width:300px;max-width:calc(100vw - 24px);padding:12px 14px 10px;border:1px solid var(--border-color);border-radius:10px;background-color:var(--card-bg);color:var(--text-color);box-shadow:0 12px 32px #0000002e;font-size:var(--font-size-caption, 12px)}.rs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:var(--font-size-sm, 13px)}.rs-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer}.rs-close:hover{background-color:var(--hover-bg);color:var(--text-color)}.rs-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}.rs-label{color:var(--text-secondary);white-space:nowrap}.rs-stepper{display:flex;align-items:center;gap:4px}.rs-step-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--card-bg);color:var(--text-color);cursor:pointer}.rs-step-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.rs-step-btn:disabled{opacity:.35;cursor:default}.rs-value{min-width:52px;text-align:center;font-variant-numeric:tabular-nums}.rs-themes{display:flex;gap:4px}.rs-theme{display:inline-flex;flex-direction:column;align-items:center;gap:3px;padding:4px 6px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-secondary);font-size:var(--font-size-caption, 11px);font-family:inherit;cursor:pointer}.rs-theme:hover{background-color:var(--hover-bg)}.rs-theme.is-active{border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.rs-theme-swatch{width:20px;height:20px;border:1px solid var(--border-color);border-radius:5px;display:block}.rs-theme-swatch[data-theme=light]{background:#fff}.rs-theme-swatch[data-theme=sepia]{background:#f7efdf}.rs-theme-swatch[data-theme=eye]{background:#e3eddc}.rs-theme-swatch[data-theme=dark]{background:#1c1c1a}.rs-toggle-group{display:flex;gap:4px}.rs-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--card-bg);color:var(--text-secondary);font-size:var(--font-size-caption, 11px);font-family:inherit;cursor:pointer}.rs-toggle.is-active{border-color:var(--primary-color);background-color:var(--primary-color-light);color:var(--primary-color);font-weight:600}.rs-foot{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.rs-reset{padding:3px 10px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--card-bg);color:var(--text-secondary);font-size:var(--font-size-caption, 11px);font-family:inherit;cursor:pointer}.rs-reset:hover{border-color:var(--primary-color);color:var(--primary-color)}.reader-root{height:calc(100vh / var(--ui-zoom, 1));display:flex;flex-direction:column;background:var(--bg-color, #f7f8fa);color:var(--text-color, #333);--reader-font-size: 18px;--reader-line-height: 1.9;--reader-content-width: 720px;--reader-page-padding: 28px;--reader-text-indent: 2em;--reader-bg: #ffffff;--reader-fg: #2c2c2c;--reader-fg-secondary: #6b6b6b}.reader-root[data-reader-theme=light]{--reader-bg: #ffffff;--reader-fg: #2c2c2c;--reader-fg-secondary: #6b6b6b}.reader-root[data-reader-theme=sepia]{--reader-bg: #f7efdf;--reader-fg: #43382b;--reader-fg-secondary: #7d6f5c}.reader-root[data-reader-theme=eye]{--reader-bg: #e3eddc;--reader-fg: #2f3b2c;--reader-fg-secondary: #5f6f5a}.reader-root[data-reader-theme=dark]{--reader-bg: #1c1c1a;--reader-fg: #cfcbc4;--reader-fg-secondary: #8d8880}.reader-chapter-heading,.reader-article{color:var(--reader-fg)}.reader-chapter-subtitle,.reader-loading,.reader-empty{color:var(--reader-fg-secondary)}.reader-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--card-bg, #fff);border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0;position:relative}.reader-progress-track{position:relative;height:2px;background:var(--border-color, #e5e7eb);flex-shrink:0}.reader-progress-fill{height:100%;background:var(--primary-color, #6366f1);transition:width .1s linear}.reader-header-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.4}.reader-header-title strong{font-size:15px}.reader-header-title span{font-size:12px;color:var(--text-secondary, #666);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;background:var(--card-bg, #fff);color:var(--text-color, #333);cursor:pointer}.reader-menu-btn{display:none}.reader-body{flex:1;display:flex;min-height:0}.reader-sidebar{width:260px;flex-shrink:0;border-right:1px solid var(--border-color, #e5e7eb);background:var(--card-bg, #fff);overflow-y:auto}.reader-sidebar-inner{padding:10px 0}.reader-vol-group{margin-bottom:8px}.reader-vol-title{padding:6px 16px;font-size:12px;font-weight:600;color:var(--text-secondary, #666)}.reader-chapter-list{list-style:none;margin:0;padding:0}.reader-chapter-btn{display:block;width:100%;text-align:left;padding:6px 16px 6px 24px;font-size:13px;border:none;background:transparent;color:var(--text-color, #333);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-chapter-btn:hover{background:var(--hover-bg, rgba(0, 0, 0, .04))}.reader-chapter-btn.is-active{color:var(--primary-color, #6366f1);font-weight:600;background:linear-gradient(90deg,var(--primary-color-light, rgba(99, 102, 241, .08)) 0%,transparent 100%);position:relative}.reader-chapter-btn.is-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:0 2px 2px 0;background:var(--primary-color, #6366f1)}.reader-main{flex:1;min-width:0;overflow-y:auto;display:flex;justify-content:center;background:var(--reader-bg)}.reader-article{width:min(var(--reader-content-width),100%);padding:32px var(--reader-page-padding) 60px}.reader-chapter-heading{font-size:calc(var(--reader-font-size) + 4px);margin:0 0 10px;text-align:center}.reader-chapter-subtitle{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:22px;font-size:12px;color:var(--text-secondary, #666);letter-spacing:.04em}.reader-chapter-subtitle-dot{opacity:.5}.reader-summary{margin:0 0 20px;padding:10px 14px;border-left:3px solid var(--primary-color, #6366f1);background:var(--primary-color-light, rgba(99, 102, 241, .06));color:var(--text-secondary, #666);font-size:13px}.reader-content{font-size:var(--reader-font-size);line-height:var(--reader-line-height);text-align:justify;color:var(--reader-fg)}.reader-content p{text-indent:var(--reader-text-indent);margin:0 0 .6em}.reader-content h1,.reader-content h2,.reader-content h3{text-indent:0;margin:1em 0 .5em}.reader-content blockquote{margin:.8em 0;padding:0 1em;border-left:3px solid var(--border-color, #e5e7eb);color:var(--text-secondary, #666)}.reader-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:40px;padding-top:20px;border-top:1px solid var(--border-color, #e5e7eb)}.reader-nav-hint{flex:1;text-align:center;font-size:var(--font-size-caption, 11px);color:var(--reader-fg-secondary, #6b6b6b);opacity:.7}.reader-bookmark-group{margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--border-color, #e5e7eb)}.reader-chapter-btn{display:inline-flex;align-items:center;gap:5px}@media (max-width: 720px){.reader-nav-hint{display:none}}.reader-nav-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;font-size:13px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;background:var(--card-bg, #fff);color:var(--text-color, #333);cursor:pointer;transition:all .2s}.reader-nav-btn:hover:not(:disabled){border-color:var(--primary-color, #6366f1);color:var(--primary-color, #6366f1);background:var(--primary-color-light, rgba(99, 102, 241, .06));transform:translateY(-1px)}.reader-nav-btn:active:not(:disabled){transform:translateY(0)}.reader-nav-btn:disabled{opacity:.4;cursor:default}.reader-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary, #666);font-size:14px}.reader-empty{padding:20px 16px;font-size:13px;color:var(--text-secondary, #666)}@media (max-width: 768px){.reader-menu-btn{display:inline-flex}.reader-sidebar{position:fixed;top:53px;bottom:0;left:0;width:min(280px,80vw);z-index:100;transform:translate(-100%);transition:transform .2s ease;box-shadow:2px 0 12px #0000001a}.reader-body.sidebar-open .reader-sidebar{transform:translate(0)}.reader-article{padding:20px min(var(--reader-page-padding),20px) 48px}.reader-content{font-size:calc(var(--reader-font-size) - 1px)}}.hpage{height:calc(100vh / var(--ui-zoom, 1));display:flex;flex-direction:column;background:#0d1117;color:#e6edf3;font-family:var(--font-family-ui)}.hheader{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:#161b22;border-bottom:1px solid #30363d;flex-shrink:0}.hbrand{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.hlogo{font-size:20px}.hbadge{background:#1f6feb;color:#fff;border-radius:10px;font-size:11px;padding:1px 8px;font-weight:500;letter-spacing:.5px}.hheader-right{display:flex;align-items:center;gap:12px}.hpill{font-size:12px;color:#8b949e;border:1px solid #30363d;padding:2px 10px;border-radius:999px}.hpill-ok{color:#3fb950;border-color:#238636}.hlink{color:#58a6ff;text-decoration:none;font-size:13px}.hlink:hover{text-decoration:underline}.hconfig{flex-shrink:0;margin:16px 18px 0;padding:14px 16px;background:#161b22;border:1px solid #30363d;border-radius:10px}.hconfig h2{margin:0 0 10px;font-size:14px;color:#c9d1d9}.hconfig-row{display:flex;gap:14px;flex-wrap:wrap}.hconfig-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#8b949e}.hconfig-row select{min-width:160px;background:#0d1117;color:#e6edf3;border:1px solid #30363d;border-radius:6px;padding:6px 8px;font-size:13px}.hconfig-actions{margin-top:12px;display:flex;align-items:center;gap:12px}.herr{color:#f85149;font-size:13px}.htip{margin:10px 0 0;font-size:12px;color:#8b949e;line-height:1.6}.hmessages{flex:1;overflow-y:auto;padding:18px 18px 8px;display:flex;flex-direction:column;gap:12px;max-width:900px;width:100%;margin:0 auto;box-sizing:border-box}.hempty{color:#8b949e;font-size:14px;text-align:center;margin-top:40px}.hmsg{max-width:86%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.hmsg-user{align-self:flex-end;background:#1f6feb;color:#fff;border-bottom-right-radius:4px}.hmsg-assistant{align-self:flex-start;background:#161b22;border:1px solid #30363d;border-bottom-left-radius:4px}.hmsg-system{align-self:stretch;background:#f851491f;border:1px solid #f85149;color:#f85149;font-size:13px;border-radius:8px}.hcaret{display:inline-block;animation:hblink .9s steps(2) infinite;color:#58a6ff}@keyframes hblink{50%{opacity:0}}.hthinking{margin:0 0 8px;font-size:12px;color:#8b949e}.hthinking summary{cursor:pointer;-webkit-user-select:none;user-select:none}.hthinking pre{margin:6px 0 0;padding:8px 10px;background:#0d1117;border:1px solid #21262d;border-radius:6px;white-space:pre-wrap;word-break:break-word;color:#9da7b3;max-height:260px;overflow-y:auto;font-size:12px}.htext{white-space:pre-wrap}.hcard{align-self:stretch;max-width:86%;background:#161b22;border:1px solid #30363d;border-radius:10px;overflow:hidden}.hcard-execute{border-color:#9e6a03}.hcard-head{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;color:#c9d1d9}.hcard-execute .hcard-head{background:#d2992214}.hcard-icon{font-size:14px}.hcard-title{flex:1}.hcard-chevron{color:#8b949e}.hcard-body{padding:4px 12px 12px;border-top:1px solid #21262d}.hargs{margin:8px 0 0;padding:8px;background:#0d1117;border:1px solid #21262d;border-radius:6px;font-size:12px;max-height:280px;overflow:auto;color:#9da7b3}.hactions{margin:8px 0 6px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#e6edf3}.hdesc{font-size:12px;color:#8b949e;margin:2px 0 4px}.hdiff-block{margin-top:10px}.hdiff-title{font-size:12px;color:#d2a8ff;margin-bottom:6px}.hdiff{margin:0;padding:8px 10px;background:#0d1117;border:1px solid #21262d;border-radius:6px;font-size:12px;line-height:1.7;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--font-family-mono)}.hdiff-line{display:block}.hdiff-add{color:#3fb950;background:#3fb95014}.hdiff-del{color:#f85149;background:#f8514914;text-decoration:line-through}.hresult-wrap{margin-top:8px}.hresult{font-size:12px;padding:6px 10px;border-radius:6px;white-space:pre-wrap;word-break:break-word}.hresult-ok{color:#3fb950;background:#3fb95014}.hresult-err{color:#f85149;background:#f8514914}.happroval{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #21262d;background:#d299220f;font-size:13px}.happroval-tip{color:#d29922}.happroval-done{color:#8b949e}.hbtn{border:1px solid #30363d;background:#21262d;color:#e6edf3;border-radius:6px;padding:6px 14px;font-size:13px;cursor:pointer}.hbtn:hover:not(:disabled){background:#30363d}.hbtn:disabled{opacity:.5;cursor:not-allowed}.hbtn-primary{background:#1f6feb;border-color:#1f6feb;color:#fff}.hbtn-primary:hover:not(:disabled){background:#388bfd}.hbtn-allow{background:#238636;border-color:#238636;color:#fff}.hbtn-allow:hover:not(:disabled){background:#2ea043}.hbtn-deny{background:#b62324;border-color:#b62324;color:#fff}.hbtn-deny:hover:not(:disabled){background:#da3633}.hbtn-plain{padding:4px 12px}.hcomposer{flex-shrink:0;display:flex;gap:10px;padding:12px 18px 16px;align-items:flex-end;max-width:900px;width:100%;margin:0 auto;box-sizing:border-box}.hcomposer textarea{flex:1;resize:none;min-height:44px;max-height:140px;background:#161b22;color:#e6edf3;border:1px solid #30363d;border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit;line-height:1.5}.hcomposer textarea:focus{outline:none;border-color:#1f6feb}.hcomposer textarea:disabled{opacity:.5}@media (max-width: 640px){.hconfig-row{flex-direction:column}.hmsg,.hcard{max-width:96%}}:root{--font-family-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Helvetica Neue", Helvetica, Arial, "Noto Sans SC", "Source Han Sans SC", sans-serif;--font-family-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Cascadia Code", "Cascadia Mono", "Courier New", "PingFang SC", "Microsoft YaHei", monospace;--font-size-caption: 11px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 15px;--font-size-xl: 16px;--font-size-article: 17px;--font-size-title: 20px;--font-size-title-lg: 22px;--bg-color: #faf8f5;--card-bg: #ffffff;--surface-bg: #f3efe9;--toolbar-bg: #ffffff;--input-bg: #ffffff;--cover-placeholder-bg: #eae6df;--text-color: #2c2c2c;--text-secondary: #8c8880;--primary-color: #5b6e8a;--primary-color-light: rgba(91, 110, 138, .08);--primary-color-hover: #4a5d78;--primary-rgb: 91, 110, 138;--accent-color: #96522c;--danger-color: #c84b4b;--success-color: #5a8f6a;--cover-placeholder-color: #5b6e8a;--border-color: #e8e4db;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-color: rgba(30, 36, 48, .12);--hover-bg: #f3efe9;--modal-mask: rgba(0, 0, 0, .4);--sidebar-width: 180px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--ink-grid: 4px;--ink-seal: 2px;--ink-line: color-mix(in srgb, var(--border-color) 88%, var(--text-color) 12%);--ink-line-strong: color-mix(in srgb, var(--border-color) 74%, var(--text-color) 26%);--ink-1: color-mix(in srgb, var(--bg-color) 98%, var(--text-color));--ink-2: color-mix(in srgb, var(--bg-color) 96%, var(--text-color));--ink-3: color-mix(in srgb, var(--bg-color) 92%, var(--text-color));--ink-muted: color-mix(in srgb, var(--text-color) 64%, var(--ink-2));--ink-zone-read: color-mix(in srgb, var(--primary-color) 70%, var(--text-color));--ink-zone-write: color-mix(in srgb, var(--accent-color) 60%, var(--text-color));--ink-zone-craft: color-mix(in srgb, var(--success-color) 70%, var(--text-color));--ink-zone-think: color-mix(in srgb, #6a5480 88%, var(--text-color));--ink-zone-flow: var(--ink-muted);--ink-zone-chapter: color-mix(in srgb, #3f6b8a 100%, var(--text-color));--ink-zone-outline: color-mix(in srgb, #4a6f8c 96%, var(--text-color));--ink-zone-doc: color-mix(in srgb, #3f6472 92%, var(--text-color));--ink-zone-approve: color-mix(in srgb, #9e3d38 100%, var(--text-color));--ink-zone-ask: color-mix(in srgb, #a04a63 100%, var(--text-color));--ink-warn-text: color-mix(in srgb, #a4713f 76%, var(--text-color));--ink-success-text: color-mix(in srgb, #4f7f63 83%, var(--text-color));--ink-danger-text: color-mix(in srgb, #9e3d38 100%, var(--text-color));--ink-step-text: color-mix(in srgb, #3f6b8a 100%, var(--text-color));--ink-cost-text: color-mix(in srgb, #b8912f 57%, var(--text-color));--ink-core-text: color-mix(in srgb, #6a5480 100%, var(--text-color));--ink-nav-hover: color-mix(in srgb, #4a6f8c 96%, var(--text-color));--ink-flow-ink: color-mix(in srgb, var(--text-color) 78%, var(--ink-2));--diff-added-bg: #e3efe6;--diff-added-text: #3a7d4a;--diff-removed-bg: #fce8e8;--diff-removed-text: #c84b4b}html.dark-mode{--ink-zone-chapter: #a9c8e8;--ink-zone-outline: #b0c8dd;--ink-zone-doc: #a8ccd8;--ink-zone-read: #b9cbe6;--ink-zone-write: #e8b48c;--ink-zone-craft: #a8d9b4;--ink-zone-think: #d9c4e8;--ink-zone-approve: #e8a89c;--ink-zone-ask: #e8b4c0;--ink-warn-text: #bc9a78;--ink-success-text: #9db3a1;--ink-danger-text: #c5968f;--ink-step-text: #97aab5;--ink-cost-text: #cfb982;--ink-core-text: #b6aab7;--ink-nav-hover: #91a4b0;--ink-flow-ink: var(--ink-muted);--bg-color: #1a1a18;--card-bg: #252523;--surface-bg: #1e1e1c;--toolbar-bg: #252523;--input-bg: #1a1a18;--cover-placeholder-bg: #1e1e1c;--text-color: #e8e4dc;--text-secondary: #8a867e;--primary-color: #7e94b5;--primary-color-light: rgba(126, 148, 181, .08);--primary-color-hover: #8ea3c2;--primary-rgb: 126, 148, 181;--accent-color: #d4956e;--danger-color: #d4726a;--success-color: #6a9d78;--cover-placeholder-color: #7e94b5;--border-color: #333330;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-color: rgba(0, 0, 0, .45);--hover-bg: #2a2a27;--modal-mask: rgba(0, 0, 0, .65);--diff-added-bg: rgba(70, 149, 110, .15);--diff-added-text: #7ec99a;--diff-removed-bg: rgba(200, 75, 75, .15);--diff-removed-text: #e8887f}*{box-sizing:border-box}*::selection{background-color:#d49b3757;color:inherit}html.dark-mode *::selection{background-color:#ebaf466b}html,body{margin:0;padding:0}body{font-family:var(--font-family-ui);margin:0;padding:0;overflow:hidden;background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s,color .3s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root{width:calc(100vw / var(--ui-zoom, 1));height:calc(100vh / var(--ui-zoom, 1));display:flex;justify-content:center}input,textarea,select,button{font-family:inherit}pre,code,kbd,samp{font-family:var(--font-family-mono)}input,textarea{outline:none;transition:border-color .2s,background-color .3s,color .3s;background-color:var(--input-bg);color:var(--text-color);border:1px solid var(--border-color)}input:focus,textarea:focus{border-color:var(--primary-color)}button{cursor:pointer;font-family:inherit;transition:background-color .15s,opacity .15s,transform .15s}a{color:var(--primary-color);text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}::-webkit-scrollbar-corner{background:transparent}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes numberScroll{0%{transform:translateY(-10px);opacity:0}50%{opacity:1}to{transform:translateY(0);opacity:1}}@keyframes breathe{0%,to{box-shadow:0 0 0 2px var(--primary-color),0 0 20px #5b6e8a66}50%{box-shadow:0 0 0 2px var(--primary-color),0 0 40px #5b6e8a99}}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translate(10px)}to{opacity:1;transform:translateY(-50%) translate(0)}}@keyframes cardLift{0%{transform:translateY(0);box-shadow:var(--shadow-md)}to{transform:translateY(-4px);box-shadow:var(--shadow-lg)}}@keyframes menuExpand{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.sidebar-btn{display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 14px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;box-sizing:border-box;flex-shrink:0}.sidebar-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--primary-color)}.sidebar-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar-btn--active{background-color:var(--primary-color);color:#fff}.sidebar-btn--active:hover{background-color:var(--primary-color-hover);color:#fff}.sidebar-btn--logout{color:var(--danger-color)}.sidebar-btn--logout:hover{background-color:#c84b4b14;color:var(--danger-color)}html.dark-mode .sidebar-btn--logout:hover{background-color:#d4726a26}.sidebar-btn-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.sidebar-btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-separator{height:1px;background-color:var(--border-color);margin:4px 10px}.toolbar-btn{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background-color:transparent;border:none;cursor:pointer;transition:all .15s;position:relative;color:var(--text-secondary);padding:0}.toolbar-btn:hover{color:var(--primary-color);background-color:var(--hover-bg)}.toolbar-btn[data-title]:hover:after{content:attr(data-title);position:absolute;left:100%;top:50%;transform:translateY(-50%) translate(10px);margin-left:12px;padding:4px 10px;background-color:#2c2c2c;color:#faf8f5;font-size:12px;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:var(--shadow-md);opacity:0;animation:tooltipFadeIn .2s ease forwards}.toolbar-btn[data-title]:hover:before{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%) translate(10px);margin-left:4px;border:4px solid transparent;border-right-color:#2c2c2c;pointer-events:none;z-index:1000;opacity:0;animation:tooltipFadeIn .2s ease forwards}.home-container{height:100%;display:flex;flex-direction:column;background-color:var(--bg-color);transition:background-color .4s;overflow:hidden;position:relative}.home-page{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;width:100%;max-width:1400px;margin:0 auto;padding:0 24px}.home-header{display:flex;align-items:center;justify-content:space-between;padding:24px 8px 16px;flex-shrink:0;gap:24px}.home-header-left{display:flex;align-items:center;gap:20px;min-width:0}.home-title{font-size:20px;font-weight:700;color:var(--text-color);margin:0;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.home-search{display:flex;align-items:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:0 14px;height:36px;transition:all .25s;width:180px}.home-search:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-light);width:240px}.home-search-icon{color:var(--text-secondary);flex-shrink:0}.home-sort-select{height:36px;padding:0 8px;font-size:12px;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;outline:none;cursor:pointer;flex-shrink:0}.home-sort-select:hover{border-color:var(--primary-color)}.home-search-input{border:none;background:transparent;width:100%;font-size:13px;color:var(--text-color);outline:none;padding:0 8px}.home-search-input::placeholder{color:var(--text-secondary);opacity:.5}.home-header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.home-header-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;position:relative}.home-header-icon-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.home-export-preset{height:30px;max-width:190px;padding:0 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--card-bg);color:var(--text-secondary);font-size:var(--font-size-caption, 12px);font-family:inherit;cursor:pointer}.home-export-preset:hover{color:var(--text-color);border-color:var(--primary-color)}.home-export-preset:focus{outline:none;border-color:var(--primary-color)}.home-header-badge{position:absolute;top:3px;right:3px;min-width:14px;height:14px;padding:0 4px;background-color:var(--danger-color);color:#fff;font-size:11px;font-weight:600;border-radius:7px;line-height:14px;text-align:center;pointer-events:none}.home-header-separator{width:1px;height:20px;background-color:var(--border-color);margin:0 6px}.home-create-wrapper{position:relative;margin-right:4px}.home-create-btn{display:flex;align-items:center;gap:6px;height:36px;padding:0 18px;border:none;border-radius:var(--radius-sm);background-color:var(--primary-color);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.home-create-btn:hover{background-color:var(--primary-color-hover)}.home-create-menu{position:absolute;top:calc(100% + 6px);right:0;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;min-width:150px;z-index:100;animation:menuExpand .12s ease-out}.home-create-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-color);font-size:13px;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .1s;text-align:left}.home-create-menu button:hover{background-color:var(--hover-bg)}.home-stats{flex-shrink:0;display:flex;align-items:stretch;gap:24px;margin:0 8px 18px;padding:14px 18px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md)}.home-stats-left{display:flex;align-items:center;gap:28px;min-width:0}.home-stats-today{display:flex;flex-direction:column;gap:4px;white-space:nowrap}.home-stats-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary)}.home-stats-value{font-size:22px;font-weight:700;color:var(--text-color);line-height:1}.home-stats-value small{font-size:12px;font-weight:400;color:var(--text-secondary)}.home-stats-goal{min-width:220px;display:flex;flex-direction:column;gap:6px}.home-stats-goal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-stats-goal-edit-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer}.home-stats-goal-edit-btn:hover{background:var(--hover-bg);color:var(--text-color)}.home-stats-goal-edit{display:flex;align-items:center;gap:4px}.home-stats-goal-edit input{width:90px;padding:3px 8px;font-size:12px;border:1px solid var(--primary-color);border-radius:5px;background:var(--bg-color);color:var(--text-color);outline:none}.home-stats-goal-edit button{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:5px;background:var(--primary-color);color:#fff;cursor:pointer}.home-stats-progress{display:flex;align-items:center;gap:8px}.home-stats-progress-bar{flex:1;height:8px;border-radius:4px;background:var(--hover-bg);overflow:hidden}.home-stats-progress-fill{height:100%;border-radius:4px;background:var(--primary-color);transition:width .3s ease}.home-stats-progress-fill.is-done{background:var(--success-color, #2e9e5b)}.home-stats-progress-pct{font-size:12px;color:var(--text-secondary);white-space:nowrap}.home-stats-chart{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.home-stats-bars{flex:1;display:flex;align-items:flex-end;gap:10px}.home-stats-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.home-stats-bar-track{width:100%;height:44px;display:flex;align-items:flex-end}.home-stats-bar-fill{width:100%;max-width:26px;margin:0 auto;border-radius:4px 4px 0 0;background:var(--border-color);min-height:4px;transition:height .3s ease}.home-stats-bar-fill.has-words{background:var(--primary-color);opacity:.55}.home-stats-bar-fill.has-words.is-today{background:var(--primary-color);opacity:1}.home-stats-bar-label{font-size:11px;color:var(--text-secondary);white-space:nowrap}.home-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.book-grid{flex:1;overflow-y:auto;padding:0 8px 32px;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-content:start;gap:28px 24px;box-sizing:border-box}.book-card-wrapper{display:flex;flex-direction:column;gap:10px;opacity:1;transition:opacity .3s ease}.book-card-cover{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:12px;background-color:var(--card-bg);box-shadow:var(--shadow-md);overflow:hidden;cursor:pointer;transition:all .25s ease}.book-card-cover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.book-card-cover:after{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;z-index:2;pointer-events:none;background:linear-gradient(to right,rgba(255,255,255,.2),rgba(0,0,0,.06) 72%,transparent);border-radius:12px 0 0 12px}.book-card-cover.newly-imported{box-shadow:0 0 0 2px var(--primary-color),0 0 24px #5b6e8a66;animation:breathe 2s ease-in-out}.book-card-cover-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--cover-placeholder-bg);position:relative}.book-card-cover-content:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(165deg,#ffffff29,#fff0 30%),linear-gradient(0deg,#1418201a,#14182000 26%)}.book-card-cover-image{width:100%;height:100%;object-fit:cover}.book-card-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.book-card-cover-initial{font-size:48px;font-weight:700;color:#ffffffe0;-webkit-user-select:none;user-select:none;text-shadow:0 1px 3px rgba(0,0,0,.12)}.book-cover-menu-wrapper{position:absolute;bottom:6px;right:6px;z-index:6;opacity:0;transition:opacity .2s}.book-card-cover:hover .book-cover-menu-wrapper,.book-cover-menu-wrapper:has(.book-cover-menu-popup){opacity:1}.book-cover-menu-trigger{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#00000040;color:#ffffffd9;cursor:pointer;border-radius:50%;padding:0;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.book-cover-menu-trigger:hover{background:#00000073;color:#fff}.book-cover-menu-popup{position:fixed;z-index:2000;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;min-width:176px;max-height:calc(100vh - 24px);overflow-y:auto;animation:menuExpand .12s ease-out;transform-origin:bottom right}.book-cover-menu-popup button{display:flex;align-items:center;gap:7px;width:100%;padding:7px 10px;border:none;background:transparent;color:var(--text-color);font-size:12px;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .1s;text-align:left;white-space:nowrap}.book-cover-menu-popup button:hover{background-color:var(--hover-bg)}.book-cover-menu-divider{height:1px;background-color:var(--border-color);margin:3px 0}.book-cover-menu-danger{color:var(--danger-color)!important}.book-cover-menu-danger:hover{background-color:#c84b4b14!important}.book-cover-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.book-cover-hover-overlay.is-visible{opacity:1;visibility:visible}.book-cover-hover-content{background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.35) 60%,transparent 100%);padding:clamp(8px,12%,24px) clamp(8px,8%,20px) clamp(6px,8%,16px);display:flex;flex-direction:column;height:48%;max-height:48%;box-sizing:border-box}.book-cover-hover-desc{margin:0;color:#ffffffeb;line-height:1.55;flex:1;overflow:hidden;word-break:break-word;font-size:12px}.book-cover-hover-empty{opacity:.55;font-style:italic}.book-cover-hover-date{margin:clamp(4px,6%,10px) 0 0 0;font-size:11px;color:#fff9;flex-shrink:0}.book-cover-info-trigger{display:none}.book-card-info{padding:0 2px;flex:0 0 auto}.book-card-title{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.book-card-meta{display:flex;justify-content:flex-start;align-items:center}.book-card-word-count{font-size:11px;color:var(--accent-color);font-weight:500;opacity:.8}.home-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}.home-empty-icon{color:var(--text-secondary);opacity:.15;margin-bottom:8px}.home-empty-title{font-size:18px;font-weight:600;color:var(--text-color);margin:0}.home-empty-desc{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.home-version{position:absolute;bottom:12px;right:16px;font-size:11px;color:var(--text-secondary);opacity:.3;font-weight:500;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:1}.home-stats-chart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.home-stats-range-toggle{display:flex;gap:4px}.home-stats-range-btn{padding:2px 8px;font-size:11px;border:1px solid var(--border-color, #e5e7eb);border-radius:4px;background:transparent;color:var(--text-secondary, #666);cursor:pointer}.home-stats-range-btn.is-active{border-color:var(--primary-color, #6366f1);color:var(--primary-color, #6366f1);font-weight:600}.home-stats-metrics{display:flex;gap:8px;margin-bottom:10px}.home-stats-metric{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--card-bg, #fff)}.home-stats-metric-value{font-size:14px;font-weight:600;color:var(--primary-color, #6366f1)}.home-stats-metric-label{font-size:11px;color:var(--text-secondary, #666)}@media (max-width: 720px){.home-header{flex-wrap:wrap;gap:12px;padding:16px 8px 12px}.home-header-left{flex-wrap:wrap;gap:10px}.home-search{flex:1 1 100%;min-width:0}.home-export-preset{max-width:100%}.book-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:20px 14px;padding:0 4px 24px}}.edit-book-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-mask);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto}.edit-book-modal{background-color:var(--card-bg);padding:24px;border-radius:var(--radius-lg);width:550px;box-shadow:var(--shadow-lg);color:var(--text-color);margin:20px auto;animation:fadeUp .25s ease-out}.edit-book-modal-title{margin-bottom:20px;font-size:20px;font-weight:800}.edit-book-modal-content{display:flex;flex-direction:row;gap:24px}.edit-book-cover-section{display:flex;flex-direction:column;gap:8px;flex:0 0 auto}.edit-book-label{display:block;font-size:13px;color:var(--text-secondary);font-weight:600;margin-bottom:6px}.edit-book-cover-upload{width:150px;aspect-ratio:.65;border:2px dashed var(--border-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background-color:var(--bg-color);cursor:pointer;position:relative;overflow:hidden}.edit-book-cover-preview{width:100%;height:100%;object-fit:cover}.edit-book-cover-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px}.edit-book-cover-placeholder span:first-child{font-size:28px}.edit-book-cover-placeholder span:last-child{font-size:11px;color:var(--text-secondary);text-align:center}.edit-book-cover-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.edit-book-reset-btn{padding:6px 10px;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:500;transition:all .2s;white-space:nowrap}.edit-book-reset-btn:hover{background-color:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}.edit-book-info-section{display:flex;flex-direction:column;gap:12px;flex:1}.edit-book-input{width:100%;padding:10px 12px;box-sizing:border-box;border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);border-radius:var(--radius-sm);font-size:14px}.edit-book-input:focus{border-color:var(--primary-color)}.edit-book-description-wrapper{flex:1;display:flex;flex-direction:column}.edit-book-textarea{width:100%;padding:10px 12px;flex:1;min-height:120px;box-sizing:border-box;border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);border-radius:var(--radius-sm);resize:none;font-size:14px;line-height:1.5}.edit-book-textarea:focus{border-color:var(--primary-color)}.edit-book-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.edit-book-cancel-btn{padding:10px 20px;background-color:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500}.edit-book-cancel-btn:hover{background-color:var(--hover-bg)}.edit-book-save-btn{padding:10px 24px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;transition:all .15s}.edit-book-save-btn:hover:not(:disabled){background-color:var(--primary-color-hover)}.edit-book-save-btn:disabled{cursor:not-allowed;box-shadow:none}.confirm-delete-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-mask);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-delete-modal{background-color:var(--card-bg);padding:32px;border-radius:var(--radius-lg);width:380px;box-shadow:var(--shadow-lg);color:var(--text-color);text-align:center;animation:scaleUp .2s ease-out}.confirm-delete-icon{font-size:40px;margin-bottom:16px}.confirm-delete-title{margin-bottom:12px;font-size:18px;font-weight:800}.confirm-delete-message{margin-bottom:24px;color:var(--text-secondary);font-size:14px;line-height:1.6}.confirm-delete-count{color:var(--danger-color);font-weight:700}.confirm-delete-input{width:100%;padding:14px;margin-bottom:8px;box-sizing:border-box;border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);font-size:16px;text-align:center}.confirm-delete-input:focus{border-color:var(--primary-color)}.confirm-delete-error{color:var(--danger-color);margin-bottom:16px;font-size:14px;font-weight:600}.confirm-delete-actions{display:flex;gap:12px;margin-top:16px}.confirm-delete-cancel-btn{flex:1;padding:14px;border:1px solid var(--border-color);background-color:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.confirm-delete-cancel-btn:hover{background-color:var(--hover-bg)}.confirm-delete-confirm-btn{flex:1;padding:14px;background-color:var(--danger-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700}.confirm-delete-confirm-btn:disabled{cursor:not-allowed;opacity:.5}.confirm-delete-confirm-btn:hover:not(:disabled){background-color:#b84040}.editor-root{height:100%;overflow:hidden;display:flex;flex-direction:row;background-color:var(--bg-color);color:var(--text-color);position:relative;--sidebar-width: 260px;--sidebar-effective: var(--sidebar-width)}@media (max-width: 900px){.editor-root{--sidebar-effective: min(var(--sidebar-width), 32vw)}.pane-resize-handle--sidebar{display:none}}.editor-body{flex:1;min-width:0;display:flex;overflow:hidden}@media (max-width: 900px){.editor-body{min-width:200px}}.editor-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.editor-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.editor-sidebar{display:flex;flex-direction:column;width:var(--sidebar-effective);min-width:var(--sidebar-effective);background-color:var(--card-bg);border-right:1px solid var(--border-color);box-shadow:4px 0 16px #0000000f;box-sizing:border-box;overflow:hidden;flex-shrink:0;transition:margin-left .28s cubic-bezier(.4,0,.2,1)}.editor-sidebar--collapsed{margin-left:calc(-1 * var(--sidebar-effective))}.ws-region{flex:0 0 auto;display:flex;flex-direction:column;min-width:0;background-color:var(--card-bg)}.ws-region.is-empty{display:none}.ws-columns{flex:1;min-height:0;min-width:0;display:flex;flex-direction:row}.ws-pane{transition:width .19s cubic-bezier(.22,.61,.36,1);position:relative;flex:0 1 auto;width:var(--ws-pane-width);min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--border-color)}.ws-pane[hidden]{display:none}.solo-pane-window{height:calc(100vh / var(--ui-zoom, 1));display:flex;flex-direction:column;overflow:auto}.ws-pane-body{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.ws-pane-fixed{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;margin-left:auto}.ws-pane .cm-ai-assistant-panel{border-left:none}.pane-resize-handle{flex:0 0 auto;width:5px;cursor:col-resize;background:transparent;position:relative;z-index:20;touch-action:none}.pane-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:-3px;right:-3px}.pane-resize-handle:hover,.pane-resize-handle.is-dragging{background:var(--primary-color-light)}.pane-resize-handle:focus-visible{outline:2px solid var(--primary-color);outline-offset:-1px}.pane-resize-handle--inside{position:absolute;top:0;bottom:0;left:-3px;width:7px;z-index:5}.pane-resize-handle--sidebar{position:absolute;top:0;bottom:0;left:calc(var(--sidebar-effective) - 3px);width:7px;z-index:5}.pane-rail{flex:0 0 auto;width:44px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:44px 0 8px;background-color:var(--card-bg);border-left:1px solid var(--border-color);overflow-y:auto;scrollbar-width:none}.pane-rail::-webkit-scrollbar{display:none}.pane-rail-divider{flex-shrink:0;width:22px;height:1px;margin:6px 0;background-color:var(--border-color)}.pane-rail-swap{margin-bottom:6px;border:1px solid var(--border-color);color:var(--text-secondary)}.pane-rail-swap:hover{border-color:var(--primary-color);color:var(--primary-color)}.pane-rail-spacer{flex:1}.pane-rail-btn{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,color .15s}.pane-rail-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.pane-rail-btn.is-active{background-color:var(--primary-color-light);color:var(--primary-color)}.pane-rail-btn:active{transform:scale(.94)}.editor-sidebar-brand{display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;flex-shrink:0;color:var(--primary-color);font-size:15px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid var(--border-color)}.editor-sidebar-brand svg{flex-shrink:0;display:block}.editor-sidebar-brand-title{flex:1;min-width:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:6px 8px;scrollbar-width:none;-ms-overflow-style:none}.editor-sidebar-scroll::-webkit-scrollbar{display:none}.sidebar-menu{margin-bottom:2px}.sidebar-nav-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:none;background:transparent;color:var(--text-color);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;transition:background-color .15s,color .15s}.sidebar-nav-item:hover{background-color:var(--hover-bg)}.sidebar-nav-item--active{background-color:var(--primary-color-light);color:var(--primary-color)}.sidebar-nav-item--plain{cursor:pointer}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.sidebar-nav-label{flex:1;text-align:left}.sidebar-nav-caret{flex-shrink:0;color:var(--text-secondary);transition:transform .2s ease;pointer-events:none}.sidebar-nav-caret.is-open{transform:rotate(90deg)}.sidebar-menu-body{margin:2px 0 6px}.ai-chat-view{flex:1;min-height:0;min-width:0;display:flex;flex-direction:row;background-color:var(--card-bg)}.ai-chat-view-side{flex:0 0 auto;width:236px;min-width:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border-color);background-color:var(--card-bg)}.ai-chat-view-side .ai-chat-sidebar{padding:10px 10px 10px 12px}.ai-chat-view-side .ai-chat-sidebar-new,.ai-chat-view-side .ai-chat-sidebar-tools{padding:44px 0 8px}.ai-chat-view-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ai-chat-sidebar{display:flex;flex-direction:column;padding:2px 0 2px 12px}.ai-chat-sidebar-new{padding:0 8px 8px 0}.ai-chat-new-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 12px;border:1px dashed var(--border-color);background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:border-color .2s,color .2s,background-color .2s}.ai-chat-new-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--hover-bg)}.ai-chat-new-btn:active{transform:scale(.98)}.ai-chat-sidebar-list{display:flex;flex-direction:column;gap:1px}.ai-chat-sidebar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 8px;gap:4px;color:var(--text-secondary)}.ai-chat-sidebar-empty-icon{font-size:22px;opacity:.6}.ai-chat-sidebar-empty p{font-size:12px;margin:0;text-align:center}.editor-sidebar-spacer{flex-shrink:0;height:8px}.sidebar-footer-row{display:flex;align-items:center;justify-content:space-around;gap:4px;padding:0 8px;height:30px;flex-shrink:0;border-top:1px solid var(--border-color)}.sidebar-footer-btn{display:flex;align-items:center;justify-content:center;flex:1;height:24px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,color .15s}.sidebar-footer-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.sidebar-footer-btn:active{transform:scale(.94)}.editor-view-host{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.editor-view-host[hidden]{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes moduleSlideIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.editor-sidebar-search-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border-color)}.editor-sidebar-search-row .global-search{flex:1;min-width:0;border-bottom:none}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;margin:8px 10px 8px 0;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.sidebar-collapse-btn:hover{background-color:var(--hover-bg);color:var(--primary-color);border-color:var(--primary-color)}.sidebar-collapse-btn:active{transform:scale(.94)}.global-search{position:relative;flex-shrink:0;padding:8px 10px;border-bottom:1px solid var(--border-color)}.global-search-input-wrap{display:flex;align-items:center;height:32px;padding:0 8px;gap:6px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.global-search-input-wrap:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.global-search-icon{color:var(--text-secondary);flex-shrink:0}.global-search-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:13px;color:var(--text-color)}.global-search-input::placeholder{color:var(--text-secondary);opacity:.55}.global-search-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;flex-shrink:0;transition:background-color .15s,color .15s}.global-search-clear:hover{background-color:var(--hover-bg);color:var(--text-color)}.global-search-dropdown{position:absolute;left:8px;right:8px;top:calc(100% - 2px);z-index:40;max-height:60vh;overflow-y:auto;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px}.global-search-dropdown::-webkit-scrollbar{width:5px}.global-search-dropdown::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:2px}.global-search-status{display:flex;align-items:center;gap:6px;padding:12px 10px;font-size:12px;color:var(--text-secondary)}.sidebar-pane-hits{padding:0 6px 6px}.sidebar-pane-hits .global-search-status{padding:8px 4px 6px}.sidebar-pane-hit-btn{display:block;width:100%;margin-bottom:4px;padding:7px 10px;text-align:left;font-size:12px;color:var(--primary-color);background-color:var(--primary-color-light);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background-color .15s}.sidebar-pane-hit-btn:hover{border-color:var(--primary-color)}.global-search-count{padding:4px 8px 6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);opacity:.7}.global-search-spin{animation:gsSpin .9s linear infinite}@keyframes gsSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.global-search-result{display:flex;flex-direction:column;gap:3px;width:100%;padding:8px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background-color .12s}.global-search-result:hover{background-color:var(--hover-bg)}.global-search-result-head{display:flex;align-items:center;gap:6px;min-width:0}.global-search-badge{flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:600;border-radius:4px;color:var(--primary-color);background-color:var(--primary-color-light);letter-spacing:.02em}.global-search-badge.badge-chapter{color:#3a6ea5;background:#3a6ea51f}.global-search-badge.badge-outline{color:#8a5a2b;background:#c47e5a24}.global-search-badge.badge-setting{color:#5a8f6a;background:#5a8f6a24}.global-search-badge.badge-volume{color:#6b6b8a;background:#6b6b8a24}.global-search-badge.badge-faction{color:#b1543f;background:#c84b4b1f}.global-search-badge.badge-character{color:#4f80f0;background:#4f80f01f}.global-search-badge.badge-item{color:#9a7b28;background:#d9a82024}.global-search-badge.badge-conversation{color:#059669;background:#10b98124}.global-search-result-crumb{flex:1;min-width:0;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}.global-search-result-title{font-size:13px;font-weight:600;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-result-snippet{font-size:11px;line-height:1.5;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.global-search-result-snippet mark{background:#d9a82052;color:inherit;border-radius:2px;padding:0 1px}.data-library-container{height:100%;display:flex;flex-direction:column;background-color:var(--bg-color)}.data-library-toolbar{height:44px;background-color:var(--toolbar-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px;gap:12px;flex-shrink:0}.data-library-content{flex:1;overflow:hidden;display:flex}.data-library-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.data-library-cards{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding:20px;box-sizing:border-box}.data-card{background-color:var(--card-bg);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);cursor:pointer;transform-origin:left top;transition:box-shadow .5s ease,background-color .5s ease,border-color .5s ease,padding .8s cubic-bezier(.4,0,.2,1),border-radius .8s cubic-bezier(.4,0,.2,1),max-height .76s cubic-bezier(.4,0,.2,1),opacity .5s ease,margin .76s cubic-bezier(.4,0,.2,1),transform .15s ease;border:1px solid var(--border-color)}.data-card-title{font-size:15px;font-weight:600;color:var(--text-color);margin-bottom:8px;transition:font-size .76s cubic-bezier(.4,0,.2,1)}.data-card-meta{font-size:12px;color:var(--text-secondary);margin-bottom:8px;max-height:40px;opacity:1;overflow:hidden}.data-card-description{font-size:13px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;margin:0;max-height:120px;opacity:1}.data-card-type{margin-bottom:8px;max-height:40px;opacity:1;overflow:hidden}.type-badge{display:inline-block;padding:2px 8px;background-color:var(--primary-color);color:#fff;border-radius:var(--radius-sm);font-size:11px;font-weight:500}.character-info{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:12px;color:var(--text-secondary);max-height:60px;opacity:1;overflow:hidden}.data-card-meta,.data-card-description,.data-card-type,.character-info{transition:max-height .76s cubic-bezier(.4,0,.2,1),opacity .5s ease,margin .76s cubic-bezier(.4,0,.2,1)}.svg-tree-view{width:100%;height:100%;overflow:auto}.tree-node{cursor:pointer;transition:all .2s}.tree-node:hover{filter:brightness(1.1)}.data-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-mask);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .15s ease}.data-modal-content{background-color:var(--card-bg);padding:24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-color);max-width:600px;width:90vw;max-height:80vh;overflow-y:auto;animation:scaleUp .2s cubic-bezier(.34,1.2,.64,1)}.data-modal-header{font-size:18px;font-weight:600;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.data-modal-close{background:none;border:none;cursor:pointer;font-size:20px;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .15s}.data-modal-close:hover{background-color:var(--hover-bg);color:var(--text-color)}.data-modal-body{font-size:14px;line-height:1.6;color:var(--text-secondary)}.data-form{display:flex;flex-direction:column;gap:16px}.form-input{padding:8px 12px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-color);font-size:14px}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.form-textarea{padding:8px 12px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-color);font-size:14px;resize:vertical;min-height:100px;font-family:inherit}.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.form-button{padding:8px 16px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;transition:all .15s}.form-button:hover{background-color:var(--primary-color-hover)}.form-button:disabled{opacity:.5;cursor:not-allowed}.data-library-container{flex:1;display:flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden;min-height:0;position:relative}.data-card-area{height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px;padding:20px;align-content:start;width:100%;min-width:0;box-sizing:border-box}.data-library-container.card-list .data-card-area{display:flex;flex-direction:column;gap:6px;padding:10px}.data-library-container.card-list .data-card{width:227px}.data-library-container.card-list .data-card{padding:10px 12px;border-radius:6px;flex-shrink:0}.data-library-container.card-list .data-card .data-card-description,.data-library-container.card-list .data-card .character-info,.data-library-container.card-list .data-card .data-card-meta,.data-library-container.card-list .data-card .data-card-type{max-height:0;opacity:0;margin-bottom:0;overflow:hidden}.data-library-container.card-list .data-card .data-card-title{font-size:13px;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-library-container.card-list .data-card:hover{transform:none}.data-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color);background-color:#48bb7814}.data-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.data-detail-panel{position:absolute;top:0;right:0;bottom:0;width:68%;display:flex;flex-direction:column;background-color:var(--bg-color);border-left:1px solid var(--border-color);transform:translate(100%);opacity:0;pointer-events:none;transition:transform .55s cubic-bezier(.25,.46,.45,.94),opacity .3s ease;z-index:2}.data-library-container.detail-open .data-detail-panel{transform:translate(0);opacity:1;pointer-events:auto;transition:transform .76s cubic-bezier(.25,.46,.45,.94),opacity .4s ease .15s}.data-detail-panel-header,.data-detail-panel-body{opacity:0;transition:opacity .3s ease}.data-library-container.detail-open .data-detail-panel-header,.data-library-container.detail-open .data-detail-panel-body{opacity:1;transition:opacity .55s ease .25s}.data-detail-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.data-detail-panel-body{flex:1;overflow-y:auto;padding:20px}.data-detail-panel-close{background:none;border:none;cursor:pointer;font-size:20px;color:var(--text-secondary);padding:4px 8px;border-radius:4px;transition:all .15s}.data-detail-panel-close:hover{background-color:var(--hover-bg);color:var(--text-color)}.data-detail-field{margin-bottom:20px}.data-detail-field-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.data-detail-field-value{font-size:14px;color:var(--text-color);line-height:1.6;white-space:pre-wrap}.data-detail-actions{display:flex;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color)}@media (max-width: 720px){.data-card-area{grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:12px;padding:12px}.data-detail-panel{padding:14px 12px 24px}}.data-library-page-header{height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid var(--border-color);flex-shrink:0;font-weight:600;font-size:var(--font-size-lg);color:var(--text-color);background-color:var(--card-bg)}.data-library-header-meta{display:flex;align-items:center;gap:12px;min-width:0}.data-library-header-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-library-header-count{font-size:var(--font-size-xs);font-weight:400;color:var(--text-secondary);white-space:nowrap}.data-library-add-button{padding:4px 12px;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);font-weight:500;white-space:nowrap;flex-shrink:0}.data-library-tabbar{display:flex;padding:0 16px;border-bottom:1px solid var(--border-color);background-color:var(--toolbar-bg);gap:20px;flex-shrink:0}.data-library-tab{padding:12px 4px;font-size:var(--font-size-sm);font-weight:400;color:var(--text-secondary);cursor:pointer;position:relative;transition:all .2s;white-space:nowrap;-webkit-user-select:none;user-select:none}.data-library-tab.is-active{font-weight:600;color:var(--primary-color)}.data-detail-back{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;padding:5px 10px;font-family:inherit;font-size:var(--font-size-xs);line-height:1;color:var(--primary-color);background-color:var(--primary-color-light);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.data-detail-back:hover{background-color:var(--hover-bg);border-color:var(--primary-color)}.data-detail-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.data-library-root.is-narrow .data-card-area{grid-template-columns:1fr;gap:10px;padding:10px}.data-library-root.is-narrow .data-detail-panel{width:100%;border-left:none}.data-library-root.is-narrow .data-detail-panel-body{padding:12px}.data-library-root.is-narrow.is-detail-open .data-detail-panel-body{overscroll-behavior:contain}.data-library-root.is-narrow .data-detail-panel-header{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.data-library-root.is-narrow .data-detail-grid-2{grid-template-columns:1fr;gap:12px}.data-library-root.is-narrow .data-detail-actions{flex-wrap:wrap}.data-library-root.is-narrow .data-library-page-header{padding:0 10px}.data-library-root.is-narrow .data-library-tabbar{padding:0 10px;gap:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cm-container{flex:1;min-height:0;display:flex;flex-direction:column;background-color:var(--bg-color);color:var(--text-color);position:relative}.cm-toolbar-slot{flex-shrink:0}.cm-content-area{flex:1;min-height:0;display:flex;flex-direction:row;overflow:hidden;position:relative}.cm-content-left{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.cm-statusbar-slot{flex-shrink:0}.cm-chapter-panel{display:flex;flex-shrink:0;height:100%;z-index:10}.cm-panel-content{overflow:hidden;transition:width .3s cubic-bezier(.16,1,.3,1)}.cm-content-open{width:260px}.cm-content-closed{width:0}.cm-panel-content-inner{width:260px;height:100%;display:flex;flex-direction:column;background-color:var(--card-bg);border-right:1px solid var(--border-color)}.cm-panel-float-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:18px;height:48px;border:1px solid var(--border-color);border-left:none;border-radius:0 8px 8px 0;background-color:var(--card-bg);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:left .3s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;padding:0}.cm-panel-float-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.cm-float-btn-expanded{left:260px}.cm-float-btn-collapsed{left:0}.sidebar-header{display:flex;align-items:center;gap:6px;padding:10px 12px;flex-shrink:0}.sidebar-search{flex:1;display:flex;align-items:center;background-color:var(--bg-color);border-radius:var(--radius-sm);padding:0 10px;height:32px;border:1px solid var(--border-color);transition:border-color .2s}.sidebar-search:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.search-icon{color:var(--text-secondary);flex-shrink:0;margin-right:6px}.search-input{border:none;background:transparent;width:100%;font-size:13px;color:var(--text-color);outline:none}.search-input::placeholder{color:var(--text-secondary);opacity:.5}.icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;flex-shrink:0}.icon-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:2px}.volume-group{margin-bottom:2px}.volume-header{display:flex;align-items:center;gap:4px;padding:6px 12px;cursor:pointer;transition:background-color .15s;font-size:13px;font-weight:600;color:var(--text-color);position:relative;-webkit-user-select:none;user-select:none}.volume-header:hover{background-color:var(--hover-bg)}.volume-header-active{color:var(--primary-color)}.expand-icon{flex-shrink:0;transition:transform .2s ease;color:var(--text-secondary)}.expand-icon-open{transform:rotate(90deg)}.volume-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.volume-meta{font-size:11px;color:var(--text-secondary);font-weight:400;white-space:nowrap;opacity:.7}.volume-add-chapter{opacity:0;width:22px;height:22px;transition:opacity .15s}.volume-header:hover .volume-add-chapter{opacity:1}.chapter-list{display:flex;flex-direction:column}.chapter-item{display:flex;align-items:center;justify-content:space-between;padding:5px 12px 5px 28px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .15s;position:relative;-webkit-user-select:none;user-select:none}.chapter-item:hover{background-color:var(--hover-bg);color:var(--text-color)}.chapter-item-selected{background:linear-gradient(90deg,var(--primary-color-light) 0%,transparent 100%);color:var(--primary-color)}.chapter-item-selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--primary-color);border-radius:0 2px 2px 0}.chapter-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:28px;min-width:0}.chapter-word-count{font-size:11px;color:var(--text-secondary);font-weight:400;white-space:nowrap;opacity:.6;flex-shrink:0;margin-left:4px}.chapter-status-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;margin-right:7px;background-color:var(--text-secondary);opacity:.4}.chapter-status-draft{background-color:var(--text-secondary);opacity:.4}.chapter-status-revising{background-color:#d99a2b;opacity:1}.chapter-status-done{background-color:#3f9e63;opacity:1}.chapter-word-count-met{color:#3f9e63;opacity:1}.chapter-empty{padding:8px 28px;color:var(--text-secondary);font-size:12px;opacity:.5}.cm-editor-area{flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0;padding-left:20px;padding-right:20px;position:relative}.cm-editor-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary);background:var(--app-background);border-radius:8px;border:1px solid var(--border-color);margin:12px 0}.cm-editor-loading-spinner{flex-shrink:0}.cm-editor-loading-text{font-size:13px;letter-spacing:.3px}.cm-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);gap:14px}.empty-icon{opacity:.12;color:var(--text-secondary)}.empty-title{font-size:18px;font-weight:600;color:var(--text-secondary);opacity:.5;margin:0}.empty-desc{font-size:13px;opacity:.35;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-mask);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease-out}.modal-content{background-color:var(--card-bg);padding:24px;border-radius:var(--radius-lg);width:420px;max-width:90vw;box-shadow:var(--shadow-lg);color:var(--text-color);animation:scaleUp .2s ease-out}.modal-title{margin:0 0 20px;font-size:18px;font-weight:600}.modal-input{width:100%;padding:10px 14px;margin-bottom:12px;box-sizing:border-box;border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);border-radius:var(--radius-sm);font-size:14px;outline:none;transition:border-color .2s}.modal-input:focus{border-color:var(--primary-color)}.modal-textarea{width:100%;padding:10px 14px;margin-bottom:20px;box-sizing:border-box;border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);border-radius:var(--radius-sm);font-size:14px;resize:vertical;outline:none;font-family:inherit;line-height:1.6;transition:border-color .2s}.modal-textarea:focus{border-color:var(--primary-color)}.modal-textarea::placeholder,.modal-input::placeholder{color:var(--text-secondary);opacity:.5}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.btn-cancel{padding:8px 20px;border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-color);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:all .15s}.btn-cancel:hover{background-color:var(--hover-bg)}.btn-confirm{padding:8px 20px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;transition:all .15s}.btn-confirm:hover{background-color:var(--primary-color-hover)}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.context-menu{position:fixed;z-index:2000;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;min-width:160px;animation:menuExpand .12s ease-out}.context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;border:none;background:transparent;color:var(--text-color);font-size:13px;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .1s;text-align:left}.context-menu button:hover{background-color:var(--hover-bg)}.context-menu-has-sub{position:relative}.context-menu-main{justify-content:space-between}.context-menu-chevron{color:var(--text-secondary);flex-shrink:0}.context-menu-sub{position:absolute;left:100%;top:-4px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;min-width:170px;z-index:2001;animation:menuExpand .12s ease-out}.context-menu-sub-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 12px;border:none;background:transparent;color:var(--text-color);font-size:13px;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .1s;text-align:left}.context-menu-sub-item:hover{background-color:var(--hover-bg)}.context-menu-sub-label{font-weight:600}.context-menu-sub-desc{color:var(--text-secondary);font-size:11px}.context-menu-danger{color:var(--danger-color)!important}.context-menu-danger:hover{background-color:#c84b4b14!important}.context-menu-divider{height:1px;background-color:var(--border-color);margin:4px 0}.cm-right-panel-wrapper{flex-shrink:0;width:0;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1)}.cm-right-panel-open{width:380px;pointer-events:auto}.cm-right-panel-inner{width:380px;height:100%;overflow:hidden;background-color:var(--card-bg);border-left:1px solid var(--border-color);box-shadow:-4px 0 16px #0000000f}.cm-editor-mask{display:none}.cm-ai-panel-wrapper{display:flex;flex-direction:column;width:0;min-width:0;overflow:hidden;transition:width .2s ease;border-left:1px solid var(--border-color, #e5e7eb);background:var(--card-bg, #ffffff)}.cm-ai-panel-open{width:340px;min-width:340px}.cm-ai-assistant-panel{width:100%;flex:1;min-height:0;border-left:1px solid var(--border-color);background-color:var(--bg-color);display:flex;flex-direction:column;overflow:hidden;position:relative}.cm-ai-panel-title{font-size:13px;font-weight:600;color:var(--text-color)}.cm-ai-panel-actions{display:flex;align-items:center;gap:2px}.cm-ai-panel-settings{width:26px;height:26px;border:none;background:transparent;color:var(--text-secondary);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.cm-ai-panel-settings:hover{background:var(--hover-bg);color:var(--primary-color)}.cm-ai-panel-tabs{display:flex;padding:6px 10px;gap:4px;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0}.cm-ai-tab-btn{flex:1;height:28px;border:none;background:transparent;color:var(--text-secondary);border-radius:5px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s}.cm-ai-tab-btn:hover{background:var(--hover-bg);color:var(--text-color)}.cm-ai-tab-btn.is-active{background:var(--primary-color);color:#fff}.ai-chat-submode-bar{display:flex;gap:5px;flex-shrink:0}.ai-chat-submode-btn{flex:1;height:24px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);border-radius:5px;cursor:pointer;font-size:11px;font-weight:500;transition:all .15s}.ai-chat-submode-btn:hover{background:var(--hover-bg);color:var(--text-color)}.ai-chat-submode-btn.is-active-writing{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ai-chat-submode-btn.is-active-normal{background:var(--success-color);color:#fff;border-color:var(--success-color)}.cm-ai-panel-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.cm-ai-agent-status{padding:5px 12px;background-color:rgba(var(--primary-rgb),.06);border-bottom:1px solid var(--border-color);font-size:11px;color:var(--primary-color);display:flex;align-items:center;gap:6px;flex-shrink:0;animation:fadeIn .2s ease}.cm-ai-float-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);width:16px;height:48px;border:none;background-color:var(--card-bg);border:1px solid var(--border-color);border-right:none;border-radius:4px 0 0 4px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .15s}.cm-ai-float-btn:hover{background-color:var(--hover-bg);color:var(--text-color)}.cm-ai-float-btn.is-open{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.cm-ai-agent-status-bar{display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(90deg,var(--primary-color-10, rgba(99,102,241,.08)) 0%,transparent 100%);border-bottom:1px solid var(--border-color);font-size:11px;color:var(--primary-color);flex-shrink:0;animation:fadeIn .2s ease}.cm-ai-agent-status-dot{width:6px;height:6px;border-radius:50%;background-color:var(--primary-color);animation:pulse 1.2s ease-in-out infinite;flex-shrink:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.cm-ai-agent-status-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ai-chat-messages{flex:1;min-height:0;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.ai-chat-messages::-webkit-scrollbar{width:3px}.ai-chat-messages::-webkit-scrollbar-track{background:transparent}.ai-chat-messages::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:3px}.ai-chat-messages::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary)}.ai-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center;gap:8px}.ai-chat-empty-icon{font-size:28px;line-height:1}.ai-chat-empty-title{font-size:14px;font-weight:600;color:var(--text-color);margin:0}.ai-chat-empty-desc{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.5}.ai-chat-quick-prompts{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}.ai-chat-quick-row{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px;border-top:1px solid var(--border-color);flex-shrink:0}.ai-chat-quick-btn{padding:4px 10px;border-radius:12px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}.ai-chat-quick-btn:hover{background:var(--hover-bg);color:var(--primary-color);border-color:var(--primary-color)}.ai-chat-quick-btn:disabled{opacity:.5;cursor:not-allowed}.ai-chat-quick-btn-sm{font-size:11px;padding:3px 8px}.ai-chat-msg{display:flex;gap:6px;align-items:flex-start}.ai-chat-msg-user{flex-direction:row-reverse}.ai-chat-msg-ai{flex-direction:row}.ai-chat-avatar{width:24px;height:24px;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--primary-color);color:#fff;font-weight:600}.ai-chat-avatar-user{background:var(--text-secondary)}.ai-chat-bubble{max-width:85%;padding:8px 11px;border-radius:12px;font-size:13px;line-height:1.6;word-break:break-word}.ai-chat-bubble-user{background:var(--primary-color);color:#fff;border-radius:12px 2px 12px 12px}.ai-chat-bubble-ai{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);border-radius:2px 12px 12px}.ai-chat-bubble-text{white-space:pre-wrap}.ai-chat-input-area{display:flex;flex-direction:column;gap:7px;padding:8px 10px 10px;border-top:1px solid var(--border-color);flex-shrink:0;background:var(--bg-color)}.ai-chat-textarea-wrap{position:relative;display:flex}.ai-chat-textarea{width:100%;resize:none;border:1px solid var(--border-color);border-radius:10px;padding:8px 1px 8px 8px;font-size:clamp(11px,1.1vw,13px);background:var(--bg-color);color:var(--text-color);font-family:inherit;line-height:1.6;outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;height:88px}.ai-chat-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.08)}.ai-chat-textarea:disabled{opacity:.55;background:var(--hover-bg);cursor:not-allowed}.ai-chat-textarea::placeholder{color:var(--text-secondary);opacity:.5;font-size:clamp(11px,1.1vw,13px)}.ai-chat-action-btn{position:absolute;bottom:0;right:0;margin:0;width:28px;height:28px;border-radius:0 0 9px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s ease;z-index:1}.ai-chat-action-btn-send{color:var(--text-secondary)}.ai-chat-action-btn-send:hover:not(:disabled){color:var(--primary-color);background:transparent}.ai-chat-action-btn-send:active:not(:disabled){transform:scale(.92)}.ai-chat-action-btn-send:disabled{opacity:.3;cursor:not-allowed}.ai-chat-action-btn-send svg{width:14px!important;height:14px!important;flex-shrink:0;display:block}.ai-chat-action-btn-stop{color:var(--danger-color)}.ai-chat-action-btn-stop:hover{background:transparent}.ai-chat-action-btn-stop:active{transform:scale(.92)}.ai-chat-input-actions{display:flex;justify-content:flex-end;gap:6px}.ai-chat-send-btn{padding:5px 14px;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:opacity .15s}.ai-chat-send-btn:hover{opacity:.88}.ai-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.ai-chat-stop-btn{padding:5px 14px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:opacity .15s}.ai-chat-stop-btn:hover{opacity:.88}.ai-chat-no-config{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;gap:10px;height:100%}.ai-chat-no-config-icon{font-size:32px;line-height:1}.ai-chat-no-config-title{font-size:14px;font-weight:600;color:var(--text-color);margin:0}.ai-chat-no-config-desc{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.6}.ai-rw-config-section{border-bottom:1px solid var(--border-color);flex-shrink:0;background:var(--card-bg)}.ai-rw-config-toggle{width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:background .15s}.ai-rw-config-toggle:hover{background:var(--hover-bg)}.ai-rw-config-body{padding:8px 12px 10px}.ai-rw-config-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ai-rw-config-label{font-size:12px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.ai-rw-word-count-btns{display:flex;gap:4px;flex-wrap:wrap}.ai-rw-wc-btn{padding:3px 10px;border-radius:10px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s}.ai-rw-wc-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.ai-rw-wc-btn.is-active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ai-rw-wc-btn:disabled{opacity:.5;cursor:not-allowed}.ai-rw-progress-area{padding:10px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin:4px 10px;flex-shrink:0}.ai-rw-progress-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.ai-rw-progress-bar-bg{height:4px;border-radius:2px;background:var(--border-color);overflow:hidden}.ai-rw-progress-bar-fill{height:100%;background:var(--primary-color);border-radius:2px;transition:width .3s ease}.ai-rw-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:20;display:flex;align-items:center;justify-content:center}.ai-rw-confirm-box{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:20px;width:280px;box-shadow:0 8px 24px var(--shadow-color)}.ai-rw-feed-wrap{flex:1;display:flex;flex-direction:column;padding:10px 12px 4px;min-height:0}.ai-rw-feed-hdr{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-shrink:0}.ai-rw-feed-hdr-dot{width:7px;height:7px;border-radius:50%;background:var(--primary-color, #4f80f0);flex-shrink:0;animation:rwFeedHdrPulse 1.4s ease-in-out infinite}@keyframes rwFeedHdrPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.ai-rw-feed-hdr-text{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-color, #4f80f0);white-space:nowrap}.ai-rw-feed-hdr-line{flex:1;height:1px;background:linear-gradient(to right,var(--primary-color, #4f80f0) 0%,transparent 100%);opacity:.25}.ai-rw-feed-init{display:flex;align-items:center;gap:5px;padding:6px 2px}.ai-rw-feed-init-text{font-size:12px;color:var(--text-secondary, #94a3b8);font-style:italic;margin-left:2px}.ai-rw-task-confirm{flex-shrink:0;padding:8px 12px 6px;border-top:1px solid var(--border-color)}.ai-rw-task-confirm-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:9px 16px;border-radius:8px;border:none;background:var(--primary-color, #4f80f0);color:#fff;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.02em;transition:opacity .2s,transform .15s;animation:rwTaskConfirmReveal .45s cubic-bezier(.22,1,.36,1) both}.ai-rw-task-confirm-btn:hover{opacity:.88;transform:translateY(-1px)}.ai-rw-task-confirm-btn:active{transform:translateY(0);opacity:1}.ai-rw-task-confirm-icon{font-size:15px;flex-shrink:0}@keyframes rwTaskConfirmReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cm-ai-view-fadein{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.cm-ai-view-fade{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;animation:cm-ai-view-fadein .2s ease}.ai-conv-list-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ai-conv-list-header{display:flex;align-items:center;gap:6px;padding:10px 12px 6px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;border-bottom:1px solid var(--border-color)}.ai-conv-list-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--primary-color);color:#fff;border-radius:8px;font-size:11px;font-weight:700;line-height:1}.ai-conv-list-scroll{flex:1;min-height:0;overflow-y:auto;padding:6px 8px;display:flex;flex-direction:column;gap:3px}.ai-conv-list-scroll::-webkit-scrollbar{width:4px}.ai-conv-list-scroll::-webkit-scrollbar-track{background:transparent}.ai-conv-list-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.ai-conv-list-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center;gap:4px;opacity:.55}.ai-conv-list-empty-icon{font-size:28px;line-height:1;margin-bottom:4px}.ai-conv-list-empty p{font-size:12px;color:var(--text-secondary);margin:0}.ai-conv-list-empty-hint{font-size:11px!important;opacity:.75}.ai-conv-list-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:7px 10px;background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer;text-align:left;transition:background .13s,border-color .13s}.ai-conv-list-item:hover{background:var(--hover-bg);border-color:var(--border-color)}.ai-conv-list-item-title{font-size:12px;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.ai-conv-list-item-meta{font-size:11px;color:var(--text-secondary);opacity:.8}.ai-conv-recent-section{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;padding:16px 0 8px}.ai-conv-recent-inner{display:flex;flex-direction:column;gap:0;overflow:hidden}.ai-conv-recent-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;flex-shrink:0}.ai-conv-recent-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.ai-conv-view-all-btn{font-size:12px;color:var(--primary-color);background:transparent;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;transition:opacity .15s;white-space:nowrap}.ai-conv-view-all-btn:hover{opacity:.7}.ai-conv-recent-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;text-align:center;gap:5px;opacity:.55}.ai-conv-recent-empty-icon{font-size:28px;line-height:1;margin-bottom:4px}.ai-conv-recent-empty p{font-size:12px;color:var(--text-secondary);margin:0}.ai-conv-recent-empty-hint{font-size:11px!important;opacity:.75}.ai-conv-recent-cards{display:flex;flex-direction:column;gap:6px;padding:0 10px 10px;overflow-y:auto;flex:1;min-height:0}.ai-conv-recent-cards::-webkit-scrollbar{width:4px}.ai-conv-recent-cards::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.ai-conv-mode-stripe{width:4px;flex-shrink:0;align-self:stretch;display:block}.ai-conv-recent-card{width:100%;padding:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:9px;overflow:hidden;cursor:pointer;text-align:left;display:flex;align-items:stretch;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 3px #0000000d}.ai-conv-recent-card:hover{border-color:var(--primary-color);box-shadow:0 2px 10px #1890ff1f}.conv-cost-tag{flex-shrink:0;font-size:11px;line-height:1.5;padding:0 5px;border-radius:4px;color:var(--primary-color, #6366f1);background:var(--primary-color-light, rgba(99, 102, 241, .1));white-space:nowrap;font-variant-numeric:tabular-nums}.ai-conv-recent-card-body{flex:1;min-width:0;padding:10px 12px;display:flex;align-items:flex-start;gap:8px}.ai-conv-recent-card-title-row{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.ai-conv-recent-card-text{flex:1;min-width:0;font-size:12px;font-weight:500;color:var(--text-color);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ai-conv-recent-card-date{flex-shrink:0;font-size:11px;color:var(--text-secondary);white-space:nowrap;margin-top:1px}.ai-conv-popover{position:absolute;bottom:calc(100% - 4px);left:10px;right:10px;z-index:300;display:flex;flex-direction:column;max-height:50vh;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 -6px 24px #00000024;overflow:hidden;animation:convPopoverIn .16s ease-out both;transform-origin:bottom center}@keyframes convPopoverIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-conv-all-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ai-conv-all-header{display:flex;align-items:center;gap:8px;padding:5px 10px;background:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:38px}.ai-conv-all-title{flex:1;font-size:13px;font-weight:600;color:var(--text-color)}.ai-conv-all-count{font-size:11px;color:var(--text-secondary);flex-shrink:0}.ai-conv-all-scroll{flex:1;min-height:0;overflow-y:auto;padding:6px 8px;display:flex;flex-direction:column;gap:2px}.ai-conv-all-scroll::-webkit-scrollbar{width:4px}.ai-conv-all-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.ai-conv-all-item{display:flex;align-items:stretch;flex-shrink:0;border-radius:7px;overflow:hidden;transition:background .12s}.ai-conv-all-item:hover{background:var(--hover-bg)}.ai-conv-all-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:7px 4px 7px 10px;background:transparent;border:none;cursor:pointer;text-align:left}.ai-conv-all-item-title{flex:1;min-width:0;font-size:12px;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-conv-all-item-date{flex-shrink:0;font-size:11px;color:var(--text-secondary);white-space:nowrap}.ai-conv-all-toolbar{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;background:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:32px}.ai-conv-all-check-all{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.ai-conv-all-check-all input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--primary-color)}.ai-conv-all-delete-btn{padding:3px 10px;background:var(--danger-color);color:#fff;border:none;border-radius:5px;font-size:11px;cursor:pointer;transition:opacity .15s;white-space:nowrap}.ai-conv-all-delete-btn:hover{opacity:.85}.ai-conv-all-item-check{flex-shrink:0;display:flex;align-items:center;padding:0 4px 0 10px;cursor:pointer}.ai-conv-all-item-check input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--primary-color)}.ai-conv-all-item.is-selected{background:rgba(var(--primary-rgb),.07)}.ai-conv-all-item.is-selected .ai-conv-all-item-main{padding-left:6px}.ai-conv-back-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 6px 0 10px;background:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;height:40px;min-height:40px;box-sizing:border-box}.ai-conv-back-title{flex:1;min-width:0;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-conv-back-title-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.ai-conv-close-btn{flex-shrink:0;width:22px;height:22px;border:none;background:transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.ai-conv-close-btn:hover{background:var(--hover-bg);color:var(--text-color)}.ai-conv-back-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;background:transparent;border:1px solid var(--border-color);border-radius:5px;color:var(--text-secondary);font-size:11px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s}.ai-conv-back-btn:hover{background:var(--hover-bg);border-color:var(--primary-color);color:var(--primary-color)}.ai-conv-back-btn:disabled{opacity:.4;cursor:not-allowed}.ai-conv-new-hint{padding:5px 12px;font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--card-bg);border-top:1px solid var(--border-color);flex-shrink:0;letter-spacing:.02em}.cm-ai-model-selector{position:relative;padding:5px 10px 6px;border-bottom:1px solid var(--border-color);flex-shrink:0;background:var(--card-bg)}.cm-ai-model-trigger{width:100%;display:flex;align-items:center;gap:5px;padding:5px 8px;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:11px;color:var(--text-color);text-align:left;transition:border-color .15s;box-sizing:border-box;min-width:0}.cm-ai-model-trigger:hover{border-color:var(--primary-color)}.cm-ai-model-trigger-icon{flex-shrink:0;font-size:12px;line-height:1}.cm-ai-model-trigger-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-color)}.cm-ai-model-trigger-provider{flex-shrink:0;font-size:11px;color:var(--text-secondary);background:var(--border-color);padding:1px 4px;border-radius:3px;letter-spacing:.03em}.cm-ai-model-trigger-arrow{flex-shrink:0;font-size:11px;color:var(--text-secondary)}.cm-ai-model-picker{position:absolute;left:10px;right:10px;top:calc(100% - 1px);z-index:200;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 6px 18px #0000002e;padding:8px;display:flex;flex-direction:column;gap:6px}.cm-ai-provider-tabs{display:flex;gap:4px}.cm-ai-provider-tab{flex:1;padding:4px 6px;font-size:11px;background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.cm-ai-provider-tab:hover{background:var(--hover-bg);color:var(--text-color)}.cm-ai-provider-tab.is-active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.cm-ai-model-search{width:100%;padding:5px 8px;font-size:11px;background:var(--input-bg, var(--card-bg));border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);outline:none;box-sizing:border-box;transition:border-color .15s}.cm-ai-model-search:focus{border-color:var(--primary-color)}.cm-ai-model-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.cm-ai-model-list::-webkit-scrollbar{width:4px}.cm-ai-model-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.cm-ai-model-item{width:100%;padding:5px 8px;font-size:11px;text-align:left;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .1s}.cm-ai-model-item:hover{background:var(--hover-bg)}.cm-ai-model-item.is-active{background:rgba(var(--primary-rgb),.12);color:var(--primary-color)}.cm-ai-model-list-empty{font-size:11px;color:var(--text-secondary);text-align:center;padding:10px}.cm-ai-fetch-models-btn{width:100%;padding:5px;font-size:11px;background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.cm-ai-fetch-models-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text-color);border-color:var(--primary-color)}.cm-ai-fetch-models-btn:disabled{opacity:.55;cursor:not-allowed}.ai-settings-view{display:flex;flex-direction:column;flex:1;min-height:0;background-color:var(--bg-color);overflow:hidden}.ai-settings-header{height:44px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 14px;background-color:var(--card-bg);border-bottom:1px solid var(--border-color)}.ai-settings-back-btn{width:26px;height:26px;border:none;background:transparent;color:var(--text-secondary);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.ai-settings-back-btn:hover{background:var(--hover-bg);color:var(--primary-color)}.ai-settings-title{font-size:13px;font-weight:600;color:var(--text-color)}.ai-settings-body{flex:1;min-height:0;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:16px}.ai-settings-body::-webkit-scrollbar{width:4px}.ai-settings-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.ai-settings-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}.ai-settings-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.ai-settings-provider-tabs{display:flex;gap:4px}.ai-settings-provider-tab{flex:1;padding:5px 6px;font-size:11px;background:transparent;border:1px solid var(--border-color);border-radius:5px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.ai-settings-provider-tab:hover{background:var(--hover-bg);color:var(--text-color)}.ai-settings-provider-tab.is-active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ai-settings-model-selector{position:relative}.ai-settings-model-trigger{width:100%;display:flex;align-items:center;gap:6px;padding:6px 9px;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-color);text-align:left;transition:border-color .15s;box-sizing:border-box;min-width:0}.ai-settings-model-trigger:hover{border-color:var(--primary-color)}.ai-settings-model-trigger-icon{flex-shrink:0;font-size:13px;line-height:1}.ai-settings-model-trigger-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-settings-model-trigger-arrow{flex-shrink:0;font-size:11px;color:var(--text-secondary)}.ai-settings-model-picker{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 6px 20px #0000002e;padding:8px;display:flex;flex-direction:column;gap:6px;opacity:1!important;-webkit-font-smoothing:antialiased}.ai-settings-model-search{width:100%;padding:5px 8px;font-size:12px;background:var(--input-bg, var(--card-bg));border:1px solid var(--border-color);border-radius:5px;color:var(--text-color);outline:none;box-sizing:border-box;transition:border-color .15s}.ai-settings-model-search:focus{border-color:var(--primary-color)}.ai-settings-model-list{max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.ai-settings-model-list::-webkit-scrollbar{width:4px}.ai-settings-model-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.ai-settings-model-item{width:100%;padding:5px 8px;font-size:12px;text-align:left;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .1s}.ai-settings-model-item:hover{background:var(--hover-bg)}.ai-settings-model-item.is-active{background:rgba(var(--primary-rgb),.12);color:var(--primary-color)}.ai-settings-model-list-empty{font-size:12px;color:var(--text-secondary);text-align:center;padding:10px}.ai-settings-fetch-btn{width:100%;padding:6px;font-size:12px;background:transparent;border:1px solid var(--border-color);border-radius:5px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.ai-settings-fetch-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text-color);border-color:var(--primary-color)}.ai-settings-fetch-btn:disabled{opacity:.55;cursor:not-allowed}.ai-settings-fetch-btn.is-success{background:#16a34a;border-color:#16a34a;color:#fff;opacity:1;cursor:default}.ai-settings-current-model{font-size:11px;color:var(--text-secondary);padding:4px 6px;background:rgba(var(--primary-rgb),.06);border-radius:4px;border:1px solid rgba(var(--primary-rgb),.15)}.ai-settings-current-model span{color:var(--primary-color);font-weight:500}.ai-settings-field{display:flex;flex-direction:column;gap:5px}.ai-settings-label{font-size:12px;font-weight:500;color:var(--text-color)}.ai-settings-input{width:100%;padding:7px 10px;font-size:12px;background:var(--input-bg, var(--bg-color));border:1px solid var(--border-color);border-radius:5px;color:var(--text-color);outline:none;box-sizing:border-box;transition:border-color .15s;font-family:inherit}.ai-settings-input:focus{border-color:var(--primary-color)}.ai-settings-input::placeholder{color:var(--text-secondary);opacity:.5}.ai-settings-hint{font-size:11px;color:var(--text-secondary);margin:0;line-height:1.4}.ai-settings-hint a{color:var(--primary-color);text-decoration:none}.ai-settings-hint a:hover{text-decoration:underline}.ai-settings-save-row{display:flex;align-items:center;gap:10px;margin-top:2px}.ai-settings-save-btn{padding:6px 18px;background:var(--primary-color);color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .15s}.ai-settings-save-btn:hover{opacity:.88}.ai-settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.ai-settings-save-msg{font-size:12px;color:var(--success-color, #22c55e)}.ai-chat-bubble-markdown{font-size:var(--font-size-md);font-weight:500;line-height:1.7;color:var(--text-color);word-break:break-word;overflow-wrap:anywhere;min-width:0;max-width:100%}.ai-chat-bubble-markdown p{margin:0 0 8px}.ai-chat-bubble-markdown p:last-child{margin-bottom:0}.ai-chat-bubble-markdown h1,.ai-chat-bubble-markdown h2,.ai-chat-bubble-markdown h3,.ai-chat-bubble-markdown h4,.ai-chat-bubble-markdown h5,.ai-chat-bubble-markdown h6{margin:12px 0 6px;font-weight:600;line-height:1.4;color:var(--text-color)}.ai-chat-bubble-markdown h1{font-size:16px;border-bottom:1px solid var(--border-color);padding-bottom:4px}.ai-chat-bubble-markdown h2{font-size:14px;border-bottom:1px solid var(--border-color);padding-bottom:3px}.ai-chat-bubble-markdown h3{font-size:13px}.ai-chat-bubble-markdown h4,.ai-chat-bubble-markdown h5,.ai-chat-bubble-markdown h6{font-size:12px;color:var(--text-secondary)}.ai-chat-bubble-markdown strong{font-weight:700;color:var(--text-color)}.ai-chat-bubble-markdown em{font-style:italic}.ai-chat-bubble-markdown del{text-decoration:line-through;opacity:.6}.ai-chat-bubble-markdown ul,.ai-chat-bubble-markdown ol{margin:4px 0 8px;padding-left:20px}.ai-chat-bubble-markdown li{margin-bottom:3px;line-height:1.6}.ai-chat-bubble-markdown li>ul,.ai-chat-bubble-markdown li>ol{margin:2px 0}.ai-chat-bubble-markdown li input[type=checkbox]{margin-right:5px;accent-color:var(--primary-color)}.ai-chat-bubble-markdown blockquote{margin:8px 0;padding:6px 12px;border-left:3px solid var(--primary-color);background:rgba(var(--primary-rgb),.05);border-radius:0 6px 6px 0;color:var(--text-secondary);font-size:12px}.ai-chat-bubble-markdown blockquote p{margin:0}.ai-chat-bubble-markdown hr{margin:10px 0;border:none;border-top:1px solid var(--border-color)}.ai-md-inline-code{display:inline;padding:1px 5px;border-radius:4px;font-size:12px;font-family:var(--font-family-mono);background:#6366f11a;color:#6366f1;border:1px solid rgba(99,102,241,.2);word-break:break-all}.ai-md-code-block{margin:8px 0;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.06);box-shadow:0 2px 8px #00000040;max-width:100%;min-width:0}.ai-md-code-header{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;background:#1e2433;border-bottom:1px solid rgba(255,255,255,.06)}.ai-md-code-lang{font-size:11px;color:#8b949e;font-family:var(--font-family-mono);font-weight:500;text-transform:lowercase;letter-spacing:.02em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-md-copy-btn{display:flex;align-items:center;gap:4px;padding:2px 7px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#8b949e;font-size:11px;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.ai-md-copy-btn:hover{background:#ffffff1f;color:#e6edf3;border-color:#ffffff2e}.ai-md-copy-btn:active{transform:scale(.95)}.ai-md-pre{margin:0;padding:12px 14px;overflow-x:auto;max-width:100%;background:#22272e!important;color:#adbac7!important;font-size:12px;line-height:1.6;-moz-tab-size:2;tab-size:2}.ai-md-pre::-webkit-scrollbar{height:4px}.ai-md-pre::-webkit-scrollbar-track{background:transparent}.ai-md-pre::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.ai-md-pre code{font-family:var(--font-family-mono);font-size:inherit;line-height:inherit;background:transparent!important;padding:0;border:none;border-radius:0}.ai-md-pre code.ai-md-inline-code{display:block;padding:0;border:none;border-radius:0;background:transparent!important;color:inherit;font-size:inherit;word-break:normal;overflow-wrap:normal}.ai-chat-bubble-markdown table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:8px 0;font-size:12px;border-radius:6px;border:1px solid var(--border-color)}.ai-chat-bubble-markdown thead{background:rgba(var(--primary-rgb),.06)}.ai-chat-bubble-markdown th{padding:6px 10px;font-weight:600;text-align:left;color:var(--text-color);border-bottom:1px solid var(--border-color);white-space:nowrap}.ai-chat-bubble-markdown td{padding:5px 10px;color:var(--text-secondary);border-bottom:1px solid var(--border-color);vertical-align:top}.ai-chat-bubble-markdown tr:last-child td{border-bottom:none}.ai-chat-bubble-markdown tr:hover td{background:var(--hover-bg)}.ai-md-link{color:var(--primary-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}.ai-md-link:hover{border-bottom-color:var(--primary-color)}.ai-md-cursor{display:inline-block;animation:ai-md-blink .8s ease-in-out infinite;color:var(--primary-color);font-weight:300;line-height:1}@keyframes ai-md-blink{0%,to{opacity:1}50%{opacity:0}}.ai-chat-msg-ai .ai-chat-bubble-ai{max-width:95%}.ai-chat-messages{gap:4px}.ai-doc-user-row{display:flex;justify-content:flex-end;padding:6px 0 10px}.ai-doc-user-pill{max-width:82%;padding:7px 14px;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:18px 18px 4px;font-size:13px;color:var(--text-color);line-height:1.55;white-space:pre-wrap;word-break:break-word}.ai-doc-ai-row{display:flex;flex-direction:column;gap:4px;padding:4px 0 14px}.ai-doc-ai-content{font-size:var(--font-size-md);font-weight:500;line-height:1.75;color:var(--text-color);word-break:break-word;padding:0}.ai-doc-aborted-tag{font-size:11px;color:var(--text-secondary);opacity:.65;margin-top:2px;padding:2px 0}.ai-doc-thinking{margin:2px 0 8px}.ai-doc-thinking-streaming{display:flex;align-items:center;gap:6px;overflow:hidden}.ai-doc-thinking-label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.ai-doc-thinking-ticker{flex:1;min-width:0;overflow-x:hidden;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 15%,black 100%);mask-image:linear-gradient(to right,transparent 0%,black 15%,black 100%)}.ai-doc-thinking-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;cursor:pointer;padding:2px 0;color:var(--text-secondary);transition:color .15s}.ai-doc-thinking-toggle:hover,.ai-doc-thinking-toggle:hover .ai-doc-thinking-label{color:var(--text-color)}.ai-doc-thinking-chevron{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;transition:transform .2s ease;opacity:.75}.ai-doc-thinking-toggle:hover .ai-doc-thinking-chevron{opacity:1;color:var(--text-color)}.ai-doc-thinking-content{margin-top:5px;padding-left:14px;border-left:2px solid var(--border-color)}.ai-doc-thinking-content p{font-size:12px;color:var(--text-secondary);line-height:1.65;margin:0 0 5px}.ai-doc-thinking-content p:last-child{margin-bottom:0}.ai-thinking-bar{display:flex;align-items:center;gap:6px;padding:5px 8px;margin-bottom:8px;background:linear-gradient(90deg,#6366f112,#6366f108);border:1px solid rgba(99,102,241,.18);border-radius:6px;overflow:hidden}.ai-thinking-bar-dot{width:6px;height:6px;border-radius:50%;background:#6366f1;flex-shrink:0;animation:ai-thinking-pulse 1.2s ease-in-out infinite}@keyframes ai-thinking-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.ai-thinking-bar-label{font-size:11px;font-weight:600;color:#6366f1;flex-shrink:0;white-space:nowrap}.ai-thinking-ticker{flex:1;min-width:0;overflow-x:hidden;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 12%,black 100%);mask-image:linear-gradient(to right,transparent 0%,black 12%,black 100%)}.ai-thinking-ticker-text{display:inline-block;white-space:nowrap;font-size:11px;color:var(--text-secondary);line-height:1.5;font-style:italic}.ai-chat-avatar-thinking{background:#6366f126!important;font-size:13px;border:1px solid rgba(99,102,241,.25)}.ai-thinking-bubble{background:#6366f10d!important;border-color:#6366f133!important;display:flex;flex-direction:column;gap:4px;padding:8px 11px;width:fit-content;max-width:85%;min-width:180px;overflow:hidden;box-sizing:border-box}.ai-thinking-bubble-header{display:flex;align-items:center;gap:6px}.ai-thinking-bubble-label{font-size:12px;font-weight:600;color:#6366f1;flex:1}.ai-thinking-toggle-btn{font-size:11px;color:#6366f1;background:transparent;border:1px solid rgba(99,102,241,.25);border-radius:4px;padding:1px 6px;cursor:pointer;transition:background .15s;flex-shrink:0;white-space:nowrap}.ai-thinking-toggle-btn:hover{background:#6366f11f}.ai-thinking-bubble-ticker{margin-top:2px;-webkit-mask-image:none!important;mask-image:none!important}.ai-thinking-bubble-preview{font-size:11px;color:var(--text-secondary);font-style:italic;line-height:1.5;cursor:pointer;word-break:break-word;margin-top:2px;padding:4px 6px;border-radius:4px;transition:background .15s}.ai-thinking-bubble-preview:hover{background:#6366f114}.ai-thinking-full-content{margin:4px 0 0;padding:8px 10px;background:#6366f10f;border-radius:5px;border:1px solid rgba(99,102,241,.12);font-size:11px;color:var(--text-secondary);line-height:1.7;white-space:pre-wrap;word-break:break-word;overflow-y:auto;max-height:260px;font-family:inherit;cursor:text;-webkit-user-select:text;user-select:text}.ai-thinking-full-content::-webkit-scrollbar{width:3px}.ai-thinking-full-content::-webkit-scrollbar-thumb{background:#6366f140;border-radius:2px}.ai-thinking-bubble-full{margin:4px 0 0}.ai-act-feed{display:flex;flex-direction:column;gap:1px;padding:6px 0 2px;contain:layout style}.ai-act-divider{display:flex;align-items:center;gap:6px;padding:4px 10px;opacity:.5}.ai-act-divider__line{flex:1;height:1px;background:var(--border-color, rgba(255,255,255,.08))}.ai-act-divider__text{font-size:11px;color:var(--text-secondary, #7a8aaa);white-space:nowrap;letter-spacing:.04em}.ai-act-item{padding:3px 10px 3px 12px;border-radius:4px;transition:background .1s}.ai-act-item:hover{background:#ffffff08}.ai-act-item__head{display:flex;align-items:center;gap:6px;min-height:22px}.ai-act-item__head.is-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.ai-act-item__head.is-expandable:hover .ai-act-item__title{opacity:1}.ai-act-item__icon{font-size:12px;line-height:1;flex-shrink:0;width:16px;text-align:center}.ai-act-item__title{font-size:12px;line-height:1.4;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.88;color:var(--act-item-color, var(--text-primary, #d0d8f0))}.ai-act-item__title[data-act-kind=tool]{color:#c084fc}.ai-act-item__title[data-act-kind=success]{color:#4ade80}.ai-act-item__title[data-act-kind=warn]{color:#fb923c}.ai-act-item__title[data-act-kind=error]{color:#f87171}.ai-act-item__title[data-act-kind=thinking]{color:var(--primary-color, #a78bfa)}.ai-act-item__chevron{font-size:11px;color:var(--text-secondary, #7a8aaa);flex-shrink:0;margin-left:2px}.ai-act-streaming-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c084fc;flex-shrink:0;animation:ai-act-dot-pulse 1.2s ease-in-out infinite}.ai-act-item--tool_ok .ai-act-streaming-dot,.ai-act-item--success .ai-act-streaming-dot{background:#4ade80}.ai-act-item--thinking .ai-act-streaming-dot{background:var(--primary-color, #a78bfa)}.ai-act-item--info .ai-act-streaming-dot{background:#60a5fa}@keyframes ai-act-dot-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.ai-act-item__detail{margin:4px 0 2px 22px;padding:6px 8px;font-size:11px;line-height:1.55;color:var(--text-secondary, #7a8aaa);background:#0000002e;border-left:2px solid rgba(255,255,255,.07);border-radius:0 3px 3px 0;white-space:pre-wrap;word-break:break-word;font-family:var(--font-family-mono)}.ai-act-item--tool_ok .ai-act-item__detail,.ai-act-item--tool_err .ai-act-item__detail,.ai-act-item--error .ai-act-item__detail{background:none;font-family:inherit;font-weight:400}.ai-act-item--tool_ok .ai-act-item__detail{color:#15803d;border-left:2px solid rgba(34,197,94,.35)}.ai-act-item--tool_err .ai-act-item__detail,.ai-act-item--error .ai-act-item__detail{color:#dc2626;border-left:2px solid rgba(239,68,68,.35)}html.dark-mode .ai-act-item--tool_ok .ai-act-item__detail{color:#86efac;border-left-color:#22c55e4d}html.dark-mode .ai-act-item--tool_err .ai-act-item__detail,html.dark-mode .ai-act-item--error .ai-act-item__detail{color:#fca5a5;border-left-color:#ef44444d}.ai-folded-tool-group{position:relative;padding:4px 10px 4px 12px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.ai-folded-tool-group:hover{background:#4ade800a}.ai-folded-tool-group--expanded{cursor:default}.ai-folded-tool-body{padding-left:6px}.ai-folded-tool-body--expanded{padding-left:0}.ai-folded-tool-title-row{display:flex;align-items:center;gap:6px;min-height:22px;cursor:pointer}.ai-folded-tool-title-row--expanded{padding-left:6px}.ai-folded-tool-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(74,222,128,.25);border-top-color:#4ade80;border-radius:50%;flex-shrink:0;animation:ai-folded-spin .8s linear infinite}@keyframes ai-folded-spin{to{transform:rotate(360deg)}}.ai-folded-tool-done-icon{display:inline-block;width:12px;height:12px;font-size:11px;line-height:12px;text-align:center;color:#4ade80;flex-shrink:0}.ai-folded-tool-label{font-size:12px;color:#15803d;font-family:inherit;font-weight:400;line-height:1.4;flex:1;min-width:0}html.dark-mode .ai-folded-tool-label{color:#86efac}.ai-folded-tool-count{font-size:11px;color:#4ade8080;background:#4ade801a;padding:1px 6px;border-radius:8px;flex-shrink:0}.ai-folded-tool-scroll-wrap{margin-top:2px;padding-left:18px;height:18px;overflow:hidden;position:relative}.ai-folded-tool-scroll-text{display:block;font-size:11px;color:#15803d;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:ai-folded-scroll-in .35s cubic-bezier(.4,0,.2,1)}html.dark-mode .ai-folded-tool-scroll-text{color:#86efac}@keyframes ai-folded-scroll-in{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.ai-folded-tool-list{max-height:240px;overflow-y:auto;margin-top:4px;padding:2px 0;display:flex;flex-direction:column;gap:1px}.ai-folded-tool-list::-webkit-scrollbar{width:4px}.ai-folded-tool-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.ai-folded-tool-list .ai-act-item{padding-left:10px}.ai-act-progress{display:flex;align-items:center;gap:8px;margin:3px 0 1px 22px}.ai-act-progress__bar-bg{flex:1;height:4px;border-radius:2px;background:#ffffff14;overflow:hidden}.ai-act-progress__bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#6366f1,#a78bfa);transition:width .3s ease}.ai-act-progress__label{font-size:11px;color:var(--text-secondary, #7a8aaa);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.ai-rw-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-color)}.ai-rw-config-bar{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:38px}.ai-rw-config-model{flex:1;min-width:0;font-size:11px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-rw-wc-chips{display:flex;gap:4px;flex-shrink:0}.ai-rw-wc-chip{padding:2px 9px;border-radius:10px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;font-variant-numeric:tabular-nums}.ai-rw-wc-chip:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:#1890ff0d}.ai-rw-wc-chip.is-active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ai-rw-feed-area{flex:1;min-height:0;overflow-y:auto;padding:8px 0 4px;display:flex;flex-direction:column;scroll-behavior:smooth}.ai-rw-feed-area::-webkit-scrollbar{width:3px}.ai-rw-feed-area::-webkit-scrollbar-track{background:transparent}.ai-rw-feed-area::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.ai-rw-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 20px;text-align:center;gap:8px}.ai-rw-empty-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;font-size:30px;line-height:1;margin-bottom:10px;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.5) 0%,transparent 38%),linear-gradient(160deg,color-mix(in srgb,var(--primary-color) 20%,transparent),color-mix(in srgb,var(--accent-color) 14%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary-color) 22%,transparent),0 6px 18px color-mix(in srgb,var(--primary-color) 18%,transparent)}.ai-rw-empty-title{font-size:15px;font-weight:700;color:var(--text-color);margin:0;letter-spacing:.04em}.ai-rw-empty-desc{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.7}.ai-rw-gen-hint{display:flex;align-items:baseline;gap:3px;padding:5px 14px 3px;flex-shrink:0}.ai-rw-gen-hint__label{font-size:11px;color:var(--text-secondary)}.ai-rw-gen-hint__count{font-size:15px;font-weight:700;color:var(--primary-color);font-variant-numeric:tabular-nums}.ai-rw-gen-hint__sep{font-size:12px;color:var(--text-secondary);opacity:.6}.ai-rw-gen-hint__max{font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.ai-rw-input-area{flex-shrink:0;padding:8px 10px 10px;border-top:1px solid var(--border-color);background:var(--bg-color);display:flex;flex-direction:column;gap:6px}.ai-rw-input-wrap{display:flex;align-items:flex-end;gap:7px}.ai-rw-textarea{flex:1;min-width:0;resize:none;border:1px solid var(--border-color);border-radius:10px;padding:8px 12px;font-size:12px;line-height:1.6;background:var(--input-bg, var(--card-bg));color:var(--text-color);font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;min-height:60px}.ai-rw-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #1890ff1a}.ai-rw-textarea::placeholder{color:var(--text-secondary);opacity:.55}.ai-rw-start-btn{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:8px 14px;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap;height:60px;min-width:56px;justify-content:center;flex-direction:column;line-height:1.3}.ai-rw-start-btn:hover:not(:disabled){opacity:.88}.ai-rw-start-btn:active:not(:disabled){transform:scale(.96)}.ai-rw-start-btn:disabled{opacity:.45;cursor:not-allowed}.ai-rw-stop-btn{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:8px 14px;background:#ef4444;color:#fff;border:none;border-radius:10px;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap;height:60px;min-width:56px;justify-content:center;flex-direction:column;line-height:1.3}.ai-rw-stop-btn:hover{background:#dc2626}.ai-rw-stop-btn:active{transform:scale(.96)}.ai-rw-no-config{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;gap:10px}.ai-act-item--user .ai-act-item__head{padding-left:4px}.ai-act-item--user .ai-act-item__title{font-style:italic;color:var(--text-color)!important;opacity:.8}.ai-rw-config-section{border-bottom:1px solid var(--border-color);flex-shrink:0}.ai-rw-config-toggle{width:100%;display:flex;align-items:center;gap:6px;padding:9px 12px;border:none;background:transparent;cursor:pointer;text-align:left;color:var(--text-secondary);transition:background .15s}.ai-rw-config-toggle:hover:not(:disabled){background:var(--hover-bg)}.ai-rw-config-toggle:disabled{cursor:not-allowed;opacity:.6}.ai-rw-config-toggle-label{font-size:clamp(9px,.9vw,11px);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);flex-shrink:0}.ai-rw-config-model-tag{flex:1;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7;text-align:right;min-width:0}.ai-rw-config-wc-tag{font-size:11px;font-weight:600;color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 10%,transparent);padding:1px 6px;border-radius:4px;flex-shrink:0}.ai-rw-config-chevron{display:flex;align-items:center;color:var(--text-secondary);flex-shrink:0;opacity:.7}.ai-rw-config-body{padding:8px 12px 12px;border-top:1px solid var(--border-color);background:var(--hover-bg);animation:rwConfigBodyReveal .2s ease-out both}@keyframes rwConfigBodyReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-rw-config-row{display:flex;align-items:center;gap:10px}.ai-rw-config-label{font-size:11px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.ai-rw-wc-chips{display:flex;gap:4px;flex-wrap:wrap}.ai-rw-wc-chip{padding:2px 10px;font-size:11px;border-radius:4px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.ai-rw-wc-chip:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.ai-rw-wc-chip.is-active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ai-rw-wc-chip:disabled{opacity:.45;cursor:not-allowed}.ai-rw-mid-area{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;padding:0 10px}.ai-rw-mid-area::-webkit-scrollbar{width:3px}.ai-rw-mid-area::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:999px}.ai-rw-in-progress{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 16px;text-align:center}.ai-rw-in-progress-anim{display:flex;align-items:center;gap:5px;margin-bottom:4px}.ai-rw-ip-dot{width:6px;height:6px;border-radius:50%;background:var(--primary-color);animation:rwIpDot 1.3s ease-in-out infinite}.ai-rw-ip-dot:nth-child(2){animation-delay:.18s}.ai-rw-ip-dot:nth-child(3){animation-delay:.36s}@keyframes rwIpDot{0%,80%,to{opacity:.3;transform:scale(.7)}40%{opacity:1;transform:scale(1.1)}}.ai-rw-ip-title{font-size:13px;font-weight:600;color:var(--text-color);margin:0}.ai-rw-ip-hint{font-size:11px;color:var(--text-secondary);margin:0;line-height:1.5}.ai-rw-ip-count{display:flex;align-items:baseline;gap:2px;margin-top:6px}.ai-rw-ip-count-num{font-size:20px;font-weight:700;color:var(--primary-color)}.ai-rw-ip-count-sep{font-size:12px;color:var(--text-secondary)}.ai-rw-ip-count-max{font-size:14px;color:var(--text-secondary)}.ai-rw-ip-count-unit{font-size:11px;color:var(--text-secondary)}.ai-rw-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 16px;text-align:center;color:var(--text-secondary)}.ai-rw-empty-icon{font-size:28px;line-height:1}.ai-rw-empty-title{font-size:13px;font-weight:600;color:var(--text-color);margin:0}.ai-rw-empty-desc{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.6}.ai-rw-history{flex:1;display:flex;flex-direction:column;padding:8px 0}.ai-rw-history-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 8px}.ai-rw-history-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.ai-rw-history-count{font-size:11px;color:var(--text-secondary);background:var(--hover-bg);padding:1px 6px;border-radius:10px}.ai-rw-history-list{display:flex;flex-direction:column;gap:1px;padding:0 8px}.ai-rw-history-item{border-radius:6px;border:1px solid var(--border-color);background:var(--card-bg);cursor:pointer;overflow:hidden;transition:border-color .15s}.ai-rw-history-item:hover{border-color:var(--primary-color)}.ai-rw-history-item-head{display:flex;align-items:center;gap:6px;padding:7px 10px}.ai-rw-history-round-badge{font-size:11px;font-weight:700;color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 10%,transparent);padding:1px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.ai-rw-history-preview{flex:1;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ai-rw-history-meta-tags{flex:1;display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.ai-rw-history-model-tag{font-size:11px;color:var(--text-secondary);background:var(--hover-bg);border:1px solid var(--border-color);padding:1px 5px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;flex-shrink:1}.ai-rw-history-wc-tag{font-size:11px;font-weight:600;color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 10%,transparent);padding:1px 5px;border-radius:3px;white-space:nowrap;flex-shrink:0}.ai-rw-history-output-preview{font-size:11px!important;color:var(--text-secondary)!important;line-height:1.6!important;max-height:80px;overflow-y:auto;white-space:pre-wrap!important;word-break:break-all!important;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.ai-rw-history-output-preview::-webkit-scrollbar{width:3px}.ai-rw-history-output-preview::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:999px}.ai-rw-history-chevron{display:flex;align-items:center;color:var(--text-secondary);opacity:.6;flex-shrink:0}.ai-rw-history-item-body{padding:0 10px 10px;border-top:1px solid var(--border-color);animation:rwHistoryBodyReveal .2s ease-out both}@keyframes rwHistoryBodyReveal{0%{opacity:0}to{opacity:1}}.ai-rw-history-section{margin-top:8px}.ai-rw-history-section-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:3px}.ai-rw-history-section-text{font-size:12px;color:var(--text-color);margin:0;line-height:1.55;white-space:pre-wrap;word-break:break-all}.ai-rw-bottom-section{flex-shrink:0;position:relative;padding:8px 0 0}.ai-rw-tools-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 10px 8px;position:relative}.ai-rw-tools-row .ai-prompt-templates{padding:0;position:static}.ai-rw-tools-row .ai-prompt-trigger-btn{margin:0}.ai-rw-config-panel-float{position:absolute;bottom:100%;left:0;right:0;z-index:200;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 -6px 20px #00000026;padding:10px 12px;animation:rwConfigFloatIn .18s ease-out both;transform-origin:bottom center}.ai-rw-input-wrap{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border-color);background:var(--bg-color);overflow:visible;position:relative}.ai-rw-textarea{display:block;flex:none;width:100%;height:auto;min-height:56px;max-height:50vh;font-size:clamp(11px,1.1vw,13px);padding:8px 10px 6px;border:none;border-radius:0;background:transparent;color:var(--text-color);resize:none;outline:none;font-family:inherit;line-height:1.6;box-sizing:border-box;overflow-y:auto}.ai-rw-textarea:disabled{opacity:.55;cursor:not-allowed}.ai-rw-textarea::placeholder{color:var(--text-secondary);opacity:.5;font-size:clamp(11px,1.1vw,13px)}.ai-rw-ctrl-bar{display:flex;align-items:center;width:100%;height:30px;flex-shrink:0;background:transparent;border-top:1px solid var(--border-color);box-sizing:border-box;position:relative}.ai-rw-model-label-btn{flex:1;min-width:0;height:30px;padding:0 2px 0 8px;font-size:11px;font-weight:400;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s;line-height:30px}.ai-rw-model-label-btn:hover:not(:disabled){color:var(--primary-color)}.ai-rw-model-label-btn.is-active{color:var(--primary-color)}.ai-rw-model-label-btn.is-disabled{opacity:.4;cursor:not-allowed}.ai-rw-ctrl-btn{flex-shrink:0;width:30px;height:30px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;color:var(--text-secondary)}.ai-rw-ctrl-btn--send{color:var(--text-secondary)}.ai-rw-ctrl-btn--send:hover:not(:disabled){color:var(--primary-color)}.ai-rw-ctrl-btn--send:active:not(:disabled){transform:scale(.9)}.ai-rw-ctrl-btn--send:disabled{opacity:.3;cursor:not-allowed}.ai-rw-ctrl-btn--stop{color:#ef4444}.ai-rw-ctrl-btn--stop:hover{color:#dc2626}.ai-rw-ctrl-btn--stop:active{transform:scale(.9)}.ai-rw-no-config{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 16px;text-align:center}.ai-rw-no-config-icon{font-size:32px;line-height:1}.ai-rw-no-config-title{font-size:14px;font-weight:600;color:var(--text-color);margin:0}.ai-rw-no-config-desc{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.6}.ai-rw-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:20;display:flex;align-items:center;justify-content:center}.ai-rw-confirm-box{background:var(--card-bg);border-radius:10px;padding:20px;width:260px;box-shadow:0 8px 32px #0000002e;animation:rwConfirmBoxReveal .22s ease-out both}@keyframes rwConfirmBoxReveal{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.ai-rw-confirm-title{font-size:14px;font-weight:600;color:var(--text-color);margin:0 0 8px}.ai-rw-confirm-desc{font-size:12px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.ai-rw-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.ai-rw-conv-stripe{width:4px;flex-shrink:0;align-self:stretch;display:block;background-color:#f59e0b}.ai-rw-config-wrap{position:absolute;bottom:0;left:0;right:0;pointer-events:none;z-index:10}.ai-rw-config-wrap .ai-rw-config-body-float{pointer-events:all}.ai-rw-config-wrap .ai-rw-config-toggle{display:flex;align-items:center;justify-content:center;gap:0;border:1px solid var(--border-color);border-radius:5px;padding:0;width:100%;height:24px;font-size:11px;font-weight:500;color:var(--text-secondary);background:transparent;transition:border-color .15s,background .15s,color .15s}.ai-rw-config-wrap .ai-rw-config-toggle:hover:not(:disabled){background:var(--hover-bg);color:var(--text-color)}.ai-rw-config-wrap .ai-rw-config-toggle .ai-rw-config-model-tag,.ai-rw-config-wrap .ai-rw-config-toggle .ai-rw-config-wc-tag,.ai-rw-config-wrap .ai-rw-config-toggle .ai-rw-config-chevron{display:none}.ai-rw-config-body-float{position:absolute;bottom:100%;left:-10px;right:-10px;z-index:50;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px 8px 0 0;border-bottom:none;box-shadow:0 -4px 16px #0000001f;padding:10px 12px;animation:rwConfigFloatIn .18s ease-out both;transform-origin:bottom center}@keyframes rwConfigFloatIn{0%{opacity:0;transform:scaleY(.82) translateY(4px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.ai-rw-config-locked-hint{font-size:11px;color:var(--text-secondary);background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:5px;padding:4px 8px;margin-bottom:8px;display:flex;align-items:center;gap:4px}.ai-rw-provider-tabs{display:flex;gap:4px}.ai-rw-provider-tab{padding:3px 10px;font-size:11px;border:1px solid var(--border-color);border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.ai-rw-provider-tab:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.ai-rw-provider-tab.is-active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:500}.ai-rw-provider-tab:disabled{opacity:.5;cursor:not-allowed}.ai-rw-model-selector{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.ai-rw-model-trigger{flex:1;min-width:0;display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-color);color:var(--text-color);cursor:pointer;text-align:left;transition:border-color .15s;overflow:hidden}.ai-rw-model-trigger:hover:not(:disabled):not(.is-disabled){border-color:var(--primary-color)}.ai-rw-model-trigger:disabled,.ai-rw-model-trigger.is-disabled{opacity:.6;cursor:not-allowed;background:var(--hover-bg)}.ai-rw-model-trigger-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-rw-model-trigger-arrow{flex-shrink:0;font-size:11px;color:var(--text-secondary);opacity:.7}.ai-rw-provider-selector{display:flex;align-items:center;gap:6px;flex:1;min-width:0;flex-wrap:wrap}.ai-rw-provider-btn{padding:4px 8px;font-size:11px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s}.ai-rw-provider-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.ai-rw-provider-btn.is-active{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-color-light);font-weight:500}.ai-rw-provider-btn:disabled{opacity:.6;cursor:not-allowed}.ai-rw-provider-empty{font-size:11px;color:var(--text-secondary);opacity:.75}.ai-rw-effort-selector{display:flex;align-items:center;gap:6px;flex:1;min-width:0;flex-wrap:wrap}.ai-rw-effort-btn{padding:4px 10px;font-size:11px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s}.ai-rw-effort-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.ai-rw-effort-btn.is-active{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-color-light);font-weight:500}.ai-rw-effort-btn:disabled{opacity:.6;cursor:not-allowed}.ai-rw-fetch-models-btn{flex-shrink:0;padding:3px 8px;font-size:11px;border:1px solid var(--border-color);border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s}.ai-rw-fetch-models-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.ai-rw-fetch-models-btn:disabled{opacity:.5;cursor:not-allowed}.ai-rw-fetch-models-btn--refresh{font-size:11px;color:var(--text-secondary)}.ai-rw-fetch-model-msg{font-size:11px;color:var(--text-secondary);padding:2px 0 4px;opacity:.85}.ai-rw-config-row--debug{margin-top:4px;padding-top:8px;border-top:1px dashed var(--border-color)}.ai-rw-debug-toggle{display:inline-flex;align-items:center;gap:8px;padding:2px 0;background:none;border:none;cursor:pointer;font-size:11px;color:var(--text-secondary);transition:color .2s}.ai-rw-debug-toggle:hover{color:var(--text-color)}.ai-rw-debug-toggle.is-active{color:var(--primary-color)}.ai-rw-debug-toggle-track{position:relative;display:inline-block;width:32px;height:18px;background:#d9d9d9;border-radius:9px;transition:background .25s ease;flex-shrink:0}.ai-rw-debug-toggle.is-active .ai-rw-debug-toggle-track{background:var(--primary-color)}.ai-rw-debug-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .25s ease}.ai-rw-debug-toggle.is-active .ai-rw-debug-toggle-thumb{transform:translate(14px)}.ai-rw-debug-toggle-text{font-size:11px;font-weight:500;letter-spacing:.05em;flex-shrink:0}.ai-act-ai-reply-doc-content{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;padding:2px 0}.ai-act-ai-reply-doc-text{font-size:13px;line-height:1.75;color:var(--text-color);word-break:break-word;white-space:pre-wrap;flex:1;min-width:0}.ai-act-ai-reply-time{font-size:11px;color:var(--text-secondary);opacity:.45;padding-left:2px;font-variant-numeric:tabular-nums}.ai-act-user-row{display:flex;justify-content:flex-end;padding:3px 0 4px}.ai-act-user-pill{max-width:85%;padding:5px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:14px 14px 4px;font-size:12px;color:var(--text-color);line-height:1.5;white-space:pre-wrap;word-break:break-word}.ai-act-user-pill--context{max-width:90%;background:#8b5cf614;border:1px solid rgba(139,92,246,.25);border-radius:8px;color:#7c3aed;font-size:11px;padding:4px 10px;cursor:default}.ai-act-item{display:flex;align-items:stretch;gap:8px;padding:2px 0}.ai-act-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ai-act-cat-stripe{width:2px;flex-shrink:0;border-radius:2px;min-height:14px}.ai-act-item--tool_err .ai-act-cat-stripe,.ai-act-item--error .ai-act-cat-stripe{align-self:flex-start;margin-top:4px}.ai-act-cat-stripe--thinking{background:#8b5cf6}.ai-act-cat-stripe--tool{background:#3b82f6}.ai-act-cat-stripe--tool_ok{background:#22c55e}.ai-act-cat-stripe--tool_err{background:#ef4444}.ai-act-cat-stripe--success{background:#22c55e}.ai-act-cat-stripe--warn{background:#f59e0b}.ai-act-cat-stripe--error{background:#ef4444}.ai-act-cat-stripe--info,.ai-act-cat-stripe--progress{background:var(--border-color);opacity:.4}.ai-act-item__icon{font-size:11px;flex-shrink:0;line-height:1.4;font-family:var(--font-family-mono)}.ai-act-item__icon--thinking{color:#8b5cf6}.ai-act-item__icon--tool{color:#60a5fa}.ai-act-item__icon--tool_ok{color:#4ade80}.ai-act-item__icon--tool_err{color:#f87171}.ai-act-item__icon--info{color:var(--text-secondary);opacity:.5}.ai-act-item__icon--success{color:#4ade80}.ai-act-item__icon--warn{color:#fb923c}.ai-act-item__icon--error{color:#f87171}.ai-act-item__title{font-size:12px}.ai-act-item__title--thinking{color:#a78bfa;font-style:italic}.ai-act-item__title--tool{color:#93c5fd}.ai-act-item__title--tool_ok{color:#15803d;font-size:11px;font-family:inherit;font-weight:400}.ai-act-item__title--tool_err{color:#dc2626}.ai-act-item__title--info{color:var(--text-secondary)}.ai-act-item__title--success{color:#4ade80;font-weight:500}.ai-act-item__title--warn{color:#fb923c}.ai-act-item__title--error{color:#dc2626}.ai-act-item__title--progress{color:var(--text-secondary)}html.dark-mode .ai-act-item__title--tool_ok{color:#86efac}html.dark-mode .ai-act-item__title--tool_err,html.dark-mode .ai-act-item__title--error{color:#fca5a5}.ai-rw-hist-messages{display:flex;flex-direction:column;gap:6px;padding:8px 4px}.ai-rw-hist-ai-row{display:flex;align-items:center;gap:8px;padding:3px 0}.ai-rw-hist-ai-icon{width:18px;height:18px;border-radius:50%;background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#4ade80;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-rw-hist-ai-body{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.ai-rw-hist-ai-label{font-size:12px;color:#4ade80;font-weight:500}.ai-rw-hist-ai-meta{font-size:11px;color:var(--text-secondary)}.cm-right-panel-wrapper{flex-shrink:0;width:0;overflow:hidden;transition:width .25s cubic-bezier(.4,0,.2,1);background:var(--card-bg, #ffffff)}.cm-right-panel-open{width:380px}.cm-right-panel-inner{width:380px;height:100%;display:flex;flex-direction:column;animation:panelSlideIn .2s ease-out}@keyframes panelSlideIn{0%{opacity:0}to{opacity:1}}.cm-ai-panel-wrapper{display:none}.cm-ai-assistant-panel{width:100%;flex:1;min-height:0;background-color:var(--bg-color);display:flex;flex-direction:column;overflow:hidden;position:relative}.cm-ai-panel-header{height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background-color:var(--card-bg);border-bottom:1px solid var(--border-color)}.ai-act-item--thinking .ai-doc-thinking-streaming{display:flex;align-items:center;gap:6px;min-width:0}.ai-act-item--thinking .ai-doc-thinking-toggle{padding:0;background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--ink-muted)}@keyframes ai-act-typewriter-blink{0%,to{opacity:1}50%{opacity:0}}.ai-act-progress__bar-fill{background:var(--primary-color);opacity:.85}.ai-act-item__timestamp{margin-left:auto;flex-shrink:0;font-size:11px;color:var(--ink-muted);opacity:.45;font-variant-numeric:tabular-nums;letter-spacing:.02em;padding-left:8px;padding-right:2px;white-space:nowrap}.ai-act-user-timestamp{display:block;text-align:right;font-size:11px;color:var(--ink-muted);opacity:.4;margin-top:2px;padding-right:2px;font-variant-numeric:tabular-nums}.ai-act-item--thinking .ai-act-item__timestamp{display:inline;margin-left:auto;margin-top:0;padding-left:8px;padding-right:2px;text-align:right}.ai-doc-thinking-toggle-row{display:flex;align-items:center;min-width:0;gap:0}.ai-doc-thinking-toggle-row .ai-doc-thinking-toggle{flex:1;min-width:0}.ai-act-item--info .ai-act-item__detail{margin-top:2px;padding:6px 8px;background:var(--ink-3);border-left:1px solid var(--ink-line);border-radius:0;font-size:11px;color:var(--ink-muted);opacity:1;white-space:pre-wrap;word-break:break-all;line-height:1.6;font-family:inherit;font-variant-numeric:tabular-nums}.ai-rw-feed-wrap{padding:4px 0}.ai-act-feed{--ink-flow-x: calc(var(--ink-grid) * 4);--ink-flow-pad: calc(var(--ink-grid) * 7);position:relative;gap:0;padding:var(--ink-grid) 0 calc(var(--ink-grid) / 2)}.ai-act-feed:before{content:"";position:absolute;left:var(--ink-flow-x);top:12px;bottom:6px;width:1px;transform:translate(-50%);background:var(--ink-line);pointer-events:none}.ai-act-feed .ai-act-item,.ai-act-feed .ai-act-user-row,.ai-act-feed .ai-act-divider,.ai-act-feed .ai-act-approval-row,.ai-act-feed .ai-act-circuit-breaker,.ai-act-feed .ai-folded-tool-group{position:relative;padding-left:var(--ink-flow-pad)}.ai-act-feed .ai-act-item{padding-top:var(--ink-grid);padding-bottom:var(--ink-grid);border-radius:0}.ai-act-feed .ai-act-item:hover,.ai-act-feed .ai-folded-tool-group:hover{background:var(--ink-2)}.ai-act-feed .ai-act-cat-stripe{position:absolute;left:var(--ink-flow-x);top:15px;transform:translate(-50%,-50%);width:var(--ink-seal);height:var(--ink-seal);min-height:0;flex:none;border-radius:0;color:var(--act-zone, var(--ink-zone-flow));background:currentColor;box-shadow:0 0 0 1px color-mix(in srgb,currentColor 55%,transparent)}.ai-act-feed .ai-act-zone--read{--act-zone: var(--ink-zone-read)}.ai-act-feed .ai-act-zone--write{--act-zone: var(--ink-zone-write)}.ai-act-feed .ai-act-zone--craft{--act-zone: var(--ink-zone-craft)}.ai-act-feed .ai-act-zone--think{--act-zone: var(--ink-zone-think)}.ai-act-feed .ai-act-zone--flow{--act-zone: var(--ink-zone-flow)}.ai-act-feed .ai-act-zone--chapter{--act-zone: var(--ink-zone-chapter)}.ai-act-feed .ai-act-zone--outline{--act-zone: var(--ink-zone-outline)}.ai-act-feed .ai-act-zone--doc{--act-zone: var(--ink-zone-doc)}.ai-act-feed .ai-act-zone--approve{--act-zone: var(--ink-zone-approve)}.ai-act-feed .ai-act-zone--ask{--act-zone: var(--ink-zone-ask)}.ai-act-feed .ai-act-item.ai-act-item--success{--act-zone: var(--success-color)}.ai-act-feed .ai-act-item.ai-act-item--warn{--act-zone: var(--accent-color)}.ai-act-feed .ai-act-item.is-streaming,.ai-act-feed .ai-folded-tool-group.is-streaming,.ai-act-feed .ai-act-approval-row.is-waiting{--act-zone: var(--primary-color)}.ai-act-feed .ai-act-approval-row.is-done{--act-zone: var(--success-color)}.ai-act-feed .ai-act-approval-row.is-cancelled{--act-zone: var(--ink-zone-flow)}.ai-act-feed .ai-act-item.ai-act-item--tool_err,.ai-act-feed .ai-act-item.ai-act-item--error,.ai-act-feed .ai-act-circuit-breaker{--act-zone: var(--danger-color)}.ai-act-feed>.ai-act-item:before,.ai-act-feed>.ai-act-approval-row:before,.ai-act-feed>.ai-folded-tool-group:before{content:"";position:absolute;left:var(--ink-flow-x);top:0;bottom:0;width:1px;transform:translate(-50%);background:color-mix(in srgb,var(--act-zone, var(--ink-zone-flow)) 62%,var(--ink-line));pointer-events:none}.ai-act-item__flow{position:absolute;left:var(--ink-flow-x);right:0;bottom:0;height:1px;overflow:hidden;pointer-events:none}.ai-act-item__flow:before{content:"";display:block;width:40%;height:1px;background:var(--primary-color);animation:ai-ink-flow 1.8s linear infinite}@keyframes ai-ink-flow{0%{transform:translate(-100%)}to{transform:translate(250%)}}.ai-act-ink-mark{flex:none;width:var(--ink-seal);height:var(--ink-seal);border-radius:0;background:var(--ink-3);opacity:.6}.ai-act-ink-mark.is-breathing{background:var(--primary-color);animation:ai-ink-breath 1.6s ease-in-out infinite}@keyframes ai-ink-breath{0%,to{opacity:.35}50%{opacity:.6}}.ai-act-feed .ai-act-item,.ai-act-feed .ai-act-user-row,.ai-act-feed .ai-act-divider,.ai-act-feed .ai-act-approval-row,.ai-act-feed .ai-act-circuit-breaker,.ai-act-feed .ai-folded-tool-group{animation:ai-ink-drop .12s ease-out both}@keyframes ai-ink-drop{0%{opacity:0}to{opacity:1}}.ai-act-feed .ai-act-item:after,.ai-act-feed .ai-act-approval-row:after,.ai-act-feed .ai-act-circuit-breaker:after,.ai-act-feed .ai-folded-tool-group:after{content:"";position:absolute;left:var(--ink-flow-x);right:0;bottom:0;height:1px;background:var(--ink-line-strong);transform-origin:left center;animation:ai-ink-extend .12s linear both;pointer-events:none}@keyframes ai-ink-extend{0%{transform:scaleX(0);opacity:.9}to{transform:scaleX(1);opacity:0}}.ai-act-feed .ai-act-item.ai-act-zone--read .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-zone--read .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-zone--write .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-zone--write .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-zone--craft .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-zone--craft .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-zone--think .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-zone--think .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-zone--chapter .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-zone--chapter .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-zone--outline .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-zone--outline .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-zone--doc .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-zone--doc .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-zone--approve .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-zone--approve .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-zone--ask .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-zone--ask .ai-act-item__icon{color:var(--act-zone);opacity:1}.ai-act-feed .ai-act-item.ai-act-zone--flow .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-zone--flow .ai-act-item__title{color:var(--ink-flow-ink);opacity:1}.ai-act-feed .ai-act-item.ai-act-item--warn .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-item--warn .ai-act-item__title{color:var(--ink-warn-text);opacity:1}.ai-act-feed .ai-act-item.ai-act-item--success .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-item--success .ai-act-item__title{color:var(--ink-success-text);opacity:1}.ai-act-feed .ai-act-item.is-streaming .ai-act-item__icon,.ai-act-feed .ai-act-item.is-streaming .ai-act-item__title{color:var(--primary-color);opacity:1}.ai-act-feed .ai-act-item.ai-act-item--tool_err .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-item--tool_err .ai-act-item__title,.ai-act-feed .ai-act-item.ai-act-item--error .ai-act-item__icon,.ai-act-feed .ai-act-item.ai-act-item--error .ai-act-item__title{color:var(--ink-danger-text);opacity:1}.ai-act-feed .ai-act-item__icon{color:var(--ink-muted);opacity:1}.ai-act-feed .ai-act-item__title{color:var(--text-color);opacity:.9}.ai-act-feed .ai-act-item__icon--info,.ai-act-feed .ai-act-item__icon--progress,.ai-act-feed .ai-act-item__title--info,.ai-act-feed .ai-act-item__title--progress{color:var(--ink-muted);opacity:1}.ai-act-feed .ai-act-item__title--thinking{font-style:normal}html.dark-mode .ai-act-feed .ai-folded-tool-label,html.dark-mode .ai-act-feed .ai-folded-tool-scroll-text{color:var(--ink-muted)}html.dark-mode .ai-act-feed .ai-act-item__detail{color:var(--ink-muted);border-left-color:var(--ink-line)}.ai-act-feed .ai-act-item__timestamp,.ai-act-feed .ai-act-user-timestamp,.ai-act-feed .ai-act-progress__label,.ai-act-feed .ai-doc-thinking-label,.ai-act-feed .ai-act-item__chevron{color:var(--ink-flow-ink);opacity:1;font-variant-numeric:tabular-nums;letter-spacing:.06em}.ai-act-feed .ai-act-item__detail{margin:2px 0 0;padding:6px 8px;background:var(--ink-3);border:none;border-left:1px solid var(--ink-line);border-radius:0;color:var(--ink-muted);opacity:1;font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.ai-act-feed .ai-tool-card-summary{margin-top:var(--ink-grid);color:var(--ink-muted);opacity:1;letter-spacing:.01em;font-variant-numeric:tabular-nums}.ai-act-feed .ai-md-code-block{margin:8px 0;border:1px solid var(--ink-line);border-radius:var(--radius-sm);box-shadow:none}.ai-act-feed .ai-md-code-header{padding:var(--ink-grid) 8px;background:var(--ink-3);border-bottom:1px solid var(--ink-line)}.ai-act-feed .ai-md-code-lang{color:var(--ink-muted);font-size:var(--font-size-caption);letter-spacing:.08em;font-variant-numeric:tabular-nums}.ai-act-feed .ai-md-copy-btn{padding:1px 6px;background:transparent;border:1px solid var(--ink-line-strong);border-radius:0;color:var(--ink-muted);font-size:var(--font-size-caption);letter-spacing:.06em;font-variant-numeric:tabular-nums;transition:color .15s,border-color .15s}.ai-act-feed .ai-md-copy-btn:hover{background:transparent;color:var(--primary-color);border-color:var(--primary-color)}.ai-act-feed .ai-md-copy-btn:active{transform:none}.ai-act-feed .ai-md-inline-code{padding:0 4px;background:var(--ink-3);color:var(--text-color);border:1px solid var(--ink-line);border-radius:0;font-variant-numeric:tabular-nums}.ai-act-feed .ai-doc-thinking-toggle,.ai-act-feed .ai-doc-thinking-toggle--text{align-self:flex-start;padding:2px 8px;background:transparent;border:1px solid var(--ink-line);border-radius:0;color:var(--ink-muted);font-size:var(--font-size-caption);line-height:1.6;letter-spacing:.06em}.ai-act-feed .ai-doc-thinking-toggle:hover,.ai-act-feed .ai-act-item--thinking .ai-doc-thinking-toggle:hover{color:var(--primary-color);border-color:var(--primary-color);text-decoration:none}.ai-act-feed .ai-doc-thinking-text{color:var(--ink-muted);letter-spacing:.01em}.ai-act-feed .ai-act-item.ai-act-zone--think .ai-doc-thinking-label{color:var(--act-zone);opacity:1}.ai-act-feed .ai-act-progress{margin:var(--ink-grid) 0 0}.ai-act-feed .ai-act-progress__bar-bg{height:var(--ink-grid);border-radius:0;background:var(--ink-3);border:1px solid var(--ink-line)}.ai-act-feed .ai-act-progress__bar-fill{border-radius:0}.ai-act-feed .ai-act-user-pill{max-width:85%;padding:var(--ink-grid) 10px;background:var(--ink-2);border:1px solid var(--ink-line);border-radius:var(--radius-sm) var(--radius-sm) 0 var(--radius-sm);color:var(--text-color);font-size:var(--font-size-xs);letter-spacing:.01em}.ai-act-feed .ai-act-user-pill--context{max-width:90%;padding:2px 8px;background:transparent;border:1px solid var(--ink-line);color:var(--ink-muted);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;letter-spacing:.02em}.ai-act-feed .ai-act-user-row:before{content:"";position:absolute;left:var(--ink-flow-x);top:15px;width:var(--ink-seal);height:var(--ink-seal);transform:translate(-50%,-50%);color:var(--ink-zone-flow);background:currentColor;box-shadow:0 0 0 1px color-mix(in srgb,currentColor 55%,transparent)}.ai-act-feed .ai-act-ask-label{flex-shrink:0;font-size:var(--font-size-caption);line-height:1.6;color:var(--ink-zone-ask);opacity:1}.ai-act-feed .ai-act-divider{opacity:.85}.ai-act-feed .ai-act-divider__line{background:var(--ink-line)}.ai-act-feed .ai-act-divider__text{color:var(--ink-muted);font-size:var(--font-size-caption);letter-spacing:.08em;font-variant-numeric:tabular-nums}.ai-act-feed .ai-folded-tool-label{color:var(--ink-muted);opacity:1}.ai-act-feed .ai-folded-tool-group.ai-act-zone--read .ai-folded-tool-label,.ai-act-feed .ai-folded-tool-group.ai-act-zone--write .ai-folded-tool-label,.ai-act-feed .ai-folded-tool-group.ai-act-zone--craft .ai-folded-tool-label,.ai-act-feed .ai-folded-tool-group.ai-act-zone--think .ai-folded-tool-label,.ai-act-feed .ai-folded-tool-group.ai-act-zone--chapter .ai-folded-tool-label,.ai-act-feed .ai-folded-tool-group.ai-act-zone--outline .ai-folded-tool-label,.ai-act-feed .ai-folded-tool-group.ai-act-zone--doc .ai-folded-tool-label,.ai-act-feed .ai-folded-tool-group.ai-act-zone--ask .ai-folded-tool-label{color:var(--act-zone);opacity:1}.ai-act-feed .ai-folded-tool-done-icon{color:var(--success-color)}.ai-act-feed .ai-folded-tool-count{padding:0 5px;color:var(--ink-step-text);background:transparent;border:1px solid var(--ink-line);border-radius:0;font-size:var(--font-size-caption)}.ai-act-feed .ai-folded-tool-scroll-text{color:var(--ink-muted)}.ai-act-feed .ai-folded-tool-spinner{width:var(--ink-seal);height:var(--ink-seal);border:none;border-radius:0;background:var(--primary-color);animation:ai-ink-breath 1.6s ease-in-out infinite}.ai-act-feed .ai-folded-tool-list .ai-act-item{padding-left:0}.ai-act-feed .ai-folded-tool-list .ai-act-cat-stripe{position:static;transform:none;margin-top:8px}.ai-act-feed .ai-act-circuit-breaker{margin:var(--ink-grid) 0;padding:10px 12px;gap:var(--ink-grid);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger-color) 6%,var(--ink-2));border:1px solid color-mix(in srgb,var(--danger-color) 28%,transparent)}.ai-act-feed .ai-act-circuit-breaker__title{color:var(--ink-danger-text)}.ai-act-feed .ai-act-circuit-breaker__errors{padding:6px 8px;border-radius:0;background:var(--ink-3);border:1px solid var(--ink-line);color:var(--ink-muted);font-variant-numeric:tabular-nums}.ai-act-feed .ai-act-circuit-breaker__error-type{color:var(--ink-danger-text)}.ai-act-feed .ai-act-circuit-breaker-btn{padding:4px 12px;border-radius:0;min-width:0;font-size:var(--font-size-xs)}.ai-act-feed .ai-act-circuit-breaker-btn--retry{background-color:var(--primary-color);color:#fff}.ai-act-feed .ai-act-circuit-breaker-btn--cancel{border-color:var(--ink-line-strong);color:var(--ink-muted)}.ai-act-feed .ai-act-circuit-breaker-btn--cancel:hover{background-color:var(--ink-2);border-color:var(--ink-line-strong)}@media (prefers-reduced-motion: reduce){.ai-act-feed .ai-act-item,.ai-act-feed .ai-act-user-row,.ai-act-feed .ai-act-divider,.ai-act-feed .ai-act-approval-row,.ai-act-feed .ai-act-circuit-breaker,.ai-act-feed .ai-folded-tool-group,.ai-act-feed .ai-act-item:after,.ai-act-feed .ai-act-approval-row:after,.ai-act-feed .ai-act-circuit-breaker:after,.ai-act-feed .ai-folded-tool-group:after,.ai-act-ink-mark.is-breathing,.ai-act-feed .ai-folded-tool-spinner{animation:none}.ai-act-item__flow:before{width:100%;transform:none;animation:none;opacity:.5}.ai-act-ink-mark.is-breathing,.ai-act-feed .ai-folded-tool-spinner{opacity:.5}.ai-act-feed .ai-act-item:after,.ai-act-feed .ai-act-approval-row:after,.ai-act-feed .ai-act-circuit-breaker:after,.ai-act-feed .ai-folded-tool-group:after{opacity:0}}.ai-act-feed .ai-act-item{background-color:color-mix(in srgb,var(--act-zone, transparent) 8%,transparent);border-radius:var(--radius-sm)}.ai-act-feed .ai-act-item--user,.ai-act-feed .ai-act-item--approval,.ai-act-feed .ai-act-item--question{background-color:transparent}.ai-rw-container--conv{--ink-muted: color-mix(in srgb, var(--text-color) 78%, var(--bg-color))}html.dark-mode .ai-rw-container--conv{--ink-muted: color-mix(in srgb, var(--text-color) 90%, var(--bg-color))}.ai-rw-container--conv .ai-rw-mid-area{background:var(--bg-color)}.ai-act-feed .ai-act-item__title,.ai-act-feed .ai-act-item__desc{color:var(--text-color)}.ai-act-feed .ai-act-item{background-color:transparent}.ai-act-feed:before{width:2px}.ai-act-feed .ai-act-item:before{width:2px}.ai-act-feed .ai-act-cat-stripe{width:6px;height:6px}html.dark-mode{--ink-zone-read: #b9cbe6;--ink-zone-chapter: #a9c8e8;--ink-zone-outline: #b0c8dd;--ink-zone-doc: #a8ccd8;--ink-zone-write: #e8b48c;--ink-zone-craft: #a8d9b4;--ink-zone-think: #d9c4e8;--ink-zone-approve: #e8a89c;--ink-zone-ask: #e8b4c0}.ai-act-feed:before{width:1px}.ai-act-feed .ai-act-item:before{width:1px}.ai-act-feed .ai-act-cat-stripe{width:2px;height:2px}.ai-act-feed .ai-act-item{padding-top:10px;padding-bottom:10px}.ai-act-feed .ai-act-item+.ai-act-item{border-top:1px solid var(--ink-line)}.ai-act-feed .ai-act-item__title{font-size:13px;font-weight:600;letter-spacing:.01em}.ai-act-feed .ai-act-item__desc,.ai-act-feed .ai-act-item__timestamp,.ai-act-feed .ai-act-item__time{font-size:11px}.ai-act-feed .ai-act-item{border-radius:0;padding-top:0;padding-bottom:0;margin-top:10px;margin-bottom:10px}.ai-act-feed .ai-act-item+.ai-act-item{border-top:0}.ai-act-feed .ai-act-item+.ai-act-item:after{content:"";position:absolute;left:16px;right:0;top:-5px;height:1px;background:var(--ink-line)}.ai-act-feed .ai-act-item+.ai-act-item:after{content:none}.ai-act-feed .ai-act-item+.ai-act-item{background-image:linear-gradient(var(--ink-line),var(--ink-line));background-repeat:no-repeat;background-position:16px top;background-size:calc(100% - 16px) 1px}.ai-act-feed .ai-act-cat-stripe{margin-top:-4px}.ai-act-feed:before{display:none}.ai-act-feed .ai-act-item{border-bottom:1px solid var(--ink-line)}.ai-act-feed .ai-act-item:last-child{border-bottom:0}.ai-act-feed .ai-folded-tool-list{border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);margin-top:8px;margin-bottom:8px;padding:4px 0}.ai-act-feed .ai-folded-tool-list .ai-act-item{border-bottom:1px solid var(--ink-line)}.ai-act-feed .ai-folded-tool-list .ai-act-item:last-child{border-bottom:0}.ai-act-feed .ai-folded-tool-list .ai-act-item{background-image:none}.ai-act-feed>*+*{background-image:linear-gradient(var(--ink-line),var(--ink-line));background-repeat:no-repeat;background-position:16px top;background-size:calc(100% - 16px) 1px}.ai-act-feed>*{border-top:0;border-bottom:0}.ai-act-feed .ai-act-item{border-bottom:0}.ai-act-feed .ai-folded-tool-list,.ai-act-feed .ai-folded-tool-group{border-top:0;border-bottom:0}.ai-act-feed>*{background-image:linear-gradient(var(--ink-line),var(--ink-line)),linear-gradient(var(--ink-line),var(--ink-line));background-repeat:no-repeat,no-repeat;background-position:16px top,16px bottom;background-size:calc(100% - 16px) 1px,calc(100% - 16px) 1px}.ai-act-feed .ai-act-user-row .ai-act-cat-stripe{display:none}.ai-act-feed.ai-act-feed>*{background-image:linear-gradient(var(--ink-line),var(--ink-line)),linear-gradient(var(--ink-line),var(--ink-line));background-repeat:no-repeat,no-repeat;background-position:16px top,16px bottom;background-size:calc(100% - 16px) 1px,calc(100% - 16px) 1px}.ai-act-feed.ai-act-feed.ai-act-feed>*{background-image:linear-gradient(var(--ink-line),var(--ink-line)),linear-gradient(var(--ink-line),var(--ink-line));background-repeat:no-repeat,no-repeat;background-position:16px top,16px bottom;background-size:calc(100% - 16px) 1px,calc(100% - 16px) 1px}.ai-act-feed .ai-act-user-row:before{display:none}.ai-act-feed .ai-act-user-pill{background-color:color-mix(in srgb,var(--primary-color) 16%,var(--card-bg));border:1px solid color-mix(in srgb,var(--primary-color) 46%,var(--ink-line))}html.dark-mode .ai-act-feed .ai-act-user-pill{background-color:color-mix(in srgb,var(--primary-color) 26%,var(--card-bg));border-color:color-mix(in srgb,var(--primary-color) 58%,var(--ink-line))}.ai-act-feed .ai-act-item,.ai-act-feed .ai-act-user-row{padding-left:18px}.ai-act-feed .ai-act-user-pill{background-color:color-mix(in srgb,var(--primary-color) 24%,var(--card-bg));border-color:color-mix(in srgb,var(--primary-color) 62%,var(--ink-line))}html.dark-mode .ai-act-feed .ai-act-user-pill{background-color:color-mix(in srgb,var(--primary-color) 35%,var(--card-bg))}.ai-act-feed{padding-left:4px}.ai-act-feed .ai-act-item{padding-left:12px}.ai-act-feed{--act-gutter: 12px;padding-left:4px}.ai-act-feed.ai-act-feed.ai-act-feed>*{background-image:linear-gradient(var(--ink-line),var(--ink-line)),linear-gradient(var(--ink-line),var(--ink-line));background-repeat:no-repeat,no-repeat;background-position:var(--act-gutter) top,var(--act-gutter) bottom;background-size:calc(100% - var(--act-gutter)) 1px,calc(100% - var(--act-gutter)) 1px}.ai-act-feed.ai-act-feed .ai-act-user-row{background-image:none}.ai-act-feed.ai-act-feed .ai-act-item:before,.ai-act-feed.ai-act-feed .ai-act-folded-tool-group:before,.ai-act-feed.ai-act-feed .ai-act-user-row:before{left:var(--act-gutter)}.ai-act-feed.ai-act-feed .ai-act-item,.ai-act-feed.ai-act-feed .ai-act-user-row{padding-left:calc(var(--act-gutter) + 10px)}.ai-act-feed.ai-act-feed.ai-act-feed>*,.ai-act-feed.ai-act-feed.ai-act-feed>*+*{background-image:none;border-top:0;border-bottom:0}.ai-act-feed.ai-act-feed .ai-act-cat-stripe,.ai-act-feed.ai-act-feed .ai-act-user-row .ai-act-cat-stripe{display:none}.ai-act-feed.ai-act-feed .ai-act-item:before,.ai-act-feed.ai-act-feed .ai-act-folded-tool-group:before,.ai-act-feed.ai-act-feed .ai-act-folded-tool-list:before,.ai-act-feed.ai-act-feed .ai-act-user-row:before{display:none}.ai-act-feed .ai-act-item__title,.ai-act-feed .ai-folded-tool-label,.ai-act-feed .ai-doc-thinking-label{display:inline-block;padding:1px 8px;border-radius:0;background-color:color-mix(in srgb,var(--act-zone, var(--ink-muted)) 20%,var(--card-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--act-zone, var(--ink-muted)) 34%,transparent)}html.dark-mode .ai-act-feed .ai-act-item__title,html.dark-mode .ai-act-feed .ai-folded-tool-label,html.dark-mode .ai-act-feed .ai-doc-thinking-label{background-color:color-mix(in srgb,var(--act-zone, var(--ink-muted)) 26%,var(--card-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--act-zone, var(--ink-muted)) 40%,transparent)}.ai-act-feed.ai-act-feed .ai-act-item,.ai-act-feed.ai-act-feed .ai-act-user-row,.ai-act-feed.ai-act-feed .ai-act-folded-tool-group,.ai-act-feed.ai-act-feed .ai-act-folded-tool-list{padding-left:0}.ai-act-feed .ai-act-item__body{padding-left:0;margin-left:0}.ai-act-feed .ai-folded-tool-body{padding-left:0}.ai-act-feed .ai-act-item__detail,.ai-act-feed .ai-doc-thinking-text,.ai-act-feed .ai-tool-card-summary,.ai-act-feed .ai-act-item--ai_reply .ai-act-item__body{padding-left:10px}.ai-act-feed .ai-act-item__head{padding-left:0}.ai-act-feed .ai-act-item__icon,.ai-act-feed .ai-act-item__flow,.ai-act-feed .ai-act-ink-mark{display:none}.ai-act-feed .ai-folded-tool-list .ai-act-item__title,.ai-act-feed .ai-folded-tool-group .ai-act-item__title{background:none;box-shadow:none;padding:0;font-size:12px;font-weight:400}.ai-act-feed .ai-folded-tool-list .ai-act-item__title{display:none}.ai-act-feed .ai-folded-tool-list .ai-act-item__head{margin-bottom:0}.ai-act-feed .ai-folded-tool-list .ai-act-user-row,.ai-act-feed .ai-folded-tool-list .ai-act-cat-stripe{display:none}.ai-act-feed .ai-folded-tool-list .ai-act-item__title{display:inline-block}.ai-act-feed.ai-act-feed{padding-left:0}.ai-act-feed .ai-act-item__head,.ai-act-feed .ai-folded-tool-title-row,.ai-act-feed .ai-doc-thinking-head{display:flex;align-items:center;gap:8px;padding:2px 8px;border-left:3px solid var(--act-zone, var(--primary-color));background-image:linear-gradient(to right,color-mix(in srgb,var(--act-zone, var(--primary-color)) 30%,var(--card-bg)),color-mix(in srgb,var(--act-zone, var(--primary-color)) 30%,var(--card-bg)) 8%,transparent 100%)}html.dark-mode .ai-act-feed .ai-act-item__head,html.dark-mode .ai-act-feed .ai-folded-tool-title-row,html.dark-mode .ai-act-feed .ai-doc-thinking-head{background-image:linear-gradient(to right,color-mix(in srgb,var(--act-zone, var(--primary-color)) 34%,var(--card-bg)),color-mix(in srgb,var(--act-zone, var(--primary-color)) 34%,var(--card-bg)) 8%,transparent 100%)}.ai-act-feed.ai-act-feed .ai-folded-tool-list .ai-act-item__head,.ai-act-feed.ai-act-feed .ai-act-folded-tool-group .ai-folded-tool-list .ai-act-item__head{display:block;border-left:0;background-image:none;padding:0;gap:0}.ai-act-feed.ai-act-feed .ai-folded-tool-list{max-height:none;overflow:visible;padding:0;margin-top:6px;gap:0;background:none;border:0}.ai-act-feed.ai-act-feed .ai-folded-tool-list .ai-act-item{padding:0;margin:0;border:0;border-radius:0;background:none;background-image:none}.ai-act-feed.ai-act-feed .ai-folded-tool-list .ai-act-item+.ai-act-item{border-top:0;margin-top:10px}.ai-act-feed.ai-act-feed .ai-folded-tool-list .ai-act-item__title{display:inline-block;background:none;box-shadow:none;padding:0;font-size:12px;font-weight:600}.ai-act-feed.ai-act-feed .ai-folded-tool-list .ai-tool-card-summary{margin-top:2px;color:var(--ink-muted);font-size:11px;line-height:1.6;opacity:1;letter-spacing:.01em}.ai-act-feed.ai-act-feed .ai-folded-tool-list .ai-act-cat-stripe{display:none}.ai-act-feed .ai-folded-tool-group:before{display:none!important}.ai-act-feed .ai-folded-tool-list .ai-act-item:after{display:none}.ai-act-feed.ai-act-feed .ai-act-item__title,.ai-act-feed.ai-act-feed .ai-folded-tool-label,.ai-act-feed.ai-act-feed .ai-doc-thinking-label,html.dark-mode .ai-act-feed.ai-act-feed .ai-act-item__title,html.dark-mode .ai-act-feed.ai-act-feed .ai-folded-tool-label,html.dark-mode .ai-act-feed.ai-act-feed .ai-doc-thinking-label{background:none;box-shadow:none;padding:0}.ai-rw-container--conv .ai-rw-mid-area,.ai-act-feed .ai-folded-tool-group{padding-left:0}.ai-act-approval-row{padding:6px 10px 8px calc(var(--ink-grid) * 7);display:flex;flex-direction:column;gap:calc(var(--ink-grid) * 2)}.ai-act-approval-tags-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ai-act-approval-tag,.ai-act-approval-chapter-tag{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid;min-width:0}.ai-act-approval-tag__type-row{display:flex;align-items:center}.ai-act-approval-tag__type-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:0;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;font-variant-numeric:tabular-nums;letter-spacing:0}.ai-act-approval-tag__target-row{display:flex;align-items:center}.ai-act-approval-tag__target-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:0;border:1px solid;font-size:11px;font-weight:500;background:transparent;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;letter-spacing:.06em}.ai-act-approval-tag__content-row{flex:1;min-height:36px;max-height:76px;overflow:hidden}.ai-act-approval-tag__content{font-size:11px;line-height:1.6;color:var(--ink-muted);white-space:pre-line;word-break:break-all;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-variant-numeric:tabular-nums;letter-spacing:.01em}.ai-act-approval-delete-warn{display:flex;align-items:flex-start;gap:6px;padding:6px 9px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger-color) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger-color) 28%,transparent);font-size:11px;color:var(--danger-color);line-height:1.5}.ai-act-approval-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.ai-act-approval-btn{display:inline-flex;align-items:center;justify-content:center;padding:5px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:opacity .15s,background-color .15s,border-color .15s;border:1px solid transparent;line-height:1}.ai-act-approval-btn--cancel{background-color:transparent;border-color:var(--ink-line-strong);color:var(--ink-zone-doc)}.ai-act-approval-btn--cancel:hover{background-color:var(--ink-2);border-color:var(--ink-line-strong)}.ai-act-approval-btn--confirm{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.ai-act-approval-btn--confirm:hover{opacity:.85}.ai-act-approval-btn--confirm.ai-act-approval-btn--danger{background-color:var(--danger-color);border-color:var(--danger-color)}.ai-act-approval-btn--confirm.ai-act-approval-btn--danger:hover{opacity:.85}.ai-act-approval-done{display:flex;align-items:center;gap:8px}.ai-act-approval-done-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:0;font-size:11px;font-weight:500;letter-spacing:.06em;font-variant-numeric:tabular-nums}.ai-act-approval-done-badge--confirmed{background:color-mix(in srgb,var(--success-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--success-color) 32%,transparent);color:var(--ink-success-text)}.ai-act-approval-done-badge--cancelled{background:var(--ink-2);border:1px solid var(--ink-line);color:var(--ink-zone-doc)}.ai-act-approval-done-badge--pending{background:color-mix(in srgb,var(--ink-zone-approve) 10%,transparent);border:1px solid color-mix(in srgb,var(--ink-zone-approve) 32%,transparent);color:var(--ink-zone-approve)}.ai-act-feed .ai-act-approval-row{border-left:2px solid transparent}.ai-act-feed .ai-act-approval-row.is-waiting{border-left-color:color-mix(in srgb,var(--ink-zone-approve) 55%,var(--ink-line))}.ai-act-feed .ai-act-approval-row.is-done{border-left-color:color-mix(in srgb,var(--ink-success-text) 45%,var(--ink-line))}.ai-act-feed .ai-act-approval-row.is-cancelled{border-left-color:color-mix(in srgb,var(--ink-zone-doc) 40%,var(--ink-line))}.ai-approval-panel{flex-shrink:0;margin:0 12px 8px;padding:14px;border-radius:10px;background-color:var(--card-bg, rgba(30, 30, 46, .9));border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #0003;display:flex;flex-direction:column;gap:10px;animation:ai-approval-slide-in .22s cubic-bezier(.34,1.2,.64,1) both}@keyframes ai-approval-slide-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-approval-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ai-approval-panel__title{font-size:12px;font-weight:600;color:var(--text-color, #e2e8f0);letter-spacing:.02em}.ai-approval-panel__subtitle{font-size:11px;color:var(--text-secondary, #94a3b8)}.ai-approval-tags-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ai-approval-tag{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:8px;border:1px solid;min-width:0;position:relative}.ai-approval-tag__type-row{display:flex;align-items:center}.ai-approval-tag__type-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;font-size:12px;font-weight:700;color:#fff;letter-spacing:0;flex-shrink:0}.ai-approval-tag__target-row{display:flex;align-items:center}.ai-approval-tag__target-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:4px;border:1px solid;font-size:11px;font-weight:500;background:transparent;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.ai-approval-tag__content-row{flex:1;min-height:40px;max-height:80px;overflow:hidden;position:relative}.ai-approval-tag__content{display:block;font-size:11px;line-height:1.6;color:var(--text-secondary, #94a3b8);white-space:pre-line;word-break:break-all;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical}.ai-approval-delete-warning{display:flex;align-items:flex-start;gap:7px;padding:8px 10px;border-radius:6px;background:#ef444414;border:1px solid rgba(239,68,68,.25);font-size:12px;color:#fca5a5;line-height:1.5}.ai-approval-delete-warning__icon{flex-shrink:0;font-size:12px;margin-top:1px;color:#f87171}.ai-approval-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.ai-approval-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s,background-color .15s;border:1px solid transparent;line-height:1}.ai-approval-btn--cancel{background-color:transparent;border-color:#ffffff26;color:var(--text-secondary, #94a3b8)}.ai-approval-btn--cancel:hover{background-color:#ffffff0f;border-color:#ffffff40}.ai-approval-btn--confirm{background-color:var(--accent-color, #3b82f6);color:#fff;border-color:transparent}.ai-approval-btn--confirm:hover{opacity:.85}.ai-approval-btn--confirm.ai-approval-btn--danger{background-color:#ef4444}.ai-approval-btn--confirm.ai-approval-btn--danger:hover{opacity:.85}.ai-act-circuit-breaker{margin:10px 12px;padding:14px;border-radius:10px;background:#ef44440f;border:1px solid rgba(239,68,68,.25);display:flex;flex-direction:column;gap:10px;animation:ai-approval-slide-in .22s cubic-bezier(.34,1.2,.64,1) both}.ai-act-circuit-breaker__header{display:flex;align-items:center;gap:8px}.ai-act-circuit-breaker__icon{font-size:18px}.ai-act-circuit-breaker__title{font-size:13px;font-weight:600;color:#f87171}.ai-act-circuit-breaker__errors{display:flex;flex-direction:column;gap:4px;max-height:120px;overflow-y:auto;font-size:11px;color:var(--text-secondary, #94a3b8);padding:6px 8px;background:#00000026;border-radius:6px}.ai-act-circuit-breaker__error-item{display:flex;gap:6px;line-height:1.5}.ai-act-circuit-breaker__error-type{color:#f87171;flex-shrink:0;font-weight:600}.ai-act-circuit-breaker__error-msg{word-break:break-all}.ai-act-circuit-breaker__actions{display:flex;gap:10px;justify-content:center}.ai-act-circuit-breaker-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 20px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s,background-color .15s;border:1px solid transparent;line-height:1;min-width:100px}.ai-act-circuit-breaker-btn--retry{background-color:#3b82f6;color:#fff;border-color:transparent}.ai-act-circuit-breaker-btn--retry:hover{opacity:.85}.ai-act-circuit-breaker-btn--cancel{background-color:transparent;border-color:#ffffff26;color:var(--text-secondary, #94a3b8)}.ai-act-circuit-breaker-btn--cancel:hover{background-color:#ffffff0f;border-color:#ffffff40}.ai-prompt-templates{position:relative;flex-shrink:0;padding:4px 0}.ai-prompt-trigger-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-color, #e8e8e8);border-radius:6px;background:var(--card-bg, #fff);color:var(--text-secondary, #666);font-size:11px;cursor:pointer;transition:all .15s;margin:0 0 0 4px}.ai-prompt-trigger-btn:hover:not(:disabled){border-color:var(--primary-color, #1890ff);color:var(--primary-color, #1890ff);background:rgba(var(--primary-rgb),.04)}.ai-prompt-trigger-btn:disabled{opacity:.4;cursor:not-allowed}.ai-prompt-trigger-icon{font-size:12px;line-height:1}.ai-prompt-trigger-text{font-weight:500}.ai-prompt-dropdown{position:absolute;bottom:100%;left:0;right:0;z-index:300;margin-bottom:2px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e8e8e8);border-radius:8px;box-shadow:0 6px 20px #00000026;animation:rwPromptFadeIn .15s ease-out both;transform-origin:bottom center;max-height:320px;display:flex;flex-direction:column;overflow:hidden}.ai-prompt-dropdown--down{bottom:auto;top:100%;margin-bottom:0;margin-top:2px;transform-origin:top center;animation-name:rwPromptFadeInDown}@keyframes rwPromptFadeInDown{0%{opacity:0;transform:translateY(-4px) scaleY(.95)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes rwPromptFadeIn{0%{opacity:0;transform:translateY(4px) scaleY(.95)}to{opacity:1;transform:translateY(0) scaleY(1)}}.ai-prompt-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;border-bottom:1px solid var(--border-color, #e8e8e8);flex-shrink:0}.ai-prompt-dropdown-title{font-size:12px;font-weight:600;color:var(--text-color, #333)}.ai-prompt-add-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #999);cursor:pointer;transition:all .15s}.ai-prompt-add-btn:hover{background:var(--hover-bg, rgba(0, 0, 0, .06));color:var(--primary-color, #1890ff)}.ai-prompt-dropdown-list{overflow-y:auto;padding:4px;flex:1}.ai-prompt-dropdown-list::-webkit-scrollbar{width:4px}.ai-prompt-dropdown-list::-webkit-scrollbar-thumb{background:var(--border-color, #e8e8e8);border-radius:2px}.ai-prompt-empty{text-align:center;padding:20px 12px;font-size:12px;color:var(--text-secondary, #bbb)}.ai-prompt-item{display:flex;align-items:center;gap:2px;padding:4px;border-radius:6px;transition:background .12s}.ai-prompt-item:hover{background:var(--hover-bg, rgba(0, 0, 0, .03))}.ai-prompt-item--new{background:rgba(var(--primary-rgb),.04);border:1px dashed var(--primary-color, #1890ff);margin-top:4px}.ai-prompt-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:4px 6px;border:none;border-radius:4px;background:transparent;cursor:pointer;text-align:left;transition:background .12s}.ai-prompt-item-main:hover{background:rgba(var(--primary-rgb),.06)}.ai-prompt-item-name{font-size:12px;font-weight:500;color:var(--text-color, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.ai-prompt-item-preview{font-size:11px;color:var(--text-secondary, #999);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.ai-prompt-item-edit,.ai-prompt-item-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #bbb);cursor:pointer;opacity:0;transition:all .12s}.ai-prompt-item:hover .ai-prompt-item-edit,.ai-prompt-item:hover .ai-prompt-item-delete{opacity:1}.ai-prompt-item-edit:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary-color, #1890ff)}.ai-prompt-item-delete:hover{background:#ef44441a;color:#ef4444}.ai-prompt-edit-form{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:2px 4px}.ai-prompt-edit-name{width:100%;padding:4px 6px;border:1px solid var(--border-color, #e8e8e8);border-radius:4px;font-size:12px;font-weight:500;font-family:inherit;color:var(--text-color, #333);background:var(--input-bg, #fff);outline:none;box-sizing:border-box}.ai-prompt-edit-name:focus{border-color:var(--primary-color, #1890ff);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.ai-prompt-edit-content{width:100%;padding:4px 6px;border:1px solid var(--border-color, #e8e8e8);border-radius:4px;font-size:11px;font-family:inherit;color:var(--text-color, #333);background:var(--input-bg, #fff);outline:none;resize:vertical;box-sizing:border-box;line-height:1.5}.ai-prompt-edit-content:focus{border-color:var(--primary-color, #1890ff);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.ai-prompt-edit-actions{display:flex;gap:4px;align-self:flex-end}.ai-prompt-edit-save,.ai-prompt-edit-cancel{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;cursor:pointer;transition:all .12s}.ai-prompt-edit-save{background:var(--primary-color, #1890ff);color:#fff}.ai-prompt-edit-save:hover:not(:disabled){opacity:.85}.ai-prompt-edit-save:disabled{opacity:.4;cursor:not-allowed}.ai-prompt-edit-cancel{background:transparent;color:var(--text-secondary, #999)}.ai-prompt-edit-cancel:hover{background:var(--hover-bg, rgba(0, 0, 0, .06));color:var(--text-color, #555)}.dark-mode .ai-prompt-trigger-btn{background:var(--card-bg, #1e1e2e);border-color:var(--border-color, #2d2d3d)}.dark-mode .ai-prompt-dropdown{background:var(--card-bg, #1e1e2e);border-color:var(--border-color, #2d2d3d);box-shadow:0 6px 20px #0006}.dark-mode .ai-prompt-item-main:hover{background:#ffffff0f}.dark-mode .ai-prompt-item--new{background:rgba(var(--primary-rgb),.08)}.dark-mode .ai-prompt-edit-name,.dark-mode .ai-prompt-edit-content{background:var(--input-bg, #2d2d3d);border-color:var(--border-color, #3d3d4d);color:var(--text-color, #ddd)}.dark-mode .ai-prompt-edit-name:focus,.dark-mode .ai-prompt-edit-content:focus{border-color:var(--primary-color, #1890ff);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.15)}.dark-mode .ai-prompt-edit-cancel{color:var(--text-secondary, #94a3b8)}.dark-mode .ai-prompt-edit-cancel:hover{background:#ffffff14;color:var(--text-color, #ddd)}.ai-tool-card{margin-top:8px;padding:10px 12px;background:#ffffff06;border:1px solid rgba(255,255,255,.06);border-radius:8px;display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}.dark-mode .ai-tool-card{background:#ffffff09;border-color:#ffffff14}.ai-tool-card-sec{display:flex;flex-direction:column;gap:4px}.ai-tool-card-label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);letter-spacing:.3px}.ai-tool-card-pre{margin:0;padding:8px 10px;background:var(--input-bg, #1f2937);border:1px solid var(--border-color, #374151);border-radius:6px;font-size:12px;line-height:1.6;color:var(--text-color, #d1d5db);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto;font-family:var(--font-family-mono)}.ai-tool-card-pre--result{color:var(--text-color, #d1d5db)}.ai-tool-card-actions{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px}.ai-tool-card-actions li{color:var(--text-color, #e5e7eb)}.ai-tool-card-actions strong{color:var(--primary-color, #1890ff);margin:0 2px;font-weight:600}.ai-tool-diffs{margin-top:8px;display:flex;flex-direction:column;gap:10px}.ai-tool-diff-block{display:flex;flex-direction:column;gap:6px}.ai-tool-diff-title{font-size:12px;font-weight:600;color:var(--text-secondary, #64748b)}.ai-tool-diff{margin:0;padding:10px 12px;background:var(--input-bg, #1f2937);border:1px solid var(--border-color, #374151);border-radius:8px;font-size:12px;line-height:1.8;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--font-family-mono)}.ai-tool-diff-line{display:block;border-radius:3px}.ai-tool-diff-line--add{color:#4ade80;background:#4ade801a}.ai-tool-diff-line--del{color:#f87171;background:#f871711a;text-decoration:line-through}.ai-tool-diff-loading{margin-top:8px;font-size:12px;color:var(--text-secondary, #64748b)}.ai-tool-card-summary{margin-top:3px;padding-left:22px;font-size:12px;line-height:1.5;color:var(--text-secondary, #64748b);opacity:.92;word-break:break-word}.ai-doc-thinking-head{display:flex;align-items:center;gap:8px;min-height:20px}.ai-doc-thinking-body{margin-top:6px;display:flex;flex-direction:column;gap:6px}.ai-doc-thinking-text{font-size:12px;line-height:1.65;color:var(--text-secondary, #94a3b8);word-break:break-word;white-space:pre-wrap;max-height:180px;overflow-y:auto}.ai-doc-thinking-text.is-clamped{display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;max-height:none;overflow:hidden}.ai-doc-thinking-text p{margin:0 0 4px}.ai-doc-thinking-text p:last-child{margin-bottom:0}.ai-doc-thinking-empty{font-style:italic;opacity:.6}.ai-doc-thinking-toggle--text{align-self:flex-start;background:none;border:none;padding:0;font-size:12px;color:var(--primary-color, #1890ff);cursor:pointer}.ai-doc-thinking-toggle--text:hover{text-decoration:underline}.login-container{height:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 55% at 18% 12%,rgba(196,126,90,.1) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 85% 20%,rgba(91,110,138,.16) 0%,transparent 62%),radial-gradient(ellipse 55% 45% at 78% 88%,rgba(91,110,138,.1) 0%,transparent 58%),linear-gradient(160deg,#f7f4ee,#f1ece3 48%,#e9e3d8);transition:background .4s}.login-container:before,.login-container:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px);opacity:.5}.login-container:before{width:420px;height:420px;top:-180px;left:-120px;background:radial-gradient(circle,rgba(91,110,138,.1) 0%,transparent 70%)}.login-container:after{width:380px;height:380px;bottom:-160px;right:-100px;background:radial-gradient(circle,rgba(196,126,90,.1) 0%,transparent 70%)}html.dark-mode .login-container{background:radial-gradient(ellipse 70% 55% at 18% 12%,rgba(126,148,181,.12) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 85% 20%,rgba(126,148,181,.14) 0%,transparent 62%),linear-gradient(160deg,#1c1c1a,#161614 55%,#121210)}.login-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:44px 40px 32px;box-shadow:0 1px 2px #0000000a,0 12px 40px #28303e1a;width:100%;max-width:400px;position:relative;z-index:1;animation:scaleUp .3s ease-out both;transition:background-color .3s,border-color .3s}html.dark-mode .login-card{box-shadow:0 1px 2px #0000004d,0 12px 40px #00000080}.login-header{text-align:center;margin-bottom:28px}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:14px;border-radius:14px;background:linear-gradient(135deg,var(--primary-color) 0%,color-mix(in srgb,var(--primary-color) 70%,#8fa3c0) 100%);color:#fff;box-shadow:0 6px 16px #5b6e8a52}.login-logo svg{display:block}.login-title{font-size:26px;font-weight:700;color:var(--text-color);margin:0 0 6px;letter-spacing:.14em}.login-subtitle{font-size:13px;color:var(--text-secondary);margin:0;letter-spacing:.06em}.login-header:after{content:"";display:block;width:56px;height:1px;margin:22px auto 0;background:linear-gradient(to right,transparent,var(--border-color),transparent)}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:var(--text-color)}.form-input{padding:11px 14px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-light)}.form-input::placeholder{color:var(--text-secondary);opacity:.6}.remember-group{display:flex;align-items:center;justify-content:space-between;font-size:13px}.checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--text-secondary)}.checkbox input{cursor:pointer}.forgot-password{color:var(--primary-color);text-decoration:none;cursor:pointer}.forgot-password:hover{text-decoration:underline}.login-button{padding:12px 16px;background:linear-gradient(135deg,var(--primary-color) 0%,color-mix(in srgb,var(--primary-color) 72%,#93a7c6) 100%);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;letter-spacing:.2em;cursor:pointer;transition:all .25s;margin-top:8px;box-shadow:0 4px 12px #5b6e8a38}.login-button:hover{filter:brightness(1.08);box-shadow:0 6px 18px #5b6e8a52;transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{text-align:center;margin-top:24px;font-size:13px;color:var(--text-secondary)}.signup-link{color:var(--primary-color);text-decoration:none;cursor:pointer;margin-left:4px}.signup-link:hover{text-decoration:underline}.login-error{padding:12px 14px;background-color:#c84b4b14;border:1px solid rgba(200,75,75,.28);border-radius:8px;color:var(--danger-color);font-size:13px}.login-success{padding:12px 14px;background-color:#5a8f6a1f;border:1px solid rgba(90,143,106,.3);border-radius:8px;color:#16a34a;font-size:13px}.login-icp{margin-top:26px;text-align:center;display:flex;flex-direction:column;gap:6px}.login-icp-row{display:flex;align-items:center;justify-content:center}.login-beian-icon{vertical-align:-3px;margin-right:4px;border-radius:2px}.login-icp-link{display:inline-flex;align-items:center;font-size:12px;color:var(--text-secondary);text-decoration:none;transition:color .2s;opacity:.85}.login-icp-link:hover{color:var(--primary-color);text-decoration:underline}.setting-manager-container{height:100%;display:flex;flex-direction:column;background-color:var(--bg-color)}.setting-manager-header{height:44px;background-color:var(--toolbar-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px;flex-shrink:0}.setting-manager-content{flex:1;overflow-y:auto;display:flex;flex-direction:row}.setting-tabs{width:180px;background-color:var(--card-bg);border-right:1px solid var(--border-color);padding:12px 0;display:flex;flex-direction:column;gap:2px}.setting-tab{padding:10px 16px;margin:0 8px;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:all .15s;font-size:13px;font-weight:500;border:1px solid transparent}.setting-tab:hover{background-color:var(--hover-bg);color:var(--text-color)}.setting-tab.active{background-color:var(--primary-color-light);color:var(--primary-color);font-weight:600}.setting-panel{flex:1;padding:24px;overflow-y:auto}.setting-section{margin-bottom:32px}.setting-section-title{font-size:15px;font-weight:600;color:var(--text-color);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-color)}.setting-item-label{display:flex;flex-direction:column;gap:4px}.setting-item-title{font-size:14px;font-weight:500;color:var(--text-color)}.setting-item-description{font-size:12px;color:var(--text-secondary)}.setting-control{display:flex;align-items:center;gap:8px}.toggle-switch{position:relative;width:44px;height:24px;background-color:var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s}.toggle-switch.active{background-color:var(--primary-color)}.toggle-switch-thumb{position:absolute;width:20px;height:20px;background-color:#fff;border-radius:10px;top:2px;left:2px;transition:all .3s;box-shadow:var(--shadow-sm)}.toggle-switch.active .toggle-switch-thumb{left:22px}.select-input{padding:8px 12px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-color);font-size:14px;cursor:pointer}.select-input:focus{outline:none;border-color:var(--primary-color)}.ws-root{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-width:0;min-height:0}.ws-frame{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0;container-type:inline-size;container-name:xts-settings-panel}.ws-head{height:40px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--border-color);flex-shrink:0;font-weight:600;font-size:var(--font-size-lg);color:var(--text-color);background-color:var(--card-bg);min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ws-body{flex:1 1 auto;display:flex;min-width:0;min-height:0;background-color:var(--bg-color);color:var(--text-color)}.ws-list{width:200px;flex-shrink:0;display:flex;flex-direction:column;background-color:var(--bg-color);border-right:1px solid var(--border-color);overflow:hidden}.ws-list-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 0}.ws-list-foot{flex-shrink:0;padding:8px;border-top:1px solid var(--border-color)}.ws-item{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-size:12px;color:var(--text-color);border-left:3px solid transparent;transition:background-color .15s,color .15s,border-color .15s}.ws-item:hover{background-color:var(--hover-bg)}.ws-item.is-selected{color:var(--primary-color);background-color:#48bb781a;border-left-color:var(--primary-color)}.ws-item-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-item-menu-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity .15s,background-color .15s,color .15s}.ws-item:hover .ws-item-menu-btn,.ws-item-menu-btn:focus-visible,.ws-item-menu-btn.is-open{opacity:1}.ws-item-menu-btn:hover,.ws-item-menu-btn.is-open{background-color:var(--hover-bg);color:var(--text-color)}@media (hover: none){.ws-item-menu-btn{opacity:.7}}.ws-item-menu{z-index:2200;min-width:132px;padding:4px;display:flex;flex-direction:column;gap:2px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 6px 20px var(--shadow-color);font-size:12px;color:var(--text-color)}.ws-item-menu-entry{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-color);font-size:12px;text-align:left;cursor:pointer}.ws-item-menu-entry:hover{background-color:var(--hover-bg)}.ws-item-menu-entry.is-danger{color:var(--danger-color)}.ws-item-menu-entry.is-danger:hover{background-color:#f565651f}.ws-sep{height:1px;margin:4px 12px;background-color:var(--border-color)}.ws-list-foot .ws-add-btn{width:100%;padding:8px 12px;border:none;border-radius:4px;background-color:var(--primary-color);color:#fff;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:opacity .15s}.ws-list-foot .ws-add-btn:hover{opacity:.9}.ws-detail{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.ws-placeholder{flex:1;display:flex;align-items:center;justify-content:center;padding:0 8px;color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center}.ws-detail-edit{flex:1;min-height:0;padding:12px 16px;display:flex;flex-direction:column}.ws-editor{flex:1;width:100%;min-width:0;padding:4px 2px;font-family:inherit;font-size:var(--font-size-md);line-height:1.75;color:var(--text-color);background-color:transparent;border:none;outline:none;resize:none;box-sizing:border-box;overflow-y:auto}.ws-editor::placeholder{color:var(--text-secondary);opacity:.7}.ws-edit-actions{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:10px;margin-top:8px;border-top:1px solid var(--border-color)}.ws-save-status{margin-right:auto;font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.ws-save-status.is-dirty{color:var(--ink-warn-text)}.ws-save-btn{padding:6px 14px;border:none;border-radius:4px;background-color:var(--primary-color);color:#fff;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:opacity .15s}.ws-save-btn:hover:not(:disabled){opacity:.9}.ws-save-btn:disabled{cursor:default;opacity:.45}@container xts-settings-panel (max-width: 420px){.ws-head{padding:0 12px}.ws-body{flex-direction:column}.ws-list{width:100%;flex:0 1 auto;max-height:42%;border-right:none;border-bottom:1px solid var(--border-color)}.ws-list-scroll{padding:6px 0}.ws-detail-edit{padding:12px}}@container xts-settings-panel (max-width: 300px){.ws-head{padding:0 10px;font-size:var(--font-size-md)}.ws-item{padding:7px 8px}.ws-list{max-height:50%}.ws-detail-edit{padding:10px}.ws-editor{padding:4px 0}}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit}.btn-small{padding:6px 12px;font-size:12px}.btn-medium{padding:8px 16px;font-size:14px}.btn-large{padding:10px 20px;font-size:16px}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(.btn-disabled){filter:brightness(1.1)}.btn-secondary{background-color:var(--hover-bg);color:var(--text-color)}.btn-secondary:hover:not(.btn-disabled){background-color:var(--border-color)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover:not(.btn-disabled){filter:brightness(1.1)}.btn-text{background-color:transparent;color:var(--text-color);padding:0}.btn-text:hover:not(.btn-disabled){color:var(--primary-color)}.btn-disabled{opacity:.5;cursor:not-allowed}.btn-loading{pointer-events:none}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input-wrapper{display:flex;flex-direction:column;gap:6px}.input-label{font-size:14px;font-weight:500;color:var(--text-color)}.input-container{position:relative;display:flex;align-items:center}.input{width:100%;padding:8px 12px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);font-size:14px;font-family:inherit;transition:all .2s}.input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.input:disabled{background-color:var(--hover-bg);cursor:not-allowed;opacity:.6}.input::placeholder{color:var(--text-secondary)}.input-with-icon{padding-left:36px}.input-icon{position:absolute;left:12px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px}.input-container.input-error .input{border-color:var(--danger-color)}.input-error-text{font-size:12px;color:var(--danger-color)}.input-hint{font-size:12px;color:var(--text-secondary)}.card{background-color:var(--card-bg);border-radius:var(--radius-md);padding:16px;transition:all .25s ease}.card-shadow-none{box-shadow:none}.card-shadow-small{box-shadow:var(--shadow-sm)}.card-shadow-medium{box-shadow:var(--shadow-md)}.card-shadow-large{box-shadow:var(--shadow-lg)}.card-hoverable{cursor:pointer}.card-hoverable:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.card-header{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.card-title{font-size:15px;font-weight:600;color:var(--text-color);margin:0 0 4px}.card-subtitle{font-size:13px;color:var(--text-secondary);margin:0}.card-body{color:var(--text-color)}.navbar{width:52px;min-width:52px;display:flex;flex-direction:column;align-items:center;background-color:var(--card-bg);border-right:1px solid var(--border-color);padding:10px 8px;box-sizing:border-box;overflow:visible;flex-shrink:0;z-index:50}.navbar-logo{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:12px;flex-shrink:0;border-radius:var(--radius-sm);color:var(--primary-color);font-size:18px;font-weight:700}.navbar-section{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.navbar-spacer{flex:1}.navbar-separator{width:28px;height:1px;background-color:var(--border-color);margin:6px 0;flex-shrink:0}.nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .2s,color .2s;flex-shrink:0;position:relative}.nav-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-color)}.nav-btn:active:not(:disabled){transform:scale(.92);transition:transform .1s}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.nav-btn--active{background-color:var(--primary-color-light);color:var(--primary-color)}.nav-btn--active:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;background-color:var(--primary-color);border-radius:0 2px 2px 0}.nav-btn-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.nav-btn:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%) translate(4px);padding:5px 10px;background-color:#2c2c2c;color:#faf8f5;font-size:11px;font-weight:500;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:2000;opacity:0;transform:translateY(-50%) translate(0);transition:opacity .15s ease,transform .15s ease}.nav-btn:hover:after{opacity:1;transform:translateY(-50%) translate(8px);transition-delay:.35s}html.dark-mode .nav-btn:after{background-color:#e8e4dc;color:#1a1a18}.nav-btn-badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 4px;background-color:var(--danger-color);color:#fff;font-size:11px;font-weight:600;border-radius:7px;display:flex;align-items:center;justify-content:center;pointer-events:none;line-height:1}
