/* Premiere reference: saturated media labels on a neutral editing surface. */
.premiere-workspace .editor-upper {
  height: 282px;
  grid-template-rows: minmax(0, 1fr);
}
.premiere-workspace .program-monitor { min-height: 0; }
.premiere-workspace .monitor-picture > img { object-fit: contain; }
.premiere-workspace .monitor-controls,
.premiere-workspace .editor-panel-title { flex-shrink: 0; }
.premiere-timeline {
  --timeline-rows: 18px 13px 38px 31px 26px 20px 34px;
  height: 248px;
  background: #222324;
  border-top: 2px solid #151617;
  box-shadow: inset 0 0 0 1px #3876a88c;
}
.premiere-timeline .timeline-title {
  height: 30px;
  color: #cdced0;
}
.premiere-timeline .timeline-title > span:first-child {
  border-bottom-color: #4099d7;
}
.premiere-timeline .timeline-title > span:last-child {
  color: #b7c8d8;
}
.premiere-timeline .timeline-body {
  grid-template-columns: 49px minmax(0, 1fr) 14px;
  gap: 6px;
  padding: 7px 8px 5px;
}
.premiere-timeline .track-labels,
.premiere-timeline .timeline-lanes {
  grid-template-rows: var(--timeline-rows);
}
.premiere-timeline .track-labels > span {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 7px;
  border-bottom: 1px solid #ffffff08;
  font-size: 7px;
  color: #b8bdc1;
}
.premiere-timeline .track-labels b {
  font-weight: 400;
  display: grid;
  place-items: center;
  height: calc(100% - 2px);
  width: 18px;
  background: #175680;
  color: #c4dfef;
}
.premiere-timeline .track-labels small {
  font: 400 6px/1 var(--sans);
  white-space: nowrap;
  color: #a3a6a8;
}
.premiere-timeline .track-labels .track-time {
  font-size: 7px;
  color: #4fb3f3;
  letter-spacing: -.5px;
  border: 0;
}
.premiere-timeline .timeline-ruler {
  grid-row: 1;
  color: #a9aaad;
  font-size: 6.5px;
}
.premiere-timeline .caption-track { grid-row: 2; }
.premiere-timeline .caption-track span {
  background: #774a9c;
  border-color: #b992d270;
  color: #f4e2ff;
}
.premiere-timeline .video-track,
.premiere-timeline .trim-track { grid-row: 3; }
.premiere-timeline .timeline-clip,
.premiere-timeline .timeline-clip:nth-child(2),
.premiere-timeline .timeline-clip:nth-child(4),
.premiere-timeline .trim-clip {
  height: 36px;
  background: #244f80;
  border: 1px solid #6f95b8;
  border-radius: 1px;
}
.premiere-timeline .timeline-clip:nth-child(2) { flex: 1.2; }
.premiere-timeline .timeline-clip:nth-child(3) { flex: 1.1; }
.premiere-timeline .timeline-clip:nth-child(4) { flex: .9; }
.premiere-timeline .timeline-clip > span,
.premiere-timeline .trim-clip > span {
  height: 11px;
  padding: 2px 3px;
  font-size: 6.5px;
  color: #e1eeff;
}
.premiere-timeline .timeline-clip > i,
.premiere-timeline .trim-clip > i {
  height: 23px;
  margin-left: 2px;
  background-repeat: no-repeat;
  background-size: auto 100%;
  filter: brightness(.94) saturate(.96);
}
.premiere-timeline .timeline-clip em {
  position: absolute;
  right: 4px;
  top: 13px;
  color: #b8d3ea;
  font: italic 8px/1 var(--sans);
  opacity: .8;
}
.premiere-timeline .trim-track { height: 36px; }
.premiere-timeline .trim-original { bottom: 0; border-radius: 1px; }
.premiere-timeline .fade-ramp { top: 11px; height: 23px; }
.premiere-timeline .audio-track { grid-row: 4; }
.premiere-timeline .effects-track { grid-row: 5; }
.premiere-timeline .ambience-track { grid-row: 6; }
.premiere-timeline .music-track { grid-row: 7; }
.premiere-timeline .audio-track,
.premiere-timeline .effects-track,
.premiere-timeline .ambience-track,
.premiere-timeline .music-track {
  position: relative;
  min-width: 0;
  height: calc(100% - 2px);
  border: 1px solid var(--track-border);
  border-radius: 1px;
  overflow: hidden;
  background: var(--track-background);
}
.premiere-timeline .audio-track {
  --track-background: #0b461d;
  --track-border: #3d8854;
  --waveform: url('assets/waveform-dialogue.svg');
}
.premiere-timeline .effects-track {
  --track-background: #073b54;
  --track-border: #428298;
  --waveform: url('assets/waveform-effects.svg');
}
.premiere-timeline .ambience-track {
  --track-background: #183b28;
  --track-border: #46775b;
  --waveform: url('assets/waveform-ambience.svg');
}
.premiere-timeline .music-track {
  --track-background: #642480;
  --track-border: #a86fbe;
  --waveform: url('assets/waveform-music.svg');
}
.premiere-timeline .audio-track > span,
.premiere-timeline .effects-track > span,
.premiere-timeline .ambience-track > span,
.premiere-timeline .music-track > span {
  position: absolute;
  top: 2px;
  left: 4px;
  color: #e0e8ed;
  font-size: 6px;
  line-height: 1;
  z-index: 2;
}
.premiere-timeline .audio-track > i,
.premiere-timeline .effects-track > i,
.premiere-timeline .ambience-track > i,
.premiere-timeline .music-track > i {
  position: absolute;
  display: block;
  inset: 8px 0 0;
  background: var(--waveform) center / 100% 100% no-repeat;
  clip-path: none;
}
.premiere-timeline .ambience-track > i { top: 6px; }
.premiere-timeline .track-envelope {
  position: absolute;
  inset: 8px 0 0;
  width: 100%;
  height: calc(100% - 8px);
  pointer-events: none;
}
.premiere-timeline .track-envelope path {
  fill: none;
  stroke: #e7efebb3;
  stroke-width: .8px;
  vector-effect: non-scaling-stroke;
}
.premiere-timeline .track-envelope rect { fill: #d2d9d7; }
.premiere-timeline .track-envelope .transition-box { stroke: #e7efeb73; }
.premiere-timeline span.track-fx { left: auto; right: 4px; color: #d9e7e8; font-style: italic; }
.premiere-timeline .cut-markers { top: 31px; height: 67px; z-index: 3; }
.premiere-timeline .cut-markers > span {
  background: #e2eafc14;
  border-left-color: #ecf4ffd1;
  border-right-color: #dfedff66;
  font-size: 5px;
}
.premiere-timeline .cut-markers > span:before { background: #476b91; border-color: #abc9e280; }
.premiere-timeline .playhead { top: 13px; background: #329feb; box-shadow: none; z-index: 4; }
.premiere-timeline .playhead:before { width: 8px; height: 7px; }
.premiere-timeline .timeline-scan { z-index: 5; }
.premiere-timeline .editor-status { color: #a0a1a5; bottom: 7px; }
.audio-meters { display: flex; flex-direction: column; align-items: center; gap: 4px; color: #a5a6a8; font: 5px/1 var(--mono); }
.audio-meters > div { flex: 1; width: 10px; background: #101311; border: 1px solid #454846; display: flex; align-items: flex-end; gap: 1px; }
.audio-meters i { display: block; width: 3px; height: 82%; background: repeating-linear-gradient(0deg,transparent 0 3px,#172d273b 3px 4px),linear-gradient(#e0c751 0 10%,#4ad655 10% 100%); }
.audio-meters i + i { height: 71%; }
@media(min-width:1600px) {
  .premiere-workspace .editor-upper { height: 307px; }
}
@media(max-width:1000px) and (min-width:701px) {
  .premiere-workspace .editor-upper { height: 271px; }
  .premiere-timeline .timeline-body { grid-template-columns: 29px minmax(0,1fr) 12px; gap: 4px; }
  .premiere-timeline .track-labels small { display: none; }
}
@media(max-width:700px) {
  .premiere-workspace .editor-upper { height: 189px; }
  .premiere-timeline { --timeline-rows: 15px 11px 32px 28px 24px 18px 30px; height: 219px; }
  .premiere-timeline .timeline-title { height: 27px; }
  .premiere-timeline .timeline-body { grid-template-columns: 21px minmax(0,1fr) 10px; padding: 6px 6px 5px; gap: 4px; }
  .premiere-timeline .track-labels > span { font-size: 6px; }
  .premiere-timeline .track-labels b { width: 17px; }
  .premiere-timeline .track-labels small { display: none; }
  .premiere-timeline .track-labels .track-time { font-size: 4px; letter-spacing: -.3px; }
  .premiere-timeline .timeline-ruler { font-size: 5px; }
  .premiere-timeline .timeline-clip,.premiere-timeline .timeline-clip:nth-child(2),.premiere-timeline .timeline-clip:nth-child(4),.premiere-timeline .trim-clip { height: 30px; }
  .premiere-timeline .timeline-clip > span,.premiere-timeline .trim-clip > span { height: 9px; font-size: 4.5px; padding: 1px 2px; }
  .premiere-timeline .timeline-clip > i,.premiere-timeline .trim-clip > i { height: 19px; }
  .premiere-timeline .timeline-clip em { font-size: 6px; top: 11px; right: 3px; }
  .premiere-timeline .trim-track { height: 30px; }
  .premiere-timeline .fade-ramp { top: 9px; height: 19px; }
  .premiere-timeline .audio-track > span,.premiere-timeline .effects-track > span,.premiere-timeline .ambience-track > span,.premiere-timeline .music-track > span { font-size: 5px; }
  .premiere-timeline .cut-markers { top: 26px; height: 58px; }
  .premiere-timeline .editor-status { font-size: 5px; }
  .audio-meters > div { width: 9px; }
}

/* Playback stays grounded in familiar editor behavior: a cursor, meters, and edit points. */
.premiere-timeline .playhead { will-change: transform; }
.premiere-timeline .audio-meters i { transform-origin: center bottom; will-change: transform; }
.premiere-timeline .timeline-clip { transition: border-color .22s, box-shadow .22s; }
.premiere-timeline .timeline-clip.clip-is-playing {
  border-color: #b4d8f4;
  box-shadow: inset 0 0 0 1px #93c8ec55;
}
.premiere-timeline .cut-markers > span { transition: background .2s, box-shadow .2s, border-color .2s; }
.premiere-timeline .cut-markers > span.cut-is-current {
  background: #c4e2ff3b;
  border-left-color: #e7f4ff;
  box-shadow: 0 0 9px #8ecbff55;
}
.premiere-timeline .cut-markers > span.cut-is-current:before { background: #4c81b3; }
.premiere-timeline.is-preview-playing #preview-playback-status { color: #9dcab4; }
.demo-preview-controls { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.demo-preview-controls button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 3px 5px;
  border: 0;
  background: none;
  color: #716c7b;
  font-size: 11px;
}
.demo-preview-controls button:hover { color: #322b3e; }
.demo-preview-controls button:disabled { opacity: .7; cursor: default; }
#toggle-preview .preview-play-icon { display: none; }
#toggle-preview[aria-pressed="true"] .preview-pause-icon { display: none; }
#toggle-preview[aria-pressed="true"] .preview-play-icon { display: block; }
.motion-off .premiere-timeline .timeline-clip,
.motion-off .premiere-timeline .cut-markers > span { transition: none; }
@media(max-width:700px) {
  .demo-caption-row { flex-wrap: wrap; row-gap: 3px; }
  .demo-caption-row > span { flex: 1 0 100%; max-width: none; }
  .demo-preview-controls { margin-left: auto; gap: 9px; }
  .demo-preview-controls button { font-size: 10px; }
}
