.entree-voile[data-v-953641cb]{position:fixed;inset:0;z-index:10060;display:grid;place-items:center;padding:16px;background:#0c121cbd;overflow-y:auto}.entree-carte[data-v-953641cb]{width:min(100%,480px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:20px;border-radius:18px;background:#fff;box-shadow:0 18px 48px #00000059}.entree-titre[data-v-953641cb]{margin:0 0 6px;font-size:1.25rem;font-weight:700;color:#16233a}.entree-explication[data-v-953641cb]{margin:0 0 16px;font-size:.95rem;line-height:1.45;color:#4a5a72}.entree-choix[data-v-953641cb]{display:flex;flex-direction:column;gap:10px}.entree-bouton[data-v-953641cb]{display:grid;grid-template-columns:44px 1fr;grid-template-areas:"icone titre" "icone texte";align-items:center;gap:2px 12px;min-height:64px;padding:10px 14px;border:2px solid #cddcee;border-radius:14px;background:#f7faff;text-align:left;cursor:pointer}.entree-bouton.retenu[data-v-953641cb]{border-color:#2a5db0;background:#eaf1fb}.entree-bouton[data-v-953641cb]:focus-visible{outline:3px solid #16233a;outline-offset:2px}.entree-icone[data-v-953641cb]{grid-area:icone;font-size:1.6rem;line-height:1}.entree-titre-bouton[data-v-953641cb]{grid-area:titre;font-weight:700;color:#16233a}.entree-texte[data-v-953641cb]{grid-area:texte;font-size:.88rem;color:#4a5a72}.entree-explication-suite[data-v-953641cb]{margin-top:14px;padding:12px;border-radius:12px;background:#f2f6fc}.entree-explication-suite p[data-v-953641cb]{margin:0;font-size:.9rem;line-height:1.45;color:#33445c}.entree-actions[data-v-953641cb]{display:flex;gap:10px;margin-top:16px}.entree-btn-principal[data-v-953641cb],.entree-btn-secondaire[data-v-953641cb]{flex:1 1 0;min-height:48px;padding:0 12px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer}.entree-btn-principal[data-v-953641cb]{border:2px solid #2a5db0;background:#2a5db0;color:#fff}.entree-btn-secondaire[data-v-953641cb]{border:2px solid #cddcee;background:#fff;color:#16233a}.home-page[data-v-227c9034]{min-height:100vh;background:linear-gradient(135deg,#e3f2fd,#f1f8e9)}.hero-section[data-v-227c9034]{padding:40px 20px 20px;text-align:center}.hero-content[data-v-227c9034]{max-width:800px;margin:0 auto}.hero-title[data-v-227c9034]{font-family:var(--font-rounded);font-size:clamp(24px,5vw,36px);font-weight:700;color:#37474f;margin:0 0 16px;text-shadow:2px 2px 4px rgba(0,0,0,.1);line-height:1.2}.hero-subtitle[data-v-227c9034]{font-family:var(--font-rounded);font-size:18px;color:#666;margin:0 0 32px}.progress-card[data-v-227c9034]{background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 24px #0000001a;border:2px solid transparent;background-clip:padding-box;position:relative}.progress-card[data-v-227c9034]:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#4fc3f7,#66bb6a);border-radius:20px;z-index:-1}.progress-header[data-v-227c9034]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.level-info[data-v-227c9034],.points-info[data-v-227c9034]{display:flex;align-items:center;gap:8px}.level-emoji[data-v-227c9034],.points-icon[data-v-227c9034]{font-size:20px}.level-text[data-v-227c9034],.points-text[data-v-227c9034]{font-family:var(--font-rounded);font-size:16px;font-weight:600;color:#37474f}.progress-bar-container[data-v-227c9034]{margin-bottom:12px}.progress-bar[data-v-227c9034]{width:100%;height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-227c9034]{height:100%;background:linear-gradient(90deg,#4fc3f7,#66bb6a);border-radius:6px;transition:width .5s ease}.progress-text[data-v-227c9034]{font-family:var(--font-rounded);font-size:14px;color:#666;text-align:center}.next-level[data-v-227c9034]{font-family:var(--font-rounded);font-size:14px;color:#4fc3f7;font-weight:500;text-align:center}.main-navigation[data-v-227c9034]{padding:20px}.nav-grid[data-v-227c9034]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:1000px;margin:0 auto}@media (min-width: 900px){.nav-grid[data-v-227c9034]{grid-template-columns:repeat(2,1fr)}}.nav-card[data-v-227c9034]{background:#fff;border-radius:20px;padding:24px;text-align:center;box-shadow:0 4px 16px #0000001a;transition:all .3s ease;text-decoration:none;color:inherit;display:block}.nav-card[data-v-227c9034]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.future-card[data-v-227c9034]{background:#f5f7f8;border:2px dashed #CFD8DC;color:#78909c;cursor:not-allowed;opacity:.72;pointer-events:none;box-shadow:none}.future-card[data-v-227c9034]:hover{transform:none;box-shadow:none}.coming-note[data-v-227c9034]{max-width:1000px;margin:18px auto 0;padding-top:16px;border-top:2px dashed #E0E0E0;text-align:center;font-size:14px;color:#90a4ae}.status-disabled[data-v-227c9034]{color:#78909c}.card-icon[data-v-227c9034]{font-size:48px;margin-bottom:16px;display:block}.card-title[data-v-227c9034]{font-family:var(--font-rounded);font-size:22px;font-weight:600;color:#37474f;margin:0 0 12px}.card-description[data-v-227c9034]{font-family:var(--font-rounded);font-size:16px;color:#666;line-height:1.4;margin:0 0 16px}.card-status[data-v-227c9034]{font-family:var(--font-rounded);font-size:14px;font-weight:500}.status-progress[data-v-227c9034]{color:#4fc3f7}.status-new[data-v-227c9034]{color:#ffa726}.status-completed[data-v-227c9034]{color:#66bb6a}.status-achievements[data-v-227c9034]{color:#ab47bc}.quick-actions[data-v-227c9034]{padding:20px}.actions-header[data-v-227c9034]{text-align:center;margin-bottom:24px}.actions-title[data-v-227c9034]{font-family:var(--font-rounded);font-size:24px;font-weight:600;color:#37474f;margin:0}.actions-grid[data-v-227c9034]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:800px;margin:0 auto}.action-button[data-v-227c9034]{background:#fff;border:2px solid #E0E0E0;border-radius:16px;padding:16px 20px;display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--font-rounded);font-size:16px;font-weight:500;color:#37474f;cursor:pointer;transition:all .3s ease;text-decoration:none}.action-button[data-v-227c9034]:hover:not(:disabled){border-color:#4fc3f7;color:#4fc3f7;transform:translateY(-2px)}.action-button[data-v-227c9034]:disabled{opacity:.5;cursor:not-allowed}.action-icon[data-v-227c9034]{font-size:20px}.daily-challenge[data-v-227c9034]{margin:32px 20px;background:linear-gradient(135deg,#ffa726,#f06292);border-radius:20px;padding:24px;color:#fff}.challenge-header[data-v-227c9034]{display:flex;align-items:center;gap:16px;margin-bottom:20px}.challenge-icon[data-v-227c9034]{font-size:40px}.challenge-info[data-v-227c9034]{flex:1}.challenge-title[data-v-227c9034]{font-family:var(--font-rounded);font-size:20px;font-weight:600;margin:0 0 4px}.challenge-description[data-v-227c9034]{font-family:var(--font-rounded);font-size:16px;margin:0;opacity:.9}.challenge-button[data-v-227c9034]{background:#fff;color:#ffa726;border:none;border-radius:12px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;width:100%;font-family:var(--font-rounded);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.challenge-button[data-v-227c9034]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.hero-start[data-v-227c9034]{display:flex;justify-content:center;margin-top:4px}.hero-start-button[data-v-227c9034]{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 28px;border-radius:28px;background:linear-gradient(135deg,#4fc3f7,#66bb6a);color:#fff;font-family:var(--font-rounded);font-size:19px;font-weight:700;text-decoration:none;box-shadow:0 6px 16px #4fc3f766;transition:transform .2s ease,box-shadow .2s ease}.hero-start-button[data-v-227c9034]:active{transform:scale(.96);box-shadow:0 3px 10px #4fc3f759}.hero-start-icon[data-v-227c9034]{font-size:24px}@media (max-width: 640px){.hero-section[data-v-227c9034]{padding:20px 16px 16px}.main-navigation[data-v-227c9034],.quick-actions[data-v-227c9034]{padding:16px}.nav-grid[data-v-227c9034]{grid-template-columns:1fr;gap:16px}.actions-grid[data-v-227c9034]{grid-template-columns:1fr;gap:12px}.progress-header[data-v-227c9034]{flex-direction:column;gap:12px;text-align:center}.challenge-header[data-v-227c9034]{flex-direction:column;text-align:center}}.lessons-page[data-v-10292b42]{min-height:100vh;background:linear-gradient(135deg,#fff3e0,#f3e5f5);padding-bottom:80px}.page-header[data-v-10292b42]{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-content[data-v-10292b42]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-width:1200px;margin:0 auto}.back-button[data-v-10292b42]{display:flex;align-items:center;gap:8px;text-decoration:none;color:#666;font-family:Fredoka,sans-serif;font-weight:500;transition:color .2s ease}.back-button[data-v-10292b42]:hover{color:#ffa726}.back-icon[data-v-10292b42]{font-size:20px}.page-title[data-v-10292b42]{display:flex;align-items:center;gap:12px;font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0}.title-icon[data-v-10292b42]{font-size:28px}.header-placeholder[data-v-10292b42]{width:120px}.page-content[data-v-10292b42]{padding:20px}.lessons-overview[data-v-10292b42]{margin-bottom:32px}.overview-card[data-v-10292b42]{background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 24px #0000001a;border:2px solid transparent;background-clip:padding-box;position:relative}.overview-card[data-v-10292b42]:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#ffa726,#ab47bc);border-radius:20px;z-index:-1}.overview-title[data-v-10292b42]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0 0 20px;text-align:center}.overview-stats[data-v-10292b42]{display:flex;justify-content:space-around;margin-bottom:20px}.stat[data-v-10292b42]{display:flex;flex-direction:column;align-items:center;gap:8px}.stat-icon[data-v-10292b42]{font-size:32px}.stat-value[data-v-10292b42]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:700;color:#37474f}.stat-label[data-v-10292b42]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;text-transform:uppercase;letter-spacing:1px}.progress-bar[data-v-10292b42]{height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden}.progress-fill[data-v-10292b42]{height:100%;background:linear-gradient(90deg,#ffa726,#ab47bc);border-radius:6px;transition:width .5s ease}.lessons-list[data-v-10292b42]{margin-bottom:32px}.lessons-grid[data-v-10292b42]{display:flex;flex-direction:column;gap:16px}.lesson-card[data-v-10292b42]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 16px #0000001a;transition:all .3s ease}.lesson-card.completed[data-v-10292b42]{border:2px solid #4CAF50;background:linear-gradient(135deg,#fff,#f1f8e9)}.lesson-card.available[data-v-10292b42]{border:2px solid #4FC3F7}.lesson-card.locked[data-v-10292b42]{opacity:.6;background:#f5f5f5}.lesson-card:hover.available[data-v-10292b42]{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.lesson-header[data-v-10292b42]{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.lesson-icon[data-v-10292b42]{font-size:32px;width:48px;text-align:center}.lesson-info[data-v-10292b42]{flex:1}.lesson-title[data-v-10292b42]{font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;color:#37474f;margin:0 0 4px}.lesson-description[data-v-10292b42]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0 0 8px;line-height:1.4}.lesson-meta[data-v-10292b42]{display:flex;gap:12px}.lesson-type[data-v-10292b42]{font-family:Fredoka,sans-serif;font-size:12px;color:#4fc3f7;background:#4fc3f71a;padding:4px 8px;border-radius:12px;font-weight:500}.lesson-points[data-v-10292b42]{font-family:Fredoka,sans-serif;font-size:12px;color:#ffa726;background:#ffa7261a;padding:4px 8px;border-radius:12px;font-weight:500}.lesson-status[data-v-10292b42]{font-size:24px;width:32px;text-align:center}.status-completed[data-v-10292b42]{color:#4caf50}.status-available[data-v-10292b42]{color:#4fc3f7}.status-locked[data-v-10292b42]{color:#ccc}.lesson-actions[data-v-10292b42]{display:flex;justify-content:flex-end}.start-button[data-v-10292b42]{background:linear-gradient(135deg,#4fc3f7,#66bb6a);color:#fff;border:none;border-radius:12px;padding:12px 20px;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4fc3f74d}.start-button[data-v-10292b42]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4fc3f766}.encouragement[data-v-10292b42]{background:linear-gradient(135deg,#ffa726,#f06292);border-radius:20px;padding:24px;text-align:center;color:#fff}.encouragement-title[data-v-10292b42]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;margin:0 0 12px}.encouragement-text[data-v-10292b42]{font-family:Fredoka,sans-serif;font-size:16px;margin:0;opacity:.9}@media (max-width: 640px){.header-content[data-v-10292b42]{padding:12px 16px}.page-title[data-v-10292b42]{font-size:20px}.page-content[data-v-10292b42]{padding:16px}.overview-stats[data-v-10292b42]{flex-direction:column;gap:16px}.stat[data-v-10292b42]{flex-direction:row;gap:12px}.lesson-header[data-v-10292b42]{flex-direction:column;text-align:center}.lesson-meta[data-v-10292b42],.lesson-actions[data-v-10292b42]{justify-content:center}}.profile-page[data-v-e039613c]{min-height:100vh;background:linear-gradient(135deg,#f3e5f5,#e1bee7);padding-bottom:80px}.page-header[data-v-e039613c]{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-content[data-v-e039613c]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-width:1200px;margin:0 auto}.back-button[data-v-e039613c]{display:flex;align-items:center;gap:8px;text-decoration:none;color:#666;font-family:Fredoka,sans-serif;font-weight:500;transition:color .2s ease}.back-button[data-v-e039613c]:hover{color:#ab47bc}.back-icon[data-v-e039613c]{font-size:20px}.page-title[data-v-e039613c]{display:flex;align-items:center;gap:12px;font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0}.title-icon[data-v-e039613c]{font-size:28px}.header-placeholder[data-v-e039613c]{width:120px}.page-content[data-v-e039613c]{padding:20px}.user-info[data-v-e039613c]{margin-bottom:24px}.profile-card[data-v-e039613c]{background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 24px #0000001a;display:flex;align-items:center;gap:20px;border:2px solid transparent;background-clip:padding-box;position:relative}.profile-card[data-v-e039613c]:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#ab47bc,#e1bee7);border-radius:20px;z-index:-1}.profile-avatar[data-v-e039613c]{width:80px;height:80px;background:linear-gradient(135deg,#ab47bc,#e1bee7);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-emoji[data-v-e039613c]{font-size:40px}.profile-details[data-v-e039613c]{flex:1}.profile-name[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0 0 8px}.profile-level[data-v-e039613c],.profile-points[data-v-e039613c]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.level-icon[data-v-e039613c],.points-icon[data-v-e039613c]{font-size:18px}.level-text[data-v-e039613c],.points-value[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;font-weight:500}.progress-overview[data-v-e039613c]{margin-bottom:24px}.progress-card[data-v-e039613c]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 16px #0000001a}.progress-title[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 16px}.level-progress[data-v-e039613c]{text-align:center}.progress-info[data-v-e039613c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.current-level[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;color:#ab47bc}.next-level[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:14px;color:#666}.progress-bar[data-v-e039613c]{height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-e039613c]{height:100%;background:linear-gradient(90deg,#ab47bc,#e1bee7);border-radius:6px;transition:width .5s ease}.progress-text[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:14px;color:#666}.statistics[data-v-e039613c]{margin-bottom:24px}.stats-grid[data-v-e039613c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card[data-v-e039613c]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 16px #0000001a;display:flex;align-items:center;gap:16px;transition:all .3s ease}.stat-card[data-v-e039613c]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.stat-icon[data-v-e039613c]{font-size:32px;width:48px;text-align:center}.stat-content[data-v-e039613c]{flex:1}.stat-value[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:700;color:#37474f;margin:0}.stat-label[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0}.achievements[data-v-e039613c]{margin-bottom:24px}.achievements-header[data-v-e039613c]{text-align:center;margin-bottom:20px}.achievements-title[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0 0 8px}.achievements-subtitle[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0}.achievements-grid[data-v-e039613c]{display:flex;flex-direction:column;gap:12px}.achievement-item[data-v-e039613c]{background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 16px #0000001a;display:flex;align-items:center;gap:16px;transition:all .3s ease;border:2px solid #FFA726;background:linear-gradient(135deg,#fff3e0,#fff8e1)}.achievement-item[data-v-e039613c]:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.achievement-icon[data-v-e039613c]{font-size:28px;width:40px;text-align:center}.achievement-content[data-v-e039613c]{flex:1}.achievement-name[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f;margin:0 0 4px}.achievement-description[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0 0 4px}.achievement-date[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:12px;color:#999}.achievement-points[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#ffa726;background:#ffa7261a;padding:4px 8px;border-radius:8px}.no-achievements[data-v-e039613c]{background:#fff;border-radius:16px;padding:32px;text-align:center;box-shadow:0 4px 16px #0000001a}.no-achievements-icon[data-v-e039613c]{font-size:48px;margin-bottom:16px}.no-achievements-text[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0}.quick-actions[data-v-e039613c]{margin-bottom:24px}.actions-title[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 16px;text-align:center}.actions-grid[data-v-e039613c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.action-card[data-v-e039613c]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 16px #0000001a;display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;transition:all .3s ease}.action-card[data-v-e039613c]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.action-icon[data-v-e039613c]{font-size:28px;width:40px;text-align:center}.action-content[data-v-e039613c]{flex:1}.action-title[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f;margin:0 0 4px}.action-description[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0}.reset-section[data-v-e039613c]{margin-bottom:40px}.reset-card[data-v-e039613c]{background:#ffebee;border:2px solid #FFCDD2;border-radius:16px;padding:20px;text-align:center}.reset-title[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;color:#c62828;margin:0 0 8px}.reset-description[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0 0 16px}.reset-button[data-v-e039613c]{background:#f44336;color:#fff;border:none;border-radius:12px;padding:12px 20px;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.reset-button[data-v-e039613c]:hover{background:#d32f2f;transform:translateY(-2px)}.modal-overlay[data-v-e039613c]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(8px)}.modal-content[data-v-e039613c]{background:#fff;border-radius:20px;padding:32px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 40px #0000004d}.modal-title[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#c62828;margin:0 0 16px}.modal-text[data-v-e039613c]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;line-height:1.6;margin:0 0 24px}.modal-actions[data-v-e039613c]{display:flex;gap:12px;justify-content:center}.confirm-button[data-v-e039613c]{background:#f44336;color:#fff;border:none;border-radius:12px;padding:12px 20px;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.confirm-button[data-v-e039613c]:hover{background:#d32f2f}.cancel-button[data-v-e039613c]{background:#e0e0e0;color:#666;border:none;border-radius:12px;padding:12px 20px;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button[data-v-e039613c]:hover{background:#bdbdbd}@media (max-width: 640px){.header-content[data-v-e039613c]{padding:12px 16px}.page-title[data-v-e039613c]{font-size:20px}.page-content[data-v-e039613c]{padding:16px}.profile-card[data-v-e039613c]{flex-direction:column;text-align:center}.stats-grid[data-v-e039613c],.actions-grid[data-v-e039613c]{grid-template-columns:1fr}.achievement-item[data-v-e039613c]{flex-direction:column;text-align:center}.modal-content[data-v-e039613c]{padding:24px}.modal-actions[data-v-e039613c]{flex-direction:column}}.settings-page[data-v-f7d34b96]{min-height:100vh;background:linear-gradient(135deg,#e0f2f1,#b2dfdb);padding-bottom:80px}.page-header[data-v-f7d34b96]{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-content[data-v-f7d34b96]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-width:1200px;margin:0 auto}.back-button[data-v-f7d34b96]{display:flex;align-items:center;gap:8px;text-decoration:none;color:#666;font-family:Fredoka,sans-serif;font-weight:500;transition:color .2s ease}.back-button[data-v-f7d34b96]:hover{color:#26a69a}.back-icon[data-v-f7d34b96]{font-size:20px}.page-title[data-v-f7d34b96]{display:flex;align-items:center;gap:12px;font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0}.title-icon[data-v-f7d34b96]{font-size:28px}.header-placeholder[data-v-f7d34b96]{width:120px}.page-content[data-v-f7d34b96]{padding:20px}.settings-section[data-v-f7d34b96]{margin-bottom:32px}.section-header[data-v-f7d34b96]{margin-bottom:16px}.section-title[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0}.settings-card[data-v-f7d34b96]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 16px #0000001a}.setting-item[data-v-f7d34b96]{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #E0E0E0}.setting-item[data-v-f7d34b96]:last-child{border-bottom:none}.setting-info[data-v-f7d34b96]{flex:1;margin-right:20px}.setting-label[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f;margin:0 0 4px}.setting-description[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0}.setting-control[data-v-f7d34b96],.volume-slider[data-v-f7d34b96]{display:flex;align-items:center;gap:12px}.slider[data-v-f7d34b96]{width:120px;height:6px;border-radius:3px;background:#e0e0e0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider[data-v-f7d34b96]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#26a69a;cursor:pointer;box-shadow:0 2px 4px #0003}.slider[data-v-f7d34b96]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#26a69a;cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.volume-display[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#37474f;min-width:35px;text-align:right}.toggle-button[data-v-f7d34b96]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;border:2px solid #E0E0E0;background:#fff;font-family:Fredoka,sans-serif;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .3s ease}.toggle-button.active[data-v-f7d34b96]{border-color:#26a69a;background:#26a69a1a;color:#26a69a}.toggle-button[data-v-f7d34b96]:hover{border-color:#26a69a}.toggle-button.setting-pending[data-v-f7d34b96],.toggle-button.setting-pending[data-v-f7d34b96]:hover{border-color:#e0e0e0;background:#f5f5f5;color:#9e9e9e;cursor:not-allowed}.install-button[data-v-f7d34b96]{min-height:44px;padding:0 18px;border:none;border-radius:14px;background:#26a69a;color:#fff;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer}.status-installed[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#2e7d32}.text-button[data-v-f7d34b96]{display:block;margin-top:6px;border:none;background:none;font-family:Fredoka,sans-serif;font-size:12px;color:#546e7a;text-decoration:underline;cursor:pointer}.select-input[data-v-f7d34b96]{padding:8px 12px;border:2px solid #E0E0E0;border-radius:12px;background:#fff;font-family:Fredoka,sans-serif;font-size:14px;color:#37474f;cursor:pointer;transition:border-color .3s ease}.select-input[data-v-f7d34b96]:focus{outline:none;border-color:#26a69a}.action-button[data-v-f7d34b96]{padding:10px 16px;border:2px solid #26A69A;border-radius:12px;background:#fff;color:#26a69a;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.action-button[data-v-f7d34b96]:hover{background:#26a69a;color:#fff}.danger-button[data-v-f7d34b96]{padding:10px 16px;border:2px solid #F44336;border-radius:12px;background:#fff;color:#f44336;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.danger-button[data-v-f7d34b96]:hover{background:#f44336;color:#fff}.about-card[data-v-f7d34b96]{background:linear-gradient(135deg,#26a69a,#00897b);border-radius:20px;padding:24px;color:#fff}.about-content[data-v-f7d34b96]{text-align:center}.about-title[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:700;margin:0 0 8px}.about-version[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:14px;opacity:.8;margin:0 0 16px}.about-description[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:16px;line-height:1.6;margin:0 0 24px;opacity:.9}.about-features[data-v-f7d34b96]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-bottom:24px}.feature[data-v-f7d34b96]{display:flex;flex-direction:column;align-items:center;gap:8px}.feature-icon[data-v-f7d34b96]{font-size:24px}.feature-text[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:12px;font-weight:500;text-align:center}.about-footer[data-v-f7d34b96]{border-top:1px solid rgba(255,255,255,.2);padding-top:16px}.footer-text[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:14px;opacity:.8;margin:0}.modal-overlay[data-v-f7d34b96]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(8px)}.modal-content[data-v-f7d34b96]{background:#fff;border-radius:20px;padding:32px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 40px #0000004d}.modal-title[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#c62828;margin:0 0 16px}.modal-text[data-v-f7d34b96]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;line-height:1.6;margin:0 0 24px}.modal-actions[data-v-f7d34b96]{display:flex;gap:12px;justify-content:center}.cancel-button[data-v-f7d34b96]{background:#e0e0e0;color:#666;border:none;border-radius:12px;padding:12px 20px;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button[data-v-f7d34b96]:hover{background:#bdbdbd}.settings-status[data-v-f7d34b96]{margin:16px 0 0;color:#37474f;font-family:Fredoka,sans-serif;font-size:14px}.famille-link[data-v-f7d34b96]{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:12px;padding:0 18px;border:2px solid #2a5db0;border-radius:22px;color:#2a5db0;font-weight:700;text-decoration:none}.credits-card[data-v-f7d34b96]{padding:16px 24px}.credits-list[data-v-f7d34b96]{margin:0;padding-left:20px;text-align:left}.credits-list li[data-v-f7d34b96]{margin:8px 0}.credits-list a[data-v-f7d34b96]{color:#fff;text-decoration:underline}@media (max-width: 640px){.header-content[data-v-f7d34b96]{padding:12px 16px}.page-title[data-v-f7d34b96]{font-size:20px}.page-content[data-v-f7d34b96]{padding:16px}.setting-item[data-v-f7d34b96]{flex-direction:column;align-items:flex-start;gap:12px}.setting-info[data-v-f7d34b96]{margin-right:0}.setting-control[data-v-f7d34b96]{align-self:stretch}.volume-slider[data-v-f7d34b96]{flex-direction:column;gap:8px}.slider[data-v-f7d34b96]{width:100%}.about-features[data-v-f7d34b96]{grid-template-columns:repeat(2,1fr)}.modal-content[data-v-f7d34b96]{padding:24px}.modal-actions[data-v-f7d34b96]{flex-direction:column}}.reglage-voile[data-v-e0a7b16f]{position:fixed;inset:0;z-index:10040;display:grid;place-items:center;padding:16px;background:#0c121cb8;overflow-y:auto}.reglage-carte[data-v-e0a7b16f]{width:min(100%,460px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:18px;border-radius:16px;background:#fff;box-shadow:0 18px 48px #00000059}.reglage-titre[data-v-e0a7b16f]{margin:0 0 6px;font-size:1.15rem;font-weight:700;color:#16233a}.reglage-explication[data-v-e0a7b16f]{margin:0 0 14px;font-size:.95rem;line-height:1.4;color:#4a5a72}.reglage-groupe[data-v-e0a7b16f]{margin:0 0 16px;padding:0;border:0}.reglage-groupe legend[data-v-e0a7b16f]{padding:0;margin-bottom:8px;font-size:.95rem;font-weight:600;color:#16233a}.reglage-choix[data-v-e0a7b16f]{display:flex;flex-wrap:wrap;gap:8px}.reglage-bouton[data-v-e0a7b16f]{min-width:44px;min-height:44px;padding:0 12px;border:2px solid #cddcee;border-radius:10px;background:#f7faff;color:#16233a;font-size:1rem;cursor:pointer}.reglage-bouton.actif[data-v-e0a7b16f]{border-color:#2a5db0;background:#2a5db0;color:#fff}.reglage-bouton[data-v-e0a7b16f]:focus-visible{outline:3px solid #16233a;outline-offset:2px}.reglage-aide[data-v-e0a7b16f]{margin:8px 0 0;font-size:.85rem;line-height:1.35;color:#5b6b83}.reglage-actions[data-v-e0a7b16f]{display:flex;gap:10px;margin-top:4px}.reglage-btn-principal[data-v-e0a7b16f],.reglage-btn-secondaire[data-v-e0a7b16f]{flex:1 1 0;min-height:48px;padding:0 12px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer}.reglage-btn-principal[data-v-e0a7b16f]{border:2px solid #2a5db0;background:#2a5db0;color:#fff}.reglage-btn-secondaire[data-v-e0a7b16f]{border:2px solid #cddcee;background:#fff;color:#16233a}.reglage-bouton-large[data-v-e0a7b16f]{width:100%;min-height:48px;font-weight:600}.reglage-choix-compte[data-v-e0a7b16f]{align-items:center;gap:12px}.reglage-pas[data-v-e0a7b16f]{width:56px;font-size:1.5rem;font-weight:700}.reglage-pas[data-v-e0a7b16f]:disabled{opacity:.4;cursor:default}.reglage-compte[data-v-e0a7b16f]{min-width:84px;text-align:center;font-size:1.6rem;font-weight:700;color:#16233a}.reglage-compte-unite[data-v-e0a7b16f]{display:block;font-size:.75rem;font-weight:500;color:#5b6b83}.oreille-voile[data-v-8f0cf547]{position:fixed;inset:0;z-index:10070;display:grid;place-items:center;padding:16px;background:#0c121cbd;overflow-y:auto}.oreille-carte[data-v-8f0cf547]{position:relative;width:min(100%,420px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:20px;border-radius:18px;background:#fff;box-shadow:0 18px 48px #00000059}.oreille-titre[data-v-8f0cf547]{margin:0 0 6px;font-size:1.2rem;color:#16233a}.oreille-regle[data-v-8f0cf547],.oreille-aide[data-v-8f0cf547]{margin:0 0 14px;font-size:.95rem;line-height:1.45;color:#4a5a72}.oreille-compteur[data-v-8f0cf547],.oreille-resultat[data-v-8f0cf547]{margin:0 0 12px;font-size:.9rem;font-weight:700;color:#33445c}.oreille-actions[data-v-8f0cf547]{display:flex;gap:10px;margin-bottom:12px}.oreille-bouton[data-v-8f0cf547]{flex:1 1 0;min-height:48px;padding:0 12px;border:2px solid #cddcee;border-radius:12px;background:#f7faff;font-size:1rem;font-weight:600;color:#16233a;cursor:pointer}.oreille-principal[data-v-8f0cf547]{border-color:#2a5db0;background:#2a5db0;color:#fff}.oreille-bouton[data-v-8f0cf547]:disabled{opacity:.45;cursor:default}.oreille-suite[data-v-8f0cf547]{margin-top:8px}.oreille-juste[data-v-8f0cf547]{margin:0 0 10px;font-weight:700;color:#1f7a4d}.oreille-faux[data-v-8f0cf547]{margin:0 0 10px;color:#a4402a}.oreille-message[data-v-8f0cf547]{font-size:.95rem;color:#4a5a72}.oreille-quitter[data-v-8f0cf547]{position:absolute;top:10px;right:10px;width:44px;height:44px;display:grid;place-content:center;border:2px solid #cddcee;border-radius:10px;background:#fff;font-size:1.1rem;cursor:pointer}.transpose-control[data-v-e6e0433a]{display:flex;align-items:center;gap:10px}.transpose-button[data-v-e6e0433a]{min-width:48px;min-height:48px;padding:0 12px;border:2px solid #26A69A;border-radius:14px;background:#fff;color:#37474f;font-size:20px;line-height:1;cursor:pointer;transition:transform .15s ease,background .15s ease,opacity .15s ease}.transpose-button[data-v-e6e0433a]:active:not(:disabled){transform:scale(.94);background:#e0f2f1}.transpose-button[data-v-e6e0433a]:disabled{opacity:.35;cursor:default}.transpose-value[data-v-e6e0433a]{flex:1 1 auto;min-width:0;font-size:15px;font-weight:700;color:#37474f}.transpose-steps[data-v-e6e0433a]{display:flex;gap:8px;margin-top:10px}.transpose-step-button[data-v-e6e0433a]{flex:1 1 0;min-height:44px;padding:0 10px;border:2px solid #B0BEC5;border-radius:12px;background:#fff;color:#455a64;font-family:inherit;font-size:14px;cursor:pointer}.transpose-step-button.active[data-v-e6e0433a]{border-color:#26a69a;background:#e0f2f1;color:#00695c;font-weight:700}.transpose-hint[data-v-e6e0433a]{margin:6px 0 0;font-size:12px;color:#78909c}.parent-tools-range[data-v-e6e0433a]{margin-left:auto;padding-left:8px;font-size:14px;font-weight:700;color:#37474f;white-space:nowrap;flex-shrink:0}.parent-tools[data-v-e6e0433a]{margin:0 0 8px}.parent-tools-summary[data-v-e6e0433a]{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 16px;border:2px solid #B0BEC5;border-radius:16px;background:#ffffffb3;cursor:pointer;list-style:none;font-family:Fredoka,sans-serif}.parent-tools-summary[data-v-e6e0433a]::-webkit-details-marker{display:none}.parent-tools-summary[data-v-e6e0433a]:after{content:"▼";margin-left:auto;color:#78909c;font-size:12px;transition:transform .2s ease}.parent-tools[open] .parent-tools-summary[data-v-e6e0433a]:after{transform:rotate(180deg)}.parent-tools-icon[data-v-e6e0433a]{font-size:24px}.parent-tools-text[data-v-e6e0433a]{display:flex;flex-direction:column;min-width:0}.parent-tools-label[data-v-e6e0433a]{font-size:16px;font-weight:600;color:#37474f}.parent-tools-hint[data-v-e6e0433a]{font-size:12px;color:#78909c}.parent-tools[open] .parent-tools-summary[data-v-e6e0433a]{margin-bottom:12px;border-color:#4fc3f7;background:#fff}.piano-module[data-v-e6e0433a]{min-height:100vh;overflow-x:hidden;background:linear-gradient(135deg,#e3f2fd,#f1f8e9);padding-bottom:80px}.module-header[data-v-e6e0433a]{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-content[data-v-e6e0433a]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-width:1200px;margin:0 auto}.back-button[data-v-e6e0433a]{display:flex;align-items:center;gap:8px;text-decoration:none;color:#666;font-family:Fredoka,sans-serif;font-weight:500;transition:color .2s ease}.back-button[data-v-e6e0433a]:hover{color:#4fc3f7}.back-icon[data-v-e6e0433a]{font-size:20px}.module-title[data-v-e6e0433a]{display:flex;align-items:center;gap:12px}.title-icon[data-v-e6e0433a]{font-size:28px}.title-text[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0}.header-controls[data-v-e6e0433a]{display:flex;align-items:center;gap:12px}.volume-button[data-v-e6e0433a]{background:none;border:none;font-size:24px;cursor:pointer;padding:8px;border-radius:50%;transition:all .2s ease}.volume-button[data-v-e6e0433a]:hover{background:#4fc3f71a}.volume-button.muted[data-v-e6e0433a]{opacity:.5}.progress-overview[data-v-e6e0433a]{padding:20px}.progress-card[data-v-e6e0433a]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 16px #0000001a}.progress-title[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 16px}.progress-stats[data-v-e6e0433a]{display:flex;justify-content:space-around;margin-bottom:16px}.stat[data-v-e6e0433a]{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-icon[data-v-e6e0433a]{font-size:24px}.stat-text[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;text-align:center}.progress-bar[data-v-e6e0433a]{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill[data-v-e6e0433a]{height:100%;background:linear-gradient(90deg,#4fc3f7,#66bb6a);border-radius:4px;transition:width .5s ease}.chapter-progress[data-v-e6e0433a]{height:6px;margin:0 0 20px;overflow:hidden;border-radius:3px;background:#e0e0e0}.chapter-progress-fill[data-v-e6e0433a]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#4fc3f7,#66bb6a);transition:width .3s ease}.piano-controls[data-v-e6e0433a]{padding:20px}.controls-header[data-v-e6e0433a]{text-align:center;margin-bottom:24px}.controls-title[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0 0 8px}.controls-subtitle[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0}.controls-panel[data-v-e6e0433a]{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 16px #0000001a;display:grid;gap:20px}.controls-panel[data-v-e6e0433a]>*{min-width:0}.control-group[data-v-e6e0433a]{display:flex;flex-direction:column;gap:12px;min-width:0}.control-label[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f}.octave-controls[data-v-e6e0433a],.octave-range[data-v-e6e0433a]{display:flex;gap:12px;flex-wrap:wrap}.octave-button[data-v-e6e0433a]{background:#fff;border:2px solid #E0E0E0;border-radius:12px;padding:12px 20px;font-family:Fredoka,sans-serif;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .3s ease}.octave-button[data-v-e6e0433a]:hover{border-color:#4fc3f7;color:#4fc3f7;transform:translateY(-2px)}.octave-button.active[data-v-e6e0433a]{background:#4fc3f7;border-color:#4fc3f7;color:#fff}.current-range[data-v-e6e0433a]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f5f5f5;border-radius:12px}.range-label[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:14px;color:#666}.range-display[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f}.display-options[data-v-e6e0433a]{display:flex;flex-direction:column;gap:16px}.option-row[data-v-e6e0433a]{display:flex;gap:12px;flex-wrap:wrap}.option-button[data-v-e6e0433a]{background:#fff;border:2px solid #E0E0E0;border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:8px;font-family:Fredoka,sans-serif;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .3s ease;min-width:140px;justify-content:center}.option-button[data-v-e6e0433a]:hover{border-color:#4fc3f7;color:#4fc3f7;transform:translateY(-2px);box-shadow:0 4px 12px #4fc3f733}.option-button.active[data-v-e6e0433a]{background:linear-gradient(135deg,#4fc3f7,#66bb6a);border-color:#4fc3f7;color:#fff;box-shadow:0 4px 12px #4fc3f74d}.option-button.option-toggled[data-v-e6e0433a]{animation:optionToggle-e6e0433a .3s ease}.option-icon[data-v-e6e0433a]{font-size:16px}.option-text[data-v-e6e0433a]{font-weight:600}.option-number[data-v-e6e0433a],.option-letter[data-v-e6e0433a],.option-french[data-v-e6e0433a]{background:#4fc3f71a;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:700;color:#4fc3f7}.option-button.active .option-number[data-v-e6e0433a],.option-button.active .option-letter[data-v-e6e0433a],.option-button.active .option-french[data-v-e6e0433a]{background:#fff3;color:#fff}.color-preview[data-v-e6e0433a]{width:16px;height:16px;border-radius:50%;border:2px solid #E0E0E0;transition:all .3s ease}.color-preview.color-red[data-v-e6e0433a]{background:#ff6b6b}.color-preview.color-teal[data-v-e6e0433a]{background:#4ecdc4}.color-preview.color-blue[data-v-e6e0433a]{background:#45b7d1}.color-preview.color-green[data-v-e6e0433a]{background:#96ceb4}.color-preview.color-yellow[data-v-e6e0433a]{background:#feca57}.color-preview.color-pink[data-v-e6e0433a]{background:#ff9ff3}.color-preview.color-indigo[data-v-e6e0433a]{background:#54a0ff}.color-preview.color-gray[data-v-e6e0433a]{background:#bdbdbd}.option-button.active .color-preview[data-v-e6e0433a]{border-color:#fff;box-shadow:0 0 8px #ffffff80}.option-status[data-v-e6e0433a]{font-size:12px;opacity:.8}.display-preview[data-v-e6e0433a]{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:12px;border:1px solid #E0E0E0}.preview-label[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#666;margin-bottom:12px}.preview-key[data-v-e6e0433a]{width:60px;height:100px;background:#fff;border:2px solid #E0E0E0;border-radius:0 0 6px 6px;display:flex;align-items:center;justify-content:center;margin:0 auto;position:relative;transition:all .3s ease}.preview-key.minimal-mode[data-v-e6e0433a]{background:#fff;border-color:#e0e0e0}.preview-key .key-label[data-v-e6e0433a]{display:flex;flex-direction:column;align-items:center;gap:2px}.note-number[data-v-e6e0433a],.note-letter-preview[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:10px;font-weight:700;color:#666}.note-name-preview[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:12px;font-weight:700;color:#333}.note-color-indicator[data-v-e6e0433a]{width:8px;height:8px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.note-color-indicator.red[data-v-e6e0433a]{background:#ff6b6b}.note-color-indicator.teal[data-v-e6e0433a]{background:#4ecdc4}.note-color-indicator.blue[data-v-e6e0433a]{background:#45b7d1}.note-color-indicator.green[data-v-e6e0433a]{background:#96ceb4}.note-color-indicator.yellow[data-v-e6e0433a]{background:#feca57}.note-color-indicator.pink[data-v-e6e0433a]{background:#ff9ff3}.note-color-indicator.indigo[data-v-e6e0433a]{background:#54a0ff}.note-color-indicator.gray[data-v-e6e0433a]{background:#bdbdbd}.quick-play[data-v-e6e0433a]{padding:20px}.section-header[data-v-e6e0433a]{text-align:center;margin-bottom:32px}.section-subtitle[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0}.keyboard-help[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:14px;color:#4fc3f7;margin:8px 0 0}.midi-control[data-v-e6e0433a]{margin-top:12px;min-width:0}.midi-actions[data-v-e6e0433a]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.midi-button[data-v-e6e0433a]{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:48px;padding:0 18px}.midi-button[data-v-e6e0433a]:disabled{opacity:.6;cursor:not-allowed}.midi-status[data-v-e6e0433a]{flex:1 1 180px;min-width:0;margin:0;font-family:Fredoka,sans-serif;font-size:14px;color:#666;overflow-wrap:anywhere}.midi-status.connected[data-v-e6e0433a]{color:#2e7d32;font-weight:600}.midi-status.unavailable[data-v-e6e0433a]{color:#b26a00}.midi-diagnostics[data-v-e6e0433a]{margin:2px 0 0;padding:8px 12px;border-radius:12px;background:#0000000a;font-family:Fredoka,sans-serif;font-size:12px;min-width:0}.midi-diagnostics-summary[data-v-e6e0433a]{font-size:12px;color:#78909c;cursor:pointer;list-style:none}.midi-diagnostics-summary[data-v-e6e0433a]::-webkit-details-marker{display:none}.midi-diagnostics-summary[data-v-e6e0433a]:after{content:" ▾"}.midi-diagnostics[open] .midi-diagnostics-summary[data-v-e6e0433a]{margin-bottom:4px}.midi-diagnostics dl[data-v-e6e0433a]{margin:0}.midi-diagnostic-row[data-v-e6e0433a]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:4px 10px;align-items:baseline;padding:3px 0}.midi-diagnostic-row dt[data-v-e6e0433a]{min-width:0;color:#666}.midi-diagnostic-row dd[data-v-e6e0433a]{margin:0;min-width:0;font-weight:600;color:#333;overflow-wrap:anywhere;word-break:break-word}@media (max-width: 520px){.midi-actions[data-v-e6e0433a]{flex-direction:column;align-items:flex-start}.midi-button[data-v-e6e0433a]{width:auto;align-self:flex-start;min-width:170px}.midi-status[data-v-e6e0433a]{flex:0 0 auto;width:100%}}.guided-bar[data-v-e6e0433a]{display:flex;flex-wrap:wrap;align-items:center;gap:14px;min-width:0;margin-bottom:16px;padding:12px;border-radius:20px;background:#ffffffb3;border:3px solid transparent}.guided-bar.active[data-v-e6e0433a]{border-color:#26a69a;background:#26a69a1a}.guided-label[data-v-e6e0433a]{display:flex;flex-direction:column;gap:2px;min-width:0;margin-right:auto}.guided-label-title[data-v-e6e0433a]{font-size:17px;font-weight:700;color:#00695c;line-height:1.2}.guided-label-hint[data-v-e6e0433a]{font-size:13px;color:#455a64;line-height:1.25}.guided-target-name[data-v-e6e0433a]{display:flex;flex-direction:column;align-items:center;gap:1px;flex:0 0 auto;padding:6px 12px;border-radius:14px;background:#26a69a;color:#fff;line-height:1.1}.guided-target-caption[data-v-e6e0433a]{font-size:11px;opacity:.85}.guided-target-note[data-v-e6e0433a]{font-size:20px;font-weight:700}.guided-step-count[data-v-e6e0433a]{flex:0 0 auto;font-size:15px;font-weight:700;color:#00695c;font-variant-numeric:tabular-nums}.guided-round[data-v-e6e0433a]{flex:0 0 auto;padding:3px 9px;border-radius:999px;background:#26a69a2e;color:#00695c;font-size:12px;font-weight:700}.guided-button[data-v-e6e0433a]{display:flex;align-items:center;gap:10px;min-height:72px;min-width:72px;padding:0 22px;border-radius:22px;border:3px solid #26A69A;background:#fff;font-size:30px;cursor:pointer;box-shadow:0 4px 12px #0000001f;transition:transform .2s ease}.landscape-immersive-button[data-v-e6e0433a]{display:none}.guided-button[data-v-e6e0433a]:active{transform:scale(.94)}.guided-button.active[data-v-e6e0433a]{background:#26a69a}.guided-progress[data-v-e6e0433a]{display:flex;align-items:center;gap:12px;flex:1 1 0;min-width:0}.guided-progress-track[data-v-e6e0433a]{flex:1 1 auto;min-width:60px;height:14px;border-radius:999px;background:#0000001a;overflow:hidden}.guided-progress-fill[data-v-e6e0433a]{height:100%;border-radius:999px;background:linear-gradient(90deg,#26a69a,#66bb6a);transition:width .35s ease}.guided-stop[data-v-e6e0433a]{min-width:56px;min-height:56px;border-radius:50%;border:3px solid #E0E0E0;background:#fff;font-size:26px;line-height:1;cursor:pointer}@media (max-width: 420px){.guided-bar[data-v-e6e0433a]{gap:10px;padding:10px}.guided-bar.active .guided-label-hint[data-v-e6e0433a]{display:none}.guided-progress[data-v-e6e0433a]{flex:1 1 100%}.guided-button[data-v-e6e0433a]{padding:0 16px}.guided-label-title[data-v-e6e0433a]{font-size:16px}.guided-label-hint[data-v-e6e0433a]{font-size:12px}}@media (orientation: landscape) and (max-height: 520px){.header-content[data-v-e6e0433a]{padding:8px 14px}.parent-tools-summary[data-v-e6e0433a]{min-height:44px;padding:6px 12px}.parent-tools-hint[data-v-e6e0433a]{display:none}.guided-bar[data-v-e6e0433a]{gap:10px;padding:6px 10px;margin-bottom:8px}.guided-button[data-v-e6e0433a]{min-height:52px;min-width:52px;padding:0 14px;font-size:22px}.guided-label-title[data-v-e6e0433a]{font-size:14px}.guided-label-hint[data-v-e6e0433a]{display:none}.guided-stop[data-v-e6e0433a]{min-width:44px;min-height:44px;font-size:20px}.piano-section-header[data-v-e6e0433a]{display:none}.landscape-immersive-button[data-v-e6e0433a]{display:flex}.play-controls .immersive-button[data-v-e6e0433a]{display:none}.white-key[data-v-e6e0433a]{height:clamp(170px,44vh,230px)}}.guided-target[data-v-e6e0433a]{background:#fff9c4!important;border-color:#26a69a!important;box-shadow:0 0 0 5px #26a69a59,0 8px 22px #26a69a73!important;animation:guided-pulse-e6e0433a 1.1s ease-in-out infinite;z-index:5}.guided-target[data-v-e6e0433a]:after{content:"👆";position:absolute;top:-46px;left:50%;transform:translate(-50%);font-size:40px;line-height:1;pointer-events:none;animation:guided-bounce-e6e0433a .9s ease-in-out infinite}@keyframes guided-pulse-e6e0433a{0%,to{filter:brightness(1)}50%{filter:brightness(1.14)}}@keyframes guided-bounce-e6e0433a{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}@media (prefers-reduced-motion: reduce){.guided-target[data-v-e6e0433a],.guided-target[data-v-e6e0433a]:after{animation:none}}.piano-container[data-v-e6e0433a]{width:100%;max-width:100%;box-sizing:border-box;background:#fff;border-radius:20px;padding:clamp(20px,3vw,32px) clamp(12px,3vw,20px);box-shadow:0 8px 24px #0000001a;margin-bottom:24px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.piano-container.scrollable[data-v-e6e0433a]{overflow-x:auto}.piano-wrapper[data-v-e6e0433a]{position:relative;width:-moz-max-content;width:max-content;max-width:none;margin-inline:auto}.octave-labels[data-v-e6e0433a]{position:relative;width:100%;height:clamp(28px,4vw,34px);margin-bottom:clamp(6px,1vw,10px);pointer-events:none}.octave-label[data-v-e6e0433a]{position:absolute;top:0;box-sizing:border-box;text-align:center;font-family:Fredoka,sans-serif;font-size:12px;font-weight:600;color:#666;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #E0E0E0;border-radius:4px 4px 0 0;pointer-events:none}.octave-label-text[data-v-e6e0433a]{font-size:12px;font-weight:700;color:#37474f;line-height:1.2}.octave-range-text[data-v-e6e0433a]{font-size:10px;font-weight:400;color:#757575;line-height:1.2;margin-top:2px}.piano-keyboard[data-v-e6e0433a]{position:relative;width:-moz-max-content;width:max-content;margin-inline:auto}.piano-key[data-v-e6e0433a]{--press-fade-duration: 0ms;--press-strength: 1;--press-overlay-color: rgba(79, 195, 247, .32);--press-overlay-opacity: 0;--press-glow-color: rgba(79, 195, 247, .48);position:relative;isolation:isolate;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.piano-key[data-v-e6e0433a]:before{content:"";position:absolute;inset:2px;z-index:0;pointer-events:none;background:var(--press-overlay-color);opacity:var(--press-overlay-opacity);transition:opacity .12s ease}.piano-key.active[data-v-e6e0433a]:before{opacity:var(--press-overlay-opacity)}.piano-key.press-feedback[data-v-e6e0433a]:before{animation:pressOverlayFade-e6e0433a var(--press-fade-duration) ease-out both}.piano-key[data-v-e6e0433a]:focus-visible{outline:4px solid #1565C0;outline-offset:-4px;z-index:20}.piano-keys[data-v-e6e0433a]{display:flex;position:relative;z-index:1}.white-key[data-v-e6e0433a]{height:clamp(240px,34vw,340px);min-width:48px;background:#fff;border:2px solid #E0E0E0;border-bottom:8px solid #CCC;border-radius:0 0 8px 8px;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease,filter .12s ease;display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;position:relative;flex-shrink:0;box-sizing:border-box}.white-key[data-v-e6e0433a]:hover{background:#f5f5f5;transform:translateY(-2px)}.white-key[data-note*=C][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #ff6b6b4d}.white-key[data-note*=D][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #4ecdc44d}.white-key[data-note*=E][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #45b7d14d}.white-key[data-note*=F][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #96ceb44d}.white-key[data-note*=G][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #feca574d}.white-key[data-note*=A][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #ff9ff34d}.white-key[data-note*=B][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #54a0ff4d}.white-key.active[data-v-e6e0433a]{transform:translateY(4px);border-bottom-width:4px;background:#eaf6ff;border-color:var(--press-glow-color);box-shadow:0 0 14px var(--press-glow-color)}.white-key.active.color-feedback[data-note*=C][data-v-e6e0433a]{background:linear-gradient(135deg,#ff6b6b,#ff5252);border-color:#ff5252;--press-glow-color: rgba(255, 82, 82, .62)}.white-key.active.color-feedback[data-note*=D][data-v-e6e0433a]{background:linear-gradient(135deg,#4ecdc4,#26a69a);border-color:#26a69a;--press-glow-color: rgba(38, 166, 154, .62)}.white-key.active.color-feedback[data-note*=E][data-v-e6e0433a]{background:linear-gradient(135deg,#45b7d1,#2196f3);border-color:#2196f3;--press-glow-color: rgba(33, 150, 243, .62)}.white-key.active.color-feedback[data-note*=F][data-v-e6e0433a]{background:linear-gradient(135deg,#96ceb4,#66bb6a);border-color:#66bb6a;--press-glow-color: rgba(102, 187, 106, .62)}.white-key.active.color-feedback[data-note*=G][data-v-e6e0433a]{background:linear-gradient(135deg,#feca57,#ffb300);border-color:#ffb300;--press-glow-color: rgba(255, 179, 0, .62)}.white-key.active.color-feedback[data-note*=A][data-v-e6e0433a]{background:linear-gradient(135deg,#ff9ff3,#e91e63);border-color:#e91e63;--press-glow-color: rgba(233, 30, 99, .62)}.white-key.active.color-feedback[data-note*=B][data-v-e6e0433a]{background:linear-gradient(135deg,#54a0ff,#1976d2);border-color:#1976d2;--press-glow-color: rgba(25, 118, 210, .62)}.black-key[data-v-e6e0433a]{height:clamp(140px,21vw,220px);min-width:44px;overflow:hidden;background:#333;border:2px solid #222;border-bottom:6px solid #111;border-radius:0 0 6px 6px;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease,filter .12s ease;display:flex;align-items:flex-end;justify-content:center;padding-bottom:16px;position:absolute;top:0;z-index:10;box-sizing:border-box}.black-key[data-v-e6e0433a]:hover{background:#444;transform:translateY(-2px)}.black-key[data-note*="C#"][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #ff6b6b66}.black-key[data-note*="D#"][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #4ecdc466}.black-key[data-note*="F#"][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #96ceb466}.black-key[data-note*="G#"][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #feca5766}.black-key[data-note*="A#"][data-v-e6e0433a]:hover{box-shadow:0 4px 12px #ff9ff366}.black-key.active[data-v-e6e0433a]{transform:translateY(4px);border-bottom-width:2px;background:#263238;border-color:var(--press-glow-color);box-shadow:0 0 14px var(--press-glow-color)}.black-key.active.color-feedback[data-note*="C#"][data-v-e6e0433a]{background:linear-gradient(135deg,#ff6b6b,#ff5252);border-color:#ff5252;--press-glow-color: rgba(255, 82, 82, .68)}.black-key.active.color-feedback[data-note*="D#"][data-v-e6e0433a]{background:linear-gradient(135deg,#4ecdc4,#26a69a);border-color:#26a69a;--press-glow-color: rgba(38, 166, 154, .68)}.black-key.active.color-feedback[data-note*="F#"][data-v-e6e0433a]{background:linear-gradient(135deg,#96ceb4,#66bb6a);border-color:#66bb6a;--press-glow-color: rgba(102, 187, 106, .68)}.black-key.active.color-feedback[data-note*="G#"][data-v-e6e0433a]{background:linear-gradient(135deg,#feca57,#ffb300);border-color:#ffb300;--press-glow-color: rgba(255, 179, 0, .68)}.black-key.active.color-feedback[data-note*="A#"][data-v-e6e0433a]{background:linear-gradient(135deg,#ff9ff3,#e91e63);border-color:#e91e63;--press-glow-color: rgba(233, 30, 99, .68)}.key-label[data-v-e6e0433a]{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;transition:all .3s ease}.key-label[data-v-e6e0433a]>*:not(.note-name):not(.note-letter):not(.note-number):not(.color-indicator){display:none}.key-label .note-name[style*="display: none"][data-v-e6e0433a],.key-label .note-letter[style*="display: none"][data-v-e6e0433a],.key-label .note-number[style*="display: none"][data-v-e6e0433a]{opacity:0;transform:scale(.8)}.key-label .color-indicator[style*="display: none"][data-v-e6e0433a]{opacity:0;transform:scale(.5)}.key-label .note-name[data-v-e6e0433a]:not([style*="display: none"]),.key-label .note-letter[data-v-e6e0433a]:not([style*="display: none"]),.key-label .note-number[data-v-e6e0433a]:not([style*="display: none"]),.key-label .color-indicator[data-v-e6e0433a]:not([style*="display: none"]){opacity:1;transform:scale(1);animation:fadeInSlide-e6e0433a .3s ease}@keyframes fadeInSlide-e6e0433a{0%{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.white-key[data-note*=C] .note-name[data-v-e6e0433a]{color:#ff6b6b;font-weight:700}.white-key[data-note*=D] .note-name[data-v-e6e0433a]{color:#4ecdc4;font-weight:700}.white-key[data-note*=E] .note-name[data-v-e6e0433a]{color:#45b7d1;font-weight:700}.white-key[data-note*=F] .note-name[data-v-e6e0433a]{color:#96ceb4;font-weight:700}.white-key[data-note*=G] .note-name[data-v-e6e0433a]{color:#feca57;font-weight:700}.white-key[data-note*=A] .note-name[data-v-e6e0433a]{color:#ff9ff3;font-weight:700}.white-key[data-note*=B] .note-name[data-v-e6e0433a]{color:#54a0ff;font-weight:700}.black-key[data-note*="C#"] .note-name[data-v-e6e0433a]{color:#ff6b6b;font-weight:700}.black-key[data-note*="D#"] .note-name[data-v-e6e0433a]{color:#4ecdc4;font-weight:700}.black-key[data-note*="F#"] .note-name[data-v-e6e0433a]{color:#96ceb4;font-weight:700}.black-key[data-note*="G#"] .note-name[data-v-e6e0433a]{color:#feca57;font-weight:700}.black-key[data-note*="A#"] .note-name[data-v-e6e0433a]{color:#ff9ff3;font-weight:700}.note-name[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:700;color:#333;text-shadow:1px 1px 2px rgba(0,0,0,.1);letter-spacing:.5px}.black-key .note-name[data-v-e6e0433a]{color:#fff}.note-letter[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:14px;color:#555;font-weight:600;text-transform:uppercase;letter-spacing:1px;opacity:.8}.note-number[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:12px;color:#666;font-weight:600;opacity:.9}.color-indicator[data-v-e6e0433a]{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.1);display:inline-block;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.white-key.colored-red .color-indicator[data-v-e6e0433a],.black-key.colored-red .color-indicator[data-v-e6e0433a]{background:#ff6b6b}.white-key.colored-teal .color-indicator[data-v-e6e0433a],.black-key.colored-teal .color-indicator[data-v-e6e0433a]{background:#4ecdc4}.white-key.colored-blue .color-indicator[data-v-e6e0433a],.black-key.colored-blue .color-indicator[data-v-e6e0433a]{background:#45b7d1}.white-key.colored-green .color-indicator[data-v-e6e0433a],.black-key.colored-green .color-indicator[data-v-e6e0433a]{background:#96ceb4}.white-key.colored-yellow .color-indicator[data-v-e6e0433a],.black-key.colored-yellow .color-indicator[data-v-e6e0433a]{background:#feca57}.white-key.colored-pink .color-indicator[data-v-e6e0433a],.black-key.colored-pink .color-indicator[data-v-e6e0433a]{background:#ff9ff3}.white-key.colored-indigo .color-indicator[data-v-e6e0433a],.black-key.colored-indigo .color-indicator[data-v-e6e0433a]{background:#54a0ff}.white-key.colored-gray .color-indicator[data-v-e6e0433a],.black-key.colored-gray .color-indicator[data-v-e6e0433a]{background:#bdbdbd}.white-key.active .color-indicator[data-v-e6e0433a],.black-key.active .color-indicator[data-v-e6e0433a]{transform:scale(1.35);box-shadow:0 0 8px var(--press-glow-color);filter:brightness(1.12)}.piano-key.press-feedback[data-v-e6e0433a]{transform:translateY(0);animation:pressFeedbackFade-e6e0433a var(--press-fade-duration) ease-out both}.piano-key.press-feedback[data-v-e6e0433a]:before{animation-duration:var(--press-fade-duration)}.white-key.press-feedback[data-v-e6e0433a]{border-bottom-width:8px}.black-key.press-feedback[data-v-e6e0433a]{border-bottom-width:6px}.white-key.press-feedback[data-v-e6e0433a],.black-key.press-feedback[data-v-e6e0433a]{transition-duration:var(--press-fade-duration)}.white-key.minimal-mode[data-v-e6e0433a]{background:#fff!important;border-color:#e0e0e0!important}.black-key.minimal-mode[data-v-e6e0433a]{background:#333!important;border-color:#222!important}.white-key.minimal-mode .note-name[data-v-e6e0433a],.white-key.minimal-mode .note-letter[data-v-e6e0433a],.white-key.minimal-mode .note-number[data-v-e6e0433a],.white-key.minimal-mode .color-indicator[data-v-e6e0433a],.black-key.minimal-mode .note-name[data-v-e6e0433a],.black-key.minimal-mode .note-letter[data-v-e6e0433a],.black-key.minimal-mode .note-number[data-v-e6e0433a],.black-key.minimal-mode .color-indicator[data-v-e6e0433a]{opacity:0;transform:scale(.8)}.white-key.minimal-mode.active[data-v-e6e0433a]{background:#f5f5f5!important;border-color:#4fc3f7!important;box-shadow:0 4px 12px #4fc3f733!important}.black-key.minimal-mode.active[data-v-e6e0433a]{background:#263238!important;border-color:#4fc3f7!important;box-shadow:0 4px 12px #4fc3f759!important}.minimal-mode[data-v-e6e0433a]:before{opacity:0!important;animation:none!important}.white-key.minimal-mode.active[data-v-e6e0433a]:after,.black-key.minimal-mode.active[data-v-e6e0433a]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;opacity:.8;animation:minimalPulse-e6e0433a 1s ease-in-out}.white-key.minimal-mode.active[data-v-e6e0433a]:after{background:#4fc3f7}.black-key.minimal-mode.active[data-v-e6e0433a]:after{background:#90caf9}@keyframes minimalPulse-e6e0433a{0%{transform:translate(-50%,-50%) scale(.8);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:.8}}@keyframes optionToggle-e6e0433a{0%{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 4px 12px #4fc3f74d}to{transform:scale(1)}}.play-controls[data-v-e6e0433a]{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:32px}.control-button[data-v-e6e0433a]{background:#fff;border:2px solid #E0E0E0;border-radius:12px;padding:12px 20px;display:flex;align-items:center;gap:8px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:500;color:#37474f;cursor:pointer;transition:all .3s ease}.control-button[data-v-e6e0433a]:hover{border-color:#4fc3f7;color:#4fc3f7;transform:translateY(-2px)}.button-icon[data-v-e6e0433a]{font-size:18px}.section-title[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0 0 8px}.lessons-section[data-v-e6e0433a]{padding:20px}.lessons-grid[data-v-e6e0433a]{display:flex;flex-direction:column;gap:24px}.chapter-card[data-v-e6e0433a]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 16px #0000001a;transition:all .3s ease}.chapter-card.completed[data-v-e6e0433a]{border:2px solid #4CAF50}.chapter-card[data-v-e6e0433a]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.chapter-header[data-v-e6e0433a]{display:flex;align-items:center;gap:16px;margin-bottom:20px}.chapter-icon[data-v-e6e0433a]{font-size:32px}.chapter-info[data-v-e6e0433a]{flex:1}.chapter-title[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 4px}.chapter-description[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0}.chapter-status[data-v-e6e0433a]{font-size:24px}.status-completed[data-v-e6e0433a]{color:#4caf50}.status-unlocked[data-v-e6e0433a]{color:#4fc3f7}.status-locked[data-v-e6e0433a]{color:#ccc}.lessons-list[data-v-e6e0433a]{display:flex;flex-direction:column;gap:12px}.lesson-item[data-v-e6e0433a]{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f8f9fa;border-radius:12px;text-decoration:none;color:inherit;transition:all .3s ease}.lesson-item[data-v-e6e0433a]:hover{background:#e3f2fd;transform:translate(8px)}.lesson-item.completed[data-v-e6e0433a]{background:#e8f5e8;border:1px solid #4CAF50}.lesson-item.locked[data-v-e6e0433a]{opacity:.65;cursor:not-allowed}.lesson-item.locked[data-v-e6e0433a]:hover{background:#f8f9fa;transform:none}.lesson-info[data-v-e6e0433a]{display:flex;align-items:center;gap:12px;flex:1}.lesson-icon[data-v-e6e0433a]{font-size:20px}.lesson-text[data-v-e6e0433a]{display:flex;flex-direction:column}.lesson-title[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f;margin:0}.lesson-description[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0}.lesson-status[data-v-e6e0433a]{min-width:72px;text-align:right;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600}.lesson-completed[data-v-e6e0433a]{color:#4caf50}.lesson-points[data-v-e6e0433a]{color:#4fc3f7}.achievements-section[data-v-e6e0433a]{padding:20px}.achievements-grid[data-v-e6e0433a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.achievement-card[data-v-e6e0433a]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 16px #0000001a;display:flex;align-items:center;gap:16px;transition:all .3s ease;position:relative}.achievement-card.unlocked[data-v-e6e0433a]{border:2px solid #FFA726;background:linear-gradient(135deg,#fff3e0,#fff8e1)}.achievement-card[data-v-e6e0433a]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.achievement-icon[data-v-e6e0433a]{font-size:32px;width:48px;text-align:center}.achievement-info[data-v-e6e0433a]{flex:1}.achievement-title[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f;margin:0 0 4px}.achievement-description[data-v-e6e0433a]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0}.achievement-badge[data-v-e6e0433a]{font-size:24px;animation:bounce-e6e0433a 2s infinite}@media (max-width: 768px){.header-content[data-v-e6e0433a]{padding:12px 16px}.title-text[data-v-e6e0433a]{font-size:20px}.piano-container[data-v-e6e0433a]{padding:20px 12px}.controls-panel[data-v-e6e0433a]{padding:20px}.octave-controls[data-v-e6e0433a],.octave-range[data-v-e6e0433a],.option-row[data-v-e6e0433a]{justify-content:center}.option-button[data-v-e6e0433a]{min-width:120px;padding:10px 12px}.current-range[data-v-e6e0433a]{flex-direction:column;gap:8px;text-align:center}.white-key[data-v-e6e0433a]{height:clamp(220px,58vw,300px)}.black-key[data-v-e6e0433a]{height:clamp(130px,34vw,180px)}.progress-stats[data-v-e6e0433a]{flex-direction:column;gap:12px}.play-controls[data-v-e6e0433a]{flex-direction:column;align-items:center}.chapter-header[data-v-e6e0433a]{flex-direction:column;text-align:center;gap:12px}.lesson-item[data-v-e6e0433a]{flex-direction:column;align-items:flex-start;gap:12px}.achievements-grid[data-v-e6e0433a]{grid-template-columns:1fr}.achievement-card[data-v-e6e0433a]{flex-direction:column;text-align:center}}@media (max-width: 480px){.white-key[data-v-e6e0433a]{height:clamp(280px,78vw,360px)}.black-key[data-v-e6e0433a]{height:clamp(150px,42vw,210px)}.octave-button[data-v-e6e0433a]{padding:10px 16px;font-size:12px}}@keyframes pressOverlayFade-e6e0433a{0%{opacity:var(--press-overlay-opacity)}to{opacity:0}}@keyframes pressFeedbackFade-e6e0433a{0%{filter:saturate(1.2) brightness(1.04);box-shadow:0 0 16px var(--press-glow-color)}to{filter:none;box-shadow:0 0 5px var(--press-glow-color)}}@keyframes bounce-e6e0433a{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse-e6e0433a{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes glow-e6e0433a{0%,to{box-shadow:0 0 5px currentColor}50%{box-shadow:0 0 20px currentColor,0 0 30px currentColor}}.piano-module.clavier-en-surface[data-v-e6e0433a]{position:fixed!important;inset:0!important;width:100%!important;min-height:100vh!important;min-height:100dvh!important;height:100vh!important;height:100dvh!important;z-index:9999!important;box-sizing:border-box!important;margin:0!important;padding:0!important;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)!important;background:linear-gradient(135deg,#e3f2fd,#f1f8e9)!important;overflow:hidden!important;overscroll-behavior:none!important;display:flex!important;flex-direction:column!important}body.piano-immersive-active{overflow:hidden!important;margin:0!important}body.piano-immersive-active .bottom-nav,body.piano-immersive-active .app-bottom-nav{margin:0!important}.piano-module.clavier-en-surface .module-header[data-v-e6e0433a],.piano-module.clavier-en-surface .progress-overview[data-v-e6e0433a],.piano-module.clavier-en-surface .piano-controls[data-v-e6e0433a],.piano-module.clavier-en-surface .lessons-section[data-v-e6e0433a],.piano-module.clavier-en-surface .achievements-section[data-v-e6e0433a],.piano-module.clavier-en-surface .play-controls[data-v-e6e0433a],.piano-module.clavier-en-surface .guided-bar[data-v-e6e0433a],.piano-module.clavier-en-surface .parent-tools[data-v-e6e0433a]{display:none!important}.piano-module.clavier-en-surface .quick-play[data-v-e6e0433a]{flex:1 1 auto!important;min-height:0!important;width:100%!important;margin:0!important;padding:clamp(8px,2vh,20px) 0 0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:clamp(8px,1.5vh,16px)!important}.piano-module.clavier-en-surface .section-header[data-v-e6e0433a]{display:none!important}.immersive-toolbar[data-v-e6e0433a]{flex:0 0 auto;width:min(100%,640px);box-sizing:border-box;margin:0 auto;padding-right:4.75rem}.immersive-toolbar-actions[data-v-e6e0433a]{display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.5vw,12px);flex-wrap:wrap}.immersive-toolbar-button .button-label[data-v-e6e0433a]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.immersive-toolbar-button[data-v-e6e0433a]{min-height:42px;padding:8px 12px;border:2px solid rgba(79,195,247,.7);border-radius:12px;background:#ffffffeb;color:#37474f;font-family:Fredoka,sans-serif;font-size:clamp(12px,1.8vw,15px);font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.immersive-toolbar-button[data-v-e6e0433a]:hover,.immersive-toolbar-button.active[data-v-e6e0433a]{background:#4fc3f7;border-color:#1565c0;color:#fff}.immersive-toolbar-button[data-v-e6e0433a]:focus-visible,.immersive-exit-button[data-v-e6e0433a]:focus-visible{outline:4px solid #1565C0;outline-offset:3px}.immersive-status[data-v-e6e0433a]{margin:6px 0 0;color:#8d1b1b;font-family:Fredoka,sans-serif;font-size:clamp(12px,1.8vw,14px);line-height:1.25;text-align:center;pointer-events:none}.piano-module.clavier-en-surface .piano-container[data-v-e6e0433a]{flex:1 1 auto!important;min-height:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.piano-module.clavier-en-surface .piano-container.scrollable[data-v-e6e0433a]{overflow-x:auto!important;overflow-y:hidden!important}.piano-module.clavier-en-surface .piano-wrapper[data-v-e6e0433a]{width:100%;max-width:100%;min-width:0;margin-inline:auto;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center}.piano-module.clavier-en-surface .octave-labels[data-v-e6e0433a]{width:100%;height:clamp(24px,4vh,34px);margin-bottom:clamp(5px,1vh,10px);pointer-events:none}.piano-module.clavier-en-surface .octave-label[data-v-e6e0433a]{height:100%;pointer-events:none}.piano-module.clavier-en-surface .piano-keyboard[data-v-e6e0433a]{width:100%;margin:0;flex:0 0 auto;min-height:0;display:flex;flex-direction:column}.piano-module.clavier-en-surface .piano-key[data-v-e6e0433a]{touch-action:none}.piano-module.clavier-en-surface .piano-keys[data-v-e6e0433a]{flex:0 0 auto;min-height:0;height:auto}.piano-module.clavier-en-surface .white-key[data-v-e6e0433a]{flex:1 1 0;min-width:0;box-sizing:border-box;aspect-ratio:.1587;height:auto!important;min-height:0!important;align-self:flex-start}.piano-module.clavier-en-surface .piano-keys.fixed-width .white-key[data-v-e6e0433a]{flex:0 0 auto;min-width:48px}.piano-module.clavier-en-surface .piano-keys.fixed-width .black-key[data-v-e6e0433a]{min-width:0}.piano-module.clavier-en-surface .black-key[data-v-e6e0433a]{aspect-ratio:.174;height:auto!important;min-height:0!important;min-width:0;box-sizing:border-box}.immersive-exit-button[data-v-e6e0433a]{position:fixed!important;top:10px!important;right:10px!important;top:calc(env(safe-area-inset-top,0px) + 10px)!important;right:calc(env(safe-area-inset-right,0px) + 10px)!important;z-index:10000!important;width:clamp(44px,8vw,60px)!important;height:clamp(44px,8vw,60px)!important;padding:0!important;border:2px solid rgba(255,255,255,.7)!important;border-radius:50%!important;background:#000000c7!important;color:#fff!important;font-size:clamp(22px,4vw,28px)!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:background .16s ease,transform .16s ease!important;box-shadow:0 4px 12px #0000004d!important}.immersive-exit-button[data-v-e6e0433a]:hover{background:#000000eb!important;transform:scale(1.06)!important}@media (max-width: 767px) and (orientation: portrait){.immersive-toolbar[data-v-e6e0433a]{width:100%;padding-right:4rem}.immersive-toolbar-actions[data-v-e6e0433a]{flex-wrap:nowrap;gap:3px}.immersive-toolbar-button[data-v-e6e0433a]{min-height:34px;padding:4px 5px;font-size:11px;gap:3px;border-radius:10px}.immersive-toolbar-button .toolbar-label[data-v-e6e0433a]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.immersive-transpose-button[data-v-e6e0433a]{min-width:32px;padding:4px}.immersive-transpose-button[data-v-e6e0433a]:disabled{opacity:.35;cursor:default}.immersive-status[data-v-e6e0433a]{display:none}}@media (max-width: 896px) and (orientation: landscape){.piano-module.immersive-mode .quick-play[data-v-e6e0433a]{padding-top:2px!important;gap:2px!important}.immersive-toolbar[data-v-e6e0433a]{width:min(100%,620px);padding-right:3.25rem}.immersive-toolbar-actions[data-v-e6e0433a]{flex-wrap:nowrap;gap:6px}.immersive-toolbar-button[data-v-e6e0433a]{min-height:32px;padding:4px 8px;font-size:12px;border-radius:10px}.immersive-status[data-v-e6e0433a]{display:none}.immersive-exit-button[data-v-e6e0433a]{width:40px!important;height:40px!important;font-size:20px!important}}@media (prefers-reduced-motion: reduce){.piano-key[data-v-e6e0433a],.piano-key[data-v-e6e0433a]:before,.white-key[data-v-e6e0433a],.black-key[data-v-e6e0433a],.octave-label[data-v-e6e0433a],.immersive-toolbar-button[data-v-e6e0433a],.immersive-exit-button[data-v-e6e0433a]{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.piano-module.clavier-en-surface .quick-play[data-v-e6e0433a]{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.piano-module.clavier-en-surface .clavier-panneau[data-v-e6e0433a]{order:1;flex:0 0 auto}.piano-module.clavier-en-surface .piano-container[data-v-e6e0433a]{order:2;flex:1 1 auto;min-height:0;display:flex;align-items:flex-end;justify-content:center}.clavier-panneau[data-v-e6e0433a]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:6px 12px;background:#14181f;border-bottom:3px solid #2a3040}.clavier-ecran[data-v-e6e0433a]{flex:1 1 140px;min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:4px 10px;border-radius:6px;background:#0b1013;border:1px solid #2c3a44;box-shadow:inset 0 0 8px #5adcb41f;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem;line-height:1.25;color:#7fe6c4;overflow:hidden}.ecran-ligne[data-v-e6e0433a]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecran-portee[data-v-e6e0433a]{font-size:.7rem;color:#4f9e88}.ecran-note[data-v-e6e0433a]{font-weight:700;font-size:.95rem}.clavier-panneau-boutons[data-v-e6e0433a]{flex:0 1 auto;max-width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.panneau-bouton[data-v-e6e0433a]{width:44px;height:44px;display:grid;place-content:center;border:2px solid #39424f;border-radius:10px;background:#232a34;color:#e8edf5;font-size:1.15rem;line-height:1;cursor:pointer;touch-action:manipulation}.panneau-bouton[data-v-e6e0433a]:active{background:#39424f}.panneau-bouton[data-v-e6e0433a]:disabled{opacity:.4;cursor:default}.panneau-bouton[data-v-e6e0433a]:focus-visible{outline:3px solid #7fe6c4;outline-offset:2px}.barre-instrument[data-v-e6e0433a]{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:6px 10px;border-radius:12px;background:linear-gradient(135deg,#e0f2f1,#b2dfdb)}.barre-instrument-label[data-v-e6e0433a]{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#00695c;white-space:nowrap}.barre-instrument-select[data-v-e6e0433a]{flex:1 1 auto;min-width:0;min-height:44px;padding:0 10px;border:2px solid #26A69A;border-radius:12px;background:#fff;color:#37474f;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}.barre-instrument-select[data-v-e6e0433a]:focus-visible,.immersive-instrument-select[data-v-e6e0433a]:focus-visible{outline:3px solid #26A69A;outline-offset:2px}.immersive-instrument-select[data-v-e6e0433a]{min-height:42px;max-width:170px;padding:8px 10px;border:2px solid rgba(79,195,247,.7);border-radius:12px;background:#ffffffeb;color:#37474f;font-family:Fredoka,sans-serif;font-size:clamp(12px,1.8vw,15px);font-weight:600;cursor:pointer}.piano-lesson[data-v-dd79dc51]{min-height:100vh;background:linear-gradient(135deg,#e8f5e8,#f1f8e9);padding-bottom:80px}.lesson-header[data-v-dd79dc51]{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-content[data-v-dd79dc51]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-width:1200px;margin:0 auto}.back-button[data-v-dd79dc51]{display:flex;align-items:center;gap:8px;text-decoration:none;color:#666;font-family:Fredoka,sans-serif;font-weight:500;transition:color .2s ease}.back-button[data-v-dd79dc51]:hover{color:#66bb6a}.back-icon[data-v-dd79dc51]{font-size:20px}.lesson-progress[data-v-dd79dc51]{display:flex;align-items:center;gap:12px}.progress-text[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#37474f}.progress-bar[data-v-dd79dc51]{width:100px;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill[data-v-dd79dc51]{height:100%;background:linear-gradient(90deg,#66bb6a,#4caf50);border-radius:4px;transition:width .3s ease}.header-placeholder[data-v-dd79dc51]{width:120px}.lesson-content[data-v-dd79dc51]{padding:20px}.lesson-intro[data-v-dd79dc51]{display:flex;justify-content:center;align-items:center;min-height:60vh}.intro-content[data-v-dd79dc51]{background:#fff;border-radius:24px;padding:40px;text-align:center;box-shadow:0 8px 32px #0000001a;max-width:600px;width:100%}.lesson-icon[data-v-dd79dc51]{font-size:64px;margin-bottom:20px}.lesson-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:28px;font-weight:700;color:#37474f;margin:0 0 16px}.lesson-description[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:18px;color:#666;line-height:1.6;margin:0 0 32px}.lesson-objectives[data-v-dd79dc51]{text-align:left;margin-bottom:32px}.objectives-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 16px;text-align:center}.objectives-list[data-v-dd79dc51]{list-style:none;padding:0;margin:0}.objective-item[data-v-dd79dc51]{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #F0F0F0}.objective-item[data-v-dd79dc51]:last-child{border-bottom:none}.objective-icon[data-v-dd79dc51]{font-size:20px}.objective-text[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#37474f}.lesson-controls[data-v-dd79dc51]{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.regenerate-button[data-v-dd79dc51]{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #9c27b04d}.regenerate-button[data-v-dd79dc51]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #9c27b066}.start-button[data-v-dd79dc51]{background:linear-gradient(135deg,#66bb6a,#4caf50);color:#fff;border:none;border-radius:16px;padding:16px 32px;font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #66bb6a4d}.start-button[data-v-dd79dc51]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #66bb6a66}.button-icon[data-v-dd79dc51]{font-size:20px}.exercise-phase[data-v-dd79dc51]{max-width:800px;margin:0 auto}.exercise-content[data-v-dd79dc51]{background:#fff;border-radius:20px;padding:32px;box-shadow:0 8px 24px #0000001a}.exercise-header[data-v-dd79dc51]{text-align:center;margin-bottom:32px}.exercise-visual[data-v-dd79dc51]{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px}.exercise-visual-icon[data-v-dd79dc51]{font-size:clamp(64px,14vw,104px);line-height:1;filter:drop-shadow(0 6px 10px rgba(0,0,0,.15));animation:exercise-bounce-dd79dc51 1.6s ease-in-out infinite}.exercise-visual-action[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:clamp(20px,4.4vw,30px);font-weight:700;color:#26a69a}@keyframes exercise-bounce-dd79dc51{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@media (prefers-reduced-motion: reduce){.exercise-visual-icon[data-v-dd79dc51]{animation:none}}.exercise-help[data-v-dd79dc51]{display:inline-block;margin-top:10px;text-align:left}.exercise-help-summary[data-v-dd79dc51]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:2px solid #B0BEC5;background:#fff;color:#546e7a;font-family:Fredoka,sans-serif;font-size:20px;font-weight:700;cursor:pointer;list-style:none}.exercise-help-summary[data-v-dd79dc51]::-webkit-details-marker{display:none}.exercise-hint[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:14px;color:#78909c;margin:6px 0 0}.exercise-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:600;color:#37474f;margin:0 0 12px}.exercise-instruction[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:18px;color:#666;margin:0}.audio-controls[data-v-dd79dc51]{text-align:center;margin-bottom:32px}.activate-audio-button[data-v-dd79dc51]{background:linear-gradient(135deg,#ff5722,#e64a19);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #ff57224d;animation:pulse-dd79dc51 2s infinite}@keyframes pulse-dd79dc51{0%{box-shadow:0 4px 12px #ff57224d}50%{box-shadow:0 6px 20px #ff572299}to{box-shadow:0 4px 12px #ff57224d}}.activate-audio-button[data-v-dd79dc51]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff572280;animation:none}.audio-button[data-v-dd79dc51]{background:linear-gradient(135deg,#4fc3f7,#29b6f6);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #4fc3f74d}.audio-button[data-v-dd79dc51]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #4fc3f766}.audio-button[data-v-dd79dc51]:disabled{opacity:.6;cursor:not-allowed}.note-options[data-v-dd79dc51]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.note-button[data-v-dd79dc51]{background:#fff;border:3px solid #E0E0E0;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:center}.note-button[data-v-dd79dc51]:hover:not(:disabled){border-color:#4fc3f7;transform:translateY(-2px);box-shadow:0 4px 12px #4fc3f733}.note-button.selected[data-v-dd79dc51]{border-color:#4fc3f7;background:#4fc3f71a}.note-button.correct[data-v-dd79dc51]{border-color:#4caf50;background:#4caf501a}.note-button.incorrect[data-v-dd79dc51]{border-color:#f44336;background:#f443361a}.note-visual[data-v-dd79dc51]{display:flex;flex-direction:column;gap:4px}.note-letter[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:24px;font-weight:700;color:#37474f}.note-name[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:14px;color:#666}.piano-mini[data-v-dd79dc51]{display:flex;justify-content:center;gap:4px;margin-bottom:32px;padding:20px;background:#f5f5f5;border-radius:16px}.mini-key[data-v-dd79dc51]{width:50px;height:120px;background:#fff;border:2px solid #E0E0E0;border-radius:0 0 8px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f}.mini-key[data-v-dd79dc51]:hover:not(:disabled){background:#f0f0f0;transform:translateY(2px)}.mini-key.target-key[data-v-dd79dc51]{border-color:#ffa726;background:#ffa7261a}.mini-key.selected[data-v-dd79dc51]{background:#4fc3f7;color:#fff;transform:translateY(2px)}.mini-key.correct[data-v-dd79dc51]{background:#4caf50;color:#fff}.mini-key.incorrect[data-v-dd79dc51]{background:#f44336;color:#fff}.exercise-result[data-v-dd79dc51]{text-align:center}.result-content[data-v-dd79dc51]{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px;border-radius:16px;margin-bottom:24px}.result-content.success[data-v-dd79dc51]{background:#4caf501a;border:2px solid #4CAF50}.result-content.error[data-v-dd79dc51]{background:#f443361a;border:2px solid #F44336}.result-icon[data-v-dd79dc51]{font-size:32px}.result-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;margin:0 0 4px}.result-text[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;margin:0}.result-actions[data-v-dd79dc51]{display:flex;justify-content:center;gap:16px}.reveal-card[data-v-dd79dc51]{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 auto 20px;padding:16px 20px;max-width:420px;border-radius:18px;background:#26a69a1f;border:2px solid #26A69A}.reveal-title[data-v-dd79dc51]{display:flex;align-items:baseline;gap:8px;margin:0;font-family:Fredoka,sans-serif;font-size:22px;font-weight:600;color:#00695c}.reveal-icon[data-v-dd79dc51]{font-size:24px}.reveal-note[data-v-dd79dc51]{font-size:28px;font-weight:700}.reveal-listen[data-v-dd79dc51]{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:2px solid #26A69A;background:#fff;color:#00695c;font-family:Fredoka,sans-serif;font-size:16px;cursor:pointer}.reveal-listen[data-v-dd79dc51]:active{transform:scale(.96)}.reveal-hint[data-v-dd79dc51]{margin:0;font-family:Fredoka,sans-serif;font-size:15px;color:#455a64}.confirm-play-button[data-v-dd79dc51]{background:#66bb6a;color:#fff;border:none;border-radius:12px;padding:12px 20px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.confirm-play-button[data-v-dd79dc51]:hover{background:#4caf50;transform:translateY(-2px)}.retry-button[data-v-dd79dc51],.next-button[data-v-dd79dc51]{padding:12px 20px;border-radius:12px;border:none;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.retry-button[data-v-dd79dc51]{background:#ffa726;color:#fff}.retry-button[data-v-dd79dc51]:hover{background:#f57c00;transform:translateY(-2px)}.next-button[data-v-dd79dc51]{background:#4caf50;color:#fff}.next-button[data-v-dd79dc51]:hover{background:#388e3c;transform:translateY(-2px)}.lesson-completed[data-v-dd79dc51]{display:flex;justify-content:center;align-items:center;min-height:60vh}.completion-content[data-v-dd79dc51]{background:#fff;border-radius:24px;padding:40px;text-align:center;box-shadow:0 8px 32px #0000001a;max-width:600px;width:100%}.completion-celebration[data-v-dd79dc51]{margin-bottom:32px}.celebration-icon[data-v-dd79dc51]{font-size:80px;margin-bottom:20px;animation:bounce 2s ease-in-out infinite}.completion-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:32px;font-weight:700;color:#37474f;margin:0 0 16px}.completion-message[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:18px;color:#666;line-height:1.6;margin:0}.completion-reward[data-v-dd79dc51]{margin-bottom:32px}.reward-card[data-v-dd79dc51]{background:linear-gradient(135deg,#ffa726,#f57c00);border-radius:16px;padding:20px;color:#fff;display:flex;align-items:center;gap:16px}.reward-icon[data-v-dd79dc51]{font-size:32px}.reward-text[data-v-dd79dc51]{display:flex;flex-direction:column;align-items:flex-start}.reward-points[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:700;margin:0}.reward-level[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:14px;opacity:.9;margin:0}.completion-actions[data-v-dd79dc51]{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.continue-button[data-v-dd79dc51],.back-to-piano[data-v-dd79dc51]{padding:16px 24px;border-radius:16px;border:none;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:12px;text-decoration:none}.continue-button[data-v-dd79dc51]{background:linear-gradient(135deg,#66bb6a,#4caf50);color:#fff}.continue-button[data-v-dd79dc51]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #66bb6a66}.back-to-piano[data-v-dd79dc51]{background:#fff;color:#66bb6a;border:2px solid #66BB6A}.back-to-piano[data-v-dd79dc51]:hover{background:#66bb6a;color:#fff;transform:translateY(-2px)}.melody-sequence[data-v-dd79dc51]{text-align:center}.sequence-info[data-v-dd79dc51]{margin-bottom:24px}.sequence-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.sequence-hint[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:14px;color:#666;margin:0;font-style:italic}.sequence-piano[data-v-dd79dc51]{display:flex;justify-content:center;gap:8px;margin-bottom:24px;padding:20px;background:#f5f5f5;border-radius:16px}.sequence-key[data-v-dd79dc51]{width:60px;height:120px;background:#fff;border:2px solid #E0E0E0;border-radius:0 0 8px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#37474f}.sequence-key[data-v-dd79dc51]:hover:not(:disabled){background:#f0f0f0;transform:translateY(2px)}.sequence-key.played[data-v-dd79dc51]{background:#4caf50;color:#fff;transform:translateY(2px)}.sequence-controls[data-v-dd79dc51]{display:flex;justify-content:center;gap:16px;margin-bottom:16px}.play-sequence-button[data-v-dd79dc51],.reset-sequence-button[data-v-dd79dc51]{padding:12px 20px;border-radius:12px;border:none;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.play-sequence-button[data-v-dd79dc51]{background:#4caf50;color:#fff}.reset-sequence-button[data-v-dd79dc51]{background:#ffa726;color:#fff}.sequence-result[data-v-dd79dc51]{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:#4caf501a;border:2px solid #4CAF50;border-radius:12px}.result-icon[data-v-dd79dc51]{font-size:24px}.result-text[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#4caf50}.speed-challenge[data-v-dd79dc51]{text-align:center}.challenge-header[data-v-dd79dc51]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.challenge-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0}.challenge-timer[data-v-dd79dc51]{display:flex;align-items:center;gap:8px;background:#f44336;color:#fff;padding:8px 16px;border-radius:20px;font-family:Fredoka,sans-serif;font-weight:600}.timer-icon[data-v-dd79dc51]{font-size:18px}.timer-text[data-v-dd79dc51]{font-size:16px}.speed-audio-controls[data-v-dd79dc51]{margin-bottom:24px}.start-challenge-button[data-v-dd79dc51]{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #f443364d}.start-challenge-button[data-v-dd79dc51]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #f4433666}.start-challenge-button[data-v-dd79dc51]:disabled{opacity:.6;cursor:not-allowed}.challenge-area[data-v-dd79dc51]{background:#f8f9fa;border-radius:16px;padding:24px;margin-bottom:24px}.current-note-display[data-v-dd79dc51]{margin-bottom:24px}.current-note[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:48px;font-weight:700;color:#f44336;display:block}.current-note-name[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:18px;color:#666;display:block}.speed-note-options[data-v-dd79dc51]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-bottom:24px}.speed-note-button[data-v-dd79dc51]{background:#fff;border:3px solid #E0E0E0;border-radius:12px;padding:20px 16px;cursor:pointer;transition:all .3s ease;text-align:center;font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;color:#37474f}.speed-note-button[data-v-dd79dc51]:hover{border-color:#f44336;transform:translateY(-2px)}.speed-note-button.correct[data-v-dd79dc51]{border-color:#4caf50;background:#4caf501a;color:#4caf50}.speed-note-button.incorrect[data-v-dd79dc51]{border-color:#f44336;background:#f443361a;color:#f44336}.challenge-score[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;color:#37474f}.interval-recognition[data-v-dd79dc51]{text-align:center}.interval-info[data-v-dd79dc51]{margin-bottom:24px}.interval-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.interval-instruction[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0}.interval-controls[data-v-dd79dc51]{margin-bottom:24px}.play-interval-button[data-v-dd79dc51]{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #9c27b04d}.interval-options[data-v-dd79dc51]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.interval-button[data-v-dd79dc51]{background:#fff;border:3px solid #E0E0E0;border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f}.interval-button[data-v-dd79dc51]:hover:not(:disabled){border-color:#9c27b0;transform:translateY(-2px);box-shadow:0 4px 12px #9c27b033}.interval-button.selected[data-v-dd79dc51]{border-color:#9c27b0;background:#9c27b01a;color:#9c27b0}.interval-button.correct[data-v-dd79dc51]{border-color:#4caf50;background:#4caf501a;color:#4caf50}.interval-button.incorrect[data-v-dd79dc51]{border-color:#f44336;background:#f443361a;color:#f44336}.memory-challenge[data-v-dd79dc51]{text-align:center}.memory-info[data-v-dd79dc51]{margin-bottom:24px}.memory-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.memory-instruction[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0}.memory-sequence-display[data-v-dd79dc51]{margin-bottom:24px}.sequence-notes[data-v-dd79dc51]{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.memory-note[data-v-dd79dc51]{width:80px;height:100px;background:#fff;border:3px solid #E0E0E0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;color:#37474f;transition:all .3s ease}.memory-note.shown[data-v-dd79dc51]{border-color:#4fc3f7;background:#4fc3f71a;color:#4fc3f7}.memory-note.hidden[data-v-dd79dc51]{border-color:#e0e0e0;background:#f5f5f5;color:#bdbdbd}.memory-controls[data-v-dd79dc51]{margin-bottom:24px}.start-memory-button[data-v-dd79dc51]{background:linear-gradient(135deg,#4fc3f7,#29b6f6);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #4fc3f74d}.memory-input[data-v-dd79dc51]{background:#f8f9fa;border-radius:16px;padding:24px}.input-prompt[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f;margin:0 0 16px}.input-notes[data-v-dd79dc51]{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px}.input-note-button[data-v-dd79dc51]{background:#fff;border:2px solid #E0E0E0;border-radius:8px;padding:12px 8px;cursor:pointer;transition:all .2s ease;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#37474f}.input-note-button[data-v-dd79dc51]:hover{border-color:#4fc3f7;background:#4fc3f71a}.chord-recognition[data-v-dd79dc51]{text-align:center}.chord-info[data-v-dd79dc51]{margin-bottom:24px}.chord-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.chord-description[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0;font-style:italic}.chord-controls[data-v-dd79dc51]{margin-bottom:24px}.play-chord-button[data-v-dd79dc51]{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #ff98004d}.chord-notes-display[data-v-dd79dc51]{background:#f8f9fa;border-radius:16px;padding:24px}.chord-notes[data-v-dd79dc51]{display:flex;justify-content:center;gap:16px;margin-bottom:16px}.chord-note[data-v-dd79dc51]{background:#fff;border:2px solid #FF9800;border-radius:12px;padding:12px 16px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#ff9800}.chord-name[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:18px;font-weight:700;color:#37474f}.rhythm-clapping[data-v-dd79dc51]{text-align:center}.rhythm-info[data-v-dd79dc51]{margin-bottom:24px}.rhythm-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.rhythm-instruction[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0 0 8px}.rhythm-tempo[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:14px;color:#4fc3f7;margin:0;font-weight:600}.rhythm-display[data-v-dd79dc51]{margin-bottom:24px}.rhythm-pattern[data-v-dd79dc51]{display:flex;justify-content:center;gap:8px;padding:24px;background:#f8f9fa;border-radius:16px}.rhythm-beat[data-v-dd79dc51]{width:60px;height:60px;border-radius:50%;border:3px solid #E0E0E0;background:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:20px;color:#bdbdbd}.rhythm-beat.active[data-v-dd79dc51]{border-color:#4caf50;background:#4caf501a;color:#4caf50;transform:scale(1.1)}.rhythm-beat.sound[data-v-dd79dc51]{border-color:#ff9800;color:#ff9800}.rhythm-controls[data-v-dd79dc51]{display:flex;justify-content:center;gap:16px}.play-rhythm-button[data-v-dd79dc51],.practice-button[data-v-dd79dc51]{padding:12px 20px;border-radius:12px;border:none;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.play-rhythm-button[data-v-dd79dc51]{background:#ff9800;color:#fff}.practice-button[data-v-dd79dc51]{background:#4fc3f7;color:#fff}.famous-melody[data-v-dd79dc51]{text-align:center}.melody-info[data-v-dd79dc51]{margin-bottom:24px}.melody-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.melody-subtitle[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0;font-style:italic}.melody-piano[data-v-dd79dc51]{margin-bottom:24px}.melody-notes[data-v-dd79dc51]{display:flex;justify-content:center;gap:6px;padding:20px;background:#f8f9fa;border-radius:16px;flex-wrap:wrap}.melody-key[data-v-dd79dc51]{width:50px;height:100px;background:#fff;border:2px solid #E0E0E0;border-radius:0 0 8px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:12px;font-weight:600;color:#37474f}.melody-key[data-v-dd79dc51]:hover:not(:disabled){background:#f0f0f0;transform:translateY(2px)}.melody-key.played[data-v-dd79dc51]{background:#9c27b0;color:#fff;transform:translateY(2px)}.melody-controls[data-v-dd79dc51]{display:flex;justify-content:center;gap:16px}.play-melody-button[data-v-dd79dc51],.reset-melody-button[data-v-dd79dc51]{padding:12px 20px;border-radius:12px;border:none;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.play-melody-button[data-v-dd79dc51]{background:#9c27b0;color:#fff}.reset-melody-button[data-v-dd79dc51]{background:#ffa726;color:#fff}.pattern-recognition[data-v-dd79dc51]{text-align:center}.pattern-info[data-v-dd79dc51]{margin-bottom:24px}.pattern-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.pattern-instruction[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0}.pattern-display[data-v-dd79dc51]{margin-bottom:24px}.pattern-note[data-v-dd79dc51]{width:60px;height:100px;background:#fff;border:2px solid #E0E0E0;border-radius:0 0 8px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#37474f}.pattern-note[data-v-dd79dc51]:hover{background:#f0f0f0;transform:translateY(2px)}.pattern-note.pattern-highlight[data-v-dd79dc51]{border-color:#9c27b0;background:#9c27b01a;color:#9c27b0}.pattern-controls[data-v-dd79dc51]{display:flex;justify-content:center;gap:16px}.play-pattern-button[data-v-dd79dc51],.identify-pattern-button[data-v-dd79dc51]{padding:12px 20px;border-radius:12px;border:none;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.play-pattern-button[data-v-dd79dc51]{background:#9c27b0;color:#fff}.identify-pattern-button[data-v-dd79dc51]{background:#4caf50;color:#fff}.two-handed[data-v-dd79dc51]{text-align:center}.two-handed-info[data-v-dd79dc51]{margin-bottom:24px}.two-handed-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.two-handed-instruction[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0}.hands-container[data-v-dd79dc51]{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:24px}.hand-section[data-v-dd79dc51]{background:#f8f9fa;border-radius:16px;padding:20px}.hand-label[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f;margin:0 0 16px}.hand-notes[data-v-dd79dc51]{display:flex;justify-content:center;gap:12px}.hand-note[data-v-dd79dc51]{width:60px;height:100px;border:2px solid #E0E0E0;border-radius:0 0 8px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;color:#37474f}.hand-note.left-hand[data-v-dd79dc51]{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.hand-note.right-hand[data-v-dd79dc51]{background:linear-gradient(135deg,#f3e5f5,#e1bee7)}.hand-note[data-v-dd79dc51]:hover{transform:translateY(2px);box-shadow:0 4px 12px #00000026}.two-handed-controls[data-v-dd79dc51]{margin-bottom:24px}.play-both-hands-button[data-v-dd79dc51]{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #ff98004d}.dynamic-play[data-v-dd79dc51]{text-align:center}.dynamic-info[data-v-dd79dc51]{margin-bottom:24px}.dynamic-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.dynamic-instruction[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0}.dynamic-piano[data-v-dd79dc51]{margin-bottom:24px}.dynamic-notes[data-v-dd79dc51]{display:flex;justify-content:center;gap:8px;padding:20px;background:#f8f9fa;border-radius:16px;flex-wrap:wrap}.dynamic-key[data-v-dd79dc51]{width:50px;height:100px;background:#fff;border:2px solid #E0E0E0;border-radius:0 0 8px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-weight:600;color:#37474f}.dynamic-key[data-v-dd79dc51]:hover:not(:disabled){background:#f0f0f0;transform:translateY(2px)}.dynamic-key.played[data-v-dd79dc51]{background:#4caf50;color:#fff;transform:translateY(2px)}.dynamic-controls[data-v-dd79dc51]{margin-bottom:24px}.play-dynamic-button[data-v-dd79dc51]{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #4caf504d}.gamme-play[data-v-dd79dc51]{text-align:center}.gamme-info[data-v-dd79dc51]{margin-bottom:24px}.gamme-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.gamme-instruction[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0 0 8px}.gamme-tempo[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:14px;color:#4fc3f7;margin:0;font-weight:600}.gamme-piano[data-v-dd79dc51]{margin-bottom:24px}.gamme-notes[data-v-dd79dc51]{display:flex;justify-content:center;gap:6px;padding:20px;background:#f8f9fa;border-radius:16px;flex-wrap:wrap}.gamme-key[data-v-dd79dc51]{width:50px;height:100px;background:#fff;border:2px solid #E0E0E0;border-radius:0 0 8px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:12px;font-weight:600;color:#37474f}.gamme-key[data-v-dd79dc51]:hover:not(:disabled){background:#f0f0f0;transform:translateY(2px)}.gamme-key.played[data-v-dd79dc51]{background:#4caf50;color:#fff;transform:translateY(2px)}.gamme-controls[data-v-dd79dc51]{margin-bottom:24px}.play-gamme-button[data-v-dd79dc51]{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #4caf504d}.note-reproduction[data-v-dd79dc51]{text-align:center}.reproduction-info[data-v-dd79dc51]{margin-bottom:24px}.reproduction-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;color:#37474f;margin:0 0 8px}.reproduction-instruction[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;color:#666;margin:0 0 8px}.reproduction-level[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:14px;color:#9c27b0;margin:0;font-weight:600}.reproduction-display[data-v-dd79dc51]{background:#f8f9fa;border-radius:16px;padding:24px;margin-bottom:24px}.sequence-to-play[data-v-dd79dc51]{margin-bottom:24px}.sequence-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;color:#37474f;margin:0 0 16px}.sequence-notes[data-v-dd79dc51]{display:flex;justify-content:center;gap:12px;margin-bottom:16px}.sequence-note-display[data-v-dd79dc51]{width:80px;height:100px;border:3px solid #E0E0E0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-weight:600;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.note-letter[data-v-dd79dc51]{font-size:24px}.note-name[data-v-dd79dc51]{font-size:12px;opacity:.9}.reproduction-controls[data-v-dd79dc51]{margin-bottom:24px}.play-sequence-button[data-v-dd79dc51]{background:linear-gradient(135deg,#4fc3f7,#29b6f6);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:12px;box-shadow:0 4px 12px #4fc3f74d}.play-sequence-button[data-v-dd79dc51]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #4fc3f766}.play-sequence-button[data-v-dd79dc51]:disabled{opacity:.6;cursor:not-allowed}.user-input[data-v-dd79dc51]{background:#fff;border-radius:12px;padding:20px}.input-title[data-v-dd79dc51]{font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#37474f;margin:0 0 16px}.input-piano[data-v-dd79dc51]{display:flex;justify-content:center;gap:8px;margin-bottom:20px;flex-wrap:wrap}.reproduction-key[data-v-dd79dc51]{width:60px;height:100px;border:2px solid #E0E0E0;border-radius:0 0 8px 8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:18px;font-weight:600;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.reproduction-key[data-v-dd79dc51]:hover{transform:translateY(2px);box-shadow:0 4px 12px #0003}.reproduction-key.pressed[data-v-dd79dc51]{transform:translateY(2px);box-shadow:inset 0 2px 4px #0000004d}.input-progress[data-v-dd79dc51]{margin-bottom:20px}.progress-notes[data-v-dd79dc51]{display:flex;justify-content:center;gap:8px}.progress-note[data-v-dd79dc51]{width:50px;height:60px;border:2px solid #E0E0E0;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600;color:#bdbdbd;background:#f5f5f5;transition:all .3s ease}.progress-note.correct[data-v-dd79dc51]{border-color:#4caf50;background:#4caf501a;color:#4caf50}.progress-note.incorrect[data-v-dd79dc51]{border-color:#f44336;background:#f443361a;color:#f44336}.progress-note.pending[data-v-dd79dc51]{border-color:#e0e0e0;background:#f5f5f5;color:#bdbdbd}.input-controls[data-v-dd79dc51]{display:flex;justify-content:center;gap:16px}.check-button[data-v-dd79dc51],.clear-button[data-v-dd79dc51]{padding:12px 20px;border-radius:12px;border:none;font-family:Fredoka,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.check-button[data-v-dd79dc51]{background:#4caf50;color:#fff}.check-button[data-v-dd79dc51]:disabled{background:#e0e0e0;color:#bdbdbd;cursor:not-allowed}.clear-button[data-v-dd79dc51]{background:#ff9800;color:#fff}@media (max-width: 640px){.header-content[data-v-dd79dc51]{padding:12px 16px}.lesson-content[data-v-dd79dc51]{padding:16px}.intro-content[data-v-dd79dc51],.exercise-content[data-v-dd79dc51],.completion-content[data-v-dd79dc51]{padding:24px}.lesson-title[data-v-dd79dc51]{font-size:24px}.note-options[data-v-dd79dc51]{grid-template-columns:1fr}.piano-mini[data-v-dd79dc51]{flex-wrap:wrap}.mini-key[data-v-dd79dc51]{width:40px;height:100px}.result-content[data-v-dd79dc51]{flex-direction:column;gap:12px}.result-actions[data-v-dd79dc51],.completion-actions[data-v-dd79dc51],.lesson-controls[data-v-dd79dc51]{flex-direction:column;align-items:center}.regenerate-button[data-v-dd79dc51]{padding:14px 20px;font-size:14px}.hands-container[data-v-dd79dc51]{grid-template-columns:1fr;gap:16px}.hand-notes[data-v-dd79dc51]{gap:8px}.hand-note[data-v-dd79dc51]{width:50px;height:80px;font-size:12px}.sequence-piano[data-v-dd79dc51]{gap:6px}.sequence-key[data-v-dd79dc51]{width:50px;height:100px;font-size:12px}.pattern-note[data-v-dd79dc51]{width:50px;height:80px;font-size:12px}.dynamic-key[data-v-dd79dc51]{width:40px;height:80px}.gamme-key[data-v-dd79dc51],.melody-key[data-v-dd79dc51]{width:40px;height:80px;font-size:10px}.speed-note-options[data-v-dd79dc51]{grid-template-columns:repeat(2,1fr)}.interval-options[data-v-dd79dc51]{grid-template-columns:1fr}}.atelier[data-v-d29034c7]{display:flex;flex-direction:column;gap:18px;padding:16px;max-width:1100px;margin:0 auto}.atelier-entete[data-v-d29034c7]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.atelier-entete h2[data-v-d29034c7]{margin:0;font-size:22px;color:#37474f}.atelier-soustitre[data-v-d29034c7]{margin:4px 0 0;max-width:60ch;font-size:14px;color:#607d8b}.atelier-compteur[data-v-d29034c7]{padding:8px 14px;border-radius:999px;background:linear-gradient(135deg,#e0f2f1,#b2dfdb);color:#00695c;font-size:13px;font-weight:700;white-space:nowrap}.filtres[data-v-d29034c7]{display:flex;flex-wrap:wrap;gap:8px}.filtre[data-v-d29034c7]{min-width:48px;min-height:44px;padding:0 14px;border:2px solid #CFD8DC;border-radius:999px;background:#fff;color:#455a64;font-family:inherit;font-size:14px;font-weight:600;text-align:center;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.filtre[data-v-d29034c7]:active{transform:scale(.96)}.filtre.actif[data-v-d29034c7]{border-color:#26a69a;background:linear-gradient(135deg,#e0f2f1,#b2dfdb);color:#00695c}.bande-instruments[data-v-d29034c7]{display:flex;gap:12px;padding:4px 2px 14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}.carte[data-v-d29034c7]{flex:0 0 auto;scroll-snap-align:start}.carte-bouton[data-v-d29034c7]{display:flex;flex-direction:column;align-items:center;gap:8px;width:116px;padding:12px 8px 10px;border:3px solid transparent;border-radius:22px;background:#fff;box-shadow:0 4px 14px #2632381f;font-family:inherit;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.carte-bouton[data-v-d29034c7]:active{transform:scale(.95)}.carte-bouton[data-v-d29034c7]:focus-visible{outline:3px solid #26A69A;outline-offset:2px}.carte.actif .carte-bouton[data-v-d29034c7]{border-color:#26a69a;background:linear-gradient(160deg,#fff,#e0f2f1);box-shadow:0 8px 22px #00695c47}.carte-cadre[data-v-d29034c7]{position:relative;display:block;width:96px;height:96px;border-radius:18px;overflow:hidden;background:linear-gradient(160deg,#f1f8e9,#e0f2f1)}.carte-image[data-v-d29034c7]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.carte-chargement[data-v-d29034c7]{position:absolute;inset:0;background:#ffffffa6}.carte-chargement[data-v-d29034c7]:after{content:"";position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border:3px solid #26A69A;border-top-color:transparent;border-radius:50%;animation:atelier-tourne-d29034c7 .9s linear infinite}@keyframes atelier-tourne-d29034c7{to{transform:rotate(360deg)}}.carte-nom[data-v-d29034c7]{font-size:13px;font-weight:700;color:#37474f;text-align:center;line-height:1.2}.scene[data-v-d29034c7]{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;border-radius:26px;background:linear-gradient(135deg,#fff,#f1f8e9 55%,#e0f2f1);box-shadow:inset 0 0 0 2px #26a69a2e}.scene-image[data-v-d29034c7]{width:148px;height:148px;border-radius:22px;-o-object-fit:cover;object-fit:cover;background:#fff;box-shadow:0 6px 18px #26323829}.scene-texte[data-v-d29034c7]{flex:1 1 220px;min-width:0}.scene-titre[data-v-d29034c7]{margin:0;font-size:20px;color:#37474f}.scene-indice[data-v-d29034c7]{margin:6px 0 0;font-size:14px;color:#607d8b}.scene-statut[data-v-d29034c7]{flex-basis:100%;margin:0;font-size:13px;font-weight:600;color:#b95c00}.zones-frappe[data-v-d29034c7]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.zone-pastille[data-v-d29034c7]{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;color:#37474f}.zone-pastille.zone-0[data-v-d29034c7]{background:#ffccbc}.zone-pastille.zone-1[data-v-d29034c7]{background:#ffe0b2}.zone-pastille.zone-2[data-v-d29034c7]{background:#fff9c4}.zone-pastille.zone-3[data-v-d29034c7]{background:#c8e6c9}.portee[data-v-d29034c7]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.portee-reglages[data-v-d29034c7]{display:flex;align-items:center;gap:10px}.portee-fleche[data-v-d29034c7]{width:48px;height:48px;border:2px solid #26A69A;border-radius:14px;background:#fff;color:#00695c;font-size:22px;line-height:1;cursor:pointer;transition:transform .15s ease,background .15s ease,opacity .15s ease}.portee-fleche[data-v-d29034c7]:active:not(:disabled){transform:scale(.94);background:#e0f2f1}.portee-fleche[data-v-d29034c7]:disabled{opacity:.35;cursor:default}.portee-valeur[data-v-d29034c7]{min-width:90px;font-size:15px;font-weight:700;color:#37474f;text-align:center}.portee-bouton[data-v-d29034c7]{min-height:48px;padding:0 16px;border:2px solid #7C4DFF;border-radius:14px;background:#fff;color:#4527a0;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s ease,background .15s ease}.portee-bouton.actif[data-v-d29034c7]{background:linear-gradient(135deg,#ede7f6,#d1c4e9)}.portee-bouton[data-v-d29034c7]:active{transform:scale(.96)}.zone-clavier[data-v-d29034c7]{position:relative;padding-top:10px}.zones-fond[data-v-d29034c7]{position:absolute;top:0;left:0;right:0;height:10px;display:flex;border-radius:6px 6px 0 0;overflow:hidden}.zones-fond-part[data-v-d29034c7]{flex:1 1 0}.zones-fond-part.zone-0[data-v-d29034c7]{background:#ff8a65}.zones-fond-part.zone-1[data-v-d29034c7]{background:#ffb74d}.zones-fond-part.zone-2[data-v-d29034c7]{background:#fff176}.zones-fond-part.zone-3[data-v-d29034c7]{background:#aed581}.clavier[data-v-d29034c7]{position:relative;height:var(--hauteur-touche, 160px);min-height:130px;border-radius:14px;background:#263238;padding:6px;box-shadow:0 10px 26px #26323859;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.touche[data-v-d29034c7]{position:absolute;top:6px;bottom:6px;padding:0;border:none;border-radius:0 0 10px 10px;font-family:inherit;cursor:pointer;transition:transform .06s ease,filter .06s ease}.touche-blanche[data-v-d29034c7]{background:linear-gradient(180deg,#fff,#f5f5f5 82%,#e8e8e8);box-shadow:inset -2px 0 #2632382e;z-index:1}.touche-blanche.presse[data-v-d29034c7]{background:linear-gradient(180deg,#b2dfdb,#4db6ac);transform:translateY(2px) scaleY(.985);transform-origin:top}.touche-noire[data-v-d29034c7]{top:6px;bottom:45%;border-radius:0 0 8px 8px;background:linear-gradient(180deg,#455a64,#1c262b);box-shadow:0 3px 6px #00000073;z-index:2}.touche-noire.presse[data-v-d29034c7]{background:linear-gradient(180deg,#00897b,#004d40);transform:translateY(2px)}.touche-nom[data-v-d29034c7]{position:absolute;bottom:8px;left:0;right:0;font-size:10px;font-weight:700;color:#90a4ae;pointer-events:none}.touche-blanche.presse .touche-nom[data-v-d29034c7]{color:#004d40}.aide[data-v-d29034c7]{margin:0;font-size:13px;color:#78909c}.credits[data-v-d29034c7]{margin:0;font-size:12px;color:#90a4ae}@media (max-width: 380px){.atelier[data-v-d29034c7]{padding-left:4px;padding-right:4px}}@media (max-width: 560px){.scene-image[data-v-d29034c7]{width:108px;height:108px}.carte-bouton[data-v-d29034c7]{width:104px}.carte-cadre[data-v-d29034c7]{width:84px;height:84px}}@media (prefers-reduced-motion: reduce){.carte-bouton[data-v-d29034c7],.touche[data-v-d29034c7],.filtre[data-v-d29034c7],.portee-fleche[data-v-d29034c7],.portee-bouton[data-v-d29034c7]{transition:none}}.instruments-module[data-v-9ac05f8c]{min-height:100vh;background:linear-gradient(135deg,#e8f5e8,#fff3e0);padding-bottom:80px;color:#37474f}.module-header[data-v-9ac05f8c]{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 2px 8px #0000001a}.header-content[data-v-9ac05f8c]{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:16px 20px;gap:16px}.back-button[data-v-9ac05f8c],.module-title[data-v-9ac05f8c],.header-controls[data-v-9ac05f8c],.tab-button[data-v-9ac05f8c],.instrument-card[data-v-9ac05f8c],.answer-button[data-v-9ac05f8c],.next-button[data-v-9ac05f8c],.restart-button[data-v-9ac05f8c],.change-mode-button[data-v-9ac05f8c],.quiz-card[data-v-9ac05f8c],.play-sound-button[data-v-9ac05f8c],.play-full-button[data-v-9ac05f8c],.volume-button[data-v-9ac05f8c]{font-family:Fredoka,sans-serif}.back-button[data-v-9ac05f8c]{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#666;text-decoration:none;font-weight:500;transition:color .2s ease}.back-button[data-v-9ac05f8c]:hover{color:#66bb6a}.back-icon[data-v-9ac05f8c],.title-icon[data-v-9ac05f8c],.volume-icon[data-v-9ac05f8c]{font-size:24px}.module-title[data-v-9ac05f8c]{display:flex;align-items:center;justify-content:center;gap:12px;flex:1}.title-text[data-v-9ac05f8c]{margin:0;color:#37474f;font-size:24px;font-weight:600}.volume-button[data-v-9ac05f8c]{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s ease,opacity .2s ease}.volume-button[data-v-9ac05f8c]:hover{background:#66bb6a1f}.volume-button.muted[data-v-9ac05f8c]{opacity:.55}.navigation-tabs[data-v-9ac05f8c]{padding:12px 20px;background:#fff;border-bottom:1px solid #E0E0E0}.tabs-content[data-v-9ac05f8c]{display:flex;justify-content:center;gap:8px;max-width:800px;margin:0 auto}.tab-button[data-v-9ac05f8c]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:12px;background:#f5f5f5;color:#666;font-weight:500;cursor:pointer;transition:all .3s ease}.tab-button[data-v-9ac05f8c]:hover{background:#e8f5e8;color:#4caf50}.tab-button.active[data-v-9ac05f8c]{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 4px 12px #4caf504d}.tab-icon[data-v-9ac05f8c]{font-size:18px}.tab-badge[data-v-9ac05f8c]{padding:2px 8px;border-radius:999px;background:#ffe0b2;color:#b95c00;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.tab-button.active .tab-badge[data-v-9ac05f8c]{background:#ffffffe6;color:#2e7d32}.tab-text[data-v-9ac05f8c]{font-size:14px}.gallery-section[data-v-9ac05f8c],.recognition-section[data-v-9ac05f8c],.quiz-section[data-v-9ac05f8c]{padding:32px 20px}.gallery-content[data-v-9ac05f8c],.recognition-content[data-v-9ac05f8c],.quiz-content[data-v-9ac05f8c]{width:100%;max-width:1200px;margin:0 auto}.recognition-content[data-v-9ac05f8c],.quiz-content[data-v-9ac05f8c]{max-width:900px}.section-title[data-v-9ac05f8c]{margin:0 0 12px;color:#37474f;font-family:Fredoka,sans-serif;font-size:clamp(24px,4vw,32px);font-weight:700;text-align:center}.section-description[data-v-9ac05f8c]{margin:0 0 32px;color:#666;font-family:Fredoka,sans-serif;font-size:16px;text-align:center}.instruments-grid[data-v-9ac05f8c]{display:grid;gap:24px;margin-bottom:32px}.family-card[data-v-9ac05f8c]{padding:24px;border-radius:16px;background:#fff;box-shadow:0 4px 16px #0000001a}.family-title[data-v-9ac05f8c]{margin:0 0 8px;color:#37474f;font-family:Fredoka,sans-serif;font-size:20px;font-weight:600;text-align:center}.family-description[data-v-9ac05f8c]{margin:0 0 16px;color:#777;font-size:14px;text-align:center}.family-instruments[data-v-9ac05f8c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.instrument-card[data-v-9ac05f8c]{display:flex;flex-direction:column;align-items:center;min-height:220px;padding:20px;border:2px solid transparent;border-radius:12px;background:#f8f9fa;color:#37474f;text-align:center;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease}.instrument-card[data-v-9ac05f8c]:hover{transform:translateY(-4px);border-color:#4caf50;box-shadow:0 8px 24px #00000026}.instrument-card.selected[data-v-9ac05f8c]{border-color:#4caf50;background:#e8f5e8}.instrument-emoji[data-v-9ac05f8c],.details-emoji[data-v-9ac05f8c]{display:block;font-size:48px;line-height:1.2}.instrument-name[data-v-9ac05f8c]{margin:12px 0 8px;font-size:18px;font-weight:600}.instrument-description[data-v-9ac05f8c]{flex:1;margin:0 0 16px;color:#666;font-size:14px;line-height:1.4}.card-hint[data-v-9ac05f8c]{color:#43a047;font-size:13px;font-weight:600}.instrument-details[data-v-9ac05f8c]{margin-top:32px}.details-card[data-v-9ac05f8c]{max-width:650px;margin:0 auto;padding:32px;border-radius:16px;background:#fff;box-shadow:0 8px 32px #0000001a}.details-header[data-v-9ac05f8c]{display:flex;align-items:center;gap:16px;margin-bottom:16px}.details-name[data-v-9ac05f8c]{margin:0;font-size:24px;font-weight:600}.details-family[data-v-9ac05f8c]{margin:4px 0 0;color:#43a047;font-size:14px;font-weight:600}.details-description[data-v-9ac05f8c],.details-clue[data-v-9ac05f8c]{margin:0 0 16px;color:#666;font-size:16px;line-height:1.6}.details-clue[data-v-9ac05f8c]{padding:12px 16px;border-radius:12px;background:#fff8e1;color:#795548}.stroke-row[data-v-9ac05f8c]{display:flex;gap:12px;margin:16px 0 4px}.stroke-button[data-v-9ac05f8c]{flex:1 1 0;min-height:72px;padding:10px 12px;border:3px solid #26A69A;border-radius:16px;background:#e0f2f1;color:#00695c;font-family:inherit;text-align:center;cursor:pointer;transition:transform .12s ease,background .12s ease}.stroke-button[data-v-9ac05f8c]:active:not(:disabled){transform:scale(.96);background:#b2dfdb}.stroke-button[data-v-9ac05f8c]:disabled{opacity:.5;cursor:default}.stroke-name[data-v-9ac05f8c]{display:block;font-size:22px;font-weight:700}.stroke-hint[data-v-9ac05f8c]{display:block;margin-top:4px;font-size:12px;color:#00796b;line-height:1.3}.details-note[data-v-9ac05f8c]{margin:14px 0 4px;font-size:13px;color:#607d8b}.details-features h4[data-v-9ac05f8c]{margin:0 0 8px;font-size:16px}.details-features ul[data-v-9ac05f8c]{margin:0 0 20px;padding-left:22px}.details-features li[data-v-9ac05f8c]{margin-bottom:4px;color:#666;font-size:14px}.play-full-button[data-v-9ac05f8c],.play-sound-button[data-v-9ac05f8c],.next-button[data-v-9ac05f8c],.restart-button[data-v-9ac05f8c],.change-mode-button[data-v-9ac05f8c]{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:12px;color:#fff;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.play-full-button[data-v-9ac05f8c]{padding:14px 22px;background:linear-gradient(135deg,#4caf50,#66bb6a);font-size:16px}.play-full-button[data-v-9ac05f8c]:hover,.play-sound-button[data-v-9ac05f8c]:hover,.next-button[data-v-9ac05f8c]:hover,.restart-button[data-v-9ac05f8c]:hover,.change-mode-button[data-v-9ac05f8c]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5059}.play-full-button[data-v-9ac05f8c]:disabled,.play-sound-button[data-v-9ac05f8c]:disabled,.answer-button[data-v-9ac05f8c]:disabled{cursor:not-allowed;opacity:.7}.recognition-game[data-v-9ac05f8c]{padding:32px;border-radius:16px;background:#fff;box-shadow:0 8px 32px #0000001a}.game-header[data-v-9ac05f8c],.session-heading[data-v-9ac05f8c]{display:flex;align-items:center;justify-content:space-between;gap:16px}.game-header[data-v-9ac05f8c]{margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid #E0E0E0}.progress-text[data-v-9ac05f8c],.score-text[data-v-9ac05f8c]{color:#37474f;font-family:Fredoka,sans-serif;font-size:16px;font-weight:600}.score-text[data-v-9ac05f8c]{color:#4caf50;white-space:nowrap}.progress-bar[data-v-9ac05f8c]{width:220px;height:8px;margin-top:8px;overflow:hidden;border-radius:4px;background:#e0e0e0}.progress-fill[data-v-9ac05f8c]{height:100%;border-radius:4px;background:linear-gradient(90deg,#4caf50,#66bb6a);transition:width .3s ease}.sound-player[data-v-9ac05f8c]{margin-bottom:28px;text-align:center}.question-hint[data-v-9ac05f8c],.question-prompt[data-v-9ac05f8c],.question-clue[data-v-9ac05f8c]{color:#666;font-family:Fredoka,sans-serif;line-height:1.5}.question-hint[data-v-9ac05f8c]{margin:0 0 14px}.play-sound-button[data-v-9ac05f8c]{padding:16px 32px;background:linear-gradient(135deg,#ff5722,#e64a19);font-size:18px;animation:pulse-9ac05f8c 2s infinite}.play-sound-button[data-v-9ac05f8c]:disabled{animation:none}.answer-options[data-v-9ac05f8c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:28px}.answer-button[data-v-9ac05f8c]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;gap:8px;padding:18px;border:2px solid #E0E0E0;border-radius:12px;background:#fff;color:#37474f;text-align:center;cursor:pointer;transition:all .3s ease}.answer-button[data-v-9ac05f8c]:hover:not(:disabled){border-color:#4caf50;background:#f1f8e9}.answer-button.selected[data-v-9ac05f8c]{border-color:#2196f3;background:#e3f2fd}.answer-button.correct[data-v-9ac05f8c]{border-color:#4caf50;background:#e8f5e8}.answer-button.incorrect[data-v-9ac05f8c]{border-color:#f44336;background:#ffebee}.option-emoji[data-v-9ac05f8c]{font-size:32px;line-height:1}.option-name[data-v-9ac05f8c]{font-size:16px;font-weight:600}.result-feedback[data-v-9ac05f8c]{margin-bottom:24px;padding:20px;border-radius:12px;text-align:center}.feedback-correct[data-v-9ac05f8c],.feedback-incorrect[data-v-9ac05f8c]{padding:14px;border-radius:10px;font-family:Fredoka,sans-serif;font-size:18px;font-weight:600}.feedback-correct[data-v-9ac05f8c]{background:#e8f5e8;color:#2e7d32}.feedback-incorrect[data-v-9ac05f8c]{background:#ffebee;color:#c62828}.feedback-icon[data-v-9ac05f8c]{margin-right:8px}.next-button[data-v-9ac05f8c]{margin-top:16px;padding:12px 24px;background:linear-gradient(135deg,#4caf50,#66bb6a);font-size:16px}.game-completed[data-v-9ac05f8c]{text-align:center}.completion-card[data-v-9ac05f8c]{padding:32px;border-radius:16px;background:linear-gradient(135deg,#e8f5e8,#f1f8e9)}.completion-title[data-v-9ac05f8c]{margin:0 0 16px;font-size:28px;font-weight:700}.completion-score[data-v-9ac05f8c],.activity-points[data-v-9ac05f8c],.best-score[data-v-9ac05f8c]{margin:0 0 12px;font-family:Fredoka,sans-serif}.completion-score[data-v-9ac05f8c]{color:#4caf50;font-size:24px;font-weight:600}.completion-message[data-v-9ac05f8c],.activity-points[data-v-9ac05f8c],.best-score[data-v-9ac05f8c]{color:#666;font-size:17px}.activity-points[data-v-9ac05f8c],.best-score[data-v-9ac05f8c]{font-size:15px}.restart-button[data-v-9ac05f8c]{margin-top:10px;padding:12px 24px;background:linear-gradient(135deg,#2196f3,#42a5f5);font-size:16px}.quiz-modes[data-v-9ac05f8c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:32px}.quiz-card[data-v-9ac05f8c]{display:flex;flex-direction:column;align-items:center;min-height:230px;padding:24px;border-radius:16px;background:#fff;color:#37474f;text-align:center;cursor:pointer;box-shadow:0 4px 16px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.quiz-card[data-v-9ac05f8c]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.quiz-icon[data-v-9ac05f8c]{margin-bottom:16px;font-size:48px}.quiz-title[data-v-9ac05f8c]{margin-bottom:10px;font-size:20px;font-weight:600}.quiz-description[data-v-9ac05f8c]{flex:1;margin-bottom:16px;color:#666;font-size:14px;line-height:1.5}.quiz-stats[data-v-9ac05f8c],.completed-label[data-v-9ac05f8c]{color:#777;font-size:12px}.completed-label[data-v-9ac05f8c]{margin-top:10px;color:#43a047;font-weight:600}.quiz-session[data-v-9ac05f8c]{padding:28px;border-radius:16px;background:#fff;box-shadow:0 8px 32px #0000001a}.session-heading[data-v-9ac05f8c]{margin-bottom:24px}.session-title[data-v-9ac05f8c]{margin:0 0 4px;font-size:24px}.session-description[data-v-9ac05f8c]{margin:0;color:#666;font-size:15px}.change-mode-button[data-v-9ac05f8c]{padding:10px 16px;background:#9c27b0;font-size:14px;white-space:nowrap}.quiz-game-area[data-v-9ac05f8c]{min-height:300px}.question-card[data-v-9ac05f8c]{margin-bottom:28px;padding:24px;border-radius:14px;background:#f8f9fa;text-align:center}.question-emoji[data-v-9ac05f8c]{display:block;margin-bottom:12px;font-size:48px}.question-prompt[data-v-9ac05f8c]{margin:0;color:#37474f;font-size:20px;font-weight:600}.question-clue[data-v-9ac05f8c]{margin:12px 0 0;font-size:16px}.completion-actions[data-v-9ac05f8c]{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.progress-overview[data-v-9ac05f8c],.quick-actions[data-v-9ac05f8c]{padding:20px}.progress-card[data-v-9ac05f8c],.actions-content[data-v-9ac05f8c]{width:100%;max-width:700px;margin:0 auto}.progress-card[data-v-9ac05f8c]{padding:24px;border-radius:16px;background:#fff;box-shadow:0 4px 16px #0000001a}.progress-title[data-v-9ac05f8c],.actions-title[data-v-9ac05f8c]{margin:0 0 20px;color:#37474f;font-family:Fredoka,sans-serif;font-size:22px;font-weight:600;text-align:center}.progress-stats[data-v-9ac05f8c]{display:flex;justify-content:space-around;gap:16px;margin-bottom:20px}.stat[data-v-9ac05f8c]{display:flex;flex:1;flex-direction:column;align-items:center;gap:8px}.stat-icon[data-v-9ac05f8c]{font-size:24px}.stat-text[data-v-9ac05f8c]{color:#666;font-size:14px;text-align:center}.activity-progress[data-v-9ac05f8c]{width:100%;margin-bottom:20px}.best-scores[data-v-9ac05f8c]{display:grid;gap:8px;margin-top:16px}.best-score-row[data-v-9ac05f8c]{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:8px;background:#f8f9fa;color:#666;font-size:14px}.best-score-row strong[data-v-9ac05f8c]{color:#4caf50}.storage-notice[data-v-9ac05f8c],.audio-notice[data-v-9ac05f8c]{margin:16px auto 0;padding:12px 16px;color:#795548;font-size:14px;text-align:center}.actions-title[data-v-9ac05f8c]{margin-bottom:24px}.actions-grid[data-v-9ac05f8c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.action-card[data-v-9ac05f8c]{display:flex;align-items:center;gap:16px;min-height:90px;padding:20px;border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 4px 16px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.action-card[data-v-9ac05f8c]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.action-icon[data-v-9ac05f8c]{flex:0 0 48px;font-size:32px;text-align:center}.action-content[data-v-9ac05f8c]{display:flex;flex-direction:column;gap:4px}.action-title[data-v-9ac05f8c]{color:#37474f;font-size:18px}.action-description[data-v-9ac05f8c]{color:#666;font-size:14px}@keyframes pulse-9ac05f8c{0%,to{box-shadow:0 4px 12px #ff57224d}50%{box-shadow:0 6px 20px #ff572299}}@media (max-width: 768px){.header-content[data-v-9ac05f8c]{padding:12px 16px}.title-text[data-v-9ac05f8c]{font-size:20px}.tabs-content[data-v-9ac05f8c]{flex-direction:column}.tab-button[data-v-9ac05f8c]{width:100%}.gallery-section[data-v-9ac05f8c],.recognition-section[data-v-9ac05f8c],.quiz-section[data-v-9ac05f8c]{padding:24px 16px}.family-instruments[data-v-9ac05f8c],.answer-options[data-v-9ac05f8c],.quiz-modes[data-v-9ac05f8c],.actions-grid[data-v-9ac05f8c]{grid-template-columns:1fr}.game-header[data-v-9ac05f8c],.session-heading[data-v-9ac05f8c]{align-items:stretch;flex-direction:column}.progress-bar[data-v-9ac05f8c]{width:100%}.progress-stats[data-v-9ac05f8c]{flex-direction:column}.action-card[data-v-9ac05f8c]{flex-direction:column;text-align:center}.recognition-game[data-v-9ac05f8c],.quiz-session[data-v-9ac05f8c]{padding:20px}.details-card[data-v-9ac05f8c]{padding:24px}}@media (max-width: 480px){.module-title[data-v-9ac05f8c]{gap:6px}.title-icon[data-v-9ac05f8c]{font-size:22px}.title-text[data-v-9ac05f8c]{font-size:18px}.back-text[data-v-9ac05f8c]{display:none}.section-title[data-v-9ac05f8c]{font-size:22px}.section-description[data-v-9ac05f8c]{font-size:14px}.family-card[data-v-9ac05f8c],.instrument-card[data-v-9ac05f8c],.completion-card[data-v-9ac05f8c],.details-card[data-v-9ac05f8c],.question-card[data-v-9ac05f8c]{padding:16px}.instrument-card[data-v-9ac05f8c]{min-height:190px}.answer-button[data-v-9ac05f8c]{min-height:105px;padding:14px}.play-sound-button[data-v-9ac05f8c]{width:100%;padding:14px 18px;font-size:16px}.session-title[data-v-9ac05f8c],.completion-title[data-v-9ac05f8c]{font-size:22px}.completion-score[data-v-9ac05f8c]{font-size:20px}.change-mode-button[data-v-9ac05f8c],.restart-button[data-v-9ac05f8c]{width:100%}}.celebration-overlay[data-v-2981e3b9]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn-2981e3b9 .3s ease-out}.celebration-content[data-v-2981e3b9]{position:relative;background:linear-gradient(135deg,#4fc3f7,#66bb6a);border-radius:24px;padding:40px;text-align:center;box-shadow:0 20px 40px #0000004d;animation:scaleIn-2981e3b9 .6s ease-out;max-width:90vw;max-height:90vh;overflow:hidden}.celebration-animation[data-v-2981e3b9]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.celebration-star[data-v-2981e3b9]{position:absolute;font-size:24px;animation:floatStar-2981e3b9 2s ease-in-out infinite}.confetti-piece[data-v-2981e3b9]{position:absolute;width:8px;height:8px;animation:fallConfetti-2981e3b9 3s linear infinite}.celebration-message[data-v-2981e3b9]{position:relative;z-index:10}.message-emoji[data-v-2981e3b9]{font-size:64px;margin-bottom:16px;animation:bounce-2981e3b9 1s ease-in-out infinite}.message-text[data-v-2981e3b9]{font-family:var(--font-rounded);font-size:28px;font-weight:600;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin:0 0 8px;line-height:1.2}.message-subtitle[data-v-2981e3b9]{font-family:var(--font-rounded);font-size:18px;color:#ffffffe6;font-weight:400}.close-button[data-v-2981e3b9]{position:absolute;top:16px;right:16px;background:#fff3;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(8px)}.close-button[data-v-2981e3b9]:hover{background:#ffffff4d;transform:scale(1.1)}.sr-only[data-v-2981e3b9]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeIn-2981e3b9{0%{opacity:0}to{opacity:1}}@keyframes scaleIn-2981e3b9{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes floatStar-2981e3b9{0%,to{transform:translateY(0) rotate(0);opacity:1}50%{transform:translateY(-20px) rotate(180deg);opacity:.8}}@keyframes fallConfetti-2981e3b9{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}@keyframes bounce-2981e3b9{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width: 640px){.celebration-content[data-v-2981e3b9]{padding:24px;margin:16px}.message-emoji[data-v-2981e3b9]{font-size:48px}.message-text[data-v-2981e3b9]{font-size:22px}.message-subtitle[data-v-2981e3b9]{font-size:16px}}.audio-prompt-overlay[data-v-6d8f389d]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;justify-content:center;align-items:center;z-index:9998;backdrop-filter:blur(8px);animation:fadeIn-6d8f389d .3s ease-out}.audio-prompt-content[data-v-6d8f389d]{background:#fff;border-radius:24px;padding:32px;max-width:480px;width:90%;box-shadow:0 20px 40px #0003;animation:slideUp-6d8f389d .5s ease-out;position:relative;overflow:hidden}.prompt-header[data-v-6d8f389d]{text-align:center;margin-bottom:32px}.prompt-icon[data-v-6d8f389d]{font-size:64px;margin-bottom:16px;animation:bounce-6d8f389d 2s ease-in-out infinite}.prompt-title[data-v-6d8f389d]{font-family:var(--font-rounded);font-size:28px;font-weight:600;color:#37474f;margin:0 0 16px}.prompt-description[data-v-6d8f389d]{font-family:var(--font-rounded);font-size:16px;color:#666;line-height:1.6;margin:0}.prompt-visual[data-v-6d8f389d]{display:flex;flex-direction:column;align-items:center;margin-bottom:32px;position:relative}.sound-waves[data-v-6d8f389d]{display:flex;align-items:center;gap:8px;margin-bottom:24px}.wave[data-v-6d8f389d]{width:4px;background:linear-gradient(to top,#4fc3f7,#66bb6a);border-radius:2px;animation:waveAnimation-6d8f389d 1.5s ease-in-out infinite}.wave-1[data-v-6d8f389d]{height:20px;animation-delay:0s}.wave-2[data-v-6d8f389d]{height:30px;animation-delay:.2s}.wave-3[data-v-6d8f389d]{height:20px;animation-delay:.4s}.instrument-icons[data-v-6d8f389d]{display:flex;gap:16px}.instrument[data-v-6d8f389d]{font-size:32px;animation:float-6d8f389d 3s ease-in-out infinite}.instrument[data-v-6d8f389d]:nth-child(2){animation-delay:.5s}.instrument[data-v-6d8f389d]:nth-child(3){animation-delay:1s}.instrument[data-v-6d8f389d]:nth-child(4){animation-delay:1.5s}.prompt-actions[data-v-6d8f389d]{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.activate-button[data-v-6d8f389d]{background:linear-gradient(135deg,#4fc3f7,#66bb6a);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-family:var(--font-rounded);font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .3s ease;box-shadow:0 4px 12px #4fc3f74d}.activate-button[data-v-6d8f389d]:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4fc3f766}.activate-button[data-v-6d8f389d]:active{transform:translateY(0)}.button-icon[data-v-6d8f389d]{font-size:20px}.dismiss-button[data-v-6d8f389d]{background:transparent;color:#666;border:2px solid #E0E0E0;border-radius:12px;padding:12px 24px;font-family:var(--font-rounded);font-size:16px;cursor:pointer;transition:all .2s ease}.dismiss-button[data-v-6d8f389d]:hover{border-color:#4fc3f7;color:#4fc3f7}.prompt-info[data-v-6d8f389d]{display:flex;justify-content:space-around;gap:16px}.info-item[data-v-6d8f389d]{display:flex;align-items:center;gap:8px;font-family:var(--font-rounded);font-size:14px;color:#666}.info-icon[data-v-6d8f389d]{font-size:16px}.sr-only[data-v-6d8f389d]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes fadeIn-6d8f389d{0%{opacity:0}to{opacity:1}}@keyframes slideUp-6d8f389d{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce-6d8f389d{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@keyframes waveAnimation-6d8f389d{0%,to{transform:scaleY(1);opacity:.7}50%{transform:scaleY(1.5);opacity:1}}@keyframes float-6d8f389d{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width: 640px){.audio-prompt-content[data-v-6d8f389d]{padding:24px;margin:16px}.prompt-title[data-v-6d8f389d]{font-size:24px}.prompt-description[data-v-6d8f389d]{font-size:15px}.prompt-info[data-v-6d8f389d]{flex-direction:column;gap:8px}.info-item[data-v-6d8f389d]{font-size:13px}}.install-banner[data-v-4ebe6ce8]{position:fixed;left:12px;right:12px;bottom:calc(7rem + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:stretch;gap:8px;padding:8px;border-radius:20px;border:2px solid #4FC3F7;background:#fff;box-shadow:0 8px 24px #0000002e;font-family:Fredoka,sans-serif;flex-wrap:wrap}.install-banner.expanded[data-v-4ebe6ce8]{flex-direction:column}.install-banner-main[data-v-4ebe6ce8]{flex:1 1 auto;display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 10px;border:none;border-radius:14px;background:none;text-align:left;cursor:pointer}.install-banner-main[data-v-4ebe6ce8]:active{background:#4fc3f724}.install-banner-icon[data-v-4ebe6ce8]{font-size:34px;line-height:1;flex:0 0 auto}.install-banner-text[data-v-4ebe6ce8]{flex:1 1 auto;min-width:0;display:block}.install-banner-title[data-v-4ebe6ce8]{display:block;font-size:15px;font-weight:700;color:#0277bd}.install-banner-hint[data-v-4ebe6ce8]{display:block;margin-top:2px;font-size:13px;color:#546e7a}.install-banner-action[data-v-4ebe6ce8]{flex:0 0 auto;min-height:44px;display:flex;align-items:center;padding:0 16px;border-radius:12px;background:#26a69a;color:#fff;font-size:14px;font-weight:700;white-space:nowrap}.install-banner-close[data-v-4ebe6ce8]{flex:0 0 auto;width:44px;min-height:44px;border:none;border-radius:12px;background:#eceff1;color:#546e7a;font-size:18px;cursor:pointer}.install-steps[data-v-4ebe6ce8]{flex:1 1 100%;margin:4px 0 2px;padding:0 0 0 6px;list-style:none;counter-reset:install-step}.install-step[data-v-4ebe6ce8]{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid #ECEFF1;font-size:13px;color:#37474f}.install-step-icon[data-v-4ebe6ce8]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 auto;border-radius:8px;background:#e1f5fe;font-size:15px;font-weight:700;color:#0277bd}.update-banner[data-v-ff318d76]{position:fixed;left:12px;right:12px;top:12px;z-index:70;display:flex;align-items:center;gap:10px;padding:10px;border-radius:20px;border:2px solid #4FC3F7;background:#fff;box-shadow:0 8px 24px #0003;font-family:Fredoka,sans-serif;flex-wrap:wrap}.update-banner.required[data-v-ff318d76]{border-color:#ef5350;background:#fff8f6}.update-banner-icon[data-v-ff318d76]{font-size:30px;line-height:1;flex:0 0 auto}.update-banner-text[data-v-ff318d76]{flex:1 1 160px;min-width:0}.update-banner-title[data-v-ff318d76]{margin:0;font-size:15px;font-weight:700;color:#0277bd}.update-banner.required .update-banner-title[data-v-ff318d76]{color:#c62828}.update-banner-hint[data-v-ff318d76]{margin:2px 0 0;font-size:13px;color:#546e7a}.update-banner-action[data-v-ff318d76]{flex:0 0 auto;min-height:48px;padding:0 18px;border:none;border-radius:12px;background:#26a69a;color:#fff;font-family:Fredoka,sans-serif;font-size:15px;font-weight:700;cursor:pointer}.update-banner.required .update-banner-action[data-v-ff318d76]{background:#ef5350}.update-banner-close[data-v-ff318d76]{flex:0 0 auto;width:44px;min-height:44px;border:none;border-radius:12px;background:#eceff1;color:#546e7a;font-size:18px;cursor:pointer}@media (max-width: 420px){.update-banner-action[data-v-ff318d76]{width:100%}}.fade-enter-active[data-v-0691e8f6],.fade-leave-active[data-v-0691e8f6]{transition:opacity .3s ease}.fade-enter-from[data-v-0691e8f6],.fade-leave-to[data-v-0691e8f6]{opacity:0}body:has(.clavier-en-surface) .app-header[data-v-0691e8f6],body:has(.clavier-en-surface) .app-bottom-nav[data-v-0691e8f6]{display:none}.app-bottom-nav[data-v-0691e8f6]{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}@media (max-width: 350px){.app-bottom-nav .flex[data-v-0691e8f6]>*{padding:.5rem 0;min-width:0;flex:1 1 0}.app-bottom-nav .text-xs[data-v-0691e8f6]{font-size:10px;line-height:1.2;white-space:nowrap}.app-bottom-nav .text-2xl[data-v-0691e8f6]{font-size:1.15rem}}@media (max-width: 767px){.app-main[data-v-0691e8f6]{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom,0px))}.install-banner-open .app-main[data-v-0691e8f6]{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom,0px) + var(--install-banner-h, 0px))}}.update-banner-open[data-v-0691e8f6]{padding-top:var(--update-banner-h, 5.5rem)}.app-header nav a[data-v-0691e8f6]{min-height:44px;display:inline-flex;align-items:center}@media (max-width: 350px){.app-main[data-v-0691e8f6]{padding-bottom:calc(8.5rem + env(safe-area-inset-bottom,0px))}}.celebration-enter-active[data-v-0691e8f6]{animation:celebration-0691e8f6 .6s ease-out}@keyframes celebration-0691e8f6{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}:root{--font-rounded: ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;font-size:16px}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-rounded);font-weight:400;line-height:1.6;color:#37474f;background:linear-gradient(135deg,#e3f2fd,#f1f8e9);min-height:100vh;margin:0;padding:0;overflow-x:hidden}*:focus{outline:2px solid #4FC3F7;outline-offset:2px}button{background:none;border:none;padding:0;margin:0;font-family:inherit;cursor:pointer}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.card{border-radius:1.5rem;border-width:2px;border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.5rem;--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.card-hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.card-hover:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-border-opacity: 1;border-color:rgb(79 195 247 / var(--tw-border-opacity, 1));--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.piano-key{position:relative;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem;border-width:2px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.piano-key:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.piano-key:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.piano-key{min-height:200px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-full{width:100%}.flex-shrink{flex-shrink:1}.translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x: 1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b-4{border-bottom-width:4px}.border-t-4{border-top-width:4px}.border-primary-blue{--tw-border-opacity: 1;border-color:rgb(79 195 247 / var(--tw-border-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-primary-blue{--tw-bg-opacity: 1;background-color:rgb(79 195 247 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-green-50{--tw-gradient-to: #f0fdf4 var(--tw-gradient-to-position)}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-20{padding-bottom:5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-primary-blue{--tw-text-opacity: 1;color:rgb(79 195 247 / var(--tw-text-opacity, 1))}.text-primary-green{--tw-text-opacity: 1;color:rgb(102 187 106 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.text-shadow{text-shadow:2px 2px 4px rgba(0,0,0,.1)}html[data-text-size=small]{font-size:14px!important}html[data-text-size=normal]{font-size:16px!important}html[data-text-size=large]{font-size:18px!important}html[data-text-size=extra-large]{font-size:20px!important}@supports (padding: max(0px)){body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}}@keyframes bounce-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes celebration{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (max-width: 640px){.text-child{font-size:1rem;line-height:1.5rem}.text-child-lg{font-size:1.125rem;line-height:1.75rem}.text-child-xl{font-size:1.25rem;line-height:1.75rem}}@media (prefers-contrast: high){.card{border-width:4px;--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.btn-primary{border-width:4px;--tw-border-opacity: 1;border-color:rgb(30 58 138 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity, 1))}.btn-secondary{border-width:4px;--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}}@media (prefers-reduced-motion: reduce){html,*,*:before,*:after{animation:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-animations=reduced]{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-animations=reduced] *,[data-animations=reduced] *:before,[data-animations=reduced] *:after{animation:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media print{.no-print{display:none!important}}.back-button,.volume-button,.octave-button,.toggle-button,.select-input{min-height:44px}.volume-button{min-width:44px}.back-button{min-width:44px;flex-shrink:0}input[type=range].slider{min-height:44px;background:transparent}input[type=range].slider::-webkit-slider-runnable-track{height:6px;background:#e0e0e0}input[type=range].slider::-moz-range-track{height:6px;background:#e0e0e0}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:text-primary-blue:hover{--tw-text-opacity: 1;color:rgb(79 195 247 / var(--tw-text-opacity, 1))}.hover\:text-primary-green:hover{--tw-text-opacity: 1;color:rgb(102 187 106 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}
