/* Compact neon player · v1.2.1 */
body{--bg:#090812;--panel:#191323;--muted:#a39aae;--text:#f5f0ff;background:#090812;background-image:radial-gradient(ellipse at 88% 7%,#c019612b,transparent 45%),radial-gradient(ellipse at 5% 28%,#5039d82a,transparent 45%)}
.site-header{border-color:#bda2df18}.brand{filter:drop-shadow(0 0 12px #b571f63d)}
.hero{grid-template-columns:minmax(0,1fr) 360px;gap:75px;padding-block:42px 50px;min-height:0;max-width:1140px}
.hero h1{font-size:clamp(48px,5.4vw,72px)}
.hero h1 em{background-image:linear-gradient(100deg,#5bddff,#ab80ff 55%,#ff80ce)}
.hero .intro{color:#a99bb9}.eyebrow{color:#ae94c6}
.primary{background:linear-gradient(110deg,#72dfff,#b497ff 50%,#f591d5);color:#20102e;box-shadow:0 5px 28px #9f57ed2b}
.primary:hover{background:linear-gradient(110deg,#99e9ff,#c7b1ff 50%,#ffb3e6);box-shadow:0 5px 30px #b266ee42}
.neon-stage{position:relative;width:340px;max-width:100%;margin-inline:auto;padding:0 0 8px;isolation:isolate}
.neon-stage:before{display:block;content:'';position:absolute;inset:-35px -35px;pointer-events:none;z-index:-2;background:radial-gradient(circle at 80% 20%,#ff27763d,transparent 52%),radial-gradient(circle at 15% 80%,#6345ff48,transparent 52%);filter:blur(25px)}
.neon-stage:after{content:'';position:absolute;bottom:-7px;left:-25px;right:-25px;height:60px;border:1px solid #a79affe0;border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 14px #7157ff88,inset 0 0 9px #765cff44;pointer-events:none;z-index:-1}
.stage-card{width:100%;padding:19px 20px 16px;border-radius:21px;border:1px solid transparent;background:linear-gradient(135deg,#28162df5,#151326fa) padding-box,linear-gradient(125deg,#d5a3ffb0,#af62dc4d 40%,#f18ac794 65%,#819effdb) border-box;box-shadow:0 18px 50px #0005,0 0 26px #815dff25}
.stage-card:before,.stage-card:after{display:block;content:'';position:absolute;height:1px;width:35%;pointer-events:none}
.stage-card:before{top:0;left:10%;background:linear-gradient(90deg,transparent,#d1bfff,transparent);box-shadow:0 0 10px 2px #a885ff66}
.stage-card:after{bottom:0;right:8%;background:linear-gradient(90deg,transparent,#abcaff,transparent);box-shadow:0 0 10px 2px #7485ff77}
.stage-heading{margin-bottom:15px;gap:8px}.stage-heading h2{font-size:16px;line-height:1.35}.stage-heading p:last-child{font-size:10px;color:#b09bc2}.stage-heading .eyebrow{font-size:7px;letter-spacing:1.2px;color:#bda0d0;margin-bottom:6px}
.stage-tools{gap:5px}.stage-tool{width:29px;height:29px;font-size:17px;color:#d1b9e7;border-color:#d8b5ff28;background:#eee0ff08}.stage-tool[aria-pressed=true]{color:#f4a9e6;background:#c983f21b;border-color:#e29df95c}
.artwork-frame{width:224px;max-width:100%;margin-inline:auto;padding:7px;background:#130d20;border:1px solid #d2aeff25;border-radius:11px;box-shadow:0 0 25px #bd65dc14}
.stage-art{aspect-ratio:1;height:auto;width:100%;border-radius:5px;background:#130d20}.stage-art>img{background:#130d20}.stage-placeholder{background:linear-gradient(145deg,#211735,#24182f)}
.stage-progress{margin-top:16px}.stage-progress input,.stage-volume input{accent-color:#c8a3ff}.stage-progress time{color:#ad8fc3;font-size:10px}
.stage-transport{gap:12px;margin:12px 0 14px}.stage-play{width:46px;height:46px;font-size:18px;color:#fff;border-color:#e6d0ff4d;background:linear-gradient(140deg,#b28dff62,#eaa6e443);box-shadow:0 0 18px #aa71ff28}.stage-play:hover{background:linear-gradient(140deg,#c1a0ff80,#f2b1ed60);box-shadow:0 0 22px #ad7aff45}
.stage-skip{width:33px;height:33px;font-size:12px;color:#d7bdeb;border-color:#e1baff26;background:#e8cfff08}
.stage-footer{padding-top:12px;border-color:#c7a2ed1c}.stage-footer>button{font-size:10px;color:#c9a8e1}.stage-volume{color:#ae8ec1;gap:7px}.stage-volume input{width:80px}
.collection{border-color:#bda2df18}.collection .section-heading h2{color:#eee4fa}.collection-count{color:#b29cc8}.album-row{border-color:#bda2df14}.album-title{color:#eee6f6}.album-meta{color:#9c88aa}.album-thumb{background:#ad7ed607;border-color:#c4a2f017;color:#af99c4}.album-open:hover .album-title{color:#d5b5ff}.album-play{background:#b28af214;color:#d4b2fa}.album-favourite.active{color:#f2a7dd}
.site-footer{border-color:#bda2df18}.site-footer img{filter:drop-shadow(0 0 20px #a566ff26)}.site-footer p{color:#a086b3}
.album-dialog,.account-dialog,.queue-dialog{background:linear-gradient(135deg,#24162fee,#151329fa);border-color:#c1a0f14d;box-shadow:0 0 30px #ab6fff1c,0 30px 90px #0008}.detail-header h2{color:#f1e6ff}.detail-header p{color:#b89ccb}.track-row.playing{background:#b07be913;color:#dbb8ff}
@media(max-width:1000px){.hero{grid-template-columns:minmax(0,1fr) 340px;gap:35px}.hero h1{font-size:57px}}
@media(max-width:850px){.hero{grid-template-columns:1fr;max-width:640px;gap:34px;padding-block:34px 44px}.hero h1{font-size:60px}.neon-stage{width:340px}}
@media(max-width:600px){.hero h1{font-size:48px}.hero{gap:30px;padding-block:28px 38px}.neon-stage{width:320px}.neon-stage:before{inset:-25px -8px}.neon-stage:after{left:-10px;right:-10px}.stage-card{padding:17px 18px 14px}.artwork-frame{width:204px}.stage-heading h2{font-size:15px}.stage-tools{gap:4px}.stage-tool{width:27px;height:27px}.stage-play{width:44px;height:44px}.stage-transport{gap:11px}}
/* Album and queue dialogs · v1.2.2 */
.album-dialog,.queue-dialog{border:1px solid transparent;background:linear-gradient(135deg,#28152ff7,#13132bf9) padding-box,linear-gradient(125deg,#73dfffaa,#ae7cff95 45%,#f28dccaa 75%,#83afffc4) border-box;box-shadow:0 0 32px #9b5cff30,0 0 70px #ec57b512,0 25px 85px #0009;isolation:isolate}
.album-dialog .detail-header h2,.queue-dialog>h2{background:linear-gradient(105deg,#85e2ff,#c4a0ff 55%,#f49edc);background-clip:text;-webkit-background-clip:text;color:transparent}
.album-dialog .eyebrow,.queue-dialog>.eyebrow{color:#bd9ce9}
.album-dialog .detail-art{border:1px solid #c298ff70;box-shadow:0 0 22px #b27aff30}
.album-dialog .detail-actions .button:not(.primary){border-color:#c18cfb64;background:linear-gradient(120deg,#7751be19,#c0529a16);color:#e0c4ff}
.album-dialog .detail-actions .button:not(.primary):hover{border-color:#7bdcffa1;background:#b680f724;box-shadow:0 0 15px #a56bff27}
.album-dialog .track-row,.queue-dialog .track-row{position:relative;border:1px solid transparent;border-bottom-color:#b081e529;background:#b079e804;border-radius:9px;margin-block:5px;transition:background .18s,border-color .18s,box-shadow .18s}
.album-dialog .track-number,.queue-dialog .track-number{color:#b8a0db}
.album-dialog .track-name,.queue-dialog .track-name{color:#eee3fb}
.queue-dialog .track-name small{color:#b79bcd}
.album-dialog .track-row:hover,.queue-dialog .track-row:hover{background:linear-gradient(110deg,#61cfff0d,#b27aff15,#f080ce0d);border-color:#ad7cf940}
.album-dialog .track-row.playing,.queue-dialog .track-row.playing{background:linear-gradient(110deg,#62dcff15,#a774ff24 55%,#f589d318);border-color:#bb8bff70;box-shadow:0 0 18px #af73ff16,inset 3px 0 0 #82dcff}
.album-dialog .track-row.playing .track-name,.queue-dialog .track-row.playing .track-name{color:#9ce5ff;text-shadow:0 0 12px #58cfff30}
.album-dialog .track-row.playing .track-number,.queue-dialog .track-row.playing .track-number{color:#eeadf5}
.album-dialog .close-dialog,.queue-dialog .close-dialog{width:32px;height:32px;display:grid;place-items:center;padding:0;line-height:1;color:#dfb8ff;border-radius:50%;background:#bd7bff0a}
.album-dialog .close-dialog:hover,.queue-dialog .close-dialog:hover{background:#c77aff20;color:#ffc2ec}
.album-dialog button:focus-visible,.queue-dialog button:focus-visible{outline:2px solid #8cddff;outline-offset:3px;border-radius:6px}
@media(prefers-reduced-motion:reduce){.album-dialog .track-row,.queue-dialog .track-row{transition:none}}
/* Mix tracklist · v1.3.0 */
.mix-tracklist{border:1px solid #b588ed45;border-radius:10px;margin:20px 0;background:linear-gradient(110deg,#79dfff07,#b27aff0e,#ef88ca07)}
.mix-tracklist>summary{cursor:pointer;padding:14px 16px;color:#c4c1ff;font-size:13px;line-height:1.4}
.mix-tracklist>summary:hover{color:#9de7ff}.mix-tracklist>summary:focus-visible{outline:2px solid #8cddff;outline-offset:3px;border-radius:8px}
.mix-tracklist[open]>summary{border-bottom:1px solid #b588ed26}
.mix-tracklist-text{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.85 Arial,sans-serif;padding:17px;color:#d7c7e6;max-height:380px;overflow-y:auto}
.audio-list-heading{color:#a798be;font-size:11px;font-weight:500;letter-spacing:.6px;margin:24px 0 10px}
/* Compact dialogs and consistent close controls · v1.3.1 */
.album-dialog{width:min(620px,92vw);max-height:85dvh;padding:26px 24px 22px;border-radius:16px}
.album-dialog .detail-header{grid-template-columns:88px minmax(0,1fr);gap:16px;margin-bottom:16px;padding-right:22px}
.album-dialog .detail-art{width:88px;border-radius:8px;box-shadow:0 0 14px #b27aff20}
.album-dialog .detail-header h2{font-size:21px;line-height:1.3;margin:6px 0 8px}
.album-dialog .detail-header .eyebrow{font-size:8px;letter-spacing:1px}.album-dialog .detail-header p{font-size:11px;line-height:1.6;margin-block:5px}
.album-dialog .detail-actions{gap:8px;margin:16px 0;flex-wrap:wrap}.album-dialog .detail-actions .button{font-size:11px;padding:9px 13px;min-height:35px}
.album-dialog .track-row{padding:10px 8px;margin-block:2px;border-radius:5px;background:transparent;border-bottom-color:#b081e51c}
.album-dialog .track-name{font-size:12px;line-height:1.5}.album-dialog .track-number{font-size:10px}
.album-dialog .mix-tracklist{margin:14px 0;border-radius:7px}.album-dialog .mix-tracklist>summary{font-size:11px;padding:11px 12px}.album-dialog .audio-list-heading{margin:16px 0 7px;font-size:10px}
body dialog[class] .close-dialog{position:absolute;top:12px;right:12px;width:30px;height:30px;display:grid;place-items:center;padding:0;line-height:1;font-size:22px;border:1px solid #ca9fff32;border-radius:50%;background:#bd7bff0a;color:#dfb8ff;box-shadow:none}
body dialog[class] .close-dialog:hover{background:#c77aff20;color:#ffc2ec}
body dialog[class] .close-dialog:focus-visible{outline:2px solid #8cddff;outline-offset:2px;border-radius:50%}
.stage-skip:disabled{opacity:.35;cursor:default}.stage-skip:not(:disabled){color:#efdfff;border-color:#c49ae34d}
@media(max-width:600px){.album-dialog{padding:24px 16px 18px;width:92vw}.album-dialog .detail-header{grid-template-columns:68px minmax(0,1fr);gap:12px}.album-dialog .detail-art{width:68px}.album-dialog .detail-header h2{font-size:18px}.album-dialog .detail-header p{font-size:10px}}
