.gate-page{background-image:repeating-linear-gradient(90deg,#0000002e 0 2px,#0000 2px 46px);min-height:100vh}.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}.sky{padding:clamp(40px,8vw,110px) 0 30px;position:relative;overflow:hidden}.sky-manor{opacity:.55;background:url(/media/manor.webp) 50% 30%/cover no-repeat;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 40%,#0000 100%);mask-image:linear-gradient(#000 40%,#0000 100%)}.sky .moon{z-index:1}.sky .fogfx{z-index:2;pointer-events:none;mix-blend-mode:screen;filter:blur(2px);width:100%;height:100%;position:absolute;inset:0}.sky .bats{z-index:3}.marquee{z-index:4;max-width:1180px;margin:0 auto;padding:0 clamp(16px,3vw,40px);position:relative}.gframe h1 span{white-space:normal}.ticker{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;color:var(--candle);background:#06040a;border:2px solid #d4a6408c;border-radius:8px;margin-top:20px;font-size:20px;font-weight:600;overflow:hidden}.ticker .track{white-space:nowrap;will-change:transform;padding:10px 0;animation:46s linear infinite tick;display:inline-flex}.ticker .track span{padding:0 28px;position:relative}.ticker .track span:after{content:"";background:var(--pumpkin);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;right:-3px;transform:translateY(-50%)}@keyframes tick{to{transform:translate(-50%)}}.lobby{grid-template-columns:1.3fr 1fr 1fr;gap:20px;margin:30px auto 0;display:grid}@media (max-width:900px){.lobby{grid-template-columns:1fr 1fr}}@media (max-width:600px){.lobby{grid-template-columns:1fr}}.panel{background:var(--night-2);border:1px solid #d4a64047;border-radius:6px;padding:22px 22px 24px;position:relative;overflow:hidden}.panel h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;color:var(--pumpkin);margin:0 0 6px;font-size:15px;font-weight:600}.panel .lead{margin:0;font-size:20px;line-height:1.35}.panel .note{color:var(--ink-soft);margin:12px 0 0;font-size:16px;font-style:italic}.count{flex-wrap:wrap;gap:14px;margin-top:14px;display:flex}.count div{min-width:70px}.count b{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:56px;font-weight:800;line-height:1;display:block}.count small{color:var(--ink-soft);font-style:italic;display:block}.mock-env{aspect-ratio:1/.62;color:#2a1a10;background:#efe6d0;border-radius:6px;flex-direction:column;justify-content:flex-end;align-items:center;margin-top:12px;padding-bottom:14px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 30px #00000080}.mock-env .flap{clip-path:polygon(0 0,100% 0,50% 100%);background:#e0d3b3;height:52%;position:absolute;top:0;left:0;right:0}.mock-env .seal{background:radial-gradient(circle at 40% 35%,#d02a31,#8e1116 60%,#4d080b);border-radius:47% 53% 50% 50%/52% 48%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%;box-shadow:0 4px 8px #00000073}.mock-env span{font-family:var(--display);text-transform:uppercase;letter-spacing:.2em;color:#6e5a3a;font-size:9px;font-weight:700}.mock-env b{font-family:var(--script);font-size:26px;font-weight:400;line-height:1}.applaud{align-items:center;gap:16px;margin-top:12px;display:flex}.applaud button{background:var(--pumpkin);color:var(--night);font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;box-shadow:0 8px 0 var(--pumpkin-shadow), 0 16px 30px #00000073;border:0;border-radius:999px;padding:14px 26px;font-size:20px;font-weight:800;transition:transform 80ms,box-shadow 80ms}.applaud button:active{box-shadow:0 2px 0 var(--pumpkin-shadow), 0 8px 20px #0006;transform:translateY(6px)}.applaud button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.applaud b{font-family:var(--display);color:var(--ink);font-size:44px;font-weight:800;line-height:1}.applaud small{color:var(--ink-soft);font-style:italic;display:block}.today{grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;display:grid}@media (max-width:800px){.today{grid-template-columns:1fr}}.cam{aspect-ratio:16/9;background:#000;border:1px solid #d4a64047;border-radius:6px;position:relative;overflow:hidden}.cam:before{content:"";opacity:.7;background:url(/media/seance.webp) 50%/cover no-repeat;position:absolute;inset:0}.cam-glow{background:radial-gradient(at 50% 60%,#8a5cd659,#0000 60%);animation:5s ease-in-out infinite alternate cam-breathe;position:absolute;inset:0}@keyframes cam-breathe{to{opacity:.4}}.cam:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 1px 3px);animation:1.2s steps(6,end) infinite grain;position:absolute;inset:-50%}.cam .tag{z-index:2;font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;color:#fff;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex;position:absolute;top:14px;left:16px}.cam .tag:before{content:"";background:#ff3b30;border-radius:50%;width:10px;height:10px;animation:1.1s steps(2,end) infinite blink;box-shadow:0 0 12px #ff3b30}.cam .cap{z-index:2;color:var(--ink);text-shadow:0 2px 8px #000;font-size:20px;font-style:italic;position:absolute;bottom:14px;left:16px;right:16px}.cam .cap b{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;color:var(--candle);margin-bottom:4px;font-size:13px;font-style:normal;display:block}.showing .lead{font-size:22px}.showing .resident{align-items:center;gap:16px;margin-top:14px;display:flex}.showing .mini{border-radius:4px;flex:none;width:64px;height:92px;position:relative;inset:auto;box-shadow:0 0 0 3px #8a6a1e,0 0 0 5px #d4a640}.showing .resident b{font-family:var(--display);text-transform:uppercase;color:var(--ink);font-size:30px;font-weight:800;line-height:1;display:block}.showing .resident i{color:var(--ink-soft);display:block}.pulse{background:var(--pumpkin);color:var(--night);font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;animation:1.6s ease-in-out infinite glow;display:inline-block}.wall-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin:56px 0 18px;display:flex}.wall-head h2{font-family:var(--display);text-transform:uppercase;color:var(--ink);margin:0;font-size:clamp(40px,6vw,72px);font-weight:800;line-height:.9}.wall-head h2 span{color:var(--pumpkin);letter-spacing:.2em;font-size:.4em;font-weight:600;display:block}.wall-head p{color:var(--ink-soft);max-width:420px;margin:0;font-style:italic}.wall{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:26px 22px;padding:8px;display:grid}.frame{aspect-ratio:2/3;text-align:left;color:var(--ink);background:#1a1226;border:0;border-radius:3px;padding:0;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 0 0 4px #8a6a1e,0 0 0 7px #d4a640,0 0 0 9px #4a3208,0 14px 30px #0009}button.frame:hover,button.frame:focus-visible{outline:none;transform:translateY(-8px)rotate(-1deg);box-shadow:0 0 0 4px #8a6a1e,0 0 0 7px #f1d383,0 0 0 9px #4a3208,0 26px 40px #000000b3,0 0 40px #f5c76a59}.frame img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.frame:has(img):after{content:"";background:linear-gradient(#0000,#000000d9 70%);position:absolute;inset:40% 0 0}:is(.frame:has(img) .title,.frame:has(img) .who,.frame:has(img) .lore){z-index:1}.frame:has(img) .num{display:none}.frame .num{font-family:var(--display);opacity:.28;font-size:64px;font-weight:800;line-height:1;position:absolute;top:8px;right:10px}.frame .lore{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;background:#0006;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:600;position:absolute;top:12px;left:12px;right:44px}.frame .title{font-family:var(--display);text-transform:uppercase;text-shadow:0 2px 10px #0009;font-size:clamp(20px,2vw,26px);font-weight:800;line-height:.92;position:absolute;bottom:46px;left:12px;right:12px}.frame .who{color:var(--candle);font-size:13px;font-style:italic;line-height:1.2;position:absolute;bottom:10px;left:12px;right:12px}.frame .who b{color:var(--ink);font-style:normal;font-weight:600;display:block}.frame.sheeted{cursor:default;background:linear-gradient(#ddd6c4,#b9b09a 60%,#9c9480);box-shadow:0 0 0 4px #8a6a1e,0 0 0 7px #d4a640,0 0 0 9px #4a3208,0 14px 30px #0009}.frame.sheeted:before{content:"";background:linear-gradient(90deg,#0000001f 0 8%,#0000 8% 22%,#0000001a 22% 30%,#0000 30% 55%,#00000024 55% 62%,#0000 62% 84%,#0000001a 84% 90%,#0000 90%);position:absolute;inset:0}.frame.sheeted .sheet{text-align:center;font-family:var(--display);text-transform:uppercase;letter-spacing:.18em;color:#3a2a18;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.frame.sheeted .sheet b{opacity:.55;font-size:72px;font-weight:800;line-height:1}.frame.sheeted .sheet span{opacity:.8;font-size:12px}.frame.sheeted .sheet em{font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:17px;font-style:italic}.drive{border-top:4px solid var(--gilt);height:220px;margin-top:70px;position:relative;overflow:hidden}.drive:before{content:"";clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);background:linear-gradient(#2a2138,#0a0710);position:absolute;inset:0}.drive .lamp{background:var(--candle);border-radius:50%;width:20px;height:20px;animation:1.2s ease-in-out infinite flicker;position:absolute;bottom:40px;box-shadow:0 0 30px 10px #f5c76a8c,0 0 90px 40px #ff7a1a2e}.drive .lamp.l1{left:22%}.drive .lamp.l2{animation-delay:-.5s;right:22%}.drive p{text-align:center;color:var(--ink);text-shadow:0 2px 10px #000;margin:0;font-size:clamp(20px,3vw,30px);font-style:italic;position:absolute;bottom:22px;left:0;right:0}.drive p b{font-family:var(--display);text-transform:uppercase;letter-spacing:.2em;color:var(--pumpkin);font-size:.55em;font-style:normal;display:block}.gate-page footer{text-align:center;color:var(--ink-soft);padding:26px 0 40px;font-style:italic}.modal{z-index:100;background:#000000c7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.plaque-card{color:var(--night);background:#efe6d0;border-radius:6px;grid-template-columns:260px 1fr 130px;width:100%;max-width:820px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 6px #8a6a1e,0 0 0 10px #d4a640,0 40px 100px #000000b3}.plaque-card .main{padding:28px 28px 30px}.plaque-card .src{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:#8a6a1e;margin-bottom:6px;font-size:11px;font-weight:700}.plaque-card .photo{background:#1a1226;justify-content:center;align-items:center;min-height:360px;display:flex;position:relative;overflow:hidden}.plaque-card .photo .ph{aspect-ratio:3/4;width:78%;font-family:var(--display);color:var(--ink);text-transform:uppercase;border:2px dashed #efe6d099;border-radius:4px;justify-content:center;align-items:center;font-size:38px;font-weight:800;display:flex}.plaque-card .photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.plaque-card .main h3{font-family:var(--display);text-transform:uppercase;margin:0;font-size:40px;font-weight:800;line-height:.9}.plaque-card .main .who{margin:10px 0 0;font-size:22px;font-style:italic}.plaque-card .meta{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.plaque-card .meta b{font-size:28px;font-weight:800;line-height:1;display:block}.plaque-card .meta small{color:#6e5a3a;font-size:12px}.plaque-card .note{color:#5a4426;margin:20px 0 0;font-style:italic}.plaque-card .side{color:var(--ink);text-align:center;font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;background:#8e1116;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px 10px;font-size:13px;display:flex}.plaque-card .side b{color:var(--candle);font-size:60px;font-weight:800;line-height:1}.plaque-card .close{color:var(--ink);z-index:2;background:0 0;border:0;font-size:28px;line-height:1;position:absolute;top:8px;right:10px}@media (max-width:760px){.plaque-card{grid-template-columns:1fr}.plaque-card .photo{min-height:300px;padding:0}}@media (prefers-reduced-motion:reduce){.ticker .track,.cam:after,.cam-glow,.pulse,.cam .tag:before,.drive .lamp{animation:none}.frame{transition:none}}
