body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(data:font/woff2;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ZW4+CiAgPG1ldGEgY2hhcnNldD11dGYtOD4KICA8bWV0YSBuYW1lPXZpZXdwb3J0IGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9MSwgbWluaW11bS1zY2FsZT0xLCB3aWR0aD1kZXZpY2Utd2lkdGgiPgogIDx0aXRsZT5FcnJvciA0MDQgKE5vdCBGb3VuZCkhITE8L3RpdGxlPgogIDxzdHlsZT4KICAgICp7bWFyZ2luOjA7cGFkZGluZzowfWh0bWwsY29kZXtmb250OjE1cHgvMjJweCBhcmlhbCxzYW5zLXNlcmlmfWh0bWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMjI7cGFkZGluZzoxNXB4fWJvZHl7bWFyZ2luOjclIGF1dG8gMDttYXgtd2lkdGg6MzkwcHg7bWluLWhlaWdodDoxODBweDtwYWRkaW5nOjMwcHggMCAxNXB4fSogPiBib2R5e2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2Vycm9ycy9yb2JvdC5wbmcpIDEwMCUgNXB4IG5vLXJlcGVhdDtwYWRkaW5nLXJpZ2h0OjIwNXB4fXB7bWFyZ2luOjExcHggMCAyMnB4O292ZXJmbG93OmhpZGRlbn1pbnN7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZX1hIGltZ3tib3JkZXI6MH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc3MnB4KXtib2R5e2JhY2tncm91bmQ6bm9uZTttYXJnaW4tdG9wOjA7bWF4LXdpZHRoOm5vbmU7cGFkZGluZy1yaWdodDowfX0jbG9nb3tiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfMTUweDU0ZHAucG5nKSBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6LTVweH1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjoxOTJkcGkpeyNsb2dve2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19jb2xvcl8xNTB4NTRkcC5wbmcpIG5vLXJlcGVhdCAwJSAwJS8xMDAlIDEwMCU7LW1vei1ib3JkZXItaW1hZ2U6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19jb2xvcl8xNTB4NTRkcC5wbmcpIDB9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoyKXsjbG9nb3tiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzJ4L2dvb2dsZWxvZ29fY29sb3JfMTUweDU0ZHAucG5nKSBuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlfX0jbG9nb3tkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NTRweDt3aWR0aDoxNTBweH0KICA8L3N0eWxlPgogIDxhIGhyZWY9Ly93d3cuZ29vZ2xlLmNvbS8+PHNwYW4gaWQ9bG9nbyBhcmlhLWxhYmVsPUdvb2dsZT48L3NwYW4+PC9hPgogIDxwPjxiPjQwNC48L2I+IDxpbnM+VGhhdOKAmXMgYW4gZXJyb3IuPC9pbnM+CiAgPHA+VGhlIHJlcXVlc3RlZCBVUkwgPGNvZGU+L3MvY29ybW9yYW50Z2FyYW1vbmQvdjE2L2NvM2JtWDVzbENOdUhMaThiTGVZOU1LN3doV01oeWpRQWxsdnVRV0o1aGViX3cud29mZjI8L2NvZGU+IHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuICA8aW5zPlRoYXTigJlzIGFsbCB3ZSBrbm93LjwvaW5zPgo=) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ZW4+CiAgPG1ldGEgY2hhcnNldD11dGYtOD4KICA8bWV0YSBuYW1lPXZpZXdwb3J0IGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9MSwgbWluaW11bS1zY2FsZT0xLCB3aWR0aD1kZXZpY2Utd2lkdGgiPgogIDx0aXRsZT5FcnJvciA0MDQgKE5vdCBGb3VuZCkhITE8L3RpdGxlPgogIDxzdHlsZT4KICAgICp7bWFyZ2luOjA7cGFkZGluZzowfWh0bWwsY29kZXtmb250OjE1cHgvMjJweCBhcmlhbCxzYW5zLXNlcmlmfWh0bWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMjI7cGFkZGluZzoxNXB4fWJvZHl7bWFyZ2luOjclIGF1dG8gMDttYXgtd2lkdGg6MzkwcHg7bWluLWhlaWdodDoxODBweDtwYWRkaW5nOjMwcHggMCAxNXB4fSogPiBib2R5e2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2Vycm9ycy9yb2JvdC5wbmcpIDEwMCUgNXB4IG5vLXJlcGVhdDtwYWRkaW5nLXJpZ2h0OjIwNXB4fXB7bWFyZ2luOjExcHggMCAyMnB4O292ZXJmbG93OmhpZGRlbn1pbnN7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZX1hIGltZ3tib3JkZXI6MH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc3MnB4KXtib2R5e2JhY2tncm91bmQ6bm9uZTttYXJnaW4tdG9wOjA7bWF4LXdpZHRoOm5vbmU7cGFkZGluZy1yaWdodDowfX0jbG9nb3tiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfMTUweDU0ZHAucG5nKSBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6LTVweH1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjoxOTJkcGkpeyNsb2dve2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19jb2xvcl8xNTB4NTRkcC5wbmcpIG5vLXJlcGVhdCAwJSAwJS8xMDAlIDEwMCU7LW1vei1ib3JkZXItaW1hZ2U6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19jb2xvcl8xNTB4NTRkcC5wbmcpIDB9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoyKXsjbG9nb3tiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzJ4L2dvb2dsZWxvZ29fY29sb3JfMTUweDU0ZHAucG5nKSBuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlfX0jbG9nb3tkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NTRweDt3aWR0aDoxNTBweH0KICA8L3N0eWxlPgogIDxhIGhyZWY9Ly93d3cuZ29vZ2xlLmNvbS8+PHNwYW4gaWQ9bG9nbyBhcmlhLWxhYmVsPUdvb2dsZT48L3NwYW4+PC9hPgogIDxwPjxiPjQwNC48L2I+IDxpbnM+VGhhdOKAmXMgYW4gZXJyb3IuPC9pbnM+CiAgPHA+VGhlIHJlcXVlc3RlZCBVUkwgPGNvZGU+L3MvY29ybW9yYW50Z2FyYW1vbmQvdjE2L2NvM1ltWDVzbENOdUhMaThiTGVZOU1LN3doV01oeWpZckVQanV3LU54QktMLndvZmYyPC9jb2RlPiB3YXMgbm90IGZvdW5kIG9uIHRoaXMgc2VydmVyLiAgPGlucz5UaGF04oCZcyBhbGwgd2Uga25vdy48L2lucz4K) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/montserrat-300-BqcEd4qu.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/montserrat-400-vOaqz9CW.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}.app{width:100%;min-height:100vh;overflow-x:hidden;background:#0a0a0a}.hero{position:relative;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:0;transition:opacity 1.5s ease-in-out}.main-nav{position:fixed;top:20px;right:30px;z-index:10;display:flex;gap:20px;font-family:Montserrat,sans-serif}.main-nav a{color:#fff;text-decoration:none;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8;transition:opacity .2s ease,border-bottom-color .2s ease;border-bottom:1px solid transparent}.main-nav .home-link{padding-bottom:2px}.home-icon{width:18px;height:18px;display:block}.main-nav a:hover{opacity:1;border-bottom-color:#ffffffb3}.hero.loaded{opacity:1}.hero-image{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:1}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(20%);transform:scale(1);transition:transform 8s ease-out}.hero.loaded .hero-image img{transform:scale(1.05)}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000004d,#00000080,#000000b3);z-index:2}.hero-content{position:relative;z-index:3;text-align:center;color:#fff;padding:2rem;transform:translateY(30px);opacity:0;transition:all 1.2s ease-out .5s}.hero.loaded .hero-content{transform:translateY(0);opacity:1}.title{font-family:Cormorant Garamond,serif;font-size:clamp(4rem,12vw,10rem);font-weight:300;letter-spacing:.3em;margin:0;line-height:1;text-transform:uppercase;color:#fff;text-shadow:2px 2px 20px rgba(0,0,0,.8)}.subtitle{font-family:Montserrat,sans-serif;font-size:clamp(1.2rem,3vw,2rem);font-weight:300;letter-spacing:.5em;margin-top:1rem;text-transform:uppercase;color:#f0f0f0;text-shadow:1px 1px 15px rgba(0,0,0,.8)}.divider{width:100px;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.8),transparent);margin:2rem auto;opacity:0;transform:scaleX(0);transition:all 1s ease-out 1s}.hero.loaded .divider{opacity:1;transform:scaleX(1)}.tagline{font-family:Montserrat,sans-serif;font-size:clamp(.9rem,2vw,1.2rem);font-weight:300;letter-spacing:.2em;color:#e0e0e0;font-style:italic;text-shadow:1px 1px 10px rgba(0,0,0,.8);opacity:0;transition:opacity 1s ease-out 1.5s}.hero.loaded .tagline{opacity:1}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:fadeInScroll 1s ease-out 2s forwards}@keyframes fadeInScroll{to{opacity:1}}.mouse{width:26px;height:40px;border:2px solid rgba(255,255,255,.6);border-radius:15px;position:relative;animation:bounce 2s infinite}.wheel{width:4px;height:8px;background:#fffc;border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scroll 2s infinite}@keyframes scroll{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(12px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.arrow-down{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid rgba(255,255,255,.6);animation:bounce 2s infinite}@media(max-width:768px){.title{letter-spacing:.2em}.subtitle{letter-spacing:.3em}.hero-content{padding:1rem}.scroll-indicator{bottom:30px}}@media(max-width:480px){.title{letter-spacing:.15em}.subtitle{letter-spacing:.2em;margin-top:.5rem}.divider{width:60px;margin:1.5rem auto}}.about-section{position:relative;min-height:100vh;width:100%;background:transparent;color:#e0e0e0;padding:120px 20px 60px;display:flex;align-items:center;justify-content:center;overflow:visible}.about-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0a0a0a;pointer-events:none;z-index:2}.about-container{position:relative;max-width:900px;width:100%;margin:0 auto;z-index:3}.about-title{font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,10vw,6rem);font-weight:300;letter-spacing:.3em;text-align:center;margin-bottom:80px;color:#fff;text-transform:uppercase;position:relative;text-shadow:2px 2px 20px rgba(0,0,0,.5)}.about-title:after{content:"";display:block;width:120px;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.5),transparent);margin:40px auto 0}.about-content{display:flex;flex-direction:column;gap:60px}.about-block{background:transparent;border:none;padding:0;position:relative}.about-subtitle{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:300;letter-spacing:.1em;margin-bottom:30px;color:#fff;line-height:1.3;text-shadow:1px 1px 10px rgba(0,0,0,.3)}.about-block p{font-family:Montserrat,sans-serif;font-size:clamp(1rem,2vw,1.15rem);font-weight:300;line-height:2;margin-bottom:20px;color:silver;letter-spacing:.03em;opacity:.9}.about-block p:last-child{margin-bottom:0}.about-list{list-style:none;padding:0;margin:25px 0}.about-list li{font-family:Montserrat,sans-serif;font-size:clamp(1rem,2vw,1.15rem);font-weight:300;line-height:2;margin-bottom:15px;color:silver;padding-left:5px;letter-spacing:.03em;opacity:.9}.about-closing{text-align:center;font-size:clamp(1.2rem,2.5vw,1.5rem);margin-top:50px;padding-top:40px;border-top:1px solid rgba(255,255,255,.15);font-style:italic;color:#d0d0d0}.about-closing strong{font-family:Cormorant Garamond,serif;font-weight:400;color:#fff;letter-spacing:.1em;font-size:clamp(1.3rem,2.8vw,1.7rem);display:block;margin-top:15px;text-shadow:1px 1px 10px rgba(0,0,0,.3)}@media(max-width:768px){.about-section{padding:80px 20px}.about-title{margin-bottom:50px;letter-spacing:.2em}.about-title:after{width:100px;margin-top:30px}.about-content{gap:45px}.about-subtitle{margin-bottom:20px;letter-spacing:.08em}.about-block p{margin-bottom:16px;line-height:1.9}.about-list li{margin-bottom:12px;line-height:1.9}.about-closing{margin-top:35px;padding-top:30px}}@media(max-width:480px){.about-section{padding:60px 15px}.about-title{margin-bottom:40px;letter-spacing:.15em}.about-title:after{width:80px;margin-top:25px}.about-content{gap:35px}.about-subtitle{letter-spacing:.05em;margin-bottom:18px}.about-block p,.about-list li{line-height:1.85}.about-closing{margin-top:30px;padding-top:25px}}.practice-section{position:relative;min-height:100vh;width:100%;background:#0a0a0a;color:#e0e0e0;padding:60px 20px;display:flex;align-items:center;justify-content:center}.practice-container{position:relative;max-width:95%;width:100%;margin:0 auto;z-index:2}.practice-title{font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,10vw,6rem);font-weight:300;letter-spacing:.3em;text-align:center;margin-bottom:80px;color:#fff;text-transform:uppercase;position:relative;text-shadow:2px 2px 20px rgba(0,0,0,.5)}.practice-title:after{content:"";display:block;width:120px;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.5),transparent);margin:40px auto 0}.practice-content{display:flex;flex-direction:column;gap:40px}.practice-content p{font-family:Montserrat,sans-serif;font-size:clamp(1rem,2vw,1.15rem);font-weight:300;line-height:2;color:silver;letter-spacing:.03em;text-align:center}@media(max-width:768px){.practice-section{padding:80px 20px}.practice-title{margin-bottom:42px;letter-spacing:.2em}.practice-title:after{width:100px;margin-top:30px}.practice-content{gap:28px}}@media(max-width:480px){.practice-section{padding:60px 15px}.practice-title{margin-bottom:34px;letter-spacing:.15em}.practice-title:after{width:80px;margin-top:25px}.practice-content{gap:22px}}.fretboard-wrapper{width:100%;max-width:1400px;margin:0 auto}.fretboard-controls{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:40px}.control-label{font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:300;color:#fff;letter-spacing:.05em}.string-selector{font-family:Montserrat,sans-serif;font-size:1rem;padding:10px 20px;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;cursor:pointer;transition:all .3s ease}.string-selector:hover{background:#ffffff26;border-color:#ffffff80}.string-selector:focus{outline:none;border-color:#ffffffb3}.string-selector option{background:#1a1a1a;color:#fff}.fretboard-container{width:100%;overflow-x:auto;padding:20px 0}.fretboard{position:relative;display:flex;flex-direction:column;min-width:100%;width:100%;border-radius:8px;padding:20px 30px;box-shadow:0 10px 40px #00000080}.fret-numbers-row{display:flex;margin-bottom:10px}.fret-numbers-spacer{width:90px;flex-shrink:0}.fretboard-main{display:flex}.nut{width:10px;background:linear-gradient(to right,#e8e8e8,silver);border-radius:2px;margin-right:20px;box-shadow:2px 0 5px #0000004d;flex-shrink:0}.fret-numbers-container{display:flex;flex:1}.fret-number-cell{flex:1;text-align:center;font-family:Montserrat,sans-serif;font-size:.85rem;color:#ffffff80}.string-labels{display:flex;flex-direction:column;justify-content:space-around;margin-right:20px;height:300px;flex-shrink:0}.string-label{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:400;color:#fff;text-align:center;padding:5px 10px;background:#ffffff1a;border-radius:4px;min-width:40px;display:flex;align-items:center;justify-content:center;position:relative;transition:all .3s ease}.string-label.highlighted{border:3px solid #228B22;background:#228b2233;box-shadow:0 0 10px #228b2266}.string-label.active-highlight{border:3px solid #00ff00;background:#00ff004d;box-shadow:0 0 20px #0f0c,0 0 30px #0f06;transform:scale(1.1);animation:pulse-label .5s ease-in-out}@keyframes pulse-label{0%,to{transform:scale(1.1)}50%{transform:scale(1.2)}}.string-step-indicator{position:absolute;top:-8px;right:-8px;background:#228b22;color:#fff;font-size:.6rem;font-weight:700;min-width:18px;height:18px;padding:0 3px;border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0006;border:2px solid #1a5f1a;white-space:nowrap}.string-label.active-highlight .string-step-indicator{background:#0f0;color:#000;border-color:#0c0}.frets-container{flex:1;position:relative;display:flex;height:300px;background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px),repeating-linear-gradient(0deg,#3d2817,#4a3520,#3d2817,#2f1f12,#3d2817 12px),linear-gradient(to bottom,#3d2817,#2a1810);border-radius:4px}.strings-layer{position:absolute;top:0;left:0;right:0;height:300px;display:flex;flex-direction:column;justify-content:space-around;z-index:3}.notes-layer{position:absolute;top:0;left:0;right:0;height:300px;display:flex;flex-direction:column;justify-content:space-around;z-index:5;pointer-events:none}.note-string-row{display:flex;width:100%;align-items:center}.note-position{flex:1;display:flex;align-items:center;justify-content:center}.note-circle{width:42px;height:42px;background:#40404099;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000004d;position:relative;transition:all .3s ease}.note-circle.highlighted{border:3px solid #228B22;box-shadow:0 0 10px #228b2266,0 2px 4px #0000004d;background:#228b221a}.note-circle.active-highlight{border:4px solid #00ff00;box-shadow:0 0 25px #00ff00e6,0 0 40px #00ff0080,0 2px 4px #0000004d;background:#00ff0040;transform:scale(1.15);animation:pulse .5s ease-in-out}@keyframes pulse{0%,to{transform:scale(1.15)}50%{transform:scale(1.25)}}.note-text{font-family:Montserrat,sans-serif;font-size:.975rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.step-indicator{position:absolute;top:-8px;right:-8px;background:#228b22;color:#fff;font-size:.65rem;font-weight:700;min-width:20px;height:20px;padding:0 4px;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0006;border:2px solid #1a5f1a;white-space:nowrap}.active-highlight .step-indicator{background:#0f0;color:#000;border-color:#0c0}.string-continuous{width:100%;display:flex;align-items:center}.string-line{width:100%;background:repeating-linear-gradient(90deg,#c9a05f,#c9a05f .8px,#2a2a2a .8px,#2a2a2a 1.2px,#c9a05f 1.2px,#c9a05f 2px),linear-gradient(to bottom,#d4a574,#b87333);box-shadow:0 1px 3px #00000080,inset 0 1px #ffffff4d;border-radius:1px}.string-0 .string-line{height:3px}.string-1 .string-line{height:4px}.string-2 .string-line{height:5px}.string-3 .string-line{height:6px}.string-4 .string-line{height:7px}.string-5 .string-line{height:8px}.fret-section{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;z-index:2}.fret-marker{position:absolute;top:0;left:0;right:0;height:300px;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none}.marker-block-single{width:28px;height:calc(90% - 50px);background:linear-gradient(135deg,#c8c8c840,#bec8d20d,#b4bec833,#c3cdd70d,#c8c8c859);border-radius:3px;box-shadow:0 2px 8px #0000004d,inset 0 1px 2px #fff6,inset 0 -1px 2px #0003;border:1px solid rgba(200,200,200,.25)}.marker-block-double{display:flex;flex-direction:column;gap:60px;align-items:center;height:calc(90% - 50px)}.marker-block{width:28px;flex:1;background:linear-gradient(135deg,#c8c8c840,#bec8d20d,#b4bec833,#c3cdd70d,#c8c8c859);border-radius:3px;box-shadow:0 2px 8px #0000004d,inset 0 1px 2px #fff6,inset 0 -1px 2px #0003;border:1px solid rgba(200,200,200,.25)}.fret-wire{position:absolute;right:0;top:0;height:300px;width:3px;background:linear-gradient(to right,#a0a0a0,#707070);border-radius:1px;box-shadow:1px 0 3px #0006;z-index:4}@media(max-width:768px){.fretboard-controls{flex-direction:column;gap:16px;margin-bottom:30px}.control-label{font-size:1rem;margin-bottom:8px}.string-selector{width:100%;max-width:400px;font-size:1rem;padding:12px 16px}.fretboard{min-width:900px}.string-labels{margin-right:10px}.string-label{font-size:.9rem;min-width:35px;padding:4px 8px}.fret-number{font-size:.75rem}.strings{height:150px}}@media(max-width:480px){.fretboard-controls{gap:12px;margin-bottom:24px}.control-label{font-size:.95rem}.string-selector{max-width:100%;font-size:.95rem;padding:10px 14px}}.bassline-player{background:#ffffff0d;border-radius:12px;padding:24px;margin-top:32px;border:1px solid rgba(255,255,255,.1)}.bassline-player h3{margin-top:0;margin-bottom:20px;color:#fff;font-size:1.5rem;text-align:center}.bassline-selector{margin-bottom:24px}.bassline-selector label{display:block;margin-bottom:8px;color:#fff;font-weight:500}.bassline-select{width:100%;padding:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:1rem;cursor:pointer;transition:all .3s ease}.bassline-select:hover{background:#ffffff26;border-color:#ffffff4d}.bassline-select option{background:#1a1a1a;color:#fff}.no-basslines{text-align:center;color:#fff9;padding:20px;font-style:italic}.playback-controls{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.control-button{padding:10px 20px;background:#4caf5033;border:2px solid #4CAF50;border-radius:8px;color:#4caf50;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.control-button:hover{background:#4caf504d;transform:translateY(-2px)}.control-button:active{transform:translateY(0)}.control-button.reset{background:#f4433633;border-color:#f44336;color:#f44336}.control-button.reset:hover{background:#f443364d}.tempo-control{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.tempo-control label{color:#fff;font-weight:500;font-size:.95rem}.tempo-slider{width:100%;height:6px;background:#fff3;border-radius:3px;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.tempo-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;background:#4caf50;border-radius:50%;cursor:pointer;transition:all .3s ease}.tempo-slider::-webkit-slider-thumb:hover{background:#66bb6a;transform:scale(1.2)}.tempo-slider::-moz-range-thumb{width:18px;height:18px;background:#4caf50;border-radius:50%;cursor:pointer;border:none;transition:all .3s ease}.tempo-slider::-moz-range-thumb:hover{background:#66bb6a;transform:scale(1.2)}.sequence-display{margin-top:24px}.sequence-display h4{margin-top:0;margin-bottom:16px;color:#fff;font-size:1.2rem}.sequence-steps{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.sequence-step{background:#ffffff14;border:2px solid rgba(255,255,255,.2);border-radius:10px;padding:12px 16px;min-width:80px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:8px}.sequence-step:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-2px)}.sequence-step.active{background:#00ff0026;border-color:#0f0;border-width:3px;box-shadow:0 0 20px #0f06;transform:scale(1.1)}.step-number{font-size:.85rem;font-weight:700;color:#fff9;background:#ffffff1a;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.sequence-step.active .step-number{color:#0f0;background:#0f03}.step-info{display:flex;flex-direction:column;align-items:center;gap:4px}.step-string{font-size:1.1rem;font-weight:700;color:#fff}.step-fret{font-size:.9rem;color:#ffffffb3}.sequence-step.active .step-string,.sequence-step.active .step-fret{color:#0f0}@media(max-width:768px){.bassline-player{padding:20px 16px}.bassline-player h3{font-size:1.3rem}.bassline-selector label{font-size:.95rem}.bassline-select{padding:14px 12px;font-size:1rem}.bassline-select option,.bassline-select optgroup{font-size:.95rem}.playback-controls{flex-direction:column;align-items:stretch;gap:12px}.control-button{width:100%;padding:14px 20px;font-size:1.05rem}.tempo-control{width:100%}.tempo-control label{font-size:.95rem}.sequence-steps{gap:8px}.sequence-step{min-width:70px;padding:10px 12px}}@media(max-width:480px){.bassline-player{padding:16px 12px}.bassline-player h3{font-size:1.2rem}.bassline-select{padding:12px 10px;font-size:.95rem}.control-button{padding:12px 16px;font-size:1rem}.sequence-step{min-width:60px;padding:8px 10px}.step-number{font-size:.8rem}.step-string{font-size:1rem}.step-fret{font-size:.85rem}}.rhythm-section{position:relative;min-height:100vh;width:100%;background:#0a0a0a;color:#e0e0e0;padding:60px 20px;display:flex;align-items:center;justify-content:center}.rhythm-container{position:relative;max-width:95%;width:100%;margin:0 auto;z-index:2}.rhythm-title{font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,10vw,6rem);font-weight:300;letter-spacing:.3em;text-align:center;margin-bottom:80px;color:#fff;text-transform:uppercase;position:relative;text-shadow:2px 2px 20px rgba(0,0,0,.5)}.rhythm-title:after{content:"";display:block;width:120px;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.5),transparent);margin:40px auto 0}.rhythm-content{display:flex;flex-direction:column;align-items:center;justify-content:center}.rhythm-panel{min-height:300px;max-width:min(1000px,94vw);width:100%;padding:40px;border-radius:8px;background:#ffffff0a;box-shadow:0 10px 40px #00000080;font-family:Montserrat,sans-serif;font-size:1.4rem;color:#fff;display:flex;flex-direction:column;gap:24px;position:relative}.rhythm-help-toggle{position:absolute;top:16px;right:16px;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:#0006;color:#fff;font-family:Montserrat,sans-serif;font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.8;transition:opacity .2s ease,background .2s ease,transform .1s ease}.rhythm-help-toggle:hover{opacity:1;background:#000000b3;transform:translateY(-1px)}.rhythm-help-overlay{position:absolute;top:50px;right:16px;max-width:360px;padding:16px 18px;border-radius:8px;background:#000000e6;box-shadow:0 12px 30px #0009;font-size:.9rem;z-index:5}.rhythm-help-title{font-size:1rem;margin-bottom:10px}.rhythm-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rhythm-help-list li{font-size:.85rem;line-height:1.6}.rhythm-header-text{font-size:1rem;font-weight:300;line-height:1.8;color:#d0d0d0}.rhythm-expert-toggle{display:flex;justify-content:center;margin-top:10px;margin-bottom:4px;font-size:.85rem;color:#c8c8c8}.rhythm-expert-toggle label{display:inline-flex;align-items:center;gap:8px}.rhythm-tabs{display:flex;width:100%;border-radius:999px;padding:3px;background:#ffffff0f;margin-top:20px;margin-bottom:18px}.rhythm-tab{flex:1;font-family:Montserrat,sans-serif;font-size:.85rem;padding:6px 14px;border-radius:999px;border:none;background:transparent;color:#bbb;cursor:pointer;text-align:center;transition:background .2s ease,color .2s ease}.rhythm-tab.active{background:#fff;color:#111}.rhythm-controls{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:24px}.rhythm-controls .rhythm-button.primary{margin-left:32px}.tempo-control,.bars-control{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.95rem}.rhythm-controls-easy{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.easy-settings-text{font-size:.9rem;color:#c8c8c8;text-align:center;display:flex;align-items:center;justify-content:center}.note-select{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.note-select-button{min-width:90px;padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#ffffff0a;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .2s ease,transform .1s ease,box-shadow .2s ease}.note-select-button.selected{background:#2dbb5a26;box-shadow:0 0 0 1px #2dbb5ae6}.tempo-label{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:#bbb;text-align:center}.tempo-control input[type=range],.bars-control input[type=range]{width:180px}.tempo-value{font-weight:400;color:#fff}.rhythm-button{font-family:Montserrat,sans-serif;font-size:.95rem;padding:10px 20px;border-radius:4px;border:1px solid rgba(255,255,255,.3);background:#ffffff0f;color:#fff;cursor:pointer;transition:background .2s ease,transform .1s ease,box-shadow .2s ease}.rhythm-button.primary{background:linear-gradient(135deg,#1f7a3a,#2dbb5a);border-color:#0000004d;box-shadow:0 8px 20px #00000080}.rhythm-button.tap{width:100%;margin-top:12px;padding:16px 20px;font-size:1.05rem;text-transform:uppercase;letter-spacing:.16em}.rhythm-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px #0009}.rhythm-button:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 16px #00000080}.rhythm-button:disabled{opacity:.5;cursor:default}.rhythm-pattern{display:flex;flex-direction:column;gap:8px;margin-top:8px}.rhythm-pattern-row{display:flex;flex-wrap:nowrap;gap:8px}.rhythm-note-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 8px;min-width:0;flex:1 1 0;border-radius:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.18)}.rhythm-note-chip.miss{background:#c8282833;border-color:#ff5050b3}.note-short{font-size:.9rem;font-weight:600}.note-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#bbb;margin-top:2px}.note-delay{margin-top:4px;font-size:.75rem;color:#bbb;text-align:center;width:100%}.note-delay.miss-text{color:#ffb3b3}.rhythm-placeholder{font-size:.95rem;color:#a8a8a8}.rhythm-progress{margin-top:16px}.progress-bar{width:100%;height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.progress-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#2dbb5a,#7cf28a);transition:width .05s linear}.progress-label{margin-top:6px;font-size:.85rem;color:#d0d0d0}.rhythm-results{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:6px}.results-main{display:flex;justify-content:space-between;align-items:baseline}.results-label{font-size:.9rem;text-transform:uppercase;letter-spacing:.16em;color:#bbb}.results-value{font-size:1.4rem;font-weight:600}.results-sub{display:flex;justify-content:space-between;font-size:.85rem;color:#d0d0d0}.rhythm-start-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.rhythm-details-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:#c8c8c8}.rhythm-details-toggle input[type=checkbox]{width:14px;height:14px}@media(max-width:1200px){.rhythm-title{font-size:clamp(3rem,7vw,4.8rem);margin-bottom:56px}.rhythm-title:after{margin:26px auto 0}.rhythm-header-text{margin-bottom:4px}.rhythm-tabs{margin-top:16px;margin-bottom:14px}}@media(max-width:768px){.rhythm-section{padding:80px 20px}.rhythm-panel{padding:22px 16px;max-width:100%}.rhythm-title{margin-bottom:34px;letter-spacing:.2em}.rhythm-header-text{font-size:.95rem;margin-bottom:4px}.rhythm-controls{flex-direction:column;align-items:stretch;gap:16px}.rhythm-controls .rhythm-button.primary{margin-left:0;align-self:center;width:100%;max-width:260px}.rhythm-tabs{margin-top:10px;margin-bottom:8px}}@media(max-width:480px){.rhythm-section{padding:60px 15px}.rhythm-title{margin-bottom:26px;letter-spacing:.15em}.rhythm-title:after{width:80px;margin-top:25px}.rhythm-panel{padding:18px 12px}.rhythm-header-text{font-size:.88rem}.tempo-control input[type=range],.bars-control input[type=range]{width:150px}.rhythm-button.tap{font-size:.95rem;padding:14px 16px}}@media(orientation:portrait){.rhythm-controls{flex-direction:column;align-items:stretch}.rhythm-controls-easy{flex-direction:column;align-items:center}}@media(orientation:landscape)and (min-width:900px){.rhythm-controls{flex-direction:row;align-items:flex-end}.rhythm-controls-easy .tempo-control,.rhythm-controls-easy .easy-settings-text,.rhythm-controls-easy .bars-control{flex:0 0 33.33%;max-width:33.33%}}
