.caption-library{margin:16px 0;padding:20px;border:1px solid var(--card-border,#263347);border-radius:18px;background:var(--card-bg,#101a2a);color:var(--text-main,#f1f5f9)}
.caption-library p{font-size:12px;line-height:1.6;margin:10px 0;color:var(--text-muted,#94a3b8)}
.caption-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.caption-heading h3{margin:5px 0 0;font-size:17px}.caption-eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--text-muted,#94a3b8);font-weight:700}.caption-count{padding:6px 10px;border-radius:20px;background:var(--surface-input,#0b1222);font-size:11px;white-space:nowrap}
.caption-upload{position:relative;display:flex;align-items:center;gap:12px;padding:17px 12px;border:1px dashed var(--primary,#3b82f6);border-radius:12px;cursor:pointer;background:color-mix(in srgb,var(--primary,#3b82f6) 6%,transparent)}.caption-upload:focus-within{outline:2px solid var(--primary,#3b82f6);outline-offset:3px}.caption-upload input{position:absolute;width:1px;height:1px;opacity:0}.caption-upload strong{font-size:13px}.caption-upload small,.caption-mode small{display:block;margin-top:5px;font-size:11px;color:var(--text-muted,#94a3b8)}.caption-upload-icon{font-size:24px;color:var(--primary,#3b82f6)}.caption-upload-button{margin-left:auto;background:var(--primary,#2563eb);color:#fff;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:600;white-space:nowrap}
.caption-library .caption-format{font-size:11px}#captionFileStatus{overflow-wrap:anywhere}#captionFileStatus[role=alert]{color:var(--danger,#ef4444)}.caption-mode{display:flex;gap:10px;align-items:center;padding:13px 0;margin:10px 0;border-top:1px solid var(--card-border,#263347);border-bottom:1px solid var(--card-border,#263347);cursor:pointer}.caption-mode strong{font-size:13px}
.caption-list-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:18px 0 10px}.caption-list-heading span{color:var(--text-muted,#94a3b8);font-size:11px}.caption-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.caption-actions button{cursor:pointer;padding:7px 9px;border-radius:7px;border:1px solid var(--card-border,#334155);background:var(--surface-input,#0b1222);color:inherit;font-size:11px}.caption-actions button:hover{border-color:var(--primary,#3b82f6)}#captionClear{margin-left:auto;color:var(--text-muted,#94a3b8)}
.caption-script-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.caption-script-controls label{display:flex;gap:8px;align-items:center;font-size:11px}.caption-library input[type=checkbox]{appearance:auto;accent-color:var(--primary,#2563eb);width:16px;height:16px;flex-shrink:0;cursor:pointer}.caption-order{appearance:auto;width:64px;padding:6px;border-radius:6px;border:1px solid var(--card-border,#334155);background:var(--surface-input,#0b1222);color:inherit}.caption-order::-webkit-inner-spin-button{opacity:1}
#captionPreviewList{max-height:440px;overflow:auto;overscroll-behavior:contain;padding:2px;scrollbar-width:thin}.caption-script-card{padding:12px;margin-bottom:10px;border:1px solid var(--card-border,#334155);border-radius:10px;background:var(--surface-input,#0b1222)}.caption-script-card.is-selected{border-color:var(--primary,#3b82f6);background:color-mix(in srgb,var(--primary,#3b82f6) 6%,var(--surface-input,#0b1222))}.caption-script-text{margin-top:10px;padding-top:10px;border-top:1px solid var(--card-border,#263347);white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto;line-height:1.65;font-size:12px}.caption-empty{text-align:center;padding:24px 16px;font-size:12px;line-height:1.6;color:var(--text-muted,#94a3b8)}.caption-library .caption-sequence{overflow-wrap:anywhere;background:var(--surface-input,#0b1222);padding:10px 12px;border-radius:8px;max-height:90px;overflow:auto}.caption-help{font-size:11px;color:var(--text-muted,#94a3b8)}.caption-help summary{cursor:pointer;padding:5px 0}.caption-help p{font-size:11px}
@media(max-width:400px){.caption-library{padding:14px}.caption-upload{flex-wrap:wrap}.caption-upload-button{padding:8px}.caption-script-controls{gap:6px}}

/* v23: compact header and virtual list. Row geometry matches ROW_HEIGHT in JS. */
.caption-heading .caption-mode{margin:0;padding:8px 10px;border:1px solid var(--card-border,#263347);border-radius:10px;max-width:235px;flex-shrink:0;gap:8px}.caption-heading .caption-mode strong{font-size:12px}.caption-heading .caption-mode small{font-size:10px;line-height:1.4;max-width:170px}
#captionPreviewList{max-height:540px;padding:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overflow-anchor:none;outline-offset:3px}
#captionPreviewList .caption-script-card{box-sizing:border-box;height:170px;margin:0 4px 10px 0;overflow:hidden}
#captionPreviewList .caption-script-controls{flex-wrap:nowrap;height:30px}#captionPreviewList .caption-script-controls label{min-width:0}#captionPreviewList .caption-script-controls label:last-child{flex-shrink:0}
#captionPreviewList .caption-script-text{box-sizing:border-box;height:102px;max-height:102px;margin-top:8px;padding-top:8px}
.caption-library .caption-scroll-hint{font-size:11px;text-align:center;margin:6px 0}.caption-scroll-hint[hidden]{display:none}
@media(max-width:440px){.caption-heading{gap:6px}.caption-heading h3{font-size:15px}.caption-heading .caption-mode{max-width:165px;padding:7px}.caption-heading .caption-mode small{display:none}.caption-heading .caption-mode strong{font-size:11px}.caption-script-controls label{font-size:10px}.caption-order{width:52px}.caption-list-heading{gap:8px}}

.media-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:12px 0;font-size:12px}.media-tools label{display:flex;align-items:center;gap:8px}.media-tools input{accent-color:var(--primary,#2563eb)}.media-tools button{padding:8px 12px}.posting-settings-card{grid-column:2;align-self:start}.group-selector-card{align-self:start}@media(max-width:1000px){.posting-settings-card{grid-column:auto}}

.posting-right-column{display:flex;flex-direction:column;gap:24px;min-width:0}.posting-right-column .posting-settings-card{min-width:0}
.posting-settings-card{width:100%;box-sizing:border-box;overflow-wrap:anywhere}.posting-settings-card .settings-grid,.posting-settings-card .token-badges-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.posting-settings-card .setting-card,.posting-settings-card .token-card-box,.posting-settings-card .num-input{min-width:0}.posting-settings-card .num-input{width:100%}.posting-settings-card .num-btn{flex-shrink:0}.posting-settings-card .composer-antidetect-banner{flex-wrap:wrap;gap:10px}.posting-settings-card .composer-antidetect-info{min-width:0;flex:1 1 220px}.posting-settings-card .token-badge{min-width:0}.posting-settings-card .token-badge span{overflow-wrap:anywhere;min-width:0}
.btn-color-mode{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--card-border,#334155);border-radius:9px;background:var(--surface-input,#0b1222);color:var(--text-main,#e2e8f0);font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-color-mode:focus-visible{outline:2px solid var(--primary,#2563eb);outline-offset:3px}.color-mode-track{width:36px;height:20px;position:relative;border-radius:20px;background:#334155;display:inline-block}.color-mode-thumb{position:absolute;left:2px;top:2px;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#f8fafc;color:#1e293b;font-size:12px;transition:transform .2s}.btn-color-mode[aria-pressed=true] .color-mode-track{background:#2563eb}.btn-color-mode[aria-pressed=true] .color-mode-thumb{transform:translateX(16px)}@media(max-width:700px){.btn-color-mode [data-mode-label]{display:none}}@media(prefers-reduced-motion:reduce){.color-mode-thumb{transition:none}}
