/* One photographic room plate. Every interactive overlay shares its coordinates. */
body{background:#120f0c}body:has(.scenic-home) .header{position:absolute;left:0;top:0;width:100%;z-index:5;height:58px;min-height:58px;background:#0e0c0999;border:0;padding:0 4%;gap:24px}body:has(.scenic-home) .header nav{border:0;margin:auto}body:has(.scenic-home) .header nav a{border:0;font-size:14px;padding:0 20px}body:has(.scenic-home) .brand{font-size:27px}body:has(.scenic-home) .lab-badge{width:42px;height:32px}body:has(.scenic-home) .header nav a.active:after{bottom:-12px}body:has(.scenic-home) footer{background:#100d09}
.scenic-home{padding:0;min-height:0;background:#100d09}.scene{position:relative;display:block;max-width:none;width:100%;aspect-ratio:1672/941;min-height:0;margin:0;padding:0;background:url('assets/room-v0150.webp') center/100% 100% no-repeat;isolation:isolate}.television{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;filter:none;pointer-events:none}.tv-frame{display:none}.crt-zone{left:26.95%;top:15.65%;width:26.6%;height:38.45%;border-radius:8% 12% 8% 7%;background:none;transform:rotate(.2deg);overflow:hidden;pointer-events:auto;box-shadow:inset 0 0 16px #0008}.crt-zone:after{background:linear-gradient(110deg,#d3d4dd13,transparent 60%,#f9cb7d12);box-shadow:inset 0 0 18px #0007}.character-layer,.character-layer.original-ready{left:8%;top:-5%;width:86%;filter:brightness(.78) saturate(.68);opacity:.88}.crt-lines{opacity:.28}.crt-bottom{font-size:7px;bottom:3%;padding:0 5%;opacity:.5}.crt-bottom time{display:none}
.desk-props{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;background:none;border:0;box-shadow:none;pointer-events:none;z-index:2}.desk-props>img{display:none}.desk-props button{position:absolute;bottom:auto!important;pointer-events:auto;border:0;border-radius:16%;background:transparent;cursor:pointer}.desk-props button[data-lab-prop=pepper]{left:60%;top:47%;width:6.5%;height:21%}.desk-props button[data-lab-prop=upa]{left:66.5%;top:57%;width:6.6%;height:12%}.desk-props button[data-lab-prop=cutlery]{left:74%;top:63.5%;width:19%;height:12%}.desk-props button:hover{background:#efc8850b;box-shadow:0 0 22px #efc88516}.desk-props button span{font-size:11px;bottom:0}.desk-props button:focus-visible{outline:2px solid #f4d6a1;outline-offset:4px}
.scene>.worldline{position:absolute;left:73.7%;top:48.25%;width:13.5%;height:7.1%;padding:0;z-index:1;transform:rotate(1deg)}.scene>.worldline .worldline-label{display:none}.scene>.worldline .nixie-digits{height:100%;width:100%;margin:0;padding:0;border:0;gap:0;box-shadow:none;background:#080604}.scene>.worldline .nixie-tube.nixie-a{height:100%;max-width:none;aspect-ratio:auto;filter:brightness(.95) saturate(.84)}
.communication{position:absolute;left:4%;top:79.3%;width:92%;height:17%;min-height:0;padding:12px 22px;background:linear-gradient(#100b08d9,#100b08eb);border:1px solid #88704b66;border-radius:8px;box-shadow:0 8px 25px #0004;display:flex;gap:5px;overflow:hidden;z-index:3}.communication .chat-log{min-height:0;flex:1;padding:0 4px;overflow-y:auto;scrollbar-width:thin}.communication .chat-entry{padding:3px 0;margin:0;border:0;display:flex;gap:18px;align-items:baseline}.communication .chat-entry p{font-size:16px;margin:0;line-height:1.65}.communication .chat-entry small{font-size:10px;flex-shrink:0}.communication #chat-form{margin:0}.communication .message-input{border:1px solid #a78a5f66;background:#100c0980}.communication .message-input textarea{font-size:13px;height:36px;min-height:36px;max-height:55px;padding:8px 12px;line-height:20px}.communication .message-input button{font-size:18px}.communication #chat-memory{display:none}.communication .demo-note{margin:0;font-size:10px}.communication .demo-note:empty{display:none}
@media(min-width:1700px){.communication{padding:18px 26px}.communication .chat-entry p{font-size:20px}.communication .message-input textarea{height:43px;min-height:43px;font-size:16px}.header nav a{font-size:17px!important}}
@media(max-width:900px){body:has(.scenic-home) .header{position:relative;min-height:100px;height:auto;padding:12px 4%;flex-wrap:wrap;gap:10px;background:#17120d}body:has(.scenic-home) .header nav{order:3;width:100%;justify-content:center;margin:5px 0}body:has(.scenic-home) .header nav a{padding:0 12px;font-size:13px}body:has(.scenic-home) .header nav a.active:after{bottom:-8px}.scenic-home{padding-bottom:280px}.scene{width:100%;max-width:none;aspect-ratio:1672/941;display:block}.television{width:100%;height:100%}.communication{left:3%;top:103%;width:94%;height:260px;padding:14px}.communication .chat-entry p{font-size:15px}.communication .chat-entry{display:block}.communication .message-input textarea{height:52px;min-height:52px;font-size:15px}.crt-bottom{display:none}.desk-props{margin:0}.desk-props button span{font-size:9px}.scene>.worldline{padding:0}.header .visitor{margin-left:auto}.scenic-home .communication .chat-log{min-height:100px}}
.character-layer,.character-layer.original-ready{left:-7%;top:-7%;width:114%}

/* Coordinates of the approved enlarged CRT / cluttered desktop plate. */
.crt-zone{left:20.8%;top:15%;width:30.9%;height:41.6%;border-radius:12% 12% 10% 9%;transform:none}
.desk-props button[data-lab-prop=pepper]{left:60.9%;top:49.5%;width:5.9%;height:17.3%}
.desk-props button[data-lab-prop=upa]{left:68%;top:52.5%;width:7.1%;height:14.6%}
.desk-props button[data-lab-prop=cutlery]{left:74.8%;top:63%;width:14.9%;height:9.2%}
.scene>.worldline{left:77.2%;top:48.1%;width:14%;height:5.9%;transform:none}
.communication{left:7.2%;top:85%;width:85.6%;height:12%;padding:8px 18px}
.communication .chat-entry p{font-size:15px}.communication .chat-log{min-height:24px}.communication .message-input textarea{height:32px;min-height:32px;padding:5px 10px}
@media(max-width:900px){.communication{left:3%;top:103%;width:94%;height:260px;padding:14px}.communication .message-input textarea{height:52px;min-height:52px;padding:10px}.communication .chat-entry p{font-size:15px}}
.scene>.worldline{mix-blend-mode:screen}

/* Keep conversation and composer inside the viewport, independent of room aspect ratio. */
.communication{position:fixed;top:auto;bottom:18px;left:7%;width:86%;height:clamp(178px,21vh,230px);max-height:calc(100dvh - 80px);z-index:10;padding:14px 20px;gap:8px;background:linear-gradient(110deg,#1d160ff5,#110e0af5);border:1px solid #b7956099;box-shadow:0 0 0 1px #17100b,0 8px 30px #0009,0 0 25px #ba83371a;border-radius:9px}
.chat-dock-title{display:flex;align-items:center;gap:9px;flex-shrink:0;color:#f0d6aa;font-size:14px;letter-spacing:1px;cursor:text}.chat-dock-hint{margin-left:auto;color:#ad9775;font-size:11px;letter-spacing:0}.chat-dock-light{width:6px;height:6px;background:#dba75e;border-radius:50%;box-shadow:0 0 7px #e0ab65}
.communication .chat-log,.scenic-home .communication .chat-log{flex:1;min-height:0;padding:0 3px;overscroll-behavior:contain}.communication .chat-entry p{font-size:16px;line-height:1.6}.communication #chat-form{flex-shrink:0}.communication .message-input{background:#0e0b08;border-color:#ae8d5d99;border-radius:4px}.communication .message-input:focus-within{border-color:#edc182;box-shadow:0 0 0 2px #cf9d4b22}.communication .message-input textarea{min-height:44px;height:44px;max-height:44px;font-size:15px;padding:10px 12px;resize:none}.communication .message-input button{min-width:46px;background:#ad813d22;color:#eed2a2}.communication .demo-note{flex-shrink:0}body:has(.scenic-home) footer{padding-bottom:calc(clamp(178px,21vh,230px) + 42px)}
@media(max-width:900px){.scenic-home{padding-bottom:24px}.communication{left:3%;width:94%;bottom:max(10px,env(safe-area-inset-bottom));height:210px;padding:12px;max-height:calc(100dvh - 24px)}.chat-dock-title{font-size:13px}.chat-dock-hint{font-size:10px}.communication .chat-entry p{font-size:15px}.communication .message-input textarea{font-size:16px;height:44px;min-height:44px}.communication .chat-entry{padding:3px 0}.scenic-home .scene{margin-bottom:210px}body:has(.scenic-home) footer{padding-bottom:230px}}

footer{flex-wrap:wrap}footer .icp-record{flex-basis:100%;display:block;text-align:center;color:#c9b58e;font-size:12px;line-height:1.8;letter-spacing:.5px;text-decoration:none;margin-bottom:10px}footer .icp-record:hover{text-decoration:underline;color:#f0d6aa}footer .icp-record:focus-visible{outline:1px solid #f0d6aa;outline-offset:4px}

.desk-props button[data-lab-prop=cutlery]{left:89.8%;top:58.5%;width:9%;height:6%}
