:root{--bg-gradient-start: hsl(222, 24%, 7%);--bg-gradient-end: hsl(220, 20%, 13%);--color-primary: hsl(262, 83%, 62%);--color-primary-hover: hsl(262, 85%, 68%);--color-primary-glow: hsla(262, 83%, 62%, .3);--color-success: hsl(142, 70%, 45%);--color-success-bg: hsla(142, 70%, 45%, .15);--color-success-border: hsla(142, 70%, 45%, .3);--color-danger: hsl(350, 75%, 50%);--color-danger-bg: hsla(350, 75%, 50%, .15);--color-danger-border: hsla(350, 75%, 50%, .3);--color-warning: hsl(38, 92%, 50%);--text-main: hsl(210, 17%, 95%);--text-muted: hsl(210, 12%, 72%);--text-dark: hsl(210, 10%, 45%);--glass-bg: hsla(220, 20%, 12%, .45);--glass-bg-hover: hsla(220, 20%, 16%, .55);--glass-border: hsla(220, 10%, 95%, .08);--glass-border-hover: hsla(220, 10%, 95%, .14);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--glass-blur: blur(12px);--max-width: 900px;--header-height: 72px;--footer-height: 60px;--border-radius: 16px;--border-radius-sm: 8px;--min-tap-target: 44px;--safe-padding: clamp(1rem, 5vw, 2.5rem);--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,select{font-size:16px!important}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(circle at top center,var(--bg-gradient-end),var(--bg-gradient-start));color:var(--text-main);min-height:100vh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#393e46cc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-header{height:var(--header-height);padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--glass-border);background:#0e111599;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);position:sticky;top:0;z-index:100}.header-logo-btn{display:flex;align-items:center;gap:.75rem;background:none;border:none;cursor:pointer;padding:.25rem 0;flex-shrink:0;text-decoration:none}.header-logo-btn:hover .logo-text{opacity:.75}.logo-icon{font-size:1.6rem;animation:float 3s ease-in-out infinite}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#ffffff 0%,var(--text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:opacity var(--transition-fast)}.header-level-tabs{display:flex;gap:.3rem;background:#00000040;border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);padding:.25rem;flex-shrink:0}.level-tab-btn{display:flex;align-items:center;gap:.4rem;background:transparent;border:none;color:var(--text-muted);font-family:inherit;font-size:.82rem;font-weight:600;padding:.3rem .75rem;border-radius:5px;cursor:pointer;transition:all var(--transition-fast);min-height:36px;white-space:nowrap}.level-tab-btn:hover{color:var(--text-main);background:#ffffff12}.level-tab-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 0 10px var(--color-primary-glow)}.level-tab-label{font-size:.82rem}.level-tab-badge{font-size:.58rem;font-weight:800;letter-spacing:.06em;padding:.12rem .35rem;border-radius:3px;line-height:1.4}.level-tab-badge.badge-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.level-tab-badge.badge-warning{background:#f59f0a26;color:#f7b23b;border:1px solid hsla(38,92%,50%,.3)}.level-tab-badge.badge-danger{background:var(--color-danger-bg);color:#e96379;border:1px solid var(--color-danger-border)}.level-tab-btn.active .level-tab-badge{background:#ffffff38;color:#fff;border-color:#ffffff4d}.header-nav{display:flex;gap:.5rem;flex-shrink:0}.app-main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:1.5rem 1.5rem 2.5rem;display:flex;flex-direction:column;justify-content:flex-start}.player-view-container{width:100%}.app-container:has(.player-view-container) .app-main{max-width:100%;padding-left:0;padding-right:0}.app-footer{height:var(--footer-height);display:flex;justify-content:center;align-items:center;font-size:.85rem;color:var(--text-dark);border-top:1px solid var(--glass-border);background:#0e11154d}h2{font-size:1.8rem;font-weight:600;margin-bottom:.5rem;letter-spacing:-.01em}p{color:var(--text-muted);margin-bottom:1.5rem}.subtitle{font-size:1.1rem;color:var(--text-muted);margin-bottom:2rem}.nav-btn{background:transparent;color:var(--text-muted);border:1px solid transparent;padding:.5rem 1rem;border-radius:var(--border-radius-sm);font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;min-height:var(--min-tap-target);min-width:var(--min-tap-target)}.nav-btn:hover{color:var(--text-main);background:#ffffff0d}.nav-btn.active{color:#fff;background:var(--color-primary);box-shadow:0 0 15px var(--color-primary-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--border-radius);font-family:inherit;font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-normal);border:none;min-height:var(--min-tap-target)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 14px var(--color-primary-glow)}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px var(--color-primary-glow)}.btn-primary:active{transform:translateY(0)}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--border-radius);padding:var(--safe-padding);box-shadow:var(--glass-shadow);transition:border-color var(--transition-normal),background var(--transition-normal)}.glass-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.badge-container{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.badge-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.badge-primary{background:#ffffff0d;color:var(--text-main);border:1px solid var(--glass-border-hover)}.badge-accent{background:var(--color-primary-glow);color:var(--color-primary-hover);border:1px solid rgba(168,85,247,.2)}.badge-warning{background:#f59f0a26;color:#f7b23b;border:1px solid hsla(38,92%,50%,.3)}.badge-danger{background:var(--color-danger-bg);color:#e96379;border:1px solid var(--color-danger-border)}.diff-delete{background-color:var(--color-success-bg);border-bottom:2px solid var(--color-success);color:var(--color-success);padding:0 4px;border-radius:2px}.diff-insert{background-color:var(--color-danger-bg);border-bottom:2px solid var(--color-danger);color:var(--color-danger);text-decoration:line-through;padding:0 4px;border-radius:2px}.diff-normal{color:var(--text-main)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-slow) forwards}@media (max-width: 768px){:root{--header-height: 64px;--border-radius: 12px}.app-header{padding:0 1rem}.app-main{padding:1.5rem 1rem}.glass-card{padding:1.5rem}h2{font-size:1.5rem}}.mode-selector-container{margin-bottom:2rem;width:100%}.section-title{font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:1rem}.mode-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.mode-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius);padding:1.5rem;text-align:left;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;font-family:inherit;color:inherit}.mode-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-2px)}.mode-card.active{background:#894eef26;border-color:var(--color-primary);box-shadow:0 0 20px #a855f726}.mode-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.mode-name{font-size:1.2rem;font-weight:700;color:#fff}.mode-description{font-size:.85rem;color:var(--text-muted);line-height:1.4;margin:0;flex-grow:1}.mode-card-indicator{position:absolute;bottom:0;left:0;height:3px;width:0;background:var(--color-primary);transition:width var(--transition-normal)}.mode-card.active .mode-card-indicator{width:100%}.practice-player{display:flex;flex-direction:column;gap:1.5rem;width:100%}.player-lesson-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.lesson-badge{font-size:.75rem;font-weight:700;color:var(--color-primary-hover);letter-spacing:.1em}.lesson-title{font-size:1.6rem;margin-bottom:.25rem}.lesson-topic{font-size:.95rem;color:var(--text-muted);margin:0}.progress-pill{background:#ffffff0d;border:1px solid var(--glass-border);padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600;color:var(--text-main)}.segment-card{position:relative;display:flex;flex-direction:column;gap:1rem}.segment-card-meta{display:flex;justify-content:space-between;align-items:center}.step-tag{font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--color-warning);letter-spacing:.05em}.btn-audio{background:#ffffff0f;border:1px solid var(--glass-border);color:var(--text-main);padding:.4rem 1rem;border-radius:var(--border-radius-sm);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;min-height:var(--min-tap-target)}.btn-audio:hover{background:var(--color-primary-glow);border-color:var(--color-primary)}.btn-audio.playing{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 10px var(--color-primary-glow);animation:pulse-border 1.5s infinite}.segment-text{font-size:1.4rem;line-height:1.5;color:#fff;font-weight:500;margin:0}.practice-steps{display:flex;flex-direction:column;gap:1.5rem}.practice-step-section{display:flex;flex-direction:column;gap:1rem}.step-section-title{font-size:1.1rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.step-number{background:var(--color-primary);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem}.step-instruction-text{font-size:.9rem;color:var(--text-muted);margin:0}.shift-instruction{background:#ffffff08;border-left:3px solid var(--color-warning);padding:.75rem 1rem;border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;font-size:.95rem}.shift-prompt-label{font-weight:600;color:var(--color-warning);margin-right:.5rem}.shift-prompt-value{color:#fff}.input-feedback-wrapper{position:relative;width:100%}.practice-textarea{width:100%;min-height:100px;background:#00000040;border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--text-main);padding:1rem;font-family:inherit;font-size:1rem;line-height:1.5;resize:vertical;outline:none;transition:border-color var(--transition-normal)}.practice-textarea:focus{border-color:var(--color-primary)}.diff-display-box{width:100%;min-height:100px;background:#0003;border:1px solid var(--glass-border-hover);border-radius:var(--border-radius-sm);padding:1rem;font-size:1rem;line-height:1.5;word-break:break-word}.step-actions{display:flex;justify-content:flex-end}.btn-secondary{background:#ffffff14;color:var(--text-main);border:1px solid var(--glass-border)}.btn-secondary:hover{background:#ffffff26}.recorder-panel{display:flex;flex-direction:column;gap:1.25rem;align-items:center;padding:1.5rem;background:#00000040;border-radius:var(--border-radius);border:1px solid var(--glass-border)}.recorder-status-display{font-size:1rem;font-weight:600}.recorder-error-banner{width:100%;padding:.75rem 1rem;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);border-radius:var(--border-radius-sm);font-size:.9rem;text-align:center;margin-top:.25rem}.audio-playback-wrapper{margin-top:.5rem;width:100%;display:flex;justify-content:center}.recording-audio-player{width:100%;max-width:320px;border-radius:30px}.recording-indicator-wrapper{display:flex;align-items:center;gap:.5rem}.recording-dot{width:12px;height:12px;background:var(--color-danger);border-radius:50%}.pulse{animation:pulse-red 1.2s infinite}.recorded-success-text{color:var(--color-success)}.recorder-idle-text{color:var(--text-muted)}.waveform-placeholder{display:flex;align-items:center;gap:4px;height:40px}.wave-bar{width:4px;background:var(--color-danger);border-radius:2px}.bar-1{height:15px;animation:soundWave .5s ease-in-out infinite alternate}.bar-2{height:35px;animation:soundWave .7s ease-in-out infinite alternate}.bar-3{height:20px;animation:soundWave .6s ease-in-out infinite alternate}.bar-4{height:40px;animation:soundWave .8s ease-in-out infinite alternate}.bar-5{height:25px;animation:soundWave .5s ease-in-out infinite alternate}.bar-6{height:35px;animation:soundWave .7s ease-in-out infinite alternate}.bar-7{height:15px;animation:soundWave .6s ease-in-out infinite alternate}.recorder-controls{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.btn-record{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);padding:.6rem 1.2rem;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;font-family:inherit;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;min-height:var(--min-tap-target)}.btn-record:hover{background:var(--color-danger);color:#fff;box-shadow:0 0 12px var(--color-danger-border)}.btn-stop-record{background:var(--color-danger);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 0 12px var(--color-danger-border);display:inline-flex;align-items:center;justify-content:center;min-height:var(--min-tap-target)}.btn-play-recording{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success);padding:.6rem 1.2rem;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;font-family:inherit;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;min-height:var(--min-tap-target)}.btn-play-recording:hover{background:var(--color-success);color:#fff}.btn-play-recording.playing{background:var(--color-success);color:#fff;box-shadow:0 0 10px var(--color-success-border)}.player-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;gap:1rem}.nav-prev-btn,.nav-next-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main);padding:.75rem 1.25rem;font-size:.95rem}.nav-prev-btn:hover:not(:disabled),.nav-next-btn:hover:not(:disabled){background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:#fff}.nav-prev-btn:disabled,.nav-next-btn:disabled{opacity:.4;cursor:not-allowed}.segment-indicators{display:flex;align-items:center;gap:0;overflow-x:auto;padding:.5rem 0;max-width:100%;scrollbar-width:none}.segment-indicators::-webkit-scrollbar{display:none}.indicator-dot{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;flex-shrink:0;transition:all var(--transition-normal);padding:0}.indicator-dot:after{content:"";width:10px;height:10px;border-radius:50%;background:#ffffff26;transition:all var(--transition-normal)}.indicator-dot:hover:after{background:#ffffff59}.indicator-dot.active:after{background:var(--color-primary);transform:scale(1.35);box-shadow:0 0 8px var(--color-primary-glow)}@keyframes pulse-red{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes pulse-border{0%{box-shadow:0 0 0 0 var(--color-primary-glow)}70%{box-shadow:0 0 0 10px #a855f700}to{box-shadow:0 0 #a855f700}}@keyframes soundWave{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}@media (max-width: 768px){.mode-cards-grid{grid-template-columns:1fr}.player-lesson-header{flex-direction:column;gap:.75rem;align-items:flex-start}.segment-indicators{max-width:50%}.nav-prev-btn,.nav-next-btn{padding:.6rem 1rem;font-size:.85rem}}@media (max-width: 600px){.player-navigation{flex-direction:column-reverse;gap:1rem;width:100%;align-items:stretch}.segment-indicators{max-width:100%;justify-content:center}.nav-prev-btn,.nav-next-btn{width:100%;height:var(--min-tap-target)}.recorder-controls{flex-direction:column;width:100%;align-items:stretch;gap:.75rem}.btn-record,.btn-stop-record,.btn-play-recording{width:100%}.practice-textarea,.diff-display-box{max-height:120px;overflow-y:auto}.glass-card{padding:var(--safe-padding)}}.lesson-selector-container{display:flex;flex-direction:column;gap:1.5rem;width:100%}.selector-header{margin-bottom:.5rem}.selector-subtitle{color:var(--text-muted);font-size:.95rem;margin-top:.25rem}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.lesson-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius);padding:1.5rem;text-align:left;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%;font-family:inherit;color:inherit}.lesson-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-4px);box-shadow:0 12px 40px #0006}.lesson-card.active{background:#894eef1f;border-color:var(--color-primary);box-shadow:0 0 24px #a855f733}.lesson-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:.5rem}.lesson-card-topic{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary)}.lesson-card-title{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:.75rem}.lesson-card-preview{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-bottom:1.5rem;flex-grow:1;font-style:italic}.lesson-card-meta{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);margin-bottom:1.25rem}.meta-item{display:flex;justify-content:space-between;font-size:.8rem}.meta-label{color:var(--text-muted)}.meta-value{font-weight:600;color:var(--text-main)}.lesson-card-footer{display:flex;justify-content:flex-end;margin-top:auto}.practice-btn{font-size:.85rem;font-weight:600;color:var(--color-primary);transition:color var(--transition-fast)}.lesson-card:hover .practice-btn{color:var(--color-primary-hover)}.lesson-card-indicator{position:absolute;bottom:0;left:0;height:4px;width:0;background:var(--color-primary);transition:width var(--transition-normal)}.lesson-card.active .lesson-card-indicator{width:100%}.btn-back{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-main);padding:.5rem 1rem;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition-fast);font-size:.9rem;margin-bottom:1rem;width:fit-content;min-height:var(--min-tap-target)}.btn-back:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translate(-2px)}.custom-loader-card{padding:var(--safe-padding);margin-bottom:2rem;width:100%}.loader-header{margin-bottom:1.5rem}.loader-header h3{font-size:1.25rem;color:var(--text-main);margin-bottom:.25rem}.loader-subtitle{font-size:.9rem;color:var(--text-muted)}.error-alert-box{display:flex;align-items:center;gap:.75rem;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--text-main);padding:.75rem 1rem;border-radius:var(--border-radius-sm);margin-bottom:1.5rem;font-size:.9rem}.custom-loader-form{display:flex;flex-direction:column;gap:1.25rem}.form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width: 600px){.form-group-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.form-input{width:100%;padding:.75rem 1rem;background:#00000040;border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--text-main);font-family:inherit;font-size:16px!important;outline:none;transition:border-color var(--transition-normal)}.form-input:focus{border-color:var(--color-primary)}.form-textarea{min-height:120px;max-height:250px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:.5rem}.badge-custom{background:#eab30826;color:#f8cb44;border:1px solid rgba(234,179,8,.3)}.btn-delete-lesson{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);padding:.35rem .75rem;border-radius:var(--border-radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:.25rem;min-height:var(--min-tap-target)}.btn-delete-lesson:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.selector-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.selector-info{flex:1;min-width:280px}.selector-actions{display:flex;align-items:center}.answer-mode-tabs{display:flex;gap:.5rem;margin:.75rem 0}.answer-tab-btn{flex:1;padding:.55rem 1rem;border-radius:var(--border-radius-sm);border:1px solid var(--glass-border);background:#ffffff0a;color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-height:44px}.answer-tab-btn:hover{background:#ffffff17;color:var(--text-main)}.answer-tab-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 0 12px #8b5cf659}.revealed-answer-box{background:#8b5cf614;border:1px solid rgba(139,92,246,.3);border-radius:var(--border-radius-sm);padding:1rem 1.25rem;margin-top:.25rem}.revealed-answer-label{display:block;font-size:.78rem;font-weight:700;color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.4rem}.revealed-answer-text{color:var(--text-main);font-size:1.05rem;line-height:1.6;margin:0}.top-indicators{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.25rem;margin:0 0 .5rem;padding:.15rem 0;max-width:100%}.indicator-dot.confident:after{background:var(--color-success)!important;box-shadow:0 0 6px var(--color-success)}.indicator-dot.confident{opacity:1}.practice-complete-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;gap:1rem;min-height:380px}.complete-icon{font-size:4rem;animation:float 2.5s ease-in-out infinite}.complete-title{font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--color-success),var(--color-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:0}.complete-subtitle{color:var(--text-muted);font-size:1rem;max-width:420px;line-height:1.7;margin-bottom:0}.complete-actions{margin-top:.5rem}.practice-player{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height) - 3rem);display:block!important;gap:0!important}.player-layout{display:grid;grid-template-columns:220px 1fr 180px;grid-template-areas:"sidebar-left center sidebar-right";align-items:start;padding:.5rem 0 2rem}.player-sidebar{position:sticky;top:calc(var(--header-height) + .5rem);display:flex;flex-direction:column;gap:1.25rem;padding:0 1rem}.left-sidebar{grid-area:sidebar-left;align-items:flex-start}.right-sidebar{grid-area:sidebar-right;align-items:flex-end}.player-center{grid-area:center;display:flex;flex-direction:column;gap:1.25rem}.player-mode-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;padding:.35rem .9rem;border-radius:20px;letter-spacing:.02em}.player-mode-badge.mode-study{background:#8b5cf61f;color:var(--color-primary);border:1px solid rgba(139,92,246,.25)}.player-mode-badge.mode-practice{background:#fbbf241a;color:#f6a823;border:1px solid rgba(251,191,36,.2)}.sidebar-level-badge{font-size:.6rem;font-weight:800;letter-spacing:.06em;padding:.1rem .3rem;border-radius:3px;line-height:1.5}.sidebar-lesson-info{display:flex;flex-direction:column;gap:.35rem;padding-top:.25rem}.sidebar-lesson-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--color-primary);text-transform:uppercase}.sidebar-lesson-title{font-size:1.1rem;font-weight:700;color:var(--text-main);margin:0;line-height:1.3}.sidebar-lesson-topic{font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.5}.sidebar-progress-pill{display:flex;flex-direction:column;align-items:center;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--border-radius);padding:.85rem 1rem;min-width:130px;text-align:center;gap:.15rem}.sidebar-progress-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dark)}.sidebar-progress-num{font-size:1.25rem;font-weight:700;color:var(--text-main)}.sidebar-progress-sub{font-size:.68rem;color:var(--text-muted)}.sidebar-practice-hint{font-size:.75rem;color:var(--text-dark);line-height:1.5;text-align:center;margin:0;max-width:150px}.btn-confident{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem 1rem;border-radius:var(--border-radius);border:2px solid var(--glass-border);background:#ffffff0a;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;min-width:130px;transition:all var(--transition-normal)}.btn-confident:hover{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.btn-confident.is-confident{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success);box-shadow:0 0 16px var(--color-success-border)}.confident-icon{font-size:1.5rem;line-height:1;transition:transform var(--transition-normal)}.btn-confident.is-confident .confident-icon{animation:pop .3s ease}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.confident-label{font-size:.78rem;font-weight:700;letter-spacing:.02em}.edge-nav-zone{position:fixed;top:var(--header-height);bottom:var(--footer-height);width:80px;z-index:200;display:flex;align-items:center;justify-content:center;pointer-events:none}.edge-nav-zone.left-zone{left:0}.edge-nav-zone.right-zone{right:0}.edge-nav-btn{pointer-events:auto;cursor:pointer;background:#12121d73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1.5px solid rgba(255,255,255,.08);border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;color:#fff9;padding:0;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;font-family:inherit;box-shadow:0 4px 16px #00000040}.left-zone .edge-nav-btn{margin-left:16px}.right-zone .edge-nav-btn{margin-right:16px}.left-zone .edge-nav-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 0 20px var(--color-primary-glow);transform:scale(1.1) translate(-4px)}.right-zone .edge-nav-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 0 20px var(--color-primary-glow);transform:scale(1.1) translate(4px)}.edge-nav-btn:active{transform:scale(.92)}.step-tag-speaking{background:#8b5cf626;color:var(--color-primary);border-color:#8b5cf64d;animation:pulse-border 1.5s ease-in-out infinite}.step-actions-row{display:flex;gap:.75rem;flex-wrap:wrap}@media (max-width: 900px){.player-layout{grid-template-columns:1fr;grid-template-areas:"sidebar-left" "center" "sidebar-right";padding:1rem 1rem 2rem}.player-sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:.75rem;padding:0}.left-sidebar,.right-sidebar{justify-content:flex-start;align-items:flex-start}.edge-nav-zone{display:none}.app-container:has(.player-view-container) .app-main{padding-left:1rem;padding-right:1rem}}@media (max-width: 720px){.app-header{height:auto;flex-wrap:wrap;padding:.6rem 1rem;gap:.5rem}.header-level-tabs{order:3;width:100%;justify-content:center}.header-logo-btn,.header-nav{flex-shrink:0}.top-indicators .indicator-dot{width:32px;height:32px}.top-indicators .indicator-dot:after{width:7px;height:7px}}.practice-textarea.is-correct{border-color:var(--color-success)!important;box-shadow:0 0 12px var(--color-success-border)!important;background:#22c35d12!important}.practice-textarea.is-incorrect{border-color:var(--color-danger)!important;box-shadow:0 0 12px var(--color-danger-border)!important;background:#df204012!important}.diff-label{font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--color-danger);letter-spacing:.05em;display:block;margin-top:.25rem}.auth-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000008c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.auth-modal{position:relative;width:100%;max-width:440px;padding:24px;border-radius:var(--border-radius);animation:modalScaleUp var(--transition-normal)}@keyframes modalScaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.auth-close-btn{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);font-size:24px;font-weight:300;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast)}.auth-close-btn:hover{background-color:#ffffff14;color:var(--text-main)}.auth-tabs{display:flex;margin-bottom:24px;border-bottom:1px solid var(--glass-border);gap:8px}.auth-tab-btn{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:inherit;font-size:16px;font-weight:600;padding:12px 8px;cursor:pointer;transition:all var(--transition-fast);min-height:44px}.auth-tab-btn:hover{color:var(--text-main)}.auth-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:14px;font-weight:600;color:var(--text-muted)}.auth-field input{padding:12px 14px;background-color:#00000040;border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);color:var(--text-main);font-family:inherit;font-size:16px;transition:all var(--transition-fast);width:100%}.auth-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.auth-submit-btn{margin-top:8px;padding:12px 24px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);font-size:16px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-height:44px;display:flex;align-items:center;justify-content:center}.auth-submit-btn:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:0 0 12px var(--color-primary-glow)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-alert{padding:12px 16px;border-radius:var(--border-radius-sm);font-size:14px;line-height:1.4;border:1px solid transparent}.auth-alert.error-state{background-color:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.auth-alert.success-state{background-color:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.profile-dashboard{width:100%;max-width:var(--max-width);margin:0 auto;display:flex;flex-direction:column;gap:32px;padding:16px 0}.profile-dashboard.restricted-state{align-items:center;text-align:center;padding:48px 32px;max-width:480px}.restricted-icon{font-size:48px;margin-bottom:16px}.restricted-title{font-size:28px;font-weight:600;margin-bottom:8px}.restricted-body{color:var(--text-muted);font-size:16px;margin-bottom:24px;line-height:1.5}.login-trigger-btn{min-height:44px;padding:12px 32px;font-size:16px;font-weight:600}.profile-header{display:flex;align-items:center;gap:24px;padding:24px;border-radius:var(--border-radius);position:relative}.profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--bg-gradient-end) 100%);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;border:2px solid var(--glass-border);box-shadow:0 4px 12px #00000026}.profile-user-info{flex:1;display:flex;flex-direction:column;gap:4px}.profile-username{font-size:20px;font-weight:600;color:var(--text-main)}.profile-email{color:var(--text-muted);font-size:14px}.profile-joined{color:var(--text-dark);font-size:13px;margin-top:4px}.profile-joined strong{color:var(--text-muted)}.destructive-btn{background-color:transparent;border:1px solid var(--color-danger-border);color:var(--color-danger);min-height:44px;padding:8px 20px;font-size:14px;font-weight:600;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast)}.destructive-btn:hover{background-color:var(--color-danger-bg);border-color:var(--color-danger);box-shadow:0 0 10px #ff4b4b26}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stat-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px;border-radius:var(--border-radius);transition:transform var(--transition-fast),border-color var(--transition-fast)}.stat-card:hover{transform:translateY(-4px);border-color:var(--glass-border-hover)}.stat-icon{font-size:36px;margin-bottom:12px}.stat-value{font-size:28px;font-weight:700;color:var(--text-main);margin-bottom:4px}.stat-card:hover .stat-value{color:var(--color-primary)}.stat-label{font-size:14px;color:var(--text-muted);font-weight:500}.header-signin-btn,.auth-trigger-btn{background-color:var(--color-primary)!important;color:#fff!important;border-radius:var(--border-radius-sm)!important;font-weight:600!important;padding:.5rem 1.25rem!important;min-height:38px!important}.header-signin-btn:hover,.auth-trigger-btn:hover{background-color:var(--color-primary-hover)!important;box-shadow:0 0 10px var(--color-primary-glow)!important}@media (max-width: 680px){.stats-grid{grid-template-columns:1fr;gap:16px}.profile-header{flex-direction:column;text-align:center;padding:32px 24px}.profile-avatar{margin-bottom:8px}.destructive-btn{width:100%;margin-top:16px}}.sync-status-indicator{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:var(--border-radius-sm);font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:600;border:1px solid transparent;transition:all var(--transition-fast);white-space:nowrap;margin-right:.5rem}.sync-status-indicator .sync-icon{font-size:.9rem;display:inline-block}@keyframes sync-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-status-indicator .sync-icon.spinner{animation:sync-spinner 2s linear infinite}.sync-status-synced{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.sync-status-syncing{background:#894eef26;color:var(--color-primary-hover);border-color:#894eef4d}.sync-status-offline{background:#ffffff0d;color:var(--text-muted);border-color:#ffffff1a}.sync-status-offline.sync-status-pending{background:#f59f0a26;color:var(--color-warning);border-color:#f59f0a4d}.toast-notification{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.75rem;background:#181d25d9;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--color-success-border);box-shadow:var(--glass-shadow);border-radius:var(--border-radius-sm);padding:.75rem 1.25rem;color:var(--text-main);z-index:1000;animation:toast-slide-in .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes toast-slide-in{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.toast-icon{font-size:1.2rem}.toast-text{font-size:.9rem;font-weight:500}.toast-close{background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:0;margin-left:.5rem;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;transition:all var(--transition-fast)}.toast-close:hover{background:#ffffff1a;color:var(--text-main)}
