.caption-gallery-intro{margin-bottom:14px}
.caption-auto-generate{font-weight:600;min-height:42px;color:var(--neon);background:#29343c;border:1px solid #43d9ff66}
.caption-auto-note{margin-top:8px}
.caption-manual-options{margin-top:22px;padding:12px 0;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20}
.caption-manual-options summary{font-size:11px;color:#a5bdcd;cursor:pointer;line-height:1.5}
.caption-manual-options[open] summary{margin-bottom:12px}
.caption-style-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.caption-style-card{display:block;width:100%;padding:0;text-align:left;border-radius:12px;overflow:hidden;border:1px solid #ffffff20;background:#27313a;color:var(--ink)}
.caption-style-card:hover,.caption-style-card:focus-visible{background:#2c3943;border-color:#43d9ff70}
.caption-style-card.selected{border-color:var(--neon)}
.caption-style-screen{display:block;position:relative;background:#000}
.caption-style-screen canvas{display:block;width:100%;height:auto;aspect-ratio:36/11}
.caption-style-badge{display:flex;align-items:center;gap:3px;position:absolute;right:7px;bottom:5px;font-size:9px;padding:3px 5px;border-radius:5px;background:#252b30dd;color:#d0e2ec}
.caption-style-badge svg{width:10px;height:10px}
.caption-style-label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px}
.caption-style-label strong{font-size:11px;font-weight:600}
.caption-style-label>span{font-size:9px;color:#9cb4c4;white-space:nowrap}
.caption-style-card.selected .caption-style-label>span{color:var(--neon)}
.caption-generation-note{font-size:10px;line-height:1.6;color:#92aabc;margin-top:18px}
.caption-preview-dialog{padding:0;width:600px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);border-radius:18px;overflow:auto;border:1px solid #ffffff26;background:#252f38;color:var(--ink);box-shadow:0 18px 65px #0008}
.caption-preview-dialog::backdrop{background:#071018a8}
.caption-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px 16px}
.caption-preview-header h2{font-size:20px;margin-bottom:6px}
.caption-preview-header p{font-size:12px;line-height:1.5;color:#a5bdcd}
.caption-preview-header .icon-button{flex-shrink:0}
.caption-preview-screen{background:#000;margin:0 20px;border-radius:10px;overflow:hidden}
.caption-preview-screen canvas{display:block;width:100%;height:auto;aspect-ratio:16/9}
.caption-preview-controls{display:flex;gap:12px;align-items:center;padding:12px 20px}
.caption-preview-controls button{min-width:118px;font-size:11px;min-height:36px;padding:6px 9px;border:1px solid #ffffff20;border-radius:8px}
.caption-preview-controls button:hover{background:#34434e}
.caption-preview-controls input{min-width:40px;width:100%;flex:1;accent-color:var(--neon)}
.caption-preview-controls span{white-space:nowrap;font-size:10px;color:#a7c1d2;font-variant-numeric:tabular-nums}
.caption-preview-footer{padding:10px 22px 22px;border-top:1px solid #ffffff12}
.caption-preview-footer p{color:#a5bdcd;font-size:11px;line-height:1.6;margin-bottom:14px}
.caption-preview-footer button{width:100%;min-height:42px}
@media(max-width:800px){.caption-style-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.caption-style-label{display:block;padding:9px}.caption-style-label strong{display:block;font-size:11px}.caption-style-label>span{display:block;margin-top:5px}.caption-style-screen canvas{aspect-ratio:1.85;object-fit:contain;background:#000}.caption-preview-header{padding:18px 16px 14px}.caption-preview-header h2{font-size:18px}.caption-preview-screen{margin:0 12px}.caption-preview-controls{padding:10px 12px;gap:8px}.caption-preview-controls button{min-width:100px;font-size:10px}.caption-preview-controls span{font-size:9px}.caption-preview-footer{padding:10px 16px 18px}}
@media(max-width:350px){.caption-style-grid{grid-template-columns:minmax(0,1fr)}}
.caption-loading{text-align:center;padding:18px 4px 6px;max-width:390px;margin:auto}.caption-loading-ring{display:block;width:42px;height:42px;margin:0 auto 22px;border:3px solid #60dcff26;border-top-color:var(--neon);border-radius:50%;animation:caption-loading-spin 1s linear infinite}.caption-loading h2{font-size:21px}.caption-loading #autoCaptionStage{margin:16px 0 10px;line-height:1.6;min-height:48px;color:#b9d1df;font-size:13px}.caption-loading .detail-note{line-height:1.7;margin:0 0 24px}.caption-loading button{min-height:40px;padding:8px 24px}@keyframes caption-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.caption-loading-ring{animation:none}}
