/* Preserve the approved Academy hero composition; the hall replaces its film. */
.guest-hero.guild-hall-hero{height:100svh;min-height:680px;max-height:none;padding:0;background:var(--dark,#0b0e0e)}
.hall-window{position:relative;flex:1;width:100%;height:100%;min-height:0;isolation:isolate}
.hall-window canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:pointer;touch-action:pan-y}
.hall-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0b0e0eaa,transparent 65%),linear-gradient(0deg,#0b0e0ecc,transparent 27%)}
.hall-member{position:absolute;z-index:3;top:24px;right:28px;min-height:44px;padding:12px 18px;font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--lime,#d8ec72);background:#0b0e0eeb;border:1px solid #829633;white-space:nowrap}
.hall-member:hover{background:#263023}
.hall-cta{position:absolute;z-index:3;left:6%;top:46%;transform:translateY(-50%);width:min(37%,540px);display:flex;flex-direction:column;align-items:center;gap:28px}
.hall-cta[hidden]{display:none}
.hall-cta-hidden .hall-shade{opacity:0}
.hall-cta img{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 18px #1c211c40)}
.hall-actions{position:relative;width:100%;display:flex;justify-content:center}
.hall-actions .guest-button{width:100%;max-width:460px;justify-content:center;white-space:normal;text-align:center;padding:18px 22px;min-height:48px;font:600 clamp(13px,1vw,17px)/1.45 var(--body,sans-serif)}
.hall-explore{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;color:var(--text,#e8e9e1);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.hall-explore:hover{color:var(--lime,#d8ec72)}
.hall-tools{position:absolute;z-index:4;left:4%;right:4%;bottom:28px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;pointer-events:none}
.hall-tools>*{pointer-events:auto}
.hall-controls{display:flex;flex-wrap:wrap;gap:10px}
.hall-controls button{min-height:44px;padding:10px 14px;font:400 12px/1.5 var(--body,sans-serif);color:var(--text,#e8e9e1);background:#0b0e0eeb;border:1px solid #53605a;cursor:pointer}
.hall-controls button:hover{border-color:var(--lime,#d8ec72);background:#232c26;color:var(--lime,#d8ec72)}
.hall-list{width:min(650px,100%);max-height:180px;overflow:auto;padding:12px 16px;border:1px solid var(--line,#303936);background:#0b0e0ef5}
.hall-list ul{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;padding:0;margin:0}
.hall-list button{min-height:44px;padding:8px 0;font-size:14px}
.hall-list button[aria-pressed="true"]{color:var(--lime,#d8ec72);text-decoration:underline;text-underline-offset:4px}
.hall-caption{display:flex;align-items:center;gap:16px;width:min(440px,100%);max-width:100%;margin:0;padding:8px 16px;background:#0b0e0eeb;border:1px solid var(--line,#303936);font:400 14px/1.5 var(--body,sans-serif);color:var(--text,#e8e9e1)}
.hall-caption:empty{display:none}
.hall-caption-label{flex:1;min-width:0;overflow-wrap:anywhere}
.hall-clear-selection{flex-shrink:0;min-width:44px;min-height:44px;padding:8px;font:500 11px/1.3 var(--body,sans-serif);color:var(--lime,#d8ec72);border:1px solid #53605a;background:transparent;cursor:pointer}
.hall-clear-selection:hover{background:#232c26;border-color:var(--lime,#d8ec72)}
.hall-clear-selection:focus-visible,.hall-list button:focus-visible{outline:2px solid var(--lime,#d8ec72);outline-offset:3px}
.hall-portrait{flex:0 0 64px;width:64px;height:64px;background-repeat:no-repeat;background-size:300% 300%}
.hall-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1050px){.hall-cta{left:5%;width:43%}}
@media(max-width:760px){
 .guest-hero.guild-hall-hero{height:calc(100svh - 52px);min-height:720px}
 .hall-cta{top:26%;left:8%;width:62%;max-width:310px;gap:18px}
 .hall-member{top:14px;right:16px;font-size:10px;padding:10px 12px;letter-spacing:.1em}
 .hall-actions .guest-button{font-size:12px;padding:13px 15px}
 .hall-shade{background:linear-gradient(180deg,#0b0e0e40,transparent 55%,#0b0e0ea6)}
 .hall-tools{left:5%;right:5%;bottom:20px;gap:8px}
 .hall-controls{gap:7px}
 .hall-controls button{font-size:10px;padding:9px}
}
