Files
sendou.ink/app/features/feed/components/FeedSidebar.module.css
2026-11-04 17:56:09 +02:00

187 lines
3.1 KiB
CSS

.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);
}