@import url('https://fonts.googleapis.com/css2?family=Bungee&family=Nunito:wght@600;800&display=swap');
:root{--ink:#20202c;--paper:#fff9ed;--pink:#f05d7b;--yellow:#ffd166;--blue:#5d78e8}*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:24px;background:radial-gradient(circle at 90% 5%,#ffd166 0 13%,transparent 31%),linear-gradient(140deg,#5d78e8,#f05d7b 70%,#ff9c70);color:var(--ink);font-family:Nunito,sans-serif}main{width:min(940px,100%);margin:auto}header{display:flex;justify-content:space-between;gap:16px;align-items:center}a{color:var(--ink);font-weight:800}.tag,.eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tag{padding:8px 10px;border:2px solid var(--ink);border-radius:5px;background:var(--paper)}.intro{margin:56px 0 28px}.eyebrow{margin:0 0 9px;color:var(--paper)}h1{margin:0;font:clamp(3.3rem,8vw,6rem)/.87 Bungee,Impact,sans-serif}h1 span{color:var(--paper);text-shadow:4px 4px 0 var(--ink)}.intro p:last-child{margin:18px 0 0;font-size:1.1rem;font-weight:800}.piano-panel{padding:24px;border:3px solid var(--ink);border-radius:8px;background:var(--paper);box-shadow:6px 6px 0 var(--ink)}.piano{position:relative;display:flex;height:300px}.key{font:800 .75rem Nunito,sans-serif;cursor:pointer}.white{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;padding:0 0 14px;border:2px solid var(--ink);border-radius:0 0 6px 6px;background:#fff;color:#7a7a85}.white span{margin-top:6px;color:var(--ink);font-size:1.25rem}.white.active,.white:active{background:#dfe8ff;transform:translateY(3px)}.black{position:absolute;z-index:2;top:0;width:7%;height:58%;padding-top:10px;border:2px solid #000;border-radius:0 0 5px 5px;background:#20202c;color:#fff}.black:nth-child(2){left:6.1%}.black:nth-child(4){left:13.8%}.black:nth-child(7){left:37.1%}.black:nth-child(9){left:44.8%}.black:nth-child(11){left:52.5%}.black.active,.black:active{background:var(--pink);transform:translateY(3px)}.piano-panel p{min-height:1.4em;margin:18px 0 0;text-align:center;font-weight:800}.note{color:var(--paper);font-size:.82rem;font-weight:800}@media(max-width:600px){body{padding:18px}.intro{margin-top:44px}.piano-panel{padding:12px}.piano{height:220px}.black{font-size:.65rem}}
