/* CaptionPro Studio 2.0 — design system + layout */
:root{
  --bg:#f5f6fb;
  --bg-2:#eef0f8;
  --surface:#ffffff;
  --surface-2:#f8f9fd;
  --surface-3:#f1f3fa;
  --ink:#14162b;
  --ink-2:#33374e;
  --muted:#666c82;
  --muted-2:#8b90a3;
  --line:#e6e8f1;
  --line-2:#d8dce8;
  --accent:#5b4ff0;
  --accent-2:#4a3ed8;
  --accent-soft:#efedff;
  --accent-soft-2:#ddd8ff;
  --green:#0d7a55;
  --green-soft:#e8f7f0;
  --red:#c2414c;
  --red-soft:#fdf0f1;
  --amber:#946000;
  --amber-soft:#fff4e2;
  --stage:#0c0d17;
  --stage-2:#181a2b;
  --shadow-sm:0 1px 2px rgba(18,22,52,.05);
  --shadow-md:0 10px 30px rgba(18,22,52,.06);
  --shadow-lg:0 30px 70px rgba(18,22,52,.10);
  --r-sm:9px;
  --r-md:12px;
  --r-lg:18px;
  --r-xl:26px;
  --font-display:"Manrope",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"DM Sans",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --topbar-h:72px;
  --ease:cubic-bezier(.2,.7,.3,1);
  --cap-text:#ffffff;
  --cap-bg:rgba(0,0,0,.78);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  font:400 15px/1.5 var(--font-body);
  background:
    radial-gradient(900px 440px at 8% -10%,rgba(91,79,240,.075),transparent 62%),
    radial-gradient(720px 400px at 102% -2%,rgba(0,196,170,.045),transparent 58%),
    var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
img,video,svg{display:block}
h1,h2,h3,p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:rgba(91,79,240,.18)}
:focus-visible{outline:3px solid rgba(91,79,240,.38);outline-offset:2px;border-radius:6px}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:18px;height:18px;flex:none}

.skip-link{
  position:fixed;left:16px;top:12px;z-index:200;
  padding:9px 14px;border-radius:9px;background:var(--ink);color:#fff;
  font-size:12.5px;font-weight:700;text-decoration:none;
  transform:translateY(-160%);transition:transform .18s var(--ease);
}
.skip-link:focus{transform:translateY(0)}

/* ---------- Top bar ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  height:var(--topbar-h);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;
  padding:0 clamp(14px,4vw,40px);
  background:rgba(255,255,255,.86);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
}
.brand{
  display:flex;align-items:center;gap:10px;justify-self:start;
  color:var(--ink);text-decoration:none;
  font:800 17px/1 var(--font-display);letter-spacing:-.045em;
}
.brand-mark{
  width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(145deg,#7a6dff,#4f43dc);
  box-shadow:0 8px 18px rgba(91,79,240,.28);
}
.brand-mark .icon{width:20px;height:20px}
.brand-name span{color:var(--muted-2);font-weight:600;letter-spacing:-.02em}

.workflow{display:flex;align-items:center;gap:10px;justify-self:center}
.workflow-step{display:flex;align-items:center;gap:8px;color:var(--muted-2);font-size:12px;font-weight:600;white-space:nowrap}
.workflow-num{
  width:25px;height:25px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line-2);background:var(--surface);
  font-size:12px;font-weight:700;color:var(--muted-2);
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.workflow-line{width:clamp(18px,4vw,58px);height:1px;background:var(--line-2)}
.workflow-step.is-active{color:var(--ink)}
.workflow-step.is-active .workflow-num{
  background:var(--accent);border-color:var(--accent);color:#fff;
  box-shadow:0 4px 10px rgba(91,79,240,.24);
}
.workflow-step.is-done{color:var(--muted)}
.workflow-step.is-done .workflow-num{background:var(--accent-soft);border-color:var(--accent-soft-2);color:var(--accent)}
.workflow-step.is-active .workflow-num{background:var(--accent);border-color:var(--accent);color:#fff}

.topbar-actions{display:flex;align-items:center;gap:12px;justify-self:end}
.secure-note{display:flex;align-items:center;gap:7px;color:var(--muted-2);font-size:12px;white-space:nowrap}
.secure-dot{width:6px;height:6px;border-radius:50%;background:#3cb98c;box-shadow:0 0 0 4px #e7f8f1}

/* ---------- Shared controls ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:40px;padding:0 15px;border:1px solid transparent;border-radius:10px;
  font-size:12.5px;font-weight:700;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;
  transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease);
}
.btn .icon{width:16px;height:16px}
.btn-primary{background:linear-gradient(135deg,#6f63fa,#4f43dd);color:#fff;box-shadow:0 8px 18px rgba(91,79,240,.22)}
.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 24px rgba(91,79,240,.28)}
.btn-secondary{background:#fff;border-color:var(--line-2);color:var(--ink-2);box-shadow:var(--shadow-sm)}
.btn-secondary:hover:not(:disabled){border-color:var(--accent-soft-2);background:#fbfaff;color:var(--accent)}
.btn-ghost{background:transparent;color:var(--muted)}
.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}
.btn-danger{background:var(--red);color:#fff}
.btn-danger:hover:not(:disabled){background:#ad3540}
.btn-sm{height:32px;padding:0 11px;font-size:12px;border-radius:8px}
.btn-block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}
.link-btn{
  border:0;background:none;padding:0;color:var(--accent);
  font-size:12px;font-weight:700;text-underline-offset:2px;
}
.link-btn:hover{text-decoration:underline}
.icon-btn{
  width:34px;height:34px;flex:none;display:grid;place-items:center;
  border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);
  transition:background .15s var(--ease),color .15s var(--ease);
}
.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}
.icon-btn:disabled{opacity:.4;cursor:not-allowed}
.play-btn{
  width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;
  box-shadow:0 6px 14px rgba(91,79,240,.24);
}
.play-btn:hover:not(:disabled){background:var(--accent-2);color:#fff}
.play-btn .icon{width:16px;height:16px}
.icon-btn .icon{width:17px;height:17px}
.tool-icon .icon{width:16px;height:16px}
.field-error{min-height:0;margin:0;color:var(--red);font-size:12px;line-height:1.5}
.field-error:not(:empty){margin-top:10px}
.field-hint{margin:12px 0 0;color:var(--muted-2);font-size:12px;line-height:1.55}
.language-hint{margin:0}
.language-note{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 9px;border:1px solid var(--accent-soft-2);border-radius:8px;background:var(--accent-soft);color:var(--ink-2);font-size:12px;line-height:1.45}
.language-note .link-btn{font-size:12px;white-space:nowrap}
.language-dirty{margin:0;color:var(--amber)}
.field-note{font-size:12px;color:var(--muted-2);font-weight:500}
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}

/* ---------- Landing ---------- */
.shell{
  width:100%;max-width:1480px;margin:0 auto;
  padding:clamp(20px,3vw,38px) clamp(16px,4vw,44px) 64px;
}
.landing{
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr);
  gap:clamp(34px,6vw,96px);align-items:center;
  max-width:1280px;margin:0 auto;
  padding:clamp(18px,5vh,64px) 0 20px;
  animation:landing-in .45s var(--ease) both;
}
@keyframes landing-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.eyebrow{
  display:flex;align-items:center;gap:8px;
  color:var(--accent);font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(91,79,240,.1)}
.landing h1{
  margin:16px 0 18px;max-width:13ch;
  font:800 clamp(42px,5.2vw,74px)/.98 var(--font-display);
  letter-spacing:-.055em;
}
.text-accent{
  color:var(--accent);
  background:linear-gradient(118deg,#5b4ff0 10%,#8d5cf6 90%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.lede{max-width:50ch;color:var(--muted);font-size:16px;line-height:1.65}
.feature-list{display:grid;gap:13px;margin-top:30px;max-width:430px}
.feature-list li{display:flex;align-items:flex-start;gap:12px}
.feature-icon{
  width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;
  background:var(--surface);border:1px solid var(--line);color:var(--accent);
  box-shadow:var(--shadow-sm);
}
.feature-icon .icon{width:17px;height:17px}
.feature-copy{display:grid;gap:1px;padding-top:1px}
.feature-copy strong{font-size:13px;font-weight:700;color:var(--ink-2)}
.feature-copy span{font-size:12px;color:var(--muted)}
.landing-stats{
  display:flex;flex-wrap:wrap;gap:18px 26px;margin-top:34px;padding-top:18px;
  border-top:1px solid var(--line);max-width:430px;
  color:var(--muted);font-size:12px;
}
.landing-stats strong{color:var(--ink);font-weight:700;margin-right:3px}

.upload-panel{width:100%;max-width:520px;justify-self:end;min-width:0}
.landing-copy{min-width:0}
.upload-card{
  position:relative;overflow:hidden;
  padding:clamp(20px,3vw,28px);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);
  box-shadow:var(--shadow-lg);
}
.upload-card::before{
  content:"";position:absolute;inset:-40% -20% auto auto;width:300px;height:300px;
  background:radial-gradient(circle,rgba(91,79,240,.1),transparent 65%);
  pointer-events:none;
}
.upload-head{position:relative;display:flex;align-items:center;gap:13px;margin-bottom:20px}
.upload-icon{
  width:50px;height:50px;flex:none;border-radius:15px;display:grid;place-items:center;
  color:var(--accent);background:linear-gradient(145deg,#f1efff,#e7e4ff);
  box-shadow:inset 0 0 0 1px rgba(91,79,240,.08);
}
.upload-icon .icon{width:23px;height:23px}
.upload-copy h2{font:800 20px/1.2 var(--font-display);letter-spacing:-.035em;margin-bottom:3px}
.upload-copy p{font-size:12px;color:var(--muted);line-height:1.5}

.dropzone{
  position:relative;display:grid;place-items:center;width:100%;min-height:248px;
  padding:30px 20px;text-align:center;cursor:pointer;
  border:1.5px dashed var(--line-2);border-radius:18px;
  background:linear-gradient(180deg,#fbfbff,#f7f7fe);
  transition:border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);
}
.dropzone:hover,.dropzone.is-over{
  border-color:var(--accent);background:#f4f2ff;transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(91,79,240,.08);
}
.dropzone.is-over{background:#eeebff}
.dropzone-visual{display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}
.dropzone-icon{
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;margin-bottom:11px;
  background:#fff;border:1px solid var(--line);color:var(--accent);
  box-shadow:0 4px 12px rgba(91,79,240,.1);
}
.dropzone-icon .icon{width:21px;height:21px}
.dropzone strong{font-size:15px;font-weight:700;color:var(--ink-2)}
.dropzone-sub{font-size:12.5px;color:var(--muted)}
.browse-link{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.dropzone-note{margin-top:12px;font-size:12px;color:var(--muted-2)}
.dropzone:focus-visible{outline:3px solid rgba(91,79,240,.38);outline-offset:3px}
.upload-trust{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;
  margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  color:var(--muted-2);font-size:12px;
}
.upload-trust span{display:flex;align-items:center;gap:5px}
.upload-trust .icon{width:13px;height:13px;color:var(--muted-2)}
.upload-footnote{margin:14px 2px 0;color:var(--muted-2);font-size:12px;line-height:1.5;text-align:center}

/* ---------- Studio layout ---------- */
.studio{
  display:grid;grid-template-columns:minmax(0,1fr) 384px;
  grid-template-areas:"stage inspector" "transcript inspector";
  gap:20px;align-items:start;
  animation:studio-in .3s var(--ease) both;
}
@keyframes studio-in{from{opacity:0}to{opacity:1}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}
.stage-card{grid-area:stage;padding:14px}
.transcript-card{grid-area:transcript;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.inspector{
  grid-area:inspector;display:flex;flex-direction:column;overflow:hidden;
  position:sticky;top:calc(var(--topbar-h) + 16px);
  max-height:calc(100vh - var(--topbar-h) - 32px);
}

/* Stage */
.stage-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 4px 13px}
.file-chip{display:flex;align-items:center;gap:9px;min-width:0}
.file-chip-icon{
  width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;
  background:var(--accent-soft);color:var(--accent);
}
.file-chip-icon .icon{width:16px;height:16px}
.file-chip-copy{display:grid;gap:1px;min-width:0}
.file-chip-copy strong{
  font-size:12px;font-weight:700;color:var(--ink-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(46vw,420px);
}
.file-chip-copy span{font-size:12px;color:var(--muted-2)}
.stage-head-actions{display:flex;align-items:center;gap:8px;flex:none}
.segmented{display:flex;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px}
.segmented button{
  border:0;background:transparent;border-radius:6px;padding:5px 9px;
  color:var(--muted);font-size:12px;font-weight:700;
  transition:background .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease);
}
.segmented button.is-active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}

.stage{
  position:relative;display:grid;place-items:center;overflow:hidden;
  width:100%;aspect-ratio:16/9;max-height:min(60vh,610px);
  border-radius:14px;background:radial-gradient(ellipse at center,#24263c,#10111c 72%);
  container-type:inline-size;
}
.stage video{display:none;width:100%;height:100%;object-fit:contain;background:#05060b}
.stage.has-video video{display:block}
.stage-empty{position:absolute;inset:0;display:grid;place-content:center;gap:10px;text-align:center;color:rgba(255,255,255,.55);font-size:12px}
.stage-empty-icon{
  width:54px;height:54px;margin:0 auto;border-radius:16px;display:grid;place-items:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);
}
.stage-empty-icon .icon{width:24px;height:24px;opacity:.8}
.stage.has-video .stage-empty{display:none}
.stage-tag{
  position:absolute;top:12px;left:12px;z-index:3;
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 8px;border-radius:7px;background:rgba(10,12,22,.66);
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;
  backdrop-filter:blur(8px);
}
.stage-tag::before{content:"";width:5px;height:5px;border-radius:50%;background:#6ee7b7}

.caption-layer{
  position:absolute;left:50%;bottom:9%;z-index:2;
  width:min(86%,960px);display:flex;justify-content:center;
  transform:translateX(-50%);opacity:0;pointer-events:none;
  transition:opacity .14s var(--ease);
}
.caption-layer.is-visible{opacity:1}
.caption-chip{
  display:inline-block;max-width:100%;
  padding:.28em .55em;border-radius:.28em;
  color:var(--cap-text);
  font-family:var(--font-display);font-weight:800;font-size:calc(clamp(15px,3.3cqw,34px) * var(--cap-scale,1));
  line-height:1.2;letter-spacing:-.01em;text-align:center;
  overflow-wrap:anywhere;text-shadow:0 2px 6px rgba(0,0,0,.85);
  transition:font-size .12s var(--ease);
}

/* 12 caption styles (shared by stage overlay + mini previews) */
.cap--standard{text-shadow:0 2px 6px rgba(0,0,0,.85)}
.cap--basic{background:var(--cap-bg);border-radius:.28em;text-shadow:none}
.cap--blast{font-style:italic;text-transform:uppercase;text-shadow:3px 3px 0 #6a4cff,0 0 14px rgba(106,76,255,.7)}
.cap--blocks{background:#22c3c3;color:#fff;border-radius:.14em;box-shadow:4px 4px 0 #0a7f7f;text-shadow:none}
.cap--loud{background:#7ff0c1;color:#000;text-transform:uppercase;font-weight:900;border-radius:.12em;text-shadow:none}
.cap--modern{background:#e8782a;color:#fff;border-radius:.28em;font-weight:700;text-shadow:none}
.cap--outline{color:#fff;-webkit-text-stroke:1.5px #000;paint-order:stroke fill;text-shadow:0 3px 0 #000}
.cap--ribbon{background:#e8f2ff;color:#1b2a4a;font-weight:600;border-radius:0;text-shadow:none}
.cap--rapid{color:#fff;font-weight:900;letter-spacing:-.02em;text-shadow:0 0 10px #000,0 2px 0 #000}
.cap--slant{background:#6a2fd6;color:#fff;transform:rotate(-4deg);border-radius:.28em;text-shadow:none}
.cap--stripe{background:#1d5bff;color:#fff;border-radius:0;text-shadow:none}
.cap--bright{color:#ffe14d;text-shadow:0 2px 0 rgba(0,0,0,.7),0 0 12px rgba(0,0,0,.7)}
.caption-chip.is-custom{
  color:var(--cap-text);background:var(--cap-bg);border-radius:.28em;
  text-shadow:none;-webkit-text-stroke:0;box-shadow:none;
  font-style:normal;text-transform:none;transform:none;
}

/* Transport */
.transport{display:flex;align-items:center;gap:7px;padding:12px 4px 2px}
.timecode{
  min-width:92px;text-align:center;white-space:nowrap;
  font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted);
}
.timeline{flex:1;min-width:70px;display:flex;flex-direction:column;gap:5px}
.cue-track{
  position:relative;height:16px;border-radius:5px;overflow:hidden;
  background:var(--surface-2);border:1px solid var(--line);cursor:pointer;
}
.cue-blocks{position:absolute;inset:0}
.cue-block{position:absolute;top:4px;bottom:4px;min-width:2px;border-radius:2px;background:rgba(91,79,240,.2)}
.cue-block.is-active{background:var(--accent)}
.cue-playhead{position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--accent);box-shadow:0 0 0 1px rgba(91,79,240,.2);pointer-events:none}
.scrubber{
  -webkit-appearance:none;appearance:none;width:100%;height:16px;margin:0;
  background:transparent;cursor:pointer;
}
.scrubber::-webkit-slider-runnable-track{
  height:4px;border-radius:99px;
  background:linear-gradient(to right,var(--accent) 0 var(--fill,0%),var(--line-2) var(--fill,0%) 100%);
}
.scrubber::-webkit-slider-thumb{
  -webkit-appearance:none;width:13px;height:13px;margin-top:-4.5px;border-radius:50%;
  background:#fff;border:3px solid var(--accent);box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.scrubber::-moz-range-track{height:4px;border-radius:99px;background:var(--line-2)}
.scrubber::-moz-range-progress{height:4px;border-radius:99px;background:var(--accent)}
.scrubber::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#fff;border:3px solid var(--accent)}
.speed-btn{
  height:28px;min-width:38px;padding:0 7px;border:1px solid var(--line);border-radius:7px;
  background:#fff;color:var(--muted);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;
}
.speed-btn:hover{color:var(--accent);border-color:var(--accent-soft-2)}
.stage-card:fullscreen{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:0;background:#080912;border:0;border-radius:0}
.stage-card:fullscreen .stage-head{display:none}
.stage-card:fullscreen .stage{max-height:none;aspect-ratio:auto;flex:1;border-radius:0}
.stage-card:fullscreen .transport{padding:10px 18px 16px}

/* ---------- Inspector ---------- */
.inspector-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 20px 14px;border-bottom:1px solid var(--line);
}
.inspector-heading h2{font:800 17px/1.2 var(--font-display);letter-spacing:-.03em;margin-bottom:3px}
.inspector-heading p{font-size:12px;line-height:1.5;color:var(--muted)}
.status-chip{
  display:inline-flex;align-items:center;gap:5px;flex:none;
  padding:5px 8px;border-radius:99px;border:1px solid var(--line);
  background:var(--surface-2);color:var(--muted);
  font-size:12px;font-weight:700;white-space:nowrap;
}
.status-chip i{width:5px;height:5px;border-radius:50%;background:currentColor}
.status-chip[data-tone="green"]{background:var(--green-soft);color:var(--green);border-color:#cdece0}
.status-chip[data-tone="amber"]{background:var(--amber-soft);color:var(--amber);border-color:#f2e0c2}
.status-chip[data-tone="red"]{background:var(--red-soft);color:var(--red);border-color:#f5d7da}

.activity{
  margin:14px 20px 0;padding:12px 13px;
  border:1px solid #e2ddff;border-radius:12px;background:#f8f7ff;
}
.activity-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.activity-top strong{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-2)}
.activity-top strong::before{
  content:"";width:11px;height:11px;border-radius:50%;
  border:2px solid var(--accent-soft-2);border-top-color:var(--accent);
  animation:spin .8s linear infinite;
}
.activity-top span{font-size:12px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
@keyframes spin{to{transform:rotate(360deg)}}
.progress{height:6px;border-radius:99px;background:#e6e2fb;overflow:hidden}
.progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c70ff,#5449df);transition:width .25s var(--ease)}
.activity-msg{margin:8px 0 10px;font-size:12px;line-height:1.45;color:var(--muted)}
.activity .btn{width:100%;background:#fff}

.callout{
  display:flex;gap:10px;margin:14px 20px 0;padding:12px;
  border:1px solid var(--line);border-radius:12px;background:var(--surface-2);
}
.callout-danger{border-color:#f2d3d6;background:var(--red-soft)}
.callout-icon{color:var(--red);flex:none;padding-top:1px}
.callout-icon .icon{width:16px;height:16px}
.callout-copy{flex:1;min-width:0}
.callout-copy strong{display:block;font-size:12px;color:var(--ink-2);margin-bottom:2px}
.callout-copy p{font-size:12px;line-height:1.5;color:var(--muted)}
.callout-actions{display:flex;flex-direction:column;gap:6px;flex:none}
.callout-actions .btn{height:28px;padding:0 9px;font-size:12px}

.tabs{display:flex;gap:2px;padding:0 14px;border-bottom:1px solid var(--line);margin-top:4px}
.tab{
  position:relative;border:0;background:none;padding:12px 9px 10px;margin-bottom:-1px;
  border-bottom:2px solid transparent;color:var(--muted);font-size:12px;font-weight:700;
  transition:color .15s var(--ease),border-color .15s var(--ease);
}
.tab:hover{color:var(--ink-2)}
.tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}
.tab[aria-disabled="true"]{color:var(--muted-2);opacity:.55;cursor:not-allowed}

.inspector-body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px 18px;overscroll-behavior:contain}
.inspector-body::-webkit-scrollbar{width:8px}
.inspector-body::-webkit-scrollbar-thumb{background:#dcdfeb;border-radius:8px;border:2px solid #fff}
.tab-panel{animation:panel-in .2s var(--ease) both}
@keyframes panel-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}

.field{display:grid;gap:6px;margin-bottom:14px}
.field label{font-size:12px;font-weight:700;color:var(--ink-2)}
.select-wrap{position:relative}
.select-wrap select{
  width:100%;appearance:none;-webkit-appearance:none;
  padding:10px 34px 10px 11px;border:1px solid var(--line-2);border-radius:9px;
  background:#fff;color:var(--ink-2);font-size:12px;font-weight:500;
  transition:border-color .15s var(--ease),box-shadow .15s var(--ease);
}
.select-wrap select:hover{border-color:#c8c4ef}
.select-wrap select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(91,79,240,.13)}
.select-wrap select:disabled{background:var(--surface-2);color:var(--muted-2);cursor:not-allowed}
.select-chevron{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--muted-2);pointer-events:none}

.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:2px 0 16px}
.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:16px}
.stat{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:8px 9px;min-width:0}
.stat span{display:block;font-size:12px;color:var(--muted-2);margin-bottom:3px;letter-spacing:.02em}
.stat strong{display:block;font-size:12px;font-weight:700;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.empty-note{
  display:flex;gap:10px;align-items:flex-start;padding:12px;margin-bottom:14px;
  border:1px dashed var(--line-2);border-radius:11px;background:var(--surface-2);
}
.empty-note-icon{
  width:29px;height:29px;flex:none;border-radius:8px;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);color:var(--accent);
}
.empty-note-icon .icon{width:14px;height:14px}
.empty-note strong{display:block;font-size:12px;color:var(--ink-2);margin-bottom:1px}
.empty-note p{font-size:12px;line-height:1.5;color:var(--muted)}
#regenerateBtn{margin-bottom:4px}
#regenerateHint{margin-top:6px}
.sidecar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:14px;padding-top:13px;border-top:1px solid var(--line);
}
.sidecar-copy strong{display:block;font-size:12px;color:var(--ink-2)}
.sidecar-copy span{display:block;font-size:12px;color:var(--muted-2);margin-top:1px}
.sidecar-links{display:flex;gap:5px}
.sidecar-links a{
  padding:5px 9px;border:1px solid var(--line-2);border-radius:7px;background:#fff;
  color:var(--muted);font-size:12px;font-weight:700;text-decoration:none;
  transition:color .15s var(--ease),border-color .15s var(--ease);
}
.sidecar-links a:hover{color:var(--accent);border-color:var(--accent-soft-2)}

/* Style panel */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.section-head > span:first-child{font-size:12px;font-weight:700;color:var(--ink-2)}
.section-value{font-size:12px;color:var(--accent);font-weight:700}
.style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:17px}
.style-option{
  min-width:0;padding:5px;border:1px solid var(--line);border-radius:10px;
  background:#fff;text-align:left;
  transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease);
}
.style-option:hover{border-color:var(--accent-soft-2)}
.style-option.is-active{border-color:var(--accent);background:#fbfaff;box-shadow:0 0 0 1px var(--accent)}
.style-demo{
  position:relative;display:grid;place-items:center;height:38px;margin-bottom:4px;
  border-radius:6px;overflow:hidden;
  background:radial-gradient(ellipse at center,#2b2d45,#141522 72%);
}
.style-demo .caption-chip{
  font-size:12px;line-height:1.15;max-width:94%;padding:.16em .4em;
  display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.style-demo .cap--slant{transform:rotate(-2deg)}
.style-name{display:block;padding:0 2px 2px;font-size:12px;font-weight:600;color:var(--muted)}
.style-option.is-active .style-name{color:var(--accent)}

.control{margin-bottom:6px}
.control-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.control-head label{font-size:12px;font-weight:700;color:var(--ink-2)}
.control-value{display:flex;align-items:center;gap:8px}
.control-value output{font-size:12px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.slider{-webkit-appearance:none;appearance:none;width:100%;height:16px;margin:0;background:transparent;cursor:pointer}
.slider::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:linear-gradient(to right,var(--accent) 0 var(--fill,0%),var(--line-2) var(--fill,0%) 100%)}
.slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-4.5px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 1px 4px rgba(0,0,0,.15)}
.slider::-moz-range-track{height:4px;border-radius:99px;background:var(--line-2)}
.slider::-moz-range-progress{height:4px;border-radius:99px;background:var(--accent)}
.slider::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#fff;border:3px solid var(--accent)}
.range-marks{display:flex;justify-content:space-between;margin-top:2px;color:var(--muted-2);font-size:12px}

.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.switch-copy strong{display:block;font-size:12px;color:var(--ink-2)}
.switch-copy span{display:block;font-size:12px;color:var(--muted-2);margin-top:1px}
.switch{
  position:relative;width:38px;height:22px;flex:none;padding:0;border:0;border-radius:99px;
  background:#d5d8e4;transition:background .16s var(--ease);
}
.switch::after{
  content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .16s var(--ease);
}
.switch[aria-checked="true"]{background:var(--accent)}
.switch[aria-checked="true"]::after{transform:translateX(16px)}
.color-row{display:flex;align-items:center;gap:8px;margin-top:10px}
.color-field{
  display:flex;align-items:center;gap:7px;flex:1;min-width:0;
  padding:6px 8px;border:1px solid var(--line);border-radius:8px;
  color:var(--muted);font-size:12px;font-weight:600;
}
.color-field input{width:24px;height:20px;padding:0;border:0;background:none;cursor:pointer}
.color-field input::-webkit-color-swatch-wrapper{padding:0}
.color-field input::-webkit-color-swatch{border:1px solid var(--line-2);border-radius:4px}
.color-field input::-moz-color-swatch{border:1px solid var(--line-2);border-radius:4px}

/* Export panel */
.result-card{
  display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:10px;
  border:1px solid #cdece0;border-radius:11px;background:var(--green-soft);
}
.result-icon{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green)}
.result-icon .icon{width:15px;height:15px}
.result-copy strong{display:block;font-size:12px;color:#0b5f44}
.result-copy p{font-size:12px;color:#3d7c68;margin-top:1px;word-break:break-all}
#exportAgainBtn{margin-top:2px}
#exportError{margin-bottom:0}
#exportEmpty{margin-bottom:12px}

.inspector-foot{
  padding:12px 20px 16px;border-top:1px solid var(--line);
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
}
.foot-note{margin:8px 0 0;text-align:center;color:var(--muted-2);font-size:12px;line-height:1.45}

/* ---------- Transcript ---------- */
.transcript-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px 9px;flex-wrap:wrap}
.transcript-heading{display:flex;align-items:baseline;gap:8px}
.transcript-heading h2{font:800 15px/1.2 var(--font-display);letter-spacing:-.025em}
.transcript-count{font-size:12px;color:var(--muted-2)}
.transcript-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.search-field{
  display:flex;align-items:center;gap:6px;height:32px;min-width:158px;padding:0 8px;
  border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted-2);
  transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease);
}
.search-field:focus-within{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(91,79,240,.11)}
.search-field .icon{width:14px;height:14px}
.search-field input{border:0;background:transparent;outline:none;width:108px;font-size:12px;color:var(--ink)}
.search-field input::placeholder{color:var(--muted-2)}
.search-clear{border:0;background:none;padding:0;display:grid;place-items:center;color:var(--muted-2)}
.search-clear .icon{width:12px;height:12px}
.tool-btn{
  height:32px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;
  border:1px solid var(--line);border-radius:8px;background:#fff;
  color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;
}
.tool-btn .icon{width:13px;height:13px}
.tool-btn:hover{color:var(--ink-2);border-color:var(--line-2)}
.tool-btn.is-on{background:var(--accent-soft);border-color:var(--accent-soft-2);color:var(--accent)}
.tool-group{display:flex;gap:1px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff}
.tool-group .icon-btn{width:25px;height:25px;border-radius:6px}
.tool-group .icon-btn .icon{width:14px;height:14px}

.save-line{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:0 16px 6px;min-height:16px}
.save-status{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted-2)}
.save-status .icon{width:11px;height:11px;color:var(--green)}
.save-status[data-state="saving"] .icon{color:var(--accent);animation:spin 1s linear infinite;border-radius:50%}
.save-status[data-state="dirty"]{color:var(--amber)}
.save-status[data-state="dirty"] .icon{color:var(--amber)}
.save-status[data-state="error"]{color:var(--red)}
.save-status[data-state="error"] .icon{color:var(--red)}
.save-line .link-btn{font-size:12px}

.transcript-list{
  display:flex;flex-direction:column;gap:1px;
  padding:0 9px 8px;overflow-y:auto;overscroll-behavior:contain;
  max-height:clamp(300px,42vh,540px);
  scrollbar-width:thin;
}
.transcript-list::-webkit-scrollbar{width:9px}
.transcript-list::-webkit-scrollbar-thumb{background:#dcdfeb;border-radius:8px;border:3px solid #fff}
.cue-row{
  display:grid;grid-template-columns:56px minmax(0,1fr) 42px;gap:7px;align-items:start;
  padding:4px 7px;border:1px solid transparent;border-radius:9px;
  transition:background .12s var(--ease),border-color .12s var(--ease);
  content-visibility:auto;contain-intrinsic-size:auto 46px;
}
.cue-row:hover{background:var(--surface-2)}
.cue-row.is-active{background:var(--accent-soft);border-color:var(--accent-soft-2)}
.cue-time{
  border:0;background:none;padding:9px 0 0;text-align:left;cursor:pointer;
  color:var(--muted);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;
  border-radius:5px;
}
.cue-time:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.cue-row.is-active .cue-time{color:var(--accent)}
.cue-text{
  width:100%;min-height:32px;max-height:120px;resize:none;overflow:auto;
  padding:6px 3px;border:0;border-radius:6px;background:transparent;
  color:var(--ink-2);font-size:13px;line-height:1.5;
  outline:none;transition:background .12s var(--ease),box-shadow .12s var(--ease);
}
.cue-text:focus{background:#fff;box-shadow:0 0 0 2px rgba(91,79,240,.18)}
.cue-row.is-active .cue-text{color:var(--ink)}
.cue-dur{padding-top:10px;text-align:right;color:var(--muted-2);font-size:12px;font-variant-numeric:tabular-nums}
.list-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 20px;color:var(--muted-2);text-align:center;font-size:12px}
.list-empty .icon{width:22px;height:22px;opacity:.6}
.list-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 16px 11px;min-height:20px;color:var(--muted-2);font-size:12px}
.list-foot .btn{height:28px;padding:0 9px;font-size:12px}
#listFootNote{text-align:right}

/* ---------- Dialog / toast ---------- */
.dialog{
  width:min(430px,calc(100vw - 32px));padding:0;border:1px solid var(--line);border-radius:18px;
  background:#fff;color:var(--ink);box-shadow:var(--shadow-lg);
}
.dialog::backdrop{background:rgba(12,14,28,.44);backdrop-filter:blur(3px)}
.dialog form{padding:22px}
.dialog h2{font:800 18px/1.25 var(--font-display);letter-spacing:-.03em;margin-bottom:7px}
.dialog p{margin-bottom:18px;color:var(--muted);font-size:12.5px;line-height:1.6}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px}
.toast{
  position:fixed;left:50%;bottom:22px;z-index:120;
  max-width:calc(100vw - 32px);padding:10px 15px;border-radius:10px;
  background:#1b1d31;color:#fff;font-size:12px;line-height:1.4;text-align:center;
  box-shadow:0 14px 34px rgba(12,14,28,.24);
  opacity:0;pointer-events:none;transform:translate(-50%,14px);
  transition:opacity .2s var(--ease),transform .2s var(--ease);
}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.toast[data-tone="error"]{background:#8e2f38}
.noscript{margin:20px auto;max-width:640px;padding:14px;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:13px;text-align:center}

/* ---------- Responsive ---------- */
@media(max-width:1240px){
  .studio{grid-template-columns:minmax(0,1fr) 350px}
  .landing{gap:clamp(28px,4vw,56px)}
  .landing h1{font-size:clamp(42px,5vw,64px)}
}
@media(max-width:1080px){
  .studio{grid-template-columns:minmax(0,1fr) 336px;gap:16px}
  .secure-note{display:none}
  .file-chip-copy strong{max-width:30vw}
  .workflow-line{width:24px}
}
@media(max-width:980px){
  .landing{grid-template-columns:1fr;max-width:620px;gap:34px;padding-top:30px}
  .upload-panel{max-width:560px;justify-self:stretch}
  .landing h1{max-width:15ch;font-size:clamp(42px,8vw,60px)}
  .landing-stats{max-width:none}
  .studio{
    grid-template-columns:1fr;
    grid-template-areas:"stage" "inspector" "transcript";
    gap:16px;
  }
  .inspector{position:static;max-height:none;overflow:visible}
  .inspector-body{overflow:visible;max-height:none}
  .studio .inspector-foot{position:fixed;left:12px;right:12px;bottom:12px;z-index:45;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(18,22,52,.18);padding:10px 12px}
  .studio .foot-note{display:none}
  body[data-view="studio"] .shell{padding-bottom:104px}
  .transcript-list{max-height:none}
  .transcript-card{order:3}
  .stage{max-height:min(56vh,560px)}
  .stage-card{padding:11px}
  .topbar{grid-template-columns:auto 1fr auto}
  .workflow{justify-self:center}
  .toast{bottom:88px}
}
@media(max-width:760px){
  :root{--topbar-h:62px}
  .topbar{gap:12px}
  .workflow-step{gap:0}
  .workflow-label{display:none}
  .workflow-line{width:20px}
  .brand-name{font-size:16px}
  .brand-mark{width:33px;height:33px;border-radius:10px}
  .shell{padding-top:18px}
  .transcript-list{max-height:none}
  .transport{flex-wrap:wrap;row-gap:6px}
  .timeline{order:10;flex-basis:100%}
  .timecode{min-width:0;margin-right:auto}
  .speed-btn{margin-left:0}
  .stage-head{flex-wrap:wrap;row-gap:8px}
  .stage-head-actions{margin-left:auto}
  .file-chip-copy strong{max-width:54vw}
  .transcript-tools{width:100%}
  .search-field{flex:1;min-width:0}
  .search-field input{width:100%}
  .inspector-head{padding:15px 16px 12px}
  .activity,.callout{margin-left:16px;margin-right:16px}
  .tabs{padding:0 10px}
  .inspector-body{padding:14px 16px 16px}
  .transcript-head{padding:12px 13px 8px}
  .save-line{padding-right:13px}
  .list-foot{padding-left:13px;padding-right:13px}
}
@media(max-width:560px){
  .shell{padding-left:12px;padding-right:12px;padding-bottom:44px}
  .brand-name span{display:none}
  .topbar{padding:0 12px}
  .topbar-actions .btn{height:30px;font-size:12px;padding:0 9px}
  .landing{padding-top:20px;gap:26px}
  .landing h1{font-size:clamp(38px,11vw,50px)}
  .lede{font-size:14.5px}
  .feature-list{gap:11px;margin-top:24px}
  .feature-copy strong{font-size:12px}
  .feature-copy span{font-size:12px}
  .landing-stats{gap:12px 18px;font-size:12px;margin-top:26px}
  .upload-card{border-radius:20px;padding:18px}
  .upload-head{gap:11px;margin-bottom:16px}
  .upload-icon{width:42px;height:42px;border-radius:12px}
  .upload-icon .icon{width:20px;height:20px}
  .upload-copy h2{font-size:18px}
  .dropzone{min-height:212px;padding:24px 14px}
  .stage-card{padding:9px;border-radius:14px}
  .stage{border-radius:10px;max-height:52vh}
  .stage-head{padding:2px 2px 10px}
  .file-chip-icon{display:none}
  .file-chip-copy strong{max-width:44vw;font-size:12px}
  .segmented button{padding:5px 7px;font-size:12px}
  .transport{gap:4px;padding-top:9px}
  .transport > .tool-icon{width:30px;height:30px}
  .play-btn{width:34px;height:34px}
  .timecode{font-size:12px;min-width:80px}
  .speed-btn{display:none}
  .cue-row{grid-template-columns:47px minmax(0,1fr);gap:5px;padding:4px 5px}
  .cue-dur{display:none}
  .cue-text{font-size:12.5px}
  .transcript-tools{gap:5px}
  .tool-btn span{display:none}
  .tool-btn{padding:0 8px}
  .search-field{min-width:120px}
  .inspector-heading h2{font-size:15.5px}
  .inspector-heading p{font-size:12px}
  .status-chip{font-size:12px;padding:4px 6px}
  .style-demo{height:34px}
  .style-demo .caption-chip{font-size:12px}
  .studio .inspector-foot{left:8px;right:8px;bottom:8px;padding:8px}
  body[data-view="studio"] .shell{padding-bottom:92px}
  .toast{bottom:82px}
  .dialog form{padding:18px}
  .stat span{font-size:12px}
  .stat strong{font-size:12px}
}
@media(max-width:390px){
  .workflow{display:none}
  .topbar{grid-template-columns:1fr auto}
  .activity-top strong{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .landing,.studio,.tab-panel{animation:none}
}

/* ---------- Caption history ---------- */
.caption-history{
  grid-column:1/-1;
  margin-top:clamp(8px,2vw,20px);
  padding:clamp(18px,2.5vw,26px);
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  box-shadow:var(--shadow-md);
}
.caption-history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.caption-history-head h2{font:800 22px/1.2 var(--font-display);letter-spacing:-.035em;margin:2px 0 0;color:var(--ink)}
.caption-history-count{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.caption-history-list{display:flex;flex-direction:column;gap:10px}
.caption-history-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.caption-history-icon{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-soft-2)}
.caption-history-icon .icon{width:18px;height:18px}
.caption-history-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.caption-history-copy strong{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.caption-history-meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;color:var(--muted);font-size:12px}
.caption-history-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700}
.caption-history-status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted-2)}
.caption-history-status.is-ready{color:var(--green)}
.caption-history-status.is-ready::before{background:var(--green)}
.caption-history-status.is-busy{color:var(--amber)}
.caption-history-status.is-busy::before{background:var(--amber)}
.caption-history-status.is-error{color:var(--red)}
.caption-history-status.is-error::before{background:var(--red)}
.caption-history-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:none}
.caption-history-actions a,.caption-history-actions button{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--line-2);
  background:#fff;color:var(--ink-2);font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;
}
.caption-history-actions a:hover,.caption-history-actions button:hover{border-color:var(--accent);color:var(--green);background:var(--accent-soft)}
.caption-history-actions button.danger:hover{border-color:var(--red);color:var(--red);background:var(--red-soft)}
.caption-history-empty{padding:20px 6px;text-align:center;color:var(--muted);font-size:13px}
@media (max-width:760px){
  .caption-history-row{align-items:flex-start;flex-wrap:wrap}
  .caption-history-actions{width:100%;justify-content:flex-end;padding-top:2px}
  .caption-history-head{align-items:flex-start;flex-direction:column;gap:4px}
}
