/* Entire challenge is scoped; existing rooms and VHS transport stay untouched. */
#livingRoomRewindHotspot{position:absolute;left:21.3%;top:43%;width:11%;height:17.5%;z-index:3;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:0;cursor:pointer;touch-action:manipulation}
#livingRoomRewindHotspot::before,#livingRoomRewindHotspot::after{display:none!important}
#rewindDialog{width:min(980px,96vw);max-width:96vw;max-height:94dvh;box-sizing:border-box;overflow:auto;padding:0;background:#211b18;color:#eadfc7;border:2px solid #73533c;border-radius:3px;box-shadow:0 15px 70px #000b;font:16px Georgia,serif}
#rewindDialog::backdrop{background:#080b0ecc}#rewindDialog [hidden]{display:none!important}
#rewindDialog header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;background:#29221c;border-bottom:1px solid #5c4836}
#rewindDialog h2{font:bold 18px 'Courier New',monospace;margin:0;letter-spacing:.07em}
#rewindDialog button{min-height:44px;cursor:pointer;touch-action:manipulation;background:#39342d;color:#ebdfc8;border:2px outset #7e7360;padding:10px;font:bold 14px 'Courier New',monospace;border-radius:2px}
#rewindDialog button:active,#rewindDialog button[aria-pressed=true]{border-style:inset;background:#29352e;color:#c5e5b2}#rewindDialog button:focus-visible{outline:2px solid #eac77d;outline-offset:2px}#rewindDialog button:disabled{opacity:.5;cursor:default}
#rewindDialog .rewind-paper{margin:18px;padding:20px;background:#e2d4ac;color:#302c24;box-shadow:2px 3px 8px #0007}#rewindDialog .rewind-paper h3{font:bold 20px 'Courier New',monospace}
#rewindDialog .rewind-clock{text-align:center;padding:10px;color:#d8b983;font:bold 19px 'Courier New',monospace}
#rewindDialog .rewind-workbench{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr);gap:16px;padding:0 16px}
#rewindDialog .rewind-machine{position:relative;line-height:0}#rewindDialog .rewind-machine>img{width:100%;height:auto;display:block}
#rewindScreen{position:absolute;left:20.6%;top:9.1%;width:59%;height:51.2%;border-radius:7% / 9%;overflow:hidden;background:#101835;box-shadow:inset 0 0 24px #000;line-height:1.5}
#rewindScreenText{position:absolute;left:8%;right:8%;top:12%;font:clamp(12px,2vw,20px) 'Courier New',monospace;color:#d5e6ff}
#rewindScreen.winding::after{content:'';position:absolute;inset:0;opacity:.35;background:repeating-linear-gradient(transparent 0 30px,#dde6ef 31px 33px,transparent 34px 62px);animation:rewindTrack .45s linear infinite;pointer-events:none}
#rewindDialog .rewind-panel{padding:14px;background:linear-gradient(#686966,#222622 20%,#30322d);border:3px ridge #7b7e77}
#rewindSlot{min-height:24px;padding:6px;background:#141510;color:#c1b697;text-align:center;font:12px 'Courier New',monospace;box-shadow:inset 0 3px 8px #000;overflow:hidden}
#rewindDialog .rewind-led{display:flex;justify-content:space-between;gap:10px;padding:12px 8px;margin:12px 0;background:#07130f;color:#99d5a6;font:20px 'Courier New',monospace;text-shadow:0 0 5px #5b9c6c}
#rewindDialog .rewind-controls{display:flex;gap:8px}#rewindDialog .rewind-controls button{flex:1}
#rewindDialog .rewind-rentals{display:flex;flex-direction:column;gap:6px}
#rewindDialog .rewind-tape{position:relative;display:grid;grid-template-columns:90px 1fr;align-items:center;gap:6px;padding:4px;background:#29231e;text-align:left;min-height:70px}
#rewindDialog .rewind-tape img{width:90px;height:60px;object-fit:cover;grid-row:1/3}#rewindDialog .rewind-label{background:#e5dbbd;color:#312c23;padding:4px;font:bold 13px 'Courier New',monospace}#rewindDialog .rewind-tape-state{font:12px 'Courier New',monospace;color:#bdd5b7}
#rewindDialog .rewind-tape.in-deck{opacity:.3;transform:translateX(-5px)}#rewindStatus{min-height:1.4em;padding:0 18px;font:14px 'Courier New',monospace}
#rewindSlot.inserting{animation:rewindInsert .45s ease-out}#rewindSlot.ejecting{animation:rewindInsert .4s reverse}#rewindSlot.nudge{animation:rewindNudge .2s linear 2}
@keyframes rewindTrack{to{transform:translateY(62px)}}@keyframes rewindInsert{from{transform:translateY(8px) scale(1.05);opacity:.35}to{transform:none;opacity:1}}@keyframes rewindNudge{50%{transform:translateX(3px)}}
@media(max-width:600px){#rewindDialog .rewind-workbench{grid-template-columns:1fr;padding:0 8px;gap:10px}#rewindDialog .rewind-machine{max-width:330px;margin:auto}#rewindDialog .rewind-rentals{display:grid;grid-template-columns:1fr 1fr}#rewindDialog .rewind-tape{grid-template-columns:45px 1fr;min-height:74px}#rewindDialog .rewind-tape img{width:45px;height:55px}#rewindInsert{grid-column:1/-1}#rewindDialog header{padding:10px}#rewindDialog .rewind-label{font-size:11px}#rewindDialog .rewind-tape-state{font-size:11px}}

@media(prefers-reduced-motion:reduce){#rewindDialog *,#rewindDialog *::after{animation:none!important}}

/* Only the existing rental-box contents get a small physical overlay. */
#livingRoomRewindHotspot{display:block;line-height:0;clip-path:polygon(0 7%,100% 0,100% 89%,17% 100%,0 84%)}
#livingRoomRewindHotspot>img{position:absolute;left:3%;top:0;width:94%;height:40%;object-fit:contain;pointer-events:none}
#rentalTapeThought{position:fixed;z-index:40;left:18px;bottom:18px;width:min(410px,calc(100vw - 36px));margin:0;padding:10px 14px;color:#f0e2c7;background:#241b13d9;border-radius:2px;box-shadow:0 2px 8px #0003;font:italic 15px/1.5 Georgia,serif;pointer-events:none}
#rentalTapeThought[hidden]{display:none}
#rewindMovie{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(.94);transform-origin:center}
#rewindScreenText{z-index:3;text-shadow:1px 1px 2px #000;pointer-events:none}
#rewindScreen.winding #rewindMovie{animation:rewindPictureJitter .23s steps(2,end) infinite}
#rewindScreen.winding::after{z-index:2;animation-direction:reverse;background:repeating-linear-gradient(transparent 0 28px,#dde6ef 29px 32px,transparent 33px 62px);opacity:.28}
#rewindScreen.winding::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(transparent 35%,#e9eef966 36%,#15213677 38%,transparent 40%);animation:rewindTear .71s steps(4,end) infinite}
@keyframes rewindPictureJitter{0%,100%{transform:translate(0,0)}25%{transform:translate(-2px,2px)}75%{transform:translate(2px,-3px)}}
@keyframes rewindTear{0%{transform:translateY(60%);opacity:0}25%{opacity:.4}75%{opacity:.25}100%{transform:translateY(-60%);opacity:0}}
@media(prefers-reduced-motion:reduce){#rewindScreen.winding #rewindMovie,#rewindScreen.winding::before,#rewindScreen.winding::after{animation:none}}
