/* One overlay follows the second painting's original 1824 × 862 canvas. */
#river .castle-window-portals{position:absolute;inset:0;z-index:4;pointer-events:none}
.castle-window-link{position:absolute;left:var(--window-x);top:var(--window-y);width:max(44px,var(--window-width));height:max(44px,var(--window-height));transform:translate(-50%,-50%);display:block;border:0;border-radius:7px;background:transparent;box-shadow:none;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}
.castle-window-link:hover,.castle-window-link:active{background:transparent;box-shadow:none}
.castle-window-link:focus-visible{outline:2px solid #fff2a3;outline-offset:4px}
.castle-window-glows{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.castle-window-glows path{fill:#fff7b0;filter:drop-shadow(0 0 6px #fff6ab) drop-shadow(0 0 17px #ffdd4e) drop-shadow(0 0 30px #ffbd2480);opacity:0;transition:opacity .24s ease}
.castle-window-link[data-room="winter-study"]:is(:hover,:focus-visible,:active)~.castle-window-glows [data-room-glow="winter-study"],
.castle-window-link[data-room="keepers-map"]:is(:hover,:focus-visible,:active)~.castle-window-glows [data-room-glow="keepers-map"],
.castle-window-link[data-room="stone-chamber"]:is(:hover,:focus-visible,:active)~.castle-window-glows [data-room-glow="stone-chamber"]{opacity:.94}
@media(prefers-reduced-motion:reduce){.castle-window-glows path{transition:none}}
/* The mill entrance is hidden in the wheel itself, with no visible marker. */
.waterwheel-secret-link{position:absolute;left:54.2%;top:60%;width:max(44px,16%);height:max(44px,44%);transform:translate(-50%,-50%);border-radius:50%;background:transparent;border:0;box-shadow:none;pointer-events:auto;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}
.waterwheel-secret-link:hover,.waterwheel-secret-link:active{background:transparent;box-shadow:none}
.waterwheel-secret-link:focus-visible{outline:2px solid #fff2a3;outline-offset:3px}
/* One brief glint marks the hidden treasury window, then rests for most of its cycle. */
.treasury-window-sparkle{position:absolute;left:50%;top:50%;width:clamp(9px,.95vw,16px);height:clamp(9px,.95vw,16px);opacity:0;filter:drop-shadow(0 0 4px #ffe8b8b3);animation:treasury-window-glint 10s ease-in-out -5s infinite;pointer-events:none}
.treasury-window-sparkle::before{content:"";position:absolute;inset:0;background:#fff5d6;clip-path:polygon(50% 0,60% 39%,100% 50%,60% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
@keyframes treasury-window-glint{0%,87%,100%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}90%{opacity:.85;transform:translate(-50%,-50%) scale(1) rotate(12deg)}91%{opacity:.12;transform:translate(-50%,-50%) scale(.55) rotate(16deg)}92%{opacity:.7;transform:translate(-50%,-50%) scale(.85) rotate(20deg)}94%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(25deg)}}
.still .treasury-window-sparkle{display:none}
@media(prefers-reduced-motion:reduce){.treasury-window-sparkle{display:none;animation:none}}

/* A hidden entrance at the very top-left of the tale. */
.secret-corner-link,.secret-corner-link:hover,.secret-corner-link:active,.secret-corner-link:visited{position:absolute;top:0;left:0;z-index:30;display:block;width:64px;height:64px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-decoration:none;cursor:default;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.secret-corner-link:focus:not(:focus-visible){outline:none}
.secret-corner-link:focus-visible{outline:2px solid #fff2a3;outline-offset:-4px}

.footer-river-finish{position:relative}
.secret-bottom-link,.secret-bottom-link:hover,.secret-bottom-link:active,.secret-bottom-link:visited{position:absolute;bottom:0;left:0;z-index:10;width:44px;height:44px;display:block;background:transparent;border:0;box-shadow:none;cursor:default;text-decoration:none;-webkit-tap-highlight-color:transparent}
.secret-bottom-link:focus:not(:focus-visible){outline:none}
.secret-bottom-link:focus-visible{outline:2px solid #fff2a3;outline-offset:-4px}

.secret-bottom-right-link,.secret-bottom-right-link:hover,.secret-bottom-right-link:active,.secret-bottom-right-link:visited{position:absolute;bottom:0;right:0;z-index:10;width:44px;height:44px;display:block;background:transparent;border:0;box-shadow:none;cursor:default;text-decoration:none;-webkit-tap-highlight-color:transparent}
.secret-bottom-right-link:focus:not(:focus-visible){outline:none}
.secret-bottom-right-link:focus-visible{outline:2px solid #fff2a3;outline-offset:-4px}

.card-room-window-link,.card-room-window-link:hover,.card-room-window-link:active{background:transparent;box-shadow:none;cursor:default}
