/* The pair from behind take the plate's place: the whole left column wide and pulled out to the stage's own edge, so
   Katari's cut side meets the panel's border, sitting on the stage's bottom edge, clear of the video. Real alpha, so no
   blend and no foot fade. The still breathes; a lean turns them toward the screen; a duck sends them below the edge,
   where the box clips them, and the return has a little spring. Reduced motion, still and no-ambient: seated. */
#rot .rc-tv-companions.has-pair { --padx: clamp(20px, 3vw, 44px); --padb: 24px; --travel: 1.0388; width: calc((100% + var(--padx)) * var(--travel)); max-width: none; margin: auto 0 calc(-1 * var(--padb)) calc(-1 * var(--padx)); padding: 0; overflow: visible; line-height: 0; }
/* The stage is the frame: it clips at its own border, so a standing head rises into the stage, the duck goes under its edge, and the walk out leaves by its side. */
#rot .rc-tv-stage.has-pair-stage { overflow: hidden; }
#rot .rc-tv-companions.has-pair > img[hidden], #rot .rc-tv-companions.has-pair > span[hidden] { display: none; }   /* Codex's plate and caption, kept in the box but not shown */
#rot .rc-tv-companions.has-pair .rc-pair { position: relative; line-height: 0; pointer-events: none; }
/* the couch back, its own layer in front of everything, never moving: the chair that stays when they leave */
#rot .rc-tv-companions.has-pair .rc-pair img.rc-pair-couch { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 3; animation: none; transition: none; transform: none; }
/* a clip made in the wide frame: laid so its pair land exactly on the idle's, its top and right overflowing the box (the stage clips) */
#rot .rc-tv-companions.has-pair .rc-pair video.rc-pair-act.is-wide { top: auto; height: auto; width: var(--wide-width, 232.3%); bottom: var(--wide-below, -6.68%); left: 0; max-width: none; }
#rot .rc-tv-companions.has-pair .rc-pair img, #rot .rc-tv-companions.has-pair .rc-pair video { width: 100%; height: auto; display: block; mix-blend-mode: normal; mask-image: none; -webkit-mask-image: none; background: transparent; transform-origin: 18% 100%; transition: transform .52s cubic-bezier(.2, .9, .25, 1.15); }
#rot .rc-tv-companions.has-pair .rc-pair img { animation: os-pair-breathe 4.6s ease-in-out infinite; }   /* the still breathes in CSS; the loop breathes on its own */
#rot .rc-tv-companions.has-pair .rc-pair img[hidden] { display: none; }
/* the deck: the idle in flow, the action laid exactly over it and shown only while it plays; visibility, not display, so both keep decoding */
#rot .rc-tv-companions.has-pair .rc-pair video.rc-pair-act { position: absolute; inset: 0; height: 100%; visibility: hidden; }
#rot .rc-tv-companions.has-pair .rc-pair.is-acting video.rc-pair-act { visibility: visible; }
#rot .rc-tv-companions.has-pair .rc-pair.is-acting video.rc-pair-idle { visibility: hidden; }
#rot .rc-tv-companions.has-pair .rc-pair.is-leaning img, #rot .rc-tv-companions.has-pair .rc-pair.is-leaning video { transform: translate(6px, -4px) rotate(-1.6deg); transition-duration: .38s; animation-play-state: paused; }
#rot .rc-tv-companions.has-pair .rc-pair.is-ducking img, #rot .rc-tv-companions.has-pair .rc-pair.is-ducking video { transform: translateY(106%); transition: transform .26s cubic-bezier(.5, 0, .8, .4); animation-play-state: paused; }
@keyframes os-pair-breathe { 0%, 100% { translate: 0 0; } 50% { translate: 0 -1.5px; } }
@media (prefers-reduced-motion: reduce) { #rot .rc-tv-companions.has-pair .rc-pair img { animation: none; transition: none; transform: none; } #rot .rc-tv-companions.has-pair .rc-pair video { display: none; } #rot .rc-tv-companions.has-pair .rc-pair img[hidden] { display: block; } }
body.still #rot .rc-tv-companions.has-pair .rc-pair img, body.noambient #rot .rc-tv-companions.has-pair .rc-pair img { animation: none; }
/* The frame carries a margin to the right of Kagi for the head tilt in the loop (his edge travels 20 px in 884 at 720p), so the box is that
   much wider than the column and the margin lies in the gap before the video, transparent. */
/* Codex's stage changes its padding by breakpoint; the pair follow so they always sit on the edge. */
@media (max-width: 1000px) { #rot .rc-tv-companions.has-pair { --padx: 24px; --padb: 24px; } }
@media (min-width: 701px) and (max-height: 900px) { #rot .rc-tv-companions.has-pair { --padx: 24px; --padb: 20px; width: min(calc((100% + var(--padx)) * var(--travel)), 330px); } }
@media (min-width: 701px) and (max-height: 850px) { #rot .rc-tv-companions.has-pair { --padb: 16px; width: min(calc((100% + var(--padx)) * var(--travel)), 270px); } }
@media (max-width: 700px) { #rot .rc-tv-companions.has-pair { width: 110px; margin: -14px -5px -17px -15px; overflow: visible; border-radius: 0; } }
