.watch-scene{position:relative;isolation:isolate;overflow:visible}
.watch-scene .watch-base,.watch-scene .watch-hands{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.watch-hands{opacity:0;filter:drop-shadow(1px 1px 1px #241c1370)}
.watch-ready .watch-hands{opacity:1}
.watch-scene:before{content:'';position:absolute;inset:10% -20%;z-index:-1;background:radial-gradient(ellipse,#c9974629,transparent 67%);opacity:0;transition:opacity .7s;pointer-events:none}
.watch-winding:before{opacity:1}
.watch-stopped:before{opacity:.35}
.watch-time{position:absolute;bottom:-6px;inset-inline:0;text-align:center;font:13px Georgia,serif;letter-spacing:2px;color:#e1c58f;opacity:0;transform:translateY(5px);transition:opacity .6s,transform .6s;text-shadow:0 2px 8px #000}
.watch-stopped .watch-time{opacity:1;transform:none}
.reliquary .key-touch{position:relative;padding:0;border:0;background:none;cursor:pointer;isolation:isolate;overflow:visible;color:#d1bc91;min-height:44px}
.key-touch>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.key-touch-hint{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);white-space:nowrap;font:11px Tajawal,sans-serif;color:#bda475;text-shadow:0 2px 6px #000}
.water-ripple{position:absolute;width:86px;height:36px;margin:-18px 0 0 -43px;border:1px solid #c2e4d080;border-radius:50%;pointer-events:none;box-shadow:0 0 7px #c5e2c932,inset 0 0 7px #d9ebd820;opacity:0;z-index:2}
.reliquary .key-touch[aria-expanded='true']{filter:drop-shadow(0 8px 12px #b49f5140)}
.key-memory{position:relative;isolation:isolate;margin:45px auto 15px;padding:40px 45px;max-width:680px;scroll-margin-top:100px;color:#dcd0b3}
.key-memory[hidden]{display:none}
.key-memory:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:#0c1510ed;clip-path:polygon(1% 4%,97% 1%,100% 96%,3% 100%,0 50%);box-shadow:inset 0 0 70px #6f74491a}
.key-memory:after{content:'';position:absolute;inset:10px 0 auto;height:1px;background:linear-gradient(90deg,transparent,#b3a47770,transparent);pointer-events:none}
.key-memory>span{display:block;color:#a38a5f;font-size:11px;margin-bottom:15px}
.key-memory h3{font:32px/1.4 var(--serif);font-weight:400;color:#e4d1a8;margin:0 0 13px}
.key-memory p{font:25px/1.9 var(--serif);color:#dfd2b7}
.key-memory-close{display:block;margin:20px 0 0 auto;min-width:44px;min-height:44px;padding:9px 0;background:none;border:0;color:#beaa7e;font-size:12px}
.tape-audio-panel{text-align:center;position:relative;margin:3px auto 25px;max-width:400px}
.reliquary .tape-listen{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;min-width:225px;padding:14px 21px;border:1px solid #84765280;border-radius:3px;background:linear-gradient(110deg,#151f18,#252a1d);color:#d9c498;font-size:13px;box-shadow:inset 0 1px 0 #b7aa6c19,0 5px 15px #0005}
.reliquary .tape-listen:hover{border-color:#c3a96d}
.reliquary .tape-listen[aria-pressed='true']{background:linear-gradient(110deg,#26281a,#35402b);border-color:#bba578;color:#f0dfb9}
.tape-listen .audio-symbol{font-size:17px;line-height:1;width:17px;display:block}
.tape-listen:disabled{opacity:.6;cursor:default}
.audio-note{display:block;margin:11px auto 0;font-size:10px;line-height:1.8;color:#ac9c7a;max-width:300px;min-height:18px}
.audio-level{display:flex;align-items:center;justify-content:center;gap:4px;height:20px;margin-top:8px;opacity:.3}
.audio-level i{width:2px;height:4px;background:#aa9769;transform-origin:center;transition:height .25s}
.audio-level i:nth-child(2n){height:10px}.audio-level i:nth-child(3n){height:15px}
.audio-playing .audio-level{opacity:.9}
.audio-playing .audio-level i{animation:voice-level .7s ease-in-out infinite alternate}
.audio-playing .audio-level i:nth-child(2n){animation-delay:-.3s;animation-duration:.5s}.audio-playing .audio-level i:nth-child(3n){animation-delay:-.6s;animation-duration:.8s}
@keyframes voice-level{to{transform:scaleY(.3);opacity:.4}}
.journey-atmosphere{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .7s;contain:paint}
.house-journey>#story-atmosphere,.house-journey>section{z-index:2}
.journey-live .journey-atmosphere{opacity:1}
.journey-atmosphere:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at var(--journey-lamp-x,75%) 34%,#bea45f1f,transparent 60%);opacity:var(--journey-lamp,1)}
.journey-atmosphere:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,transparent 18%,#000 115%);opacity:var(--journey-dark,.1)}
.journey-window-shadow{position:absolute;top:-25%;left:-25%;width:120%;height:150%;background:linear-gradient(90deg,transparent 43%,#010501 43% 49%,transparent 49% 74%,#010501 74% 80%,transparent 80%),repeating-linear-gradient(0deg,transparent 0 135px,#010501 135px 153px);border:18px solid #010501;opacity:var(--journey-shadow,.1);transform:translate3d(var(--journey-shadow-x,0px),var(--journey-shadow-y,0px),0) rotate(-24deg) skewY(-8deg);mask-image:radial-gradient(ellipse,#000,transparent 72%);will-change:transform}
.house-journey[data-room='fragments'] .journey-atmosphere:before{background:radial-gradient(ellipse at var(--journey-lamp-x,75%) 38%,#80b2991b,transparent 62%)}
.house-journey[data-room='author'] .journey-atmosphere:before{background:radial-gradient(ellipse at var(--journey-lamp-x,75%) 38%,#b99b5e25,transparent 62%)}
.reliquary .threshold .doorway{transition:filter .7s}
.reliquary #door-entry{transform:translateZ(0) scale(calc(.97 + var(--door-approach,1) * .06));transform-origin:50% 70%;transition:transform .25s ease-out}
.reliquary .threshold.is-hushed .doorway{filter:brightness(.77)}
.threshold.is-hushed .threshold-ornament{filter:brightness(.65);transition:filter .7s}
@media(max-width:650px){.key-memory{padding:30px 24px;margin-top:30px}.key-memory h3{font-size:29px}.key-memory p{font-size:23px}.watch-time{font-size:10px;bottom:-7px;letter-spacing:1px}.key-touch-hint{font-size:9px;bottom:-7px}.water-ripple{width:65px;height:27px;margin:-13px 0 0 -32px}.tape-audio-panel{margin-bottom:20px}.reliquary .tape-listen{min-width:200px;font-size:12px;padding:12px 15px;gap:11px}.audio-note{font-size:9px;line-height:1.9;max-width:240px}.journey-window-shadow{width:150%;left:-30%;background-size:auto;opacity:calc(var(--journey-shadow,.1) * .8)}}
@media(prefers-reduced-motion:reduce){.journey-atmosphere{display:none}.watch-time{transition:none;transform:none}.water-ripple{display:none}.audio-playing .audio-level i{animation:none}.key-memory{scroll-margin-top:30px}.journey-window-shadow{will-change:auto}.reliquary #door-entry{transform:none}}
