/* Desktop-only supplied artwork. Keep equal side gutters so the diagnosis stays centered. */
.shindan-desktop:not(.shindan-admin){--sd-banner-width:132px;--sd-banner-gap:12px}
.sd.sd-with-banner{margin-inline:calc(var(--sd-banner-width) + var(--sd-banner-gap) * 2)}
.shindan-desktop .sd-floating-banner{position:fixed;top:50%;right:var(--sd-banner-gap);transform:translateY(-50%);z-index:80;display:block;width:var(--sd-banner-width);line-height:0;border-radius:8px;box-shadow:0 3px 14px rgba(0,65,36,.12);background:#fff}
.shindan-desktop .sd-floating-banner img{display:block;width:100%;height:auto;margin:0;border:0;border-radius:8px}
.shindan-desktop .sd-floating-banner:hover{filter:brightness(1.04)}
.shindan-desktop .sd-floating-banner:focus-visible{outline:3px solid #b77a00;outline-offset:3px}
@media(max-width:1199px){.shindan-desktop:not(.shindan-admin){--sd-banner-width:88px;--sd-banner-gap:8px}}
@media(max-height:500px){.shindan-desktop:not(.shindan-admin){--sd-banner-width:57.2px;--sd-banner-gap:6px}}
@media(max-width:760px){.shindan-desktop .sd-floating-banner{display:none}.sd.sd-with-banner{margin-inline:0}}
.shindan-mobile .sd-floating-banner{display:none}
@media print{.shindan-desktop .sd-floating-banner{display:none}.sd.sd-with-banner{margin-inline:0}}

/* Pattern A: original 1.44s sweep at twice the speed = 0.72s, then 5s rest.
   The supplied artwork stays visible during the rest. Total cycle: 5.72s. */
.shindan-desktop .sd-floating-banner { overflow:hidden; }
.shindan-desktop .sd-floating-banner::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg, transparent 25%, rgba(255,255,255,.08) 36%, rgba(255,255,255,.48) 50%, rgba(255,255,255,.08) 64%, transparent 75%);
  transform:translateX(-150%);
  animation:sd-banner-shine-a 5.72s linear infinite;
}
@keyframes sd-banner-shine-a {
  0% { transform:translateX(-150%); }
  12.5874125874%, 100% { transform:translateX(150%); }
}
@media (prefers-reduced-motion: reduce) {
  .shindan-desktop .sd-floating-banner::after { animation:none; display:none; }
}
