/* Night-city reference: deep flat blues, small lit windows and clean pixel edges */
.hub{background:#0c0f19}.hub__top{background:#0c0f19}.hub__intro{margin:12px auto}.hub__intro h1{color:#d5c6d8}.hub__intro h1 span{color:#7f9fd8}.studio-viewport{background:#11182a}
.city-sign{left:49.2%;top:57.1%}.landmark--studio{left:18%;top:28%;width:20%}.landmark--principles{left:59%;top:28%;width:18%}.landmark--games{left:84%;top:48%;width:15%}.landmark--friends{left:9%;top:65%;width:21%}.landmark--contact{left:63%;top:77%;width:20%}.landmark--games small{right:0;font-size:8px}.city-light{left:42.7%;top:78%}.city-light--two{left:51.5%;top:87%;animation-delay:-6s}
.page.building-room{background:#0c0f19;padding:95px 3vw 40px;gap:24px;align-items:center;justify-content:flex-end}
.building-room .page__art,.building-room .page__shade{display:none}
.room-stage{position:relative;width:56%;flex:0 0 56%;align-self:center;image-rendering:pixelated;isolation:isolate}
.room-image{display:block;width:100%;aspect-ratio:1;object-fit:cover;image-rendering:pixelated;background:#11182a}
.room-location{position:absolute;top:14px;left:16px;color:#d5c6d8;background:#11182aee;padding:10px;font:10px/1.7 var(--px)}
.room-player.hero-sprite{position:absolute;left:50%;top:auto;bottom:15%;transform:none;scale:.75;z-index:2}
.room-exit{position:absolute;bottom:14px;left:50%;translate:-50% 0;background:#242b43;color:#8fbeb0;border:2px solid #7f9fd8;padding:12px 16px;white-space:nowrap;font:11px/1.7 var(--px);z-index:3}
.room-exit:hover,.room-exit:focus-visible{color:#11182a;background:#8fbeb0}
.building-room>article.room-dialogue{width:40%;max-width:620px;min-width:0;border:3px solid var(--room-accent);box-shadow:6px 6px #0005;padding:25px;background:#11182a;color:#d5c6d8;align-self:center}
.room-dialogue h2{font-size:clamp(17px,1.6vw,24px)!important}.room-dialogue .room-copy,.room-dialogue .type-line,.room-dialogue>p{font-size:12px;line-height:2}.room-dialogue .chapter-link{font-size:11px}
.building-room .partner-map{min-height:300px}.building-room .partner-stop p{font-size:9px}
.building-room .contact-lines a{background:#242b43;border-color:#535d80;min-height:64px}.building-room .contact-lines a span,.building-room .contact-lines a b{color:#d5c6d8}.building-room .contact-lines a:hover{background:#394563}.building-room .signal-display{background:#242b43;border-color:#8fbeb0}.building-room .signal-display__top,.building-room .signal-display__hint{color:#8fbeb0}
.transition.has-building>div:not(.building-transition),.transition.has-building>.transition__label{display:none!important}
.building-transition{position:absolute;inset:0;overflow:hidden;background:#0c0f19;pointer-events:none}
.building-approach{position:absolute;max-width:none;object-fit:fill;image-rendering:pixelated}
.building-threshold{position:absolute;inset:0;opacity:0;animation:reachDoor .65s steps(1) forwards}
@keyframes reachDoor{0%,70%{opacity:0}71%,100%{opacity:1}}
.building-door{position:absolute;top:0;bottom:0;width:50%;background:#11182a;border:6px solid #7f9fd8;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.building-door:before{content:'';position:absolute;inset:12% 12% 30%;border:4px solid #394563;background:#242b43}
.building-door:after{content:'';position:absolute;top:53%;width:8px;height:50px;background:#8fbeb0}.building-door--left{left:0}.building-door--right{right:0}.building-door--left:after{right:20px}.building-door--right:after{left:20px}
.building-room-title{position:absolute;top:45%;left:10%;width:80%;text-align:center;font:clamp(14px,2vw,24px)/2 var(--px);color:#efddc3;background:#11182a;padding:18px;transition:opacity .2s}
.building-transition.is-inside{background:transparent}.is-inside .building-door--left{transform:translateX(-102%)}.is-inside .building-door--right{transform:translateX(102%)}.is-inside .building-room-title{opacity:0}
.building-transition--principles .building-door{background:#d5c6d8;border-color:#8fbeb0}.building-transition--principles .building-door:before{background:#b8a1d1;border-color:#535d80}.building-transition--principles.is-inside .building-door--left{transform:translateY(-102%)}.building-transition--principles.is-inside .building-door--right{transform:translateY(102%)}
.building-transition--games .building-door{background:#242b43;border-color:#b8a1d1}.building-transition--games .building-door:before{background:#11182a;border-color:#7f9fd8}.building-transition--games.is-inside .building-door--left{transform:translate(-105%,-15%)}.building-transition--games.is-inside .building-door--right{transform:translate(105%,15%)}
.building-transition--friends .building-door{background:#394563;border-color:#d8af94}.building-transition--friends .building-door:before{background:#242b43;border-color:#d8af94}.building-transition--friends.is-inside .building-door--left{transform:perspective(900px) rotateY(-100deg);transform-origin:left}.building-transition--friends.is-inside .building-door--right{transform:perspective(900px) rotateY(100deg);transform-origin:right}
.building-transition--contact .building-door{background:#242b43;border-color:#8fbeb0}.building-transition--contact.is-inside .building-door{transform:translateY(-102%)}
.building-scanlines{display:none}.building-transition--games .building-scanlines{display:block;position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#7f9fd819 5px 7px);animation:scanOff 1.2s linear forwards}@keyframes scanOff{0%,80%{opacity:.5}100%{opacity:0}}
.building-room.is-active .room-player{animation:stepInside .65s steps(8) both}@keyframes stepInside{from{translate:0 28px;opacity:0}to{translate:0 0;opacity:1}}
@media(max-width:900px){.page.building-room{padding:90px 16px 35px;flex-direction:column;gap:20px}.room-stage{width:100%;max-width:620px;flex-basis:auto}.building-room>article.room-dialogue{width:100%;max-width:620px}.room-image{max-height:none}.room-player.hero-sprite{scale:.6}.room-location{font-size:9px}.room-dialogue h2{font-size:18px!important}}
@media(prefers-reduced-motion:reduce){.building-room.is-active .room-player{animation:none}}
