.project-scanner{
 --project-scanner-line:var(--muted,#9ba0b0);
 --project-scanner-red:color-mix(in srgb,#f68caa 84%,var(--accent,#b593ef));
 --project-scanner-blue:color-mix(in srgb,#94b7ff 84%,var(--accent,#b593ef));
 --project-scanner-cyan:color-mix(in srgb,#8de1e5 84%,var(--accent,#b593ef));
 --project-scanner-green:color-mix(in srgb,#9de8b0 84%,var(--accent,#b593ef));
 position:relative;display:block;width:100%;height:24px;min-height:24px;
 margin:0;padding:0;border:0;background:transparent;pointer-events:none;
 contain:layout paint;overflow:hidden;
 mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.project-scanner__rail{
 position:absolute;left:8px;right:8px;top:50%;height:1px;opacity:.22;
 background:repeating-linear-gradient(90deg,var(--project-scanner-line) 0 4px,transparent 4px 15px);
}
.project-scanner__beam{
 position:absolute;left:0;top:calc(50% - 1px);height:3px;width:100px;opacity:0;
 will-change:transform,opacity;
}
.project-scanner__beam::before,.project-scanner__beam::after{
 content:"";position:absolute;inset:1px 0;height:1px;
 background:linear-gradient(90deg,transparent,var(--project-scanner-red) 18%,var(--project-scanner-blue) 42%,var(--project-scanner-cyan) 65%,var(--project-scanner-green) 82%,transparent);
 mask-image:linear-gradient(90deg,transparent,#000 35%,#000 66%,transparent);
}
.project-scanner__beam::after{inset:0;height:3px;filter:blur(1.2px);opacity:.35}
html[data-theme="light"] .project-scanner{
 --project-scanner-red:color-mix(in srgb,#bd3865 84%,var(--accent,#7658a8));
 --project-scanner-blue:color-mix(in srgb,#4775c3 84%,var(--accent,#7658a8));
 --project-scanner-cyan:color-mix(in srgb,#168e9b 84%,var(--accent,#7658a8));
 --project-scanner-green:color-mix(in srgb,#2f925a 84%,var(--accent,#7658a8));
}
@media(prefers-reduced-motion:reduce){.project-scanner__beam{display:none}}
html[data-night-mode="on"] .project-scanner__beam{display:none}
/* Replace the existing home gap with the scanner; portfolio remains untouched. */
.home-page #works .project-scanner + .small-projects{margin-top:0;}
