@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@font-face{font-family:Musical;src:local("Musical"),url(/fonts/musical.woff2) format("woff2");font-display:swap}.music-notation{font-family:Musical,sans-serif}.audio-wave{animation:pulse 2s ease-in-out infinite}.note-correct{animation:slideIn .3s ease-out}.note-incorrect{animation:shake .3s ease-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}*{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}@media screen and (max-width:600px){input[type=email],input[type=number],input[type=tel],input[type=text],select,textarea{font-size:16px!important}}.degree-button,.exercise-stage,.piano-key-black,.piano-key-white,.piano-keyboard-container{transform:translateZ(0);will-change:transform}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.scroll-container{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media screen and (max-width:600px){.touch-target{min-width:44px;min-height:44px}.touch-target-large{min-width:52px;min-height:52px}.interactive-group>*+*{margin-left:8px}}@media (prefers-color-scheme:dark){:root{color-scheme:dark}}@media (prefers-contrast:high){.piano-key-white{border:2px solid #000!important}.piano-key-black{border:2px solid #fff!important}}@media (prefers-reduced-motion:reduce){.piano-key-black,.piano-key-white{transition:none!important;animation:none!important}.exercise-stage{animation:none!important}}@media screen and (max-width:600px){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeSpeed}@font-face{font-display:swap}}.performance-optimized{contain:layout style paint}@media screen and (max-width:600px) and (orientation:landscape){.piano-keyboard-container{height:100px}.exercise-controls{flex-direction:row!important}}@supports (padding:max(0px)){.safe-area-top{padding-top:max(16px,env(safe-area-inset-top))}.safe-area-bottom{padding-bottom:max(16px,env(safe-area-inset-bottom))}.safe-area-left{padding-left:max(16px,env(safe-area-inset-left))}.safe-area-right{padding-right:max(16px,env(safe-area-inset-right))}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.high-dpi-optimized{image-rendering:-webkit-optimize-contrast}}body{overscroll-behavior:none;min-height:100vh}@media screen and (max-width:600px){.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}}@media (max-width:600px) and (max-height:400px){.compact-mode{font-size:.875rem;padding:4px}.piano-keyboard-container{height:80px}}@media screen and (max-width:600px){.focus-visible{outline:2px solid #007acc;outline-offset:2px}.using-touch .focus-visible{outline:none}}@media (prefers-reduced-data){.data-saver-mode{background-image:none!important;box-shadow:none!important;animation:none!important}}@media print{.no-print{display:none!important}.print-optimized{color:#000!important;background:#fff!important}}@media (prefers-reduced-transparency){.transparency-sensitive{background-color:solid!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}.gpu-accelerated{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.cpu-optimized{contain:layout style;content-visibility:auto}@media screen and (max-width:600px){.mobile-hidden{display:none!important}.mobile-visible{display:block!important}.mobile-full-width{width:100%!important}.mobile-center{text-align:center!important}.mobile-stack{flex-direction:column!important}.mobile-compact{padding:8px!important;margin:4px!important}}