.evf.svelte-ph78bo{max-width:900px;margin:0 auto;padding:40px 24px 72px;box-sizing:border-box}.evf-head.svelte-ph78bo{text-align:center;margin-bottom:28px}.evf-head.svelte-ph78bo h1:where(.svelte-ph78bo){font:800 2rem/1.1 var(--font-display);letter-spacing:-.02em;color:var(--color-text);margin:0 0 12px}.evf-sub.svelte-ph78bo{max-width:600px;margin:0 auto;font:500 1rem/1.6 var(--font-body);color:var(--color-text-muted)}.dropzone.svelte-ph78bo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:280px;padding:40px;border-radius:16px;cursor:pointer;text-align:center;border:2px dashed var(--color-border);background:var(--color-bg-secondary);transition:border-color .15s,background .15s}.dropzone.svelte-ph78bo:hover,.dropzone.drag.svelte-ph78bo{border-color:var(--color-primary);background:rgb(var(--color-primary-rgb) / .05)}.dz-icon.svelte-ph78bo{color:var(--color-primary);margin-bottom:6px}.dz-title.svelte-ph78bo{font:700 1.05rem/1.3 var(--font-body);color:var(--color-text)}.dz-hint.svelte-ph78bo{font-size:.85rem;color:var(--color-text-subtle)}.stage.svelte-ph78bo{display:flex;flex-direction:column;gap:16px}video.svelte-ph78bo{width:100%;max-height:60vh;border-radius:14px;background:#000;border:1px solid var(--color-border)}.evf-error.svelte-ph78bo{margin:0;padding:12px 14px;border-radius:10px;font-size:.88rem;color:#f87171;background:#ef44441a;border:1px solid rgba(239,68,68,.25)}.controls.svelte-ph78bo{display:flex;flex-direction:column;gap:12px}.ctl-row.svelte-ph78bo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.muted.svelte-ph78bo{color:var(--color-text-muted);font-size:.85rem}.btn.svelte-ph78bo{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;font:600 .9rem/1 var(--font-body);cursor:pointer;color:var(--color-text);background:var(--color-bg-tertiary);border:1px solid var(--color-border);transition:background .14s,filter .14s}.btn.svelte-ph78bo:hover:not(:disabled){background:var(--color-surface-hover)}.btn.svelte-ph78bo:disabled{opacity:.5;cursor:default}.btn-primary.svelte-ph78bo{color:var(--color-on-primary);background:var(--color-primary);border-color:transparent}.btn-primary.svelte-ph78bo:hover:not(:disabled){filter:brightness(1.08);background:var(--color-primary)}.btn-ghost.svelte-ph78bo{background:transparent}.num.svelte-ph78bo{width:60px;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text);font-size:.9rem}.range.svelte-ph78bo{accent-color:var(--color-primary)}.seg.svelte-ph78bo{display:inline-flex;gap:2px;padding:2px;border-radius:8px;background:var(--color-bg-secondary);border:1px solid var(--color-border)}.seg-btn.svelte-ph78bo{padding:6px 12px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);font:600 .8rem/1 var(--font-body);cursor:pointer}.seg-active.svelte-ph78bo{background:rgb(var(--color-primary-rgb) / .12);color:var(--color-primary)}.frames.svelte-ph78bo{margin-top:28px}.frames-head.svelte-ph78bo{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.frames-count.svelte-ph78bo{font:700 .95rem/1 var(--font-display);color:var(--color-text)}.frame-grid.svelte-ph78bo{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.frame-card.svelte-ph78bo{border-radius:12px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.frame-card.svelte-ph78bo img:where(.svelte-ph78bo){width:100%;display:block;aspect-ratio:16/9;object-fit:contain;background:#000}.frame-meta.svelte-ph78bo{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font-size:.78rem;color:var(--color-text-muted)}.frame-dl.svelte-ph78bo{padding:5px 10px;border-radius:7px;border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text);font:600 .75rem/1 var(--font-body);cursor:pointer}.frame-dl.svelte-ph78bo:hover{background:var(--color-surface-hover)}.evf-foot.svelte-ph78bo{margin-top:40px;text-align:center;font-size:.85rem;color:var(--color-text-muted)}.evf-foot.svelte-ph78bo a:where(.svelte-ph78bo){color:var(--color-text-muted)}.evf-foot.svelte-ph78bo a:where(.svelte-ph78bo):hover{color:var(--color-primary)}@media(max-width:640px){.evf-head.svelte-ph78bo h1:where(.svelte-ph78bo){font-size:1.5rem}.evf.svelte-ph78bo{padding:28px 16px 56px}}
