/* A separate destination for the Reaper's optional games. */
body[data-nav-mode="journey"] header nav>[data-screen],body[data-nav-mode="journey"] header nav>a[href="leaderboard.html"]{display:none!important}
body[data-nav-mode="journey"] #backToLobby:not([hidden]){display:flex!important;align-items:center;justify-content:center;text-align:center}
body[data-nav-mode="journey"] header nav{flex-wrap:nowrap;justify-content:flex-end}
#secretHub{position:relative;text-align:center;padding:clamp(12px,3svh,26px) 0 42px;isolation:isolate}
#secretHub:before{content:'';position:absolute;inset:0 -4vw;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,#a52a192d,transparent 42%),linear-gradient(#08070bc9,#130912bb),url('assets/library-rhr.webp') center/cover}
#secretHub h1{font-size:clamp(30px,5vw,58px);margin:4px 0 8px;color:#ffdaa4;text-shadow:0 4px 14px #000}
#secretHub>.fine{margin:0 auto 12px;max-width:580px}
.hub-layout{display:grid;grid-template-columns:minmax(165px,1fr) minmax(180px,260px) minmax(165px,1fr);gap:clamp(8px,2vw,22px);align-items:center;width:min(1100px,100%);margin:0 auto}
.hub-side{display:grid;gap:clamp(12px,3svh,28px)}
#secretHub .host-slot{position:relative;width:100%;min-height:360px;display:flex;align-items:center;justify-content:center;overflow:visible}
#secretHub .host{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:8px;pointer-events:none}
#secretHub .avatar{width:clamp(150px,18vw,205px)!important;pointer-events:auto}
#secretHub .speech{width:100%!important;max-width:260px!important;margin:0!important;padding:8px 10px!important;min-height:0!important;font-size:clamp(13px,1.3vw,16px)!important;line-height:1.25!important}
.hub-door{min-width:0;min-height:145px;padding:12px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;background:linear-gradient(135deg,#30251fcf,#100c16ee);border:2px solid #a87646;box-shadow:inset 0 0 0 4px #a8764624,0 10px 28px #0009;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)}
.hub-door img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 4px 5px #000)}
.hub-door strong{font:800 clamp(13px,1.6vw,19px)/1.1 Georgia,serif;color:#ffda9f}
.hub-door span{font-size:12px;color:#d2ae80}
.hub-door.active-door{border-color:#ff8d4f;box-shadow:inset 0 0 0 4px #e27d3726,0 0 24px #ff3b243d,0 10px 28px #0009}
.hub-door.active-door:hover{filter:brightness(1.17)}
.hub-door.sealed-door{opacity:.68;filter:grayscale(.75);cursor:default}
#hubExit{margin:10px auto 0}
.invite-card.hidden-portal{position:relative;border:4px double #b94e38;background:radial-gradient(circle at 50% 10%,#8a1b2752,transparent 45%),linear-gradient(#28131d,#0c0a12);box-shadow:0 0 0 7px #130b10,0 0 0 9px #7b4433,0 25px 65px #000}
.hidden-portal>img{height:100px;max-width:90%;object-fit:contain;filter:drop-shadow(0 0 13px #a80a2a);margin-top:-20px}
.hidden-portal .actions{margin-bottom:0}
@media(max-width:700px){
 body[data-nav-mode="journey"] header nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;max-width:none}
 #secretHub{width:100%;padding:7px 9px 25px}
 #secretHub h1{font-size:clamp(27px,7vw,38px)}
 #secretHub>.fine{font-size:13px;line-height:1.25;margin-bottom:6px}
 .hub-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .hub-side{display:contents}
 #secretHub .host-slot{grid-column:1/-1;grid-row:1;min-height:clamp(210px,31svh,285px)}
 #secretHub .avatar{width:clamp(95px,17svh,145px)!important}
 #secretHub .speech{max-width:min(84vw,320px)!important;font-size:13px!important}
 .hub-side:first-child .hub-door:first-child{grid-area:2/1}
 .hub-side:first-child .hub-door:last-child{grid-area:2/2}
 .hub-side:last-child .hub-door:first-child{grid-area:3/1}
 .hub-side:last-child .hub-door:last-child{grid-area:3/2}
 .hub-door{min-height:104px;padding:7px 3px;gap:2px}
 .hub-door img{width:33px;height:33px}
 .hub-door strong{font-size:clamp(11px,2.8vw,14px)}
 .hub-door span{font-size:10px}
 #hubExit{min-height:42px;margin:8px auto 0}
}
/* The bone pit is a distinct, endless stress relief room. */
#punchRoom.active{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:100svh;text-align:center;touch-action:none}
body:has(#punchRoom.active) header{display:none}
#punchRoom .host-slot{min-height:0;pointer-events:none}
#punchRoom .host{flex-direction:column}
#punchRoom .avatar{width:clamp(180px,32svh,330px)!important;pointer-events:auto;touch-action:none}
#punchRoom .speech{max-width:600px}
#punchRoom .slash-layer{position:fixed;inset:0;z-index:9;pointer-events:none}
#punchHits{font:800 22px Georgia,serif;color:#ffd29a}
#punchExit{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);right:12px;z-index:75}
body:has(#punchRoom.active),body:has(#punchRoom.active) *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#punchRoom .avatar:after{content:'';position:absolute;inset:0;z-index:4;opacity:var(--missing-teeth,0);background:radial-gradient(ellipse 2% 1% at 37% 51.8%,#24030b 30%,transparent 85%),radial-gradient(ellipse 2% 1% at 48% 53%,#24030b 30%,transparent 85%);pointer-events:none}

#punchRoom .rage-meter{width:min(480px,80vw);height:20px;border:2px solid #997759;border-radius:12px;background:#1a1018;box-shadow:inset 0 2px 8px #000b,0 3px 12px #0009;overflow:hidden}
#punchRoom #rageFill{display:block;width:0;height:100%;background:linear-gradient(90deg,#8f221b,#da371b 60%,#ffae5b);box-shadow:0 0 14px #ee431a;transition:width .14s ease-out}
#punchRoom.rage-full .rage-meter{animation:ragePulse .6s ease-out 2}
@keyframes ragePulse{50%{filter:brightness(1.8);transform:scale(1.05)}}
@media(prefers-reduced-motion:reduce){#punchRoom.rage-full .rage-meter{animation:none}}
