/* Independent single atmosphere. Remove this stylesheet/script to restore v31. */
.single-art .single-vinyl{transition:left 1s cubic-bezier(.2,.8,.2,1),filter 1s}
@media(hover:hover){.single-release:hover .single-vinyl,.single-release:focus-within .single-vinyl{left:38%;filter:drop-shadow(0 0 20px #d8a14f40)}.single-release:hover .single-cover{transform:rotate(-7deg) translateX(-3%)}}
.single-art::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#fff1be26 49%,transparent 58%);opacity:0;transform:translateX(-65%);transition:transform 1.3s,opacity .6s}
.single-art:hover::after{opacity:1;transform:translateX(55%)}
#listening .warm-landscape,#listening .warm-opening-sleeve,#listening .warm-tools{display:none}
#listening.warm-wind{--wind-x:0px;--wind-y:0px;--warm-light:.18;background:#102026}
#listening.warm-wind>.listening-scene{display:none}
#listening.warm-wind .warm-landscape{display:block;position:absolute;inset:0;padding:0;z-index:-3;pointer-events:none;overflow:hidden}
.warm-landscape img{position:absolute;max-width:none;max-height:none;margin:0;display:block;object-fit:cover}
.warm-fjord{inset:-3%;width:106%;height:106%;transform:translate(calc(var(--wind-x)*.2),calc(var(--wind-y)*.2));filter:brightness(.74) saturate(.86);will-change:transform}
.warm-shore{inset:auto -4% -4%;width:108%;height:108%;object-position:center bottom;transform:translate(calc(var(--wind-x)*.55),calc(var(--wind-y)*.45));filter:brightness(.65);will-change:transform}
.warm-branches{inset:-3% -4%;width:108%;height:106%;transform:translate(var(--wind-x),var(--wind-y));filter:brightness(.7) blur(.6px);will-change:transform}
.warm-waterlight{position:absolute;left:0;right:0;top:62%;bottom:5%;background:radial-gradient(ellipse at 26% 5%,#e6b35f85,transparent 60%);opacity:var(--warm-light);mix-blend-mode:screen;transform:scaleY(.8);pointer-events:none}
#warm-wind-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#listening.warm-wind>.listening-shade{background:linear-gradient(0deg,#051017e6,transparent 38%,#07101942 75%,#050d13b3),radial-gradient(ellipse at 50% 45%,#07131866,transparent 65%);z-index:-1}
#listening.warm-wind>.listening-top{position:relative;z-index:5;align-items:center}
#listening.warm-wind>.listening-top>.eyebrow{color:#ffe3b7;text-shadow:0 2px 10px #000}
#listening.warm-wind #close-listening{background:#0a181ba6;backdrop-filter:blur(8px);border-color:#f5d49855}
#listening.warm-wind>.listening-center{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:min(780px,94vw);height:auto;max-height:none;padding:0;pointer-events:none}
#listening.warm-wind .listening-record{position:relative;width:clamp(190px,32svh,355px);aspect-ratio:1;filter:none;isolation:isolate}
#listening.warm-wind .listening-record:before{content:'';position:absolute;inset:-30%;z-index:-1;background:radial-gradient(ellipse,#ffcf7866,transparent 67%);opacity:calc(.3 + var(--warm-light));transform:scale(1.1)}
#listening.warm-wind .listening-record>.vinyl{animation:none!important;filter:drop-shadow(0 16px 25px #0009);will-change:transform}
#listening.warm-wind .warm-opening-sleeve{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:2;object-fit:cover;box-shadow:10px 10px 35px #0008;opacity:0;pointer-events:none}
#listening.warm-wind .listening-center h2{font-size:clamp(32px,4.4vw,64px);line-height:1.05;text-wrap:balance;max-width:720px;color:#fff5df;text-shadow:0 3px 20px #071318;margin-top:6px}
#listening.warm-wind .listening-center>.eyebrow{color:#ecd3ac;letter-spacing:.25em;font-size:10px;margin-top:24px}
#listening.warm-wind #spectrum{display:none}
#listening.warm-wind>.listening-bottom{z-index:4;padding:14px 24px;border:1px solid #f3c77826;border-radius:18px;background:#07141ac9;backdrop-filter:blur(16px);bottom:max(18px,env(safe-area-inset-bottom));width:min(570px,90vw);transition:opacity .65s,transform .65s;gap:5px}
#listening.warm-wind .listening-controls{gap:22px;width:100%}
#listening.warm-wind #listening-prev,#listening.warm-wind #listening-next,#listening.warm-wind #listening-scene-toggle{display:none}
#listening.warm-wind .listening-meta{justify-content:center;color:#e5d9c3}
#listening.warm-wind .warm-tools{display:flex;flex-direction:row;gap:8px;position:absolute;left:4vw;bottom:28px;padding:0;z-index:5}
.warm-tools button{font-size:12px;background:#07141abb;padding:10px 14px;border-color:#f3c77840;color:#ebd8b8}
#listening.warm-wind.controls-resting>.listening-bottom{opacity:0;transform:translate(-50%,15px);pointer-events:none}
#listening.warm-wind.controls-resting>.listening-bottom:focus-within{opacity:1;transform:translate(-50%,0);pointer-events:auto}
#listening.warm-wind .warm-tools button[aria-pressed=true]{border-color:#e5bc74}
@media(max-width:850px){#listening.warm-wind .warm-tools{left:50%;transform:translateX(-50%);bottom:230px;white-space:nowrap}#listening.warm-wind>.listening-center{top:40%}#listening.warm-wind .listening-record{width:min(29svh,280px)}#listening.warm-wind .warm-branches{object-fit:cover;width:140%;height:65%;left:-20%;top:-5%;object-position:center top}.warm-shore{object-position:62% bottom}}
@media(max-width:550px){#listening.warm-wind>.listening-top{padding:14px 5vw;gap:12px}#listening.warm-wind>.listening-top>.eyebrow{font-size:9px;max-width:150px}#listening.warm-wind #close-listening{font-size:12px;padding:10px}#listening.warm-wind>.listening-center{top:37%;width:88vw}#listening.warm-wind .listening-record{width:min(26svh,235px)}#listening.warm-wind .listening-center h2{font-size:clamp(28px,8vw,38px)}#listening.warm-wind .listening-center>.eyebrow{margin-top:16px}#listening.warm-wind>.listening-bottom{padding:10px 18px;gap:4px}#listening.warm-wind .listening-controls #listening-play{width:44px;height:44px}#listening.warm-wind .warm-tools{bottom:208px}.warm-tools button{padding:8px 12px;font-size:11px}}
@media(max-height:650px) and (min-width:600px){#listening.warm-wind>.listening-center{left:30%;top:52%;width:48vw}#listening.warm-wind .listening-record{width:37svh;min-width:140px}#listening.warm-wind .listening-center h2{font-size:32px}#listening.warm-wind>.listening-bottom{left:76%;width:40vw;bottom:18%}#listening.warm-wind .warm-tools{left:76%;bottom:5%;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.single-art::after{display:none}.single-art .single-vinyl{transition:none}.warm-landscape img{will-change:auto;transform:none!important}#warm-wind-canvas{display:none}#listening.warm-wind>.listening-bottom{transition:none}}
@media(max-width:550px) and (max-height:700px){#listening.warm-wind>.listening-center{top:33%}#listening.warm-wind .listening-record{width:22svh}#listening.warm-wind .listening-center h2{font-size:27px}#listening.warm-wind .listening-center>.eyebrow{margin-top:10px;font-size:9px}}
/* v33: open controls, living water and a score that follows the recording. */
#listening .warm-score{display:none}
#listening.warm-wind .warm-fjord,#listening.warm-wind .warm-waterlight{display:none}
.warm-living-fjord{position:absolute;inset:-1%;width:102%;height:102%;transform:translate(calc(var(--wind-x)*.2),calc(var(--wind-y)*.2))}
#listening.warm-wind>.listening-bottom{background:none;border:0;border-radius:0;backdrop-filter:none;box-shadow:none;padding:10px 0}
#listening.warm-wind>.listening-center{top:44%}
#listening.warm-wind .listening-record{width:clamp(175px,28svh,310px)}
#listening.warm-wind .listening-center h2{font-size:clamp(30px,4vw,56px)}
#listening.warm-wind .warm-score{display:block;width:min(540px,88vw);margin:12px auto 0;text-align:center}
.warm-score canvas{display:block;width:100%;height:82px}
.warm-score-caption{font-size:9px;letter-spacing:.08em;color:#dacbaa;text-shadow:0 1px 5px #000}
@media(max-width:850px){#listening.warm-wind>.listening-center{top:39%}#listening.warm-wind .warm-tools{bottom:195px}}
@media(max-width:550px){#listening.warm-wind>.listening-center{top:36%}#listening.warm-wind .listening-record{width:min(22svh,190px)}#listening.warm-wind .listening-center h2{font-size:29px}.warm-score canvas{height:70px}#listening.warm-wind .warm-score{margin-top:4px}.warm-score-caption{font-size:8px}}
@media(max-width:550px) and (max-height:700px){#listening.warm-wind>.listening-center{top:34%}#listening.warm-wind .listening-record{width:17svh}#listening.warm-wind .listening-center h2{font-size:25px}.warm-score canvas{height:56px}#listening.warm-wind .warm-tools{bottom:168px}}
@media(max-height:650px) and (min-width:600px){#listening.warm-wind>.listening-center{top:51%}.warm-score canvas{height:58px}#listening.warm-wind .listening-record{width:26svh}}
/* Single timeline and artwork-only light sweep. */
.single-art::after{display:none}
.single-visual{min-width:0}
.single-vinyl-shine{position:absolute;left:30%;top:0;width:70%;aspect-ratio:1;z-index:1;pointer-events:none;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;background:linear-gradient(115deg,transparent 42%,#fff3c659 49%,#fff9df85 50%,transparent 58%) 140% 0/300% 100%;opacity:0;transition:left 1s cubic-bezier(.2,.8,.2,1),background-position 1.3s,opacity .4s}
@media(hover:hover){.single-release:hover .single-vinyl-shine,.single-release:focus-within .single-vinyl-shine{left:38%;background-position:-40% 0;opacity:1}}
.single-note-seek{position:relative;height:72px;margin-top:20px;border-bottom:1px solid #d4ad7230}
.single-note-seek canvas{display:block;width:100%;height:72px}
.single-note-seek input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2;touch-action:pan-y}
.single-note-seek:focus-within{outline:none}.single-note-seek:has(input:focus-visible){outline:1px solid #d4ad72;outline-offset:5px}
.single-note-cursor{position:absolute;left:clamp(0px,var(--note-progress,0%),calc(100% - 2px));top:10px;bottom:8px;width:1px;background:linear-gradient(transparent,#f4d39a,transparent);pointer-events:none}
.single-seek-meta{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:11px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){.single-vinyl-shine{display:none}}
