:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-top:#0a0a16;--bg-bottom:#05050c}*{box-sizing:border-box}html,body{height:100%}body{color:#f2f2f8;background:radial-gradient(ellipse at 50% -10%, var(--bg-top), var(--bg-bottom) 70%);flex-direction:column;min-height:100dvh;margin:0;font-family:system-ui,sans-serif;display:flex;overflow:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}header{flex:none;padding:1rem 1.25rem}header a{color:#cfd2ff;letter-spacing:.02em;opacity:.85;font-weight:600;text-decoration:none}main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.5rem;min-height:0;padding:0 1rem 2rem;display:flex}.hint{color:#9a9dc4;letter-spacing:.03em;text-align:center;opacity:.8;margin:0;font-size:.95rem;transition:opacity .6s}.hint.is-quiet{opacity:0}.stage{touch-action:none;justify-content:center;align-items:flex-end;gap:clamp(.4rem,2vw,1rem);width:100%;max-width:60rem;height:min(48vh,26rem);padding:0 .5rem;display:flex}@property --level{syntax:"<number>";inherits:false;initial-value:0}.pad{--hue:260;--level:0;background:linear-gradient(to top, hsl(var(--hue) 85% calc(28% + var(--level) * 22%) / 1), hsl(var(--hue) 90% calc(50% + var(--level) * 20%) / 1));max-width:5.5rem;height:100%;box-shadow:0 0 calc(.5rem + var(--level) * 3rem) hsl(var(--hue) 95% 65% / calc(.25 + var(--level) * .55)), inset 0 0 1.2rem hsl(var(--hue) 90% 85% / calc(.15 + var(--level) * .35));cursor:pointer;color:#0000;transform:translateY(calc((1 - var(--level)) * 4%)) scaleY(calc(.88 + var(--level) * .12));transform-origin:bottom;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;flex:1 1 0;padding:0;transition:transform 90ms ease-out,box-shadow 90ms ease-out,background 90ms ease-out;position:relative}.pad:focus-visible{outline-offset:3px;outline:3px solid #fff}.pad__key{text-align:center;letter-spacing:.05em;color:hsl(var(--hue) 40% 88% / .75);text-transform:uppercase;font-size:.75rem;position:absolute;bottom:.6rem;left:0;right:0}@keyframes breathe{0%,to{--level:0}50%{--level:.22}}.pad.is-idle{animation:3.2s ease-in-out infinite breathe}@media (prefers-reduced-motion:reduce){.pad.is-idle{--level:.12;animation:none}}footer.credits{display:none}@media (width<=480px){.stage{gap:.35rem;height:min(52vh,22rem)}.pad__key{font-size:.65rem}}
