:root{font-family:Helvetica,"Helvetica Neue",Arial,sans-serif;color:#10100f;background:#aee6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #111;outline-offset:6px}[hidden]{display:none!important}#nacklr{min-height:100svh;position:relative;overflow:hidden;isolation:isolate}.cloudscape{position:fixed;inset:0;background:url(clouds.png) center 48%/cover no-repeat;z-index:-2}.masthead{position:absolute;z-index:4;top:35px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.masthead h1{font-size:clamp(14px,1.6vw,23px);letter-spacing:-.055em;line-height:1;white-space:nowrap;margin:0;font-weight:700}.jackpot-mark{position:relative;display:block;width:148px;aspect-ratio:4735/2217;overflow:hidden;flex-shrink:0}.jackpot-mark img{position:absolute;width:101.373%;height:270.636%;left:-.866%;top:-86.648%}#vault-scene{position:relative;width:100%;height:calc(100svh - 115px);min-height:430px;transition:opacity .8s;touch-action:pan-y}#vault-scene canvas{display:block;width:100%;height:100%;outline:none}.vault-fallback{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);width:min(78vw,820px);height:auto;object-fit:contain}#vault-scene.is-loaded .vault-fallback{display:none}.access-controls{position:absolute;left:30px;right:30px;bottom:78px;z-index:5;text-align:center}.unlock{border:0;background:none;padding:8px 28px;display:inline-flex;flex-direction:column;align-items:center;gap:6px;transition:transform .2s}.unlock:hover{transform:translateY(-3px)}.unlock span{font-size:15px;letter-spacing:.17em;font-weight:700}.unlock strong{font-size:28px;letter-spacing:-.025em}.unlock.depart{opacity:.45}#login{position:fixed;bottom:70px;right:38px;font-size:11px;font-weight:700;letter-spacing:.09em;text-decoration:underline;text-underline-offset:6px;cursor:pointer}#gate{max-width:340px;margin:auto;text-align:left}#gate label{display:block;font-size:11px;letter-spacing:.14em;font-weight:700;margin-bottom:9px}.password-row{display:flex;border-bottom:1.5px solid #171715;padding-bottom:7px;gap:16px}.password-row input{border:0;background:transparent;min-width:0;width:100%;font-size:18px;border-radius:0}.password-row input::placeholder{color:#393a39}.password-row button{background:transparent;border:0;font-size:12px;font-weight:700;letter-spacing:.08em}#status{position:fixed;bottom:39px;left:20px;right:20px;text-align:center;font-size:12px;z-index:9;margin:0}.listening-room{position:relative;z-index:3;max-width:1050px;margin:145px auto 110px;padding:0 36px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;opacity:1;transition:opacity .8s,transform .8s}.album .visual{position:relative;width:100%;aspect-ratio:1}.visual img,.visual video{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.album{box-shadow:0 18px 36px #2c34422b}.player{padding:24px;background:rgba(248,250,248,.86)}.player-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.05em;padding:0 0 18px;border-bottom:1px solid #17171533}.player-top strong{font-size:15px;margin-left:5px}#track-total{opacity:.6}#replay-vault{font-size:9px;letter-spacing:.05em;background:none;border:0;padding:5px;text-decoration:underline;text-underline-offset:4px}.track-list{display:grid;grid-template-columns:repeat(7,1fr);gap:0;padding:18px 0 24px}.track-step{min-height:50px;border:0;border-bottom:1px solid #1113;background:transparent;font-size:13px;font-weight:400;border-radius:0;transition:background .18s,color .18s}.track-step:hover{background:#1111}.track-step.current{background:#121211;color:#f4f2e9;font-weight:700}.transport{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #171715;padding:8px 0 18px}.transport button{border:0;background:none;font-size:10px;font-weight:700;letter-spacing:.08em;padding:8px}.transport #play{font-size:20px;letter-spacing:-.04em}.timeline{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:10px;font-variant-numeric:tabular-nums}.timeline input{min-width:0;width:100%;height:2px;accent-color:#1c1b16;cursor:pointer}body[data-stage=room] #vault-scene,body[data-stage=payment] #vault-scene{position:absolute;inset:0;height:100svh;opacity:0;pointer-events:none}body.vault-opening[data-stage=room] #vault-scene,body.vault-opening[data-stage=payment] #vault-scene{opacity:1;pointer-events:auto}body.vault-opening .listening-room{opacity:0;transform:scale(.94);pointer-events:none}body.vault-opening .masthead{opacity:.75}body[data-stage=password] #vault-scene{filter:brightness(.96)}.still *{animation:none!important;transition:none!important}@media(min-width:1400px){#vault-scene{height:calc(100svh - 120px)}.access-controls{bottom:85px}.masthead{top:40px;left:48px;right:48px}}@media(max-width:700px){.masthead{left:22px;right:22px;top:23px;align-items:flex-start}.jackpot-mark{width:98px}.masthead h1{font-size:12px;letter-spacing:-.06em;margin-top:9px}#vault-scene{height:calc(100svh - 145px);min-height:340px}.access-controls{bottom:100px}.unlock span{font-size:13px}.unlock strong{font-size:27px}#login{bottom:75px;right:0;left:0;font-size:9px;text-align:center}#status{bottom:70px;font-size:11px}.listening-room{grid-template-columns:1fr;gap:22px;max-width:480px;margin:105px auto 115px;padding:0 30px}.player{padding:18px}.track-list{padding:12px 0 16px}.track-step{min-height:44px}.player-top{padding-bottom:12px}.transport{padding-bottom:10px}.timeline{margin-top:15px}.vault-fallback{width:108vw}.password-row input{font-size:17px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.purchase-controls{padding:25px 0;text-align:center}.release-name{font-size:clamp(18px,2vw,27px);font-weight:700;letter-spacing:-.055em;margin:0 0 14px}.release-count{font-size:10px;letter-spacing:.12em;margin:0 0 35px}.purchase-controls .unlock{padding:14px 45px;border:1px solid #111}.purchase-controls .unlock strong{font-size:35px}.purchase-controls #login{display:block;position:static;margin-top:28px;font-size:10px}body.vault-opening .listening-room{visibility:hidden}body[data-stage=payment] #vault-scene{position:absolute;inset:0;height:100svh;opacity:0;pointer-events:none}body.vault-opening[data-stage=payment] #vault-scene{opacity:1;pointer-events:auto}@media(max-width:700px){.purchase-room{gap:15px}.purchase-controls{padding:10px 0}.release-count{margin-bottom:20px}.purchase-controls #login{margin-top:23px}}

.scene-pending .listening-room{visibility:hidden}

#vault-scene,body[data-stage=payment] #vault-scene,body[data-stage=room] #vault-scene{position:absolute;inset:0;height:100svh;min-height:0}

/* Keep the revealed artwork physically inside the open vault until purchase. */
body.vault-enhanced[data-stage=payment] #vault-scene{opacity:1;pointer-events:none}
body.vault-enhanced .purchase-room{position:absolute;left:30px;right:30px;bottom:78px;max-width:none;display:block;margin:0;padding:0}
body.vault-enhanced .purchase-room .album{display:none}
body.vault-enhanced .purchase-controls{padding:0}
body.vault-enhanced .purchase-controls .release-name,body.vault-enhanced .purchase-controls .release-count{display:none}
body.vault-enhanced .purchase-controls .unlock{border:0;padding:8px 28px}
body.vault-enhanced .purchase-controls .unlock strong{font-size:28px}
body.vault-enhanced .purchase-controls #login{position:fixed;bottom:70px;right:38px;margin:0}
.masthead{transition:opacity .35s}
body.vault-opening .masthead{opacity:0}

@media(max-width:700px){body.vault-enhanced .purchase-room{bottom:100px}body.vault-enhanced .purchase-controls #login{bottom:75px;right:0;left:0}}

@media(min-width:701px){.unlock strong,body.vault-enhanced .purchase-controls .unlock strong{font-size:35px;letter-spacing:.015em}.unlock span{font-size:16px}}

/* Paid artwork stage: the supplied 3D sculpture and original cover share one visual area. */
body.vault-enhanced[data-stage=room] #vault-scene{opacity:1;height:calc(100svh - 210px);pointer-events:none;transition:opacity 1.2s}
body.vault-enhanced[data-stage=room][data-visual=cover]:not(.vault-opening) #vault-scene{opacity:0}
body[data-stage=room] .listening-room:not(.purchase-room){display:block;max-width:none;margin:0;padding:0;min-height:100svh}
body[data-stage=room] .listening-room:not(.purchase-room) .album{position:absolute;left:50%;top:39svh;transform:translate(-50%,-50%);width:min(57svh,56vw);transition:opacity 1.2s;box-shadow:0 18px 36px #2c34422b;pointer-events:none}
body.vault-enhanced[data-stage=room][data-visual="3d"] .listening-room:not(.purchase-room) .album{opacity:0}
body[data-stage=room] .player{position:absolute;left:50%;bottom:65px;transform:translateX(-50%);width:min(700px,calc(100% - 48px));padding:17px 23px;background:rgba(251,251,248,.9)}
body[data-stage=room] .track-list{grid-template-columns:repeat(var(--album-tracks,14),1fr);padding:10px 0 8px}
body[data-stage=room] .track-step{min-height:37px}
body[data-stage=room] .player-top{padding-bottom:10px}
body[data-stage=room] .transport{padding:0 0 8px}
body[data-stage=room] .timeline{margin-top:13px}
.visual-toggle{display:none}
body.vault-enhanced[data-stage=room] .visual-toggle{display:flex;position:absolute;z-index:4;left:50%;top:85px;bottom:285px;transform:translateX(-50%);width:min(75vw,760px);align-items:flex-end;justify-content:center;border:0;background:transparent;padding:0 12px 12px;font-size:9px;font-weight:700;letter-spacing:.1em}
body.vault-enhanced[data-stage=room] .visual-toggle:hover{background:transparent}
body.vault-opening[data-stage=room] #vault-scene{height:100svh;opacity:1}
@media(max-width:700px){
 body.vault-enhanced[data-stage=room] #vault-scene{height:calc(100svh - 280px)}
 body[data-stage=room] .listening-room:not(.purchase-room) .album{top:32svh;width:min(81vw,43svh)}
 body[data-stage=room] .player{bottom:83px;width:calc(100% - 36px);padding:14px 17px}
 body[data-stage=room] .track-list{grid-template-columns:repeat(7,1fr);padding:8px 0}
 body[data-stage=room] .track-step{min-height:36px}
 body.vault-enhanced[data-stage=room] .visual-toggle{top:90px;bottom:322px;width:90vw;padding-bottom:13px}
}

/* Direct 3D manipulation remains separate from the cover and playback controls. */
body.vault-enhanced[data-stage=room] #vault-scene{pointer-events:auto;touch-action:none}
body.vault-enhanced[data-stage=room][data-visual=cover] #vault-scene{pointer-events:none}
body[data-stage=room] .listening-room:not(.purchase-room){pointer-events:none}
body[data-stage=room] .player,body[data-stage=room] .visual-tools{pointer-events:auto}
.visual-tools{display:none}
body.vault-enhanced[data-stage=room] .visual-tools{display:flex;flex-direction:column;align-items:center;gap:8px;position:absolute;left:50%;bottom:280px;transform:translateX(-50%);z-index:5;white-space:nowrap;font-size:8px;letter-spacing:.06em}
body.vault-enhanced[data-stage=room] .visual-tools>div{display:flex;gap:20px}
body.vault-enhanced[data-stage=room] .visual-toggle,body.vault-enhanced[data-stage=room] #reset-view{display:inline-block;position:static;transform:none;width:auto;padding:8px 10px;border:0;background:rgba(255,255,255,.8);font-size:9px;letter-spacing:.07em;font-weight:700;cursor:pointer}
body[data-stage=room] .listening-room:not(.purchase-room) .album{width:min(68svh,83vw)}
@media(max-width:700px){body.vault-enhanced[data-stage=room] .visual-tools{bottom:315px;font-size:7px}body[data-stage=room] .listening-room:not(.purchase-room) .album{width:min(92vw,45svh)}}

/* Playback atmosphere is entirely beneath the stationary player and controls. */
.cloudscape{z-index:-3;inset:-3%;will-change:transform}
#sky-grain{position:fixed;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none;mix-blend-mode:overlay;opacity:.72;display:none}
#floating-jackpot{position:fixed;left:0;top:0;z-index:-1;width:clamp(120px,21vw,300px);opacity:.40;pointer-events:none;will-change:transform;display:none}
body[data-stage=room] #sky-grain,body[data-stage=room] #floating-jackpot{display:block}
body[data-stage=room] .masthead>.jackpot-mark{visibility:hidden}
body.vault-opening #floating-jackpot{opacity:0}
body[data-stage=room] .player{background:rgba(251,251,248,.96)}
@media(prefers-reduced-motion:reduce){.cloudscape,#floating-jackpot{will-change:auto}}

/* Minimal artwork interaction: double-click sculpture, tap cover, one reset control. */
body.vault-enhanced[data-stage=room] .visual-tools{gap:7px;white-space:normal;text-align:center;width:calc(100% - 42px);max-width:560px}
#visual-hint{font-size:8px;letter-spacing:.055em;line-height:1.6}
body.vault-enhanced[data-stage=room] #reset-view{font-size:8px;background:none;padding:5px 10px;letter-spacing:.075em;text-decoration:underline;text-underline-offset:4px}
body.vault-enhanced[data-stage=room][data-visual=cover] #cover-art{pointer-events:auto;cursor:pointer}
#cover-art:focus-visible{outline:2px solid #111;outline-offset:5px}
@media(max-width:700px){#visual-hint{font-size:7px;max-width:310px}}

@media(max-width:700px){body.vault-enhanced[data-stage=room] .visual-tools{bottom:365px}}
