/* Local collections share the existing white/gray surfaces and theme tokens. */
.collection-storage{display:flex;align-items:center;gap:14px;padding:16px 20px;margin-bottom:16px;border:1px solid var(--border);border-radius:14px;background:var(--bg-surface);box-shadow:var(--shadow-sm);min-width:0}.collection-storage-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--bg-inset);border-radius:10px;color:var(--accent);font-size:22px;flex:none}.collection-storage>div{min-width:0;flex:1}.collection-storage strong{font-size:12px}.collection-storage p{font-size:11px;color:var(--text-secondary);margin:5px 0 0;line-height:1.7;overflow-wrap:anywhere}.collection-storage-note{font-size:11px;color:var(--text-secondary);white-space:nowrap}.collection-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:18px 20px;margin-bottom:14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px}.collection-filters label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--text-secondary);min-width:110px;flex:1}.collection-filters .collection-search{flex:2.2;min-width:210px}.collection-filters input,.collection-filters select{width:100%;min-width:0;padding:10px 11px;font-size:12px;border-radius:8px}.collection-filters .text-button{padding:10px 0;white-space:nowrap}.collection-workspace{display:grid;grid-template-columns:minmax(230px,340px) minmax(0,1fr);align-items:start;gap:18px}.collection-list-panel,.collection-detail-panel{border:1px solid var(--border);border-radius:16px;background:var(--bg-surface);box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}.collection-list-heading{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--border-subtle)}.collection-list-heading h2{font-size:14px}.collection-list{padding:10px;max-height:calc(100vh - 265px);min-height:260px;overflow:auto;scrollbar-gutter:stable}.collection-item{display:block;width:100%;border:1px solid transparent;border-radius:11px;padding:14px 12px;margin:3px 0 7px;background:var(--bg-surface);text-align:left}.collection-item:hover{background:var(--bg-hover);border-color:var(--border)}.collection-item.active{background:var(--accent-soft);border-color:var(--accent)}.collection-item>strong{display:block;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.collection-item p{font-size:11px;line-height:1.75;color:var(--text-secondary);margin:7px 0 0;overflow-wrap:anywhere}.collection-item small{display:block;font-size:10px;color:var(--text-secondary);line-height:1.7;margin-top:9px}.collection-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.collection-tag{font-size:10px;padding:3px 7px;border-radius:5px;background:var(--bg-inset);color:var(--text-secondary);overflow-wrap:anywhere;max-width:100%}.collection-tag.review{color:var(--accent);background:var(--accent-soft);border:1px solid var(--border)}.collection-empty{text-align:center;padding:50px 22px;color:var(--text-secondary);line-height:1.8}.collection-empty>span{display:block;font-size:32px;color:var(--text-tertiary);margin-bottom:14px}.collection-empty h2{font-size:15px;color:var(--text-primary);margin:0 0 8px}.collection-empty p{font-size:12px;margin:0}.collection-detail-header{padding:22px;border-bottom:1px solid var(--border-subtle)}.collection-detail-header h2{font-size:18px;line-height:1.7;overflow-wrap:anywhere}.collection-detail-header p{font-size:11px;color:var(--text-secondary);line-height:1.8;overflow-wrap:anywhere;margin:8px 0 0}.collection-detail-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:17px}.collection-detail-actions .button{font-size:11px;padding:9px 12px}.collection-detail-actions .text-button{margin-left:auto}.collection-metadata{padding:17px 22px;border-bottom:1px solid var(--border-subtle)}.collection-metadata dl{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px 15px;margin:0;font-size:11px;line-height:1.8}.collection-metadata dt{color:var(--text-secondary)}.collection-metadata dd{margin:0;overflow-wrap:anywhere;color:var(--text-primary);white-space:pre-wrap}.collection-review-note{margin:14px 0;padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:var(--accent-soft);font-size:12px;color:var(--text-primary);line-height:1.85;overflow-wrap:anywhere}.collection-detail-header>.collection-review-note{margin-bottom:0}.collection-preview-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;font-size:12px}.collection-preview-header .fineprint{max-width:80%;margin:0}.collection-preview-canvas{background:var(--bg-inset);padding:18px;min-height:280px;max-height:70vh;overflow:auto}.collection-preview-paper{background:#fff;color:#111;box-shadow:0 2px 12px rgba(17,24,39,.07);padding:26px;line-height:1.7;overflow-wrap:anywhere;min-width:0}.collection-preview-paper p{white-space:pre-wrap;min-height:1em}.collection-preview-paper img{max-width:100%!important;height:auto!important;object-fit:fill;vertical-align:middle}.collection-preview-paper table{max-width:100%;width:auto;border-collapse:collapse}.collection-preview-paper td{border:1px solid #d1d5db;padding:5px;vertical-align:top}.collection-preview-paper math{font-size:1em}.collection-preview-paper .collection-unsupported{color:#8b6518;background:#fff4d7;border-radius:3px;padding:2px 4px;font-size:11px}.collection-preview-warnings{padding:14px 20px;border-top:1px solid var(--border-subtle)}.collection-preview-warnings p{font-size:11px;color:var(--text-secondary);line-height:1.8;margin:4px 0}.collection-editor{width:min(600px,calc(100vw - 28px));max-height:90vh;padding:0;overflow:auto}.collection-editor .dialog-body{padding:20px 26px}.collection-editor .dialog-header{display:flex;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid var(--border)}.collection-editor .dialog-header p{margin:7px 0 0;overflow-wrap:anywhere}.collection-editor .form-row{margin-top:20px}.collection-editor .field-label:first-child{margin-top:0}.collection-editor input,.collection-editor select,.collection-editor textarea{width:100%;min-width:0}.collection-import-issues{padding:13px 17px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);margin:12px 0 16px;font-size:12px}.collection-import-issues summary{cursor:pointer;color:var(--text-secondary)}.collection-import-issues p{line-height:1.8;font-size:11px;overflow-wrap:anywhere}.collection-editor .collection-review-note{margin-top:0}.collection-detail-panel[aria-busy=true]{opacity:.75}.collection-list-panel[aria-busy=true]{opacity:.75}
@media(max-width:1100px){.collection-workspace{grid-template-columns:minmax(200px,270px) minmax(0,1fr)}.collection-filters .collection-search{min-width:190px}.collection-preview-canvas{padding:12px}.collection-preview-paper{padding:20px}.collection-detail-header,.collection-metadata{padding:18px}}
@media(max-width:850px){.collection-workspace{grid-template-columns:minmax(0,1fr)}.collection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:420px;min-height:0;padding:10px;gap:8px}.collection-list .collection-empty{grid-column:1/-1}.collection-item{margin:0;height:100%}.collection-storage{align-items:flex-start;flex-wrap:wrap}.collection-storage-note{margin-left:52px}.collection-storage>.text-button{margin-left:52px}.collection-filters{padding:15px;gap:12px}.collection-filters label{flex-basis:calc(50% - 12px);min-width:0}.collection-filters .collection-search{flex-basis:100%;min-width:0}.collection-detail-header h2{font-size:17px}.collection-preview-canvas{max-height:65vh}.collection-editor .dialog-footer{flex-wrap:wrap}.collection-detail-actions .text-button{margin-left:0}}
@media(max-width:480px){.collection-view .page-heading{align-items:flex-start;flex-wrap:wrap}.collection-view .page-heading>.button{width:100%}.collection-list{grid-template-columns:1fr;max-height:360px}.collection-preview-paper{padding:15px}.collection-storage{padding:14px}.collection-preview-header{flex-direction:column;align-items:flex-start}.collection-preview-header .fineprint{max-width:100%}.collection-editor .form-row{grid-template-columns:1fr}.collection-editor .dialog-body,.collection-editor .dialog-header{padding:18px}.collection-metadata dl{grid-template-columns:60px minmax(0,1fr)}.collection-detail-actions .button{flex:1}.collection-detail-actions .text-button{flex-basis:100%;text-align:left}}
@media(prefers-reduced-motion:no-preference){.collection-item{transition:background-color .15s ease,border-color .15s ease}.collection-detail-panel{transition:opacity .15s ease}}
/* 按讲次整理、难度分布、跟进状态标签、命名规范提示 */
.collection-group-heading{grid-column:1/-1;margin:12px 4px 4px;padding:4px 8px;font-size:12px;font-weight:600;color:var(--text-secondary);border-left:3px solid var(--accent);background:var(--bg-inset);border-radius:0 6px 6px 0}
.collection-group-heading:first-child{margin-top:2px}
.collection-levels{display:flex;flex-wrap:wrap;gap:6px;padding:8px 18px 10px;border-bottom:1px solid var(--border-subtle)}
.collection-level{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--bg-inset);color:var(--text-secondary)}
.collection-level.easy{background:#DCFCE7;color:#166534}.collection-level.medium{background:#FEF3C7;color:#92400E}.collection-level.hard{background:#FEE2E2;color:#991B1B}
.collection-follow{margin-top:6px}
.collection-tag.follow-pending{background:#FEF3C7;color:#92400E}.collection-tag.follow-done{background:#DCFCE7;color:#166534}.collection-tag.follow-late{background:#FEE2E2;color:#991B1B}
.collection-naming{margin:14px 0 0;padding:12px 14px;border-radius:9px;font-size:12px;line-height:1.8;overflow-wrap:anywhere;border:1px solid var(--border)}
.collection-naming p{margin:2px 0}.collection-naming .fineprint{margin-top:6px}.collection-naming .text-button{padding:2px 0;margin:0}
.collection-naming.ok{background:#F0FDF4;border-color:#BBF7D0;color:#166534}
.collection-naming.warn{background:#FFFBEB;border-color:#FDE68A;color:#92400E}
:root[data-theme=dark] .collection-level.easy,:root[data-theme=dark] .collection-tag.follow-done{background:rgba(34,197,94,.16);color:#86EFAC}
:root[data-theme=dark] .collection-level.medium,:root[data-theme=dark] .collection-tag.follow-pending{background:rgba(245,158,11,.16);color:#FCD34D}
:root[data-theme=dark] .collection-level.hard,:root[data-theme=dark] .collection-tag.follow-late{background:rgba(239,68,68,.16);color:#FCA5A5}
:root[data-theme=dark] .collection-naming.ok{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.35);color:#86EFAC}
:root[data-theme=dark] .collection-naming.warn{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.35);color:#FCD34D}
