/* Line 16011 (edit-bay-eb02-timeline-r1): the edit bay's timeline on the Google path. Colours only from ns-tokens.css (dark by
   default, light under prefers-color-scheme: light); 375 px first. Every level sees the program monitor and the render panel;
   body[data-level] reveals the simple scene strip (advanced) or the multitrack timeline (expert) over the same project. */
.ebt { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 4px 0 12px; }
.ebt > * { min-width: 0; }
.ebt-monitor { background: var(--ns-bg-deep); border-radius: var(--ns-radius); overflow: hidden; }
.ebt-screen { position: relative; width: min(100%, calc(min(52vh, 480px) * var(--ebt-ratio, 1.7778))); aspect-ratio: var(--ebt-aspect, 16 / 9); margin: 0 auto; background: #000; }
/* The program monitor plays the project; EB-01's single-asset preview shows only when a bin asset is being looked at. */
.eb-preview:empty { display: none; }
.ebt-layer { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; }
.ebt-layer video, .ebt-layer img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ebt-transport { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: var(--ns-surface); border-top: 1px solid var(--ns-border); }
.ebt-play { flex: 0 0 44px; height: 44px; border: 0; border-radius: 22px; background: var(--ns-gold); color: var(--ns-on-accent); font-size: 16px; cursor: pointer; }
.ebt-scrub { flex: 1 1 auto; min-width: 0; accent-color: var(--ns-gold); height: 32px; }
.ebt-tc { flex: 0 0 auto; font: 12px/1.2 ui-monospace, 'Roboto Mono', monospace; color: var(--ns-text-2); white-space: nowrap; }

.ebt-simple, .ebt-multi { display: none; }
.eb[data-level="advanced"] .ebt-simple { display: block; }
.eb[data-level="expert"] .ebt-multi { display: block; }

.ebt-strip { list-style: none; margin: 0; padding: 4px 0; display: flex; align-items: stretch; gap: 4px; overflow-x: auto; }
.ebt-scene { position: relative; flex: 1 1 0; min-width: 96px; display: flex; align-items: stretch; border: 1px solid var(--ns-border-strong); border-radius: var(--ns-radius); background: var(--ns-card); }
.ebt-scene__body { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; padding: 8px 6px; border: 0; background: transparent; color: var(--ns-text); text-align: left; cursor: pointer; }
.ebt-scene .eb-name { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ebt-scene .eb-time { font-size: 12px; color: var(--ns-text-2); }
.ebt-handle { flex: 0 0 14px; min-height: 48px; background: var(--ns-border-strong); cursor: ew-resize; touch-action: none; }
.ebt-handle--in { border-radius: var(--ns-radius) 0 0 var(--ns-radius); }
.ebt-handle--out { border-radius: 0 var(--ns-radius) var(--ns-radius) 0; }
.ebt-handle:hover, .ebt-handle:focus-visible { background: var(--ns-gold); }
.ebt-join { flex: 0 0 auto; display: grid; place-items: center; }
.ebt-chip { min-height: 44px; padding: 0 10px; border: 1px dashed var(--ns-border-strong); border-radius: 22px; background: transparent; color: var(--ns-text-2); font-size: 12px; cursor: pointer; }
.ebt-chip.is-on { border-style: solid; border-color: var(--ns-gold); color: var(--ns-text); }

.ebt-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.ebt-snap { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; font-size: 14px; }
.ebt-snap input { width: 20px; height: 20px; accent-color: var(--ns-gold); }
.ebt-scroll { overflow-x: auto; border: 1px solid var(--ns-border); border-radius: var(--ns-radius); background: var(--ns-bg-deep); }
.ebt-tracks { position: relative; min-width: 100%; padding-bottom: 6px; cursor: crosshair; }
.ebt-ruler { position: relative; height: 22px; border-bottom: 1px solid var(--ns-border); }
.ebt-ruler span { position: absolute; top: 3px; font: 11px/1 ui-monospace, monospace; color: var(--ns-text-2); transform: translateX(-50%); }
.ebt-lane { position: relative; height: 52px; margin-top: 6px; }
.ebt-lane__name { position: absolute; left: 6px; top: 16px; font: 700 12px/1 var(--ns-font); color: var(--ns-text-2); }
.ebt-clip { position: absolute; top: 0; height: 100%; display: flex; align-items: stretch; border: 1px solid var(--ns-border-strong); border-radius: 6px; background: var(--ns-card); color: var(--ns-text); overflow: hidden; cursor: grab; touch-action: none; }
.ebt-lane[data-ebt-lane="A1"] .ebt-clip { background: var(--ns-surface); }
.ebt-clip.is-selected { border-color: var(--ns-gold); box-shadow: 0 0 0 2px var(--ns-gold-glow); }
.ebt-clip.has-dissolve::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: var(--ebt-dissolve, 0); background: linear-gradient(90deg, transparent, var(--ns-gold-glow)); pointer-events: none; }
.ebt-clip__name { flex: 1 1 auto; min-width: 0; padding: 6px 4px; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ebt-edge { flex: 0 0 10px; background: var(--ns-border-strong); cursor: ew-resize; }
.ebt-edge:hover { background: var(--ns-gold); }
.ebt-head { position: absolute; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: var(--ns-gold); pointer-events: none; }

.ebt-inspector { margin-top: 10px; padding: 10px; border: 1px solid var(--ns-border); border-radius: var(--ns-radius); background: var(--ns-card); }
.ebt-inspector h3 { margin-top: 0; }
.ebt-facts { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 0 0 10px; font-size: 13px; }
.ebt-facts dt { color: var(--ns-text-2); }
.ebt-facts dd { margin: 0; font-family: ui-monospace, 'Roboto Mono', monospace; overflow-wrap: anywhere; }
.ebt-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ebt-fields label { display: grid; gap: 4px; font-size: 13px; color: var(--ns-text-2); }
.ebt-fields input, .ebt-fields select { min-height: 40px; padding: 0 8px; border: 1px solid var(--ns-border-strong); border-radius: 8px; background: transparent; color: var(--ns-text); font: inherit; }

.ebt-render { display: grid; gap: 8px; padding-top: 4px; }
.ebt-render .eb-row { flex-wrap: wrap; }
.ebt-render__line { margin: 0; flex: 1 1 220px; }
.ebt-make { width: 100%; }
.ebt-progress { height: 8px; border-radius: 4px; background: var(--ns-border); overflow: hidden; }
.ebt-progress span { display: block; height: 100%; width: 0; background: var(--ns-gold); transition: width .3s; }
.ebt-result { display: grid; gap: 8px; }
.ebt-result video { width: 100%; max-height: 52vh; background: #000; border-radius: var(--ns-radius); }
.ebt-receipt { margin: 0; font-size: 13px; color: var(--ns-text-2); }
.ebt-download { display: inline-flex; align-items: center; justify-self: start; text-decoration: none; }

@media (min-width: 768px) {
    .ebt-make { width: auto; }
    .ebt-fields { grid-template-columns: repeat(4, 1fr); }
    .ebt-screen { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .ebt-progress span { transition: none; }
}
