/* Interactive seasonal-hall affordances; artwork bytes never modified. */
.halloween-quick-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 8px;background:rgba(23,9,30,.96);border-block:1px solid #bd91558c;box-shadow:0 8px 22px #0006;overflow-x:auto;scrollbar-width:thin}
.halloween-quick-nav a{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;flex:0 0 auto;min-height:43px;padding:8px clamp(9px,2.3vw,18px);border:1px solid #b58c5c99;border-radius:999px;color:#fce7c0;background:#382043;text-decoration:none;font:600 clamp(11px,3vw,14px)/1.3 system-ui,sans-serif}
.halloween-quick-nav a:hover,.halloween-quick-nav a:focus-visible{background:#57335b;outline:2px solid #ffd18b;outline-offset:2px}
.theme-main section[id],#halloweenInviteStage{scroll-margin-top:74px}
.halloween-interactive-scene{position:relative}
.halloween-scene-hotspot{position:absolute;z-index:8;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;max-width:65%;padding:8px 12px;border:1px solid #e9ba70cc;border-radius:999px;background:rgba(24,10,37,.84);color:#ffebc7;box-shadow:0 5px 20px #0009;backdrop-filter:blur(5px);font:600 clamp(11px,2.6vw,15px)/1.25 system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.halloween-scene-hotspot .tour-star{color:#ffd37d;font-size:18px;line-height:1}
.halloween-scene-hotspot:hover,.halloween-scene-hotspot:focus-visible{background:#4a2459;outline:3px solid #fdd99c;outline-offset:2px}
.halloween-gallery-hint{font:500 clamp(12px,3vw,15px)/1.5 system-ui,sans-serif;text-align:center;background:#1e1028;padding:14px 12px;color:#fae5be;margin:0}
.halloween-empty-invites{position:absolute;inset:0;pointer-events:none;z-index:1}
.halloween-empty-slot{position:absolute;width:23.3%;border:0;background:transparent;pointer-events:auto;cursor:pointer;border-radius:8px;outline-offset:2px;overflow:hidden}
.halloween-empty-slot::after{content:'+';position:absolute;bottom:12%;left:50%;transform:translateX(-50%);display:grid;place-items:center;height:25px;width:25px;border:1px solid #dcb57d88;border-radius:50%;background:#341b41b8;color:#f5dba9;font-size:18px}
.halloween-empty-slot:hover,.halloween-empty-slot:focus-visible{outline:3px solid #fcd38f;background:#d2a85c19}
.halloween-tour-dialog{width:min(92vw,430px);max-height:min(80dvh,680px);overflow-y:auto;box-sizing:border-box;margin:auto;border:1px solid #d6ac78;border-radius:18px;background:#21112c;color:#f8e5c7;box-shadow:0 20px 80px #000c;padding:25px}
.halloween-tour-dialog::backdrop{background:#07040bba}
.halloween-tour-dialog h2{font:700 clamp(20px,5vw,28px)/1.35 Georgia,'Noto Serif KR',serif;margin:5px 0 16px}
.halloween-tour-dialog p{font:400 15px/1.7 system-ui,sans-serif;color:#e3cbae}
.halloween-tour-dialog .tour-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.halloween-tour-dialog .tour-actions a,.halloween-tour-dialog .tour-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #d9a96a;border-radius:100px;background:#35203f;color:#ffe7b6;text-decoration:none;font:600 14px/1.3 system-ui,sans-serif;cursor:pointer}
.halloween-tour-close{display:block;margin-left:auto;border:1px solid #ab855b;border-radius:50%;background:#331c3f;color:#fff;font-size:20px;cursor:pointer;width:44px;height:44px}
.halloween-moonlight>img{filter:brightness(.8) hue-rotate(16deg) saturate(.86);transition:filter .5s ease}
.halloween-moonlight .halloween-scene-hotspot{background:#20364ae8}
@media(prefers-reduced-motion:reduce){.halloween-moonlight>img{transition:none}}
@media(max-width:400px){.halloween-quick-nav{justify-content:flex-start}.halloween-scene-hotspot{padding:8px 10px}}

/* Subtle object hotspots: icon visible, explanations only on focus/hover. */
.halloween-scene-hotspot{width:44px;height:44px;min-width:44px;max-width:none;padding:0;border-radius:50%;font-size:13px;box-shadow:0 3px 15px #0008;white-space:nowrap}
.halloween-scene-hotspot .tour-star{font-size:20px;display:block}
.halloween-scene-hotspot>span:last-child{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);padding:6px 10px;border:1px solid #b48b5b;border-radius:8px;background:#1e1129f5;max-width:180px;min-width:max-content;font-size:12px;line-height:1.4;visibility:hidden;opacity:0;transition:opacity .15s ease}
.halloween-scene-hotspot:hover>span:last-child,.halloween-scene-hotspot:focus-visible>span:last-child{visibility:visible;opacity:1}
.halloween-glow>img{filter:brightness(1.15) saturate(1.2);transition:filter .25s ease}
.halloween-glow .halloween-scene-hotspot[aria-pressed="true"]{background:#59351eee;box-shadow:0 0 19px #e8a448bb}
@media(prefers-reduced-motion:reduce){.halloween-glow>img{transition:none}.halloween-scene-hotspot>span:last-child{transition:none}}


.halloween-quick-nav button{font:inherit;color:#f4deb3;background:#20172a;border:1px solid #b89455;border-radius:12px;min-height:44px;padding:10px 20px;cursor:pointer}
