:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);scroll-padding-top:100px}
.mobileHeadline,.menuIcon,.mobileMenuTools,.menuDestinations{display:none}
.desktopHeadline{display:inline}
header{z-index:50}button,a,input[type=range]{touch-action:manipulation}
#room,#junction,.stage{overflow:clip}
.brand{min-height:44px}#indexButton{min-width:44px;min-height:44px}#indexButton .menuIcon{margin:0}
.entryImage{background-image:var(--door-image,none)}.doorLeaf{background-image:var(--door-image,none)}
.secretBackdrop{background-image:linear-gradient(90deg,#07100ff5,#0a1515da),var(--junction-image,none)}
.srOnly{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mobileMenuTools{flex-wrap:wrap;gap:10px 24px}body[data-motion=reduce] #journey{height:auto}body[data-motion=reduce] .stage{position:relative;min-height:100svh}body[data-motion=reduce] .scene,body[data-motion=reduce] #roomWorld{transform:none!important}body[data-motion=reduce] .doorLeaf,body[data-motion=reduce] .doorVoid,body[data-motion=reduce] .storyCaption,body[data-motion=reduce] .progress{display:none}body[data-motion=reduce] .exploreRoom,body[data-motion=reduce] #room{position:relative;min-height:100svh}body[data-motion=reduce] *,body[data-motion=reduce] *:before{transition:none!important;animation:none!important}
#roomComposition,#junctionComposition{overflow:visible}.objectOutline{fill:none;stroke:#e4d777;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none}
.roomObject:hover .objectOutline,.roomObject:focus-within .objectOutline{opacity:1}
.roomObject:hover .objectTarget,.roomObject:focus-within .objectTarget{stroke:transparent;filter:none}
@media(max-width:700px){
 :root{scroll-padding-top:calc(76px + var(--safe-top))}
 header,body.inRoom header{height:calc(68px + var(--safe-top));padding:var(--safe-top) max(18px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));background:#151d16f2;border-bottom:1px solid #c6c79422;backdrop-filter:blur(12px);z-index:50}
 .brand{gap:9px;letter-spacing:.12em}.brandmark{width:30px;font-size:36px}.brand small{display:none}.brand{font-size:14px}
 header nav{gap:0}header #sound{display:none}#indexButton{display:grid;place-items:center;width:48px;height:48px;padding:12px}#indexButton .indexText{display:none}.menuIcon{display:flex;flex-direction:column;gap:6px;width:23px}.menuIcon i{height:1px;width:23px;background:var(--cream);display:block}
 #journey{height:340svh}.stage{min-height:0;height:100svh}#entrance{transform-origin:50% 42%}
 .desktopHeadline{display:none}.mobileHeadline{display:inline}.hero{top:auto;left:24px;right:24px;bottom:calc(83px + var(--safe-bottom));max-width:none;text-align:left}
 .hero>.eyebrow,.hero>.intro,.doorLabel,.sceneMeta,.storyCaption{display:none}.hero h1{font:400 clamp(32px,9vw,42px)/1.03 Italiana,Georgia,serif;letter-spacing:-.03em;margin:0 0 12px;max-width:280px}.hero h1 em{font-size:1em;white-space:normal}.journeyButton{height:44px;min-width:156px;font-size:14px;margin:0;padding:10px 0;border-bottom-color:#ddd29a88}
 #entrance .shade{background:linear-gradient(0deg,#121c13d9 0%,#121c1380 19%,transparent 44%,transparent 84%,#121c1344)}
 #corridor>.shade{background:linear-gradient(0deg,#121811bd,transparent 25%,transparent 82%,#151b1355)}
 #hud{height:calc(64px + var(--safe-bottom));padding:0 20px var(--safe-bottom);background:#151d16eb}.scrollCue{font-size:10px;max-width:135px;line-height:1.5;letter-spacing:.1em}#skip{font-size:12px;min-width:130px;min-height:44px;max-width:155px}.mouse{flex-shrink:0}
 #endHint{bottom:calc(95px + var(--safe-bottom));left:24px;right:24px}#endHint .eyebrow{font-size:10px}#endHint>p:last-child{font-size:28px;max-width:275px;margin:12px 0}
 .roomWorld,.junctionWorld{background:#182018}.roomWorld>.shade,.junctionShade{background:linear-gradient(0deg,#121b13e8,transparent 27%,transparent 84%,#111a1333)}
 #room .roomHeading,.junctionHeading{top:auto;left:24px;right:24px;bottom:calc(78px + var(--safe-bottom))}#room .roomHeading h2,.junctionHeading h2{font:400 clamp(26px,7.6vw,34px)/1.08 Italiana,Georgia,serif;margin:9px 0 10px}.roomHeading .eyebrow,.junctionHeading .eyebrow{font-size:10px}.roomHeading>p:last-child,.junctionHeading>p:last-child{font-size:13px;line-height:1.5;max-width:280px;margin-bottom:0}
 .roomBottom,.junctionBottom{left:24px;right:24px;bottom:calc(12px + var(--safe-bottom));min-height:44px}.roomBottom>span,.junctionBottom>span{display:none}.roomBottom button,.junctionBottom button{min-height:44px;font-size:13px;padding:10px 0;letter-spacing:0}
 #portfolio{width:calc(100% - 20px);max-height:calc(100svh - var(--safe-top) - var(--safe-bottom) - 24px);padding:20px;border-radius:0}#portfolio .dialogTop{position:sticky;top:-20px;background:#1a231bf5;z-index:3;padding:10px 0 14px}#closePanel,#nextPanel{min-height:44px;font-size:13px}.dialogBottom{padding-top:12px;gap:10px}.dialogBottom>span{font-size:9px}#panelBody{padding-top:20px}.work{min-height:110px}.tags span{font-size:13px}.sample{font-size:12px}.timeline p{font-size:15px}.timeline h3{line-height:1.35}
 #index{position:fixed;inset:0;margin:0;width:100%;height:100svh;max-width:none;max-height:none;border:0;padding:calc(16px + var(--safe-top)) 24px calc(22px + var(--safe-bottom));background:#17221bf9}#index::backdrop{background:#09110def}#index .dialogTop{height:52px;padding:0;border-bottom-color:#b9c89333}#closeIndex{min-width:70px;min-height:44px;font-size:14px}#index h2{font-size:38px;margin:20px 0}#index>.eyebrow{font-size:10px;margin-top:28px}.indexLinks button{font-size:28px;padding:14px 0;min-height:54px}.indexLinks span{font-size:12px}.menuDestinations{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.menuDestinations button{border:1px solid #afbd8844;padding:10px 12px;min-height:44px;font-size:13px}.mobileMenuTools{display:flex;border-top:1px solid #afbd8833;margin-top:24px;padding-top:15px}.mobileMenuTools button{min-height:44px;font-size:14px}.mobileMenuTools button span{margin-left:12px;color:var(--yellow)}#index .sample{font-size:11px;max-width:290px}
 .fragmentTabs button{min-height:48px}.secretExit{min-height:44px}#frequency{min-height:44px}.secretContent{padding-top:calc(100px + var(--safe-top));padding-bottom:calc(30px + var(--safe-bottom))}.frequency label,.fragmentNote{font-size:13px}
}
@media(max-width:700px) and (max-height:680px){.hero{bottom:calc(74px + var(--safe-bottom))}.hero h1{font-size:30px;margin-bottom:5px}.journeyButton{height:44px}#room .roomHeading,.junctionHeading{bottom:calc(63px + var(--safe-bottom))}#room .roomHeading h2,.junctionHeading h2{font-size:25px}.roomHeading>p:last-child,.junctionHeading>p:last-child{font-size:12px}.roomHeading .eyebrow,.junctionHeading .eyebrow{display:none}#index>.eyebrow{margin-top:14px}#index h2{font-size:30px;margin:14px 0}.indexLinks button{font-size:23px;padding:9px 0;min-height:46px}.menuDestinations{margin:12px 0}.mobileMenuTools{margin-top:14px}}
@media(prefers-reduced-motion:reduce){#journey{height:auto}.stage{position:relative;min-height:100svh}.exploreRoom,#room{position:relative;min-height:100svh}.scene,#roomWorld{transform:none!important}.storyCaption{display:none}html{scroll-behavior:auto}.doorLeaf,.doorVoid{display:none}.progress{display:none}}
