Files
sendou.ink/app/features/scanner/components/ScanWorkers.module.css
2026-09-27 09:59:54 +03:00

157 lines
2.4 KiB
CSS

.scanWorkers {
display: flex;
flex-direction: column;
gap: var(--s-3);
}
.headerRow {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--s-2) var(--s-3);
}
.progressText {
font-size: var(--font-2xs);
color: var(--color-text-high);
font-variant-numeric: tabular-nums;
}
.progress {
width: 100%;
height: 8px;
accent-color: var(--color-fg-accent);
}
.laneGrid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--s-3);
}
.lane {
display: flex;
flex-direction: column;
gap: var(--s-1);
}
.laneScreen {
position: relative;
border-radius: var(--radius-box);
outline: 2px solid var(--color-bg-high);
overflow: hidden;
}
.canvas {
display: block;
width: 100%;
aspect-ratio: 16 / 9;
background: #000;
}
.laneDone .canvas {
opacity: 0.35;
filter: grayscale(1);
}
.laneChip,
.modeChip {
position: absolute;
top: var(--s-1-5);
padding: var(--s-0-5) var(--s-2);
border-radius: var(--radius-full);
background: rgb(0 0 0 / 0.6);
color: #fff;
font-size: var(--font-2xs);
font-weight: var(--weight-bold);
}
.laneChip {
left: var(--s-1-5);
}
.modeChip {
right: var(--s-1-5);
display: inline-flex;
align-items: center;
gap: var(--s-1);
color: rgb(255 255 255 / 0.7);
&::before {
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
background: currentColor;
}
&:has(svg)::before {
display: none;
}
}
.modeActive {
color: var(--color-chart-kill);
&::before {
animation: pulse 1s ease-in-out infinite;
}
}
.laneFooter {
position: absolute;
inset: auto 0 0;
display: flex;
flex-direction: column;
gap: var(--s-1);
padding: var(--s-4) var(--s-2) var(--s-1-5);
background: linear-gradient(transparent, rgb(0 0 0 / 0.75));
}
.laneClock {
color: #fff;
font-size: var(--font-md);
font-weight: var(--weight-bold);
font-variant-numeric: tabular-nums;
}
.laneBar {
height: 4px;
border-radius: var(--radius-full);
background: rgb(255 255 255 / 0.2);
overflow: hidden;
}
.laneBarFill {
height: 100%;
background: var(--color-fg-accent);
transition: width 0.25s linear;
}
.laneMeta {
display: flex;
justify-content: space-between;
font-size: var(--font-2xs);
color: var(--color-text-high);
font-variant-numeric: tabular-nums;
}
.laneGames {
color: var(--color-text);
font-weight: var(--weight-bold);
}
@keyframes pulse {
50% {
opacity: 0.3;
}
}
@media (prefers-reduced-motion: reduce) {
.modeActive::before,
.laneBarFill {
animation: none;
transition: none;
}
}