body{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.6;overflow-x:hidden;padding-bottom:90px}
button{font:inherit;color:inherit}

.hero{position:relative;background:var(--peach);padding:56px 0 110px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}
.hero h1{font-size:clamp(3rem,9vw,6rem);font-weight:800;margin:10px 0 12px}
.hero h1 em{font-style:normal;background:var(--sun);padding:0 .2em;border-radius:.3em;display:inline-block;transform:rotate(-3deg)}
.hero p{font-size:1.15rem;max-width:32em}
.chips{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.chip{background:#fff;font-weight:800;padding:8px 18px;border-radius:999px;border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);font-size:.92rem}
.notes{position:relative;height:240px;max-width:300px;margin-inline:auto;width:100%}
.notes span{position:absolute;font-size:4.5rem;animation:bounce 2.4s ease-in-out infinite;filter:drop-shadow(0 6px 0 rgba(39,33,77,.25))}
.notes span:nth-child(1){left:6%;top:30%}
.notes span:nth-child(2){left:38%;top:0;animation-delay:-.6s;font-size:6rem}
.notes span:nth-child(3){right:4%;top:36%;animation-delay:-1.2s}
.notes span:nth-child(4){left:30%;bottom:0;animation-delay:-1.8s;font-size:3.4rem}
@keyframes bounce{50%{transform:translateY(-16px) rotate(8deg)}}
.wave{position:absolute;bottom:-1px;left:0;width:100%;height:70px}

.tools{margin-top:-34px;position:relative;z-index:5;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.search{flex:1 1 300px;display:flex;align-items:center;gap:10px;background:#fff;border:3px solid var(--ink);border-radius:999px;padding:6px 20px;box-shadow:0 6px 0 var(--ink)}
.search input{flex:1;border:0;outline:0;font:inherit;font-weight:700;padding:10px 0;background:transparent;color:var(--ink);min-width:0}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{font-weight:800;border:2px solid var(--ink);background:#fff;border-radius:999px;padding:9px 15px;cursor:pointer;transition:.15s}
.filters button:hover{background:#fff3d6}
.filters button.on{background:var(--grape);color:#fff;box-shadow:0 4px 0 var(--accent-deep)}
.count{margin:28px 0 16px;font-weight:800;color:var(--muted)}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:22px;padding-bottom:70px}
.song{background:#fff;border:3px solid var(--ink);border-radius:26px;padding:20px;box-shadow:0 8px 0 var(--ink);display:flex;flex-direction:column;gap:14px;transition:.18s;position:relative}
.song:hover{transform:translateY(4px) rotate(-.5deg);box-shadow:0 4px 0 var(--ink)}
.song.playing{background:#fff6dc;box-shadow:0 8px 0 var(--coral),0 0 0 3px var(--ink)}
.top{display:flex;gap:14px;align-items:flex-start}
.play{flex:0 0 auto;width:58px;height:58px;border-radius:50%;border:3px solid var(--ink);display:grid;place-items:center;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 0 var(--ink);transition:.12s;background:var(--sun)}
.play:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--ink)}
.play.off{background:#eee;cursor:default;box-shadow:none;opacity:.6}
.note{flex:0 0 auto;width:46px;height:46px;border-radius:14px;border:3px solid var(--ink);background:var(--sky);display:grid;place-items:center;font-size:1.4rem}
.noaud{color:var(--muted);font-weight:700;font-size:.9rem}
.song h3{font-size:1.2rem;font-weight:800;line-height:1.2;padding-top:4px}
.song h3 small{display:block;font-family:var(--font-body);font-size:.78rem;color:var(--muted);font-weight:700;margin-top:3px}
.acts{display:flex;gap:8px;flex-wrap:wrap}
.act{font-weight:800;font-size:.82rem;padding:6px 13px;border-radius:999px;border:2px solid var(--ink);background:#fff;transition:.12s}
.act:hover{background:var(--mint)}
.act.pdf{background:#ffe3e3}.act.pdf:hover{background:var(--coral);color:#fff}
.empty{text-align:center;padding:50px 0;font-weight:700;color:var(--muted);display:none;font-size:1.15rem}

.rec{display:flex;align-items:center;gap:10px;background:#f5f2ff;border:2px solid var(--ink);border-radius:18px;padding:8px 12px 8px 8px}
.rec.on{background:#fff0c4}
.rec .pp{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:3px solid var(--ink);background:var(--sun);font-size:1rem;cursor:pointer;box-shadow:0 3px 0 var(--ink);display:grid;place-items:center;transition:.12s;padding:0}
.rec .pp:hover{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}
.rec .mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rec .nm{display:flex;justify-content:space-between;gap:8px;font-size:.78rem;font-weight:800;color:var(--muted)}
.rec .nm b{color:var(--ink);text-transform:uppercase;letter-spacing:.06em}
.rec input[type=range]{width:100%;accent-color:var(--grape);height:18px;margin:0;cursor:pointer}
.rec .dl{flex:0 0 auto;font-size:1.05rem;padding:4px 6px;border-radius:10px}
.rec .dl:hover{background:var(--mint)}
.rec.bad .pp{background:#eee;cursor:not-allowed;box-shadow:none;opacity:.7}
.recs{display:flex;flex-direction:column;gap:8px}
footer{background:var(--ink);color:#d9d4ff;padding:36px 0;text-align:center;font-size:.9rem}
@media(max-width:760px){.hero .wrap{grid-template-columns:1fr}.notes{display:none}.back span{display:none}}
