/* The long night: three playable chapters, one house. */
.haunt-section{background:#11100f}.haunt-section .section-heading>p{max-width:300px}.season-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #484137}.season-tabs>button{padding:22px 24px;text-align:left;font:25px/1.2 var(--display);border-right:1px solid #484137;background:#171411}.season-tabs>button:last-child{border-right:0}.season-tabs>button small,.season-tabs>button>span{display:block;font:9px/1.8 var(--mono);letter-spacing:.06em}.season-tabs>button small{color:#b9b2a2;margin-bottom:9px}.season-tabs>button>span{color:#b9b2a2;margin-top:8px}.season-tabs>button[aria-selected=true]{background:#342016;box-shadow:inset 0 -3px #ef8b4a}.season-tabs>button:hover{background:#2c211a}.season-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #484137;border-top:0;min-height:670px}.haunted-room{position:relative;isolation:isolate;overflow:hidden;min-height:670px;background:radial-gradient(ellipse at 60% 50%,#593321,#100a09 70%)}.room-watcher{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:.16;filter:saturate(.5);transform:scale(1.03);transition:opacity 1.6s,transform 2s}.haunted-room.presence .room-watcher{opacity:.8;transform:scale(1.13)}.room-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,#090706 0%,transparent 42%,#090706b5 100%),linear-gradient(90deg,#0c0806a3,transparent 40%,#0c0806a3)}.room-label{position:absolute;z-index:3;top:24px;left:24px;color:#c7bba5}.room-label b{font-weight:400}.haunt-door-frame{position:absolute;inset:110px 24% 120px;border:10px solid #251911;box-shadow:0 0 0 2px #534030,0 5px 90px #000,0 0 70px #e4721b14;perspective:700px}.haunt-door{position:relative;width:100%;height:100%;display:block;background:linear-gradient(90deg,#281b13,#39271b 75%,#20140e);border:2px solid #665039;box-shadow:inset 0 0 30px #0008;transform-origin:left;transition:transform .8s,background .6s;z-index:2}.haunt-door.answered{transform:rotateY(-14deg);background:linear-gradient(90deg,#21160f,#322018)}.haunt-door:hover{box-shadow:inset 0 0 30px #0008,0 0 24px #ef8b4a30}.door-number{position:absolute;top:30px;left:0;right:0;font-size:25px;color:#baa374}.door-panel{position:absolute;inset:92px 20% 22%;border:2px solid #61472d;box-shadow:inset 0 0 15px #000a}.door-knob{position:absolute;right:12%;top:55%;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#b3a17c,#534330 70%);box-shadow:0 2px 6px #000}.door-action{position:absolute;bottom:18px;left:8px;right:8px;text-align:center;font-size:8px;color:#d8c7aa}.knock-count{position:absolute;z-index:3;bottom:94px;left:24px;color:#d2c3ac}.haunt-message{position:absolute;z-index:3;bottom:25px;left:24px;right:24px;min-height:42px;font:12px/1.7 var(--mono);color:#d9cdb8}.haunt-console{padding:28px 32px;background:#181613;min-width:0}.case-heading{display:flex;justify-content:space-between;gap:16px;color:#c4ad91;font-size:8px;padding-bottom:20px;border-bottom:1px solid #484137}.haunt-console h3{font-size:42px;margin:24px 0 12px}.haunt-console>p{color:#c3b9a8;font-size:13px;max-width:430px}.haunt-tasks{padding:0;margin:22px 0;list-style:none;font-size:12px;line-height:2.2;color:#b7af9e}.haunt-tasks li:before{content:'○';margin-right:12px;color:#d0b58a}.haunt-tasks li.done{color:#e3d3ae}.haunt-tasks li.done:before{content:'✓';color:#e7b168}.haunt-radio{background:#0d0d0b;border:1px solid #514537;padding:17px 18px}.radio-top{display:flex;justify-content:space-between;gap:12px;font-size:7px;color:#b8ac96}.radio-top span:last-child{color:#c4ac7c}.radio-dial{display:flex;align-items:baseline;gap:10px;margin:12px 0}.radio-dial output{font:42px/1.1 var(--mono);color:#e1bb75;letter-spacing:-.08em}.radio-dial>.mono{font-size:10px;color:#c6b18a}.radio-scan{margin-left:auto;padding:9px 12px;border:1px solid #6e5a3d;font:11px/1.3 var(--mono)}.haunt-radio label{display:flex;justify-content:space-between;gap:8px;font-size:7px;color:#c0b294}.haunt-radio input{display:block;width:100%;margin:15px 0;accent-color:#e1bb75;min-height:24px}.haunt-radio>p{font:10px/1.7 var(--mono);min-height:51px;color:#c2b8a1}.haunt-radio.locked{border-color:#cdab6d;box-shadow:inset 0 0 25px #e1bb750b}.haunt-radio.locked #radio-status{color:#dfc38e}.candle-heading{display:flex;justify-content:space-between;gap:12px;color:#c7bca4;font-size:8px;margin-top:24px}.haunt-candles{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:8px}.haunt-candles button{position:relative;display:grid;place-items:center;gap:10px;border:1px solid #514537;padding:16px 4px 10px;min-height:95px}.haunt-candles i{display:block;position:relative;width:15px;height:30px;background:linear-gradient(90deg,#827b64,#c4bba2,#827b64);border-radius:2px 2px 0 0;margin-top:15px}.haunt-candles i:before{content:'';position:absolute;top:-17px;left:3px;width:9px;height:17px;border-radius:80% 10% 70% 30%;background:#f3c267;opacity:0;transform:rotate(-15deg);box-shadow:0 0 25px 7px #f3ac3d45}.haunt-candles button[aria-pressed=true]{border-color:#b88948;background:#bd8b2810}.haunt-candles button[aria-pressed=true] i:before{opacity:1;animation:candle-breathe 2.6s ease-in-out infinite alternate}.haunt-candles button span{font:8px/1 var(--mono);color:#c8b995}.chapter-ending{border-left:2px solid #dcb777;padding:13px 17px;margin-top:22px;background:#c49c4210}.chapter-ending>.mono{font-size:8px;color:#e4c893}.chapter-ending p{font-size:12px;color:#ded0b7;margin-top:8px}.cursed-gifts{display:grid;grid-template-columns:180px 1fr;gap:22px 30px;align-items:center;padding:32px;border:1px solid #484137;border-top:0;background:#191410}.cursed-gifts .eyebrow{font-size:7px;color:#bcb097;margin-bottom:10px}.cursed-gifts h3{font-size:33px}.cursed-gifts em{color:#e3b77a}.haunt-gifts{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.haunt-gifts button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:85px;border:1px solid #785742;background:linear-gradient(90deg,#4e1c19 40%,#bda976 41%,#bda976 48%,#4e1c19 49%);font:10px/1.5 var(--mono);transition:transform .2s,filter .2s}.haunt-gifts button>span{font-size:24px;line-height:1;color:#e7cd8b}.haunt-gifts button:hover{transform:translateY(-4px)}.haunt-gifts button.unwrapped{background:#252018;border-color:#bc9963}.haunt-gifts button.unwrapped>span{color:#c3a068}.cursed-gifts>p{grid-column:2;font:12px/1.8 var(--mono);min-height:25px;color:#e2c8a0}.haunt-audio{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:25px 0;border-bottom:1px solid #484137}.haunt-audio>.button{font-size:9px;gap:16px;min-height:44px}.haunt-audio>.button b{font-weight:400}.haunt-volume{display:flex;flex-direction:column;gap:6px;font:9px/1.5 var(--mono);color:#c6bca9;flex:1;min-width:100px;max-width:170px}.haunt-volume input{width:100%;margin:0;min-height:28px;accent-color:#e1bb75}.haunt-audio>button:not(.button){font:8px/1.5 var(--mono);padding:10px 8px;border:1px solid #61533f;min-height:38px}.haunt-audio>button[aria-pressed=false]:not(.button){color:#b4ab9a;border-color:#484137}.haunt-audio>p{flex-basis:100%;font-size:11px;color:#bbb19e}.haunt-record{display:flex;gap:24px;align-items:center;justify-content:space-between;padding-top:22px;flex-wrap:wrap}.haunt-record>.mono{font-size:9px;color:#d0b889}.haunt-record>.underlined{font-size:11px;padding:10px 0}.haunt-finale{padding:50px 24px 0;text-align:center}.haunt-finale>.eyebrow{justify-content:center;color:#d4bc93;font-size:8px}.haunt-finale h3{font-size:66px;margin:20px 0}.haunt-finale p:last-child{font-size:13px;color:#cdbda3}.haunt-section textarea{display:block;width:100%;min-height:100px;margin-top:20px;background:#181613;border:1px solid #c4a66f;padding:14px;color:#e9e5d9;font:12px/1.7 var(--mono)}.season-particles{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.season-particles i{position:absolute;left:var(--x);top:-10%;width:4px;height:4px;background:#ed8a4a;opacity:.35;border-radius:30%;animation:season-fall var(--duration) var(--delay) linear infinite}.season-particles i:nth-child(3n){width:2px;height:2px}.season-particles i:nth-child(4n){filter:blur(1px)}
:root[data-season=november] .haunted-room{background:radial-gradient(ellipse at 60% 50%,#353b34,#080b09 70%)}:root[data-season=november] .season-particles i{background:#b1b3a4}:root[data-season=november] .season-tabs>button[aria-selected=true]{background:#242b23;box-shadow:inset 0 -3px #b0b69a}:root[data-season=christmas] .haunted-room{background:radial-gradient(ellipse at 60% 50%,#293c40,#080b0c 70%)}:root[data-season=christmas] .season-particles i{background:#e2eef0;border-radius:50%;opacity:.65}:root[data-season=christmas] .season-tabs>button[aria-selected=true]{background:#203034;box-shadow:inset 0 -3px #b3d4d9}
@keyframes candle-breathe{to{transform:rotate(5deg) scaleY(.85);box-shadow:0 0 30px 10px #f3ac3d35}}@keyframes season-fall{to{transform:translate(30px,760px) rotate(190deg)}}
@media(max-width:1050px){.season-tabs>button{padding:20px 17px;font-size:22px}.season-tabs>button>span{font-size:8px}.haunt-console{padding:25px 23px}.haunt-console h3{font-size:34px}.haunt-door-frame{inset:110px 20% 145px}.haunt-message{font-size:11px}.cursed-gifts{grid-template-columns:150px 1fr;padding:25px;gap:20px}.haunt-gifts{gap:8px}}
@media(max-width:720px){.season-panel{grid-template-columns:1fr}.haunted-room{min-height:490px}.haunt-door-frame{inset:80px 29% 120px}.haunt-console{padding:24px}.season-tabs>button{padding:17px 10px;font-size:19px}.season-tabs>button small{font-size:8px}.season-tabs>button>span{display:none}.haunt-console h3{font-size:38px}.haunt-radio label,.radio-top{font-size:8px}.cursed-gifts{grid-template-columns:1fr;padding:24px}.cursed-gifts>p{grid-column:1}.cursed-gifts h3 br{display:none}.haunt-gifts{gap:10px}.haunt-gifts button{min-height:73px}.haunt-audio{gap:15px}.haunt-audio>.button{flex-basis:100%;max-width:240px}.haunt-volume{max-width:none;min-width:115px}.haunt-record{gap:12px 20px}.haunt-record>.mono{flex-basis:100%}.haunt-finale h3{font-size:55px}.haunt-finale>.eyebrow{font-size:7px}}
@media(max-width:380px){.season-tabs>button{font-size:16px;padding:15px 7px}.haunt-door-frame{left:23%;right:23%}.haunt-gifts{grid-template-columns:repeat(3,1fr)}.radio-dial output{font-size:34px}.haunt-radio label{display:block}.haunt-radio label>span{display:block;margin-top:5px}.haunt-console{padding:20px 16px}.haunt-message{font-size:10px}.haunt-candles{gap:6px}}
.reduced-motion .season-particles,.reduced-motion .haunt-candles i:before{animation:none!important}.reduced-motion .season-particles{display:none}.reduced-motion .room-watcher,.reduced-motion .haunt-door,.reduced-motion .haunt-gifts button{transition:none!important}.reduced-motion .haunted-room.presence .room-watcher{transform:none}
@media(prefers-reduced-motion:reduce){.season-particles{display:none}.haunted-room.presence .room-watcher{transform:none}}

.silent-entry{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding:8px 0;font-size:9px;color:#cfc6b5}.silent-entry:hover{color:var(--paper)}
