/* After midnight: painted rooms, warm brass controls and clear production layers. */
.main-menu{background-color:#07171c}.main-menu:after{background:linear-gradient(90deg,#041216bb,transparent 65%),linear-gradient(0deg,#070d16c9,transparent 40%)}
.main-menu .menu-content{background:linear-gradient(145deg,#10252aee,#170f20ee);border-color:#c7a574;box-shadow:0 24px 65px #000a,inset 0 0 0 3px #172c30}
.main-menu .menu-buttons button{background:linear-gradient(180deg,#334248,#172b32);color:#ffe7ba;border-color:#a78959;text-shadow:0 2px #000;box-shadow:inset 0 1px #c7d4bf28,0 3px 0 #050e16}
.main-menu .menu-buttons button:hover{background:linear-gradient(180deg,#536366,#2b4548);border-color:#f8d7a1}.menu-marquee{position:absolute;right:6%;top:6%;z-index:4;color:#f7d19a;font:12px Georgia,serif;letter-spacing:.45em;text-align:center;margin:4px 0 14px}.title-record small{display:block;font-size:9px;letter-spacing:0}.title-record{color:#bad6d0;font:12px/1.7 Georgia,serif;text-align:center;margin:12px auto;max-width:340px;letter-spacing:.1em}
.stage .tv-hotspot,.stage .tv-hotspot[data-hotspot="creatorTerminal"]{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible;transform:none;filter:none;z-index:4}
.stage .tv-hotspot .tv-screen{position:absolute;border:0;border-radius:9%;padding:0;background:transparent;box-shadow:none;clip-path:none;overflow:hidden}
.stage[data-room="bar"] .tv-screen{left:7.14%;top:19%;width:59.3%;height:57%}
.stage[data-room="motel"] .tv-hotspot[data-hotspot="creatorTerminal"]{left:84%!important;top:38%!important;width:11%!important;height:13%!important}
.stage[data-room="motel"] .tv-hotspot .tv-screen{left:11.36%;top:20.77%;width:42.73%;height:58.85%;border-radius:12%;clip-path:polygon(5% 0,96% 3%,100% 94%,4% 100%,0 8%)}
.stage .tv-screen video,.stage .tv-hotspot[data-hotspot="creatorTerminal"] .tv-screen video{object-fit:cover;opacity:.94;filter:saturate(.82) contrast(.9)}
.stage .tv-screen:after{background:linear-gradient(130deg,#d9f4fa0c,transparent 45%,#0002);box-shadow:inset 0 0 5px #0009}.stage .tv-screen:not(.playing):after{display:none}
.stage .tv-hotspot:hover{outline:1px solid #e9bf7566;outline-offset:2px}
.tv-remote{position:absolute;z-index:1800;right:3%;bottom:6%;width:min(440px,89%);padding:14px;background:linear-gradient(130deg,#15262df5,#261726f5);border:2px ridge #be9a65;border-radius:13px;box-shadow:0 10px 40px #000b;display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:#f5dbb1;font:13px Georgia}
.tv-remote b{letter-spacing:.14em}.tv-remote select{flex:1;min-width:150px;padding:8px;background:#081820;color:#fff0d4;border:1px solid #947849}.tv-remote button{padding:7px 12px;background:#413040;color:#fff1d2;border:1px solid #bd9761;border-radius:5px;cursor:pointer}.tv-remote small{width:100%;color:#a9c3c5}
.actor.night-person{padding:0;border:0;background-color:transparent;box-shadow:none;cursor:pointer;border-radius:0}.actor.night-person:hover{filter:drop-shadow(0 0 4px #ffda9c)}
.guest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guest-grid article{display:flex;align-items:center;gap:12px;border:1px solid #ab865464;padding:12px;background:linear-gradient(135deg,#193137aa,#22142cb0)}.guest-grid h2{font-size:21px}.guest-grid p{font-size:14px;line-height:1.5}.guest-grid small{font-size:10px;letter-spacing:.09em;color:#a8ccc7}.guest-portrait{position:relative;flex:0 0 115px;width:115px;height:215px;overflow:hidden;background:radial-gradient(ellipse,#54777342,transparent 70%)}.guest-portrait>div{position:absolute;left:50%;bottom:0;transform:translateX(-50%);background-repeat:no-repeat}
.guest-conversation{display:flex;gap:28px;align-items:center}.guest-conversation .guest-portrait{flex-basis:180px;width:180px;height:300px}.guest-conversation>div:last-child{flex:1}.booking-banner,.case-file,.distribution-card{padding:16px;margin:15px 0;border:1px solid #b68f5c;background:linear-gradient(130deg,#1b3032,#281d2c);color:#f4ddbd}.booking-banner{font:15px/1.6 Georgia}.booking-banner label{display:block;margin:8px 0}.booking-banner select{max-width:100%;padding:8px;color:#ffe9c4;background:#101f28;border:1px solid #a18763}.case-file small{color:#a9d8cb;letter-spacing:.12em}.jukebox-records{display:grid;gap:10px;margin:20px 0}.jukebox-records button{padding:17px!important;text-align:left;background:linear-gradient(90deg,#153235,#2f1c30)!important;color:#f8e5be!important;border:1px solid #8d7655!important}.jukebox-records button.selected{box-shadow:inset 5px 0 #bde7cf;border-color:#e9ca8e!important}.jukebox-records small{display:block;color:#a9c7c1;margin-top:5px}
.shoot-model,.shoot-guest,.shoot-crew{position:absolute;width:35%;height:90%;bottom:3%;left:29%;animation:none;filter:drop-shadow(0 8px 9px #0006)}.shoot-model.duo{left:15%}.shoot-guest{left:53%;width:32%;height:86%}.shoot-crew{width:26%;height:77%}.shoot-crew svg{width:100%;height:100%}.pose-phase{position:absolute;inset:0;display:block;opacity:0;animation:poseThree 6s steps(1,end) infinite;animation-delay:calc(var(--phase) * -2s)}.pose-phase svg{width:100%;height:100%;display:block;overflow:hidden}.action-prop .pose-phase{animation-name:poseFour;animation-duration:4s;animation-delay:calc(var(--phase) * -1s)}
.shoot-light{position:absolute;inset:0;background:radial-gradient(ellipse at 45% 20%,#efbfea25,transparent 65%);pointer-events:none}.shoot-prop.action-prop{left:51%;bottom:20%;width:16%;height:26%;z-index:5}.shoot-prop.category-effects{left:72%;bottom:13%;height:40%;width:25%}.shoot-prop.category-masks{left:46%;bottom:36%;height:16%;width:12%}.shoot-caption-strip{position:absolute;bottom:0;left:0;right:0;padding:9px 16px;background:linear-gradient(0deg,#071018ee,#07101899);color:#ffead0;font:13px/1.4 Georgia,serif;z-index:9}.shoot-caption-strip small{display:block;color:#adcec9;font-size:11px;margin-top:4px}.camera-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 50px #e5c9ac0d}
@keyframes poseThree{0%,32.99%{opacity:1}33%,100%{opacity:0}}@keyframes poseFour{0%,24.99%{opacity:1}25%,100%{opacity:0}}
@media(max-width:760px){.guest-grid{grid-template-columns:1fr}.guest-conversation{display:block}.guest-conversation .guest-portrait{float:left;height:210px;width:125px;margin:0 15px 8px 0}.shoot-caption-strip{font-size:10px;padding:6px 10px}.shoot-caption-strip small{font-size:9px}.tv-remote{bottom:3%;font-size:11px;padding:9px}.tv-remote button{padding:6px 9px}.title-record{font-size:10px}}
@media(prefers-reduced-motion:reduce){.pose-phase{animation:none;opacity:0}.pose-phase:first-child{opacity:1}}

.jukebox-records button{display:flex;align-items:center;gap:20px;width:100%}.jukebox-records button>b{font:28px Georgia;color:#bbd7c5}.jukebox-records button>span{flex:1;font:20px Georgia}.jukebox-records button>i{font-style:normal;color:#e6c085}.jukebox-heading{display:block;letter-spacing:.35em;color:#a6c8c0;font:12px Georgia}.sound-row{display:flex;gap:20px;align-items:center}.sound-row label{display:grid;gap:8px}.main-menu .menu-content{background:linear-gradient(90deg,#061a20a1,transparent);border:0;box-shadow:none}.main-menu .menu-buttons button:first-child{background:linear-gradient(100deg,#566d64,#1a353a);border-color:#d9c590}
.shoot-guest{width:42%;left:48%;height:90%}.booking-banner>small{display:block;color:#afc9c1}

/* Preserve the proportions of cropped products in shelves, cards and shoots. */
.stage .shelf-mini{width:33.333%;height:100%;top:0;bottom:0;display:block}.shelf-mini svg,.prop-preview svg,.shoot-prop>svg{display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}

.actor.is-alive{transform-origin:50% 95%;animation:ambientBreath var(--idle-duration,6s) ease-in-out var(--idle-delay,0s) infinite}.actor.bartender{transform-origin:50% 100%;filter:drop-shadow(0 3px 2px #0005)}
@keyframes ambientBreath{0%,100%{transform:translate(-50%,-100%) rotate(-.25deg)}50%{transform:translate(calc(-50% + 1px),calc(-100% - 1px)) rotate(.35deg) scaleY(1.006)}}
@media(prefers-reduced-motion:reduce){.actor.is-alive{animation:none}}

/* Sprite sheets must switch discretely; a generic background transition exposes neighbouring cells. */
.stage .actor{transition:filter .15s}
