/* Woordstroom / the same cut-card stock, at different physical depths.
   No new images, poses, layout tracks or light sources. The cassette keeps
   its registered hub crops; shadows never wrap the rotating crank assembly. */
@media (forced-colors: none) {
  #zineApp[data-word-press] {
    --ws-prop-contact: drop-shadow(.8px 2px .7px #21192580) drop-shadow(3px 6px 3px #21192540);
    --ws-card-contact: drop-shadow(.6px 1.4px .5px #21192570) drop-shadow(1.8px 3px 1.5px #21192530);
    --ws-cassette-pigment: saturate(1) brightness(1);
  }

  /* Keep warm stock and edge fibres visible even while the reserve is empty.
     The status ink and existing earned cue, not a muddy grey photograph,
     distinguish empty from charged. Both hub crops receive identical pigment. */
  #zineApp[data-word-press] .rewind-badge[data-charge="empty"] {
    --ws-cassette-pigment: saturate(.58) brightness(1);
  }
  #zineApp[data-word-press] .rewind-badge[data-rewind-material="cassette"] .rewind-cassette-body {
    filter: var(--ws-cassette-pigment) var(--ws-prop-contact);
  }
  #zineApp[data-word-press] .rewind-badge[data-rewind-material="cassette"] .rewind-spool {
    filter: var(--ws-cassette-pigment);
  }
  /* A translucent fibre wash takes the hard shine out of the tape window,
     without replacing the source's physical depth with a flat rectangle.
     It never covers the two rotating photographic hubs or the native labels. */
  #zineApp[data-word-press] .rewind-cassette-body::after {
    content: "";
    position: absolute;
    left: 39.4%;
    top: 43.8%;
    width: 21%;
    height: 15%;
    background: #ac936e var(--stock) 29px 13px / 220px;
    background-blend-mode: multiply;
    opacity: .2;
    clip-path: polygon(0 2%, 98% 0, 100% 97%, 1% 100%);
    pointer-events: none;
  }

  /* The head is a thin cut-out, the press a thicker glued model. A registered
     kraft backing supplies its small visible edge; the face stays untouched. */
  html #zineApp[data-word-press] .character-backing {
    display: block;
    background-color: #b69560;
    background-size: 300px;
    transform: translate(1.2px, 1.6px);
    filter: none;
  }
  html #zineApp[data-word-press] .character-sprite {
    filter: none;
  }
  /* This owner contains only the face and its backing, never the wheel. */
  html #zineApp[data-word-press] .rewind-operator-body {
    filter: var(--ws-card-contact);
  }
  html #zineApp[data-word-press]:not([data-material-state="fallback"]) .press-housing {
    filter: var(--ws-prop-contact);
  }
  html #zineApp[data-word-press] .press-roller-top {
    filter: var(--ws-card-contact);
  }
  html #zineApp[data-word-press] .press-roller-bottom {
    filter: drop-shadow(.6px 1.2px .5px #21192570) drop-shadow(1.5px 3px 1.5px #21192530);
  }
  /* Let the source's matte fibre do the work. The earlier broad gradient
     read as a polished metal highlight across the entire upper beam. */
  html #zineApp[data-word-press] .press-roller-top span:nth-child(2) {
    box-shadow: inset 0 1px #efdfb61a, inset 0 -2px #100e1238;
  }
  html #zineApp[data-word-press] .press-roller-top span:nth-child(2)::after {
    opacity: .3;
  }

  /* Ground contacts are short and local. These are stationary siblings of
     the crank, not a parent filter that could put a baked shadow on its grip. */
  #zineApp[data-word-press] .wordstream-floor::before {
    height: 18px;
    background: radial-gradient(ellipse at 50% 20%, #160e225c, #160e222e 42%, transparent 72%);
  }
  #zineApp[data-word-press] .wordstream-floor::after {
    height: 25px;
    background: radial-gradient(ellipse at center, #160e2270, transparent 70%) left center / var(--drive-stage-width) 100% no-repeat;
  }
  #zineApp[data-word-press]:has(#zineRewindBadge:not([hidden])) .wordstream-floor::after {
    background: radial-gradient(ellipse at center, #160e2270, transparent 70%) left center / var(--drive-stage-width) 100% no-repeat,
      radial-gradient(ellipse at center, #160e2270, transparent 70%) right center / var(--cassette-stage-width) 100% no-repeat;
  }
}
