:root{--t:950ms;--ease:cubic-bezier(.16,1,.3,1);--panelW:clamp(360px,30vw,520px);--sleepT:4800ms;--sleepEase:cubic-bezier(.16,.78,.12,1)}html,body{height:100%;margin:0;background:#000;color:#ddd;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden;overflow-x:hidden;max-width:100%}*{box-sizing:border-box;max-width:100%}#stage,*{max-width:100%}#sitebar,#sitebar a{min-width:0}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#CCC}::-webkit-scrollbar-track{background:#444}#stage{position:relative;width:100%;height:100vh;overflow:hidden;overflow-x:hidden;background:#000}#room{position:absolute;inset:0;overflow:hidden;opacity:1;transform:translateY(0) scale(1) rotate(0deg);filter:blur(0) contrast(1) saturate(1) brightness(1);transition:none;will-change:transform,filter,opacity}.roomImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none;z-index:1;transition:opacity 5s ease-in-out;opacity:0}.roomImg.is-visible{opacity:1}#room::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(0,0,0,0) 58%,rgba(0,0,0,.18) 100%)}#stage.sleeping #room{transform:translateY(18vh) scale(1.16) rotate(.45deg);filter:blur(12px) contrast(.9) saturate(.68) brightness(.28);opacity:.06;transition:transform var(--sleepT) var(--sleepEase),filter var(--sleepT) var(--sleepEase),opacity var(--sleepT) var(--sleepEase)}#sleepShade{position:absolute;inset:0;z-index:16;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,rgba(0,0,0,0) 0,rgba(0,0,0,.04) 24%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.48) 70%,rgba(0,0,0,.82) 100%);transition:opacity var(--sleepT) ease}#stage.sleeping #sleepShade{opacity:1}#sleepPulse{position:absolute;inset:-6%;z-index:17;pointer-events:none;opacity:0;transform:scale(1);background:radial-gradient(circle at center,rgba(0,0,0,0) 0 20%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.22) 66%,rgba(0,0,0,.42) 100%);transition:opacity var(--sleepT) ease,transform var(--sleepT) var(--sleepEase)}#stage.sleeping #sleepPulse{opacity:1;transform:scale(1.12)}#sleepLids{position:absolute;inset:0;z-index:19;pointer-events:none}#sleepLids::before,#sleepLids::after{content:"";position:absolute;left:0;right:0;height:54%;opacity:0;transition:transform calc(var(--sleepT) * .92) var(--sleepEase),opacity calc(var(--sleepT) * .78) ease}#sleepLids::before{top:0;transform:translateY(-105%);background:linear-gradient(to bottom,rgba(0,0,0,1),rgba(0,0,0,.82),rgba(0,0,0,0))}#sleepLids::after{bottom:0;transform:translateY(105%);background:linear-gradient(to top,rgba(0,0,0,1),rgba(0,0,0,.82),rgba(0,0,0,0))}#stage.sleeping #sleepLids::before,#stage.sleeping #sleepLids::after{opacity:1}#stage.sleeping #sleepLids::before{transform:translateY(-4%)}#stage.sleeping #sleepLids::after{transform:translateY(4%)}#dim{position:absolute;inset:0;background:rgba(0,0,0,.05);opacity:0;transition:opacity var(--t) var(--ease);z-index:15;pointer-events:none}#stage.open #dim{opacity:1}#panel{position:absolute;top:0;right:0;width:var(--panelW);height:100%;border-left:1px solid rgba(255,255,255,.08);transform:translateX(100%);transition:transform var(--t) var(--ease);overflow:hidden;overflow-x:hidden;z-index:30;background:rgba(0,0,0,.82)}#stage.open #panel{transform:translateX(0)}#frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:none;opacity:0;transition:opacity .25s ease;overflow:hidden}#frame.ready{opacity:1}#closeBtn{position:absolute;top:16px;right:calc(var(--panelW) + 12px);z-index:40;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.45);color:#fff;font:12px/1 system-ui,sans-serif;padding:8px 12px;border-radius:999px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;transform:translateY(-4px)}#stage.open #closeBtn{opacity:.92;pointer-events:auto;transform:translateY(0)}#closeBtn:hover{opacity:1}#sitebar{position:absolute;left:0;right:0;top:0;z-index:25;font:16px/1 system-ui,sans-serif;letter-spacing:.14em;color:rgba(0,0,0,.6);background-color:rgba(200,200,200,.8);padding:5px 14px 12px;display:flex;align-items:center;gap:10px;overflow:hidden;transition:opacity 1600ms ease,transform 2400ms var(--sleepEase),filter 2400ms var(--sleepEase)}#sitebar a,#sitebar span{flex:0 0 auto}#sitebar a{color:rgba(0,0,0,.78);text-decoration:none;transition:all .3s ease-out}#sitebar a:hover{opacity:1;color:#fff}#sitebar span{margin:0 8px;opacity:.35}#sitebar a.active{color:#fff;font-weight:600}#sitebar a.active:hover{opacity:1}#stage.sleeping #sitebar{opacity:.1;transform:translateY(-10px) scale(1.01);filter:blur(3px)}#heroTitle{position:absolute;top:120px;left:47.5%;transform:translateX(-50%);z-index:24;text-align:center}html.fs-on #heroTitle,:fullscreen #heroTitle,:-webkit-full-screen #heroTitle{top:150px}#heroTitle h1{margin:0;font-family:"Lato",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:1.05;letter-spacing:.04em;color:rgba(255,255,255,.96);text-shadow:0 2px 14px rgba(0,0,0,.45)}#heroTitle h2,#heroTitle p{margin:8px 0 0;font-weight:300;font-size:clamp(.9rem,1vw,1.25rem);line-height:1.25;letter-spacing:.08em;color:rgba(155,155,155,.86);text-transform:none;text-shadow:0 2px 12px rgba(0,0,0,.4)}#heroTitle a{text-decoration:none;color:#09f}#heroTitle a:hover{color:#ccc}#stage.sleeping #heroTitle{opacity:.1;transform:translateX(-50%) translateY(-10px) scale(1.01);filter:blur(3px);transition:opacity 1600ms ease,transform 2400ms var(--sleepEase),filter 2400ms var(--sleepEase)}#fsBtn{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:34px;border-radius:10px;border:1px solid rgba(0,0,0,.18);background:rgba(255,255,255,.35);cursor:pointer;transition:opacity .2s ease,transform .2s ease,background .2s ease;color:rgba(0,0,0,.72)}#fsBtn svg{width:18px;height:18px}#fsBtn:hover{transform:translateY(-1px);background:rgba(255,255,255,.45)}#fsBtn:active{transform:translateY(0)}#fsBtn:active svg{transform:scale(.92)}#fsIconExit{display:none}html.fs-on #fsIconEnter{display:none}html.fs-on #fsIconExit{display:inline}#panelLoader{position:absolute;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;background:rgba(15,15,15,.86);opacity:0;pointer-events:none;transition:opacity .22s ease}#panelLoader.on{opacity:1;pointer-events:auto}#panelLoader .pl-inner{width:min(420px,80%);border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(0,0,0,.25);padding:18px 16px 16px;box-shadow:0 18px 60px rgba(0,0,0,.55);text-align:center}#panelLoader .pl-label{color:rgba(255,255,255,.82);font:12px/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}#panelLoader .pl-bar{height:8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.08)}#panelLoader .pl-fill{width:35%;height:100%;border-radius:999px;background:rgba(255,255,255,.85);animation:panelPulse 1.4s ease-in-out infinite}@keyframes panelPulse{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}#panelLoader .pl-hint{margin-top:12px;color:rgba(255,255,255,.62);font:13px/1.35 system-ui,sans-serif}#dreamHotspot{position:absolute;z-index:10;left:66.2%;top:18.8%;width:10%;height:18%;border-radius:6px;opacity:0;cursor:url("/images/eye.png") 20 20,pointer}#dreamHotspot:hover{opacity:.1;background:rgba(255,255,255,.25)}#dreamHotspot:active{opacity:.18}#dreamHotspot::after{content:"";position:absolute;inset:-10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;opacity:0;transition:opacity .2s ease}#dreamHotspot:hover::after{opacity:1}@media (max-width:900px){html,body{overflow:auto;overflow-x:hidden}#stage{height:auto;min-height:100vh;overflow:visible;overflow-x:hidden}#room{position:relative;height:auto;min-height:0;overflow:visible;background:#000}.roomImg{display:none}.roomImg.is-visible{display:block;position:relative;inset:auto;width:100%;height:clamp(180px,38vh,300px);object-fit:cover;object-position:center center;opacity:1}#room::after,#dim{display:none}#dreamHotspot,#sleepShade,#sleepPulse,#sleepLids{display:none!important}#panel{position:relative;width:100%;height:auto;transform:none;transition:none;border-left:0;border-top:1px solid rgba(255,255,255,.08);overflow:visible;overflow-x:hidden}#frame{position:relative;inset:auto;display:none;width:100%;height:auto;min-height:60vh;border:0;overflow:visible;opacity:0;transition:opacity .25s ease}#frame.ready{opacity:1}#panelLoader{position:fixed;inset:0;z-index:90}#closeBtn,#fsBtn{display:none}#sitebar{position:relative;bottom:auto;margin:14px 0 18px;pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:6px;font-size:14px;letter-spacing:.06em;padding:6px 10px 8px}#sitebar span{display:none}#sitebar a{padding:4px 6px;border-radius:8px;white-space:nowrap}#heroTitle{position:relative;top:auto;left:auto;transform:none;z-index:auto;margin:16px 14px 8px;max-width:none}#heroTitle h1{font-size:clamp(1.5rem,7vw,2.2rem)}#heroTitle h2{font-size:clamp(.9rem,3.6vw,1.05rem);letter-spacing:.04em}}.animate__animated{animation-duration:5s;animation-fill-mode:both}.animate__animated.animate__infinite{animation-iteration-count:infinite}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.animate__fadeIn{animation-name:fadeIn}