.cap-editor[hidden],.cap-edit-list[hidden],.cap-edit-times[hidden],.cap-modal[hidden]{display:none!important}.cap-modal{position:fixed;inset:0;background:rgba(0,0,0,0.55);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:cap-modal-fade 0.15s ease-out}@keyframes cap-modal-fade{from{opacity:0}to{opacity:1}}.cap-modal-card{background:var(--vs-bg-panel);border:1px solid var(--vs-border);border-radius:0.75rem;padding:1.5rem;max-width:480px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,0.4);animation:cap-modal-in 0.18s ease-out}@keyframes cap-modal-in{from{transform:translateY(16px) scale(0.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.cap-modal-icon{width:44px;height:44px;border-radius:50%;background:rgba(220,38,38,0.12);color:#f87171;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:0.875rem}.cap-modal-title{margin:0 0 0.5rem;font-size:1.0625rem;font-weight:700;color:var(--vs-text)}.cap-modal-body{margin:0 0 1.25rem;color:var(--vs-text-dim);font-size:0.875rem;line-height:1.55}.cap-modal-cta{margin:0 0 1.25rem;padding:0.875rem 1rem;background:var(--vs-bg-tint);border:1px solid rgba(99,102,241,0.2);border-radius:0.5rem;font-size:0.8125rem;color:var(--vs-text-dim);line-height:1.5}.cap-modal-cta strong{display:block;margin-bottom:0.25rem;color:var(--vs-text);font-weight:600;font-size:0.875rem}.cap-modal-cta p{margin:0 0 0.625rem;color:var(--vs-text-soft)}.cap-modal-xlink{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 0.875rem;background:var(--vs-bg-panel);color:var(--vs-text);border:1px solid var(--vs-border-strong);border-radius:9999px;font-weight:600;font-size:0.8125rem;text-decoration:none;transition:background 0.12s,border-color 0.12s,transform 0.08s}.cap-modal-xlink:hover{background:var(--vs-bg-btn-hover);border-color:var(--vs-accent)}.cap-modal-xlink:active{transform:translateY(1px)}.cap-modal-xlink svg{flex-shrink:0}.cap-modal-actions{display:flex;justify-content:flex-end;gap:0.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cap-editor{display:flex;flex-direction:column;gap:1rem}.cap-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem}@media (max-width:960px){.cap-editor-grid{grid-template-columns:1fr}}.cap-left{display:flex;flex-direction:column;gap:0.75rem}.cap-preview{position:relative;background:#000;border-radius:0.75rem;overflow:hidden;aspect-ratio:16/9;width:100%}.cap-video{width:100%;height:100%;display:block;background:#000}.cap-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cap-transcript{display:flex;flex-direction:column;gap:0.5rem}.cap-transcript-head{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:var(--vs-text-soft);padding:0 0.125rem}.cap-transcript-title{font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.cap-transcript-hint{flex:1;color:var(--vs-text-muted);font-size:0.6875rem}.cap-edit-toggle{font-size:0.75rem;padding:0.3rem 0.7rem}.cap-edit-list{max-height:320px;overflow-y:auto;padding:0.5rem;background:var(--vs-bg-panel);border:1px solid var(--vs-border);border-radius:0.75rem;display:flex;flex-direction:column;gap:2px}.cap-edit-row{display:grid;grid-template-columns:26px minmax(0,1fr) 24px;grid-template-areas:"play word del"".    times .";column-gap:6px;row-gap:2px;align-items:center;padding:3px 4px;border-radius:0.375rem;transition:background 0.12s}.cap-edit-row:hover{background:rgba(99,102,241,0.06)}.cap-edit-row.active{background:rgba(99,102,241,0.15)}.cap-edit-play{grid-area:play;width:24px;height:24px;border:1px solid var(--vs-border-strong);background:var(--vs-bg-inset);color:var(--vs-accent);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.5rem;padding:0}.cap-edit-play:hover{background:var(--vs-bg-soft);color:var(--vs-text)}.cap-edit-row input[type="text"]{grid-area:word;background:var(--vs-bg-input);border:1px solid var(--vs-border-strong);border-radius:0.25rem;padding:3px 8px;color:var(--vs-text);font-size:0.8125rem;font-family:inherit;outline:none;min-width:0}.cap-edit-row input[type="text"]:focus{border-color:var(--vs-accent)}.cap-edit-row .cap-edit-del{grid-area:del;background:transparent;border:none;color:var(--vs-text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:2px 4px;border-radius:0.25rem}.cap-edit-row .cap-edit-del:hover{background:rgba(220,38,38,0.15);color:#f87171}.cap-edit-times{grid-area:times;display:none;align-items:center;gap:4px;padding-left:2px;font-size:0.6875rem;color:var(--vs-text-muted)}.cap-edit-row:hover .cap-edit-times,.cap-edit-row.active .cap-edit-times,.cap-edit-row:focus-within .cap-edit-times{display:flex}.cap-edit-time-label{text-transform:uppercase;font-size:0.5625rem;letter-spacing:0.05em;color:var(--vs-text-faint)}.cap-edit-row input[type="number"]{background:var(--vs-bg-input);border:1px solid var(--vs-border-strong);border-radius:0.25rem;padding:1px 4px;color:var(--vs-text);font-size:0.6875rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;outline:none;width:60px;-moz-appearance:textfield}.cap-edit-row input[type="number"]::-webkit-outer-spin-button,.cap-edit-row input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cap-edit-row input[type="number"]:focus{border-color:var(--vs-accent)}.cap-edit-insert{display:flex;justify-content:center;padding:2px 0}.cap-edit-insert button{background:transparent;border:1px dashed var(--vs-border-strong);color:var(--vs-text-muted);font-size:0.6875rem;padding:2px 8px;border-radius:9999px;cursor:pointer;font-family:inherit}.cap-edit-insert button:hover{color:var(--vs-accent);border-color:var(--vs-accent);background:var(--vs-bg-tint)}.cap-edit-append{margin-top:0.5rem;padding:0.5rem;border-top:1px dashed var(--vs-border-strong);text-align:center}.cap-edit-append button{background:var(--vs-bg-soft);border:1px solid var(--vs-accent);color:var(--vs-accent);font-size:0.75rem;font-weight:600;padding:0.375rem 0.875rem;border-radius:0.375rem;cursor:pointer;font-family:inherit}.cap-edit-append button:hover{background:var(--vs-bg-tint-hover);color:var(--vs-text)}.cap-strip{max-height:160px;overflow-y:auto;padding:0.75rem 0.875rem;background:var(--vs-bg-panel);border:1px solid var(--vs-border);border-radius:0.75rem;font-size:0.8125rem;line-height:1.75;color:var(--vs-text-dim)}.cap-strip:empty::before{content:"Transcript appears here…";color:var(--vs-text-muted);font-style:italic}.cap-word{display:inline-block;padding:1px 6px;margin:1px 2px;border-radius:0.25rem;cursor:pointer;transition:background 0.12s,color 0.12s}.cap-word:hover{background:var(--vs-bg-tint-hover);color:var(--vs-text)}.cap-word.active{background:var(--vs-accent-strong);color:#fff;font-weight:600}.cap-controls{background:var(--vs-bg-panel);border:1px solid var(--vs-border);border-radius:0.75rem;padding:1rem 1.125rem;height:max-content;position:sticky;top:88px;max-height:calc(100vh - 100px);overflow-y:auto}@media (max-width:960px){.cap-controls{position:static;max-height:none}}.cap-presets{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}.cap-preset{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.25rem;padding:0.75rem 0.5rem;background:var(--vs-bg-inset);border:1px solid var(--vs-border-strong);border-radius:0.5rem;cursor:pointer;font-family:inherit;color:var(--vs-text);transition:border-color 0.15s,background 0.15s;min-height:72px}.cap-preset:hover{border-color:var(--vs-accent)}.cap-preset.active{border-color:var(--vs-accent);background:linear-gradient(135deg,rgba(99,102,241,0.18),rgba(129,140,248,0.08))}.cap-preset-thumb{font-weight:800;font-size:0.875rem;letter-spacing:0.02em;text-align:center;line-height:1}.cap-preset-name{font-size:0.6875rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;color:var(--vs-text-soft)}.cap-select{width:100%;background:var(--vs-bg-input);border:1px solid var(--vs-border-strong);border-radius:0.375rem;padding:0.4rem 0.6rem;color:var(--vs-text);font-family:inherit;font-size:0.8125rem;cursor:pointer;outline:none}.cap-select:focus{border-color:var(--vs-accent)}.cap-range-head{display:flex;align-items:baseline;justify-content:space-between}.cap-range-val{font-size:0.75rem;font-weight:600;color:var(--vs-accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cap-range{-webkit-appearance:none;appearance:none;width:100%;height:4px;margin:0.5rem 0 0;border-radius:9999px;background:var(--vs-border-strong);outline:none;cursor:pointer}.cap-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--vs-accent);border:2px solid var(--vs-bg-panel);box-shadow:0 1px 3px rgba(0,0,0,0.35);cursor:pointer}.cap-range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--vs-accent);border:2px solid var(--vs-bg-panel);cursor:pointer}.cap-hint{margin:0.4rem 0 0;font-size:0.6875rem;line-height:1.4;color:var(--vs-text-muted)}.cap-radio-row{display:flex;gap:0.5rem;flex-wrap:wrap}.cap-radio-row label{display:inline-flex;align-items:center;gap:4px;font-size:0.75rem;color:var(--vs-text-dim);cursor:pointer}.cap-radio-row input{accent-color:var(--vs-accent)}.cap-seg-row{display:flex;gap:0;border:1px solid var(--vs-border-strong);border-radius:0.375rem;overflow:hidden;width:max-content}.cap-seg-row button{border:none;background:transparent;color:var(--vs-text-dim);padding:0.3rem 0.7rem;font-family:inherit;font-size:0.8125rem;cursor:pointer;border-right:1px solid var(--vs-border-strong)}.cap-seg-row button:last-child{border-right:none}.cap-seg-row button:hover{background:var(--vs-bg-tint-hover)}.cap-seg-row button.active{background:var(--vs-accent-strong);color:#fff;font-weight:600}.cap-swatch-row{display:flex;gap:0.375rem;flex-wrap:wrap}.cap-swatch-row button{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:border-color 0.1s}.cap-swatch-row button:hover{border-color:var(--vs-text-muted)}.cap-swatch-row button.active{border-color:var(--vs-text);box-shadow:0 0 0 2px var(--vs-bg-panel),0 0 0 3px var(--vs-accent)}.cap-swatch-custom{width:24px;height:24px;border-radius:50%;border:2px dashed var(--vs-border-strong);cursor:pointer;overflow:hidden;position:relative;display:inline-flex;align-items:center;justify-content:center}.cap-swatch-custom::after{content:"+";position:absolute;color:var(--vs-text-muted);font-size:0.9rem;line-height:1;pointer-events:none}.cap-swatch-custom.active{border-style:solid;border-color:var(--vs-text)}.cap-swatch-custom.active::after{content:none}.cap-swatch-custom input[type="color"]{width:200%;height:200%;border:none;padding:0;background:none;cursor:pointer;opacity:0}.cap-swatch-custom.active input[type="color"]{opacity:1}.cap-swatch-custom input[type="color"]::-webkit-color-swatch-wrapper{padding:0}.cap-swatch-custom input[type="color"]::-webkit-color-swatch{border:none}.cap-actions{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;background:var(--vs-bg-panel);border:1px solid var(--vs-border);border-radius:0.75rem}.cap-loading-meta{margin-bottom:0.5rem;font-size:0.8125rem;color:var(--vs-text-soft)}.cap-loading-filename{font-weight:600;color:var(--vs-text)}.cap-progress-host{margin-top:0.25rem}.cap-progress-host .aipb-text{color:var(--vs-text-dim)}.cap-progress-host .aipb-bar{background:var(--vs-progress-track)}.cap-export-meta{margin-top:0.5rem;font-size:0.75rem;color:var(--vs-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cap-export-actions{margin-top:0.75rem;display:flex;justify-content:flex-end}@media (max-width:640px){.cap-preview{aspect-ratio:auto;max-height:55vh}.cap-controls{padding:0.75rem}.cap-presets{grid-template-columns:1fr 1fr}.cap-actions{flex-wrap:wrap}.cap-swatch-row button,.cap-swatch-custom{width:36px;height:36px}.cap-seg-row button{padding:0.5rem 1rem;font-size:0.875rem}.cap-radio-row label{min-height:36px}.cap-select{padding:0.55rem 0.6rem;font-size:0.9375rem}.cap-range{height:6px}.cap-range::-webkit-slider-thumb{width:22px;height:22px}.cap-range::-moz-range-thumb{width:22px;height:22px}}