/* Album controls and viewer only. Production gameplay/renderers are untouched. */
.game-header{gap:16px}.brand-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;min-width:0}.game-header .header-right{flex-shrink:0}
body .channel-link{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;min-height:34px;color:#f4f0eb;text-decoration:none;font-size:9px;font-weight:500;letter-spacing:1.4px;white-space:nowrap;border:1px solid #f4f0eb38;border-radius:5px;background:linear-gradient(130deg,#f4f0eb0e,#f4f0eb03);transition:background .2s,border-color .2s}
.channel-link svg{width:17px;height:17px;fill:currentColor;opacity:.85}.channel-link i{font-style:normal;font-size:13px;color:#f29a85}
body .channel-link:hover{background:#f4f0eb14;border-color:#f4f0eb99;color:#fff}.channel-link:focus-visible{outline:2px solid #f29a85;outline-offset:4px}
#app:fullscreen>.game-header{display:flex;width:min(100%,calc((100vh - 160px)*16/9));margin:0 auto 8px;flex-shrink:0}
@media(max-width:700px){.game-header{gap:8px}.brand-links{gap:6px 12px}.channel-link{padding:6px 9px;font-size:8px}.game-header .header-right{align-self:flex-start}}
/* Album entry is immediately after the live analyser, outside the tuning controls. */
/* Equal side columns anchor the album controls, independent of live status length. */
.session-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"playback album controls";column-gap:18px;row-gap:12px}
/* Match the fullscreen stage width so playback and pause stay at its edges. */
#app:fullscreen>.session-footer{width:min(100%,calc((100vh - 160px)*16/9));margin:0 auto}
.session-footer .now{grid-area:playback;min-width:0;max-width:100%}
.session-footer .now>div{min-width:0}
.session-footer .now :is(b,#musicStatus){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.session-footer .now :is(#mute,#musicAnalyser){flex-shrink:0}
.session-footer .desktop-help{grid-area:controls;justify-self:end;margin-right:58px;white-space:nowrap}
.session-footer #pauseButton{grid-area:controls;justify-self:end}
.album-entry-actions{grid-area:album;justify-self:center;display:flex;align-items:center;justify-content:center;gap:10px;margin:0}
body .session-footer #openAlbum{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:9px 16px;border:1px solid #f4f0eb66;border-radius:6px;background:linear-gradient(130deg,#f4f0eb0e,#f4f0eb03);box-shadow:none;color:#f4f0eb;font-size:12px;font-weight:600;white-space:nowrap;touch-action:manipulation;transition:background .25s,border-color .25s}
body .session-footer :is(#openAlbum,#albumListen):is(:hover,:focus-visible){background:#f4f0eb14;border-color:#f4f0eb;color:#f4f0eb;box-shadow:none}
body .session-footer :is(#openAlbum,#albumListen):active{background:#f4f0eb20;border-color:#f4f0eb;color:#f4f0eb;box-shadow:none}
body .session-footer #openAlbum .album-shortcut-mark{color:inherit;height:24px}
/* Render the small signature at its final size, without rescaling a rasterised mask. */
body .session-footer #openAlbum .album-shortcut-mark::before{inset:0;width:50px;height:20px;margin:auto;transform:none}
.album-shortcut-mark{width:58px;height:23px;margin-right:9px}.album-shortcut-mark::after{content:'';position:absolute;right:-9px;top:2px;bottom:2px;width:1px;background:#f4f0eb33}.album-entry-arrow{font-size:16px;font-weight:400;margin-left:5px}
.album-main-listen{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid #f4f0eb66;border-radius:6px;color:#f4f0eb;background:linear-gradient(130deg,#f4f0eb0e,#f4f0eb03);text-decoration:none;white-space:nowrap;font-size:11px;touch-action:manipulation;transition:background .25s,border-color .25s}
.album-main-listen svg{width:15px;height:15px;fill:currentColor;flex-shrink:0;opacity:.9}.album-main-listen .album-service-youtube{width:18px}.album-main-listen:hover{border-color:#f4f0eb;background:#f4f0eb14}.album-main-listen:focus-visible,body .session-footer #openAlbum:focus-visible{outline:2px solid #f29a85;outline-offset:4px}.album-main-listen[aria-disabled="true"]{color:#e3d9d5;cursor:default}.album-main-listen #albumPremierePending{color:#f29a85;font-size:8px;letter-spacing:.5px}.album-release-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.album-main-listen #albumListenLabel{display:flex;align-items:center;gap:14px;font-size:10px}.album-service{display:inline-flex;align-items:center;gap:5px;line-height:1}.album-release-arrow{margin-left:auto;color:#f29a85;opacity:.8}
/* A quiet release timer shares the existing platform button's top line. */
body .album-main-listen #albumPremierePending.album-release-countdown{font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:.15px;color:#f29a85}
/* The first title screen has a separate demo control in the same playback cell. */
#demoPlayback{display:none}
#app:has(#titleScreen:not([hidden]):not(.session-ready)) .session-footer>#soundtrackPlayback{display:none}
#app:has(#titleScreen:not([hidden]):not(.session-ready)) .session-footer>#demoPlayback{display:flex}
.session-footer #demoStatus{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-footer #demoPlayback{width:100%;gap:10px}
body .session-footer #demoToggle{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex:0 1 auto;width:max-content;min-width:0;max-width:100%;min-height:44px;padding:7px 10px;border:1px solid #f29a8590;border-radius:6px;background:linear-gradient(130deg,#f29a8512,#f4f0eb03);color:#f4f0eb;touch-action:manipulation;text-align:left;transition:background .2s,border-color .2s}
body .session-footer #demoToggle:hover{background:#f29a851b;border-color:#f4f0eb;color:#f4f0eb}
body .session-footer #demoToggle:focus-visible{outline:2px solid #f29a85;outline-offset:4px}
body .session-footer #demoIcon{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border:1px solid #f29a8570;border-radius:50%;background:#f29a8512;color:#f29a85;font:12px/1 Arial,sans-serif}
#demoToggle .demo-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
#demoToggle span{margin-top:0}
body .session-footer #demoToggle b{font-size:10px;line-height:1.2;font-weight:500;color:#cbb7b7}
body .session-footer #demoStatus{display:block;font-size:10px;line-height:1.3;font-weight:500;color:#f4f0eb;letter-spacing:.1px}
.session-footer #demoAnalyser{flex-shrink:0}
#demoPlayback:not(.is-playing) #demoAnalyser{display:none}
#demoToggle:disabled{cursor:default}
#demoAnalyser{width:60px;height:24px;aspect-ratio:auto;opacity:.65}
@media(min-width:1051px) and (max-width:1250px){#demoPlayback.is-playing #demoAnalyser{width:32px}}
@media(max-width:700px){#demoAnalyser{width:35px}}
/* Brief staggered invitations, separated by long quiet periods. */
body .session-footer :is(#openAlbum,#albumListen){box-sizing:border-box;height:44px;min-height:44px;max-height:44px;padding-block:0;line-height:1;position:relative;isolation:isolate;overflow:hidden;--invite-period:24s;--invite-delay:4s}
body .session-footer #albumListen{--invite-period:29s;--invite-delay:10s;width:320px;max-width:100%;padding-inline:16px;gap:14px}
.album-entry-actions :is(#openAlbum,#albumListen)>*{position:relative;z-index:1}
.album-entry-actions :is(#openAlbum,#albumListen)::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 1px #f29a85b3,inset 0 0 15px #f29a8538;animation:album-invite-edge var(--invite-period) ease-out var(--invite-delay) infinite}
.album-entry-actions :is(#openAlbum,#albumListen)::after{content:'';position:absolute;inset:-40% -60%;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 37%,#ffffff30 48%,#ffffff58 50%,#ffffff22 52%,transparent 63%);transform:translateX(-85%);animation:album-invite-sheen var(--invite-period) ease-in-out var(--invite-delay) infinite}
@keyframes album-invite-edge{0%,8%,100%{opacity:0}2%{opacity:.7}4%{opacity:.2}5%{opacity:.5}}
@keyframes album-invite-sheen{0%{opacity:0;transform:translateX(-85%)}1%{opacity:.8}6%{opacity:0;transform:translateX(85%)}100%{opacity:0;transform:translateX(85%)}}
.album-entry-actions :is(#openAlbum,#albumListen):is(:hover,:focus-visible)::before,.album-entry-actions :is(#openAlbum,#albumListen):is(:hover,:focus-visible)::after,
#app:has(#titleScreen[hidden]) .album-entry-actions :is(#openAlbum,#albumListen)::before,#app:has(#titleScreen[hidden]) .album-entry-actions :is(#openAlbum,#albumListen)::after,
body:has(#albumDialog[open]) .album-entry-actions :is(#openAlbum,#albumListen)::before,body:has(#albumDialog[open]) .album-entry-actions :is(#openAlbum,#albumListen)::after{animation:none;opacity:0}
@media(prefers-reduced-motion:reduce){.album-entry-actions :is(#openAlbum,#albumListen)::before,.album-entry-actions :is(#openAlbum,#albumListen)::after{animation:none!important;opacity:0!important}}
@media(max-width:1200px){.session-footer .desktop-help{display:none}}
@media(max-width:1050px){.session-footer{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"playback controls" "album album";padding-bottom:7px}.session-footer .album-entry-actions{width:min(100%,560px);flex-wrap:wrap}body .session-footer #openAlbum{flex:1;max-width:260px}body .session-footer #albumListen{flex:0 0 auto}}
@media(max-width:600px){.session-footer .album-entry-actions{width:min(100%,360px)}body .session-footer #openAlbum,body .session-footer #albumListen{width:100%;flex:1 1 100%;max-width:none}}
@media(max-width:420px){body .session-footer #openAlbum{padding:0 10px;font-size:11px;gap:7px}.album-main-listen{font-size:10px;padding:0 8px;gap:5px}.album-main-listen>span:last-child{display:none}.album-entry-actions{gap:8px;flex-wrap:wrap}body .session-footer #openAlbum,.album-main-listen{flex:1 1 100%;max-width:none}}
.album-dialog{--album-ivory:#f4f0eb;--album-coral:#f29a85;--album-muted:#c4b5b5;--album-line:#f4f0eb1c;--ambient-x:34%;width:min(1400px,calc(100vw - 64px));height:min(940px,calc(100vh - 64px));height:min(940px,calc(100dvh - 64px));max-width:none;max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid #ffffff25;border-top-color:#fff5e34a;border-radius:10px;background:linear-gradient(125deg,#ffffff0c,#ffffff02);backdrop-filter:blur(14px) saturate(.8);-webkit-backdrop-filter:blur(14px) saturate(.8);color:var(--album-ivory);box-shadow:inset 0 1px 0 #ffffff14,0 10px 30px #0002;color-scheme:dark}
.album-dialog::backdrop{background:#07060a26;backdrop-filter:none;-webkit-backdrop-filter:none}
.album-dialog[open]{animation:album-arrive .8s cubic-bezier(.16,1,.3,1) both}
.album-shell{position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1px minmax(0,1fr) auto;height:100%;overflow:hidden}
.album-shell::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:transparent}
.album-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:transparent}
.album-mote{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#f4dac1;filter:blur(.7px);opacity:0;animation:album-dust var(--drift) ease-in-out var(--phase) infinite;animation-play-state:paused}
.album-dialog[open] .album-mote{animation-play-state:running}
.album-dialog .album-header{margin:0;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:0}
.album-header-brand{display:flex;align-items:center;min-width:0}
.album-dialog .album-header small{display:block;font:8px/1.5 Arial,sans-serif;letter-spacing:3px;color:var(--album-coral)}
.album-dialog .album-header h1{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;font:400 29px/1.1 Georgia,serif;letter-spacing:1px;margin:7px 0 0;color:var(--album-ivory)}
/* Custom reference-matched lettering. Text remains accessible; no font substitution.
   Sprite windows preserve the exact letter proportions and never stretch the ink. */
.album-hand,.album-verse-hand{position:relative;display:inline-block;flex-shrink:0;font-size:0!important;line-height:0;vertical-align:middle}
.album-hand::before,.album-verse-hand::before{content:'';position:absolute;inset:0;background:currentColor;mask-image:url('assets/album/handwriting-v53.png');mask-repeat:no-repeat;-webkit-mask-image:url('assets/album/handwriting-v53.png');-webkit-mask-repeat:no-repeat}
.album-hand{aspect-ratio:1205/480}
.album-hand::before{mask-size:127.4689% 213.3333%;mask-position:64.0483% 11.0294%;-webkit-mask-size:127.4689% 213.3333%;-webkit-mask-position:64.0483% 11.0294%}
.album-verse-hand{aspect-ratio:1466/450}
.album-verse-hand::before{mask-size:104.7749% 227.5556%;mask-position:100% 94.0767%;-webkit-mask-size:104.7749% 227.5556%;-webkit-mask-position:100% 94.0767%}
.album-dialog .album-header h1{align-items:center}
.album-dialog .album-wordmark span{width:85px;height:auto;color:inherit}
.album-dialog .album-wordmark em{width:125px;height:auto;color:var(--album-coral)}
.album-dialog button{font-family:inherit;touch-action:manipulation}
.album-dialog button:focus-visible,.album-dialog .album-copy:focus-visible{outline:2px solid var(--album-coral);outline-offset:4px}
.album-dialog .album-close{display:flex;align-items:center;gap:14px;padding:9px 2px 9px 12px;background:transparent;border:0;border-radius:3px;color:var(--album-muted);font-size:11px;white-space:nowrap}
.album-close .album-close-x{font-size:26px;font-weight:200;color:var(--album-ivory)}.album-dialog .album-close:hover{color:var(--album-ivory)}
.album-progress{height:1px;background:#f4f0eb0c}.album-progress i{display:block;width:20%;height:1px;background:var(--album-coral);box-shadow:0 0 18px #f29a8566;transition:width .85s cubic-bezier(.22,.8,.24,1)}
.album-stage{position:relative;min-height:0;overflow:hidden}
.album-track{--album-page:0;--album-drag:0px;--page-direction:1;display:flex;width:100%;height:100%;transform:translate3d(calc(var(--album-page)*-100% + var(--album-drag)),0,0);transition:transform .85s cubic-bezier(.22,.8,.24,1)}
.album-track.is-dragging{transition:none;cursor:grabbing}
.album-slide{flex:0 0 100%;width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(28px,4vw,65px);align-items:center;padding:26px clamp(28px,4vw,64px);overflow:hidden}
.album-art-stage{min-width:0;min-height:0;display:flex;justify-content:center;align-items:center;height:100%;position:relative;isolation:isolate}
.album-art-stage::after{content:'';position:absolute;left:10%;right:10%;bottom:1%;height:14%;background:#0009;filter:blur(24px);border-radius:50%;z-index:-1}
.album-art-wrap{--tilt-x:0deg;--tilt-y:0deg;--shine-x:50%;width:100%;max-width:calc(100dvh - 285px);aspect-ratio:var(--art-ratio,1);margin:0;perspective:1600px;cursor:grab;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;position:relative;z-index:2;transform-origin:15% 50%}
.album-dialog[open] .is-active .album-art-wrap{animation:album-print-arrive 1.2s cubic-bezier(.16,1,.3,1) both}
.album-print{position:relative;width:100%;height:100%;overflow:hidden;background:#171116;border:1px solid #fff3e532;box-shadow:0 2px 0 #4d4141,2px 4px 0 #262027,3px 5px 0 #74626544,0 28px 70px #000a;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .18s ease-out}
.album-print::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 10%,#fff8ee0d var(--shine-x),transparent 90%);box-shadow:inset 2px 0 5px #0004,inset -1px 0 0 #fff3e52e}
.album-dialog .album-image{position:absolute;top:0;max-width:none;height:auto;opacity:0;transition:opacity .65s;pointer-events:none}.album-print.loaded .album-image{opacity:1}
.album-art-status{display:grid;place-items:center;height:100%;padding:20px;text-align:center;font-size:12px;line-height:1.7;color:var(--album-muted)}
/* Jewel case: 142 × 125 proportions, moulded tray and separately hinged lid. */
.album-slide[data-kind="cover"] .album-art-stage{flex-direction:column;gap:24px;perspective:1800px}
.album-jewel{--tilt-x:-2deg;--tilt-y:-5deg;--shine-x:42%;position:relative;width:88%;max-width:calc((100dvh - 370px)*1.136);aspect-ratio:142/125;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .25s ease-out}
.album-jewel-body{position:absolute;inset:0;border:2px solid #c8d1d06b;border-radius:3px;background:linear-gradient(100deg,#8f999967,#14161b 8%,#30343b 9%,#12141a 10%,#25282e 98%,#899394);box-shadow:inset 0 0 0 2px #05060a,inset 0 0 0 4px #868a8b50,4px 4px 0 #24282d,5px 5px 0 #bcc8c54d,4px 28px 40px #0009;transform:translateZ(-7px)}
.album-disc-tray{position:absolute;inset:3% 2.5% 3% 12%;border-radius:2px;background:radial-gradient(circle,#16191c 0 65%,#6f767750 65.5% 66%,#131519 66.5% 68%,#34383d 68.5% 69%,#1a1d21 69.5%);box-shadow:inset 1px 1px 3px #fff2,inset -2px -2px 4px #000b}
.album-disc-tray::before,.album-disc-tray::after{content:'';position:absolute;width:6%;height:14%;top:43%;z-index:0;background:linear-gradient(90deg,#15181b,#656c6c99,#14161a);border:1px solid #8b939444;border-radius:8px;box-shadow:0 2px 5px #000b}.album-disc-tray::before{left:1%}.album-disc-tray::after{right:1%}
/* Reference-guided photoreal product asset: silver, moulded hub and print are
   one coherent surface. The original gradient disc and oversized ink are retired. */
.album-disc{position:absolute;z-index:1;left:2.5%;top:50%;width:95%;aspect-ratio:1;transform:translateY(-50%);background:url('assets/album/disc-product-v53.png') center/contain no-repeat;filter:drop-shadow(0 1px 1px #0006)}
.album-disc::after{content:'';position:absolute;inset:1.5%;border-radius:50%;pointer-events:none;background:linear-gradient(112deg,transparent 20%,#ffffff0c var(--shine-x,50%),transparent 80%);mask-image:radial-gradient(circle closest-side,transparent 0 30%,#000 31%);-webkit-mask-image:radial-gradient(circle closest-side,transparent 0 30%,#000 31%)}
.album-disc-hub{position:absolute;z-index:2;left:50%;top:50%;width:11.6%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:repeating-conic-gradient(#2a2e30 0deg 25deg,#626769 26deg 28deg,#16191b 29deg 30deg);border:.5px solid #656b6a;box-shadow:0 .5px 1px #0007}
.album-disc-hub::after{content:'';position:absolute;inset:25%;border-radius:50%;background:#202427;border:.5px solid #74797766}
.album-jewel .album-jewel-lid{--tilt-x:0deg;--tilt-y:0deg;position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;aspect-ratio:auto;transform-origin:7.4% 50%;transform-style:preserve-3d;transform:translateZ(2px) rotateY(0deg);transition:transform 1.4s cubic-bezier(.2,.7,.2,1);animation:none!important;perspective:none;z-index:3;background:linear-gradient(100deg,#c6d5d521,transparent 12%);border:1px solid #e5eeee87;border-radius:3px;box-shadow:inset 0 0 0 2px #aebbbc33,0 1px 0 #f3f8f2aa}
.album-jewel-lid .album-print{position:absolute;inset:2.3% 3% 2.3% 13%;width:auto;height:auto;transform:none;border:1px solid #b6b3ab88;border-radius:1px;box-shadow:0 0 0 3px #05070a88,0 0 0 4px #c0cece55;backface-visibility:hidden}
.album-jewel-lid .album-print::after{background:linear-gradient(120deg,transparent 0 25%,#ffffff14 26%,#ffffff04 29% 63%,#ffffff25 64%,transparent 66%),linear-gradient(85deg,#ffffff14,transparent 8% 92%,#fff3);box-shadow:inset 1px 1px 2px #fff7,inset -1px -1px 2px #0007}
.album-case-spine{position:absolute;inset:1px auto 1px 1px;width:10%;border-right:1px solid #a8b8bb80;border-radius:2px 0 0 2px;background:repeating-linear-gradient(90deg,#07090cce 0 2px,#929da53d 2.5px 3px),linear-gradient(#c7d3d538,#1a2024 9% 90%,#cad8d633);box-shadow:inset 1px 0 1px #c7d9db99}
.album-case-hinge{position:absolute;left:6.4%;width:5%;height:7%;z-index:4;border:1px solid #becbcb99;border-radius:2px;background:linear-gradient(90deg,#343e43,#bac8c85c,#151c23);box-shadow:1px 1px 2px #0009}.album-case-hinge.top{top:3%}.album-case-hinge.bottom{bottom:3%}
.album-lid-inside{position:absolute;inset:2.3% 3% 2.3% 13%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;transform:translateZ(-1px) rotateY(180deg);backface-visibility:hidden;background:linear-gradient(130deg,#30282c,#151217);border:1px solid #c2b9af44;box-shadow:inset 0 0 0 8px #f4f0eb08}
.album-lid-inside span{width:46%;height:auto;color:#f4f0eb99}.album-lid-inside em{width:67%;height:auto;margin-top:-12px;color:#f29a8599}.album-lid-inside small{font-size:6px;letter-spacing:2px;color:#b8a69a}
.album-jewel.is-open .album-jewel-lid{transform:translateZ(2px) rotateY(-102deg)}
.album-dialog .album-case-toggle{position:relative;z-index:4;display:inline-flex;align-items:center;gap:12px;border:1px solid #f4f0eb40;border-radius:30px;background:#f4f0eb08;padding:10px 19px;font-size:10px;color:#e8ded6;letter-spacing:.5px}
.album-case-toggle::before{content:'';width:10px;height:10px;border:1px solid #f29a85;border-radius:50%;box-shadow:inset 0 0 0 3px #151016}.album-dialog .album-case-toggle:hover{background:#f4f0eb15;border-color:#f4f0eb99}
.album-back-case .album-print{border:4px ridge #a9b5b66b;border-radius:3px;box-shadow:inset 0 0 0 2px #000a,3px 3px 0 #949fa955,5px 6px 0 #101116,0 24px 60px #000a}
.album-dialog .album-copy{min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#f29a8555 transparent;padding:6px 10px 10px 0;outline-offset:-2px}
.album-dialog p.album-kicker{margin:0 0 22px;color:var(--album-coral);font-size:8px;line-height:1.5;letter-spacing:3px;display:flex;align-items:center;gap:13px}
.album-kicker::before{content:'';display:block;flex:0 0 28px;height:1px;background:var(--album-coral);transform-origin:left}
.album-dialog[open] .is-active .album-kicker{animation:album-small-enter .9s .15s both}.album-dialog[open] .is-active .album-kicker::before{animation:album-rule-enter 1s .25s both}
.album-dialog h2.album-page-title{margin:0 0 27px;color:var(--album-ivory);font:400 clamp(32px,3.8vw,55px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-1.1px;text-wrap:balance}
.album-word{display:inline-block;transform-origin:50% 100%}
.album-dialog[open] .is-active .album-reveal-block .album-word{opacity:0;transform:translateY(17px);filter:blur(5px)}
.album-dialog[open] .is-active .album-reveal-block.is-revealed .album-word{animation:album-word-enter 1s cubic-bezier(.16,1,.3,1) calc(var(--reveal-lead,0ms) + var(--word-delay,0ms)) both}
/* One quiet whole-word shimmer, under a second every 52–61 seconds.
   First shimmer waits 18–22 seconds; body copy stays steady. */
.album-neon-word{opacity:1;text-shadow:0 0 14px #f29a8514}
.album-dialog[open] .is-active .album-page-title.is-revealed .album-neon-word{animation:album-word-shimmer var(--flicker-duration,58s) ease-in-out var(--flicker-delay,20s) infinite}
@keyframes album-word-shimmer{
 0%,1.2%,100%{opacity:1;text-shadow:0 0 14px #f29a8514}
 .35%{opacity:.95;text-shadow:none}
 .65%{opacity:.985;text-shadow:0 0 9px #f29a8510}
 .9%{opacity:.97;text-shadow:none}
}
.album-dialog p.album-edition{font-size:10px;letter-spacing:3px;color:var(--album-coral);margin:0 0 10px}.album-dialog p.album-meta{margin:0 0 24px;color:var(--album-muted);font-size:11px;letter-spacing:.5px;font-variant-numeric:tabular-nums}
.album-dialog[open] .is-active :is(.album-edition,.album-meta){animation:album-small-enter 1s .65s both}
.album-dialog p.album-paragraph{position:relative;font:400 15px/1.9 Arial,sans-serif;color:#d4c9c6;margin:0 0 22px;transition:color .3s;text-wrap:pretty}
.album-paragraph::before{content:'';position:absolute;inset:-8px -12px;z-index:-1;border-left:1px solid #f29a85;background:linear-gradient(90deg,#f29a850b,transparent);opacity:0;transition:opacity .35s}
.album-dialog[open] .is-active .album-paragraph.is-revealed::before{animation:album-passage-light 3s var(--reveal-lead,0ms) both}
.album-paragraph:hover{color:#f4f0eb!important}.album-paragraph:hover::before{opacity:1}
.album-dialog p.album-signature{display:block;width:145px;height:auto;color:var(--album-coral);margin:15px 0 32px}
.album-dialog[open] .is-active .album-signature{animation:album-signature-enter 1.5s 1.5s both}
.album-dialog .album-inline-next{display:inline-flex;align-items:center;gap:14px;padding:10px 0;margin:16px 0 0;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;font-size:11px;font-weight:400;letter-spacing:.4px;color:var(--album-muted)}
.album-dialog .album-signature+.album-inline-next{margin-top:0}
.album-inline-next span{color:inherit;font-size:16px;transition:transform .2s}.album-inline-next:hover span{transform:translateX(3px)}
.album-tracklist{list-style:none;padding:0;margin:0}.album-tracklist li{display:grid;grid-template-columns:26px minmax(0,1fr) 38px;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #f4f0eb0b;font-size:12px;transition:background .2s,color .2s}
.album-dialog[open] .is-active .album-track-row{opacity:0}.album-dialog[open] .is-active .album-track-row.is-revealed{animation:album-small-enter .65s var(--reveal-lead,0ms) both}
.album-tracklist li:hover{background:#f29a8508;color:#fff}.album-track-number{color:#a78d8e;font-size:10px;font-variant-numeric:tabular-nums}.album-track-duration{color:var(--album-muted);text-align:right;font-size:11px;font-variant-numeric:tabular-nums}.album-track-name{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.album-track-name small{font:6px/1.5 Arial,sans-serif;letter-spacing:1px;color:var(--album-coral)}.album-featured-track .album-track-number{color:var(--album-coral)}
.album-dialog .album-footer{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:0;margin:0;padding:15px 32px 17px;border-top:1px solid #ffffff20;background:linear-gradient(125deg,#ffffff06,#ffffff02);box-shadow:inset 0 1px 0 #ffffff06}
.album-navigation{min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px}.album-nav-row{display:flex;align-items:center;justify-content:center;gap:12px}
.album-dialog .album-nav-arrow{width:36px;height:36px;display:grid;place-items:center;padding:0;font-size:18px;background:transparent;border:1px solid #f4f0eb29;border-radius:50%;color:var(--album-ivory);flex-shrink:0}.album-dialog .album-nav-arrow:hover:not(:disabled){border-color:var(--album-coral);background:#f29a850a}.album-dialog .album-nav-arrow:disabled{opacity:.2;cursor:default}
.album-tabs{display:flex;align-items:center;gap:5px}.album-dialog .album-tab{border:0;border-bottom:1px solid transparent;border-radius:0;padding:9px 11px;font-size:10px;color:#ad9fa2;background:transparent;font-variant-numeric:tabular-nums;transition:color .2s,border-color .2s}.album-dialog .album-tab[aria-current="page"]{color:var(--album-coral);border-color:var(--album-coral)}.album-dialog .album-tab:hover{color:var(--album-ivory);background:#f4f0eb05}
.album-nav-meta{display:flex;align-items:center;gap:22px;color:#a7989e;font-size:8px;letter-spacing:1.1px;line-height:1.5}.album-nav-meta span:first-child{min-width:170px}
.album-dialog[open] .reveal-all .album-paragraph::before{animation:none!important}
.album-dialog[open] .reveal-all :is(.album-word,.album-track-row,.album-kicker,.album-edition,.album-meta,.album-signature){animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
@keyframes album-arrive{from{opacity:0;transform:translateY(20px) scale(.97);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes album-print-arrive{from{opacity:.15;transform:perspective(1300px) translateX(calc(var(--page-direction,1)*32px)) rotateY(calc(var(--page-direction,1)*-9deg)) scale(.96)}to{opacity:1;transform:perspective(1300px) translateX(0) rotateY(0deg) scale(1)}}
@keyframes album-passage-light{0%{opacity:0;transform:scaleY(.2)}20%{opacity:1;transform:scaleY(1)}100%{opacity:0;transform:scaleY(1)}}
@keyframes album-word-enter{from{opacity:0;transform:translateY(17px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes album-small-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes album-rule-enter{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes album-signature-enter{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes album-dust{0%,100%{opacity:0;transform:translate3d(0,25px,0)}25%,70%{opacity:.22}95%{opacity:0;transform:translate3d(25px,-45px,0)}}
@media(min-width:900px) and (min-height:850px){.album-dialog p.album-paragraph{font-size:17px}.album-dialog .album-tracklist li{padding:12px 0;font-size:14px}}
@media(max-width:900px){.album-dialog{width:calc(100vw - 20px);height:calc(100dvh - 20px)}.album-slide{gap:25px;padding:24px;grid-template-columns:minmax(0,1fr) minmax(260px,1fr)}.album-dialog .album-header{padding:18px 24px}.album-dialog .album-footer{padding:15px 24px;gap:18px}.album-nav-meta span:first-child{min-width:0}.album-dialog .album-tab{padding:9px}.album-tabs{gap:1px}.album-nav-row{gap:7px}}
@media(max-width:700px){
 .album-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.album-dialog .album-header{padding:15px 17px;gap:10px}.album-header-brand{gap:0}.album-dialog .album-header small{font-size:7px;letter-spacing:2px}.album-dialog .album-header h1{font-size:22px;gap:3px 8px}.album-dialog .album-wordmark span{width:65px}.album-dialog .album-wordmark em{width:105px}.album-dialog .album-close{font-size:10px;gap:9px;padding-left:6px}
 .album-slide{display:block;overflow-y:auto;overscroll-behavior-y:contain;padding:24px 26px 36px;scrollbar-width:thin;scrollbar-color:#f29a8544 transparent}.album-art-stage{height:auto;max-width:420px;margin:0 auto 32px}.album-art-wrap{max-width:min(100%,43dvh)}.album-jewel{width:min(90%,43dvh);max-width:none}.album-dialog .album-copy{overflow:visible;max-height:none;max-width:480px;margin:0 auto;padding:0}.album-dialog p.album-kicker{margin-bottom:14px;font-size:8px}.album-dialog h2.album-page-title{font-size:39px;margin-bottom:22px}.album-dialog p.album-paragraph{font-size:15px;line-height:1.95}
 .album-dialog .album-footer{grid-template-columns:1fr;padding:11px 16px 13px;gap:10px}.album-navigation{gap:8px}.album-nav-row{justify-content:space-between}.album-tabs{gap:4px}.album-dialog .album-tab{padding:9px 12px}.album-nav-meta{justify-content:space-between;font-size:7px;letter-spacing:.8px}.album-nav-meta span:first-child{min-width:0}.album-dialog .album-tracklist li{font-size:14px;padding:11px 0}
}
@media(max-height:560px) and (min-width:701px){.album-dialog{height:100dvh;width:100vw;border-radius:0;border:0}.album-dialog .album-header{padding:12px 24px}.album-dialog .album-footer{padding:10px 24px}.album-art-wrap{max-width:calc(100dvh - 210px)}.album-jewel{max-width:calc((100dvh - 260px)*1.136)}.album-slide{padding-top:16px;padding-bottom:16px}.album-dialog h2.album-page-title{font-size:29px;margin-bottom:16px}.album-dialog p.album-kicker{margin-bottom:12px}.album-dialog p.album-paragraph{font-size:13px}}
@media(max-width:380px){.album-dialog .album-tab{padding:9px 8px}}
/* Editorial page navigation: quiet type, small arrows and one fine active rule. */
body #albumDialog :is(.album-nav-arrow,.album-tab,.album-inline-next){background:transparent;border:0;border-bottom:1px solid transparent;border-radius:0;color:#b8aeb1;box-shadow:none;transition:color .2s,border-color .2s}
body #albumDialog .album-nav-arrow{width:40px;height:40px;font-size:16px;border:0}
body #albumDialog .album-tab{min-height:40px}
body #albumDialog .album-tab[aria-current="page"]{color:#f4f0eb;border-bottom-color:#f29a8570;text-shadow:none}
body #albumDialog :is(.album-nav-arrow,.album-tab,.album-inline-next):not(:disabled):is(:hover,:focus-visible){background:transparent;color:#f4f0eb}
body #albumDialog .album-inline-next:is(:hover,:focus-visible){border-bottom-color:#f4f0eb38}
body #albumDialog :is(.album-nav-arrow,.album-tab,.album-inline-next):not(:disabled):active{background:transparent;color:#f29a85}
body #albumDialog .album-inline-next{padding:10px 0;min-height:40px}
body #albumDialog :is(.album-close,.album-case-toggle):not(:disabled):is(:hover,:focus-visible){background:#f4f0eb14;color:#f4f0eb;border-color:#f4f0eb;text-shadow:none}
body #albumDialog :is(.album-close,.album-case-toggle):not(:disabled):active{background:#f4f0eb20;color:#f4f0eb;border-color:#f4f0eb}
body #albumDialog button:not(:disabled):is(:hover,:focus-visible) span{color:inherit}
body #albumDialog .album-case-toggle:is(:hover,:focus-visible)::before{border-color:#f29a85;box-shadow:none;background:#f29a8520}
.album-voice-message{display:flex;align-items:center;gap:15px;margin:0 0 27px;padding:13px 0 15px;border-top:1px solid #f4f0eb1a;border-bottom:1px solid #f4f0eb1a}
body #albumDialog .album-voice-play{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:40px;min-width:139px;padding:9px 12px;border:1px solid #f4f0eb55;border-radius:5px;background:#f4f0eb0a;color:#ded3cf;opacity:1;font-size:10px;cursor:pointer;transition:background .2s,border-color .2s}
body #albumDialog .album-voice-play:hover,body #albumDialog .album-voice-play.is-playing{background:#f29a8512;border-color:#f29a8580;color:#f4f0eb}
body #albumDialog .album-voice-play:focus-visible{outline:2px solid #f29a85;outline-offset:4px}
.album-voice-progress{display:block;width:100%;max-width:160px;height:2px;overflow:hidden;border-radius:2px;background:#f4f0eb18}
.album-voice-progress i{display:block;width:0;height:100%;background:#f29a85;opacity:.7;transition:width .2s linear}
.album-voice-status{font-variant-numeric:tabular-nums}
.album-voice-icon{display:grid;place-items:center;width:19px;height:19px;border:1px solid #f29a8580;border-radius:50%;font:13px/1 Arial,sans-serif;color:#f29a85}
.album-voice-detail{display:flex;flex-direction:column;gap:6px;min-width:0}.album-voice-detail strong{font:400 11px/1.4 Arial,sans-serif;letter-spacing:.2px;color:#f4f0eb}.album-voice-detail small{font:9px/1.5 Arial,sans-serif;color:#c6adb0}
@media(max-width:900px){.album-voice-message{gap:10px}body #albumDialog .album-voice-play{padding:9px;font-size:9px;min-width:124px}.album-voice-detail strong{font-size:10px}.album-voice-detail small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.album-voice-progress i{transition:none}}
#app:fullscreen .album-dialog .album-header{display:flex}
@media(prefers-reduced-motion:reduce){.album-dialog[open],.album-dialog[open] *{animation:none!important;transition:none!important}.album-dialog[open] .album-word,.album-dialog[open] .album-track-row{opacity:1!important;transform:none!important;filter:none!important}.album-print,.album-jewel{transform:none}.album-mote{opacity:.1}.album-track{transition:none}}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.album-dialog{background:linear-gradient(130deg,#191722ed,#100e18f2)}}
@media(prefers-reduced-transparency:reduce){.album-dialog{background:#131018;backdrop-filter:none;-webkit-backdrop-filter:none}.album-dialog::backdrop{background:#07060aa6;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Page 02: the existing page-turn link sits below the picture, outside the notes scroller. */
.album-art-with-next{flex-direction:column;gap:16px;container-type:size}
.album-art-with-next .album-art-wrap{flex-shrink:0;width:min(100cqw,calc((100cqh - 56px)*731/724));max-width:none}
body #albumDialog .album-art-with-next .album-inline-next{flex-shrink:0;margin:0}
@media(max-width:700px){
 .album-art-with-next{container-type:normal}
 .album-art-with-next .album-art-wrap{width:min(100%,43dvh)}
}

/* The existing platform control opens a focused, glass release card. */
body .session-footer button#albumListen{font-family:inherit;font-weight:400;cursor:pointer}
.release-dialog{width:min(780px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid #ffffff25;border-top-color:#fff5e34a;border-radius:10px;background:linear-gradient(125deg,#ffffff0c,#ffffff02);backdrop-filter:blur(14px) saturate(.8);-webkit-backdrop-filter:blur(14px) saturate(.8);color:#f4f0eb;box-shadow:inset 0 1px 0 #ffffff14,0 10px 30px #0002;color-scheme:dark}
.release-dialog::backdrop{background:#07060a26}.release-dialog[open]{animation:album-arrive .65s cubic-bezier(.16,1,.3,1) both}
.release-shell{padding:22px 34px 36px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#f29a8509,transparent 70%)}
.release-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.release-top>span{font-size:8px;letter-spacing:2.5px;color:#f29a85}
body #releaseClose{display:flex;align-items:center;gap:10px;padding:7px 0 7px 10px;border:0;border-radius:3px;background:transparent;font-size:10px;color:#c4b5b5;touch-action:manipulation}
#releaseClose span{font-size:24px;line-height:1;color:#f4f0eb}body #releaseClose:hover{color:#f4f0eb;background:#f4f0eb08}
#releaseClose:focus-visible,.release-listen:focus-visible{outline:2px solid #f29a85;outline-offset:4px}
.release-dialog .release-wordmark{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:0 0 30px;font-size:0;line-height:1}
.release-wordmark .album-hand{width:140px;color:#f4f0eb}.release-wordmark .album-verse-hand{width:215px;color:#f29a85}
.release-dialog .release-kicker{margin:0 0 22px;font-size:9px;letter-spacing:3px;line-height:1.6;color:#c4b5b5}
.release-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:630px;margin:auto}
.release-clock>div{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 5px 20px;border-top:1px solid #f4f0eb30;border-bottom:1px solid #f4f0eb1c;background:linear-gradient(180deg,#f4f0eb06,transparent)}
.release-clock strong{font:300 clamp(38px,7.5vw,82px)/1.05 Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-2px;color:#f4f0eb;text-shadow:0 0 30px #f29a8512}.release-clock span{font-size:8px;letter-spacing:2px;color:#f29a85}
.release-dialog .release-date{margin:22px 0 28px;font-size:11px;line-height:1.6;color:#c4b5b5;letter-spacing:.3px}
.release-demo{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 auto 28px}
body #releaseDemoToggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:156px;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid #f29a8570;border-radius:6px;background:linear-gradient(120deg,#f29a8512,#f4f0eb05);color:#f4f0eb;font:400 11px/1.5 Arial,sans-serif;letter-spacing:.2px;touch-action:manipulation;font-variant-numeric:tabular-nums}
body #releaseDemoToggle:hover,.release-demo.is-playing #releaseDemoToggle{background:#f29a8518;border-color:#f29a85;color:#f4f0eb}
body #releaseDemoToggle:focus-visible{outline:2px solid #f29a85;outline-offset:4px}
#releaseDemoToggle .release-demo-icon{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid #f29a8560;border-radius:50%;color:#f29a85;font:12px/1 Arial,sans-serif}
.release-demo-meter{width:min(156px,75%);height:2px;background:#f4f0eb15;border-radius:2px;overflow:hidden}.release-demo-meter i{display:block;width:0;height:100%;background:#f29a85;opacity:.75}
.release-dialog #releaseDemoHint{margin:0;font-size:10px;line-height:1.5;letter-spacing:.2px;color:#c4b5b5}
.release-platforms{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 24px;font-size:11px;color:#f4f0eb}.release-platforms .album-service{gap:7px}.release-platforms svg{width:18px;height:18px;fill:currentColor;opacity:.8}.release-platforms .album-service-youtube{width:22px}
.release-dialog .release-note{margin:18px 0 0;font-size:10px;line-height:1.7;color:#c4b5b5}
.release-listen{display:inline-flex;align-items:center;gap:16px;margin-top:22px;padding:11px 16px;border:1px solid #f4f0eb66;border-radius:6px;background:#f4f0eb08;color:#f4f0eb;font-size:11px;text-decoration:none}.release-listen span{color:#f29a85}.release-listen:hover{background:#f4f0eb14;border-color:#f4f0eb}
@media(max-width:600px){.release-dialog{width:calc(100vw - 24px)}.release-shell{padding:16px 18px 28px}.release-top{margin-bottom:24px}.release-wordmark .album-hand{width:98px}.release-wordmark .album-verse-hand{width:150px}.release-dialog .release-wordmark{gap:12px}.release-clock{gap:7px}.release-clock>div{padding:16px 2px;gap:10px}.release-clock strong{font-size:clamp(34px,9vw,54px);letter-spacing:-1px}.release-clock span{font-size:7px;letter-spacing:.9px}.release-dialog .release-kicker{font-size:8px;letter-spacing:2px}.release-platforms{gap:12px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.release-dialog[open]{animation:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.release-dialog{background:linear-gradient(130deg,#191722ed,#100e18f2)}}
@media(prefers-reduced-transparency:reduce){.release-dialog{background:#131018;backdrop-filter:none;-webkit-backdrop-filter:none}.release-dialog::backdrop{background:#07060aa6}}

.release-demo-time{font:10px/1.3 Arial,sans-serif;font-variant-numeric:tabular-nums;color:#c4b5b5;letter-spacing:.3px}
