/* My Football video editor workspace — production foundation */
:root,
html[data-mfe-theme="base"]{
  color-scheme:dark;
  --bg:#06110d;
  --bg2:#07151a;
  --panel:#09131b;
  --line:rgba(255,255,255,.10);
  --text:#f4f8fa;
  --muted:#91a5b2;
  --accent:#22c55e;
  --accent-dark:#16a34a;
  --shadow:0 18px 42px rgba(0,0,0,.34);
  --mfe-surface-plain:rgba(255,255,255,.035);
  --mfe-surface-soft:rgba(255,255,255,.055);
  --mfe-card-bg:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  --mfe-card-bg-strong:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  --mfe-input-bg:rgba(255,255,255,.045);
  --mfe-input-border:rgba(255,255,255,.11);
  --mfe-accent-rgb:34,197,94;
  --mfe-accent-bg:rgba(var(--mfe-accent-rgb),.12);
  --mfe-accent-bg-strong:rgba(var(--mfe-accent-rgb),.22);
  --mfe-accent-border:rgba(var(--mfe-accent-rgb),.30);
  --mfe-accent-text:#dcffe8;
  --mfe-danger:#ef4444;
  --mfe-warning:#f59e0b;
  --mfe-success:#22c55e;
  --mfe-scroll-track:rgba(255,255,255,.04);
  --mfe-scroll-thumb:rgba(var(--mfe-accent-rgb),.42);
  --mfe-scroll-thumb-hover:rgba(var(--mfe-accent-rgb),.62);
}
html[data-mfe-theme="light"]{
  color-scheme:light;
  --bg:#eef4f1;
  --bg2:#f8fafc;
  --panel:#ffffff;
  --line:rgba(15,23,42,.13);
  --text:#102018;
  --muted:#5b6b7c;
  --accent:#16a34a;
  --accent-dark:#15803d;
  --shadow:0 18px 42px rgba(15,23,42,.12);
  --mfe-surface-plain:rgba(255,255,255,.86);
  --mfe-surface-soft:rgba(248,250,252,.95);
  --mfe-card-bg:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,250,252,.94));
  --mfe-card-bg-strong:linear-gradient(180deg,#fff,rgba(241,245,249,.98));
  --mfe-input-bg:rgba(255,255,255,.98);
  --mfe-input-border:rgba(15,23,42,.16);
  --mfe-accent-rgb:22,163,74;
  --mfe-accent-bg:rgba(22,163,74,.10);
  --mfe-accent-bg-strong:rgba(22,163,74,.18);
  --mfe-accent-border:rgba(22,163,74,.30);
  --mfe-accent-text:#064e3b;
  --mfe-scroll-track:rgba(15,23,42,.05);
  --mfe-scroll-thumb:rgba(22,163,74,.40);
  --mfe-scroll-thumb-hover:rgba(22,163,74,.58);
}
html[data-mfe-theme="gray"]{
  color-scheme:dark;
  --bg:#111315;
  --bg2:#1d2024;
  --panel:#171a1f;
  --line:rgba(255,255,255,.09);
  --text:#f3f4f6;
  --muted:#a8b0bb;
  --accent:#d1d5db;
  --accent-dark:#9ca3af;
  --shadow:0 18px 42px rgba(0,0,0,.38);
  --mfe-surface-plain:rgba(255,255,255,.035);
  --mfe-surface-soft:rgba(255,255,255,.05);
  --mfe-card-bg:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  --mfe-card-bg-strong:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  --mfe-input-bg:rgba(255,255,255,.05);
  --mfe-input-border:rgba(255,255,255,.11);
  --mfe-accent-rgb:209,213,219;
  --mfe-accent-bg:rgba(209,213,219,.10);
  --mfe-accent-bg-strong:rgba(209,213,219,.18);
  --mfe-accent-border:rgba(209,213,219,.26);
  --mfe-accent-text:#f8fafc;
  --mfe-scroll-track:rgba(255,255,255,.04);
  --mfe-scroll-thumb:rgba(209,213,219,.32);
  --mfe-scroll-thumb-hover:rgba(209,213,219,.50);
}
html[data-mfe-theme="custom"]{
  color-scheme:dark;
  --bg:#04101a;
  --bg2:#071628;
  --panel:#0a1627;
  --line:rgba(255,255,255,.08);
  --text:#eef3f9;
  --muted:#9cb0c7;
  --accent:var(--mfe-custom-primary,#22c55e);
  --accent-dark:var(--mfe-custom-primary-dark,#16a34a);
  --shadow:0 18px 42px rgba(0,0,0,.38);
  --mfe-surface-plain:rgba(255,255,255,.035);
  --mfe-surface-soft:rgba(255,255,255,.05);
  --mfe-card-bg:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  --mfe-card-bg-strong:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  --mfe-input-bg:rgba(255,255,255,.05);
  --mfe-input-border:rgba(255,255,255,.11);
  --mfe-accent-rgb:var(--mfe-custom-primary-rgb,34,197,94);
  --mfe-accent-bg:rgba(var(--mfe-accent-rgb),.12);
  --mfe-accent-bg-strong:rgba(var(--mfe-accent-rgb),.22);
  --mfe-accent-border:rgba(var(--mfe-accent-rgb),.28);
  --mfe-accent-text:#ffffff;
  --mfe-scroll-track:rgba(255,255,255,.04);
  --mfe-scroll-thumb:rgba(var(--mfe-accent-rgb),.42);
  --mfe-scroll-thumb-hover:rgba(var(--mfe-accent-rgb),.62);
}

:root{
  --rail-w:64px;
  --panel-w:252px;
  --panel-live-w:var(--panel-w);
  --topbar-h:64px;
  --cuts-drawer-h:188px;
  --sequence-drawer-h:266px;
  --workspace-bg:var(--bg);
  --workspace-bg-2:var(--bg2);
  --workspace-panel:var(--panel);
  --workspace-surface:var(--mfe-surface-plain);
  --workspace-surface-strong:var(--mfe-surface-soft);
  --workspace-line:var(--line);
  --workspace-text:var(--text);
  --workspace-muted:var(--muted);
  --workspace-accent:var(--accent);
  --workspace-accent-dark:var(--accent-dark);
  --workspace-accent-soft:var(--mfe-accent-bg);
  --workspace-accent-strong:var(--mfe-accent-bg-strong);
  --workspace-accent-border:var(--mfe-accent-border);
  --workspace-accent-text:var(--mfe-accent-text);
  --workspace-shadow:var(--shadow);
  --workspace-radius:14px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0}
html{background:var(--workspace-bg)}
body.video-workspace-page{overflow:hidden;background:linear-gradient(145deg,var(--workspace-bg),var(--workspace-bg-2));color:var(--workspace-text);font-size:13px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}
a{color:inherit}
[hidden],.is-hidden{display:none!important}
.workspace-hidden-meta{display:none!important}

/* Shared controls */
.btn{min-height:36px;height:36px;padding:0 12px;border:1px solid var(--mfe-input-border);border-radius:10px;background:var(--workspace-surface);color:var(--workspace-text);font-size:11px;font-weight:800;line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.btn:hover:not(:disabled){border-color:var(--workspace-accent-border);background:var(--workspace-surface-strong)}
.btn.primary{border-color:var(--workspace-accent-border);background:var(--workspace-accent-strong);color:var(--workspace-accent-text)}
.btn.primary:hover:not(:disabled){background:var(--workspace-accent-strong);box-shadow:0 0 0 3px rgba(var(--mfe-accent-rgb),.08)}
.btn.danger{border-color:rgba(239,68,68,.34);background:rgba(239,68,68,.09);color:#ef4444}
html:not([data-mfe-theme="light"]) .btn.danger{color:#fecaca}
.btn.subtle{height:30px;min-height:30px;padding:0 9px;font-size:9.5px}
.btn.small{height:30px;min-height:30px;padding:0 9px;font-size:10px}
.btn.full{width:100%}
.btn.telestrator-btn{border-color:var(--workspace-accent-border);background:var(--workspace-accent-strong);color:var(--workspace-accent-text)}
.overlay-size-range{width:100%;height:24px;margin:0;padding:0;background:transparent;accent-color:var(--workspace-accent);cursor:pointer}
.overlay-size-range::-webkit-slider-runnable-track{height:7px;border:1px solid var(--workspace-line);border-radius:999px;background:var(--workspace-surface)}
.overlay-size-range::-webkit-slider-thumb{width:16px;height:16px;margin-top:-5px;border:2px solid var(--workspace-panel);border-radius:50%;background:var(--workspace-accent);box-shadow:0 0 0 2px var(--workspace-accent-border);appearance:none;-webkit-appearance:none}
.overlay-size-range::-moz-range-track{height:7px;border:1px solid var(--workspace-line);border-radius:999px;background:var(--workspace-surface)}
.overlay-size-range::-moz-range-progress{height:7px;border-radius:999px;background:var(--workspace-accent)}
.overlay-size-range::-moz-range-thumb{width:14px;height:14px;border:2px solid var(--workspace-panel);border-radius:50%;background:var(--workspace-accent);box-shadow:0 0 0 2px var(--workspace-accent-border)}
.input,.select,.textarea,input:not([type="range"]):not([type="color"]),select,textarea{width:100%;border:1px solid var(--mfe-input-border);border-radius:10px;background:var(--mfe-input-bg);color:var(--workspace-text);outline:none;font-size:11px}
.input,.select,input:not([type="range"]):not([type="color"]),select{height:36px;min-height:36px;padding:0 10px}
.textarea,textarea{min-height:82px;padding:9px 10px;resize:vertical;line-height:1.4}
.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--workspace-accent);box-shadow:0 0 0 3px rgba(var(--mfe-accent-rgb),.09)}
.input-error{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.10)!important}
input::placeholder,textarea::placeholder{color:var(--workspace-muted);opacity:.82}
select option{background:var(--workspace-panel);color:var(--workspace-text)}
.field{display:grid;gap:5px;margin:0 0 9px;min-width:0}
.field>span,.field>label,.compact-field>span,.compact-field>label,.label{color:var(--workspace-muted);font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.row,.btn-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pill,.tag{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--mfe-input-border);border-radius:999px;background:var(--workspace-surface);color:var(--workspace-muted);font-size:9px;font-weight:800;line-height:1;white-space:nowrap}
.pill{min-height:24px;padding:0 9px}
.pill.active,.tag.active{border-color:var(--workspace-accent-border);background:var(--workspace-accent-strong);color:var(--workspace-accent-text)}
.tag{min-height:20px;padding:0 6px}
.status{min-height:18px;color:var(--workspace-muted);font-size:11px;line-height:1.4}
.empty,.placeholder{border:1px dashed var(--workspace-line);border-radius:11px;background:var(--workspace-surface);color:var(--workspace-muted);text-align:center;font-size:10px;line-height:1.45}
.empty{padding:12px}
.placeholder{padding:9px}

/* Loading */
.app-loading-overlay{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(145deg,var(--workspace-bg),var(--workspace-bg-2));backdrop-filter:blur(10px);opacity:1;visibility:visible;transition:opacity .28s ease,visibility .28s ease}
.app-loading-overlay.hide{opacity:0;visibility:hidden;pointer-events:none}
.app-loading-card{width:min(430px,calc(100vw - 32px));padding:28px 24px 24px;border:1px solid var(--workspace-line);border-radius:20px;background:var(--mfe-card-bg-strong);box-shadow:var(--workspace-shadow);text-align:center}
.app-loading-logo-wrap{width:82px;height:82px;margin:0 auto 14px;padding:9px;border:1px solid var(--workspace-accent-border);border-radius:22px;background:var(--workspace-accent-soft);display:flex;align-items:center;justify-content:center}
.app-loading-logo{width:100%;height:100%;object-fit:contain;border-radius:16px;background:#fff}
.app-loading-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;background:var(--workspace-accent-soft);color:var(--workspace-accent);font-size:8px;font-weight:900;letter-spacing:.12em}
.app-loading-title{margin:12px 0 5px;font-size:20px;line-height:1.2;color:var(--workspace-text)}
.app-loading-copy,.app-loading-foot,.app-loading-status{color:var(--workspace-muted);font-size:10px;line-height:1.45}
.app-loading-progress-wrap{margin-top:18px;text-align:left}
.app-loading-progress-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}
.app-loading-percent{color:var(--workspace-accent);font-size:10px;font-weight:900;font-variant-numeric:tabular-nums}
.app-loading-bar{height:9px;overflow:hidden;border-radius:999px;background:var(--workspace-surface);border:1px solid var(--workspace-line)}
.app-loading-bar-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--workspace-accent-dark),var(--workspace-accent));transition:width .2s ease}
.app-loading-foot{margin-top:9px}
.app-loading-overlay.load-error .app-loading-bar-fill{background:#ef4444}

/* Existing confirmation/export/progress modals */
.modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(2,8,20,.70);backdrop-filter:blur(7px)}
.modal.show{display:flex}
.modal-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:22px;border:1px solid var(--workspace-line);border-radius:18px;background:var(--workspace-panel);color:var(--workspace-text);box-shadow:0 28px 70px rgba(0,0,0,.36);display:grid;gap:14px;scrollbar-width:thin;scrollbar-color:var(--mfe-scroll-thumb) var(--mfe-scroll-track)}
.modal-title{font-size:22px;font-weight:900;line-height:1.12;color:var(--workspace-text)}
.modal-copy{color:var(--workspace-muted);font-size:12px;line-height:1.5}
#exportModal .modal-copy:empty,#progressModal .modal-copy:empty{display:none}
.modal-flex-field{flex:1 1 260px}.modal-fps-field{flex:0 0 110px}
.progress-info-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--workspace-muted);font-size:11px}.progress-info-row .v{color:var(--workspace-accent);font-weight:900;font-variant-numeric:tabular-nums}
.progress-bar{height:12px;overflow:hidden;border-radius:999px;background:var(--workspace-surface);border:1px solid var(--workspace-line)}
.progress-fill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--workspace-accent-dark),var(--workspace-accent));transition:width .2s ease}
.modal-card.is-draggable{position:fixed;margin:0;transform:none;touch-action:none}
.modal-card.is-draggable .modal-drag-handle{cursor:grab;user-select:none;touch-action:none}
.modal-card.is-draggable .modal-drag-handle:active{cursor:grabbing}

/* App share modal; harmless in Editor where it does not exist */
.mfa-share-modal{position:fixed;inset:0;z-index:10030;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(2,8,20,.72);backdrop-filter:blur(8px)}
.mfa-share-modal.open{display:flex}
.mfa-share-card{width:min(520px,100%);padding:22px;border:1px solid var(--workspace-line);border-radius:18px;background:var(--workspace-panel);box-shadow:var(--workspace-shadow);color:var(--workspace-text)}
.mfa-share-title{margin:10px 0 16px;font-size:21px;line-height:1.2}

*{scrollbar-width:thin;scrollbar-color:var(--mfe-scroll-thumb) var(--mfe-scroll-track)}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:var(--mfe-scroll-track)}
*::-webkit-scrollbar-thumb{background:var(--mfe-scroll-thumb);border:2px solid transparent;border-radius:999px;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:var(--mfe-scroll-thumb-hover);background-clip:padding-box}
