/* Shared Unstunted AI Edit — editor styles (extracted from create.html so the
   chat modal and the fullscreen AI Edit page render identically). */
  /* ══════════════════ video editor modal ══════════════════ */
  .ve-wrap{position:fixed;inset:0;background:rgba(13,18,28,.62);z-index:200;display:flex;align-items:center;justify-content:center;padding:26px;opacity:0;transition:opacity .18s var(--ease)}
  .ve-wrap.show{opacity:1}
  .ve{width:100%;height:100%;max-width:1560px;display:flex;flex-direction:row;gap:14px;transform:scale(.97);transition:transform .18s var(--ease)}
  .ve-wrap.show .ve{transform:scale(1)}
  .ve-top{flex:none;display:flex;align-items:center;gap:10px;height:56px;padding:0 16px;border-bottom:1px solid #ecedf1}
  .ve-logo{width:26px;height:26px;flex:none;display:grid;place-items:center}
  .ve-logo svg{width:26px;height:26px}
  .ve-name{border:none;background:none;font-size:14.5px;font-weight:650;color:#0f172a;padding:5px 6px;border-radius:7px;min-width:80px;max-width:280px}
  .ve-name:hover,.ve-name:focus{background:#f6f7f9;outline:none}
  .ve-pencil{width:28px;height:28px;flex:none;border-radius:7px;border:none;background:none;color:#98a2b3;display:grid;place-items:center;cursor:pointer}
  .ve-pencil:hover{background:#f6f7f9;color:#475467}
  .ve-pencil svg{width:14px;height:14px}
  .ve-spacer{flex:1}
  .ve-ratio{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:10px;border:1px solid #e4e7ec;background:#fff;color:#344054;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
  .ve-ratio svg{width:14px;height:14px;color:#98a2b3}
  .ve-export{height:36px;padding:0 20px;border-radius:10px;border:none;background:var(--primary,#2f6bff);color:#fff;font-size:13.5px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;gap:7px;box-shadow:0 4px 12px -4px rgba(47,107,255,.5)}
  .ve-export:hover{filter:brightness(1.06)}
  .ve-export:disabled{opacity:.6;cursor:default}
  .ve-icb{width:34px;height:34px;flex:none;border-radius:9px;border:none;background:none;color:#667085;display:grid;place-items:center;cursor:pointer}
  .ve-icb:hover{background:#f6f7f9;color:#0f172a}
  .ve-icb svg{width:17px;height:17px}
  .ve-icb.close svg{width:18px;height:18px}

  .ve-main{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 40px 90px -30px rgba(10,14,25,.55);overflow:hidden}
  .ve-stage{flex:1;min-height:0;background:#111318;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
  .ve-stage video{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:#111318;transform-origin:center center;will-change:transform,filter}
  .ve-transport{flex:none;display:flex;align-items:center;gap:10px;height:46px;padding:0 18px;background:#fff;border-bottom:1px solid #f0f1f4}
  .ve-time{font-size:12px;color:#475467;font-weight:600;font-variant-numeric:tabular-nums;background:#f6f7f9;border:1px solid #ecedf1;border-radius:8px;padding:4px 10px;letter-spacing:.01em}
  .ve-toolbar{flex:none;display:flex;align-items:center;gap:4px;height:46px;padding:0 16px;background:#fff;border-bottom:1px solid #ecedf1}
  .ve-tb-sep{width:1px;height:20px;background:#ecedf1;margin:0 6px;flex:none}
  .ve-zoomwrap{display:flex;align-items:center;gap:9px;margin-left:auto}
  .ve-zoomwrap svg{width:15px;height:15px;color:#98a2b3;flex:none}
  .ve-zoom{-webkit-appearance:none;appearance:none;width:120px;height:4px;border-radius:99px;background:#e7eaf1;outline:none}
  .ve-zoom::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:1.5px solid #cdd5e0;box-shadow:0 1px 3px rgba(16,24,40,.22);cursor:pointer;transition:border-color .12s,transform .12s}
  .ve-zoom:hover::-webkit-slider-thumb{border-color:var(--primary,#2f6bff);transform:scale(1.08)}

  .ve-timeline{flex:1;min-height:0;overflow:auto;position:relative;background:#fbfcfe;user-select:none;-webkit-user-select:none}
  .ve-timeline.scrubbing{cursor:grabbing}
  .ve-timeline.scrubbing *{cursor:grabbing!important}
  .ve-ruler{position:sticky;top:0;z-index:5;height:30px;background:linear-gradient(180deg,#ffffff,#fafbfd);border-bottom:1px solid #e8eaf0;display:flex;align-items:stretch;cursor:ew-resize}
  .ve-ruler i{position:absolute;top:0;bottom:0;display:flex;align-items:center;font-size:10.5px;font-weight:600;color:#8a92a1;font-variant-numeric:tabular-nums;border-left:1px solid #d9dee8;padding-left:6px;letter-spacing:.02em}
  .ve-ruler u{position:absolute;bottom:0;width:1px;height:7px;background:#e2e6ee;text-decoration:none}
  .ve-tracks{position:relative}
  .ve-row{display:flex;border-bottom:1px solid #eef0f5;min-height:54px}
  .ve-row:hover .ve-rowlbl{color:#1d2939}
  .ve-rowlbl{position:sticky;left:0;z-index:7;width:110px;flex:none;background:#fff;border-right:1px solid #eef0f5;display:flex;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:600;color:#475467;transition:color .13s}
  .ve-rowlbl .rk{color:#98a2b3;font-size:11px;font-weight:700;letter-spacing:.02em;min-width:18px}
  .ve-rowlbl .eye{margin-left:auto;width:16px;height:16px;color:#c3cad6;cursor:pointer;flex:none;transition:color .12s}
  .ve-rowlbl .eye:hover{color:#667085}
  .ve-rowlbl .eye svg{width:16px;height:16px}
  .ve-lane{position:relative;flex:none}
  .ve-lane.captions{background:#fdfdfe}
  .ve-lane.dialogue{background:#fbfdfb}
  .ve-lane.music{background:#fbfaff}
  .ve-lane.sfx{background:#fffcf6}

  .ve-cap{position:absolute;top:8px;bottom:8px;background:#eef0f4;border:1px solid #e2e5ea;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11.5px;color:#475467;font-weight:500;padding:0 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .ve-cap-empty{position:absolute;left:12px;top:0;bottom:0;display:flex;align-items:center;font-size:12px;color:#b6bcc7}
  .ve-seg{position:absolute;top:6px;bottom:6px;border-radius:10px;overflow:hidden;background:#dde3ec;cursor:pointer;border:1.5px solid rgba(15,23,42,.07);box-sizing:border-box;box-shadow:0 1px 2px rgba(16,24,40,.08),0 5px 12px -7px rgba(16,24,40,.22);transition:box-shadow .15s var(--ease)}
  .ve-seg:hover{box-shadow:0 2px 4px rgba(16,24,40,.1),0 10px 22px -10px rgba(16,24,40,.32)}
  .ve-seg.sel{border-color:var(--primary,#2f6bff);box-shadow:0 0 0 3px rgba(47,107,255,.16),0 8px 20px -8px rgba(47,107,255,.35)}
  .ve-seg::after{content:"";position:absolute;inset:0;border-radius:9px;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}
  .ve-seg .thumbs{position:absolute;inset:0;display:flex}
  .ve-seg .thumbs i{flex:1;min-width:0;background-size:cover;background-position:center;background-color:#c9cfd9}
  .ve-seg .thumbs i+i{border-left:1px solid rgba(255,255,255,.14)}
  .ve-seg .lbl{position:absolute;left:7px;top:6px;font-size:10.5px;font-weight:700;color:#fff;background:rgba(15,23,42,.55);padding:2px 7px;border-radius:6px;backdrop-filter:blur(3px);z-index:2;pointer-events:none;white-space:nowrap;overflow:hidden;max-width:calc(100% - 16px);font-variant-numeric:tabular-nums}
  .ve-seg .handle{position:absolute;top:0;bottom:0;width:13px;cursor:ew-resize;z-index:3;display:grid;place-items:center;opacity:0;transition:opacity .13s}
  .ve-seg .handle::before{content:"";width:4px;height:44%;border-radius:99px;background:#fff;box-shadow:0 0 0 1px rgba(16,24,40,.28),0 1px 3px rgba(16,24,40,.3)}
  .ve-seg .handle.l{left:0;background:linear-gradient(90deg,rgba(15,23,42,.30),transparent)}
  .ve-seg .handle.r{right:0;background:linear-gradient(270deg,rgba(15,23,42,.30),transparent)}
  .ve-seg:hover .handle,.ve-seg.sel .handle{opacity:.95}
  .ve-wave{position:absolute;inset:6px;border-radius:9px;background:linear-gradient(180deg,#eafaf0,#e0f4e8);border:1px solid rgba(18,161,80,.14);overflow:hidden;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.05)}
  .ve-wave canvas{width:100%;height:100%;display:block}
  .ve-clip{position:absolute;top:8px;bottom:8px;border-radius:9px;display:flex;align-items:center;gap:6px;padding:0 10px;cursor:pointer;overflow:hidden;white-space:nowrap;border:1px solid transparent;box-sizing:border-box;box-shadow:0 1px 2px rgba(16,24,40,.1),0 5px 12px -7px rgba(16,24,40,.24);transition:filter .12s,box-shadow .15s}
  .ve-clip:hover{filter:brightness(1.045)}
  .ve-clip.sel{border-color:var(--primary,#2f6bff);box-shadow:0 0 0 3px rgba(47,107,255,.16)}
  .ve-clip svg{width:13px;height:13px;flex:none}
  .ve-clip b{display:block;min-width:0;flex:1;font-size:11.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
  .ve-clip.music{background:linear-gradient(180deg,#f1ecfd,#e9e0fb);color:#6b46c1;border-color:rgba(107,70,193,.20)}
  .ve-clip.sfx{background:#fff;color:#475467;border-color:#e2e6ee}
  .ve-clip.sfx svg{color:#98a2b3}
  /* music clips render a real waveform strip with a floating label pill */
  .ve-clip.wv{padding:0;overflow:hidden;align-items:flex-start}
  .ve-clip.wv canvas{position:absolute;inset:0;width:100%;height:100%}
  .ve-clip.wv .pill{position:relative;z-index:2;display:inline-flex;align-items:center;gap:5px;margin:5px 0 0 6px;height:22px;padding:0 9px;border-radius:7px;background:rgba(255,255,255,.92);color:#6b46c1;font-size:11px;font-weight:700;box-shadow:0 1px 4px rgba(16,24,40,.12);white-space:nowrap;max-width:calc(100% - 14px);overflow:hidden}
  .ve-clip.wv .pill svg{width:12px;height:12px;flex:none}
  /* cut-point chips between video segments */
  .ve-cutchip{position:absolute;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:7px;background:#fff;border:1px solid #e2e6ee;box-shadow:0 2px 6px rgba(16,24,40,.16);display:grid;place-items:center;color:#98a2b3;z-index:4;cursor:pointer;transition:color .12s,border-color .12s}
  .ve-cutchip:hover{color:var(--primary,#2f6bff);border-color:#cdd9f5}
  .ve-cutchip svg{width:12px;height:12px}
  /* bottom bar: fit-to-window + zoom */
  .ve-botbar{flex:none;display:flex;align-items:center;gap:9px;height:46px;padding:0 14px;background:#fff;border-top:1px solid #eef0f5}
  .ve-fit{height:32px;border:1px solid #e4e7ee;border-radius:9px;background:#fff;padding:0 10px;font-family:inherit;font-size:12.5px;color:#344054;font-weight:600;cursor:pointer;outline:none}
  .ve-fit:focus{border-color:var(--primary,#2f6bff)}
  .ve-zbtn{width:28px;height:28px;flex:none;border-radius:8px;border:none;background:none;color:#98a2b3;display:grid;place-items:center;cursor:pointer}
  .ve-zbtn:hover{background:#f6f7f9;color:#475467}
  .ve-zbtn svg{width:15px;height:15px}
  .ve-botbar .ve-zoom{width:120px}

  .ve-playhead{position:absolute;top:0;bottom:0;width:0;z-index:6;pointer-events:none}
  .ve-playhead::before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:linear-gradient(180deg,var(--primary,#2f6bff) 0%,rgba(47,107,255,.55) 100%);box-shadow:0 0 8px rgba(47,107,255,.4)}
  .ve-playhead .ph-grab{position:absolute;top:0;left:-7.5px;width:15px;height:19px;background:var(--primary,#2f6bff);clip-path:polygon(0 0,100% 0,100% 60%,50% 100%,0 60%);cursor:grab;pointer-events:auto;box-shadow:0 2px 8px rgba(47,107,255,.5)}
  .ve-playhead .ph-grab:active{cursor:grabbing}
  .ve-scrub-chip{position:absolute;top:34px;transform:translateX(-50%);z-index:8;background:#0f172a;color:#fff;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;padding:3px 9px;border-radius:7px;pointer-events:none;box-shadow:0 8px 20px -6px rgba(16,24,40,.45);display:none;white-space:nowrap}
  .ve-ghost{position:absolute;top:0;bottom:0;width:1px;background:rgba(47,107,255,.32);z-index:5;pointer-events:none;display:none}
  .ve-ghost .g-time{position:absolute;top:34px;left:0;transform:translateX(-50%);font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;color:#475467;background:rgba(255,255,255,.95);border:1px solid #e4e7ee;padding:2px 7px;border-radius:6px;white-space:nowrap;box-shadow:0 4px 12px -4px rgba(16,24,40,.18)}

  .ve-chat{width:352px;flex:none;display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 40px 90px -30px rgba(10,14,25,.55);overflow:hidden}
  .ve-chat-hd{flex:none;display:flex;align-items:center;gap:8px;height:56px;padding:0 14px;border-bottom:1px solid #ecedf1}
  .ve-chat-hd b{font-size:14.5px;color:#0f172a}
  .ve-beta{font-size:10px;font-weight:700;letter-spacing:.03em;color:#6b46c1;background:#ece7fb;padding:2px 6px;border-radius:5px}
  .ve-chat-body{flex:1;overflow-y:auto;padding:14px}
  .ve-msg{margin-bottom:16px}
  .ve-msg-hd{display:flex;align-items:center;gap:7px;margin-bottom:6px}
  .ve-msg-hd img{width:22px;height:22px;border-radius:6px;object-fit:cover}
  .ve-msg-hd .av{width:22px;height:22px}
  .ve-msg-hd b{font-size:12.5px;color:#0f172a}
  .ve-msg-hd span{font-size:11px;color:#98a2b3;margin-left:auto}
  .ve-msg-body{font-size:13px;line-height:1.6;color:#344054;background:#f6f7f9;border-radius:11px;padding:10px 12px;white-space:pre-line}
  .ve-msg.ai .ve-msg-body{background:none;padding:0}
  .ve-card{margin-top:10px;border:1px solid #ecedf1;border-radius:13px;padding:12px 14px;background:#fff}
  .ve-card-hd{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:650;color:#0f172a;margin-bottom:8px}
  .ve-card-hd svg{width:16px;height:16px;color:#12b76a;flex:none}
  .ve-check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#344054;padding:3px 0}
  .ve-check svg{width:14px;height:14px;color:#12b76a;flex:none}
  .ve-prevbtn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;margin-top:8px;border-radius:99px;border:1px solid #ecedf1;background:#fff;color:var(--primary,#2f6bff);font-size:12.5px;font-weight:600;cursor:pointer}
  .ve-prevbtn:hover{background:#f6f7f9}
  .ve-prevbtn svg{width:13px;height:13px}
  .ve-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
  .ve-chip{border:1px solid #e4e7ec;background:#fff;color:#344054;border-radius:99px;padding:5px 11px;font-size:12px;font-weight:550;cursor:pointer;font-family:inherit}
  .ve-chip:hover{background:#f6f7f9;border-color:#d0d5dd}
  .ve-work{display:flex;align-items:center;gap:9px;color:#667085;font-size:13px}
  .ve-work i{width:14px;height:14px;border-radius:50%;border:2px solid #ecedf1;border-top-color:var(--primary,#2f6bff);animation:ccspin .7s linear infinite;flex:none}
  .ve-chat-dock{flex:none;padding:10px 12px;border-top:1px solid #ecedf1}
  .ve-chat-row{display:flex;align-items:center;gap:6px;border:1px solid #e4e7ec;border-radius:22px;padding:5px 6px 5px 10px}
  .ve-chat-row input{flex:1;border:none;outline:none;background:none;font-size:13px;font-family:inherit;color:#0f172a}
  .ve-chat-row input::placeholder{color:#98a2b3}
  .ve-chat-plus,.ve-chat-send{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;border:none;cursor:pointer}
  .ve-chat-plus{background:none;color:#667085}
  .ve-chat-plus:hover{background:#f6f7f9}
  .ve-chat-plus svg{width:16px;height:16px}
  .ve-chat-send{background:var(--primary,#2f6bff);color:#fff}
  .ve-chat-send svg{width:15px;height:15px}
  .ve-chat-send:disabled{background:#eef1f5;color:#b8bcc2}
  .ve-drop{position:absolute;inset:0;z-index:8;background:rgba(47,107,255,.08);border:2px dashed var(--primary,#2f6bff);border-radius:14px;display:none;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--primary,#2f6bff)}
  .ve-drop.show{display:flex}
  /* ---- "learning" gray overlay while the AI analyzes the upload ---- */
  .ve-learning{position:absolute;inset:0;z-index:9;background:#2a2d33;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-radius:14px;color:#e7e9ee;text-align:center;padding:20px}
  .ve-learning .sp{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;animation:ccspin .8s linear infinite}
  .ve-learning b{font-size:15px;font-weight:650;color:#fff}
  .ve-learning span{font-size:12.5px;color:#aab1bd;max-width:280px}
  /* ---- pro-edit clips (E1 lane) + audio note clips ---- */
  .ve-clip.edit{background:#e7eefc;color:#2f5fce}
  .ve-clip.edit.note{background:#eef0f4;color:#5b6472}
  /* ---- caption lane blocks + live preview overlay ---- */
  .ve-cap-block{position:absolute;top:9px;bottom:9px;border-radius:8px;background:#fff;border:1px solid #dde2ea;color:#475467;display:flex;align-items:center;justify-content:center;padding:0 10px;overflow:hidden;box-sizing:border-box;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.05);transition:border-color .12s,box-shadow .15s}
  .ve-cap-block:hover{border-color:#c7cedb;box-shadow:0 3px 8px -2px rgba(16,24,40,.12)}
  .ve-cap-block.sel{border-color:var(--primary,#2f6bff);box-shadow:0 0 0 3px rgba(47,107,255,.16)}
  .ve-cap-block b{font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}

  /* ══════ clip inspector — Premiere-style contextual popover ══════ */
  .ve-insp{position:fixed;z-index:320;width:274px;background:#fff;border:1px solid #e2e6ee;border-radius:14px;box-shadow:0 28px 64px -22px rgba(16,24,40,.38),0 4px 14px rgba(16,24,40,.08);display:none;font-size:12.5px}
  .ve-insp.show{display:block}
  .ve-insp-hd{display:flex;align-items:center;gap:9px;padding:10px 10px 10px 13px;border-bottom:1px solid #eef0f5}
  .ve-insp-hd .k{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:7px;color:#fff;flex:none;font-size:11px;font-weight:800}
  .ve-insp-hd b{font-size:12.5px;font-weight:700;color:#0f172a;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ve-insp-hd .ve-icb{width:26px;height:26px;border-radius:7px}
  .ve-insp-bd{padding:11px 13px;display:flex;flex-direction:column;gap:10px;max-height:320px;overflow:auto}
  .ve-fld{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
  .ve-fld>label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#98a2b3}
  .ve-fld input[type=text],.ve-fld select{height:31px;border:1px solid #e4e7ee;border-radius:8px;padding:0 9px;font:inherit;font-size:12.5px;color:#0f172a;background:#fff;outline:none;width:100%;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}
  .ve-fld input[type=text]:focus,.ve-fld select:focus{border-color:var(--primary,#2f6bff);box-shadow:0 0 0 3px rgba(47,107,255,.10)}
  .ve-fld input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:99px;background:#e7eaf1;outline:none;margin:8px 0 2px}
  .ve-fld input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:1.5px solid var(--primary,#2f6bff);box-shadow:0 1px 3px rgba(16,24,40,.22);cursor:pointer}
  .ve-fld .rv{font-size:11px;color:#667085;font-variant-numeric:tabular-nums;text-align:right}
  .ve-insp-row{display:flex;gap:9px}
  .ve-time-nudge{display:flex;align-items:stretch;border:1px solid #e4e7ee;border-radius:8px;overflow:hidden;height:31px}
  .ve-time-nudge button{width:27px;border:none;background:#f8f9fc;color:#475467;cursor:pointer;font-size:14px;font-weight:700;line-height:1;transition:background .1s,color .1s}
  .ve-time-nudge button:hover{background:#eef3ff;color:var(--primary,#2f6bff)}
  .ve-time-nudge span{flex:1;display:grid;place-items:center;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600;color:#0f172a;min-width:0}
  .ve-insp-note{font-size:12px;color:#475467;font-variant-numeric:tabular-nums;padding:2px 0}
  .ve-insp-actions{display:flex;gap:8px;padding:10px 13px;border-top:1px solid #eef0f5}
  .ve-btn2{flex:1;height:31px;border-radius:8px;border:1px solid #e4e7ee;background:#fff;color:#344054;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s}
  .ve-btn2:hover{background:#f6f7f9;border-color:#d0d5dd}
  .ve-btn2.danger{color:#d92d20;border-color:#fecdca}
  .ve-btn2.danger:hover{background:#fef3f2}
  /* functional track toggles + lane bypass */
  .ve-rowlbl .eye.off{opacity:.32}
  .ve-lane.dim{opacity:.38}
  .ve-cap-overlay{position:absolute;left:0;right:0;z-index:7;display:flex;justify-content:center;padding:0 6%;pointer-events:none}
  .ve-cap-overlay.pos-bottom{bottom:9%}
  .ve-cap-overlay.pos-middle{top:50%;transform:translateY(-50%)}
  .ve-cap-overlay.pos-top{top:9%}
  .ve-cap-overlay .cap{max-width:100%;font-family:var(--cap-font,inherit);font-size:var(--cap-size,20px);font-weight:var(--cap-weight,800);color:var(--cap-color,#fff);background:var(--cap-bg,rgba(20,20,24,.75));border:1px solid var(--cap-border,transparent);border-radius:var(--cap-radius,8px);box-shadow:var(--cap-shadow,0 2px 10px rgba(0,0,0,.4));text-transform:var(--cap-transform,none);letter-spacing:var(--cap-spacing,0);padding:.22em .55em;line-height:1.18;text-align:center}

  /* ══════ live compositor: real effect layers over the preview ══════ */
  .ve-fx{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}
  .ve-fx-tint{position:absolute;inset:0;opacity:0;mix-blend-mode:soft-light;transition:opacity .25s linear}
  .ve-fx-vignette{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.55) 100%);transition:opacity .3s linear}
  .ve-fx-grain{position:absolute;inset:-40%;opacity:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");mix-blend-mode:overlay}
  .ve-fx-grain.on{animation:vegrain .5s steps(3) infinite}
  @keyframes vegrain{0%{transform:translate(0,0)}33%{transform:translate(-6%,3%)}66%{transform:translate(4%,-5%)}100%{transform:translate(0,0)}}
  .ve-fx-scan{position:absolute;inset:0;opacity:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0,rgba(0,0,0,.18) 1px,transparent 2px,transparent 3px);mix-blend-mode:multiply;transition:opacity .3s}
  .ve-fx-bloom{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.35),transparent 60%);mix-blend-mode:screen;transition:opacity .35s}
  .ve-fx-flash{position:absolute;inset:0;opacity:0;background:#fff;z-index:10}
  .ve-bar{position:absolute;left:0;right:0;background:#000;z-index:7}
  .ve-bar.t{top:0}.ve-bar.b{bottom:0}
  .ve-pbar{position:absolute;left:0;top:0;height:0}.ve-pbar.l{left:0}.ve-pbar.r{right:0}
  .ve-fx-pillar{position:absolute;top:0;bottom:0;background:#000;z-index:7}.ve-fx-pillar.l{left:0}.ve-fx-pillar.r{right:0}
  .ve-freeze{position:absolute;inset:0;z-index:8;background-size:cover;background-position:center;display:none}
  /* titles / text overlays */
  .ve-title-lyr{position:absolute;inset:0;z-index:9;pointer-events:none}
  .ve-tt{position:absolute;left:6%;right:6%;text-align:center;opacity:0;transform:translateY(0)}
  .ve-tt.pos-top{top:9%}.ve-tt.pos-center{top:50%;transform:translateY(-50%)}.ve-tt.pos-lower{bottom:15%}.ve-tt.pos-lower_third{bottom:11%;left:5%;right:auto;text-align:left}
  .ve-tt .tx{display:inline-block;max-width:100%}
  .ve-tt.show{opacity:1}
  .ve-tt.anim-rise.show .tx{animation:vetrise .5s var(--ease) both}
  .ve-tt.anim-pop.show .tx{animation:vetpop .4s cubic-bezier(.3,1.5,.5,1) both}
  @keyframes vetrise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
  @keyframes vetpop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
  .st-hook .tx{font-family:'Arial Black',Impact,sans-serif;font-weight:900;font-size:clamp(22px,5vw,52px);color:#fff;text-transform:uppercase;letter-spacing:-.01em;text-shadow:0 4px 24px rgba(0,0,0,.6),0 2px 5px rgba(0,0,0,.7);line-height:1.05}
  .st-editorial .tx{font-family:Georgia,serif;font-weight:700;font-size:clamp(20px,4vw,44px);color:#f7f1df;letter-spacing:.01em;text-shadow:0 3px 18px rgba(0,0,0,.55)}
  .st-minimal .tx{font-family:'Inter',sans-serif;font-weight:600;font-size:clamp(16px,3vw,30px);color:#fff;background:rgba(15,20,30,.42);backdrop-filter:blur(6px);padding:.35em .7em;border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.3)}
  .st-chapter .tx{font-family:'Inter',sans-serif;font-weight:800;font-size:clamp(15px,2.6vw,26px);color:#fff;background:linear-gradient(90deg,#172554,#1d4ed8);padding:.5em 1em;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 10px 30px rgba(29,78,216,.35)}
  .st-neon .tx{font-family:'Arial Black',Impact,sans-serif;font-weight:900;font-size:clamp(20px,4.5vw,46px);color:#dffcff;text-transform:uppercase;text-shadow:0 0 8px #22d3ee,0 0 22px #22d3ee,0 0 40px rgba(34,211,238,.7)}
  /* graphics: lower-third, callout, bug, progress */
  .ve-gfx-lyr{position:absolute;inset:0;z-index:9;pointer-events:none}
  .ve-lt{position:absolute;left:5%;bottom:12%;opacity:0;transform:translateX(-14px);transition:opacity .3s,transform .3s}
  .ve-lt.show{opacity:1;transform:none}
  .ve-lt .bar{background:linear-gradient(90deg,rgba(15,20,30,.92),rgba(15,20,30,.55));border-left:3px solid var(--primary,#2f6bff);padding:8px 16px;border-radius:3px}
  .ve-lt .t1{color:#fff;font-weight:800;font-size:clamp(13px,2.4vw,20px);line-height:1.15}
  .ve-lt .t2{color:#c3d0e6;font-weight:500;font-size:clamp(10px,1.7vw,14px)}
  .ve-callout{position:absolute;opacity:0;transition:opacity .25s}
  .ve-callout.show{opacity:1}
  .ve-callout .box{border:2.5px solid #ffd23f;border-radius:8px;box-shadow:0 0 0 3px rgba(0,0,0,.25),0 6px 18px rgba(0,0,0,.3)}
  .ve-callout .tag{position:absolute;top:-9px;left:10px;background:#ffd23f;color:#111;font-weight:800;font-size:12px;padding:2px 8px;border-radius:5px;white-space:nowrap}
  .ve-bug{position:absolute;right:4%;bottom:8%;opacity:0;display:flex;align-items:center;gap:7px;background:rgba(220,38,38,.95);color:#fff;font-weight:800;font-size:clamp(11px,1.8vw,15px);padding:7px 13px;border-radius:99px;box-shadow:0 8px 22px rgba(220,38,38,.4);transition:opacity .3s}
  .ve-bug.show{opacity:1;animation:vebug 1.4s ease-in-out infinite}
  @keyframes vebug{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
  .ve-prog{position:absolute;left:0;bottom:0;height:5px;background:var(--primary,#2f6bff);width:0;z-index:9;box-shadow:0 0 10px rgba(47,107,255,.6)}
  .ve-broll-band{position:absolute;left:0;right:0;top:0;bottom:0;z-index:8;opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;justify-content:flex-start}
  .ve-broll-band.show{opacity:1}
  .ve-broll-band .tag{margin:0 0 12% 5%;background:rgba(47,107,255,.92);color:#fff;font-weight:700;font-size:clamp(11px,1.9vw,15px);padding:6px 13px;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.35)}
  .ve-broll-band .pip{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.9}
  /* typed edit clips on the E1 lane, color-coded & marked LIVE */
  .ve-clip.fx{color:#fff;background-image:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0))}
  .ve-clip.fx b{color:inherit}
  .ve-clip.fx .live{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.28);flex:none;margin-right:2px}
  .ve-clip.fx-zoom{background:#2f6bff}.ve-clip.fx-color{background:#8a5cf0}.ve-clip.fx-title{background:#12a150}
  .ve-clip.fx-crop{background:#0ea5b5}.ve-clip.fx-speed{background:#d97706}.ve-clip.fx-transition{background:#db2777}
  .ve-clip.fx-graphic{background:#4f46e5}.ve-clip.fx-effect{background:#334155}.ve-clip.fx-broll{background:#0284c7}.ve-clip.fx-note{background:#94a3b8}
  @media (max-width:960px){ .ve-chat{width:290px} .ve-rowlbl{width:84px} }
  @media (max-width:720px){ .ve{flex-direction:column;gap:10px} .ve-chat{width:100%;height:250px} .ve-wrap{padding:12px} }

/* ── fullscreen page mode (AI Edit) ── */
.ve-wrap.ve-full{padding:0;background:#f4f6fa}
.ve-full .ve{max-width:none;height:100%;gap:0}
.ve-full .ve-main{border-radius:0;box-shadow:none}
.ve-full .ve-chat{border-radius:0;box-shadow:none;border-left:1px solid #ecedf1}
.ve-full .ve-icb.close[data-role="close"] svg{}
