/* GLOBAL */
body.tgv-hoh-body,.hoh-site,.hoh-dialog,.hoh-collection{--primary:#c7ae7e;--hoh-ink:#e8ddc2;--hoh-muted:#b9b098;--hoh-blood:#791a20;--hoh-brass:#8a7451}
body.tgv-hoh-body{background:#080d0c;color:var(--hoh-ink);font-family:Poppins,Arial,sans-serif;isolation:isolate}
.hoh-site,.hoh-dialog,.hoh-collection{font-family:Poppins,Arial,sans-serif;color:var(--hoh-ink);font-size:14px;line-height:1.65}
.hoh-site *,.hoh-dialog *,.hoh-collection *{box-sizing:border-box}
.hoh-site button,.hoh-dialog button,.hoh-collection button{font:inherit;cursor:pointer;touch-action:manipulation}
.hoh-site p,.hoh-dialog p,.hoh-collection p{line-height:1.75;opacity:1}
.hoh-site img,.hoh-dialog img,.hoh-collection img{max-width:100%;display:block}
.hoh-site a,.hoh-dialog a,.hoh-collection a{color:inherit;text-decoration:none}
.hoh-site button:focus-visible,.hoh-site a:focus-visible,.hoh-dialog button:focus-visible,.hoh-collection button:focus-visible,.hoh-dialog input:focus-visible,.hoh-collection input:focus-visible{outline:2px solid #eedbb0;outline-offset:5px}
.hoh-site button:disabled,.hoh-dialog button:disabled,.hoh-collection button:disabled{cursor:default;opacity:.55}
.hoh-site [hidden],.hoh-dialog [hidden],.hoh-collection [hidden]{display:none!important}
.hoh-site .section-content{max-width:1060px}
.hoh-site .section-title{color:var(--hoh-ink);text-shadow:0 5px 24px #000;letter-spacing:.04em}
.hoh-site .section-description{color:var(--hoh-muted);font-size:14px;max-width:570px}
.hoh-site .section-kicker,.hoh-kicker{font-size:10px;letter-spacing:.23em;color:#c7ae7e;font-weight:600;text-transform:uppercase}
.hoh-subtle{font-size:12px;color:var(--hoh-muted);margin:15px 0}
.hoh-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hoh-scene{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#03080730,#030806bf 90%),var(--hoh-scene,radial-gradient(ellipse at 50% 0,#344039,#0c1613 48%,#050806));background-position:center;background-size:cover}
.hoh-scene:after{content:"";position:absolute;inset:0;opacity:.15;background-image:url('../../assets/halls-of-horror/grain.svg');mix-blend-mode:soft-light}
.hoh-scene:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 15%,#0003 15.1%,transparent 15.6%),radial-gradient(ellipse at center,transparent 0 15%,#0009 100%)}
.hoh-scene-light{position:absolute;inset:0;background-image:var(--hoh-light,none);background-position:center;background-size:cover;opacity:0;transition:opacity 90ms linear}
.hoh-scene-blood{background-color:#1b090b;background-blend-mode:luminosity}
.hoh-scene-tarot{background:radial-gradient(ellipse at 50% 30%,#332820,#111710 50%,#080a09)}
.hoh-topbar{width:min(1120px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hoh-wordmark{font-size:31px;font-weight:800;font-style:italic;line-height:1;letter-spacing:-2px}.hoh-wordmark span{display:block;font:600 8px/2 Poppins,Arial,sans-serif;letter-spacing:3px}
.hoh-text-button{padding:10px 0;background:none;border:0;color:var(--hoh-ink);letter-spacing:.14em;font-size:10px!important;min-height:44px}
.hoh-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:13px 26px;border:1px solid #bba174;background:linear-gradient(180deg,#6e1d20,#3c0c10);box-shadow:inset 0 0 0 3px #190a0a,0 5px 24px #0005;color:#f2e3c1!important;font-size:11px!important;letter-spacing:.15em;font-weight:600!important;text-align:center;transition:transform .22s,filter .22s;text-decoration:none}
.hoh-button-small{font-size:10px!important;min-height:44px;padding:10px 18px;white-space:nowrap}
.hoh-skip-link{position:fixed;top:-120px;left:20px;z-index:100000;background:#f2e3c1;color:#16120d!important;padding:15px}.hoh-skip-link:focus{top:20px}
.hoh-back{position:fixed;top:calc(var(--navbar-height,60px) + env(safe-area-inset-top,0px) + 14px);left:14px;z-index:50;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;min-height:38px;border:1px solid #a1a9a033;border-radius:2px;background:#0b0c0bcc;color:#e8ddc2;font:600 11px/1 Poppins,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(3px)}
.hoh-back span{font-size:15px;line-height:1}
.hoh-back:hover{background:#181a18cc;color:#f2e3c1}
@media(max-width:520px){.hoh-back{padding:8px 11px;font-size:10px}}
.hoh-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;width:min(1040px,calc(100% - 64px));margin:0 auto;font-size:9px;letter-spacing:.18em;color:#b5a98c}.hoh-footer a{font-size:12px}
.hoh-notice{max-width:650px;margin:auto;padding:20px;background:#1c211c;border:1px solid #9e8c6e}
/* GLOBAL END */

/* MEMBER / XP SECTION */
.hoh-member-strip{display:flex;align-items:center;gap:28px;max-width:890px;margin:auto;padding:20px 24px;border-block:1px solid #8a745155;background:#07110ddd;box-shadow:0 15px 35px #0002;text-align:left}
.hoh-standing{min-width:150px}.hoh-standing .hoh-kicker{display:block;font-size:8px;letter-spacing:.18em}.hoh-standing strong{font-size:16px;font-weight:600}
.hoh-xp-mini{flex:1;min-width:80px}.hoh-xp-mini>div:first-child{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:#c6bda5;margin-bottom:10px}.hoh-xp-mini [data-hoh=next-level]{text-align:right}
.hoh-track{height:6px;background:#0008;border:1px solid #665944;position:relative;border-radius:1px;isolation:isolate}
.hoh-track>i{position:absolute;left:0;top:0;bottom:0;width:0;max-width:100%;opacity:1;background:linear-gradient(90deg,#541319,#a52b32);box-shadow:0 0 10px #b92b2766;transition:width .6s ease;display:block}
.hoh-track>i:after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:#f7b77c;box-shadow:0 0 10px #ffb384}
.hoh-network{min-height:20px;margin:12px 0 0!important;font-size:10px;color:#c6bda5}.hoh-network button{background:none;border:0;color:#f2dcad;text-decoration:underline;margin-left:10px}
/* MEMBER / XP SECTION END */

/* FILES SECTION */
.hoh-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;max-width:800px;margin:auto}
.hoh-file{text-align:center;min-width:0;filter:drop-shadow(0 15px 16px #0009)}
.hoh-file-link{display:block;transition:transform .3s ease,filter .3s}
.hoh-file:nth-child(3n+1){transform:rotate(-2deg)}.hoh-file:nth-child(3n){transform:rotate(1.5deg)}
.hoh-file-cover{position:relative;aspect-ratio:2/2.85;background:var(--hoh-file-cream,linear-gradient(112deg,#cab786,#a18b62));background-size:100% 100%;color:#32271d;border-radius:3px 9px 8px 2px;border:1px solid #625438;box-shadow:inset 7px 0 8px #614b303b,inset -2px -2px 0 #806d48;isolation:isolate}
.hoh-file-cover:before{content:"";position:absolute;inset:0;background:url('../../assets/halls-of-horror/grain.svg');opacity:.22;pointer-events:none}
.hoh-file-revealed .hoh-file-cover:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 1% 4%,#5b090eac 0 2%,transparent 12%),radial-gradient(ellipse at 5% 17%,#6a131855,transparent 14%),radial-gradient(ellipse at 92% 85%,#5e111961,transparent 17%);mix-blend-mode:multiply}
.hoh-file-tab{position:absolute;top:-14px;left:0;width:49%;height:16px;background:#bba478;border-radius:4px 9px 0 0;border:1px solid #625438;border-bottom:0;font-size:7px;letter-spacing:.16em;padding-top:2px}
.hoh-file-inside{position:absolute;inset:8% 9% 7% 10%;display:flex;flex-direction:column;align-items:flex-start}
.hoh-file-number{font-size:clamp(15px,1.8vw,25px);font-weight:700;letter-spacing:.02em}.hoh-file-class{font:7px/1.8 monospace;letter-spacing:.05em}
.hoh-file-photo{width:100%;height:43%;object-fit:cover;margin-top:12px;border:5px solid #d9c9a9;box-shadow:0 3px 7px #0005;filter:sepia(.25) saturate(.75)}
.hoh-file-stamp{display:block;align-self:center;border:3px double currentColor;color:#7b171e;font-size:clamp(12px,1.5vw,22px);font-weight:700;letter-spacing:.04em;line-height:1.15;padding:5px 9px;transform:rotate(-11deg);margin:14px 0 9px}
.hoh-file-subject{align-self:center;font-size:clamp(11px,1.5vw,19px);font-weight:700;line-height:1.2;text-transform:uppercase;max-height:2.5em;overflow:hidden}
.hoh-file-signature{font:6px/1.4 monospace;letter-spacing:.12em;margin-top:auto;align-self:center}
.hoh-file h3{font-size:13px;line-height:1.45;font-weight:500;margin:20px 0 0;color:#e1d3b3}.hoh-file h3 span{color:#c2a675;margin-left:8px}
.hoh-file-classified .hoh-file-cover{background:var(--hoh-file-red,linear-gradient(115deg,#651e21,#2b0c10));color:#cfb07e;border-color:#3c1112}.hoh-file-classified .hoh-file-tab{background:#53171a;border-color:#3c1112}
.hoh-classified-mark{font-size:30px;letter-spacing:-3px;font-weight:800;font-style:italic;opacity:.35;margin:auto;align-self:center}
.hoh-file-classified .hoh-file-stamp{color:#c4a779;margin:0 -5px 22px;animation:hoh-stamp 7s ease-in-out infinite}.hoh-file-note{font-size:9px;text-align:center;align-self:center;line-height:1.6;max-width:150px;margin-bottom:auto;color:#c1a580}
.hoh-empty-file{grid-column:1/-1;padding:60px 24px;border:1px solid #796545;background:#171c17}.hoh-empty-file p{margin-top:15px}
/* FILES SECTION END */

/* TAROT SECTION */
.hoh-tarot-table{width:420px;max-width:100%;height:300px;display:block;position:relative;margin:0 auto 5px;perspective:1200px}
.hoh-tarot-table:after{content:"";position:absolute;height:32px;left:10%;right:10%;bottom:4px;border-radius:50%;background:#000a;filter:blur(10px);z-index:-1}
.hoh-tarot-table-art{position:absolute;bottom:-30px;left:-15%;width:130%;max-width:none!important;pointer-events:none}
.hoh-tarot-deck{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:166px;height:254px;left:calc(50% - 83px);top:0;border:1px solid #a98c53;border-radius:8px;background:radial-gradient(ellipse,#384039,#121e1b);outline:1px solid #806a48;outline-offset:-8px;box-shadow:0 9px 22px #0009;transition:transform .35s;color:#c7ac78}
.hoh-tarot-deck:before,.hoh-reading-back:before{content:"";position:absolute;inset:15px;border:1px solid #ad8d4b66;background:repeating-conic-gradient(from 22deg at 50% 40%,transparent 0deg 18deg,#b79a5712 18deg 19deg,transparent 19deg 30deg)}
.hoh-deck-left{transform:translate(-95px,40px) rotate(-19deg);width:150px;height:229px}.hoh-deck-right{transform:translate(90px,43px) rotate(18deg);width:150px;height:229px}.hoh-deck-main{transform:rotate(3deg)}
.hoh-card-ornament{display:grid;place-items:center;width:90px;height:90px;border:1px solid #a58a52;border-radius:50%;font:70px/1 Georgia,serif;text-shadow:0 0 25px #b18b6355;margin-bottom:26px;position:relative}
.hoh-card-ornament:before{content:"";position:absolute;inset:9px;border:1px solid #a58a5299;transform:rotate(45deg)}
.hoh-tarot-deck strong,.hoh-reading-back strong{font-size:10px;letter-spacing:.15em;font-weight:500}.hoh-tarot-deck>span:last-child{font-size:6px;letter-spacing:.18em;margin-top:15px}
.hoh-tarot-table.has-art .hoh-deck-left,.hoh-tarot-table.has-art .hoh-deck-right{display:none}
.hoh-tarot-fan{display:flex;justify-content:center;gap:36px;position:relative;margin:30px auto 65px;max-width:750px;perspective:1300px}
.hoh-reading-card{position:relative;width:205px;aspect-ratio:2/3.1;border:0;background:none;padding:0;perspective:1200px;transition:transform .6s,opacity .4s;z-index:1}
.hoh-reading-card:first-child{transform:rotate(-12deg) translateY(25px)}.hoh-reading-card:last-child{transform:rotate(12deg) translateY(25px)}
.hoh-reading-inner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.hoh-reading-back,.hoh-reading-front{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:2px solid #aa8b51;border-radius:9px;box-shadow:0 12px 30px #000a;display:flex;flex-direction:column;align-items:center;justify-content:center;outline:1px solid #988256;outline-offset:-10px}
.hoh-reading-back{background:radial-gradient(ellipse,#374139,#131d19);color:#cfb482}.hoh-reading-back small{font-size:6px;letter-spacing:.18em;margin-top:30px}
.hoh-reading-front{transform:rotateY(180deg);background:#c8b48c url('../../assets/halls-of-horror/grain.svg');color:#332b23;padding:28px 22px}.hoh-reading-front img{height:145px;width:100%;object-fit:contain;margin-bottom:20px;filter:sepia(.25)}.hoh-reading-front strong{font:600 20px/1.25 Poppins,Arial,sans-serif}.hoh-reading-front small{font-size:6px;letter-spacing:.12em;margin-top:24px}
.hoh-tarot-symbol{display:grid;place-items:center;width:115px;height:145px;margin-bottom:22px;font:96px/1 Georgia,serif;color:#543c2d;border-block:1px solid #8b755a}
.hoh-reading-card.is-chosen{z-index:3;opacity:1!important;transform:scale(1.07)}.hoh-reading-card.is-chosen .hoh-reading-inner{transform:rotateY(180deg)}.hoh-tarot-fan.has-choice .hoh-reading-card:not(.is-chosen){opacity:.15;filter:blur(1px)}
.hoh-tarot-circle{position:absolute;left:50%;top:0;transform:translateX(-50%);width:500px;max-width:90%;aspect-ratio:1;border:1px solid #9a815438;border-radius:50%;outline:1px solid #9a815422;outline-offset:18px;pointer-events:none}.hoh-tarot-circle:after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;font-size:450px;color:#9a815410}
.hoh-reading{max-width:580px;margin:40px auto 0;padding:35px;border-block:1px solid #a58c5c88;background:#111a14dd;animation:hoh-rise .6s both}.hoh-reading h2{font-size:28px;margin:10px 0 22px}.hoh-reading p{font-size:14px;line-height:1.85}.hoh-reading .hoh-button{margin-top:30px}
.hoh-tarot-fan.is-shuffling .hoh-reading-card{animation:hoh-shuffle .6s ease}
.hoh-reference-key{display:inline-grid;place-items:center;vertical-align:middle;width:29px;height:30px}.hoh-reference-key.has-art{font-size:0;background:var(--hoh-key) center/100% 100% no-repeat}
.hoh-deck-main.has-reference-art,.hoh-reading-back.has-reference-art{background:var(--hoh-tarot-back) center/100% 100% no-repeat;border:0;outline:0;box-shadow:0 9px 22px #0009}.hoh-deck-main.has-reference-art>*,.hoh-reading-back.has-reference-art>*{visibility:hidden}.hoh-deck-main.has-reference-art:before,.hoh-reading-back.has-reference-art:before{display:none}
.hoh-reveal-button.has-reference-art{display:inline-flex;align-items:center;justify-content:center;width:342px;max-width:90%;min-height:55px;border:0;padding:14px 32px;background:var(--hoh-reveal-button) center/100% 100% no-repeat;box-shadow:none}.hoh-reveal-button.has-reference-art>span{background:none;color:#f4e5c5;font-size:11px;letter-spacing:.13em;width:100%}
/* TAROT SECTION END */

/* BLOOD / MISSIONS SECTION */
.hoh-blood-dossier{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;text-align:left;align-items:center;margin:0 auto 44px}
.hoh-blood-photo{position:relative;padding:12px 12px 42px;background:#b3a180 url('../../assets/halls-of-horror/grain.svg');box-shadow:0 16px 40px #0009;transform:rotate(-2deg)}
.hoh-blood-image{width:100%;height:380px;object-fit:cover;filter:saturate(.65) sepia(.12)}
.hoh-photo-label{position:absolute;bottom:13px;left:20px;color:#3c3026;font:10px/1.5 monospace;letter-spacing:3px}
.hoh-photo-empty{height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:linear-gradient(135deg,#63181f,#240b0f);color:#c0a475}.hoh-photo-empty>span{font-size:60px;font-style:italic;font-weight:800}.hoh-photo-empty strong{border:2px solid currentColor;padding:6px 15px;font-size:19px;transform:rotate(-10deg)}.hoh-photo-empty small{font-size:8px;letter-spacing:.13em}
.hoh-story{position:relative;padding:12px 0 38px}.hoh-story-copy{margin:18px 0 28px}.hoh-story-copy p{font-size:14px;line-height:1.9;margin:0 0 18px}.hoh-story-copy h2{font-size:24px;line-height:1.3;color:#f0e4c8}.hoh-story-copy a{text-decoration:underline}.hoh-story-stamp{display:block;position:relative;width:max-content;font:700 14px/1.3 monospace;border:3px double #8e3035;color:#a94a4a;padding:6px 13px;transform:rotate(-8deg);margin:28px 0 0 auto;opacity:.75}
.hoh-missions{display:grid;gap:18px}.hoh-mission{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:28px 32px;border:1px solid #685540;background:linear-gradient(100deg,#16231dde,#0a120fed);text-align:left;position:relative;overflow:hidden}.hoh-mission:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#922631}
.hoh-mission-number{font:30px/1.5 Georgia,serif;color:#a88c61}.hoh-mission h3{font-size:18px;color:#e9ddbd;margin:0 0 8px;line-height:1.4}.hoh-mission p{font-size:12px;color:#c4bba4;margin:0 0 15px;line-height:1.8}
.hoh-mission-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px;font-size:9px;letter-spacing:.1em}.hoh-mission-meta strong{color:#dfb59b;font-size:12px}.hoh-mission-form{margin-top:20px}.hoh-mission-form fieldset{border:0;padding:0;margin:0 0 20px}.hoh-mission-form legend{font-size:13px;margin-bottom:16px;line-height:1.8}
.hoh-answer{display:flex;gap:12px;align-items:center;min-height:47px;border:1px solid #77654b66;background:#0003;padding:10px 14px;margin-bottom:8px;cursor:pointer;color:#e1d4b7;font-size:12px}.hoh-answer:has(input:checked){border-color:#c7ac77;background:#6b1c2033}.hoh-answer input{accent-color:#b64c4e;flex-shrink:0;width:16px;height:16px}
.hoh-code-label{display:block;font-size:11px;margin-bottom:9px}.hoh-code-input{background:#0b100b;color:#eee0bd;border:1px solid #927754;padding:13px 15px;width:min(100%,310px);min-height:48px;font-size:16px;letter-spacing:.1em;border-radius:0;margin:0 12px 18px 0}.hoh-mission-message{font-size:12px;color:#f4c6b0!important;margin:16px 0 0!important;min-height:0}
.hoh-mission.is-complete{border-color:#897f53;background:linear-gradient(90deg,#344033ad,#142016cf)}.hoh-mission.is-complete:before{background:#a49769}.hoh-complete-stamp{display:inline-block;font-size:11px;color:#c9c09e;border:2px double #958d65;padding:5px 12px;letter-spacing:.18em;transform:rotate(-4deg);margin-top:6px}.hoh-mission.is-locked{opacity:.65}
.hoh-door-callout{margin:36px 0 0;border-top:1px solid #8b715344;padding:30px 10px 0}.hoh-door-callout p{margin-bottom:20px;font-size:13px}
/* BLOOD / MISSIONS SECTION END */

/* DRAWER / BADGE SECTION */
.hoh-dialog{padding:44px 34px 35px;border:1px solid #8e7550;background:#17231d;box-shadow:0 25px 100px #000;color:var(--hoh-ink);width:min(570px,calc(100% - 28px));max-height:calc(100dvh - 80px);margin:auto;overflow:auto;text-align:center;overscroll-behavior:contain;border-radius:3px}
.hoh-dialog::backdrop{background:#010604d9;backdrop-filter:blur(5px)}.hoh-dialog[open]{animation:hoh-dialog-in .35s both}.hoh-dialog h2{font-size:clamp(24px,4vw,34px);line-height:1.2;letter-spacing:.03em;color:#eadbbb;margin:15px 0}.hoh-dialog button{border-radius:0}
.hoh-close{position:absolute;right:10px;top:10px;width:40px;height:40px;background:#0b130fcc;color:#eee0be;border:1px solid #8d745c88;font:28px/1 Arial,sans-serif!important;z-index:20;display:grid;place-items:center}
.hoh-collection{--handle-width:65px;--drawer-fraction:0;position:fixed;inset:0 auto 0 0;display:block;z-index:10002;margin:0;width:min(650px,calc(100% - var(--handle-width)));height:100vh;height:100dvh;max-height:100dvh;background:var(--hoh-drawer,linear-gradient(100deg,#26362a,#142219));background-size:100% 100%;padding:0;border:0;border-radius:0;box-shadow:14px 0 55px #000a;text-align:center;overflow:visible;transform:translateX(-100%);transition:transform .5s cubic-bezier(.22,.61,.36,1);touch-action:pan-y;will-change:transform}
.hoh-drawer-scroll{height:92%;margin-top:6%;padding:calc(32px + env(safe-area-inset-top,0px)) 64px 32px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9b835b #151b17;border-right:4px ridge #817452}
.hoh-collection h2{font-size:clamp(24px,4vw,34px);line-height:1.2;letter-spacing:.03em;color:#eadbbb;margin:15px 0}.hoh-collection .hoh-close{top:calc(18px + env(safe-area-inset-top,0px));right:20px}
.hoh-collection button{touch-action:pan-y}.hoh-collection .hoh-drawer-tab{position:absolute;left:100%;right:auto;top:50%;bottom:auto;transform:translateY(-50%);width:auto;aspect-ratio: 65 / 354;height: 45%;max-height: 350px;min-height:0;padding:0;border:2px ridge #8c7451;border-left:0;border-radius:0 3px 3px 0;background:#c4ae82 url('../../assets/halls-of-horror/grain.svg');color:#30261b;box-shadow:5px 4px 12px #0008;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;display:grid;place-items:center}
.hoh-drawer-tab-label{writing-mode:vertical-rl;font:700 11px/1.1 Poppins,Arial,sans-serif;letter-spacing:.2em}.hoh-drawer-tab-label>span{margin-top:15px;font-size:23px}
.hoh-collection .hoh-drawer-tab.has-art{border:0;border-radius:0;background-color:transparent;background-image:var(--hoh-drawer-tab);background-size:100% 100%;background-position:center;background-repeat:no-repeat}.hoh-drawer-tab.has-art .hoh-drawer-tab-label{visibility:hidden}
.hoh-drawer-backdrop{position:fixed;inset:0;z-index:10001;background:#000b;opacity:0;transition:opacity .5s}.hoh-drawer-backdrop[hidden]{display:none}
.hoh-collection.is-dragging{transition:none;user-select:none;-webkit-user-select:none;cursor:grabbing}.hoh-collection.is-dragging .hoh-drawer-tab,.hoh-collection .hoh-drawer-tab:active{cursor:grabbing}.hoh-drawer-backdrop.is-dragging{transition:none}
/* SIDE MENU ON TOP — the site's slide-out menu (.menu-container-hide.active,
 * header.php) lives inside #branding (z-index 10000), so it can never rise
 * above this drawer (10002) or its backdrop (10001). While the menu is open,
 * drop both below the navbar so the menu covers the ALL BADGES tab. */
body:has(.menu-container-hide.active) :is(.hoh-collection,.hoh-drawer-backdrop){z-index:9998}
@media(max-width:760px){.hoh-collection{--handle-width:48px}.hoh-collection .hoh-drawer-tab{height:261px}}
@media(max-width:520px){body.tgv-hoh-body .hoh-site{margin-left:39px;margin-right:39px}.hoh-collection{--handle-width:39px}.hoh-collection .hoh-drawer-tab{height:212px}.hoh-drawer-tab-label{font-size:9px}.hoh-drawer-tab-label>span{font-size:19px}}
@media(prefers-reduced-motion:reduce){.hoh-collection,.hoh-drawer-backdrop{transition:none}}
.hoh-badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:26px 0}.hoh-badge-grid>p{grid-column:1/-1}.hoh-file-badges{grid-template-columns:repeat(6,minmax(0,1fr));margin:0}
.hoh-badge{position:relative;aspect-ratio:1;min-width:0;border:1px solid #655d45;background:var(--hoh-badge-frame,linear-gradient(135deg,#2a3329,#0b130f));background-size:100% 100%;box-shadow:inset 0 0 0 4px #141b13,inset 0 0 0 5px #8c79513b,0 8px 10px #0005;color:#d5c49e;padding:0;isolation:isolate;transition:filter .2s,transform .2s}
.hoh-badge-art{width:70%;height:100%;object-fit:contain;margin:auto;filter:drop-shadow(0 3px 6px #0009)}.hoh-badge-fallback{display:grid;place-items:center;width:74%;height:95%;margin:auto;border:1px double #88734e;border-radius:50%;font:36px/1 Georgia,serif;color:#c5a974;background:#3b412a}
.hoh-badge-number{position:absolute;top:-8px;left:38%;right:38%;background:#b9a37a;border:1px solid #79654c;color:#362c1f;font:9px/1.8 monospace;z-index:1}.hoh-badge-name{position:absolute;left:6%;right:6%;bottom:6px;min-height:23px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:8px;line-height:1.2;font-weight:600;letter-spacing:.02em;padding:4px;background:#b6a17b;color:#302820;border:1px solid #6f5d41}
.hoh-badge.is-locked .hoh-badge-art,.hoh-badge.is-locked .hoh-badge-fallback{filter:grayscale(1);opacity:1}.hoh-badge.is-locked .hoh-badge-name{background:#655f4e;color:#c8bfa6}.hoh-badge-lock{opacity:.9;position:absolute;left:calc(50% - 9px);top:45%;width:18px;height:16px;background:#92866a;border:1px solid #d1bd92;border-radius:2px;box-shadow:0 4px 8px #000b}.hoh-badge-lock:before{content:"";position:absolute;left:3px;top:-9px;width:10px;height:10px;border:2px solid #a69676;border-radius:7px 7px 0 0}.hoh-badge-lock:after{content:"";position:absolute;width:3px;height:6px;background:#312a21;top:4px;left:6px}
.hoh-badge.is-earned{border-color:#a38a54;box-shadow:inset 0 0 0 4px #1c2517,inset 0 0 0 5px #b19b6477,0 0 18px #b7a05d10}.hoh-badge-detail{background:#c5b28c url('../../assets/halls-of-horror/grain.svg');color:#392e21}.hoh-badge-detail h2{color:#38251c}.hoh-badge-detail .hoh-kicker{color:#692329}.hoh-badge-detail [data-hoh=badge-detail-art]{width:140px;height:140px;margin:10px auto 25px}.hoh-badge-detail [data-hoh=badge-detail-art] img{width:100%;height:100%;object-fit:contain}.hoh-badge-detail [data-hoh=badge-detail-description]{font-size:14px;line-height:1.8}.hoh-badge-detail.is-locked [data-hoh=badge-detail-art]{filter:brightness(0)}
.hoh-badge-won-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:17px;margin:26px 0}.hoh-badge-won-grid .hoh-badge{width:130px;flex:0 0 auto}
.hoh-scream-gauge{padding:22px 24px;background:#b4a47f;color:#30291c;border:5px ridge #63543d;box-shadow:0 6px 14px #0006;margin-top:35px}.hoh-scream-gauge>span{font-size:10px;letter-spacing:.25em}.hoh-gauge-ticks{height:43px;margin:16px 0 9px;background:repeating-linear-gradient(90deg,#27271e 0 1px,transparent 1px 6.5%);border-bottom:2px solid #24231a;position:relative}.hoh-gauge-ticks i{position:absolute;height:53px;bottom:-4px;width:3px;background:#891e25;left:0;transition:left 1s ease;box-shadow:0 0 3px #57040c}.hoh-scream-gauge strong{font-size:11px;letter-spacing:.1em}
.hoh-drawer-title{min-height:132px;padding:24px 40px;display:flex;flex-direction:column;justify-content:center}.hoh-drawer-title h2{margin:0}.hoh-drawer-title p{margin:8px 0 0;font-size:12px;letter-spacing:3px}.hoh-drawer-title.has-art{background:var(--hoh-drawer-title) center/100% 100% no-repeat;color:#292117}.hoh-drawer-title.has-art h2{color:#292117}
.hoh-badge-subhead{margin:18px 0 8px;font:700 12px/1.2 Poppins,Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#c7ac7b}.hoh-collection .hoh-badge-grid{margin-top:14px}
/* Drawer grid scrolls on its own; hoh.js sets max-height and appends the next batch of badges at the end. Padding keeps the hover lift / shadow from being clipped. */
.hoh-collection [data-hoh="earned-badges"]{overflow-y:auto;padding:10px 6px;scrollbar-width:thin;scrollbar-color:#9b835b #151b17}
.hoh-badge.is-art-framed{aspect-ratio:1;padding:0;border:0;background-color:transparent;box-shadow:none}.hoh-badge.is-art-framed .hoh-badge-art,.hoh-badge.is-art-framed .hoh-badge-fallback{position:absolute;width:59%;height:59%;left:20.5%;top:20.5%;margin:0}.hoh-badge-number.has-art{left:31%;right:auto;top:0;width:38%;height:25%;display:grid;place-items:center;background:var(--hoh-badge-number) center/100% 100% no-repeat;border:0;font-size:12px}.hoh-badge-name.has-art{left:6%;right:auto;bottom:2%;width:88%;height:28%;padding:0 13%;background:var(--hoh-badge-name) center/100% 100% no-repeat!important;border:0;color:#34271a!important;font-size:10px}
.hoh-badge-lock.has-art{left:35%;top:34%;width:30%;height:30%;border:0;border-radius:0;background:var(--hoh-lock) center/contain no-repeat;box-shadow:none}.hoh-badge-lock.has-art:before,.hoh-badge-lock.has-art:after{display:none}
.hoh-scream-art{margin:23px auto 8px}.hoh-scream-art img{width:100%;height:auto}.hoh-scream-art strong{display:block;font-size:12px;font-weight:400;letter-spacing:1px;color:#c0ae87}
.hoh-door-cta{position:relative;display:block;width:64px;height:64px;margin:18px auto 0;padding:0;border:2px solid #a5251e;border-radius:50%;background:#191713 url('../../assets/halls-of-horror/door-leaf.png') center/cover no-repeat;box-shadow:0 0 0 3px #000a,0 0 16px #8c292c55,0 6px 14px #0007;cursor:pointer;transition:transform .2s,filter .2s}
.hoh-door-cta:hover{transform:translateY(-2px);filter:brightness(1.15)}
.hoh-door-cta-count{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border:2px solid #191713;border-radius:50%;background:#c22a20;color:#fff0d8;font:700 11px/1 Poppins,Arial,sans-serif;box-shadow:0 2px 6px #0007}
.hoh-mission-note{margin:13px 0 0;aspect-ratio:3 / 2;padding: 90px 45px 35px;min-height:450px;background:var(--hoh-paper,linear-gradient(135deg,#d3bd91,#b5a079)) center/100% 100% no-repeat;color:#33271a;text-align:left}.hoh-mission-note h3{font-size:24px;letter-spacing:3px;margin:0 0 12px 30px;color:#33271a}.hoh-mission-note p{font-size:15px;line-height:1.55;margin:0 0 12px}.hoh-collection .hoh-note-link{display:inline-block;min-height:44px;padding:7px 0;border-bottom:1px solid #705333;color:#5f1414;font-size:12px;font-weight:700;letter-spacing:1px}
.hoh-all-handle{width:60%;max-width:360px;display:block;min-height:52px;margin:14px auto 0;padding:10px;border:2px ridge #7c694c;background:#bba680;color:#33271a;font-weight:700!important;letter-spacing:.14em}.hoh-all-handle.has-art{padding:0;border:0;background:none}.hoh-all-handle img{width:100%;height:auto}
@media(max-width:600px){.hoh-drawer-title{min-height:112px;padding:25px 34px}.hoh-drawer-title h2{font-size:26px}.hoh-drawer-title p{font-size:10px}.hoh-mission-note{padding:30px 27px}.hoh-mission-note h3{font-size:22px}}
@media(max-width:420px){.hoh-collection .hoh-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* DRAWER / BADGE SECTION END */

/* WATCH HISTORY SECTION */
.hoh-watched-movies{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.hoh-watched-movie{min-width:0}.hoh-watched-movie h3{font-size:13px;line-height:1.5;color:#e4d6b7;margin:14px 0 0}.hoh-movie-frame{--rail:12px;display:block;position:relative;padding:var(--rail);background:#120b07;box-shadow:0 10px 16px #0009,0 0 0 1px #1c1009;isolation:isolate}.hoh-movie-poster{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;box-shadow:0 0 0 2px #080503}.hoh-movie-poster-empty{display:grid;place-items:center;color:#b79e73;background:linear-gradient(160deg,#384135,#101810);font-size:45px}
.hoh-wood-rail{position:absolute;z-index:1;background-color:#382117;background-image:repeating-linear-gradient(2deg,transparent 0 2px,#09040066 3px,transparent 4px 7px,#af774029 8px,transparent 9px 13px),linear-gradient(180deg,#765139 0%,#352017 12%,#5b3c29 28%,#2b190f 43%,#654530 63%,#23150e 88%,#92653b 96%,#1c1008);box-shadow:inset 0 0 0 1px #a6743f30}.hoh-wood-top,.hoh-wood-bottom{left:0;width:100%;height:var(--rail);clip-path:polygon(0 0,100% 0,calc(100% - var(--rail)) 100%,var(--rail) 100%)}.hoh-wood-top{top:0}.hoh-wood-bottom{bottom:0;transform:rotate(180deg)}.hoh-wood-left,.hoh-wood-right{top:0;height:100%;width:var(--rail);background-image:repeating-linear-gradient(92deg,transparent 0 2px,#09040077 3px,transparent 4px 7px,#af77402b 8px,transparent 9px 13px),linear-gradient(90deg,#765139,#352017 12%,#5b3c29 28%,#2b190f 43%,#654530 63%,#23150e 88%,#92653b 96%,#1c1008);clip-path:polygon(0 0,100% var(--rail),100% calc(100% - var(--rail)),0 100%)}.hoh-wood-left{left:0}.hoh-wood-right{right:0;transform:rotate(180deg)}.hoh-movie-empty{padding:18px 0}.hoh-movie-empty p{font-size:13px}
@media(max-width:760px){.hoh-watched-movies{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.hoh-movie-frame{--rail:10px}}
/* WATCH HISTORY SECTION END */

/* RED DOOR SECTION — supplied photographic scene, confined to one popup. */
#hoh-door-dialog{--rd-bone:#e7e0d5;--rd-muted:#b1b5b1;--rd-crimson:#8c292c;--rd-door-width:min(17vw,calc((100dvh - 340px)/2.2),182px);--rd-door-height:calc(var(--rd-door-width)*2.2);color-scheme:dark;width:min(1100px,calc(100% - 24px));height:min(860px,calc(100dvh - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid #67473e;border-radius:4px;background:#090b0c;color:var(--rd-bone);overflow:hidden;isolation:isolate;text-align:center;box-shadow:0 25px 100px #000}
#hoh-door-dialog:not([open]){display:none!important}
#hoh-door-dialog::before,#hoh-door-dialog::after{content:none}
#hoh-door-dialog::backdrop{background:#020303e6;backdrop-filter:blur(5px)}
#hoh-door-dialog .hoh-close{z-index:120;top:calc(14px + env(safe-area-inset-top,0px));right:14px;background:#090b0b77;color:#e7e0d5;border:1px solid #a1a9a033;width:38px;height:38px;font:26px/1 Arial,sans-serif}
#hoh-door-dialog .rd-experience{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;background:#090b0c}
#hoh-door-dialog .rd-room,#hoh-door-dialog .rd-room-shade{position:absolute;inset:0;pointer-events:none;z-index:-2}
#hoh-door-dialog .rd-room{background:url('../../assets/halls-of-horror/room.jpg') center 69%/cover no-repeat;filter:brightness(.8);transform:scale(1.015)}
#hoh-door-dialog .rd-room-shade{z-index:-1;background:radial-gradient(ellipse at 50% 44%,transparent 20%,#06080955 65%,#020405d9 100%),linear-gradient(#040607b8,transparent 35%,transparent 72%,#030506cc)}
#hoh-door-dialog .rd-intro{text-align:center;position:relative;z-index:5;padding:10px 16px 0;transition:opacity .8s,transform .8s}
#hoh-door-dialog .rd-eyebrow{font-size:12px;letter-spacing:.32em;color:#bbb4a6;margin:0 0 14px;font-weight:400}
#hoh-door-dialog .rd-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(35px,5.2vw,74px);line-height:1.05;font-weight:400;letter-spacing:.09em;margin:0;color:#d8d1c6;text-shadow:0 2px 15px #000,0 0 45px #dbd1ac15}
#hoh-door-dialog .rd-instruction{font-weight:700;font-size:15px;margin:19px 0 0;line-height:1.5}
#hoh-door-dialog .rd-stage{position:relative;flex:1;display:flex;align-items:flex-end;justify-content:center;min-height:calc(var(--rd-door-height) + 137px);width:100%;padding:54px 16px 86px;transition:filter .7s}
#hoh-door-dialog .rd-doors{display:flex;align-items:flex-end;justify-content:center;gap:clamp(38px,9vw,142px);width:max-content;transform-origin:50% 50%;will-change:transform;position:relative;z-index:1}
#hoh-door-dialog .rd-door{display:block;position:relative;width:var(--rd-door-width);height:var(--rd-door-height);border:0;padding:0;background:none;perspective:1100px;perspective-origin:50% 50%;flex-shrink:0;transition:opacity .8s,filter .5s;outline-offset:16px!important;isolation:isolate}
#hoh-door-dialog .rd-door-assembly{display:block;position:absolute;inset:0;perspective:inherit;perspective-origin:inherit;transform-style:preserve-3d;filter:brightness(.81);transition:filter .6s}
#hoh-door-dialog .rd-door:has(.rd-door-trigger:not(:disabled)):hover .rd-door-assembly,#hoh-door-dialog .rd-door:focus-within .rd-door-assembly{filter:brightness(1.09)}
#hoh-door-dialog .rd-portal{position:absolute;inset:0;display:block;overflow:hidden;background:#010202;border:1px solid #362526;box-shadow:inset 0 0 35px 16px #000,0 10px 45px 18px #000b;transform:translateZ(-2px)}
#hoh-door-dialog .rd-depth-light{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 51% 35%,#29343677 0%,#0a111154 30%,#000 68%);transition:opacity 1.3s}
#hoh-door-dialog .rd-bride{position:absolute;display:block;height:94%;width:auto;max-width:none;left:60%;bottom:1%;transform:translateX(-50%);object-fit:contain;opacity:0;filter:brightness(.84) contrast(1.08) saturate(.6);pointer-events:none;will-change:opacity;mask-image:linear-gradient(to top,transparent 0%,#000 8%)}
#hoh-door-dialog .rd-jamb{position:absolute;inset:-7px -8px -3px;display:block;pointer-events:none;border:7px solid #24191a;border-right-color:#3a2523;border-bottom:0;border-left-color:#1a1314;box-shadow:-4px 1px 0 #070808,3px 1px 0 #171b1b,0 -2px 0 #4b454022,inset 0 0 5px #000;transform:translateZ(1px)}
#hoh-door-dialog .rd-leaf{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:0% 50%;transform:rotateY(0deg);will-change:transform;transition:transform 2.7s cubic-bezier(.32,.01,.17,1)}
#hoh-door-dialog .rd-leaf-front{position:absolute;top:0;bottom:0;left:-16.18%;display:block;width:132.05%;height:100.5%;object-fit:fill;backface-visibility:hidden;transform:translateZ(1px);pointer-events:none}
#hoh-door-dialog .rd-leaf-back{position:absolute;inset:0;display:block;background:#210b0b;transform:translateZ(-9px);box-shadow:inset 0 0 30px #000}
#hoh-door-dialog .rd-leaf-edge{position:absolute;top:0;bottom:0;right:-1px;width:11px;display:block;background:linear-gradient(90deg,#6c2924,#231110 75%,#281916);transform-origin:100% 50%;transform:rotateY(90deg);backface-visibility:visible}
#hoh-door-dialog .rd-threshold{position:absolute;left:-9px;right:-9px;bottom:-5px;height:7px;background:linear-gradient(#443b32,#151616 65%,#060909);box-shadow:0 4px 18px 5px #000;transform:translateZ(4px)}
#hoh-door-dialog .rd-door-action{position:absolute;left:-25px;right:-25px;bottom:-51px;font-size:12px;letter-spacing:.19em;color:#b6c0b6;display:flex;align-items:center;justify-content:center;gap:10px;transition:opacity .3s,color .3s}
#hoh-door-dialog .rd-door-action span{color:#98a59b6e;font-size:11px;border-left:1px solid #89938d55;padding-left:10px}
#hoh-door-dialog .rd-door:has(.rd-door-trigger:not(:disabled)):hover .rd-door-action{color:#faf1e2}
#hoh-door-dialog .rd-door:nth-child(2) .rd-leaf-front{filter:brightness(.94) saturate(.9)}
#hoh-door-dialog .rd-door:nth-child(3) .rd-leaf-front{filter:brightness(.91) saturate(.97)}
#hoh-door-dialog .rd-game-footer{display:flex;justify-content:space-between;gap:20px;position:relative;z-index:4;flex-shrink:0;padding:0 38px 25px;font-size:12px;color:#8f9990;line-height:1.5}
#hoh-door-dialog .rd-game-footer span:first-child{letter-spacing:.1em;color:#b4b8af}
#hoh-door-dialog .rd-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#hoh-door-dialog[data-phase=loading] .rd-doors{opacity:.35}
#hoh-door-dialog[data-phase=ready] .rd-doors{opacity:1;transition:opacity 1s}
#hoh-door-dialog.is-playing .rd-intro{opacity:0;transform:translateY(-12px)}
#hoh-door-dialog.is-playing .rd-door:not(.selected){opacity:.12;filter:brightness(.25)}
#hoh-door-dialog.is-playing .rd-door-action{opacity:0}
#hoh-door-dialog.is-playing .rd-game-footer{opacity:0}
#hoh-door-dialog.is-playing .selected .rd-door-assembly{filter:brightness(.86)}
#hoh-door-dialog.is-playing .selected{z-index:4}
#hoh-door-dialog.is-playing .selected.open .rd-leaf{transform:rotateY(79deg)}
#hoh-door-dialog.is-playing .selected.open .rd-depth-light{opacity:1}
#hoh-door-dialog .rd-skip{position:fixed;right:24px;bottom:23px;z-index:105;border:1px solid #75807766;background:#090c0fbb;border-radius:2px;padding:11px 18px;font-size:13px;color:#c4c9c2}
#hoh-door-dialog .rd-door-trigger{position:absolute;inset:0;z-index:9;padding:0;border:0;background:transparent;outline-offset:16px!important}
#hoh-door-dialog.is-playing .rd-door-trigger{pointer-events:none}
#hoh-door-dialog.is-playing .rd-intro,#hoh-door-dialog.is-playing .rd-game-footer{pointer-events:none}
#hoh-door-dialog .rd-reward{position:absolute;z-index:2;container-type:inline-size;left:var(--reward-left,62%);top:50%;width:var(--reward-width,300px);margin:0;color:var(--rd-bone);text-align:center;text-shadow:0 2px 18px #000;transform:translate(-50%,-50%) scale(var(--reward-scale,1));transform-origin:center;filter:brightness(1.16)}
#hoh-door-dialog .rd-reward:not([hidden]) .rd-reward-content{animation:rd-reward-in .8s ease both}
#hoh-door-dialog .rd-reward-content{padding:20px 0}
#hoh-door-dialog .rd-reward h3:focus{outline:none}
#hoh-door-dialog .rd-reward-door{color:#b58175;font-size:12px;letter-spacing:.26em;margin:0 0 28px}
#hoh-door-dialog .rd-reward-label{letter-spacing:.23em;color:#a6aca5;font-size:12px;margin:0 0 14px}
#hoh-door-dialog .rd-reward h3{font-family:Georgia,serif;font-size:clamp(30px,4.5vw,52px);font-weight:400;line-height:1.1;letter-spacing:.02em;margin:0;overflow-wrap:anywhere}
#hoh-door-dialog .rd-reward-description{color:#c4c7bf;font-size:16px;margin:18px 0 0;line-height:1.5}
#hoh-door-dialog .rd-reward button:focus-visible{outline-offset:4px}
#hoh-door-dialog[data-phase=reward] .selected .rd-leaf{transition:none}
#hoh-door-dialog .rd-noscript{position:fixed;bottom:30px;left:10%;right:10%;z-index:100;background:#562421;padding:20px;text-align:center}
@keyframes rd-reward-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(min-width:1550px){#hoh-door-dialog{--rd-door-width:245px}
#hoh-door-dialog .rd-stage{padding-bottom:102px}
#hoh-door-dialog .rd-intro{padding-top:28px}}
@media(max-height:800px) and (min-width:761px){#hoh-door-dialog{--rd-door-width:clamp(125px,16vw,190px)}
#hoh-door-dialog .rd-intro{padding-top:0}
#hoh-door-dialog .rd-intro h2{font-size:53px}
#hoh-door-dialog .rd-instruction{margin-top:12px}
#hoh-door-dialog .rd-stage{padding-top:44px;padding-bottom:76px;min-height:calc(var(--rd-door-height) + 122px)}
#hoh-door-dialog .rd-game-footer{padding-bottom:18px}}
@media(max-width:760px){#hoh-door-dialog{--rd-door-width:clamp(88px,24vw,167px)}
#hoh-door-dialog .rd-intro{padding:32px 16px 0}
#hoh-door-dialog .rd-intro h2{font-size:clamp(32px,7vw,49px);letter-spacing:.06em}
#hoh-door-dialog .rd-eyebrow{font-size:11px;letter-spacing:.23em}
#hoh-door-dialog .rd-instruction{font-size:14px;max-width:280px;margin:17px auto 0}
#hoh-door-dialog .rd-doors{gap:clamp(18px,5.5vw,44px)}
#hoh-door-dialog .rd-stage{align-items:center;min-height:calc(var(--rd-door-height) + 152px);padding:75px 14px 77px}
#hoh-door-dialog .rd-door-action{font-size:10px;letter-spacing:.08em;bottom:-42px;gap:6px}
#hoh-door-dialog .rd-door-action span{font-size:10px;padding-left:6px}
#hoh-door-dialog .rd-jamb{inset:-4px -5px -2px;border-width:4px;border-bottom:0}
#hoh-door-dialog .rd-threshold{left:-5px;right:-5px;height:5px;bottom:-3px}
#hoh-door-dialog .rd-game-footer{padding:0 20px 22px;flex-direction:column;align-items:center;text-align:center;gap:8px;font-size:11px}
#hoh-door-dialog .rd-room{background-position:center center}
#hoh-door-dialog .rd-reward-content{padding:20px 0}
#hoh-door-dialog .rd-skip{right:18px;bottom:18px}}
@media(max-width:360px){#hoh-door-dialog{--rd-door-width:23vw}
#hoh-door-dialog .rd-doors{gap:6vw}
#hoh-door-dialog .rd-door-action span{display:none}
#hoh-door-dialog .rd-intro h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){#hoh-door-dialog *,#hoh-door-dialog *:before,#hoh-door-dialog *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
#hoh-door-dialog:not(.is-playing) .rd-leaf{transition:none}
#hoh-door-dialog .rd-door-fog{position:absolute;left:-70%;bottom:-30%;width:240%;height:85%;pointer-events:none;z-index:6;display:block;mask-image:radial-gradient(ellipse at 50% 65%,#000 25%,transparent 73%)}
#hoh-door-dialog .rd-door-fog img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:.62;filter:brightness(.7);animation:rd-fog-drift 16s ease-in-out infinite alternate;will-change:transform}
#hoh-door-dialog .rd-door-fog img+img{opacity:.34;animation-name:rd-fog-return;animation-duration:21s;animation-delay:-9s}
#hoh-door-dialog .rd-door:nth-child(2) .rd-door-fog img{animation-delay:-7s}
#hoh-door-dialog .rd-door:nth-child(3) .rd-door-fog img{animation-delay:-12s}
@keyframes rd-fog-drift{from{transform:translate3d(-7%,1%,0) scale(1.04)}to{transform:translate3d(7%,-3%,0) scale(1.12)}}
@keyframes rd-fog-return{from{transform:translate3d(8%,8%,0) scaleX(-1.15) scaleY(.86)}to{transform:translate3d(-8%,3%,0) scaleX(-1.02) scaleY(.94)}}
@media(prefers-reduced-motion:reduce){#hoh-door-dialog .rd-door-fog img{animation:none}}
@media(max-width:760px){#hoh-door-dialog .rd-reward-description{font-size:14px}
#hoh-door-dialog .rd-reward-door{margin-bottom:22px}}
#hoh-door-dialog .rd-experience{height:100%;min-height:0;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5}
#hoh-door-dialog .rd-intro{padding:8px 16px 0}
#hoh-door-dialog .rd-intro h2{font-size:clamp(30px,4.8vw,60px)}
#hoh-door-dialog .rd-stage{min-height:0;padding:50px 16px 76px;align-items:center}
#hoh-door-dialog .rd-doors{gap:clamp(22px,7vw,112px)}
#hoh-door-dialog .rd-leaf-front{max-width:none}
#hoh-door-dialog .rd-leaf{pointer-events:none}
#hoh-door-dialog .rd-reward{display:block;padding:0;gap:0}
#hoh-door-dialog .rd-reward-content{max-height:var(--reward-max-height,70dvh);overflow:auto;scrollbar-width:thin;scrollbar-color:#67473e #090b0c}
#hoh-door-dialog .rd-game-footer{padding:0 28px 20px}
#hoh-door-dialog .rd-reward h3{font-size:clamp(26px,4vw,48px);font-size:min(clamp(26px,4vw,48px),11cqw);color:var(--rd-bone)}
#hoh-door-dialog .rd-return{display:block;width:100%;max-width:300px;min-height:42px;margin:10px auto 0;padding:10px;border:1px solid #756257;background:#0b0a09cc;color:#d3c9ba;font-size:11px;letter-spacing:.05em}
#hoh-door-dialog .rd-skip{position:absolute;right:18px;bottom:16px}
#hoh-door-dialog .rd-error{position:absolute;left:20px;right:20px;bottom:52px;z-index:110;margin:0;color:#ffd7c6;font-size:12px;line-height:1.5}
#hoh-door-dialog .rd-error:empty{display:none}
#hoh-door-dialog .rd-retry{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:110;padding:9px 18px;border:1px solid #974a40;background:#662a25;color:#eee;font-size:12px}
#hoh-door-dialog button{touch-action:manipulation}
#hoh-door-dialog button:focus-visible{outline:2px solid #e9d0a9;outline-offset:5px}
#hoh-door-dialog [hidden]{display:none!important}
@media(max-width:760px){
 #hoh-door-dialog{--rd-door-width:min(22vw,calc((100dvh - 310px)/2.2),160px);width:calc(100% - 16px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}
 #hoh-door-dialog .rd-intro{padding:calc(24px + env(safe-area-inset-top,0px)) 16px 0}
 #hoh-door-dialog .rd-intro h2{font-size:clamp(28px,7vw,49px)}
 #hoh-door-dialog .rd-doors{gap:5.5vw}
 #hoh-door-dialog .rd-stage{min-height:0;padding:52px 14px 60px}
 #hoh-door-dialog .rd-game-footer{padding:0 16px 18px}
 #hoh-door-dialog .rd-reward-description{font-size:13px;line-height:1.5}
 #hoh-door-dialog .rd-reward-door{margin-bottom:18px}
}
@media(max-height:500px){
 #hoh-door-dialog{--rd-door-width:min(15vw,calc((100dvh - 170px)/2.2));height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}
 #hoh-door-dialog .rd-intro{padding:0 12px}
 #hoh-door-dialog .rd-intro h2{font-size:24px}
 #hoh-door-dialog .rd-intro .rd-eyebrow{display:none}
 #hoh-door-dialog .rd-instruction{margin:6px 0 0;font-size:12px}
 #hoh-door-dialog .rd-stage{padding:24px 16px 38px}
 #hoh-door-dialog .rd-door-action{bottom:-29px;font-size:10px}
 #hoh-door-dialog .rd-game-footer{padding:0 20px 8px;font-size:10px}
 #hoh-door-dialog .rd-reward-content{padding:5px 0}
 #hoh-door-dialog .rd-reward-door,#hoh-door-dialog .rd-reward-label{margin-bottom:8px;font-size:10px}
#hoh-door-dialog .rd-reward h3{font-size:26px;font-size:min(26px,11cqw)}
 #hoh-door-dialog .rd-reward-description{margin-top:10px;font-size:12px}
 #hoh-door-dialog .rd-return{min-height:32px;padding:7px;font-size:10px}
}
/* RED DOOR SECTION END */

/* XP POPUP SECTION END */

/* MOTION */
@keyframes hoh-stamp{0%,100%{transform:rotate(-11deg)}50%{transform:rotate(-8deg)}}
@keyframes hoh-fog{0%,100%{transform:translateX(-5%);opacity:.4}50%{transform:translateX(5%);opacity:.8}}
@keyframes hoh-rise{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes hoh-dialog-in{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
@keyframes hoh-rattle{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-2px) rotate(-.7deg)}75%{transform:translateX(2px) rotate(.7deg)}}
@keyframes hoh-spider-fall{0%{transform:translate(-50%,-100vh) scale(.55);opacity:1}32%{transform:translate(-50%,2vh) scale(1.07)}40%{transform:translate(-50%,-1vh) scale(1)}57%{transform:translate(-50%,1vh) rotate(3deg)}70%{transform:translate(-50%,5vh) rotate(-3deg);opacity:1}100%{transform:translate(-50%,110vh) rotate(8deg);opacity:1}}
@keyframes hoh-prize{from{opacity:0;transform:scale(.94);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes hoh-level-burst{0%{transform:scale(.65) rotate(-60deg)}60%{transform:scale(1.35) rotate(15deg)}100%{transform:scale(1) rotate(0)}}
@keyframes hoh-shuffle{0%,100%{opacity:1}45%{transform:translateX(0) rotate(0) scale(.85);opacity:.4}}
/* MOTION END */

/* DESKTOP HOVER */
@media(hover:hover) and (pointer:fine){.hoh-button:hover{filter:brightness(1.2);transform:translateY(-2px)}.hoh-file-link:hover{transform:translateY(-9px) rotate(1deg);filter:brightness(1.08)}.hoh-badge:hover{transform:translateY(-3px);filter:brightness(1.1)}.hoh-tarot-table:hover .hoh-deck-main{transform:rotate(0) translateY(-7px)}.hoh-door-dialog[data-phase=choose] .hoh-door:hover{transform:translateY(-5px);box-shadow:0 0 30px #aa222244,0 30px 30px #000b}.hoh-tarot-fan:not(.has-choice) .hoh-reading-card:hover{transform:translateY(-14px) rotate(0)}}
/* DESKTOP HOVER END */

/* BREAKPOINTS */
@media(max-width:900px){.hoh-member-strip{gap:18px;padding:18px}.hoh-file-badges{grid-template-columns:repeat(3,minmax(0,1fr));max-width:600px;margin:auto;gap:24px}.hoh-blood-dossier{gap:32px}.hoh-blood-image,.hoh-photo-empty{height:330px}.hoh-tarot-fan{gap:20px}.hoh-reading-card{width:190px}.hoh-door-dialog{height:min(710px,calc(100dvh - 30px))}}
@media(max-width:600px){.hoh-topbar{width:calc(100% - 44px)}.hoh-wordmark{font-size:27px}.hoh-text-button{font-size:9px!important}.hoh-site .section-description{font-size:12px}.hoh-member-strip{flex-wrap:wrap;gap:17px 12px;padding:18px 14px}.hoh-standing{min-width:0;flex:1}.hoh-standing strong{font-size:14px}.hoh-xp-mini{order:3;flex-basis:100%}.hoh-member-strip .hoh-button-small{font-size:8px!important;padding:9px 12px;letter-spacing:.07em}.hoh-files{gap:10px;max-width:450px}.hoh-file-cover{aspect-ratio:1/1.55}.hoh-file-tab{font-size:4px;height:10px;top:-9px;width:68%}.hoh-file-inside{inset:7% 8% 6%}.hoh-file-number{font-size:13px}.hoh-file-class{font-size:4px;line-height:1.6;letter-spacing:0}.hoh-file-photo{border-width:3px;margin-top:6px;height:38%}.hoh-file-stamp{font-size:9px;border-width:2px;padding:3px 4px;margin:10px 0 5px}.hoh-file-subject{font-size:10px}.hoh-file-signature{font-size:4px;letter-spacing:0}.hoh-file h3{font-size:10px;margin-top:13px}.hoh-file h3 span{margin-left:1px}.hoh-classified-mark{font-size:21px}.hoh-file-classified .hoh-file-stamp{margin-bottom:13px;font-size:8px;padding:3px 1px}.hoh-file-note{font-size:6px;line-height:1.6}.hoh-draw-invite{flex-direction:column;gap:28px}.hoh-mini-doors i{height:104px;width:55px}.hoh-tarot-table{height:285px}.hoh-deck-left{transform:translate(-70px,40px) rotate(-16deg)}.hoh-deck-right{transform:translate(70px,40px) rotate(16deg)}.hoh-footer{width:calc(100% - 44px);flex-wrap:wrap;justify-content:center;font-size:7px;letter-spacing:.1em}.hoh-footer a{font-size:10px}.hoh-drawer-scroll{height:95%;margin-top:3%;padding:calc(9px + env(safe-area-inset-top,0px)) 18px 20px}.hoh-badge-grid{gap:10px}.hoh-badge-name{font-size:8px}.hoh-badge-number{font-size:8px}.hoh-badge{padding:17px 6px}.hoh-blood-dossier{grid-template-columns:1fr;gap:24px}.hoh-blood-photo{max-width:350px;width:100%;margin:auto}.hoh-blood-image,.hoh-photo-empty{height:340px}.hoh-story{padding-top:5px}.hoh-story-copy p{font-size:13px}.hoh-file-badges{gap:20px 12px}.hoh-mission{grid-template-columns:28px 1fr;gap:12px;padding:23px 15px}.hoh-mission-number{font-size:21px}.hoh-mission h3{font-size:16px}.hoh-mission p{font-size:11px}.hoh-mission-meta{font-size:8px;gap:10px}.hoh-mission-meta strong{font-size:11px}.hoh-code-input{width:100%;margin-right:0}.hoh-answer{padding:9px 10px;font-size:11px}.hoh-door-dialog{padding:56px 17px 30px;height:min(620px,calc(100dvh - 20px));max-height:calc(100dvh - 20px)}.hoh-doors{gap:14px;margin-top:55px}.hoh-door{width:28%;border-width:5px!important}.hoh-door-number{font-size:11px;top:8%}.hoh-door-panel{border-width:3px}.hoh-door-knob{width:6px;height:6px}.hoh-door-heading>p:last-child{font-size:11px}.hoh-door-heading h2{letter-spacing:.04em}.hoh-hand{width:75%}.hoh-spider-drop{width:120%;max-width:none}.hoh-prize-reveal h3{font-size:30px}.hoh-xp-dialog{padding:48px 23px 28px}.hoh-xp-dialog h2{font-size:25px}.hoh-xp-amount{font-size:40px}.hoh-xp-sigil{font-size:50px}.hoh-xp-totals strong{font-size:15px}.hoh-level-announcement{font-size:11px}.hoh-reading-card{width:30%;aspect-ratio:1/1.65}.hoh-tarot-fan{gap:12px;margin:30px auto 50px}.hoh-reading-back,.hoh-reading-front{border-width:1px;outline-offset:-5px}.hoh-reading-card .hoh-card-ornament{width:50px;height:50px;font-size:40px;margin-bottom:17px}.hoh-reading-card .hoh-card-ornament:before{inset:6px}.hoh-reading-back:before{inset:9px}.hoh-reading-back strong{font-size:6px;letter-spacing:.03em}.hoh-reading-back small{font-size:4px;letter-spacing:.07em;margin-top:15px}.hoh-reading-front{padding:13px 8px}.hoh-tarot-symbol{font-size:48px;width:60px;height:75px;margin-bottom:12px}.hoh-reading-front strong{font-size:12px}.hoh-reading-front small{font-size:4px;margin-top:12px}.hoh-reading-front img{height:80px;margin-bottom:12px}.hoh-reading{padding:26px 20px}.hoh-reading h2{font-size:26px}.hoh-reading p{font-size:13px}.hoh-tarot-circle:after{font-size:250px}.hoh-prize-history li{flex-direction:column;gap:6px}}
@media(max-width:360px){.hoh-file-photo{height:34%}.hoh-file-number{font-size:11px}.hoh-file-stamp{font-size:7px}.hoh-file-subject{font-size:8px}.hoh-file-classified .hoh-file-stamp{font-size:7px}.hoh-dialog{padding-inline:18px}.hoh-member-strip .hoh-button-small{font-size:7px!important;padding-inline:8px}}
@media(max-height:600px) and (min-width:601px){.hoh-door-dialog{padding-top:25px}.hoh-door-heading h2{font-size:23px;margin:5px 0}.hoh-doors{margin-top:14px;max-width:450px}.hoh-door{width:24%}.hoh-xp-dialog{padding-top:30px}.hoh-xp-sigil{display:none}.hoh-prize-reveal{gap:12px}.hoh-prize-seal{font-size:45px}}
@media(prefers-reduced-motion:reduce){.hoh-site *,.hoh-dialog *,.hoh-scene *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hoh-dialog[open]{animation:none!important}.hoh-scene-light{opacity:1;transition:none}.hoh-tarot-table:hover .hoh-deck-main{transform:rotate(3deg)}.hoh-file-classified .hoh-file-stamp{transform:rotate(-11deg)}}
/* BREAKPOINTS END */

/* Poppins across all horror pages. */
body.tgv-hoh-body,body.tgv-hoh-body *,body:has(.hoh-scream-dialog),body:has(.hoh-scream-dialog) *,.hoh-site *,.hoh-dialog *,.hoh-collection *,.collection-drawer *,.detail-dialog *{font-family:Poppins,Arial,sans-serif!important}

/* SCREAM LEVEL — one transparent cinema ticket and a real draw invitation. */
.hoh-level-art{display:grid;place-items:center;flex:none;width:100%;aspect-ratio:1;border:0;border-radius:0;background:url('../../assets/halls-of-horror/scream-mask-medallion.png') center/contain no-repeat;box-shadow:none;color:transparent;font-size:0;text-shadow:none;filter:drop-shadow(0 4px 5px #0009)}
.hoh-scream-portrait .hoh-level-art{font-size:clamp(58px,8vw,102px)}
.hoh-scream-trigger{position:fixed;right:14px;top:48%;z-index:9;display:grid;place-items:center;gap:2px;width:62px;min-height:76px;padding:4px 4px 6px;border:1px solid #a18450;border-radius:32px 32px 5px 5px;background:linear-gradient(#231811,#080808);box-shadow:0 4px 20px #000b,inset 0 0 0 2px #1a120c;color:#e6cda3;cursor:pointer;touch-action:manipulation;font:600 10px/1.2 Poppins,Arial,sans-serif}
.hoh-scream-trigger .hoh-level-art{width:49px;height:49px}.hoh-scream-trigger-level{letter-spacing:1px}.hoh-scream-trigger-label{position:absolute;right:calc(100% + 9px);top:50%;transform:translateY(-50%) translateX(5px);opacity:0;pointer-events:none;white-space:nowrap;background:#100b09ef;border:1px solid #8a7046;padding:8px 11px;font-size:9px;letter-spacing:1.2px;transition:opacity .2s,transform .2s}
.hoh-scream-trigger:hover,.hoh-scream-trigger:focus-visible{border-color:#dbb773;box-shadow:0 0 24px #981c1b44,0 4px 20px #000b}.hoh-scream-trigger:focus-visible{outline:2px solid #e3c89b;outline-offset:4px}.hoh-scream-trigger:hover .hoh-scream-trigger-label,.hoh-scream-trigger:focus-visible .hoh-scream-trigger-label{opacity:1;transform:translateY(-50%)}

.hoh-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.hoh-scream-dialog.hoh-xp-dialog{position:fixed;width:min(1080px,calc(100% - 28px));max-width:1080px;max-height:calc(100dvh - 24px);margin:auto;padding:48px 8px 22px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#f2e5ce;overflow:auto;text-align:center;isolation:isolate;scrollbar-width:thin;scrollbar-color:#806543 transparent}
.hoh-scream-dialog::backdrop{background:#030202bb;backdrop-filter:blur(5px)}
.hoh-scream-dialog .hoh-close{position:absolute;right:8px;top:0;width:40px;height:40px;padding:0;border:1px solid #aa8d65;border-radius:50%;background:#100b08dd;color:#f2e1bf;box-shadow:0 3px 15px #0007;z-index:3;font-size:26px;line-height:1}
.hoh-scream-dialog .hoh-scream-heading{margin:0;padding:0}
.hoh-scream-dialog .hoh-scream-heading>*{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hoh-scream-dialog.is-level-up #hoh-xp-title,.hoh-scream-dialog[data-status="loading"] #hoh-xp-title,.hoh-scream-dialog[data-status="error"] #hoh-xp-title,.hoh-scream-dialog[data-status="loading"] [data-hoh="xp-mission"],.hoh-scream-dialog[data-status="error"] [data-hoh="xp-mission"]{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;margin:0 0 16px}
.hoh-scream-dialog #hoh-xp-title{font-size:clamp(25px,4vw,44px);font-weight:700;letter-spacing:3px;line-height:1.2;color:#f4e7c9;text-shadow:0 0 22px #c52d2866}
.hoh-scream-dialog[data-mode="preview"] [data-hoh="xp-context"]{position:static;width:auto;height:auto;overflow:visible;clip-path:none;margin:0 0 10px;font-size:9px;letter-spacing:2px}
.hoh-scream-ticket{position:relative;display:grid;grid-template-columns:34% minmax(0,1fr) 6%;align-items:center;width:100%;min-height:285px;aspect-ratio:3.67;margin:0;background:url('../../assets/halls-of-horror/scream-ticket-blank.png') center 50.5%/103.6% 142.5% no-repeat;filter:drop-shadow(0 12px 20px #0008);text-align:left;isolation:isolate}
.hoh-scream-portrait{display:grid;place-items:center;height:100%;padding:5% 13% 5% 27%}
.hoh-scream-portrait .hoh-level-art{display:block;width:100%;max-width:240px;aspect-ratio:1;border:0;border-radius:0;background:url('../../assets/halls-of-horror/scream-mask-medallion.png') center/contain no-repeat;box-shadow:none;color:transparent;font-size:0;text-shadow:none;filter:drop-shadow(0 6px 5px #240902aa)}
.hoh-scream-ticket-copy{min-width:0;padding:20px 5% 20px 8%;color:#201913}
.hoh-scream-dialog .hoh-scream-level-number{font-size:clamp(13px,1.7vw,20px);font-weight:700;letter-spacing:3px;line-height:1.3;color:#9b221a;margin:0 0 6px}
.hoh-scream-dialog .hoh-scream-ticket h3{font-size:clamp(22px,3vw,38px);font-weight:700;line-height:1.12;letter-spacing:-.4px;color:#181611;text-transform:uppercase;margin:0 0 12px;overflow-wrap:anywhere}
.hoh-scream-xp-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 10px;font-size:clamp(12px,1.7vw,18px);letter-spacing:1.2px;margin:0 0 12px;color:#282017}
.hoh-scream-xp-row strong{font-weight:600}.hoh-scream-dialog .hoh-xp-amount{font-size:10px;line-height:1.3;letter-spacing:0;margin:0;padding:4px 6px;background:#6c1b15;color:#ffe9c4;border-radius:2px}
.hoh-scream-meter-row{display:flex;align-items:center;gap:12px}
.hoh-scream-meter-row>strong{font-size:clamp(16px,2vw,24px);line-height:1;color:#a5251e;min-width:48px;font-weight:700}
.hoh-track-large{position:relative;flex:1;min-width:0;height:44px;margin:0;padding:9px 10px;border:1px solid #4a382b;border-radius:6px;background:#191713;box-shadow:inset 0 2px 6px #0009;overflow:hidden}
.hoh-track-large:before{content:'';position:absolute;inset:9px 10px;background:repeating-linear-gradient(90deg,#a59e89 0 3px,transparent 3px 7px)}
.hoh-track-large>i{position:relative;display:block;width:0;max-width:100%;height:100%;background:repeating-linear-gradient(90deg,#f13a31 0 3px,transparent 3px 7px);box-shadow:none;filter:drop-shadow(0 0 3px #e52826);transition:none}
/* Same ticket-track look, sized down for the compact drawer row (JS sets
   width directly there, not via the dialog's frame-by-frame tween). */
.hoh-xp-mini .hoh-track-large{height:30px;padding:5px 7px}
.hoh-xp-mini .hoh-track-large:before{inset:5px 7px}
.hoh-xp-mini .hoh-track-large>i{transition:width .6s ease}
.hoh-xp-mini .hoh-scream-meter-row>strong{font-size:13px;min-width:32px}
.hoh-scream-dialog .hoh-scream-next{font-size:clamp(9px,1vw,12px);font-weight:600;line-height:1.5;letter-spacing:1.1px;color:#312317;margin:12px 0 0}
.hoh-scream-dialog .hoh-level-announcement{font-size:12px;line-height:1.6;letter-spacing:.5px;color:#e1c8a2;margin:16px 0 0;min-height:0;text-shadow:0 2px 5px #000}
.hoh-scream-dialog .hoh-level-announcement:empty{display:none}
.hoh-scream-reward{margin:20px auto 0;max-width:660px;text-align:center;color:#f3e4c7;text-shadow:0 2px 8px #000}
.hoh-scream-reward p{font-size:clamp(16px,2vw,22px);font-weight:600;line-height:1.5;margin:0 0 5px}.hoh-scream-reward>span{font-size:11px;line-height:1.6;color:#c9b494}
.hoh-scream-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin:16px 0 0}.hoh-scream-actions:not(:has(button:not([hidden]))){display:none}
.hoh-scream-dialog .hoh-scream-actions .hoh-button{display:flex;align-items:center;justify-content:center;width:min(342px,95%);aspect-ratio:342/55;min-height:48px;height:auto;padding:12px 24px;border:0;border-radius:0;outline:0;box-shadow:none;background:transparent url('../../assets/halls-of-horror/tarot-reveal-button.png?v=blank-1') center/100% 100% no-repeat;color:#f5e2bc;font-size:12px;font-weight:600;line-height:1.35;letter-spacing:1.5px;text-shadow:0 2px 3px #210400;cursor:pointer;transition:filter .2s,transform .2s}
.hoh-scream-dialog .hoh-scream-actions .hoh-button:hover{filter:brightness(1.15);transform:translateY(-2px)}
.hoh-scream-dialog :is(.hoh-button,.hoh-close):focus-visible{outline:2px solid #efdab1;outline-offset:5px}
.hoh-scream-dialog [hidden]{display:none!important}
.hoh-scream-dialog.is-level-up .hoh-scream-ticket{animation:hoh-ticket-awaken .8s ease both}
.hoh-scream-dialog.is-level-up .hoh-scream-reward{animation:hoh-reward-unseal .5s ease both}
@keyframes hoh-ticket-awaken{0%{filter:drop-shadow(0 12px 20px #0008)}45%{filter:drop-shadow(0 0 20px #b12418aa)}100%{filter:drop-shadow(0 12px 20px #0008)}}
@keyframes hoh-reward-unseal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.hoh-scream-dialog.hoh-xp-dialog{width:calc(100% - 20px);padding:44px 0 18px}.hoh-scream-ticket{aspect-ratio:auto;min-height:240px;grid-template-columns:29% minmax(0,1fr) 5%;background-size:104% 143%}.hoh-scream-portrait{padding:15% 8% 15% 20%}.hoh-scream-ticket-copy{padding:24px 6% 24px 10%}.hoh-scream-dialog .hoh-scream-ticket h3{font-size:26px}.hoh-scream-xp-row{font-size:13px;letter-spacing:.5px}.hoh-scream-dialog .hoh-scream-level-number{font-size:13px;letter-spacing:2px}.hoh-scream-trigger{right:8px;width:52px;min-height:65px;padding:3px 3px 5px;font-size:9px}.hoh-scream-trigger .hoh-level-art{width:42px;height:42px}.hoh-scream-dialog .hoh-track-large{height:34px;padding:7px}.hoh-scream-dialog .hoh-track-large:before{inset:7px}.hoh-scream-meter-row{gap:6px}.hoh-scream-meter-row>strong{font-size:18px;min-width:38px}}
@media(max-width:480px){.hoh-scream-dialog.hoh-xp-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:46px 0 18px}.hoh-scream-ticket{min-height:215px;grid-template-columns:29% minmax(0,1fr) 4%}.hoh-scream-dialog .hoh-scream-ticket h3{font-size:clamp(16px,4.8vw,22px);line-height:1.15;margin-bottom:9px}.hoh-scream-ticket-copy{padding:23px 5% 23px 9%}.hoh-scream-dialog .hoh-scream-level-number{font-size:11px;letter-spacing:1.5px;margin-bottom:7px}.hoh-scream-xp-row{font-size:11px;letter-spacing:0;margin-bottom:9px}.hoh-scream-dialog .hoh-xp-amount{font-size:8px;padding:2px 4px}.hoh-scream-meter-row{gap:5px}.hoh-scream-meter-row>strong{font-size:14px;min-width:32px}.hoh-scream-dialog .hoh-track-large{height:29px;padding:6px;border-radius:4px}.hoh-scream-dialog .hoh-track-large:before{inset:6px}.hoh-scream-dialog .hoh-track-large:before,.hoh-scream-dialog .hoh-track-large>i{background-size:auto;background-image:repeating-linear-gradient(90deg,#a59e89 0 2px,transparent 2px 5px)}.hoh-scream-dialog .hoh-track-large>i{background-image:repeating-linear-gradient(90deg,#f13a31 0 2px,transparent 2px 5px)}.hoh-scream-dialog .hoh-scream-next{font-size:8px;letter-spacing:.4px;margin-top:9px}.hoh-scream-dialog .hoh-level-announcement{font-size:10px;margin-top:13px}.hoh-scream-reward{padding:0 18px;margin-top:16px}.hoh-scream-trigger{top:auto;bottom:calc(94px + env(safe-area-inset-bottom));right:7px}}
@media(prefers-reduced-motion:reduce){.hoh-scream-dialog,.hoh-scream-dialog *,.hoh-scream-trigger,.hoh-scream-trigger *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* SCREAM LEVEL END */
/* Floating red door (same art as the drawer's .hoh-door-cta). Sits in the top-right slot the global wow share button normally uses (style.css .share-btn-container.wow-page), which is hidden on Halls of Horror pages. */
.share-btn-container .wow-sharing-container{display:none}
.hoh-door-fab{position:fixed;right:2.5%;top:calc(env(safe-area-inset-top) + 70px);z-index:11;width:64px;height:64px;margin:0;touch-action:manipulation}
.hoh-door-fab[aria-busy="true"]{filter:brightness(.7);cursor:progress}
.hoh-door-fab:focus-visible{outline:2px solid #e3c89b;outline-offset:4px}
@media(min-width:768px){.hoh-door-fab{top:calc(env(safe-area-inset-top) + 92px)}}
@media(max-width:767px){.hoh-door-fab{right:2rem;width:54px;height:54px}}
/* Small two-line caption under the floating door. It lives inside the button (so tapping it opens the door too), hangs below the circle via top:100%, and is aria-hidden because the button's own aria-label already names it. */
.hoh-door-fab-label{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:6px;font:600 11px/1.3 Poppins,Arial,sans-serif;letter-spacing:1.5px;text-align:center;white-space:nowrap;color:#eee0c4;text-shadow:0 2px 6px #000,0 0 10px #000;pointer-events:none}
@media(max-width:767px){.hoh-door-fab-label{font-size:10px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.hoh-door-fab{transition:none}}

/* MIN FONT SIZE — collection drawer + badge detail: nothing below 18px desktop / 16px mobile. Prefixed with .hoh-collection / .hoh-dialog so these win over the older single-class sizes above without !important. */
.hoh-collection{font-size:18px}
.hoh-collection .hoh-kicker,
.hoh-collection .hoh-subtle,
.hoh-collection .hoh-network,
.hoh-collection .hoh-badge-subhead,
.hoh-collection .hoh-drawer-title p,
.hoh-collection .hoh-scream-art strong,
.hoh-collection .hoh-note-link,
.hoh-collection .hoh-mission-note p,
.hoh-collection .hoh-xp-mini>div:first-child,
.hoh-collection .hoh-watched-movie h3,
.hoh-collection .hoh-movie-empty p{font-size:18px}
.hoh-collection .hoh-drawer-title p{letter-spacing:1px}
.hoh-collection .hoh-xp-mini .hoh-scream-meter-row>strong{font-size:18px;min-width:48px}
.hoh-collection .hoh-badge-number,
.hoh-collection .hoh-badge-number.has-art{font-size:18px;line-height:1}
.hoh-collection .hoh-badge-name,
.hoh-collection .hoh-badge-name.has-art{font-size:18px;line-height:1.1;letter-spacing:0;padding-inline:8%}
/* DRAWER BADGE ART: 75% of the tile, centered. */
.hoh-collection .hoh-badge-art,
.hoh-collection .hoh-badge-fallback{width:75%;height:75%;margin:auto}
.hoh-collection .hoh-badge.is-art-framed .hoh-badge-art,
.hoh-collection .hoh-badge.is-art-framed .hoh-badge-fallback{width:75%;height:75%;left:12.5%;top:12.5%;margin:0}
.hoh-collection .hoh-door-cta-count{min-width:30px;height:30px;top:-10px;right:-10px;font-size:18px}
/* The paper art is stretched to the box, so let the note grow with its text instead of holding a 3:2 ratio. */
.hoh-collection .hoh-mission-note{aspect-ratio:auto}
.hoh-dialog.hoh-badge-detail{font-size:18px}
.hoh-dialog.hoh-badge-detail .hoh-kicker,
.hoh-dialog.hoh-badge-detail [data-hoh=badge-detail-description]{font-size:18px}
@media(max-width:760px){
  .hoh-collection{font-size:16px}
  .hoh-collection .hoh-kicker,
  .hoh-collection .hoh-subtle,
  .hoh-collection .hoh-network,
  .hoh-collection .hoh-badge-subhead,
  .hoh-collection .hoh-drawer-title p,
  .hoh-collection .hoh-scream-art strong,
  .hoh-collection .hoh-note-link,
  .hoh-collection .hoh-mission-note p,
  .hoh-collection .hoh-xp-mini>div:first-child,
  .hoh-collection .hoh-watched-movie h3,
  .hoh-collection .hoh-movie-empty p{font-size:16px}
  .hoh-collection .hoh-xp-mini .hoh-scream-meter-row>strong{font-size:16px;min-width:42px}
  .hoh-collection .hoh-badge-number,
  .hoh-collection .hoh-badge-number.has-art,
  .hoh-collection .hoh-badge-name,
  .hoh-collection .hoh-badge-name.has-art{font-size:16px}
  .hoh-collection .hoh-door-cta-count{font-size:16px}
  .hoh-dialog.hoh-badge-detail,
  .hoh-dialog.hoh-badge-detail .hoh-kicker,
  .hoh-dialog.hoh-badge-detail [data-hoh=badge-detail-description]{font-size:16px}
}
/* MIN FONT SIZE — collection drawer END */

/* MISSION CHECKLIST — collection drawer */
.hoh-mission-checklist{list-style:none;margin:0;padding:0 8px 0 0;max-height:240px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#7a6542 transparent}
.hoh-mission-check{padding:0;border-bottom:1px solid rgba(51,39,26,.25);font-size:18px;line-height:1.35;color:#33271a}
.hoh-mission-check-link{display:flex;align-items:flex-start;gap:12px;padding:9px 0;min-height:44px;color:inherit;text-decoration:none}.hoh-mission-check-link:hover .hoh-mission-check-name{text-decoration:underline}.hoh-mission-check.is-done .hoh-mission-check-link:hover .hoh-mission-check-name{text-decoration:line-through}
.hoh-mission-check:last-child{border-bottom:0}
.hoh-mission-check-box{flex:0 0 22px;width:22px;height:22px;margin-top:1px;border:2px solid #33271a;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;line-height:1}
.hoh-mission-check.is-done .hoh-mission-check-name{text-decoration:line-through;text-decoration-thickness:2px;opacity:.6}
.hoh-mission-check.is-done .hoh-mission-check-box{background:#33271a;color:#d3bd91}
.hoh-mission-checklist-empty{font-size:18px;line-height:1.5;color:#33271a}
@media(max-width:760px){.hoh-mission-check,.hoh-mission-checklist-empty{font-size:16px}}
/* MISSION CHECKLIST END */

/* BADGE DETAIL — gate-box look. Mirrors #hoh-gate .hoh-gate-box (includes/halls-of-horror/age-gate.php): dark panel, brass hairline, inset frame, cream title, muted copy. Scoped to #hoh-badge-detail only — the profile-gate and badge-won dialogs share .hoh-badge-detail and keep the parchment card. */
.hoh-dialog.hoh-badge-detail:is(#hoh-badge-detail,#hoh-badge-all){width:min(600px,calc(100% - 28px));padding:40px 28px 30px;border:1px solid #a4804e80;border-radius:0;background:radial-gradient(ellipse at top,#6e291c33,transparent 75%),#0c1012e6;box-shadow:inset 0 0 0 6px #080c0d99,0 30px 80px #000c;color:#efe6d1}
#hoh-badge-detail [data-hoh=badge-detail-art]{width:140px;height:140px;margin:0 auto 24px}
#hoh-badge-detail [data-hoh=badge-detail-art] img{filter:drop-shadow(0 0 18px #9e322c55)}
/* Locked badges show their real art and colour in this dialog (the grid tiles stay greyed). #id beats the generic .hoh-badge-detail.is-locked silhouette rule above. */
#hoh-badge-detail.is-locked [data-hoh=badge-detail-art]{filter:none}
:is(#hoh-badge-detail,#hoh-badge-all) h2{margin:0 0 14px;font:600 clamp(26px,6vw,34px)/1.3 HohGatePoppins,Poppins,Arial,sans-serif;letter-spacing:0;color:#eee5d0;outline:none}
#hoh-badge-detail [data-hoh=badge-detail-description]{margin:0 auto;max-width:480px;font-size:18px;line-height:1.85;color:#bfb29c}
:is(#hoh-badge-detail,#hoh-badge-all) .hoh-close{top:12px;right:12px;border:1px solid #a4804e80;background:#080c0d99;color:#eee0c4;border-radius:0}
@media(max-width:760px){#hoh-badge-detail [data-hoh=badge-detail-description]{font-size:16px}}

/* SEE MORE BUTTON — same art/label treatment as the landing page's DRAW MY CARDS (.metal-button.reveal-button), restated here because that rule only ships inside template-halls-of-horror.php and this drawer renders on every Halls of Horror page. */
.hoh-see-more{position:relative;display:block;width:342px;max-width:90%;aspect-ratio:342/55;min-height:0;margin:14px auto 0;padding:0;background:none;border:0;border-radius:0;outline:0;box-shadow:none;isolation:isolate;transition:filter .2s,transform .2s}
.hoh-see-more-art{position:absolute;inset:0;margin:0;z-index:-1;display:block;background:var(--hoh-reveal-button) center/100% 100% no-repeat}
.hoh-see-more-label{position:absolute;left:9%;right:9%;top:26%;height:48%;margin:0;display:flex;align-items:center;justify-content:center;max-width:none;padding:0 2px;background:none;font:600 17px/1.2 Poppins,Arial,sans-serif;letter-spacing:1.2px;color:#f4e5c5;white-space:nowrap}
.hoh-see-more:hover{filter:brightness(1.18);transform:translateY(-2px)}
.hoh-see-more:focus-visible{outline:2px solid #efdab1;outline-offset:6px}

/* ALL BADGES MODAL — scrolls inside the dialog so the title and close button stay put; normal and demon badges are separate sections. */
#hoh-badge-all .hoh-badge-all-scroll{max-height:calc(100dvh - 230px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0}
/* The global style.css `section` rule (gap:3rem; padding:0 2rem) leaks onto these wrappers — reset it so the subhead sits close to its grid. */
#hoh-badge-all .hoh-badge-all-section{display:block;gap:0;padding:0}
#hoh-badge-all .hoh-badge-all-section[hidden]{display:none}
#hoh-badge-all .hoh-badge-subhead{margin:0 0 10px;font-size:18px;text-align:center}
#hoh-badge-all .hoh-badge-all-section+.hoh-badge-all-section{margin-top:20px}
@media(max-width:760px){#hoh-badge-all .hoh-badge-subhead{font-size:16px}}
#hoh-badge-all .hoh-badge-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;width:100%}
@media(max-width:520px){#hoh-badge-all .hoh-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* BADGE DETAIL END */

/* DOOR — CHECK TICKET PURCHASE BUTTON (inside .rd-intro, only while choosing a door) */
#hoh-door-dialog .rd-check{margin:16px auto 0;display:flex;flex-direction:column;align-items:center;gap:8px}
#hoh-door-dialog .rd-check[hidden]{display:none}
#hoh-door-dialog:not([data-phase=ready]):not([data-phase=unavailable]) .rd-check{display:none}
#hoh-door-dialog .rd-check-button{min-height:38px;padding:9px 20px;border:1px solid #a4804e80;background:#0b0a09cc;color:#efe6d1;font-size:11px;letter-spacing:.14em;cursor:pointer;transition:filter .2s,border-color .2s}
#hoh-door-dialog .rd-check-button:hover:not(:disabled){border-color:#d8bf94;filter:brightness(1.2)}
#hoh-door-dialog .rd-check-button:disabled{opacity:.6;cursor:wait}
/* BOOK YOUR MOVIE NOW (filled) beside ALREADY PURCHASED? CLICK TO REDEEM
 * (outline); they wrap onto two rows on a narrow phone. */
#hoh-door-dialog .rd-check-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
#hoh-door-dialog .rd-book-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 20px;border:1px solid #d8bf94;background:linear-gradient(#911c15,#540c09);color:#fff0d8;font-size:11px;letter-spacing:.14em;text-decoration:none;transition:filter .2s}
#hoh-door-dialog .rd-book-button:hover{filter:brightness(1.2)}
/* "YOU HAVE 0 DOOR OF FATES CHANCES" is longer than the old red-door line —
 * on a phone keep it clear of the close (x) button in the top-right corner. */
@media(max-width:600px){#hoh-door-dialog .rd-eyebrow{padding-inline:48px}}
/* PRIZE POOL — drawer image + popup (tgv_hoh_prize_ui(), view.php). */
.hoh-collection .hoh-drawer-prize{display:block;width:100%;height:auto;margin:26px 0 8px}
.hoh-prize-dialog{padding:56px 16px 16px;width:min(560px,calc(100% - 28px))}
.hoh-prize-dialog img{display:block;width:100%;height:auto}
.hoh-prize-dialog .hoh-close{top:12px;right:12px;border:1px solid #a4804e80;background:#080c0d99;color:#eee0c4;border-radius:0}
#hoh-door-dialog .rd-check-status{margin:0;max-width:320px;min-height:1.5em;font-size:12px;line-height:1.5;color:#d8bf94}

/* PICKUP LOCATION DIALOG — same gate-box look as #hoh-badge-detail */
.hoh-dialog.hoh-location-dialog{width:min(560px,calc(100% - 28px));padding:40px 28px 30px;border:1px solid #a4804e80;border-radius:0;background:radial-gradient(ellipse at top,#6e291c33,transparent 75%),#0c1012e6;box-shadow:inset 0 0 0 6px #080c0d99,0 30px 80px #000c;color:#efe6d1;text-align:center}
#hoh-location-dialog h2{margin:0 0 14px;font:600 clamp(24px,6vw,32px)/1.3 HohGatePoppins,Poppins,Arial,sans-serif;letter-spacing:0;color:#eee5d0}
#hoh-location-dialog [data-hoh=location-prize]{margin:0 auto 18px;max-width:440px;font-size:16px;line-height:1.7;color:#bfb29c}
#hoh-location-dialog .hoh-close{top:12px;right:12px;border:1px solid #a4804e80;background:#080c0d99;color:#eee0c4;border-radius:0}
#hoh-location-dialog .hoh-location-select{display:block;width:100%;max-width:380px;margin:0 auto 14px;padding:12px 14px;border:1px solid #a4804e80;border-radius:0;background:#080c0d;color:#efe6d1;font-size:15px}
#hoh-location-dialog .hoh-location-error{min-height:1.4em;margin:0 0 10px;color:#ffd7c6;font-size:13px}

/* BADGE VALUE — count for number badges, centred over the art. */
.hoh-badge,.hoh-badge-detail [data-hoh=badge-detail-art]{container-type:inline-size}
.hoh-badge-detail [data-hoh=badge-detail-art]{position:relative}
.hoh-badge-value{position:absolute;inset:0;z-index:2;display:grid;place-items:center;pointer-events:none;font:700 20px/1 Poppins,Arial,sans-serif;font-size:clamp(11px,34cqw,44px);color:#b72f0b;text-shadow:0 2px 4px #000,0 0 10px #000b}
