/* The optional club owns its overlay; the rest of HOME stays server rendered. */
.club-door{position:absolute;z-index:5;width:max(44px,var(--door-width,36px));height:max(44px,var(--door-height,110px));padding:0;border:0;background:transparent;color:#fff1cd;transform:translate(-50%,-50%);cursor:pointer;isolation:isolate}
.club-door:before{content:'';position:absolute;left:50%;top:50%;width:var(--door-width,36px);height:var(--door-height,110px);transform:translate(-50%,-50%);background:radial-gradient(ellipse 145% 52% at var(--door-x,30%) var(--door-y,30%),hsl(var(--door-rose,15) 60% 73% / .9),transparent 76%),radial-gradient(ellipse 130% 60% at 76% var(--door-y2,75%),hsl(var(--door-violet,278) 42% 72% / .85),transparent 78%),linear-gradient(170deg,#efc99a,hsl(var(--door-rose,15) 52% 76%),#f1cf9f);box-shadow:0 0 5px 1px #edd8b044,0 0 16px 4px hsl(var(--door-rose,15) 55% 75% / .22);opacity:calc(.15 + var(--club-pulse,.4)*.07);pointer-events:none}
.club-door:after{content:'';position:absolute;left:50%;top:calc(50% + var(--door-height,110px)*.49);width:calc(var(--door-width,36px)*3.2);height:calc(var(--door-height,110px)*.62);transform:translateX(-50%);transform-origin:50% 0;clip-path:polygon(34% 0,66% 0,100% 100%,0 100%);background:radial-gradient(ellipse at 50% 0,hsl(var(--door-rose,15) 55% 79% / .55) 0,#eac79744 30%,#dda96810 62%,transparent 78%);filter:blur(2px);opacity:calc(.06 + var(--club-pulse,.4)*.10);mix-blend-mode:screen;pointer-events:none}
.club-door:focus-visible{outline:1px solid #ffe2a1;outline-offset:9px;border-radius:1px}
.club-door:disabled{cursor:progress}
.gathering.index-page .hero-bottom{justify-content:space-between;align-items:center;gap:20px}
.club-sound-outside{font:10px/1.5 Mono,monospace;letter-spacing:.07em;color:#bcb5a9;padding:12px 0;background:none;border:0;cursor:pointer;min-height:44px}
.club-sound-outside:before{content:'♪';color:#e6ca96;margin-right:10px}
.club-sound-outside:focus-visible{outline:1px solid #e6ca96;outline-offset:5px}
.club-outside-status{position:absolute;bottom:15px;left:var(--gutter);right:var(--gutter);text-align:center;font-size:12px;color:#e9cca6;z-index:5}
.club-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0;margin:0;padding:0;overflow:hidden;background:transparent;color:#f6f0e7;overscroll-behavior:contain;color-scheme:dark;font-family:Inter,Arial,sans-serif}
.club-dialog{background:#08090b}
.club-dialog::backdrop{background:#08090b}
@media(min-width:1101px){.club-dialog{zoom:1.1111111111}}
.club-stage{position:absolute;inset:0;background:#090a0c;opacity:0;touch-action:none;cursor:grab;outline:none;overflow:hidden}
.club-stage.is-dragging{cursor:grabbing}
.club-stage:focus-visible:after{content:'';position:absolute;inset:5px;border:1px solid #d9c09588;pointer-events:none}
.club-stage>canvas,.club-still{position:absolute;inset:0;display:block;width:100%;height:100%}
.club-still[hidden]{display:none}
.club-still-image{display:block;width:100%;height:100%;object-fit:cover}
.club-still-eye{position:absolute;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 39% 32%,#fff 0 4%,transparent 5%),radial-gradient(circle at 50% 50%,#020305 0 17%,#4b445a 18% 30%,#101216 31% 33%,transparent 34%),radial-gradient(circle at 38% 29%,#f0e6d0,#a0a2aa 38%,#393f50 70%,#181b23);box-shadow:0 0 13px #ffcf7830}
.club-still-eye:after{content:'';position:absolute;inset:17%;border-radius:50%;background:url('/assets/club/iris.webp') center/109%;filter:grayscale(.9) brightness(1.8)}
.club-flight{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.club-flight>canvas{display:block;width:100%;height:100%}
.club-flight-ui{position:absolute;inset:0;pointer-events:none}
.club-arrival-glow{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(ellipse at center,#fff3d7 0%,#e9c58c 47%,#675846 100%);opacity:0}
.club-chrome{position:absolute;z-index:6;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:max(22px,env(safe-area-inset-top)) max(25px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(25px,env(safe-area-inset-left));background:linear-gradient(#08090b99,transparent 140px,transparent calc(100% - 160px),#08090bba)}
.club-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.club-controls{display:flex;gap:9px}
.club-chrome button{pointer-events:auto;min-height:44px;padding:12px 17px;border:1px solid #d7c9b033;border-radius:3px;background:#0b0c0fb3;backdrop-filter:blur(12px);font:10px/1.4 Mono,monospace;letter-spacing:.05em;color:#eae0d1;cursor:pointer}
.club-chrome button:hover{background:#29251edd;border-color:#e0c59a77}
.club-chrome button:focus-visible{outline:2px solid #e0c59a;outline-offset:4px}
.club-chrome button:disabled{opacity:.55;cursor:default}
.club-room-caption{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.club-room-caption h2{font-size:clamp(25px,3.6vw,48px);font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:8px 0 0;text-shadow:0 2px 16px #0008}
.club-look-hint{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);font:9px/1.5 Mono,monospace;letter-spacing:.06em;color:#d5cbb9;text-align:center;white-space:nowrap;opacity:.78}
.club-status{position:absolute;top:85px;left:50%;transform:translateX(-50%);max-width:80%;font-size:12px;text-align:center;color:#f4d6a1}
.club-loading{position:absolute;z-index:7;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#08090b55}
.club-loading[hidden]{display:none}
.club-loading>div{padding:25px 32px;text-align:center;background:#0a0b0ed9;backdrop-filter:blur(18px);border:1px solid #d7c9b022;border-radius:3px}
.club-loading span{display:block;width:28px;height:1px;background:#d9bd83;margin:0 auto 16px;animation:club-wait 1.6s ease-in-out infinite}
.club-loading p{font:11px/1.5 Mono,monospace;letter-spacing:.07em;margin:0;color:#e3d8c3}
.club-dialog:is([data-state=loading],[data-state=entering],[data-state=exiting]) :is(.club-room-caption,.club-look-hint){opacity:0}
.club-dialog:is([data-state=loading],[data-state=entering],[data-state=exiting]) .club-chrome{background:none}
.club-dialog[data-state=entering] .club-controls{opacity:0;pointer-events:none}
.club-dialog[data-state=entering] .club-controls button{pointer-events:none}
.club-dialog[data-state=exiting] .club-chrome{opacity:0;transition:opacity .15s}
@keyframes club-wait{50%{transform:scaleX(2.2);opacity:.4}}
@media(max-width:1100px){
 .club-room-caption{padding-bottom:25px}
 .club-look-hint{bottom:max(17px,env(safe-area-inset-bottom))}
}
@media(max-width:760px){
 .club-chrome{padding: max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 .club-chrome button{font-size:9px;padding:11px 12px;backdrop-filter:none}
 .club-controls{gap:6px}.club-room-caption h2{font-size:32px}
 .club-room-caption{padding-bottom:25px}.club-look-hint{bottom:max(17px,env(safe-area-inset-bottom));font-size:8px;width:100%}
 .club-sound-outside{font-size:9px}
 .club-status{top:76px;width:80%}
}
@media(prefers-reduced-motion:reduce){.club-loading span{animation:none}}
