
:root{color-scheme:dark;--bg:#080e16;--panel:#101a26;--line:#263544;--blue:#8bd5ff;--muted:#9caebb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#edf3f7;font:15px/1.6 system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:#172737;border:1px solid var(--line);border-radius:8px;padding:10px 15px;min-height:44px}button:hover,a.card:hover{border-color:var(--blue);background-color:#192f40}button:disabled{opacity:.4;cursor:not-allowed}button.active{border-color:var(--blue);color:var(--blue)}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}input,select{background:#111e2b;color:#fff;border:1px solid #354656;border-radius:8px;padding:11px;min-height:44px}input[type=range]{min-height:24px;padding:0;accent-color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,60px);line-height:1.12;letter-spacing:.07em;font-weight:500}h2{font-size:19px;letter-spacing:.16em;font-weight:500}h3{font-size:18px;font-weight:500}small,.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--blue);text-transform:uppercase}.brand{display:flex;align-items:center;gap:10px;letter-spacing:.12em;font-weight:500}.brand img{width:39px;height:44px;filter:drop-shadow(0 0 7px #67c8ff)}header.top{display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;border-bottom:1px solid var(--line)}nav{display:flex;gap:25px;align-items:center}nav a:hover{color:var(--blue)}.hero{background:linear-gradient(90deg,#080e16 5%,transparent 90%),url('/music/assets/moon.svg') center right/cover;padding:80px 5vw 90px;border-bottom:1px solid var(--line)}.hero p{max-width:490px;color:#b8c9d6}.hero .tagline{font-style:italic;letter-spacing:.22em}.button{display:inline-block;border:1px solid #6dabc9;border-radius:8px;padding:11px 22px;color:#d9f0ff;background:#163248}.content{max-width:1400px;margin:auto;padding:45px 5vw}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{display:block;padding:28px;background:linear-gradient(140deg,#142331,#0c141f);border:1px solid var(--line);border-radius:12px}.card .num{color:#6d8da4;letter-spacing:.16em;font-size:12px}.card h2{margin:35px 0 15px}.card p{color:var(--muted)}footer{padding:35px 5vw;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.shell{display:grid;grid-template-columns:215px 1fr;min-height:100vh;padding-bottom:158px}.sidebar{padding:28px 20px;border-right:1px solid var(--line);background:linear-gradient(#0b121b,#0d1a27);display:flex;flex-direction:column;gap:24px}.sidebar .brand{flex-direction:column;text-align:center;font-size:12px}.sidebar .brand img{height:65px;width:65px}.sidebar nav{display:flex;flex-direction:column;align-items:stretch;gap:6px}.sidebar nav a,.sidebar nav button{text-align:left;padding:10px 12px;background:none;border:1px solid transparent}.sidebar nav .active{background:#183044;border-color:#2b4f67}.sidebar .later{margin-top:auto;font-size:12px;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}main{min-width:0}.music-hero{padding:25px 40px 32px;background:linear-gradient(90deg,#080e16 5%,transparent),url('/music/assets/moon.svg') center/cover;border-bottom:1px solid var(--line)}.music-hero h1{font-size:clamp(28px,3vw,43px);margin:38px 0 10px}.switch{display:flex;gap:15px;align-items:center;font-size:11px;letter-spacing:.12em}.switch span{padding:8px 20px;border:1px solid #5286a5;border-radius:30px;color:#ceeeff}.switch small{letter-spacing:.05em}.search{margin-top:22px;max-width:600px;display:block}.search input{width:100%;border-radius:30px;background:#14202bd9}.library{padding:32px 40px}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.section-head h2{margin:0}.releases{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px}.release{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0d1722}.art{width:100%;aspect-ratio:1.4;object-fit:cover;background:radial-gradient(ellipse at 50% 110%,#193a53,#101b28 60%,#0b121b);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8196a6;font-size:11px;letter-spacing:.1em}.art img{width:65px;height:65px;opacity:.6}.release-info{padding:18px}.release-info h3{margin-bottom:3px}.release-info button{width:100%;margin-top:16px}.badge{font-size:10px;letter-spacing:.1em;color:#a2c3db}.notice{border-left:2px solid #5483a2;padding:12px 18px;background:#101d29;color:#bacbd8;margin:24px 0}.track{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.track p{margin:0}.track small{display:block}.track-actions{display:flex;gap:6px}.track-actions button{padding:8px 12px}.player{position:fixed;bottom:0;left:0;right:0;background:#0c1520f5;backdrop-filter:blur(20px);border:1px solid #345064;border-radius:14px 14px 0 0;padding:15px 24px;display:grid;grid-template-columns:1fr minmax(280px,1.4fr) 1fr;align-items:center;gap:24px;z-index:5;box-shadow:0 -10px 40px #0005}.now{display:flex;align-items:center;gap:14px;min-width:0}.now img{width:58px;height:58px;object-fit:cover;background:#142433;border-radius:5px}.now strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.now small{font-size:11px;letter-spacing:.12em}.transport{display:flex;gap:7px;justify-content:center;align-items:center}.transport button{background:none;border-color:transparent;font-size:18px;padding:5px 10px}.transport .play{border:1px solid #88ccf4;border-radius:50%;width:48px;height:48px;color:#d4f0ff;box-shadow:0 0 12px #6dc7ff44}.timeline{display:flex;align-items:center;gap:12px;font-size:10px;color:var(--muted);margin-top:6px}.timeline input{width:100%;min-width:60px}.volume{display:flex;justify-content:flex-end;align-items:center;gap:10px}.volume input{width:90px}.status{font-size:12px;color:#aac9dd;min-height:20px;margin:10px 0}#toast{position:fixed;right:20px;top:20px;z-index:20;background:#18354a;border:1px solid #82c6f0;border-radius:10px;padding:15px;max-width:90vw}#toast:empty{display:none}.playlist-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.playlist-tools input{flex:1;min-width:160px}.back{margin-bottom:24px}.legal-note{font-size:12px;color:var(--muted);margin-top:40px}body.home .hero{min-height:420px}.empty{color:var(--muted);padding:25px 0}
@media(min-width:1500px){.library{max-width:1300px}.music-hero{min-height:300px}}
@media(max-width:950px){.shell{grid-template-columns:170px 1fr}.sidebar{padding:20px 12px}.library,.music-hero{padding:25px}.player{grid-template-columns:1fr 1.2fr}.volume{display:none}.grid{gap:12px}.card{padding:20px}.switch small{display:none}}
@media(max-width:650px){header.top{padding:15px 20px;flex-wrap:wrap;gap:15px}header.top nav{font-size:12px;gap:20px}.hero{padding:60px 24px;background-position:65% center}.grid{grid-template-columns:1fr}.content{padding:30px 24px}.shell{display:block;padding-bottom:200px}.sidebar{padding:12px 16px;border-right:0;border-bottom:1px solid var(--line);gap:10px}.sidebar .brand{flex-direction:row;font-size:12px}.sidebar .brand img{width:28px;height:28px}.sidebar nav{flex-direction:row;overflow:auto;gap:4px}.sidebar nav a,.sidebar nav button{white-space:nowrap;font-size:12px;padding:9px 12px;min-height:44px}.sidebar .later{display:none}.music-hero{padding:20px}.music-hero h1{margin-top:28px}.library{padding:26px 20px}.releases{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.release-info{padding:12px}.release-info h3{font-size:16px}.art{aspect-ratio:1}.art span{font-size:9px}.player{padding:10px 14px;grid-template-columns:1fr;gap:6px}.now img{width:36px;height:36px}.now{gap:10px}.now strong{font-size:12px}.now small{font-size:10px}.transport{position:absolute;right:10px;top:8px}.transport button{padding:5px;min-width:32px}.transport button[data-cmd=shuffle],.transport button[data-cmd=repeat]{display:none}.transport .play{width:42px;height:42px}.now{padding-right:140px}.timeline{margin-top:8px}.volume{display:flex;justify-content:space-between}.volume label,.volume input{display:none}.volume button{padding:3px 12px;min-height:32px;font-size:11px}.volume:before{content:'MULLIVOX® · MUSIC';font-size:9px;letter-spacing:.15em;color:var(--muted)}.track{grid-template-columns:42px 1fr}.track-actions{grid-column:2;flex-wrap:wrap}.section-head{align-items:flex-start}.section-head h2{font-size:16px}.playlist-tools{display:grid}.switch{gap:8px;font-size:10px}.switch span{padding:6px 12px}}

.transport button{font-family:Arial,sans-serif}#mobile-options{display:none}@media(max-width:650px){#mobile-options{display:block}.section-head small{font-size:10px;flex-shrink:0;max-width:105px}.releases{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v002: keep the complete moon/cat scene in-frame instead of cover-cropping it. */
.hero,.music-hero{position:relative;isolation:isolate;overflow:hidden;background:#07111d;min-height:390px}
.hero-scene{position:absolute;right:0;top:0;height:100%;width:auto;max-width:none;object-fit:contain;pointer-events:none;z-index:-2}
.hero::after,.music-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#07111d 0%,#07111deb 25%,#07111d22 60%,transparent 85%)}
.hero>:not(.hero-scene),.music-hero>:not(.hero-scene){position:relative;max-width:64%}
.hero h1{font-size:clamp(32px,4vw,56px)}.music-hero h1{margin-top:46px}.music-hero .search{max-width:54%;margin-top:28px}
.art{aspect-ratio:1/1;height:auto;background-color:#0c1723}img.art{display:block;object-fit:contain;object-position:center}.now img{object-fit:contain}
.release-detail-art{width:min(300px,100%);margin:0 0 22px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.release-share{margin:0 12px 16px 0}
.release-info p{font-size:13px;min-height:21px}.status:empty{display:none}.switch small{color:#a0b7c8}.legal-note{line-height:1.9}.release-info button{font-size:13px}
.share-layout{display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:45px;align-items:center;max-width:950px;margin:35px auto}.share-cover{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#0d1722}.share-layout h1{font-size:clamp(30px,4vw,48px);overflow-wrap:anywhere}.share-layout .button{margin:8px 8px 8px 0}
@media(min-width:1650px){.hero,.music-hero{min-height:440px}}
@media(min-width:651px) and (max-width:1050px){.hero>:not(.hero-scene),.music-hero>:not(.hero-scene){max-width:65%}.music-hero .search{max-width:70%}.music-hero h1{font-size:32px}.hero::after,.music-hero::after{background:linear-gradient(90deg,#07111d 0%,#07111dda 20%,#07111d22 70%,transparent)}}
@media(max-width:650px){.hero,.music-hero{min-height:0;padding:230px 20px 28px}.hero-scene{top:0;right:0;height:auto;width:100%;max-height:none;object-fit:contain}.hero::after,.music-hero::after{background:linear-gradient(0deg,#07111d 0%,#07111d 38%,transparent 67%)}.hero>:not(.hero-scene),.music-hero>:not(.hero-scene){max-width:100%}.music-hero .switch{position:absolute;left:20px;top:18px;max-width:80%}.music-hero h1{font-size:29px;margin:10px 0 14px}.music-hero .search{max-width:100%;margin-top:22px}.hero h1{font-size:36px}.hero{padding-top:245px}.hero .eyebrow{margin-top:6px}.release-detail-art{width:min(240px,100%)}.share-layout{grid-template-columns:1fr;gap:25px;margin-top:10px}.share-cover{max-width:300px}.section-head h2{font-size:14px;letter-spacing:.12em}}
@media(min-width:480px) and (max-width:650px){.hero,.music-hero{padding-top:300px}}

@media(min-width:651px){.hero-scene{mask-image:linear-gradient(90deg,transparent,#000 28%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%)}}

/* v003: passive current-track state, with no layout or playback changes. */
.track.is-current{background:linear-gradient(90deg,#17374c85,transparent 85%);box-shadow:inset 2px 0 0 #8bd5ff}
.track.is-current .track-title{color:#b6e6ff}
.track-state{display:none;margin-left:10px;font-size:10px;letter-spacing:.04em;white-space:nowrap;color:#9bc6df}
.track.is-current .track-state{display:inline-flex;align-items:center;gap:6px}
.track-state::before{content:'';display:inline-block;width:5px;height:5px;border:1px solid #9ad8ff;border-radius:50%}
.track.is-playing .track-state::before{background:#9ad8ff;box-shadow:0 0 7px #78cfff}
.track.is-paused .track-state{color:#9caebb}

/* Maintenance: stretch card bodies and anchor buttons to the bottom of each row. */
.releases > .release{display:flex;flex-direction:column;min-width:0}
.releases > .release > .art{flex-shrink:0}
.releases > .release > .release-info{display:flex;flex-direction:column;flex:1;min-width:0}
.releases > .release > .release-info > button{margin-top:auto}

/* Optional release booklet and the two requested Music footer links only. */
.booklet-button{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px 12px;vertical-align:top}
.booklet-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.music-legal-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:6px;font-size:12px;color:var(--muted)}
.music-legal-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.music-legal-links a:hover{color:var(--blue)}
body.booklet-open{overflow:hidden}
.booklet-dialog{display:none;padding:0;width:min(760px,calc(100vw - 48px));max-width:760px;max-height:88vh;max-height:88dvh;margin:auto;border:1px solid #41667f;border-radius:14px;background:#0d1722;color:#edf3f7;box-shadow:0 20px 90px #0009;overflow:hidden}
.booklet-dialog[open]{display:flex;flex-direction:column}
.booklet-dialog::backdrop,.booklet-fallback-backdrop{background:#02070dd9;backdrop-filter:blur(7px)}
.booklet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex:0 0 auto;padding:24px 28px 18px;border-bottom:1px solid var(--line)}
.booklet-header .eyebrow{font-size:10px;margin-bottom:8px}.booklet-title{margin:0;font-size:23px;letter-spacing:.04em;line-height:1.4;overflow-wrap:anywhere}
.booklet-close{width:44px;min-width:44px;height:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0;font-size:28px;line-height:1;background:#142534}
.booklet-content{padding:26px 30px 32px;overflow:auto;min-height:0;line-height:1.85;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-wrap:anywhere}
.booklet-content h1,.booklet-content h2,.booklet-content h3,.booklet-content h4,.booklet-content h5,.booklet-content h6{line-height:1.4;letter-spacing:.02em;font-weight:500;margin:1.2em 0 .65em}
.booklet-content h1{font-size:29px}.booklet-content h2{font-size:24px}.booklet-content h3{font-size:20px}.booklet-content h4,.booklet-content h5,.booklet-content h6{font-size:17px}
.booklet-content>:first-child{margin-top:0}.booklet-content p{margin-bottom:1.1em;white-space:pre-line}.booklet-content blockquote{margin:20px 0;padding:6px 0 6px 20px;border-left:2px solid var(--blue);color:#bed3e2}.booklet-content blockquote p:last-child{margin-bottom:0}
.booklet-content ul,.booklet-content ol{padding-left:25px;margin:16px 0}.booklet-content li{margin:7px 0}.booklet-content strong{color:#e6f5ff}.booklet-content code{font-size:.9em;background:#172738;padding:2px 5px;border-radius:4px}.booklet-content pre{overflow:auto;white-space:pre-wrap;background:#101f2e;padding:15px;border-radius:7px}.booklet-content pre code{padding:0;background:none}
.booklet-fallback-backdrop{position:fixed;inset:0;z-index:99}.booklet-dialog[role=dialog]{position:fixed;inset:0;z-index:100}
@media(max-width:650px){.booklet-dialog{width:calc(100vw - 20px);max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.booklet-header{padding:18px 16px 14px;gap:12px}.booklet-title{font-size:21px}.booklet-content{padding:22px 19px 30px;font-size:16px;line-height:1.85}.booklet-content h1{font-size:26px}.booklet-content h2{font-size:22px}.booklet-button{margin-left:8px}}
