/* The paper press, photographed as one assembled object.
   Desktop only: no new tracks, assets, text, timer or transport animation.
   Keep the source cutouts and their registered hub coordinates intact. */
@media (min-width: 901px) and (min-height: 561px) {
  /* The deadline remains the headline. Preview words keep their ink weight,
     but no longer compete at headline scale. The existing fitter still owns
     the safe width; these factors can only reduce its result. The outgoing
     ghost has no data-word-index and therefore retains deadline typography. */
  #zineApp[data-word-press] .word-text {
    font-size: calc(var(--word-size, 76px) * .90);
    translate: 0 3px;
  }
  #zineApp[data-word-press] [data-word-index]:not([data-word-index="0"]) .word-text {
    font-size: calc(var(--word-size, 76px) * .70);
    translate: none;
  }
  #zineApp[data-word-press] [data-word-index]:not([data-word-index="0"]) .paper-row {
    /* Only the first row needs clearance for the fixed time-marking foot. */
    padding-block: clamp(14px, 2.2vh, 20px);
  }

  /* Three elevations: paper rests on the table, guide rests on paper,
     hardware rises above both. All cast shadows run down-right. */
  #zineApp[data-word-press] .press-window {
    filter: drop-shadow(1px 2px 1px #1c142b50) drop-shadow(3px 5px 3px #1c142b28);
  }
  #zineApp[data-word-press] .press-window::after {
    content: "";
    position: absolute; z-index: 3; inset: 0; pointer-events: none;
    /* Contact at the mouths of the rolls, never a blanket shade over ink. */
    background: linear-gradient(180deg, #17121e28 0, transparent 32px,
      transparent calc(100% - 30px), #17121e1c 100%);
  }
  #zineApp[data-word-press] .press-current {
    filter: drop-shadow(0 1px 1px #1c142b70) drop-shadow(1px 3px 2px #1c142b26);
  }
  #zineApp[data-word-press] .press-guide-top { height: 9px; }
  #zineApp[data-word-press] .press-guide-left,
  #zineApp[data-word-press] .press-guide-right { width: 14px; }
  #zineApp[data-word-press] .press-guide-bottom {
    height: calc(var(--guide-foot) - 6px);
    box-shadow: inset 0 1px #f5f0b140, inset 0 -2px #4f52262e;
  }
  #zineApp[data-word-press] .press-guide-left::after,
  #zineApp[data-word-press] .press-guide-right::after {
    height: 6px; box-shadow: 0 1px #eee0b782;
  }
  #zineApp[data-word-press] .press-roller {
    filter: drop-shadow(1px 3px 1px #1c142b80) drop-shadow(3px 7px 4px #1c142b42);
  }

  /* The old unedged texture stripe read as a separate flat drawing. Exposed
     cardboard thickness now joins it to the photographed housing and axle. */
  #zineApp[data-word-press] .zine-poster::before {
    border-left: 3px solid #b59b7099;
    border-right: 2px solid #b59b70b3;
    background: #211c24 var(--xerox) 19px 0 / 440px;
    box-shadow: inset 2px 0 0 #08060cc0, inset -2px 0 0 #08060c80;
    filter: drop-shadow(2px 3px 1px #1c142b60) drop-shadow(4px 7px 4px #1c142b35);
  }
  #zineApp[data-word-press] .press-roller-top::before {
    background: #211c24 var(--xerox) 60px 100px / 440px;
    box-shadow: inset 0 2px #b59b70a3, inset 0 -2px #0b0810b3;
  }

  /* The wheel was open, but equal black material behind its spokes made it
     read as a solid disc. Darken only the stationary recess, not the wheel or
     its green grip. Preserve the original bitmap ratio and source lighting. */
  #zineApp[data-word-press] .press-housing {
    filter: brightness(.64) drop-shadow(1px 3px 1px #1c142b8c) drop-shadow(4px 8px 5px #1c142b48);
  }
  #zineApp[data-word-press] .press-crank {
    filter: drop-shadow(1px 2px 1px #0c0814c7) drop-shadow(3px 5px 2px #0c08148c);
  }
  #zineApp[data-word-press] .press-crank:not(:disabled):hover {
    filter: drop-shadow(1px 2px 1px #0c0814d9) drop-shadow(4px 7px 3px #0c081499);
  }
  #zineApp[data-word-press] .press-crank:not(:disabled):active {
    filter: drop-shadow(0 1px 1px #0c0814d9) drop-shadow(1px 3px 1px #0c08148c);
  }
}

@media (forced-colors: active) {
  #zineApp[data-word-press] .press-window::after { display: none; }
  #zineApp[data-word-press] .press-current { filter: none; }
  #zineApp[data-word-press] .press-guide-bottom { box-shadow: none; }
  #zineApp[data-word-press] .press-housing,
  #zineApp[data-word-press] .press-crank { filter: none !important; }
}
