  :root{
    --bg:#141418; --panel:#1c1c22; --panel2:#232330; --head:#26262f; --line:#33333f; --line2:#3d3d4a;
    --ink:#e7e7ee; --muted:#9a9aab; --faint:#6d6d7c;
    --accent:#5b8cff; --accent2:#8b6cff; --sel:#6f8cff; --danger:#ff6b6b; --ok:#41c98a; --warn:#f2b04a;
    --vclip:#3a5a9a; --vclip2:#46689f; --aclip:#2f7d5b; --aclip2:#38916a; --tclip:#8a5aad; --tclip2:#9a6abf;
  }
  *{ box-sizing:border-box; margin:0; padding:0; }
  html,body{ height:100%; }
  body{ background:var(--bg); color:var(--ink); font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif; font-size:13px; overflow:hidden; user-select:none; -webkit-user-select:none; }
  button{ font:inherit; color:inherit; cursor:pointer; }
  .ve-app{ display:flex; flex-direction:column; height:100vh; }
  .ve-top{ display:flex; align-items:center; gap:10px; padding:7px 12px; background:linear-gradient(180deg,#202028,#1a1a20); border-bottom:1px solid var(--line); flex:none; }
  .ve-back{ display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 11px;
    border:1px solid var(--line); border-radius:7px; background:#26262e; color:#c9c9d4;
    text-decoration:none; font-size:12.5px; white-space:nowrap; }
  .ve-back:hover{ color:#fff; border-color:#4c8ef7; }
  .ve-file{ height:28px; padding:0 13px; border:0; border-radius:7px; background:#4c8ef7;
    color:#fff; font:inherit; font-size:12.5px; font-weight:650; cursor:pointer; }
  .ve-file:hover{ filter:brightness(1.1); }
  .ve-menu{ position:absolute; z-index:90; min-width:250px; background:#22222a;
    border:1px solid var(--line); border-radius:10px; box-shadow:0 18px 40px rgba(0,0,0,.55);
    padding:6px; display:none; }
  .ve-menu.open{ display:block; }
  .ve-menu button{ display:flex; align-items:center; gap:9px; width:100%; border:0;
    background:none; font:inherit; font-size:13px; color:#e6e6ee; text-align:left;
    padding:7px 9px; border-radius:7px; cursor:pointer; }
  .ve-menu button:hover{ background:#2e2e38; }
  .ve-menu hr{ border:0; border-top:1px solid var(--line); margin:5px 2px; }
  .ve-menu .snel{ margin-left:auto; font-size:11px; color:#8b8b99; }
  .ve-logo{ background:none; border:0; padding:0; margin:0; font:inherit; color:inherit; cursor:pointer; white-space:nowrap; flex:0 0 auto;
    font-weight:800; letter-spacing:.3px; display:flex; align-items:center; gap:8px; }
  .ve-logo b{ background:linear-gradient(90deg,var(--accent),var(--accent2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .ve-logo .ve-logo-chev{ flex:none; width:10px; height:10px; margin-left:-2px; opacity:.55; transition:opacity .15s; }
  .ve-logo .ve-logo-img{ flex:none; display:block; width:22px; height:22px; border-radius:5px; }
  .ve-logo:hover b, .ve-logo:focus-visible b{ filter:brightness(1.25); }
  .ve-logo:hover .ve-logo-chev, .ve-logo:focus-visible .ve-logo-chev{ opacity:1; }
  .ve-logo:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; border-radius:6px; }
  .ve-proj{ background:#15151b; border:1px solid var(--line); border-radius:6px; color:var(--ink); padding:4px 9px; font-size:12.5px; width:200px; }
  @media (max-width:1440px) and (min-width:821px){
    .ve-top{ gap:7px; padding:7px 10px; overflow-x:auto; scrollbar-width:thin; }
    .ve-top > *{ flex:0 0 auto; }
    .ve-proj{ width:140px; }
    .ve-btn{ padding:4px 8px; }
    .ve-back{ white-space:nowrap; }
  }
  @media (max-width:1440px) and (min-width:821px){
    .ve-top #veVoice .ve-lbl, .ve-top #veImport .ve-lbl{ display:none; }
  }
  @media (max-width:1560px) and (min-width:821px){
    .ve-top #veSubs .ve-lbl{ display:none; }
  }
  @media (max-width:900px) and (min-width:821px){
    .ve-top #veStill{ display:none; }
  }
  @media (max-width:1240px) and (min-width:821px){
    .ve-top #veTitle .ve-lbl, .ve-top #veGraphic .ve-lbl{ display:none; }
  }
  @media (max-width:1160px) and (min-width:821px){
    .ve-back{padding:0 9px;gap:0}
    .ve-back::before{content:"←"}
    .ve-back-l, .ve-logo b, .ve-top #veExport .ve-lbl, .ve-top > .ve-spacer{display:none}
    .ve-top > .ve-proj{flex:1 1 60px;width:auto;min-width:60px}
    .ve-tlbar{overflow-x:auto;scrollbar-width:thin;flex-wrap:nowrap}
    .ve-tlbar > *{flex:none}
    .ve-tlbar .ve-tool{white-space:nowrap}
  }
  .ve-spacer{ flex:1; }
  .kop-r{ display:flex; align-items:center; gap:10px; flex:none; }
  .ve-top [data-tvb-knop] .tvb-knop-t{ display:none; }
  .ve-btn{ background:var(--panel2); border:1px solid var(--line2); border-radius:7px; padding:6px 12px; color:var(--ink); display:inline-flex; align-items:center; gap:6px; font-size:12.5px; white-space:nowrap; }
  .ve-btn:hover{ background:#2c2c3a; }
  .ve-btn.pri{ background:linear-gradient(180deg,var(--accent),#4574e6); border-color:#4b78e0; color:#fff; font-weight:700; }
  .ve-btn.pri:hover{ filter:brightness(1.08); }
  .ve-btn svg{ width:15px; height:15px; }
  .ve-btn.icon{ padding:6px 8px; }
  .ve-meer{ display:none; }
  .ve-main{ flex:1; display:grid; grid-template-columns:236px 1fr 300px; grid-template-rows:minmax(0,1fr); min-height:0; }
  .ve-panel{ background:var(--panel); border-right:1px solid var(--line); display:flex; flex-direction:column; min-height:0; }
  .ve-panel:last-child{ border-right:0; border-left:1px solid var(--line); }
  .ve-ph{ padding:7px 11px; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); background:var(--head); border-bottom:1px solid var(--line); display:flex; align-items:center; gap:8px; flex:none; }
  .ve-ph .sp{ flex:1; }
  .ve-ph-t{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .ve-ph-naam{ display:none; text-transform:none; letter-spacing:0; color:var(--ink); }
  .ve-ph button{ background:none; border:0; color:var(--muted); font-size:11px; padding:2px 4px; border-radius:4px; }
  .ve-ph button:hover{ color:var(--ink); background:#ffffff12; }
  .ve-binbody{ flex:1; overflow:auto; padding:8px; }
  .ve-drop{ border:1.5px dashed var(--line2); border-radius:9px; padding:16px 10px; text-align:center; color:var(--muted); font-size:12px; margin-bottom:8px; transition:.15s; }
  .ve-drop.hot{ border-color:var(--accent); background:#5b8cff18; color:var(--ink); }
  .ve-asset{ display:flex; gap:8px; align-items:center; padding:6px; border-radius:8px; margin-bottom:5px; background:#00000022; border:1px solid transparent; cursor:grab; }
  .ve-asset:hover{ background:#ffffff0e; border-color:var(--line); }
  .ve-asset.gekozen{ border-color:var(--accent); background:#5b8cff1c; }
  .ve-asset .ve-nr{ flex:none; min-width:18px; height:18px; border-radius:9px; background:var(--accent); color:#fff; font-size:10.5px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; padding:0 4px; }
  #veBinReeks{ background:var(--accent); border:0; color:#fff; border-radius:5px; font-size:11px; padding:2px 8px; cursor:pointer; text-transform:none; letter-spacing:0; }
  #veBinReeks[hidden]{ display:none; }
  .ve-asset canvas,.ve-asset .noth{ width:52px; height:32px; border-radius:5px; background:#0c0c11; object-fit:cover; flex:none; display:flex; align-items:center; justify-content:center; color:var(--faint); }
  .ve-asset .am{ min-width:0; flex:1; }
  .ve-asset .an{ font-size:12px; line-height:1.3; overflow:hidden; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .ve-asset .ve-plus{ margin-left:4px; }
  .ve-asset .as{ font-size:10.5px; color:var(--muted); font-variant-numeric:tabular-nums; }
  .ve-badge{ font-size:9px; text-transform:uppercase; letter-spacing:.04em; padding:1px 4px; border-radius:3px; background:#ffffff18; color:var(--muted); }
  .ve-mon{ background:#0d0d11; display:flex; flex-direction:column; min-height:0; min-width:0; }
  .ve-stage{ position:relative; flex:1; display:flex; align-items:center; justify-content:center; min-height:0; min-width:0; padding:12px; background:#08080b; overflow:hidden; }
  .ve-montab{ background:none; border:0; color:var(--faint); font:inherit; font-size:11px; cursor:pointer; padding:2px 9px; border-radius:5px; }
  .ve-montab.on{ background:var(--accent); color:#fff; }
  .ve-src-stage{ position:absolute; inset:0; display:none; flex-direction:column; background:#000; z-index:6; }
  .ve-src-view{ flex:1; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden; }
  .ve-src-view video, .ve-src-view img{ max-width:100%; max-height:100%; object-fit:contain; }
  .ve-src-bar{ flex:none; background:var(--panel); border-top:1px solid var(--line); padding:6px 9px; display:flex; flex-direction:column; gap:6px; }
  .ve-src-band{ position:relative; height:6px; background:#0c0c12; border-radius:4px; }
  .ve-src-band i{ position:absolute; top:0; bottom:0; background:rgba(91,140,255,.35); border-left:2px solid #5b8cff; border-right:2px solid #5b8cff; }
  .ve-src-row{ display:flex; align-items:center; gap:6px; }
  .ve-src-row .mini{ background:#1a1a22; border:1px solid var(--line2); color:var(--ink); font:inherit; font-size:11px; border-radius:5px; padding:3px 8px; cursor:pointer; }
  .ve-src-row .mini:hover{ border-color:var(--accent); }
  .ve-src-row .mini.pri{ background:var(--accent); border-color:var(--accent); color:#fff; }
  .ve-src-row .mini[aria-pressed="false"]{ opacity:.5; text-decoration:line-through; }
  .ve-lane-hd .lc button.tgt-on{ color:var(--accent2,#e08a2b); }
  .ve-canvas-wrap{ position:relative; width:100%; height:100%; min-height:0; display:flex; align-items:center; justify-content:center; }
  .ve-leeg{ position:absolute; left:0; top:0; right:0; bottom:0; z-index:6; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:10px; text-align:center; color:var(--muted); font-size:12.5px; }
  .ve-leeg[hidden]{ display:none; }
  #veCanvas{ display:block; max-width:100%; max-height:100%; width:auto; height:auto; background:#000; box-shadow:0 4px 24px #000a; touch-action:none; }
  .ve-canvas-wrap.zoom{ display:grid; overflow:auto; align-items:start; justify-items:start; align-content:normal; justify-content:normal; }
  .ve-canvas-wrap.zoom #veCanvas{ margin:auto; }
  .ve-transport{ flex:none; background:var(--panel); border-top:1px solid var(--line); padding:7px 10px; display:flex; flex-direction:column; gap:6px; }
  .ve-scrub{ position:relative; height:10px; }
  .ve-scrub input{ position:absolute; inset:0; width:100%; margin:0; accent-color:var(--accent); }
  .ve-tr-row{ display:flex; align-items:center; gap:8px; }
  .ve-tc{ font-variant-numeric:tabular-nums; font-size:12.5px; color:var(--ink); background:#0c0c11; border:1px solid var(--line); border-radius:5px; padding:2px 8px; }
  .ve-tc .tot{ color:var(--muted); }
  .ve-tbtn{ background:none; border:0; color:var(--ink); padding:4px; border-radius:6px; display:inline-flex; }
  .ve-tbtn:hover{ background:#ffffff12; }
  .ve-tbtn.on{ color:var(--accent); }
  .ve-tbtn svg{ width:17px; height:17px; }
  .ve-tbtn.play svg{ width:22px; height:22px; }
  .ve-insp{ flex:1; overflow:auto; padding:0 10px 10px; }
  .ve-none{ color:var(--faint); font-size:12px; text-align:center; padding:26px 8px; line-height:1.5; }
  .ve-none b{ display:block; color:var(--ink); font-size:13px; margin-bottom:4px; }
  .ve-none-acties{ display:flex; gap:6px; justify-content:center; flex-wrap:wrap; margin:12px 0 10px; }
  .ve-none-tip{ font-size:11px; margin-top:6px; }
  .ve-insp-kop{ display:flex; align-items:baseline; gap:7px; padding:9px 0 4px; min-width:0; }
  .ve-insp-kop b{ font-size:12.5px; color:var(--ink); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
  .ve-insp-kop span{ flex:none; font-size:11px; color:var(--faint); }
  .ve-tabs{ position:sticky; top:0; z-index:3; display:flex; flex-wrap:wrap; gap:4px; background:var(--panel); padding:6px 0 7px; margin-bottom:6px; border-bottom:1px solid var(--line); }
  .ve-tabs::-webkit-scrollbar{ display:none; }
  .ve-tab{ flex:none; background:none; border:1px solid var(--line2); border-radius:999px; color:var(--muted); font:inherit; font-size:11px; padding:3px 9px; cursor:pointer; white-space:nowrap; }
  .ve-tab:hover{ color:var(--ink); }
  .ve-tab[aria-selected="true"]{ color:#fff; background:var(--accent); border-color:var(--accent); }
  .ve-grp{ margin-bottom:6px; border-bottom:1px solid var(--line); }
  .ve-grp-h{ display:flex; align-items:center; gap:6px; width:100%; background:none; border:0; padding:7px 0 6px; font:inherit; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); cursor:pointer; text-align:left; }
  .ve-grp-h::before{ content:"▾"; flex:none; width:10px; color:var(--faint); font-size:11px; }
  .ve-grp.dicht > .ve-grp-h::before{ content:"▸"; }
  .ve-grp-h:hover .ve-grp-t{ filter:brightness(1.2); }
  .ve-grp-x{ margin-left:auto; text-transform:none; letter-spacing:0; color:var(--faint); font-size:11px; }
  .ve-grp-b{ padding:2px 0 6px; }
  .ve-grp.dicht > .ve-grp-b{ display:none; }
  .ve-sub{ font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--faint); margin:10px 0 6px; }
  .ve-fx{ border:1px solid var(--line); border-radius:7px; padding:6px 8px 1px; margin-bottom:8px; background:#ffffff06; }
  .ve-fx-h{ display:flex; align-items:center; gap:6px; margin-bottom:6px; font-size:12px; color:var(--ink); font-weight:600; }
  .ve-fx-uit{ font-weight:400; font-size:11px; color:var(--faint); }
  .ve-fx-aan{ margin-left:auto; flex:none; width:30px; height:18px; padding:0; border:1px solid var(--line2); border-radius:9px; background:var(--accent); cursor:pointer; position:relative; }
  .ve-fx-aan i{ position:absolute; top:2px; left:14px; width:12px; height:12px; border-radius:50%; background:#fff; transition:left .12s; }
  .ve-fx-aan[aria-checked="false"]{ background:#ffffff14; }
  .ve-fx-aan[aria-checked="false"] i{ left:2px; background:var(--faint); }
  .ve-fx-aan:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
  .ve-fx-aan + .ve-fx-weg{ margin-left:0; }
  .ve-fx.stil > :not(.ve-fx-h){ opacity:.5; }
  .ve-fx-weg{ margin-left:auto; flex:none; background:none; border:1px solid transparent; border-radius:5px; color:var(--faint); font-size:12px; line-height:1; padding:3px 6px; cursor:pointer; }
  .ve-fx-weg:hover{ color:#ff8a8a; border-color:var(--line2); }
  .ve-wielen{ display:flex; gap:8px; margin:2px 0 6px; }
  .ve-wiel{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; gap:4px; }
  .ve-wiel-n{ font-size:11px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
  .ve-wiel-r{ position:relative; width:100%; max-width:96px; aspect-ratio:1/1; border-radius:50%; border:1px solid var(--line2); cursor:grab; touch-action:none; box-sizing:border-box;
    background:radial-gradient(circle closest-side, #7f7f7f 0%, #7f7f7fcc 30%, #7f7f7f00 100%), conic-gradient(from 90deg, #e05a5a, #d85ad8, #5a6ae0, #5ad8d8, #5ae05a, #d8d85a, #e05a5a); }
  .ve-wiel-r::before, .ve-wiel-r::after{ content:""; position:absolute; background:#ffffff38; pointer-events:none; }
  .ve-wiel-r::before{ left:50%; top:8%; bottom:8%; width:1px; }
  .ve-wiel-r::after{ top:50%; left:8%; right:8%; height:1px; }
  .ve-wiel-r.sleept{ cursor:grabbing; }
  .ve-wiel-r:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
  .ve-wiel-p{ position:absolute; width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1px #000a; background:#ffffff40; pointer-events:none; box-sizing:border-box; }
  .ve-wiel-getal{ margin:2px 0 6px; }
  .ve-wiel-getal > summary{ cursor:pointer; color:var(--muted); font-size:11.5px; padding:3px 0; }
  .ve-lut-kop{ flex-wrap:wrap; gap:2px 8px; }
  .ve-lut-naam{ font-size:12px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
  .ve-lut-info{ font-size:11px; color:var(--faint); }
  .ve-vh{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .ve-fxadd{ border:1px solid var(--line2); border-radius:7px; padding:6px; margin-bottom:8px; background:#111117; }
  .ve-fxadd input{ width:100%; box-sizing:border-box; background:#0c0c11; border:1px solid var(--line); border-radius:5px; color:var(--ink); font:inherit; font-size:12px; padding:5px 7px; margin-bottom:5px; }
  .ve-fxlijst{ display:flex; flex-direction:column; gap:2px; max-height:260px; overflow:auto; }
  .ve-fxlijst button{ display:flex; flex-direction:column; align-items:flex-start; gap:1px; background:none; border:0; border-radius:5px; color:var(--ink); font:inherit; font-size:12px; padding:5px 7px; text-align:left; cursor:pointer; }
  .ve-fxlijst button span{ color:var(--faint); font-size:11px; }
  .ve-fxlijst button:hover, .ve-fxlijst button:focus-visible{ background:#5b8cff22; outline:none; }
  .ve-fxlijst .ve-sub{ margin:6px 7px 2px; }
  .ve-fxgeen{ color:var(--faint); font-size:11.5px; padding:4px 7px; }
  .ve-fxadd[hidden], .ve-fxlijst [hidden]{ display:none !important; }
  .ve-row{ display:flex; align-items:center; gap:8px; margin-bottom:7px; }
  .ve-row label{ flex:0 0 84px; color:var(--muted); font-size:11.5px; }
  #veInsp .ve-row{ gap:6px; }
  #veInsp .ve-row label, #veInsp .ve-row .ve-chk-t{ flex:0 0 78px; color:var(--muted); font-size:11.5px; }
  label.ve-chk{ cursor:pointer; }
  .ve-kfs{ flex:0 0 38px; display:flex; align-items:center; justify-content:center; }
  .ve-terug{ flex:0 0 16px; width:16px; height:18px; background:none; border:0; border-radius:4px; color:var(--faint); font-size:12px; line-height:1; padding:0; cursor:pointer; }
  .ve-terug:hover{ color:var(--ink); background:#ffffff12; }
  .ve-terug.rust{ visibility:hidden; }
  .ve-insp.tabmodus .ve-grp:not(.in-tab){ display:none; }
  .ve-insp.tabmodus .ve-tabs{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  .ve-insp.tabmodus .ve-tab{ min-height:32px; padding:5px 12px; font-size:12px; }
  .ve-insp.tabmodus .ve-insp-kop{ display:none; }
  .ve-insp.tabmodus .ve-grp-h{ min-height:34px; }
  .ve-insp.tabmodus .ve-row{ min-height:34px; margin-bottom:4px; }
  .ve-insp.tabmodus .ve-row input[type=range]{ height:32px; }
  .ve-insp.tabmodus .ve-row select, .ve-insp.tabmodus .ve-row input[type=text], .ve-insp.tabmodus .ve-row textarea, .ve-insp.tabmodus .ve-btn{ min-height:34px; }
  .ve-insp.tabmodus .ve-row input[type=color]{ width:44px; height:32px; }
  .ve-insp.tabmodus .ve-row input[type=checkbox]{ width:22px !important; height:22px !important; }
  .ve-insp.tabmodus .ve-row .val{ flex-basis:52px; min-height:32px; display:flex; align-items:center; justify-content:flex-end; }
  .ve-insp.tabmodus .ve-kfs{ flex-basis:auto; min-width:32px; }
  .ve-insp.tabmodus .ve-kf{ min-width:32px; min-height:32px; font-size:13px; }
  .ve-insp.tabmodus .ve-kf.ve-kfn{ margin:0; }
  .ve-insp.tabmodus .ve-terug{ flex-basis:32px; width:32px; height:32px; font-size:15px; }
  .ve-insp.tabmodus .ve-fx-weg{ min-width:32px; min-height:32px; }
  .ve-insp.tabmodus .ve-fx-aan{ width:44px; height:32px; border-radius:16px; }
  .ve-insp.tabmodus .ve-wiel-getal > summary{ min-height:32px; line-height:26px; }
  .ve-insp.tabmodus .ve-fx-aan i{ top:5px; left:22px; width:20px; height:20px; }
  .ve-insp.tabmodus .ve-fx-aan[aria-checked="false"] i{ left:4px; }
  .ve-insp.tabmodus .ve-fxlijst button{ min-height:40px; }
  .ve-insp.tabmodus .ve-fxadd input{ min-height:36px; font-size:16px; }
  .ve-insp.tabmodus .ve-row input[type=text], .ve-insp.tabmodus .ve-row textarea, .ve-insp.tabmodus .ve-row select, .ve-insp.tabmodus .ve-row .val input{ font-size:16px; }
  .ve-row input[type=range]{ flex:1; accent-color:var(--accent); min-width:0; }
  .ve-row input[type=number],.ve-row input[type=text],.ve-row select{ flex:1; min-width:0; background:#111117; border:1px solid var(--line); border-radius:5px; color:var(--ink); padding:4px 7px; font:inherit; font-size:12px; }
  .ve-row input[type=color]{ width:34px; height:26px; padding:0; border:1px solid var(--line); border-radius:5px; background:#111117; }
  .ve-tsel-k{ flex:1; min-width:0; display:flex; flex-wrap:wrap; gap:4px; align-items:center; }
  .ve-tsel-k .ve-btn{ min-width:28px; justify-content:center; padding:3px 7px; }
  .ve-tsel-k .ve-btn[aria-pressed="true"]{ background:var(--accent); border-color:var(--accent); color:#fff; }
  .ve-row .ve-tsel-k input[type=number]{ flex:0 0 58px; }
  .ve-row .ve-tsel-k select{ flex:1 1 96px; }
  .ve-tsel.leeg .ve-tsel-k{ opacity:.55; }
  .ve-insp.tabmodus .ve-tsel-k .ve-btn{ min-width:36px; }
  .ve-insp.tabmodus .ve-row .ve-tsel-k input[type=number]{ min-height:34px; font-size:16px; }
  .ve-tsel-uit{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:-3px 0 7px 84px; color:var(--faint); font-size:11px; }
  .ve-tsel-uit:empty{ display:none; }
  .ve-tsel-uit .ve-btn{ padding:2px 8px; font-size:11px; }
  .ve-tsel-uit [hidden]{ display:none !important; }
  .ve-row .val{ flex:0 0 44px; text-align:right; font-variant-numeric:tabular-nums; color:var(--ink); font-size:11.5px; }
  .ve-kf{ flex:0 0 auto; background:none; border:1px solid var(--line2); border-radius:4px; color:var(--faint); font-size:10px; padding:1px 4px; line-height:1; }
  .ve-kf.on{ color:var(--accent); border-color:var(--accent); background:#5b8cff22; }
  .ve-kf.hier{ color:#fff; background:var(--accent); }
  .ve-kf.ve-kfn{ border-color:transparent; background:none; padding:1px 2px; margin:0; font-size:12px; }
  .ve-row .val[role=button]{ cursor:ew-resize; touch-action:none; user-select:none; -webkit-user-select:none; }
  .ve-row .val.sleept{ color:var(--accent); }
  .ve-row .val[role=button]:hover,.ve-row .val[role=button]:focus-visible{ text-decoration:underline dotted; outline:none; }
  .ve-row .val input{ flex:none; width:100%; min-width:0; background:#111117; border:1px solid var(--accent); border-radius:4px; color:var(--ink); font:inherit; font-size:11.5px; padding:1px 3px; text-align:right; }
  #veMeter{ width:60px; height:12px; background:#0c0c11; border:1px solid var(--line); border-radius:3px; }
  #veCurIn{ width:96px; background:#0c0c11; border:1px solid var(--line); border-radius:5px; color:var(--ink); font:inherit; font-size:12px; font-variant-numeric:tabular-nums; padding:2px 6px; text-align:center; }
  .ve-tl{ flex:none; height:246px; background:var(--panel); border-top:1px solid var(--line); display:flex; flex-direction:column; min-height:0; }
  .ve-tlbar{ display:flex; align-items:center; gap:6px; padding:5px 9px; border-bottom:1px solid var(--line); background:var(--head); flex:none; }
.ve-ctx{position:fixed;z-index:9999;min-width:230px;background:#1b1f28;
  border:1px solid #2b3140;border-radius:9px;padding:5px;
  box-shadow:0 18px 44px rgba(0,0,0,.55);font-size:12.5px;max-height:calc(100vh - 12px);overflow-y:auto;}
.ve-ctx button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;
  color:#e6e9ef;text-align:left;padding:6px 9px;border-radius:6px;font:inherit;cursor:pointer;}
.ve-ctx button:hover:not(:disabled){background:#262c38;}
.ve-ctx button:disabled{opacity:.42;cursor:default;}
.ve-ctx .k{margin-left:auto;opacity:.55;font-size:11px;}
.ve-ctx hr{border:0;border-top:1px solid #2b3140;margin:4px 2px;}
.ve-tool{ background:var(--panel2); border:1px solid var(--line2); border-radius:6px; padding:4px 8px; color:var(--muted); display:inline-flex; align-items:center; gap:5px; font-size:12px; }
  .ve-tool.on{ background:#2d4373; border-color:var(--accent); color:#fff; }
  .ve-tool svg{ width:14px; height:14px; }
  .ve-tl-scroll{ flex:1; overflow:auto; position:relative; }
  .ve-ruler{ position:sticky; top:0; height:22px; background:#191921; border-bottom:1px solid var(--line); z-index:6; font-size:9.5px; color:var(--muted); }
  .ve-ruler .tick{ position:absolute; top:0; height:100%; border-left:1px solid var(--line2); padding-left:3px; font-variant-numeric:tabular-nums; }
  .ve-lanes{ position:relative; }
  .ve-lane{ position:relative; border-bottom:1px solid var(--line); height:52px; }
  .ve-lane.audio{ height:44px; }
  .ve-lane-hd{ position:sticky; left:0; z-index:5; width:74px; height:100%; background:#20202a; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; padding:0 5px; float:left; overflow:hidden; }
  .ve-lane-hd .ln{ font-weight:700; font-size:12px; line-height:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .ve-lane-hd .lc{ display:flex; flex-wrap:wrap; gap:1px 2px; margin-top:2px; }
  .ve-lane-hd .lc button{ background:none; border:0; color:var(--faint); padding:0; width:14px; height:14px; font-size:10.5px; line-height:14px; display:inline-flex; align-items:center; justify-content:center; overflow:hidden; }
  .ve-lane-hd .lc button.on{ color:var(--accent); }
  .ve-lane-hd .lc button.mute-on{ color:var(--danger); }
  .ve-lane-hd .lc button.rec-on{ color:var(--danger); }
  .ve-lane-area{ position:absolute; left:74px; top:0; right:0; height:100%; }
  .ve-clip{ position:absolute; top:3px; bottom:3px; border-radius:6px; overflow:hidden; border:1px solid #0006; cursor:grab; display:flex; flex-direction:column; box-shadow:0 1px 3px #0006; -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; }
  .ve-clip .cl-t{ font-size:10.5px; padding:2px 6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#fff; text-shadow:0 1px 2px #0008; }
  .ve-clip .cl-wave{ flex:1 1 0; min-height:0; opacity:.5; }
  .ve-clip.sel{ border-color:#fff; box-shadow:0 0 0 2px var(--sel); z-index:3; }
  .ve-clip.uit{ opacity:.45; background-image:repeating-linear-gradient(135deg,transparent 0 6px,#0006 6px 9px) !important; }
  .ve-clip .cl-h{ position:absolute; top:0; bottom:0; width:7px; cursor:ew-resize; z-index:2; }
  .ve-clip .cl-h.l{ left:0; } .ve-clip .cl-h.r{ right:0; }
  .ve-clip.opgetild{ box-shadow:0 0 0 2px var(--accent), 0 6px 16px #000c; z-index:5; }
  .ve-clip .cl-h, .ve-ruler{ touch-action:none; }
  @media (pointer:coarse){ .ve-clip .cl-h{ width:16px; } }
  .ve-clip .cl-fade{ position:absolute; top:0; width:0; height:0; border-style:solid; opacity:.55; }
  .ve-clip .cl-ovg{ position:absolute; left:2px; bottom:2px; z-index:2; padding:0 4px; border-radius:3px; background:rgba(0,0,0,.6); color:#fff; font-size:10.5px; line-height:15px; pointer-events:none; white-space:nowrap; }
  .ve-clip .cl-fh{ position:absolute; top:1px; width:10px; height:10px; box-sizing:border-box; border-radius:50%; background:#fff; border:1px solid #000a; cursor:ew-resize; z-index:3; opacity:0; transition:opacity .12s; touch-action:none; }
  .ve-clip:hover .cl-fh, .ve-clip.sel .cl-fh{ opacity:.9; }
  .ve-video-c{ background:linear-gradient(180deg,var(--vclip2),var(--vclip)); }
  .ve-audio-c{ background:linear-gradient(180deg,var(--aclip2),var(--aclip)); }
  .ve-text-c{ background:linear-gradient(180deg,var(--tclip2),var(--tclip)); }
  .ve-kader{ position:absolute; z-index:4; border:1px solid var(--accent); background:rgba(91,140,255,.14); pointer-events:none; }
  .ve-playhead{ position:absolute; top:0; bottom:0; width:0; border-left:2px solid var(--danger); z-index:8; pointer-events:none; }
  .ve-playhead::before{ content:""; position:absolute; top:-1px; left:-6px; border:6px solid transparent; border-top-color:var(--danger); border-bottom:0; }
  .ve-toasts{ position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:9500; pointer-events:none; display:flex; flex-direction:column; gap:6px; align-items:center; }
  .ve-toast{ background:#0f0f16ee; border:1px solid var(--line2); border-radius:8px; padding:8px 14px; font-size:12.5px; box-shadow:0 6px 20px #0008; }
  .ve-modal{ position:fixed; inset:0; background:#000a; z-index:300; display:none; align-items:center; justify-content:center; }
  .ve-modal.open{ display:flex; }
  .ve-dlg{ background:var(--panel); border:1px solid var(--line2); border-radius:12px; width:min(560px,92vw); max-height:88vh; overflow:auto; box-shadow:0 20px 60px #000b; }
  .ve-dlg-h{ padding:12px 16px; border-bottom:1px solid var(--line); font-weight:700; display:flex; align-items:center; }
  .ve-dlg-b{ padding:14px 16px; }
  .ve-sub-kop, .ve-sub-rij{ display:grid; grid-template-columns:78px 78px minmax(0,1fr) auto; gap:6px; align-items:center; }
  .ve-sub-kop{ font-size:11px; color:var(--muted); padding:0 2px 4px; }
  .ve-sub-lijst{ max-height:46vh; overflow-y:auto; display:flex; flex-direction:column; gap:5px; }
  .ve-sub-rij input, .ve-sub-rij textarea{ min-width:0; width:100%; box-sizing:border-box; background:#111117; border:1px solid var(--line); border-radius:5px; color:var(--ink); font:inherit; font-size:12px; padding:5px 7px; }
  .ve-sub-rij textarea{ resize:vertical; line-height:1.35; }
  .ve-sub-rij.nu textarea{ border-color:var(--accent); }
  .ve-sub-rij.nu input{ border-color:var(--accent); }
  .ve-sub-rij .ve-btn{ padding:4px 8px; }
  .ve-sub-rij.uit input, .ve-sub-rij.uit textarea{ opacity:.5; text-decoration:line-through; }
  .ve-sub-rij .vs-uit{ font-size:11px; color:var(--muted); white-space:nowrap; }
  .ve-sub-leeg{ color:var(--muted); font-size:12px; padding:8px 2px; }
  @media (max-width:560px){ .ve-sub-kop{ display:none; } .ve-sub-rij{ grid-template-columns:1fr 1fr auto; } .ve-sub-rij .vs-tekst{ grid-column:1 / -1; grid-row:2; } }
  .ve-dlg-f{ padding:12px 16px; border-top:1px solid var(--line); display:flex; gap:8px; justify-content:flex-end; }
  .ve-sc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:6px 22px; }
  .ve-sc{ display:flex; justify-content:space-between; font-size:12px; padding:2px 0; }
  .ve-sc kbd{ background:#0c0c12; border:1px solid var(--line2); border-radius:4px; padding:1px 6px; font-family:inherit; font-size:11px; color:var(--muted); }
  .ve-prog{ height:8px; background:#0c0c12; border-radius:5px; overflow:hidden; margin-top:8px; }
  .ve-prog i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--accent),var(--accent2)); }
  input[type=file]{ display:none; }
  @media (max-width:1100px){ .ve-main{ grid-template-columns:196px 1fr 264px; } }
  @media (max-width:820px){
    .ve-main{ display:flex; flex-direction:column; min-height:0; overflow-y:auto; }
    .ve-stage{ min-height:38vh; }
    .ve-mon, .ve-main > .ve-panel{ flex:none; }
    .ve-src-row{ flex-wrap:wrap; row-gap:5px; }
    .ve-src-row .mini{ white-space:nowrap; }
    .ve-asset .ve-plus{ min-width:40px; min-height:40px; }
    #veMargeBtn{ display:none; }
    #veMonZoom{ display:none; }
    .ve-panel{ border-right:0; border-left:0; border-top:1px solid var(--line);
      max-height:34vh; overflow-y:auto; }
    .ve-panel:last-child{ border-left:0; }
    .ve-panel > .ve-ph{ position:sticky; top:0; z-index:2; cursor:pointer;
      justify-content:space-between; }
    .ve-panel > .ve-ph::after{ content:'▾'; font-size:13px; opacity:.7; }
    .ve-panel.is-dicht{ max-height:none; }
    .ve-panel.is-dicht > *:not(.ve-ph){ display:none; }
    .ve-panel.is-dicht > .ve-ph::after{ content:'▸'; }
    #veInspNaam{ display:inline; }
    .ve-tl{ min-height:150px; }
    .ve-top{ overflow-x:auto; -webkit-overflow-scrolling:touch;
      scrollbar-width:thin; min-width:0; max-width:100%; }
    .ve-top > *{ flex:none; }
    .ve-top{ gap:6px; padding:6px 8px; flex-wrap:nowrap; }
    .ve-back{ padding:0 9px; gap:0; }
    .ve-back::before{ content:"←"; }
    .ve-back-l{ display:none; }
    .ve-logo{ display:none; }
    .ve-top > .ve-spacer{ display:none; }
    .ve-top > .ve-proj{ flex:1 1 60px; width:auto; min-width:60px; overflow:hidden;
      text-overflow:ellipsis; white-space:nowrap; }
    .ve-top .ve-btn{ padding:6px 8px; }
    .ve-top #veExport .ve-lbl{ display:none; }
    .ve-top #veTitle, .ve-top #veGraphic, .ve-top #veSubs, .ve-top #veVoice, .ve-top #veImport,
    .ve-top #veOpen, .ve-top #veSave, .ve-top #veStill, .ve-top #veHelp,
    .ve-top #vsKnop{ display:none; }
    .ve-top .kop-r{ gap:6px; }
    .ve-top .ve-meer{ display:inline-flex; }
    .ve-app{ height:100dvh; }
    .ve-tlbar{ overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin;
      flex-wrap:nowrap; }
    .ve-tlbar > *{ flex:none; }
    .ve-tool{ white-space:nowrap; }
    .ve-tr-row{ gap:5px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
    .ve-tr-row > :not(.ve-spacer){ flex:none; }
    #veMeter{ display:none; }
    #veCurIn{ width:88px; font-size:11.5px; }
    .ve-tr-row .ve-tc{ font-size:11.5px; }
  }
  @media (pointer:coarse) and (orientation:landscape) and (max-height:500px){
    .ve-app{ height:100dvh; display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);
      grid-template-rows:auto minmax(150px,1fr) auto minmax(0,auto) minmax(0,auto); }
    .ve-app:has(> .ve-main > .ve-panel:not(.is-dicht)){ grid-template-rows:auto minmax(118px,1fr) auto minmax(0,auto) minmax(0,auto); }
    .ve-main, .ve-main > .ve-panel{ display:contents; }
    .ve-mon{ grid-column:1; grid-row:2 / 6; contain:size; min-height:0; border-right:1px solid var(--line); }
    .ve-tl{ grid-column:2 / 4; grid-row:2; height:auto; min-height:0; }
    .ve-main > .ve-panel > .ve-ph{ grid-row:3; min-width:0; cursor:pointer; justify-content:space-between; border-top:1px solid var(--line); }
    .ve-main > .ve-panel:first-child > .ve-ph{ grid-column:2; border-right:1px solid var(--line); }
    .ve-main > .ve-panel:last-child > .ve-ph{ grid-column:3; }
    .ve-main > .ve-panel > .ve-ph::after{ content:'▴'; font-size:13px; opacity:.7; }
    .ve-main > .ve-panel:not(.is-dicht) > .ve-ph{ color:var(--ink); box-shadow:inset 0 -2px var(--accent); }
    .ve-main > .ve-panel.is-dicht > .ve-ph::after{ content:'▾'; }
    #veInspNaam{ display:inline; }
    .ve-main > .ve-panel.is-dicht > *:not(.ve-ph){ display:none; }
    .ve-main > .ve-panel > :not(.ve-ph){ grid-column:2 / 4; min-height:0; background:var(--panel); }
    .ve-main > .ve-panel:first-child > :not(.ve-ph){ grid-row:4; }
    .ve-main > .ve-panel:last-child > :not(.ve-ph){ grid-row:5; }
    .ve-mon > .ve-ph{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; white-space:nowrap; padding-top:0; padding-bottom:0; }
    .ve-mon > .ve-ph > *{ flex:none; }
    .ve-mon > .ve-ph > .sp{ flex:1 1 0; }
    .ve-stage{ min-height:0; padding:2px; }
    .ve-transport{ padding:2px 8px; gap:2px; }
    #veMargeBtn, #veMonZoom, #veMeter{ display:none; }
    .ve-tr-row{ gap:5px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
    .ve-tr-row > :not(.ve-spacer){ flex:none; }
    #veCurIn{ width:88px; font-size:11.5px; }
    .ve-top{ grid-column:1 / -1; grid-row:1; gap:6px; padding:2px 8px; flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; min-width:0; }
    .ve-top > *{ flex:none; }
    .ve-back{ padding:0 9px; gap:0; }
    .ve-back::before{ content:"←"; }
    .ve-back-l, .ve-logo, .ve-top > .ve-spacer, .ve-top #veExport .ve-lbl{ display:none; }
    .ve-top > .ve-proj{ flex:1 1 60px; width:auto; min-width:60px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .ve-top .ve-btn{ padding:6px 8px; }
    .ve-top #veTitle, .ve-top #veGraphic, .ve-top #veSubs, .ve-top #veVoice, .ve-top #veImport,
    .ve-top #veOpen, .ve-top #veSave, .ve-top #veStill, .ve-top #veHelp, .ve-top #vsKnop{ display:none; }
    .ve-top .ve-meer{ display:inline-flex; }
    .ve-menu{ max-height:calc(100vh - 54px - var(--gateH, 0px)); max-height:calc(100dvh - 54px - var(--gateH, 0px)); overflow-y:auto; }
    .ve-tlbar{ overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; flex-wrap:nowrap; }
    .ve-tlbar > *{ flex:none; }
    .ve-tlbar .ve-tool{ white-space:nowrap; }
    .ve-tlbar > #veToolSel, .ve-tlbar > #veToolRazor{ order:-2; }
    .ve-tlbar > #veSplit{ order:-1; }
    .ve-asset .ve-plus{ min-width:40px; min-height:40px; }
    .ve-src-row{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; gap:4px; }
    .ve-src-row > *{ flex:none; }
    .ve-src-row .mini{ white-space:nowrap; }
    .ve-mon.bron > .ve-transport{ display:none; }
    .ve-src-bar{ padding:2px 8px; gap:2px; }
    .ve-src-band{ height:4px; }
    .ve-src-row .mini{ padding:3px 7px; }
    body:not(.ve-gate) #dlpalBtn{ display:none; }
  }
  .ve-lane-meer, .ve-lane-st, .ve-lane-hd .lc > .ve-lane-meer{ display:none; }
  @media (pointer:coarse){
    .ve-top .ve-btn, .ve-top > button, .ve-top .ve-back, .ve-top .ve-file{ min-height:32px; min-width:32px; justify-content:center; }
    .ve-top .ve-back{ display:inline-flex; align-items:center; }
    .ve-top > .ve-proj{ min-height:32px; box-sizing:border-box; }
    .ve-ph button, .ve-ph select{ min-height:32px; min-width:32px; }
    .ve-asset button{ min-width:32px; min-height:32px; }
    .ve-scrub{ height:32px; }
    #veCurIn{ min-height:32px; box-sizing:border-box; }
    .ve-tbtn{ min-width:32px; min-height:32px; justify-content:center; align-items:center; }
    .ve-tool{ min-height:32px; min-width:32px; justify-content:center; }
    .ve-ctx button{ min-height:36px; }
  }
  @media (pointer:coarse) and (max-width:820px){
    .ve-tr-row{ gap:1px; }
    .ve-tr-row .ve-tc{ padding:2px 5px; }
    .ve-lane-hd{ display:grid; grid-template-columns:minmax(0,1fr) 32px; grid-template-rows:auto auto; align-content:center; column-gap:2px; }
    .ve-lane-hd .ln{ grid-column:1; grid-row:1; }
    .ve-lane-hd .lc{ grid-column:2; grid-row:1 / span 2; margin:0; align-self:center; }
    .ve-lane-hd .lc > button:not(.ve-lane-meer){ display:none; }
    .ve-lane-hd .lc > .ve-lane-meer{ display:inline-flex; width:32px; height:32px; font-size:16px; color:var(--ink); background:#ffffff10; border-radius:6px; }
    .ve-lane-st{ display:block; grid-column:1; grid-row:2; font-size:10px; line-height:12px; color:var(--muted); white-space:nowrap; overflow:hidden; }
  }
  @media (pointer:coarse){ .ve-src-row .mini, #veSrcScrub{ min-height:32px; } }
  .schuif-rechts{ -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent); mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent); }
  .schuif-links{ -webkit-mask-image:linear-gradient(to left,#000 calc(100% - 34px),transparent); mask-image:linear-gradient(to left,#000 calc(100% - 34px),transparent); }
  .schuif-links.schuif-rechts{ -webkit-mask-image:linear-gradient(to right,transparent,#000 34px,#000 calc(100% - 34px),transparent); mask-image:linear-gradient(to right,transparent,#000 34px,#000 calc(100% - 34px),transparent); }