.tuner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;gap:1.5rem;user-select:none;cursor:default;padding:2rem}.tap-prompt{font-size:1.4rem;color:#aaa;letter-spacing:.05em;animation:pulse-prompt 2s ease-in-out infinite}@keyframes pulse-prompt{0%,to{opacity:.6}50%{opacity:1}}.note-display{display:flex;flex-direction:column;align-items:center;gap:.3rem}.note-name{font-size:5rem;font-weight:700;line-height:1;min-height:5rem;color:#555;transition:color .2s ease,text-shadow .3s ease}.note-name--active{color:#e0e0e0}.note-name--in-tune{color:#4caf50;text-shadow:0 0 20px rgba(76,175,80,.5),0 0 40px rgba(76,175,80,.25);animation:glow-pulse 1.5s ease-in-out infinite}@keyframes glow-pulse{0%,to{text-shadow:0 0 20px rgba(76,175,80,.5),0 0 40px rgba(76,175,80,.25)}50%{text-shadow:0 0 30px rgba(76,175,80,.7),0 0 60px rgba(76,175,80,.4)}}.note-octave{font-size:2rem;font-weight:400;opacity:.6;vertical-align:sub}.frequency-readout{font-size:.9rem;color:#888;font-variant-numeric:tabular-nums;min-height:1.2em}.cents-readout{font-size:1rem;color:#999;font-variant-numeric:tabular-nums;min-height:1.3em;transition:color .2s ease}.cents-readout--in-tune{color:#4caf50}
