@keyframes frame-capture-flash{0%{opacity:.5}to{opacity:0}}.frame-capture{margin-top:var(--space-l);overflow:hidden}.frame-capture[hidden],.frame-capture__error[hidden],.frame-capture__tray[hidden]{display:none}.frame-capture__error{color:var(--colour-error);margin:var(--space-m)0 0}.frame-capture__stage{background:#000;line-height:0;position:relative}.frame-capture__video{background:#000;display:block;max-height:60vh;object-fit:contain;width:100%}.frame-capture__badge{background:rgba(0,0,0,.7);border-radius:var(--border-radius);bottom:var(--space-s);color:#fff;font-size:var(--font-size-s);font-variant-numeric:tabular-nums;left:var(--space-s);line-height:1.4;margin:0;max-width:calc(100% - var(--space-l));padding:var(--space-xs) var(--space-s);position:absolute}.frame-capture__flash{background:#fff;inset:0;opacity:0;pointer-events:none;position:absolute}.frame-capture__flash--on{animation:frame-capture-flash 250ms ease-out}.frame-capture__controls{display:flex;flex-direction:column;gap:var(--space-m);padding:var(--space-l)}.frame-capture__filmstrip{border-radius:var(--border-radius);cursor:pointer;height:54px;overflow:hidden;position:relative}.frame-capture__filmstrip-canvas{background:var(--background-tertiary);display:block;height:100%;width:100%}.frame-capture__playhead{background:var(--colour-accent);bottom:0;box-shadow:0 0 0 1px rgba(0,0,0,.5);left:0;pointer-events:none;position:absolute;top:0;width:3px}.frame-capture__mark{background:#fff;bottom:0;height:10px;pointer-events:none;position:absolute;width:2px}.frame-capture__scrub{width:100%}.frame-capture__transport{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-s)}.frame-capture__number,.frame-capture__time{font-size:var(--font-size-s);padding:.9rem 1rem}.frame-capture__time{font-variant-numeric:tabular-nums;text-align:center;width:8.5rem}.frame-capture__capture{margin-left:auto}.frame-capture__step{padding:.9rem 1.6rem}.frame-capture__group{min-width:0}.frame-capture__note{color:var(--text-secondary);font-size:var(--font-size-s);margin:var(--space-s)0 0}.frame-capture__batch{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-s);margin-top:var(--space-m)}.frame-capture__batch-text{color:var(--text-secondary)}.frame-capture__number{width:6rem}.frame-capture__settings{display:grid;gap:var(--space-l);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:var(--space-l)}.frame-capture__setting{min-width:0}.frame-capture__tray{margin-top:var(--space-xl)}.frame-capture__tray-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-s);margin-bottom:var(--space-m)}.frame-capture__tray-title{flex:1;margin:0;min-width:12rem}.frame-capture__tray-count{color:var(--text-secondary);font-size:var(--font-size-s)}.frame-capture__grid{display:grid;gap:var(--space-m);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.frame-capture__card{display:flex;flex-direction:column;margin:0;min-width:0;padding:0}.frame-capture__card-image{background:var(--background-tertiary);border-radius:var(--border-radius) var(--border-radius)0 0;display:block;height:auto;max-width:100%;object-fit:contain;width:100%}.frame-capture__card-footer{display:flex;flex-direction:column;gap:var(--space-s);min-width:0;padding:var(--space-m)}.frame-capture__card-name{font-size:var(--font-size-s);font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame-capture__card-row{align-items:center;display:flex;gap:var(--space-s);justify-content:space-between}.frame-capture__card-text{flex:1;min-width:0}.frame-capture__card-meta,.frame-capture__card-time{font-size:var(--font-size-s);line-height:1.3;margin:0}.frame-capture__card-time{font-variant-numeric:tabular-nums}.frame-capture__card-meta{color:var(--text-secondary)}.frame-capture__card-actions{display:flex;flex:0 0 auto;gap:var(--space-xs)}.frame-capture__icon-button{font-size:var(--font-size-m);height:3.6rem;padding:0;width:3.6rem}.frame-capture__icon-button .bi{font-size:var(--font-size-m);line-height:1;margin:0}.frame-capture__menu{min-width:18rem;position:fixed;position-try-fallbacks:flip-block,flip-inline;top:calc(anchor(bottom) + var(--space-xs));transition:opacity 100ms ease-in-out,visibility 100ms ease-in-out}.frame-capture__more--open .frame-capture__menu{opacity:1;visibility:visible}:where(button).dropdown-menu__link{appearance:none;background:0 0;border:0;cursor:pointer;font-family:inherit;text-align:left}@media (max-width:600px){.frame-capture__controls{padding:var(--space-m)}.frame-capture__capture{margin-left:0;width:100%}}@media (prefers-reduced-motion:reduce){.frame-capture__flash--on{animation:none}}