:root{--ink:#fffaf0;--muted:#d7c9dc;--purple:#170824;--purple2:#310d45;--card:#271036;--gold:#f1c461;--gold2:#b8781d;--line:rgba(241,196,97,.3)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 50% 0,#39124e 0,#170824 42%,#0d0614 100%);color:var(--ink);font-family:Georgia,"Times New Roman",serif;min-height:100vh;padding-bottom:118px}
button,input{font:inherit}
button{cursor:pointer}
.hero{min-height:520px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:58px 22px 78px;border-bottom:1px solid var(--line)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,#170824);pointer-events:none}
.light{position:absolute;inset:-90px 15% auto;height:430px;background:conic-gradient(from 165deg at 50% 0,transparent 0 35%,rgba(255,211,116,.45) 43%,transparent 48%,rgba(255,217,128,.22) 52%,transparent 61%);filter:blur(10px);opacity:.75}
.melody-line{position:absolute;z-index:2;top:9px;left:50%;transform:translateX(-50%);width:min(1180px,98vw);height:145px;overflow:hidden;filter:drop-shadow(0 4px 9px rgba(0,0,0,.35))}
.melody-line svg{display:block;width:100%;height:100%;overflow:visible}
.staff path{fill:none;stroke:rgba(255,224,160,.72);stroke-width:3.2;stroke-linecap:round}
.clef text{font-size:126px;fill:#42c98d;stroke:#113c2e;stroke-width:1.5;paint-order:stroke;filter:drop-shadow(0 0 7px rgba(66,201,141,.5))}
.music-note ellipse,.music-note path{stroke:currentColor;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;fill:currentColor}.music-note.green{color:#65d27e}.music-note.blue{color:#47a9f5}.music-note.amber{color:#ffc744}.music-note.coral{color:#ff704d}.music-note.pink{color:#ff4faf}.music-note.aqua{color:#43d7d4}.music-note.violet{color:#ba75f5}.music-note.gold{color:#ffd96b}
.private-badge,.ornament,h1,.tagline,.hero-button{position:relative;z-index:1}
.private-badge{font:700 .75rem Arial,sans-serif;letter-spacing:.2em;color:#170824;background:var(--gold);padding:7px 12px;border-radius:99px;margin:0 0 24px}
.ornament{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:1rem;width:min(360px,80vw)}
.ornament span{height:1px;background:linear-gradient(90deg,transparent,var(--gold));flex:1}.ornament span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
h1{margin:18px 0 6px;text-transform:uppercase;font-weight:400;line-height:.86;font-size:clamp(3.4rem,12vw,7.4rem);letter-spacing:.02em;text-shadow:0 3px 24px rgba(0,0,0,.5)}
h1 span{display:block;color:var(--gold);font-weight:700;background:linear-gradient(#ffe4a0,#d58c20);-webkit-background-clip:text;background-clip:text;color:transparent}
.tagline{margin:22px 0 30px;color:#ead7ef;text-transform:uppercase;letter-spacing:.18em;font:600 clamp(.76rem,2vw,1rem) Arial,sans-serif}
.hero-button{border:1px solid var(--gold);color:#211029;background:var(--gold);font:bold 1rem Arial,sans-serif;padding:13px 23px;border-radius:7px;box-shadow:0 8px 30px rgba(241,196,97,.15)}
.hero-button:hover,.hero-button:focus{background:#ffe1a0;outline:3px solid rgba(255,255,255,.35);outline-offset:3px}
.note{position:absolute;color:var(--gold);text-shadow:0 0 18px rgba(241,196,97,.65);opacity:.85;transform:rotate(-9deg)}
.note-one{left:7%;top:25%;font-size:4rem}.note-two{right:8%;top:22%;font-size:3.3rem}.note-three{right:15%;bottom:20%;font-size:2.4rem}
.library{max-width:1100px;margin:auto;padding:70px 22px}
.intro{text-align:center;max-width:720px;margin:auto}
.eyebrow{color:var(--gold);font:bold .76rem Arial,sans-serif;letter-spacing:.2em}
h2{font-size:clamp(2.1rem,6vw,3.8rem);margin:10px 0 15px;color:#fff}
.intro>p:last-child{font:1.12rem/1.7 Arial,sans-serif;color:var(--muted)}
.controls{margin:45px 0 20px;display:grid;gap:18px;background:rgba(255,255,255,.045);border:1px solid var(--line);padding:18px;border-radius:14px}
.search span{display:block;font:bold .8rem Arial,sans-serif;color:var(--gold);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em}
.search input{width:100%;background:#12071b;border:1px solid #735286;color:white;border-radius:8px;padding:14px 16px;font-family:Arial,sans-serif;font-size:1rem}
.search input:focus{outline:3px solid rgba(241,196,97,.32);border-color:var(--gold)}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filter{border:1px solid #735286;border-radius:99px;background:transparent;color:white;padding:9px 14px;font:700 .87rem Arial,sans-serif}
.filter.active,.filter:hover{background:var(--gold);border-color:var(--gold);color:#1a0924}
.result-count{font:.9rem Arial,sans-serif;color:var(--muted);margin:24px 4px 12px}
.song-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.song-card{background:linear-gradient(145deg,rgba(57,23,72,.96),rgba(28,10,39,.96));border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;transition:.2s transform,.2s border-color;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.song-card:hover{transform:translateY(-2px);border-color:rgba(241,196,97,.72)}
.song-card.playing{border-color:var(--gold);box-shadow:0 0 0 2px rgba(241,196,97,.15)}
.track-number{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font:700 .9rem Arial,sans-serif}
.song-info{min-width:0}.song-info h3{font-size:1.16rem;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-meta{color:var(--muted);font:.82rem Arial,sans-serif;margin:0}.song-copyright{grid-column:2/-1;font:.68rem Arial,sans-serif;color:#a999ad;margin:0}
.play-button{width:48px;height:48px;border:0;border-radius:50%;background:var(--gold);color:#221029;font-size:1.15rem;display:grid;place-items:center}.play-button:hover,.play-button:focus{background:#ffe0a0;outline:3px solid rgba(255,255,255,.25)}
.no-results{grid-column:1/-1;text-align:center;color:var(--muted);font:1rem Arial,sans-serif;padding:45px}
.player-bar{position:fixed;z-index:20;left:0;right:0;bottom:0;background:rgba(14,5,20,.96);backdrop-filter:blur(14px);border-top:1px solid var(--gold);padding:13px max(18px,calc((100vw - 1100px)/2));display:grid;grid-template-columns:minmax(210px,1fr) minmax(300px,2fr);align-items:center;gap:24px;box-shadow:0 -10px 40px rgba(0,0,0,.35)}
.now-playing{display:flex;align-items:center;gap:12px;min-width:0}.mini-note{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold);color:#24102d;font-size:1.4rem}.now-playing div{min-width:0}.now-playing small{display:block;color:var(--gold);font:bold .65rem Arial,sans-serif;letter-spacing:.1em;margin-bottom:4px}.now-playing strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}audio{width:100%;height:42px;accent-color:var(--gold)}
footer{text-align:center;padding:50px 20px 155px;border-top:1px solid var(--line);color:var(--muted);font:.9rem Arial,sans-serif}.footer-note{font-size:2.3rem;color:var(--gold);margin-bottom:15px}.evaluation{font-size:.76rem;color:#99879f;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:760px){body{padding-bottom:150px}.hero{min-height:520px;padding-top:125px}.melody-line{top:12px;height:115px;width:150vw}.song-list{grid-template-columns:1fr}.player-bar{grid-template-columns:1fr;gap:8px;padding:10px 14px 12px}.now-playing{justify-content:center}.now-playing strong{max-width:70vw}.song-card{grid-template-columns:auto 1fr auto}.note-one{left:2%;font-size:2.8rem}.note-two{right:3%;font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.song-card{transition:none}}
