/* 3D diorama additions */
#stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:pointer}
#fx-vignette{background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(0,0,0,.42) 100%)}
#fx-grain{opacity:.045}
#actors{display:none}
#game.drift #stage{filter:saturate(.35) contrast(.92) brightness(.95) blur(.4px)}
#game.drift-heavy #stage{filter:saturate(.1) contrast(.85) brightness(.85) blur(1px)}

#overlay[data-kind=title],#overlay[data-kind=note]{background:radial-gradient(ellipse at 50% 50%,rgba(8,5,3,.55),rgba(8,5,3,.2) 70%);backdrop-filter:none}

#prompt{position:absolute;transform:translate(-50%,-100%);background:rgba(24,16,10,.86);border:1px solid rgba(217,164,91,.6);color:#f3e7d3;padding:6px 12px 6px 6px;border-radius:999px;font-size:14px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:14;cursor:pointer;display:flex;align-items:center;gap:8px}
#prompt.show{opacity:1;pointer-events:auto}
#prompt .key{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d9a45b;color:#1a110b;font-weight:600;font-size:12px}

#objective{position:absolute;left:3vw;top:3vh;margin-top:56px;font-style:italic;color:#f3e7d3;text-shadow:0 2px 8px rgba(0,0,0,.8);opacity:0;transition:opacity .6s;display:flex;align-items:center;gap:10px;font-size:15px;z-index:13}
#objective.show{opacity:1}
#objective .dot{width:9px;height:9px;border-radius:50%;background:#ffcf7a;box-shadow:0 0 10px 3px rgba(255,207,122,.6);animation:blink 1.6s infinite}

#loclabel{position:absolute;left:50%;top:9vh;transform:translateX(-50%);font-family:Rye,serif;letter-spacing:.08em;font-size:clamp(18px,2vw,28px);color:#f6dfb4;text-shadow:0 3px 16px rgba(0,0,0,.7);opacity:0;transition:opacity 1.2s;pointer-events:none;z-index:13}
#loclabel.show{opacity:1}

#clickmark{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border:2px solid rgba(255,230,180,.8);border-radius:50%;pointer-events:none;opacity:0}
#clickmark.show{animation:ping .6s ease-out}
@keyframes ping{from{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.4)}}

#controls-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);font-size:12px;color:rgba(243,231,211,.7);text-shadow:0 1px 4px #000;pointer-events:none;letter-spacing:.03em}
#dialog:not(.hidden)~#controls-hint,#choices:not(.hidden)~#controls-hint{opacity:0}
#dialog{bottom:4.5vh}
