.exploreRoom{position:fixed;inset:0;height:100svh;overflow:hidden;background:#18190f;outline:none}
.junctionWorld{position:absolute;inset:0}
#junctionComposition{position:absolute}
#junctionComposition>img,#junctionMap{position:absolute;inset:0;width:100%;height:100%}
#junctionComposition>img{object-fit:fill;filter:saturate(.73) contrast(1.05)}
#junctionMap{overflow:visible;pointer-events:none}
.junctionShade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0d120ede,transparent 36%,transparent 83%,#10110d77)}
.junctionChoice{pointer-events:none}
.choiceTarget{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer;outline:none;transition:fill .3s,stroke .3s}
.choiceNumber{fill:#e9dfae;text-anchor:middle;font:18px 'DM Sans',sans-serif;paint-order:stroke;stroke:#11190eee;stroke-width:3;pointer-events:none}
.choiceLabel{fill:#fff0be;font:18px 'DM Sans',sans-serif;paint-order:stroke;stroke:#10180fff;stroke-width:3;pointer-events:none;opacity:0;transition:opacity .2s}
.junctionChoice:hover .choiceTarget,.junctionChoice:focus-within .choiceTarget{fill:#edd47618;stroke:#d4c474;filter:drop-shadow(0 0 9px #cabe7650)}
.junctionChoice:hover .choiceLabel,.junctionChoice:focus-within .choiceLabel{opacity:1}
.junctionHeading{position:absolute;left:6%;bottom:13%;pointer-events:none}
.junctionHeading h2{font:400 clamp(30px,3vw,46px)/1.12 Italiana,Georgia,serif;margin:12px 0 15px;color:#dcd7b9}
.junctionHeading>p:last-child{font-size:13px;color:#b3b69c;line-height:1.8}
.junctionBottom{position:absolute;left:4.3%;right:4.3%;bottom:30px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.15em;color:#a8ad97}
.junctionBottom button{font-size:12px;letter-spacing:0;padding:12px 0}
#secret{overflow-y:auto;background:#0c110e;--echo-offset:0px;--signal-hue:0deg}
.secretBackdrop{position:fixed;inset:0;background:linear-gradient(90deg,#07100ff5,#0a1515da),var(--junction-image,none) 0 50%/cover;filter:hue-rotate(var(--signal-hue));pointer-events:none}
.secretContent{position:relative;max-width:880px;margin:0 auto;padding:135px 45px 55px}
.secretFound{font:11px monospace;letter-spacing:.16em;color:#899b79;margin-top:35px}
.secretContent h2{font:400 clamp(48px,6vw,82px)/1 Italiana,Georgia,serif;margin:24px 0;color:#dce1bf}
.secretContent h2 em{font-weight:400;color:#9cae91}
.secretIntro{font-size:15px;line-height:1.8;color:#aebaa2}
.fragmentTabs{display:flex;border-bottom:1px solid #94a47b55;margin-top:36px;gap:12px}
.fragmentTabs button{font:13px monospace;color:#86977e;padding:16px 12px;border-bottom:2px solid transparent}
.fragmentTabs button[aria-selected=true]{color:#dfe3b3;border-color:#d1d794}
#fragmentPanel{padding:25px 0 12px;min-height:180px;outline-offset:5px}
#fragmentPanel small{font:11px monospace;letter-spacing:.15em;color:#92a083}
.echoText{font:400 clamp(24px,3vw,32px)/1.45 Italiana,Georgia,serif;color:#d0d5b3;text-shadow:var(--echo-offset) 0 #6a9cbd88,calc(var(--echo-offset) * -1) 0 #a8935588;filter:hue-rotate(var(--signal-hue));max-width:680px;margin:16px 0}
.fragmentNote{font-size:13px;line-height:1.8;color:#8e9c82}
.frequency{max-width:430px;margin-top:12px}.frequency label{display:flex;justify-content:space-between;font:12px monospace;color:#b3be9e;margin-bottom:16px}.frequency input{width:100%;accent-color:#b9c689;cursor:ew-resize;min-height:32px}.secretFootnote{font-size:11px;color:#83917c;line-height:1.7}.secretExit{display:block;border-bottom:1px solid #b6c18c66;padding:12px 0;font-size:13px;margin-top:28px}
@media(max-width:700px){.junctionHeading{left:7%;right:7%;bottom:14%}.junctionHeading h2{font-size:30px}.junctionHeading>p:last-child{font-size:12px;max-width:280px}.junctionHeading .eyebrow{font-size:10px}.junctionBottom{left:6%;right:6%;bottom:23px}.junctionBottom>span{font-size:8px;max-width:100px;text-align:right;line-height:1.7}.secretContent{padding:110px 24px 35px}.secretContent h2{font-size:52px}.secretIntro{font-size:14px}.fragmentTabs{gap:0}.fragmentTabs button{font-size:11px;padding:15px 10px}.secretFound{font-size:9px}.echoText{font-size:26px}.secretContent .eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){.choiceTarget,.choiceLabel{transition:none}.echoText{text-shadow:none}}
