/* One restrained transition, using the approved artwork's palette and type. */
body{height:900vh}
#portal-stage{position:fixed;inset:0;z-index:20;overflow:hidden;visibility:hidden;pointer-events:none;background:#101117;isolation:isolate}
#portal-window{position:absolute;inset:0;overflow:hidden}
#portal-camera{position:absolute;width:1920px;height:1080px;transform-origin:0 0;will-change:transform,opacity}
#portal-sheet{position:absolute;inset:0;filter:url(#portal-glass-bend)}
#portal-room{position:absolute;inset:0;width:1920px;height:1080px}
#portal-screen{position:absolute;overflow:hidden;background:#070b28}
#portal-art{position:absolute;left:-43.8063063%;top:-6.2834225%;width:188.2882883%;height:125.8021390%;max-width:none;object-fit:fill}
#portal-screen:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse,transparent 78%,#0002)}
#portal-rush{position:absolute;inset:-10%;opacity:0;background:radial-gradient(ellipse,transparent 24%,#5848ff12 46%,#c6b6ff55 67%,#302dff77 100%);mix-blend-mode:screen;pointer-events:none}
#portal-glow{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 50% 48%,#e7e0ffcc,#bfc8ff70 40%,#a28bff28 73%,transparent);pointer-events:none;z-index:3}
#portal-scan{position:absolute;inset:0;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 5px,#d8dcff80 6px,transparent 8px);mix-blend-mode:screen;pointer-events:none;z-index:4}
#portal-directory{position:absolute;inset:0;background:#d9d4f5;opacity:0;overflow:hidden;will-change:opacity,transform}
#portal-directory img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none}
#portal-tools{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:12px;white-space:nowrap;padding:7px 12px;border-radius:8px;background:#15112ee8;color:#eeeaff;font-size:12px;opacity:0;pointer-events:none}
#portal-tools button{padding:6px 10px;font-size:12px;background:#332653;border-color:#a495d35c}
#portal-tools span{color:#ddd2f8}
body[data-portal="directory"] #portal-tools{pointer-events:auto}
@media(max-width:700px){#portal-tools{bottom:20px;gap:6px;font-size:10px;max-width:96vw}#portal-tools button{font-size:11px}#portal-tools span{white-space:normal}}
@media(prefers-reduced-motion:reduce){#portal-sheet{filter:none}#portal-glow,#portal-rush,#portal-scan{display:none}}
