*{box-sizing:border-box}html{max-width:100%;overflow-x:hidden}body{max-width:100%;overflow-x:hidden}img,video{max-width:100%}button,input,select{touch-action:manipulation}.mobile-menu-button{display:none}header nav{min-width:0}header{max-width:100%}.home-page{min-height:100svh;display:flex;flex-direction:column;background:#050209 url('assets/rave-immersive.png') center/cover fixed no-repeat}.home-page header{flex:0 0 auto;background:#050209c9;position:relative;z-index:25;padding:10px 3%;gap:20px}.home-page header nav{gap:clamp(9px,1.2vw,23px);font-size:clamp(10px,.85vw,13px)}.home-page>main{flex:1;min-height:300px;padding:0;background:none;max-width:none;width:100%;overflow:hidden}.home-page .stage{height:100%;min-height:300px;max-height:none;background:none}.home-page .beat-logo{top:7%;left:32%;width:37%;height:80%}.home-bottom{flex:0 0 auto;position:relative;z-index:7;background:linear-gradient(transparent,#0301079e);padding:12px 16px 0}.entrance-row{display:grid;grid-template-columns:1.25fr 1.25fr repeat(4,1fr);gap:12px;max-width:1800px;margin:0 auto 14px;overflow:visible}.entry{--accent:#ff4ce4;display:flex;align-items:center;gap:10px;min-width:0;min-height:75px;padding:11px 12px;border:1px solid var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent),transparent 35%),inset 0 0 14px #d611d121;border-radius:6px;background:#0803119c;backdrop-filter:blur(4px);color:var(--accent);text-shadow:0 1px 4px #000}.entry-recordings{--accent:#2ac9ff}.entry-mail{--accent:#ffad27}.entry-member{--accent:#86ff31}.entry-latest{--accent:#c282ff}.entry-merch{--accent:#f8f22a}.entry-icon{font-size:clamp(22px,2.2vw,38px);flex-shrink:0}.entry>span:nth-child(2){min-width:0;flex:1}.entry strong{color:#fff;font-size:clamp(10px,.92vw,15px);line-height:1.15;display:block;font-weight:900}.entry small{display:block;margin-top:7px;font-size:clamp(7px,.57vw,10px);color:#eee;line-height:1.25}.entry b{font-size:18px}.entry:hover{background:#211132cf;filter:brightness(1.2)}.featured-tracks{max-width:1800px;margin:auto;border:1px solid #99248073;padding:9px 14px 13px;background:#0301067d;backdrop-filter:blur(3px)}.featured-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:7px}.featured-heading h2{margin:0;font-style:italic;font-size:clamp(17px,1.8vw,27px);color:#ff27da;letter-spacing:-.04em;text-shadow:0 0 9px #ef00d455}.featured-heading button{background:#09020e;color:white;border:1px solid #c950bf;border-radius:50%;width:28px;height:28px;font-size:14px;margin-left:5px}#featured-row{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c62fbc #08010b;padding-bottom:4px}.home-track{flex:0 0 calc((100% - 56px)/8);min-width:138px;display:grid;grid-template-columns:minmax(0,1fr) 32px;grid-template-rows:60px auto auto auto;gap:2px 6px;background:#13051ab5;border:1px solid #7d186c;border-radius:4px;padding:7px;scroll-snap-align:start;align-items:start;position:relative}.home-track>img{width:100%;height:60px;object-fit:contain;grid-column:1;grid-row:1;background:#030107}.home-track button{grid-column:2;grid-row:1;background:#faf6ff;color:#251a29;width:24px;height:24px;margin:6px 0 0;border:0;border-radius:50%;font-size:12px;padding:0}.home-track strong,.home-track span,.home-track small{grid-column:1/3;line-height:1.2;font-size:10px;overflow-wrap:anywhere;color:white}.home-track strong{font-weight:800;margin-top:4px}.home-track small{color:#e1cced;font-size:9px}.home-track.selected{border-color:#ff35e1;box-shadow:inset 0 0 14px #e925b547}.tiny-wave{position:absolute;right:6px;top:43px;display:flex;gap:1px;height:25px;align-items:center;width:32px;overflow:hidden}.tiny-wave i{width:1px;background:#eacfea;flex-shrink:0}.playing .home-track.selected .tiny-wave i{animation:tiny-beat .6s ease-in-out infinite alternate;background:#ff19d3}@keyframes tiny-beat{to{transform:scaleY(.35)}}.club-player{position:relative;display:grid;grid-template-columns:1.3fr auto 180px 1.2fr;gap:18px;align-items:center;min-height:72px;padding:10px 18px;background:#050506dc;border:1px solid #403040;border-top:1px solid #a147a0;margin:0 -16px;backdrop-filter:blur(10px);color:white}.player-brand{display:flex;align-items:center;gap:15px;min-width:0}.player-brand img{width:88px;height:40px;object-fit:contain;filter:drop-shadow(0 0 6px #ff0dd8)}.player-brand strong{display:block;font-size:12px;white-space:nowrap}.player-brand small{display:block;font-size:8px;white-space:nowrap;margin-top:4px;color:#e3d9e7}.transport{display:flex;align-items:center;gap:13px}.transport button{color:#fff;background:none;border:1px solid #493646;border-radius:50%;width:35px;height:35px;font-size:16px}.transport #play{border:3px solid #ec16d6;width:47px;height:47px;font-size:20px}.transport #stop{border:1px solid #654e62;padding:0;margin:0;width:30px;height:30px;font-size:12px;color:white;background:none}.volume-control{display:flex;align-items:center;gap:10px;font-size:12px}.volume-control input{width:110px;max-width:100%;accent-color:#ff0dda}.volume-control #volume-value{font-size:10px}.player-current{display:flex;gap:10px;min-width:0;border-left:1px solid #4c3149;padding-left:18px}.player-current>img{width:43px;height:43px;object-fit:contain}.player-current>div{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 8px}.player-current b,.player-current span{grid-column:1/3;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-current b{font-weight:800}.player-current span{font-size:9px}.player-current input{width:100%;accent-color:#f42ddb;height:9px;min-width:0}.player-current small{font-size:8px;white-space:nowrap}.club-player #error{position:relative;grid-column:1/-1;margin:0;font-size:11px;color:#ffd98b}.club-player #error:empty{display:none}.rave-world main{width:min(100%,1340px);min-width:0}.rave-world .join-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.rave-world .track-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.rave-world form{max-width:100%}.rave-world textarea,.rave-world input,.rave-world select{max-width:100%}.rave-world .hero h1{overflow-wrap:anywhere}.rave-world .memory-wall{max-width:100%}
@media(max-width:1200px){.entrance-row{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 3px 9px;scrollbar-width:thin}.entry{flex:0 0 195px;scroll-snap-align:start;min-height:75px}.entry strong{font-size:12px}.entry small{font-size:9px}.entry-icon{font-size:29px}.club-player{grid-template-columns:1fr auto 135px 1fr;gap:10px}.player-brand img{width:60px}.player-brand strong{font-size:10px}.player-brand small{font-size:7px}.volume-control input{width:80px}.home-track{flex-basis:150px}.home-page .beat-logo{left:25%;width:50%}}
@media(max-width:860px){.mobile-menu-button{display:block;color:#fff;border:1px solid #ec6ae1;background:#240c2dbd;border-radius:6px;padding:10px 15px;min-height:42px;cursor:pointer;margin-left:auto}header{justify-content:space-between!important;gap:12px!important}header nav{display:none;flex-basis:100%;width:100%;padding:8px 0;grid-template-columns:repeat(2,minmax(0,1fr));font-size:12px!important}header.menu-open nav{display:grid}header nav a{padding:11px;border:1px solid #794177;border-radius:4px}header>a:last-child:not(.nav-logo){margin:0;font-size:10px}.home-page>main{min-height:280px}.home-page .stage{min-height:280px}.home-page .beat-logo{left:18%;width:64%;top:5%;height:83%}.club-player{grid-template-columns:auto 1fr 120px;gap:12px}.player-brand{display:none}.transport{gap:10px}.player-current{grid-column:2;grid-row:1;padding-left:0;border:0}.volume-control{grid-column:3;grid-row:1}.home-bottom{padding:8px 10px 0}.club-player{margin:0 -10px}.featured-tracks{padding:9px 9px 10px}.home-page header nav{font-size:12px!important}}
@media(max-width:520px){.home-page{background-position:center;background-attachment:scroll}.home-page>main,.home-page .stage{min-height:260px}.home-page .beat-logo{left:12%;width:76%;top:5%;height:80%}.entrance-row{margin-bottom:8px;gap:9px}.entry{flex-basis:215px;min-height:70px;padding:10px 12px}.home-track{flex-basis:160px;min-height:136px}.home-track>img{height:65px}.home-track strong,.home-track span{font-size:11px}.featured-heading h2{font-size:21px}.club-player{grid-template-columns:1fr 100px;gap:6px 10px;padding:10px 13px;min-height:115px}.transport{grid-row:1;grid-column:1;justify-content:start;gap:13px}.transport button{width:38px;height:38px}.transport #play{width:48px;height:48px}.volume-control{grid-row:1;grid-column:2;gap:5px}.volume-control input{width:60px}.player-current{grid-row:2;grid-column:1/-1;padding:3px 0 0}.player-current>img{width:34px;height:34px}.player-current>div{grid-template-columns:1fr 70px}.player-current b{grid-column:1;grid-row:1;font-size:11px}.player-current span{grid-column:1;grid-row:2;font-size:10px}.player-current input{grid-column:1;grid-row:3}.player-current small{grid-column:2;grid-row:3;text-align:right;font-size:9px}.rave-world .hero{min-height:240px;padding:35px 15px}.rave-world h1{font-size:clamp(30px,9vw,48px)}.rave-world main{padding:25px 12px 120px}.rave-world section:not(.hero){padding:18px}.memory-wall{padding-left:7px;padding-right:7px}}
@media(prefers-reduced-motion:reduce){.tiny-wave i{animation:none!important}#featured-row,.entrance-row{scroll-behavior:auto}}

/* Compact shared top bar: prevent desktop navigation wrapping into extra rows. */
body header,body.home-page header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:18px;padding:10px 20px;min-height:64px;height:auto;background:#07050ded;position:relative;z-index:25}
body header .nav-logo{flex:0 0 100px;width:100px;height:42px}
body header nav,body.home-page header nav{display:flex;flex:1;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:clamp(9px,1vw,16px);font-size:11px;line-height:1.2}
body header nav a{white-space:nowrap;padding:10px 0;font-weight:800}
body header>a:last-child:not(.nav-logo){font-size:11px;white-space:nowrap}
@media(max-width:1250px){body header,body.home-page header{flex-wrap:wrap;gap:12px;padding:10px 16px}body header .mobile-menu-button{display:block;margin-left:auto}body header nav,body.home-page header nav{display:none;flex:0 0 100%;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 0}body header.menu-open nav{display:grid}body header nav a{white-space:normal;padding:12px;border:1px solid #794177;border-radius:4px;font-size:12px}}
@media(max-width:520px){body header nav,body.home-page header nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Ceiling, stage and side fixtures; locally coloured bursts avoid a full-screen strobe. */
.rave-top-controls{display:flex;gap:8px;flex-shrink:0}.rave-top-controls button{padding:9px 11px;font-size:11px;font-weight:800;background:#16091ddd!important;color:white;border:1px solid #ee72e5;border-radius:5px;white-space:nowrap;min-height:38px}
.world-lights,.random-fixtures,.rave-bursts,.rave-lights,.beams{display:none!important}
.club-light-rig,.club-colour-flashes,.mouse-searchlight{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:3;mix-blend-mode:screen}
.club-light-rig i{position:absolute;left:var(--x);top:var(--y);width:17vw;height:110vh;transform-origin:50% 0;clip-path:polygon(49% 0,51% 0,100% 100%,0 100%);background:linear-gradient(var(--c),transparent 85%);opacity:.25;animation:club-scan var(--s) ease-in-out var(--d) infinite alternate}
@keyframes club-scan{from{transform:translateX(-50%) rotate(var(--from))}to{transform:translateX(-50%) rotate(var(--to))}}
.club-colour-flashes b{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle,#fff 0 3%,var(--c) 8%,transparent 68%);opacity:0;animation:club-pop var(--s) linear var(--d) infinite;filter:drop-shadow(0 0 12px var(--c))}
@keyframes club-pop{0%,20%,100%{opacity:0;transform:scale(.3)}6%{opacity:.85;transform:scale(1)}12%{opacity:0;transform:scale(1.4)}}
.lights-synchronised .club-light-rig i{animation-duration:3.5s;animation-delay:0s}.lights-synchronised .club-colour-flashes b{animation-duration:8s;animation-delay:0s}
body:not(.home-page) .club-light-rig{opacity:.4}body:not(.home-page) .club-colour-flashes{opacity:.45}
.mouse-searchlight{opacity:0;background:radial-gradient(circle 135px at var(--mx,50vw) var(--my,40vh),#fff9,#bcecff55 30%,transparent 75%);transition:opacity .2s}.mouse-searchlight.visible{opacity:1}.mouse-searchlight:before{content:'';position:absolute;left:50%;top:0;width:200px;height:140vh;transform-origin:50% 0;transform:translateX(-50%) rotate(var(--aim,0deg));clip-path:polygon(49% 0,51% 0,100% 100%,0 100%);background:linear-gradient(#eeffffaa,#8de6ff33,transparent)}
.lights-stopped .club-light-rig,.lights-stopped .club-colour-flashes,.lights-stopped .mouse-searchlight{display:none}.lights-stopped *, .lights-stopped *:before,.lights-stopped *:after{animation-play-state:paused!important}
@media(max-width:1450px){body header,body.home-page header{flex-wrap:wrap}body header nav{order:4}body header .mobile-menu-button{display:block;margin-left:auto}body header nav,body.home-page header nav{display:none;flex:0 0 100%;grid-template-columns:repeat(3,minmax(0,1fr))}body header.menu-open nav{display:grid}}
@media(max-width:520px){.rave-top-controls{width:100%;justify-content:flex-end}.rave-top-controls button{flex:1}.club-light-rig i{width:32vw}.mouse-searchlight{display:none}body header nav,body.home-page header nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.club-light-rig,.club-colour-flashes,.mouse-searchlight{display:none!important}}

.club-lasers{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden;mix-blend-mode:screen}.club-lasers i{position:absolute;left:var(--lx);top:var(--ly);width:90vw;height:120vh;transform-origin:50% 0;clip-path:polygon(50% 0,100% 100%,0 100%);background:repeating-conic-gradient(from 151deg at 50% 0,transparent 0deg 7deg,var(--lc) 7deg 7.16deg,transparent 7.16deg 14deg);filter:drop-shadow(0 0 3px var(--lc));animation:laser-fan 4.7s ease-in-out var(--ld) infinite alternate;opacity:.48}@keyframes laser-fan{from{transform:translateX(-50%) rotate(calc(var(--la) - 17deg)) scaleX(.55)}to{transform:translateX(-50%) rotate(calc(var(--la) + 17deg)) scaleX(1)}}.lights-synchronised .club-lasers i{animation-duration:3.5s;animation-delay:0s}body:not(.home-page) .club-lasers{opacity:.35}.lights-stopped .club-lasers{display:none}@media(prefers-reduced-motion:reduce){.club-lasers{display:none!important}}

/* Rebalance: sparse laser fans, stronger ceiling and side searchlights. */
.club-light-rig i{opacity:.42;background:linear-gradient(color-mix(in srgb,var(--c),white 22%),var(--c) 25%,transparent 90%);filter:drop-shadow(0 0 9px var(--c))}.club-lasers i{opacity:.28;background:repeating-conic-gradient(from 151deg at 50% 0,transparent 0deg 13deg,var(--lc) 13deg 13.12deg,transparent 13.12deg 26deg)}body:not(.home-page) .club-light-rig{opacity:.5}

.club-light-rig i{width:var(--bw,17vw)}

.recordings-page .recordings-brand{display:inline-block;background:#ffde00;border-radius:12px;padding:10px;max-width:85vw;transform-origin:50% 80%;animation:record-label-groove 3.8s ease-in-out infinite}.recordings-page .hero .recordings-brand img{display:block;width:min(500px,70vw);height:auto;max-height:none;mix-blend-mode:multiply;filter:none}.recordings-page .recordings-title{color:#ffde00;animation:record-title-groove 3.8s ease-in-out -.35s infinite;transform-origin:center}@keyframes record-label-groove{0%,100%{transform:translateY(0) rotate(-2deg) scale(1)}25%{transform:translateY(-7px) rotate(2deg) scale(1.02)}50%{transform:translateY(0) rotate(-1deg)}75%{transform:translateY(-5px) rotate(2deg)}}@keyframes record-title-groove{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-4px) rotate(-1deg)}70%{transform:translateY(0) rotate(1deg)}}@media(prefers-reduced-motion:reduce){.recordings-brand,.recordings-title{animation:none!important}}

/* Preserve the original black/yellow artwork; clear its white backdrop in rendering. */
.recordings-page .recordings-brand{background:transparent;border-radius:0;padding:0}.recordings-page .hero .recordings-brand img{mix-blend-mode:normal;filter:url(#recordings-clear-background) drop-shadow(0 2px 5px #0008)}

.recordings-page .hero .recordings-brand img{filter:drop-shadow(0 2px 5px #0008);mix-blend-mode:normal;background:transparent}

.nav-logo img{mix-blend-mode:normal!important;background:transparent;animation:official-gentle-groove 5s ease-in-out infinite;transform-origin:50% 70%}.hero img[src$="hwc-official-transparent.png"]{mix-blend-mode:normal!important;background:transparent;animation:official-gentle-groove 4s ease-in-out infinite;transform-origin:50% 70%;filter:drop-shadow(0 0 12px #ff38d777)}@keyframes official-gentle-groove{0%,100%{transform:translateY(0) rotate(-1.5deg)}35%{transform:translateY(-5px) rotate(2deg)}70%{transform:translateY(0) rotate(-1deg)}}@media(prefers-reduced-motion:reduce){.nav-logo img,.hero img[src$="hwc-official-transparent.png"]{animation:none!important}}
