@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap);:root{--color-lavender:#e7c6ff;--color-blue:#b8c0ff;--color-purple:#7b68ee;--color-pink:#ffd6ff;--color-light-blue:#bbd0ff;--color-text-dark:#5b4b8a}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f0ff;color:#5b4b8a;color:var(--color-text-dark);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}html{scroll-behavior:smooth;scroll-snap-type:y proximity}section{scroll-snap-align:start}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f5f0ff}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7b68ee99,#b8c0ff99);border:2px solid #ffffff80;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#7b68eee6,#b8c0ffe6)}::-webkit-scrollbar-corner{background:#f5f0ff}.App.dark-mode{--color-text-dark:#e7c6ff}.App.dark-mode body{background:#1a1625;color:#e7c6ff}.dark-mode .app-header{background:#0000004d;border-bottom-color:#c8b6ff33}.dark-mode .glass-card{background:#0000004d;border-color:#c8b6ff66}.dark-mode .camera-window{background:linear-gradient(135deg,#7b2cbf1a,#5a67d81a,#c8b6ff14);border-color:#c8b6ff66}.dark-mode .fullscreen-button,.dark-mode .instrument-dropdown-custom,.dark-mode .profile-circle,.dark-mode .stop-camera-button{background:#0006;border-color:#c8b6ff80}.dark-mode .instrument-options,.dark-mode .profile-dropdown{background:#00000080;border-color:#c8b6ff80}.dark-mode .instrument-option,.dark-mode .menu-icon,.dark-mode .profile-icon,.dark-mode .profile-menu-item{color:#e7c6ff}.dark-mode ::-webkit-scrollbar-track{background:#1a1625}.dark-mode ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7b2cbf99,#9d4edd99);border-color:#c8b6ff80}.dark-mode ::-webkit-scrollbar-corner{background:#1a1625}.App{display:flex;flex-direction:column;min-height:100vh;padding-top:90px;position:relative;width:100%}.main-content{flex:1 1;width:100%}body{overflow-x:hidden}:root{--border-radius-sm:15px;--border-radius-md:25px;--border-radius-lg:30px;--border-radius-pill:50px}.glass-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff26;border:2px solid #ffffff4d;border-radius:30px;border-radius:var(--border-radius-lg);box-shadow:0 8px 32px #b8c0ff33;transition:all .3s ease}.glass-card:hover{border-color:#fff6;box-shadow:0 12px 48px #b8c0ff4d}.bounce-in{animation:fadeInSmooth .5s ease-out}@keyframes fadeInSmooth{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-header{position:fixed;right:2rem;top:2rem;z-index:100}.profile-menu{position:relative}.profile-circle{align-items:center;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);background:#fff3;border:3px solid #c8b6ff99;border-radius:50%;box-shadow:0 8px 25px #00000026,inset 0 1px 0 #ffffff4d,0 0 0 1px #b8c0ff26;cursor:pointer;display:flex;height:4rem;justify-content:center;transition:all .3s ease;width:4rem}.profile-circle:hover{background:#c8b6ff59;border-color:#c8b6ffcc;box-shadow:0 10px 30px #b8c0ff66,inset 0 1px 0 #fff6,0 0 0 1px #b8c0ff33;transform:scale(1.08)}.profile-circle:active{transform:scale(.98)}.profile-icon{stroke-width:2.5;color:var(--color-text-dark);height:1.5rem;width:1.5rem}.profile-dropdown{animation:dropdownSlideIn .2s ease-out;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);background:#fff3;border:3px solid #c8b6ff99;border-radius:var(--border-radius-md);box-shadow:0 10px 40px #0003,inset 0 1px 0 #ffffff4d,0 0 0 1px #b8c0ff33;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + .75rem)}.profile-menu-item{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #c8b6ff40;color:var(--color-text-dark);cursor:pointer;display:flex;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:600;gap:.75rem;padding:1rem 1.25rem;transition:all .25s ease}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item:hover{background:#c8b6ff66;box-shadow:inset 0 1px 0 #fff3;padding-left:1.5rem}.profile-menu-item.theme-toggle:hover{background:#e7c6ff73}.menu-icon{color:var(--color-text-dark);flex-shrink:0;height:1.25rem;width:1.25rem}body{padding-top:5rem}@media (max-width:768px){.app-header{padding:.75rem 1rem}.logo h1{font-size:1.25rem}.profile-circle{height:2.5rem;width:2.5rem}.profile-icon{height:1.25rem;width:1.25rem}.profile-dropdown{min-width:180px}body{padding-top:4rem}}.footer{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#e7c6ff26,#b8c0ff26,#c8b6ff26);border-top:2px solid #b8c0ff4d;margin-top:0;overflow:hidden;padding:0 1rem 0 1.5rem;position:relative}.footer:before{animation:rotateBackground 30s linear infinite;background:radial-gradient(circle,#b8c0ff1a 0,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes rotateBackground{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.footer-container{margin:0 auto;max-width:1400px;position:relative;z-index:1}.footer-bottom{align-items:center;display:flex;justify-content:space-between;margin:1px;padding:1px}.footer-copyright{margin:0;text-align:left}.footer-tech{margin:0;text-align:right}@media (max-width:768px){.footer{padding:1.5rem 1rem 1rem}.footer-bottom{flex-direction:column;gap:.5rem;text-align:center}.footer-copyright,.footer-tech{font-size:.85rem;text-align:center}}.footer-tagline{color:var(--color-text-dark);font-size:1rem;line-height:1.6;margin-bottom:1.5rem;opacity:.9}.footer-social{display:flex;gap:1rem}.social-link{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-sm);color:var(--color-purple);display:flex;height:45px;justify-content:center;transition:all .3s ease;width:45px}.social-link svg{height:22px;width:22px}.social-link:hover{background:#b8c0ff4d;border-color:#b8c0ff99;box-shadow:0 6px 20px #b8c0ff66;transform:translateY(-3px)}.footer-section{display:flex;flex-direction:column}.footer-heading{color:var(--color-purple);font-size:1.2rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:.5rem;position:relative}.footer-heading:after{background:linear-gradient(90deg,var(--color-purple),#0000);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:40px}.footer-links{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.footer-links li a{color:var(--color-text-dark);display:inline-block;font-size:1rem;opacity:.85;text-decoration:none;transition:all .3s ease}.footer-links li a:hover{color:var(--color-purple);opacity:1;transform:translateX(5px)}.footer-content{align-items:center;display:flex;flex-direction:column;margin-bottom:2rem}.social-title{color:var(--color-purple);font-size:1rem;font-weight:700;margin-bottom:.25rem;opacity:.9;text-align:center}.footer-social-links{gap:1.5rem}.footer-social-links,.social-icon-link{align-items:center;display:flex;justify-content:center}.social-icon-link{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-sm);color:var(--color-purple);height:50px;text-decoration:none;transition:all .3s ease;width:50px}.social-icon{height:28px;transition:all .3s ease;width:28px}.social-icon-link:hover{background:#b8c0ff4d;border-color:#b8c0ff99;box-shadow:0 6px 20px #b8c0ff80;transform:translateY(-3px)}.social-icon-link:hover .social-icon{transform:scale(1.1)}.footer-founders{border-top:1px solid #b8c0ff33;margin-top:2rem;padding-top:2rem;text-align:center}.founders-title{color:var(--color-purple);font-size:1rem;font-weight:700;margin-bottom:1.25rem;opacity:.9}.founders-links{flex-wrap:wrap;gap:2rem;justify-content:center}.founder-link,.founders-links{align-items:center;display:flex}.founder-link{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #b8c0ff33;border-radius:var(--border-radius-pill);color:var(--color-text-dark);font-size:.95rem;font-weight:600;gap:.5rem;opacity:.85;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.founder-link:hover{background:#b8c0ff33;border-color:#b8c0ff66;box-shadow:0 4px 15px #b8c0ff4d;opacity:1;transform:translateY(-2px)}.linkedin-icon{color:#0077b5;height:18px;transition:transform .3s ease;width:18px}.founder-link:hover .linkedin-icon{transform:scale(1.1)}.footer-bottom{border-top:1px solid #b8c0ff33;margin-bottom:1rem;margin-top:1rem;text-align:center}.footer-copyright{align-self:flex-start;color:var(--color-text-dark);font-size:.95rem;margin-bottom:.5rem;opacity:.8}.footer-tech{color:var(--color-text-dark);font-size:.9rem;font-style:italic;opacity:.7}.heart{animation:heartbeat 1.5s ease-in-out infinite;color:#ff6b9d;display:inline-block}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}}.dark-mode .footer{background:linear-gradient(135deg,#1a1625cc,#231e32cc);border-top-color:#c8b6ff33}.dark-mode .footer-copyright,.dark-mode .footer-links li a,.dark-mode .footer-tagline,.dark-mode .footer-tech{color:#e7c6ff}.dark-mode .footer-heading{color:#c77dff}.dark-mode .social-link{background:#0000004d;border-color:#c8b6ff4d;color:#c77dff}.dark-mode .social-link:hover{background:#c8b6ff33;border-color:#c8b6ff80}@media (max-width:1024px){.footer-content{gap:1rem;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;max-width:100%}}@media (max-width:768px){.footer{padding:3rem 1.5rem 1.5rem}.footer-content{gap:2rem;grid-template-columns:1fr}.footer-logo{font-size:2rem}.footer-social{justify-content:center}.footer-section{text-align:center}.footer-heading:after{left:50%;transform:translateX(-50%)}.footer-links li a:hover{transform:translateX(0)}.footer-bottom{padding-top:1.5rem}}@media (max-width:480px){.footer{padding:2rem 1rem 1rem}.footer-logo{font-size:1.8rem}.footer-tagline{font-size:.95rem}.social-link{height:40px;width:40px}.social-link svg{height:20px;width:20px}.footer-heading{font-size:1.1rem}.footer-links li a{font-size:.95rem}}.blob-background{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.Hero{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:70vh;overflow:hidden;padding:1rem 2rem 3rem;position:relative;text-align:center}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7b2cbf,#c77dff,#9d4edd);-webkit-background-clip:text;background-clip:text;font-size:6.5rem;font-weight:800;margin-bottom:1rem}.hero-subtitle,.hero-title{position:relative;z-index:2}.hero-subtitle{color:var(--color-text-dark);font-size:2rem;font-weight:600;margin-bottom:2rem;opacity:.9}.cta-button{background:linear-gradient(135deg,var(--color-lavender),var(--color-purple));border:none;border-radius:var(--border-radius-pill);box-shadow:0 8px 30px #b8c0ff66;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:600;overflow:hidden;padding:1rem 3rem;position:relative;transition:all .3s ease}.cta-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.cta-button:hover:before{left:100%}.cta-button:hover{box-shadow:0 12px 40px #b8c0ff99;transform:translateY(-5px) scale(1.05)}.cta-button:active{transform:translateY(-2px) scale(1.02)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width:768px){.hero-title{font-size:3rem}.hero-subtitle{font-size:1.2rem}.hero-content{padding:2rem}}.camera-section{align-items:center;display:flex;justify-content:center;min-height:90vh;padding:2rem}.camera-container{margin:0 auto;max-width:1600px;padding:0;width:100%}.camera-header{margin-bottom:2rem;text-align:center}.camera-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7b2cbf,#5a67d8);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:.5rem}.camera-header p{color:var(--color-text-dark);font-size:1.1rem;opacity:.8}.camera-window{background:#fff3;height:85vh;margin:0 auto 2rem}.fullscreen-button{border-radius:var(--border-radius-sm);box-shadow:0 4px 15px #0003;color:var(--color-text-dark);z-index:10}.camera-instrument-selector{left:1rem;position:absolute;top:1rem;z-index:50}.instrument-dropdown-custom{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fff3;border:2px solid #c8b6ff80;border-radius:var(--border-radius-pill);box-shadow:0 4px 15px #00000026,inset 0 1px 0 #fff3;color:var(--color-text-dark);font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;gap:1rem;min-width:160px;padding:.75rem 1.5rem;-webkit-user-select:none;user-select:none}.instrument-dropdown-custom:hover{background:#c8b6ff4d;border-color:#c8b6ffb3;box-shadow:0 6px 20px #b8c0ff66,inset 0 1px 0 #ffffff4d}.selected-instrument{flex:1 1}.dropdown-arrow{font-size:.75rem;opacity:.7;transition:transform .3s ease}.instrument-options{animation:dropdownSlideIn .2s ease-out;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);background:#ffffff40;border:2px solid #c8b6ff80;border-radius:var(--border-radius-md);box-shadow:0 8px 25px #0003,inset 0 1px 0 #ffffff4d;top:calc(100% + .5rem)}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.instrument-option{border-bottom:1px solid #c8b6ff33;color:var(--color-text-dark);font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;padding:.85rem 1.5rem}.instrument-option:last-child{border-bottom:none}.instrument-option:hover{background:#c8b6ff66;padding-left:1.75rem}.instrument-option.selected{background:#c8b6ff80;font-weight:800}.instrument-option.selected:hover{background:#c8b6ff99}.stop-camera-button{border-radius:var(--border-radius-sm);box-shadow:0 4px 15px #0003;color:var(--color-text-dark);z-index:10}.start-camera-button{background:linear-gradient(135deg,var(--color-lavender),var(--color-purple));border-radius:var(--border-radius-pill);box-shadow:0 8px 30px #b8c0ff66;font-family:Montserrat,sans-serif;font-weight:600;margin-top:1.5rem;opacity:1;padding:1rem 2.5rem}.start-camera-button:hover{box-shadow:0 12px 40px #b8c0ff99;transform:translateY(-3px) scale(1.05)}.start-camera-button:active{transform:translateY(-1px) scale(1.02)}.camera-window:fullscreen{background:#000}.camera-window:fullscreen .camera-video{object-fit:contain}.camera-window:-webkit-full-screen{background:#000}.camera-window:-webkit-full-screen .camera-video{object-fit:contain}.camera-window:-moz-full-screen{background:#000}.camera-window:-moz-full-screen .camera-video{object-fit:contain}.camera-window:-ms-fullscreen{background:#000}.camera-window:-ms-fullscreen .camera-video{object-fit:contain}.camera-placeholder{animation:pulse 3s ease-in-out infinite;color:var(--color-text-dark);opacity:1;width:100%}.camera-icon{font-size:4rem;margin-bottom:1rem;opacity:.95}.camera-placeholder p,.placeholder-text{font-size:1.5rem;font-weight:600;line-height:1.6;margin:0;max-width:600px;opacity:.9}.camera-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.control-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-pill);box-shadow:0 4px 15px #b8c0ff33;color:var(--color-text-dark);cursor:pointer;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;padding:.8rem 2rem;transition:all .3s ease}.control-button:hover{background:#b8c0ff4d;border-color:#b8c0ff80;box-shadow:0 6px 20px #b8c0ff66;transform:translateY(-3px)}.control-button:active{transform:translateY(-1px)}.no-hands-warning{animation:slideUpFade .4s ease-out,warningPulse 2s ease-in-out infinite;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:#ff5252f2;border:2px solid #ff2828cc;border-radius:var(--border-radius-md);bottom:2rem;box-shadow:0 8px 30px #ff525280,inset 0 1px 0 #fff3;min-width:280px;padding:1.5rem 2.5rem;z-index:20}.warning-icon{animation:wave 1.5s ease-in-out infinite;margin-bottom:.5rem}.warning-text{font-size:1.25rem;font-weight:800;margin-bottom:.25rem;text-shadow:0 2px 4px #0000004d}.warning-subtext,.warning-text{font-family:Montserrat,sans-serif}.warning-subtext{font-weight:600;opacity:.95;text-shadow:0 1px 2px #0003}@keyframes slideUpFade{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes wave{0%,to{transform:rotate(0deg)}10%,30%{transform:rotate(-10deg)}20%,40%{transform:rotate(10deg)}50%{transform:rotate(0deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width:768px){.camera-header h2{font-size:2rem}.camera-controls{flex-direction:column}.control-button{width:100%}}.hand-tracking-canvas{transform:scaleX(-1);z-index:5}.guitar-container,.hand-tracking-canvas{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.guitar-container{overflow:hidden;z-index:30}.guitar-canvas{display:block;height:100%;width:100%}.handedness-toggle{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#111827f2;border:2px solid #b8c0ff66;border-radius:12px;bottom:20px;box-shadow:0 4px 20px #0000004d;color:#e5e7eb;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:600;min-width:60px;padding:8px 12px;pointer-events:auto;position:absolute;right:20px;text-align:center;transition:all .3s ease;z-index:50}.handedness-toggle:hover{background:#222938f2;border-color:#b8c0ff99;box-shadow:0 6px 25px #0006;transform:translateY(-2px)}.handedness-toggle:active{box-shadow:0 2px 15px #0000004d;transform:translateY(0)}.guitar-instruction{animation:fadeInUp .4s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#111827f2;border:2px solid #b8c0ff66;border-radius:18px;bottom:80px;box-shadow:0 10px 40px #00000080;color:#e5e7eb;font-family:Montserrat,sans-serif;font-size:1.05rem;font-weight:600;left:50%;line-height:1.6;max-width:90%;padding:20px 35px;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%);z-index:40}.camera-window:-moz-full-screen .guitar-instruction,.camera-window:-ms-fullscreen .guitar-instruction,.camera-window:-webkit-full-screen .guitar-instruction,.camera-window:fullscreen .guitar-instruction{bottom:100px;font-size:1.2rem;padding:20px 40px}@media (max-width:768px){.guitar-instruction{bottom:60px;font-size:.85rem;padding:12px 24px}}.piano-container{align-items:flex-end;bottom:0;display:flex;height:25%;left:0;padding:0 2% 1.5%;pointer-events:none;position:absolute;width:100%;z-index:3}.piano-canvas{border-radius:16px 16px 0 0;filter:drop-shadow(0 -8px 24px rgba(123,104,238,.4)) drop-shadow(0 -4px 12px rgba(184,192,255,.3));height:100%;transition:filter .4s ease;width:100%}.piano-canvas:active{filter:drop-shadow(0 -12px 32px rgba(123,104,238,.6)) drop-shadow(0 -6px 16px rgba(184,192,255,.4))}.camera-window:-moz-full-screen .piano-canvas,.camera-window:-ms-fullscreen .piano-canvas,.camera-window:-webkit-full-screen .piano-canvas,.camera-window:fullscreen .piano-canvas{filter:drop-shadow(0 -12px 36px rgba(123,104,238,.5)) drop-shadow(0 -6px 18px rgba(184,192,255,.4))}@media (max-width:768px){.piano-container{height:22%;padding:0 1% 1%}.piano-canvas{border-radius:12px 12px 0 0;filter:drop-shadow(0 -6px 18px rgba(123,104,238,.35)) drop-shadow(0 -3px 9px rgba(184,192,255,.25))}}@keyframes pianoSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.piano-container{animation:pianoSlideUp .5s ease-out}.drumstick{background:linear-gradient(90deg,#8b4513 0,sienna);border-radius:4px;box-shadow:0 2px 8px #00000080;height:8px;pointer-events:none;position:absolute;transform-origin:center left;width:150px;z-index:15}.drumstick:after{background:#654321;border-radius:50%;box-shadow:0 2px 4px #00000080;content:"";height:12px;position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px}.drums-overlay{height:100%;left:0;top:0;width:100%;z-index:10}.drum-pad,.drums-overlay{pointer-events:none;position:absolute}.drum-pad{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff14;border:4px solid;display:flex;justify-content:center;transition:all .1s ease}.drum-pad,.drum-pad:before{border-radius:50%;transform:translate(-50%,-50%)}.drum-pad:before{background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:100%;left:50%;opacity:.5;position:absolute;top:50%;width:100%}.drum-label{font-size:1.2rem;font-weight:700;letter-spacing:1px;pointer-events:none;text-shadow:0 2px 10px #00000080;text-transform:uppercase;z-index:1}.drum-hit{animation:drumRipple .3s ease-out}@keyframes drumRipple{0%{box-shadow:0 0 20px currentColor,inset 0 0 20px currentColor;opacity:1;transform:translate(-50%,-50%) scale(1)}50%{box-shadow:0 0 40px currentColor,inset 0 0 40px currentColor;opacity:.8;transform:translate(-50%,-50%) scale(1.2)}to{box-shadow:0 0 20px currentColor,inset 0 0 20px currentColor;opacity:1;transform:translate(-50%,-50%) scale(1)}}.drum-pad:after{animation:drumPulse 2s ease-in-out infinite;border:2px solid;border-radius:50%;content:"";height:100%;left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}@keyframes drumPulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.1)}}@media (max-width:768px){.drum-label{font-size:.75rem}.drum-pad{border-width:2px}}.lessons-container{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:80px 20px 40px;width:100%}.lessons-content{max-width:1200px;width:100%}.lessons-title{-webkit-text-fill-color:#0000;animation:fadeInDown .8s ease-out;background:linear-gradient(135deg,#7b2cbf,#c77dff);-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:700;margin-bottom:1rem;text-align:center}.lessons-subtitle{animation:fadeInUp .8s ease-out;color:#9d4edd;font-size:1.5rem;margin-bottom:3rem;text-align:center}.lessons-instrument-selector{align-items:center;animation:fadeIn 1s ease-out;display:flex;gap:1rem;justify-content:center;margin-bottom:3rem;position:relative}.lessons-instrument-dropdown-custom{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fff3;border:2px solid #c8b6ff80;border-radius:50px;box-shadow:0 4px 15px #00000026,inset 0 1px 0 #fff3;color:#7b2cbf;cursor:pointer;display:flex;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;gap:1rem;min-width:200px;padding:.75rem 1.5rem;transition:all .3s ease;-webkit-user-select:none;user-select:none}.lessons-instrument-dropdown-custom:hover{background:#c8b6ff4d;border-color:#c8b6ffb3;box-shadow:0 6px 20px #b8c0ff66,inset 0 1px 0 #ffffff4d;transform:translateY(-2px)}.lessons-selected-instrument{flex:1 1}.lessons-dropdown-arrow{font-size:.75rem;opacity:.7;transition:transform .3s ease}.lessons-instrument-options{animation:lessonsDropdownSlideIn .2s ease-out;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);background:#ffffff40;border:2px solid #c8b6ff80;border-radius:12px;box-shadow:0 8px 25px #0003,inset 0 1px 0 #ffffff4d;left:50%;min-width:200px;overflow:hidden;position:absolute;top:calc(100% + .5rem);transform:translateX(-50%);z-index:100}@keyframes lessonsDropdownSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.lessons-instrument-option{border-bottom:1px solid #c8b6ff33;color:#7b2cbf;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;padding:.85rem 1.5rem;transition:all .2s ease}.lessons-instrument-option:last-child{border-bottom:none}.lessons-instrument-option:hover{background:#c8b6ff66;padding-left:1.75rem}.lessons-instrument-option.selected{background:#c8b6ff80;color:#7b2cbf;font-weight:800}.lessons-instrument-option.selected:hover{background:#c8b6ff99}.skill-tree-container{animation:fadeInScale 1s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9;border:2px solid #7b2cbf33;border-radius:24px;box-shadow:0 8px 32px #7b2cbf26;height:700px;padding:40px;position:relative;width:100%}.skill-tree-connections{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.connection-line{stroke:#7b2cbf66;stroke-width:.3;stroke-linecap:round;fill:none;filter:drop-shadow(0 0 4px rgba(123,44,191,.3))}.skill-node{align-items:center;animation:skillAppear .6s ease-out backwards;cursor:pointer;display:flex;flex-direction:column;gap:10px;position:absolute;transform:translate(-50%,-50%);transition:all .3s ease;z-index:2}.skill-node:first-child{animation-delay:.1s}.skill-node:nth-child(2){animation-delay:.2s}.skill-node:nth-child(3){animation-delay:.3s}.skill-node:nth-child(4){animation-delay:.4s}.skill-node:nth-child(5){animation-delay:.5s}.skill-node:nth-child(6){animation-delay:.6s}.skill-node:nth-child(7){animation-delay:.7s}.skill-node:nth-child(8){animation-delay:.8s}.skill-node:nth-child(9){animation-delay:.9s}.skill-node:hover{transform:translate(-50%,-50%) scale(1.1);z-index:10}.skill-circle{align-items:center;background:linear-gradient(135deg,#7b2cbfe6,#c77dffe6);border:3px solid #fffc;border-radius:50%;box-shadow:0 8px 20px #7b2cbf4d,inset 0 2px 10px #ffffff4d;display:flex;height:80px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease;width:80px}.skill-circle:before{background:linear-gradient(45deg,#0000,#ffffff4d,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);transition:all .5s ease;width:200%}.skill-node:hover .skill-circle{border-color:#fff;box-shadow:0 12px 30px #7b2cbf80,inset 0 2px 15px #fff6}.skill-node:hover .skill-circle:before{left:100%}.skill-level{color:#fff;font-size:2rem;font-weight:700;text-shadow:0 2px 8px #0000004d;z-index:1}.skill-name{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid #7b2cbf4d;border-radius:20px;box-shadow:0 4px 12px #7b2cbf33;color:#7b2cbf;font-size:.95rem;font-weight:600;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.skill-node:hover .skill-name{background:#fff;border-color:#7b2cbf80;box-shadow:0 6px 16px #7b2cbf4d;transform:translateY(-4px)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes skillAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.piano-lessons-list{animation:fadeInScale 1s ease-out;width:100%}.lessons-list-title{color:#7b2cbf;font-size:2rem;font-weight:700;margin-bottom:2rem;text-align:center}.lessons-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:20px}.lesson-card{align-items:center;animation:fadeInScale .6s ease-out backwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:2px solid #7b2cbf4d;border-radius:20px;box-shadow:0 4px 20px #7b2cbf26;cursor:pointer;display:flex;flex-direction:column;gap:15px;padding:30px;text-align:center;transition:all .3s ease}.lesson-card:first-child{animation-delay:.1s}.lesson-card:nth-child(2){animation-delay:.2s}.lesson-card:nth-child(3){animation-delay:.3s}.lesson-card:hover{background:#ffffffd9;border-color:#7b2cbf99;box-shadow:0 8px 30px #7b2cbf4d;transform:translateY(-10px)}.lesson-card-icon{animation:pulse 2s ease-in-out infinite;font-size:4rem}.lesson-card-title{color:#7b2cbf;font-size:1.8rem;font-weight:700;margin:0}.lesson-card-description{color:#9d4edd;font-size:1rem;margin:0}.lesson-card-steps{background:#7b2cbf1a;border-radius:50px;color:#7b2cbf;font-size:.9rem;font-weight:600;padding:8px 20px}.start-lesson-button{background:linear-gradient(135deg,#7b2cbf,#c77dff);border:none;border-radius:50px;box-shadow:0 4px 15px #7b2cbf4d;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;padding:12px 30px;transition:all .3s ease}.start-lesson-button:hover{box-shadow:0 6px 20px #7b2cbf80;transform:scale(1.05)}@media (max-width:768px){.lessons-title{font-size:2.5rem}.lessons-subtitle{font-size:1.2rem}.instrument-selector{flex-direction:column;gap:.5rem}.skill-tree-container{height:600px;padding:20px}.skill-circle{height:60px;width:60px}.skill-level{font-size:1.5rem}.skill-name{font-size:.85rem;padding:6px 12px}}@media (max-width:480px){.lessons-container{padding:60px 15px 30px}.lessons-title{font-size:2rem}.lessons-subtitle{font-size:1rem}.skill-tree-container{height:500px;padding:15px}.skill-circle{height:50px;width:50px}.skill-level{font-size:1.2rem}.skill-name{font-size:.75rem;padding:4px 10px}}.piano-lesson-container{background:linear-gradient(135deg,#e7c6ff,#b8c0ff 50%,#c8b6ff);min-height:100vh;padding:20px;width:100%}.lesson-header{align-items:center;background:#ffffff4d;border:2px solid #c8b6ff80;border-radius:16px;box-shadow:0 4px 20px #7b2cbf33;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.exit-lesson-button,.lesson-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.exit-lesson-button{background:#fff9;border:2px solid #7b2cbf4d;border-radius:50px;box-shadow:0 2px 10px #0000001a;color:#7b2cbf;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;padding:12px 24px;transition:all .3s ease}.exit-lesson-button:hover{background:#c8b6ff66;border-color:#7b2cbf80;box-shadow:0 4px 15px #7b2cbf4d;transform:translateY(-2px)}.lesson-info{flex:1 1;text-align:center}.lesson-title{color:#7b2cbf;font-size:2rem;font-weight:700;margin:0 0 8px}.lesson-description{color:#9d4edd;font-size:1rem;margin:0}.lesson-progress{background:#7b2cbf33;border-radius:50px;color:#7b2cbf;font-size:1rem;font-weight:700;padding:12px 24px}.camera-and-instruction{display:flex;gap:20px;justify-content:center}.camera-window{aspect-ratio:16/9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff4d;border:3px solid #c8b6ff99;border-radius:24px;box-shadow:0 12px 40px #7b2cbf40,inset 0 1px 0 #ffffff4d;max-width:1200px;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.camera-window.no-hands-detected{border-color:#ffc107cc;box-shadow:0 12px 40px #ffc1074d,inset 0 1px 0 #ffffff4d}.stop-camera-button{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff3;border:2px solid #b8c0ff66;border-radius:8px;color:#7b2cbf;cursor:pointer;display:flex;font-family:Arial,sans-serif;font-size:1.5rem;height:3rem;justify-content:center;line-height:1;padding:0;position:absolute;right:5rem;top:1rem;transition:all .3s ease;width:3rem;z-index:15}.stop-camera-button:hover{background:#ff64644d;border-color:#ff646480;box-shadow:0 6px 20px #ff646480;color:#f44;transform:scale(1.1)}.stop-camera-button:active{transform:scale(1.05)}.fullscreen-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #b8c0ff66;border-radius:8px;color:#7b2cbf;cursor:pointer;display:flex;font-family:Arial,sans-serif;font-size:1.5rem;height:3rem;justify-content:center;line-height:1;padding:0;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:3rem;z-index:15}.fullscreen-button:hover{background:#b8c0ff66;border-color:#b8c0ff99;box-shadow:0 6px 20px #b8c0ff80;transform:scale(1.1)}.fullscreen-button:active{transform:scale(1.05)}.camera-placeholder{align-items:center;display:flex;flex-direction:column;gap:20px;height:100%;justify-content:center}.camera-icon{animation:pulse 2s ease-in-out infinite;font-size:5rem}.placeholder-text{color:#7b2cbf;font-size:1.5rem;font-weight:600;max-width:400px;text-align:center}.start-camera-button{background:linear-gradient(135deg,#7b2cbf,#c77dff);border:none;border-radius:50px;box-shadow:0 4px 20px #7b2cbf66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:16px 32px;transition:all .3s ease}.start-camera-button:hover{box-shadow:0 6px 25px #7b2cbf80;transform:translateY(-2px)}.instruction-overlay{align-items:center;display:flex;flex-direction:column;gap:15px;left:50%;position:absolute;top:20px;transform:translateX(-50%);z-index:10}.instruction-text{animation:instructionPulse 2s ease-in-out infinite;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#7b2cbff2;border:2px solid #ffffff4d;border-radius:50px;box-shadow:0 8px 25px #0000004d,inset 0 1px 0 #fff3;color:#fff;font-size:1.5rem;font-weight:700;padding:20px 40px}@keyframes instructionPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pressed-keys-display{animation:fadeIn .3s ease-out;background:#fffffff2;border:2px solid #7b2cbf4d;border-radius:50px;box-shadow:0 4px 15px #0003,inset 0 1px 0 #ffffff80;color:#7b2cbf;font-size:1.1rem;font-weight:600;padding:12px 30px}.pressed-keys-display,.success-indicator{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.success-indicator{align-items:center;animation:successFadeIn .3s ease-out;background:#4caf50f2;border:2px solid #ffffff4d;border-radius:50px;box-shadow:0 8px 25px #0000004d,inset 0 1px 0 #fff3;display:flex;gap:15px;padding:15px 30px}@keyframes successFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.checkmark{animation:checkmarkSpin .5s ease-out;color:#fff;font-size:2rem;font-weight:700}@keyframes checkmarkSpin{0%{transform:rotate(-180deg) scale(0)}to{transform:rotate(0deg) scale(1)}}.success-text{color:#fff;font-size:1.3rem;font-weight:700}.lesson-complete-overlay{align-items:center;animation:fadeIn .5s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#7b2cbff2;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:20}.complete-content{animation:scaleIn .6s ease-out;color:#fff;padding:40px;text-align:center}.complete-icon{animation:celebrationPulse 2s ease-in-out infinite;font-size:6rem}@keyframes celebrationPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.complete-title{font-size:3rem;font-weight:700;margin:20px 0}.complete-message{font-size:1.5rem;margin-bottom:40px;opacity:.9}.complete-actions{display:flex;gap:20px;justify-content:center}.exit-button,.restart-button{border:2px solid #fff;border-radius:50px;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:700;padding:16px 32px;transition:all .3s ease}.restart-button{background:#fff;color:#7b2cbf}.restart-button:hover{background:#ffffffe6;box-shadow:0 6px 20px #ffffff4d;transform:translateY(-2px)}.exit-button{background:#0000;color:#fff}.exit-button:hover{background:#fff3;transform:translateY(-2px)}.no-hands-warning{align-items:center;animation:warningPulse 1.5s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffc107f2;border:2px solid #ffffff80;border-radius:50px;bottom:20px;box-shadow:0 4px 15px #0000004d;display:flex;gap:15px;padding:15px 30px;transform:translateX(-50%)}@keyframes warningPulse{0%,to{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.05)}}.warning-icon{font-size:2rem}.warning-text{color:#fff;font-weight:700}.warning-subtext{color:#ffffffe6;font-size:.9rem}.lesson-error{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:60vh}.lesson-error h2{color:#7b2cbf;font-size:2rem}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.lesson-header{flex-direction:column;gap:15px}.lesson-title{font-size:1.5rem}.instruction-text{font-size:1.2rem;padding:15px 30px}.complete-title{font-size:2rem}.complete-message{font-size:1.2rem}.complete-actions{flex-direction:column}}.about-section{min-height:100vh;padding:4rem 2rem;position:relative}.about-container{display:flex;flex-direction:column;gap:4rem;margin:0 auto;max-width:1400px}.section-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7b2cbf,#c77dff,#9d4edd);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;margin-bottom:2rem;text-align:center}.about-mission{padding:3rem;text-align:center}.mission-content{align-items:center;display:flex;gap:3rem;justify-content:center;margin:0 auto;max-width:1100px}.mission-text{color:var(--color-text-dark);flex:1 1;font-size:1.3rem;line-height:1.8;text-align:left}.mission-text strong{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7b2cbf,#9d4edd);-webkit-background-clip:text;background-clip:text;font-weight:800}.mission-graphic{align-items:center;display:flex;justify-content:center}.trend-icon{font-size:15rem}@media (max-width:768px){.mission-content{flex-direction:column;gap:2rem}.mission-text{text-align:center}.mission-graphic{max-width:250px;width:100%}}.about-why{padding:2rem 0}.why-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.why-card{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:2px solid #b8c0ff4d;padding:2.5rem;text-align:center;transition:all .3s ease}.why-card:hover{border-color:#b8c0ff99;box-shadow:0 15px 50px #b8c0ff66,inset 0 1px 0 #ffffff4d;transform:translateY(-10px)}.why-icon{font-size:4rem;margin-bottom:1rem}.why-card h3{color:var(--color-purple);font-size:1.5rem;font-weight:700;margin-bottom:1rem}.why-card p{color:var(--color-text-dark);font-size:1.1rem;line-height:1.6;opacity:.9}.about-tech{padding:3rem}.tech-list{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.tech-item{align-items:flex-start;background:#c8b6ff1a;border:1px solid #b8c0ff33;border-radius:var(--border-radius-sm);display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.tech-item:hover{background:#c8b6ff33;border-color:#b8c0ff66;transform:translateX(5px)}.tech-badge{background:linear-gradient(135deg,var(--color-purple),var(--color-blue));border-radius:var(--border-radius-sm);box-shadow:0 4px 15px #7b68ee4d;color:#fff;flex-shrink:0;font-size:.85rem;font-weight:800;letter-spacing:1px;padding:.75rem 1rem;white-space:nowrap}.tech-content h4{color:var(--color-purple);font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.tech-content p{color:var(--color-text-dark);font-size:1rem;line-height:1.6;opacity:.9}.about-trust{display:flex;justify-content:center;padding:2rem 0}.trust-badge{background:linear-gradient(135deg,#e7c6ff26,#c77dff26);border:3px solid #b8c0ff66;max-width:700px;overflow:hidden;padding:3rem;position:relative;text-align:center}.trust-badge:before{animation:rotate 20s linear infinite;background:radial-gradient(circle,#ffd7ff1a 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.trust-icon{font-size:4.5rem}.trust-badge h3,.trust-icon{margin-bottom:1rem;position:relative;z-index:1}.trust-badge h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7b2cbf,#c77dff);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.trust-badge p{color:var(--color-text-dark);font-size:1.2rem;line-height:1.7;position:relative;z-index:1}.about-stack{padding:2.5rem}.tech-stack-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stack-item{background:#c8b6ff1a;border:2px solid #b8c0ff40;border-radius:var(--border-radius-sm);overflow:hidden;padding:1.5rem 1rem;position:relative;text-align:center;transition:all .3s ease}.stack-item:before{background:linear-gradient(90deg,#0000,#b8c0ff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.stack-item:hover:before{left:100%}.stack-item:hover{background:#c8b6ff33;border-color:#b8c0ff80;box-shadow:0 12px 35px #b8c0ff4d,inset 0 1px 0 #fff3;transform:translateY(-8px) scale(1.05)}.stack-logo{display:inline-block;font-size:3rem;margin-bottom:.75rem;transition:transform .3s ease}.stack-item:hover .stack-logo{transform:scale(1.2) rotate(5deg)}.stack-item h4{color:var(--color-purple);font-size:1.1rem;font-weight:700;margin:0}.stack-item p{display:none}@media (max-width:768px){.about-section{padding:3rem 1rem}.about-container{gap:3rem}.section-title{font-size:2rem}.about-mission{padding:2rem 1.5rem}.mission-text{font-size:1.1rem}.tech-list,.why-grid{grid-template-columns:1fr}.tech-item{flex-direction:column;text-align:center}.about-stack{padding:2rem 1.5rem}.stack-intro{font-size:1.05rem;margin-bottom:2rem}.tech-stack-grid{gap:1.5rem;grid-template-columns:1fr}.trust-badge{padding:2rem 1.5rem}.trust-badge h3{font-size:1.5rem}.trust-badge p{font-size:1rem}}.about-resources{padding:2.5rem;text-align:center}.resources-links{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.resource-link{align-items:center;background:#c8b6ff26;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-pill);color:var(--color-text-dark);display:flex;font-size:1.1rem;font-weight:600;gap:1rem;overflow:hidden;padding:1.5rem 2.5rem;position:relative;text-decoration:none;transition:all .3s ease}.resource-link:before{background:linear-gradient(90deg,#0000,#b8c0ff33,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.resource-link:hover:before{left:100%}.resource-link:hover{background:#c8b6ff4d;border-color:#b8c0ff99;box-shadow:0 10px 30px #b8c0ff66,inset 0 1px 0 #ffffff4d;transform:translateY(-5px)}.resource-icon{color:var(--color-purple);height:2rem;transition:transform .3s ease;width:2rem}.resource-link:hover .resource-icon{transform:scale(1.2) rotate(5deg)}.about-founders{padding:2.5rem}.founders-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.founder-card{align-items:center;background:#c8b6ff1a;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:1rem;overflow:hidden;padding:2rem;position:relative;text-decoration:none;transition:all .3s ease}.founder-card:before{background:linear-gradient(90deg,#0000,#b8c0ff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.founder-card:hover:before{left:100%}.founder-card:hover{background:#c8b6ff33;border-color:#b8c0ff99;box-shadow:0 15px 40px #b8c0ff66,inset 0 1px 0 #ffffff4d;transform:translateY(-10px)}.founder-icon{color:var(--color-purple);height:3rem;transition:transform .3s ease;width:3rem}.founder-card:hover .founder-icon{color:#7b2cbf;transform:scale(1.2)}.founder-name{color:var(--color-text-dark);font-size:1.2rem;font-weight:700;text-align:center}@media (max-width:768px){.resources-links{align-items:center;flex-direction:column}.resource-link{justify-content:center;max-width:300px;width:100%}.founders-grid{grid-template-columns:1fr}}.about-page{min-height:100vh;width:100%}.about-page .about-section{padding-top:2rem}.profile-page{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:6rem 2rem 2rem}.profile-container{max-width:1200px;padding:3rem;width:100%}.profile-header{margin-bottom:3rem;text-align:center}.profile-avatar{align-items:center;background:linear-gradient(135deg,#e7c6ff4d,#bbd0ff4d);border:3px solid #b8c0ff80;border-radius:50%;box-shadow:0 8px 30px #b8c0ff4d,inset 0 2px 10px #fff3;display:flex;height:120px;justify-content:center;margin:0 auto 1.5rem;width:120px}.avatar-icon{stroke:var(--color-purple);stroke-width:2.5;height:60px;width:60px}.profile-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7b2cbf,#5a67d8);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin-bottom:.5rem}.profile-subtitle{color:var(--color-text-dark);font-size:1.1rem;font-weight:500;opacity:.8}.profile-content{display:flex;flex-direction:column;gap:2rem}.profile-section{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-md);box-shadow:0 8px 30px #b8c0ff33,inset 0 1px 0 #fff3;padding:2rem;transition:all .3s ease}.profile-section:hover{border-color:#b8c0ff80;box-shadow:0 12px 40px #b8c0ff4d,inset 0 1px 0 #ffffff4d;transform:translateY(-2px)}.info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{font-size:.9rem;letter-spacing:.5px;opacity:.7;text-transform:uppercase}.info-item label,.info-value{color:var(--color-text-dark);font-weight:600}.info-value{background:#c8b6ff33;border:1px solid #b8c0ff4d;border-radius:var(--border-radius-sm);font-size:1.1rem;padding:.75rem 1rem}.edit-button{background:linear-gradient(135deg,var(--color-lavender),var(--color-purple));border:none;border-radius:var(--border-radius-pill);box-shadow:0 8px 30px #b8c0ff66;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:700;padding:1rem 2.5rem;transition:all .3s ease}.edit-button:hover{box-shadow:0 12px 40px #b8c0ff99;transform:translateY(-3px) scale(1.05)}.edit-button:active{transform:translateY(-1px) scale(1.02)}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:#ffffff1a;border:2px solid #b8c0ff4d;padding:1.5rem;text-align:center;transition:all .3s ease}.stat-card:hover{background:#c8b6ff33;border-color:#b8c0ff80;box-shadow:0 10px 30px #b8c0ff66;transform:translateY(-5px)}.stat-icon{font-size:3rem;margin-bottom:.5rem}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7b2cbf,#5a67d8);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;margin-bottom:.25rem}.stat-label{color:var(--color-text-dark);font-size:.95rem;font-weight:600;opacity:.8}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{align-items:center;background:#c8b6ff26;border:1px solid #b8c0ff4d;border-radius:var(--border-radius-sm);display:flex;gap:1.5rem;padding:1.25rem;transition:all .3s ease}.activity-item:hover{background:#c8b6ff40;border-color:#b8c0ff80;transform:translateX(5px)}.activity-icon{flex-shrink:0;font-size:2.5rem}.activity-details{flex:1 1}.activity-title{color:var(--color-text-dark);font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.activity-time{color:var(--color-text-dark);font-size:.9rem;opacity:.6}@media (max-width:768px){.profile-page{padding:5rem 1rem 1rem}.profile-container{padding:2rem 1.5rem}.profile-header h1{font-size:2.5rem}.info-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.section-title{font-size:1.5rem}}.settings-page{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:0}.settings-container{max-width:1000px;padding:3rem;width:100%}.settings-header{margin-bottom:3rem;text-align:center}.settings-icon-wrapper{align-items:center;animation:rotateSettings 20s linear infinite;background:linear-gradient(135deg,#e7c6ff4d,#bbd0ff4d);border:3px solid #b8c0ff80;border-radius:50%;box-shadow:0 8px 30px #b8c0ff4d,inset 0 2px 10px #fff3;display:flex;height:100px;justify-content:center;margin:0 auto 1.5rem;width:100px}@keyframes rotateSettings{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.settings-icon{stroke:var(--color-purple);stroke-width:2.5;height:50px;width:50px}.settings-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7b2cbf,#5a67d8);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin-bottom:.5rem}.settings-subtitle{color:var(--color-text-dark);font-size:1.1rem;font-weight:500;opacity:.8}.save-indicator{animation:fadeInOut 2s ease;background:#4caf5033;border:2px solid #4caf5080;border-radius:var(--border-radius-pill);box-shadow:0 4px 15px #4caf504d;color:#4caf50;display:inline-block;font-size:.95rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-section{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-md);box-shadow:0 8px 30px #b8c0ff33,inset 0 1px 0 #fff3;padding:2rem;transition:all .3s ease}.settings-section:hover{border-color:#b8c0ff80;box-shadow:0 12px 40px #b8c0ff4d,inset 0 1px 0 #ffffff4d}.section-title{color:var(--color-purple);font-family:Montserrat,sans-serif;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}.setting-item{margin-bottom:2rem}.setting-item:last-child{margin-bottom:0}.setting-label{align-items:center;color:var(--color-text-dark);display:flex;font-size:1.1rem;font-weight:600;justify-content:space-between;margin-bottom:1rem}.setting-value{color:var(--color-purple);font-size:1rem;font-weight:700}.setting-hint{color:#fff9;font-size:.875rem;font-style:italic;margin-top:.5rem}.slider{-webkit-appearance:none;appearance:none;background:#b8c0ff33;border-radius:var(--border-radius-pill);height:8px;outline:none;transition:all .3s ease;width:100%}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,var(--color-lavender),var(--color-purple));border-radius:50%;box-shadow:0 4px 15px #b8c0ff80;cursor:pointer;height:24px;-webkit-transition:all .2s ease;transition:all .2s ease;width:24px}.slider::-webkit-slider-thumb:hover{box-shadow:0 6px 20px #b8c0ffb3;transform:scale(1.2)}.slider::-moz-range-thumb{background:linear-gradient(135deg,var(--color-lavender),var(--color-purple));border:none;border-radius:50%;box-shadow:0 4px 15px #b8c0ff80;cursor:pointer;height:24px;-moz-transition:all .2s ease;transition:all .2s ease;width:24px}.slider::-moz-range-thumb:hover{box-shadow:0 6px 20px #b8c0ffb3;transform:scale(1.2)}.radio-group{display:flex;flex-wrap:wrap;gap:1rem}.radio-option{align-items:center;background:#c8b6ff1a;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;flex:1 1;gap:.75rem;min-width:150px;padding:1rem 1.5rem;transition:all .3s ease}.radio-option:hover{background:#c8b6ff33;border-color:#b8c0ff80;transform:translateY(-2px)}.radio-option input[type=radio]{accent-color:var(--color-purple);cursor:pointer;height:20px;width:20px}.radio-option input[type=radio]:checked+span{color:var(--color-purple);font-weight:700}.toggle-group{display:flex;flex-direction:column;gap:1rem}.toggle-option{align-items:center;background:#c8b6ff1a;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;gap:1rem;padding:1.25rem 1.5rem;transition:all .3s ease}.toggle-option:hover{background:#c8b6ff33;border-color:#b8c0ff80;transform:translateX(5px)}.toggle-option input[type=checkbox]{accent-color:var(--color-purple);cursor:pointer;flex-shrink:0;height:24px;width:24px}.toggle-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.toggle-title{color:var(--color-text-dark);font-size:1.1rem;font-weight:600}.toggle-description{color:var(--color-text-dark);font-size:.9rem;opacity:.7}.select-input{background:#c8b6ff26;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-sm);color:var(--color-text-dark);cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;outline:none;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.select-input:hover{background:#c8b6ff40;border-color:#b8c0ff80}.select-input:focus{border-color:var(--color-purple);box-shadow:0 0 0 3px #b8c0ff33}.settings-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.save-button{background:linear-gradient(135deg,var(--color-lavender),var(--color-purple));border:none;border-radius:var(--border-radius-pill);box-shadow:0 8px 30px #b8c0ff66;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:700;padding:1rem 3rem;transition:all .3s ease}.save-button:hover{box-shadow:0 12px 40px #b8c0ff99;transform:translateY(-3px) scale(1.05)}.save-button:active{transform:translateY(-1px) scale(1.02)}.reset-button{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff3;border:2px solid #b8c0ff4d;border-radius:var(--border-radius-pill);color:var(--color-text-dark);cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:700;padding:1rem 3rem;transition:all .3s ease}.reset-button:hover{background:#b8c0ff4d;border-color:#b8c0ff80;transform:translateY(-3px)}.reset-button:active{transform:translateY(-1px)}@media (max-width:768px){.settings-page{padding:5rem 1rem 1rem}.settings-container{padding:2rem 1.5rem}.settings-header h1{font-size:2.5rem}.radio-group{flex-direction:column}.radio-option{min-width:100%}.section-title{font-size:1.5rem}.settings-actions{flex-direction:column}.reset-button,.save-button{width:100%}}.multiplayer-page{align-items:center;display:flex;flex-direction:column;min-height:100vh;padding:100px 20px 40px}.multiplayer-container{margin:0 auto;max-width:1400px;width:100%}.multiplayer-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#7b2cbf,#c77dff);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin-bottom:30px;text-align:center}.connection-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #c77dff4d;border-radius:20px;box-shadow:0 8px 32px #7b2cbf26;margin-bottom:30px;padding:25px}.connect-section,.peer-id-section,.status-section{margin-bottom:20px}.connect-section:last-child,.peer-id-section:last-child,.status-section:last-child{margin-bottom:0}.connect-section label,.peer-id-section label,.status-label{color:#7b2cbf;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.peer-id-display{align-items:center;background:#7b2cbf0d;border:2px solid #c77dff4d;border-radius:10px;display:flex;gap:10px;padding:12px 16px}.peer-id-display code{color:#7b2cbf;flex:1 1;font-family:Courier New,monospace;font-size:1rem;font-weight:600;word-break:break-all}.copy-button{background:linear-gradient(135deg,#7b2cbf,#9d4edd);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;padding:8px 12px;transition:all .3s ease}.copy-button:hover{box-shadow:0 4px 12px #7b2cbf66;transform:scale(1.1)}.copy-notification{animation:fadeIn .3s ease;color:#10b981;font-size:.9rem;font-weight:600;margin-left:10px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.connect-input-group{display:flex;gap:10px}.peer-id-input{background:#fffc;border:2px solid #c77dff4d;border-radius:10px;flex:1 1;font-family:Courier New,monospace;font-size:1rem;padding:12px 16px;transition:all .3s ease}.peer-id-input:focus{border-color:#7b2cbf;box-shadow:0 0 0 3px #7b2cbf1a;outline:none}.connect-button{background:linear-gradient(135deg,#7b2cbf,#9d4edd);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.connect-button:hover{box-shadow:0 6px 20px #7b2cbf66;transform:translateY(-2px)}.status-section{align-items:center;display:flex;gap:10px}.status-indicator{border-radius:8px;font-size:.9rem;font-weight:600;padding:6px 12px}.status-disconnected,.status-idle{background:#9ca3af33;color:#6b7280}.status-ready{background:#fbbf2433;color:#f59e0b}.status-connecting{background:#fb923c33;color:#f97316}.status-connected{background:#10b98133;color:#10b981}.status-error{background:#ef444433;color:#ef4444}.error-message{background:#ef44441a;border-left:4px solid #ef4444;border-radius:10px;color:#dc2626;font-weight:500;margin-top:15px;padding:12px 16px}.video-section{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:30px}.video-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #c77dff4d;border-radius:20px;box-shadow:0 8px 32px #7b2cbf26;padding:20px}.video-container.no-hands-detected{animation:pulse 2s ease-in-out infinite;border-color:#fb923c99}@keyframes pulse{0%,to{border-color:#fb923c99}50%{border-color:#fb923c4d}}.video-container h3{color:#7b2cbf;font-size:1.3rem;font-weight:600;margin:0 0 15px}.video-wrapper{aspect-ratio:16/9;background:#1a1a2e;border-radius:15px;overflow:hidden;position:relative;width:100%}.camera-video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.video-placeholder{align-items:center;background:linear-gradient(135deg,#7b2cbf1a,#c77dff1a);color:#7b2cbf;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.placeholder-icon{font-size:4rem;margin-bottom:15px;opacity:.7}.video-placeholder p{font-size:1.1rem;font-weight:500;opacity:.8}.no-hands-warning{background:#fb923cf2;border-radius:15px;box-shadow:0 8px 32px #0000004d;color:#fff;left:50%;padding:20px 30px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.warning-icon{font-size:3rem;margin-bottom:10px}.warning-text{font-size:1.2rem;font-weight:600}.instrument-selector{margin-top:15px;position:relative}.instrument-dropdown-custom{align-items:center;background:linear-gradient(135deg,#7b2cbf,#9d4edd);border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:600;justify-content:space-between;padding:12px 16px;transition:all .3s ease}.instrument-dropdown-custom:hover{box-shadow:0 6px 20px #7b2cbf66;transform:translateY(-2px)}.instrument-options{background:#fff;border:2px solid #c77dff4d;border-radius:10px;box-shadow:0 8px 32px #00000026;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 5px);z-index:100}.instrument-option{color:#333;cursor:pointer;font-weight:500;padding:12px 16px;transition:all .2s ease}.instrument-option:hover{background:#7b2cbf1a}.instrument-option.selected{background:#7b2cbf26;color:#7b2cbf;font-weight:600}.control-buttons{display:flex;gap:15px;justify-content:center;margin-bottom:30px}.danger-button,.primary-button,.secondary-button{border:none;border-radius:12px;cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;padding:14px 32px;transition:all .3s ease}.primary-button{background:linear-gradient(135deg,#7b2cbf,#9d4edd);box-shadow:0 4px 15px #7b2cbf4d;color:#fff}.primary-button:hover{box-shadow:0 8px 25px #7b2cbf66;transform:translateY(-3px)}.secondary-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 15px #6366f14d;color:#fff}.secondary-button:hover{box-shadow:0 8px 25px #6366f166;transform:translateY(-3px)}.danger-button{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 15px #ef44444d;color:#fff}.danger-button:hover{box-shadow:0 8px 25px #ef444466;transform:translateY(-3px)}.instructions-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #c77dff4d;border-radius:20px;box-shadow:0 8px 32px #7b2cbf26;padding:25px}.instructions-panel h3{color:#7b2cbf;font-size:1.5rem;font-weight:600;margin-bottom:15px}.instructions-panel ol{color:#333;line-height:1.8;margin-left:20px}.instructions-panel li{font-size:1.05rem;margin-bottom:10px}.instructions-panel strong{color:#7b2cbf;font-weight:600}@media (max-width:1024px){.video-section{grid-template-columns:1fr}.multiplayer-title{font-size:2rem}}@media (max-width:768px){.multiplayer-page{padding:80px 15px 30px}.multiplayer-title{font-size:1.8rem}.connection-panel,.instructions-panel{padding:20px}.connect-input-group,.control-buttons{flex-direction:column}.danger-button,.primary-button,.secondary-button{width:100%}}
/*# sourceMappingURL=main.5ee9e0ac.css.map*/