@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Space+Grotesk:wght@400;500;600&display=swap');
:root{color-scheme:dark;--ink:#ece7db;--cyan:#91c7c5;--peek:0px}*{box-sizing:border-box}body{margin:0;background:#08090b;color:var(--ink);font-family:'Space Grotesk',Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:8px}.experience{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;display:grid;place-items:center}.world{position:absolute;inset:0;z-index:-5;background:linear-gradient(0deg,#08090bd9,transparent 45%,#08090b70),url('/media/psynight-poster.jpg') center 56%/cover;transform:scale(1.08);transition:transform 2.8s ease,filter 2s;filter:brightness(.65)}.portal-light{position:absolute;inset:5% 30%;z-index:-4;background:radial-gradient(ellipse,#f468bb44,transparent 65%);filter:blur(35px);animation:breathe 5s ease-in-out infinite}.curtain{position:absolute;top:0;bottom:0;width:50.5%;z-index:-2;transition:transform 1.8s cubic-bezier(.22,.7,.2,1);background-color:#101011;background-image:repeating-linear-gradient(90deg,#0008 0%,#ffffff04 3%,#000a 6%,#ffffff0b 9%,#0008 12%),linear-gradient(#08090b77,#08090b44),url('/media/psynight-poster.jpg');background-size:100% 100%,100% 100%,auto 135%;box-shadow:inset -24px 0 50px #000b,16px 0 50px #0009;filter:grayscale(1) brightness(.38)}.curtain-left{left:0;background-position:center,center,22% 48%;transform:translateX(calc(-1 * var(--peek)))}.curtain-right{right:0;background-position:center,center,83% 48%;transform:translateX(var(--peek));box-shadow:inset 24px 0 50px #000b,-16px 0 50px #0009}.grain{pointer-events:none;position:absolute;inset:0;z-index:6;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar,.bottom-bar{position:absolute;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.topbar{top:35px}.brand img{width:110px;max-height:65px;object-fit:contain}.edition,.bottom-bar,.side-note,.eyebrow,.tagline,.hint{font-size:10px;letter-spacing:.24em}.edition{color:var(--cyan)}.bottom-bar{bottom:28px;line-height:1.7;color:#ccc6bb}.side-note{position:absolute;top:50%;writing-mode:vertical-rl;color:#a39f96;font-size:9px}.side-left{left:28px;transform:rotate(180deg) translateY(50%)}.side-right{right:28px;transform:translateY(-50%)}.intro{text-align:center;padding:130px 24px 120px;transition:opacity .5s,transform .8s}.eyebrow{color:var(--cyan);margin:0 0 22px}h1{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(76px,16vw,220px);font-weight:900;letter-spacing:-.045em;line-height:.85;margin:0;text-shadow:0 4px 50px #000b}h1 span{color:var(--cyan)}.tagline{font-size:clamp(10px,1.6vw,19px);letter-spacing:.5em;margin:24px 0 44px}.soon{font-size:15px;color:#ccc5ba}.enter{display:flex;align-items:center;justify-content:space-between;gap:36px;margin:30px auto 0;border:1px solid #a5c8c45c;background:#090d0ea6;color:var(--ink);padding:19px 25px;cursor:pointer;font-size:11px;letter-spacing:.17em;transition:border-color .3s,background .3s}.enter:hover{border-color:var(--cyan);background:#172928b0}.hint{font-size:9px;letter-spacing:.1em;color:#8d8c85;margin-top:18px}.reveal{text-align:center;padding:130px 30px 110px;max-width:1000px}.reveal h2{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;font-size:clamp(60px,10vw,145px);letter-spacing:-.02em;line-height:.9;margin:25px 0;text-shadow:0 3px 40px #000}.reveal>p{font-size:12px;letter-spacing:.1em}.announcement{color:#c0c5c2}.back{margin-top:30px;border:0;border-bottom:1px solid #ffffff50;background:none;color:#d7dbd6;padding:10px 0;font-size:11px;cursor:pointer}.opened .curtain-left{transform:translateX(-92%)}.opened .curtain-right{transform:translateX(92%)}.opened .world{transform:scale(1);filter:brightness(.85)}.opened .intro{opacity:0;transform:translateY(-20px);pointer-events:none}.artist-roll{display:flex;gap:16px;max-width:80vw;overflow:auto;scroll-snap-type:x mandatory;margin-top:30px}.artist-roll img{height:220px;aspect-ratio:4/5;object-fit:cover;scroll-snap-align:center;border:1px solid #ffffff33}.sound{position:absolute;right:5%;bottom:70px;border:1px solid #ffffff44;background:#0b1010c9;color:var(--ink);padding:10px 16px;font-size:11px;cursor:pointer}.status{position:absolute;bottom:95px;left:20%;right:20%;text-align:center;font-size:12px}.opened .reveal{animation:arrive 1.1s .2s both}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes breathe{50%{opacity:.5;transform:scale(1.06)}}@media(max-width:600px){.topbar{top:24px}.brand img{width:85px}.side-note{display:none}.bottom-bar{font-size:8px;letter-spacing:.12em}.tagline{letter-spacing:.35em}.intro{padding-left:16px;padding-right:16px}.world{background-size:auto 100%;background-position:center}.curtain{background-size:100% 100%,100% 100%,auto 110%}.reveal{padding-left:20px;padding-right:20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.world{transform:none}.experience{--peek:0px!important}}
.soundboard{position:fixed;z-index:8;right:24px;bottom:65px;width:310px;background:#0a0f13eF;border:1px solid #74969e55;box-shadow:0 15px 55px #0009;backdrop-filter:blur(14px)}.board-handle{display:flex;justify-content:space-between;width:100%;padding:14px 16px;border:0;background:#172028;color:var(--cyan);font-size:10px;letter-spacing:.12em;cursor:pointer}.board-controls{padding:16px}.track-label{font-size:9px;color:#aab8b7;letter-spacing:.12em;margin:0 0 14px}.board-buttons{display:flex;gap:7px}.board-buttons button{border:1px solid #78939455;background:#101b21;color:var(--ink);padding:12px 8px;flex:1;font-size:9px;cursor:pointer}.board-buttons button:disabled{opacity:.3;cursor:default}.board-buttons button[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}.volume{display:flex;align-items:center;gap:14px;margin-top:15px;color:#b6b8b5;font-size:8px;letter-spacing:.1em}.volume input{min-width:0;flex:1;accent-color:var(--cyan)}.board-note{font-size:9px;color:#8b9698;margin:12px 0 0}.opened .bottom-bar{bottom:20px}.opened .reveal{padding-bottom:250px}@media(max-width:600px){.soundboard{right:16px;left:16px;bottom:65px;width:auto;max-width:370px;margin:auto}.opened .reveal h2{font-size:60px}}
#led-juggler{position:absolute;inset:0;width:100%;height:100%;z-index:-3;pointer-events:none}.light-controls{margin-top:15px}.board-buttons #led-toggle[aria-pressed=true]{color:var(--cyan);border-color:var(--cyan)}[hidden]{display:none!important}

/* Keep the portal effects behind the opaque curtain and all readable content. */
.world{z-index:0}
.portal-light{z-index:1}
#led-juggler{z-index:2;clip-path:inset(0 22%);mask-image:linear-gradient(90deg,transparent 22%,#000 35%,#000 65%,transparent 78%)}
.curtain{z-index:3}
.intro,.reveal,.topbar,.bottom-bar,.side-note,.status{position:relative;z-index:4}
.topbar,.bottom-bar,.side-note,.status{position:absolute}
.grain{z-index:5}

@media(max-width:600px){
    .experience{display:flex;flex-direction:column;justify-content:flex-start;min-height:100svh;padding:110px 16px 24px;gap:24px}
    .world{background-size:auto 100%;background-position:center; background-image:linear-gradient(180deg,#08090bf2 0%,#08090bc9 28%,#08090b55 55%,#08090be8 100%),url('/media/psynight-poster.jpg')}
    .topbar{left:20px;right:20px;gap:16px}
    .edition{font-size:9px;letter-spacing:.16em}
    .intro,.reveal,.opened .reveal{width:100%;max-width:100%;padding:28px 0 16px;margin:auto 0}
    h1{font-size:clamp(48px,13vw,78px);letter-spacing:.015em;line-height:1.05;overflow-wrap:normal}
    .tagline{font-size:10px;letter-spacing:.18em;margin:20px 0 28px}
    .eyebrow{font-size:9px;letter-spacing:.14em;line-height:1.6;margin-bottom:18px}
    .opened .reveal h2{font-size:clamp(44px,12vw,68px);line-height:.98;margin:18px 0 24px}
    .reveal>p{font-size:11px;line-height:1.7;letter-spacing:.06em}
    .enter{max-width:100%;gap:20px;padding:18px;font-size:10px}
    .back{min-height:44px;margin-top:18px}
    .soundboard{position:relative;inset:auto;width:100%;max-width:370px;margin:0 auto;flex-shrink:0}
    .board-handle{min-height:48px}
    .board-buttons button{min-height:44px}
    .volume input{min-height:32px}
    .bottom-bar,.opened .bottom-bar{order:2;position:relative;inset:auto;width:100%;flex-wrap:wrap;justify-content:center;text-align:center;gap:4px 16px;font-size:8px;letter-spacing:.08em}
    .status{position:relative;inset:auto;margin:0;font-size:11px}
    .status:empty{display:none}
    .artist-roll{max-width:100%;margin-top:24px}
}

.newsletter{max-width:460px;margin:32px auto 0;text-align:left;padding:20px;background:#0a0f13eb;border:1px solid #74969e55}.newsletter h3{margin:0 0 12px;font-size:14px;letter-spacing:.12em;color:var(--cyan)}.newsletter p,.newsletter label{font-size:12px;line-height:1.6;letter-spacing:normal}.newsletter-fields{display:flex;gap:8px;margin:8px 0 16px}.newsletter-fields input{min-width:0;flex:1;padding:12px;border:1px solid #78939488;background:#101b21;color:var(--ink);font:inherit;font-size:14px;border-radius:0}.newsletter button{min-height:44px;padding:12px;border:1px solid var(--cyan);background:#172928;color:var(--ink);font-size:11px;cursor:pointer}.newsletter-consent{display:flex;align-items:flex-start;gap:10px}.newsletter-consent input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--cyan)}.newsletter a{color:var(--cyan);overflow-wrap:anywhere}.newsletter-feedback{color:var(--cyan)}.newsletter-error{color:#ffc2b9}.newsletter-error p{margin:4px 0}@media(max-width:600px){.newsletter{padding:16px;margin-top:28px}.newsletter-fields{flex-direction:column}.newsletter-fields input{min-height:44px}.newsletter button{width:100%}}

.sound-toggle{position:absolute;z-index:8;right:5%;top:86px;display:grid;place-items:center;width:46px;height:46px;padding:10px;border:1px solid #91c7c580;border-radius:50%;color:var(--cyan);background:#0a0f13eF;cursor:pointer;animation:speaker-nudge 1.6s .8s 1}.sound-toggle svg{width:24px;height:24px}.sound-waves{display:none}.sound-toggle[aria-pressed=true] .sound-waves{display:block}.sound-toggle[aria-pressed=true] .sound-muted{display:none}.board-attention{animation:console-nudge 1.4s ease-out 1}@keyframes speaker-nudge{25%,65%{transform:scale(1.15);box-shadow:0 0 18px #91c7c580}45%,100%{transform:scale(1);box-shadow:none}}@keyframes console-nudge{25%,65%{border-color:#b6ffff;box-shadow:0 0 24px #91c7c580}100%{border-color:#74969e55}}@media(max-width:600px){.sound-toggle{top:72px;right:20px}}

/* Start with a dark curtain and offer one subtle glimpse before interaction. */
.curtain{background-image:repeating-linear-gradient(90deg,#0008 0%,#ffffff04 3%,#000a 6%,#ffffff0b 9%,#0008 12%),linear-gradient(#08090b,#101011);transition-duration:3.5s}.experience:not(.opened) .curtain-left{animation:curtain-peek-left 3.5s .7s 1}.experience:not(.opened) .curtain-right{animation:curtain-peek-right 3.5s .7s 1}@keyframes curtain-peek-left{0%,100%{transform:translateX(0)}45%,65%{transform:translateX(-12px)}}@keyframes curtain-peek-right{0%,100%{transform:translateX(0)}45%,65%{transform:translateX(12px)}}

.newsletter{position:relative}.newsletter h3{padding-right:32px}.newsletter .newsletter-close{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--cyan);font-size:26px;line-height:1}.newsletter .newsletter-close:hover{color:var(--ink)}@media(max-width:600px){.newsletter .newsletter-close{width:44px}}

.bottom-bar a{color:var(--cyan);text-underline-offset:4px}.legal-shell{width:min(860px,calc(100% - 40px));margin:auto}.legal-header,.legal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0}.legal-page a{color:var(--cyan);text-underline-offset:4px;overflow-wrap:anywhere}.legal-page main{padding:28px 0 48px}.legal-page h1{font-size:clamp(48px,10vw,88px);line-height:1.05;letter-spacing:0;margin:16px 0 32px}.legal-page section{padding:24px 0;border-top:1px solid #74969e55}.legal-page h2{font-size:20px;line-height:1.35;margin:0 0 18px}.legal-page p{font-size:15px;line-height:1.75;margin:0 0 18px;overflow-wrap:anywhere}.legal-footer{border-top:1px solid #74969e55;font-size:12px}@media(max-width:600px){.legal-header{align-items:flex-start;flex-direction:column}.legal-header>a:last-child{font-size:13px}.legal-footer{flex-wrap:wrap}}
