.tc-library{margin:0 0 30px;padding:0 0 24px;background:#fff;color:#1e293b;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;box-shadow:none;font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
.tc-library[hidden]{display:none}
.tc-heading,.tc-controls,.tc-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tc-heading{justify-content:space-between;margin-bottom:12px}.tc-heading h3{margin:0;font-size:19px}.tc-heading small,.tc-meta{color:#64748b;font-size:12px}
.tc-library button,.tc-library a.tc-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 12px;background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#1d4ed8;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.tc-library button:hover,.tc-library a.tc-button:hover{background:#eff6ff;border-color:#2563eb}.tc-library button:disabled{opacity:.5;cursor:wait}
.tc-library input[type=file]{max-width:100%;font:inherit}.tc-status{min-height:24px;margin:8px 0;color:#475569}.tc-status.error{color:#b91c1c}
.tc-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:center;padding:14px 0;border-bottom:1px solid #edf2f7}.tc-row:last-child{border-bottom:0}.tc-row strong{overflow-wrap:anywhere}.tc-actions{justify-content:flex-end}.tc-meta{overflow-wrap:anywhere}
.tc-folder{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #edf2f7}.tc-folder span{flex:1;min-width:160px;overflow-wrap:anywhere}.tc-folder button{min-height:30px;padding:3px 9px;font-size:12px}
.tc-library progress{width:100%;height:8px;accent-color:#2563eb}.tc-library progress[hidden]{display:none}
.tc-dialog{margin:auto;padding:24px;width:min(560px,calc(100vw - 24px));max-height:85vh;overflow:auto;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#1e293b}.tc-dialog::backdrop{background:rgba(255,255,255,.8);backdrop-filter:blur(3px)}.tc-dialog h3{margin:0 0 12px;overflow-wrap:anywhere}.tc-dialog label{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e2e8f0}.tc-dialog input{accent-color:#2563eb}.tc-dialog footer{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
@media(max-width:640px){.tc-row{grid-template-columns:1fr}.tc-actions{justify-content:flex-start}.tc-heading{align-items:flex-start}.tc-dialog{padding:16px}}
