.sidebar { display: grid; align-content: start; gap: var(--s-4); min-width: 0; } .panel { overflow: hidden; background-color: var(--color-bg-high); border: 1px solid var(--color-border); border-radius: var(--radius-box); & > header { margin: 0; padding-inline: var(--s-1-5) var(--s-3); border-top: 0; } } .endsIn { color: var(--color-text-high); white-space: nowrap; } .progress { height: 3px; background-color: var(--color-bg-higher); } .progressBar { height: 100%; background: linear-gradient( 90deg, color-mix(in oklch, var(--color-fill-accent) 40%, transparent), var(--color-fill-accent) ); border-radius: 0 var(--radius-full) var(--radius-full) 0; } .rotations { display: grid; margin: 0; padding: 0; list-style: none; } .rotation { display: grid; gap: var(--s-2); padding: var(--s-3); & + & { border-top: var(--border-style); } } .rotationHeader { display: flex; align-items: center; gap: var(--s-1-5); min-width: 0; white-space: nowrap; } .rotationMode { overflow: hidden; font-size: var(--font-sm); font-weight: var(--weight-bold); text-overflow: ellipsis; } .rotationType { flex-shrink: 0; margin-left: auto; padding: var(--s-0-5) var(--s-2); font-size: var(--font-3xs); font-weight: var(--weight-semi); color: var(--color-text-high); text-transform: uppercase; letter-spacing: 0.04em; background-color: var(--color-bg-higher); border-radius: var(--radius-full); } .stages { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-1-5); } .stage { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--radius-field); background-color: var(--color-bg-higher); &::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.08); pointer-events: none; } } .stageImageContainer { display: contents; } .stageImage { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } .stageName { position: absolute; inset: auto 0 0; padding: var(--s-5) var(--s-2) var(--s-1-5); font-size: var(--font-2xs); font-weight: var(--weight-bold); line-height: 1.2; color: white; text-wrap: balance; text-shadow: 0 1px 2px rgb(0 0 0 / 0.6); background: linear-gradient( transparent, rgb(0 0 0 / 0.45) 45%, rgb(0 0 0 / 0.8) ); } .next { display: flex; align-items: center; gap: var(--s-1-5); min-width: 0; font-size: var(--font-2xs); white-space: nowrap; } .nextLabel { font-size: var(--font-3xs); font-weight: var(--weight-bold); color: var(--color-text-high); text-transform: uppercase; letter-spacing: 0.06em; } .nextStages { overflow: hidden; text-overflow: ellipsis; } .credit { padding: var(--s-2) var(--s-3); font-size: var(--font-3xs); text-align: right; border-top: var(--border-style); & a { color: var(--color-text-high); } } .streams { display: grid; grid-template-columns: minmax(0, 1fr); padding: var(--s-2) var(--s-1); & a:hover { background-color: var(--color-bg-higher); } } .empty { padding: var(--s-1) var(--s-2); font-size: var(--font-2xs); font-style: italic; color: var(--color-text-high); }