: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);--header-bg: hsla(220, 20%, 7%, .6);--footer-bg: hsla(220, 20%, 7%, .3);--bottom-nav-bg: hsla(222, 24%, 7%, .95);--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);--logo-gradient: linear-gradient(135deg, #ffffff 0%, var(--text-muted) 100%);--level-tabs-bg: rgba(0, 0, 0, .25);--level-tab-hover-bg: rgba(255, 255, 255, .07);--input-bg: rgba(0, 0, 0, .25);--panel-bg-subtle: rgba(255, 255, 255, .03);--hover-bg: rgba(255, 255, 255, .05);--hover-bg-intense: rgba(255, 255, 255, .08);--scrollbar-track: rgba(255, 255, 255, .05);--scrollbar-thumb: rgba(255, 255, 255, .2);--indicator-dot-bg: rgba(255, 255, 255, .15);--indicator-dot-hover-bg: rgba(255, 255, 255, .35);color-scheme:dark}:root[data-theme=light]{--bg-gradient-start: hsl(210, 20%, 98%);--bg-gradient-end: hsl(210, 20%, 94%);--color-primary: hsl(262, 75%, 45%);--color-primary-hover: hsl(262, 75%, 35%);--color-primary-glow: hsla(262, 75%, 45%, .12);--color-success: hsl(142, 60%, 35%);--color-success-bg: hsla(142, 60%, 35%, .1);--color-success-border: hsla(142, 60%, 35%, .2);--color-danger: hsl(350, 65%, 45%);--color-danger-bg: hsla(350, 65%, 45%, .1);--color-danger-border: hsla(350, 65%, 45%, .2);--color-warning: hsl(35, 80%, 40%);--text-main: hsl(220, 15%, 15%);--text-muted: hsl(220, 10%, 42%);--text-dark: hsl(220, 10%, 55%);--glass-bg: hsla(220, 25%, 98%, .65);--glass-bg-hover: hsla(220, 25%, 93%, .75);--glass-border: hsla(220, 15%, 10%, .1);--glass-border-hover: hsla(220, 15%, 10%, .18);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .06);--header-bg: hsla(220, 25%, 98%, .6);--footer-bg: hsla(220, 25%, 98%, .3);--bottom-nav-bg: hsla(220, 25%, 98%, .95);--logo-gradient: linear-gradient(135deg, var(--text-main) 0%, var(--text-muted) 100%);--level-tabs-bg: rgba(0, 0, 0, .06);--level-tab-hover-bg: rgba(0, 0, 0, .04);--input-bg: rgba(0, 0, 0, .05);--panel-bg-subtle: rgba(0, 0, 0, .03);--hover-bg: rgba(0, 0, 0, .04);--hover-bg-intense: rgba(0, 0, 0, .06);--scrollbar-track: rgba(0, 0, 0, .05);--scrollbar-thumb: rgba(0, 0, 0, .15);--indicator-dot-bg: rgba(0, 0, 0, .15);--indicator-dot-hover-bg: rgba(0, 0, 0, .3);color-scheme:light}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg-gradient-start: hsl(210, 20%, 98%);--bg-gradient-end: hsl(210, 20%, 94%);--color-primary: hsl(262, 75%, 45%);--color-primary-hover: hsl(262, 75%, 35%);--color-primary-glow: hsla(262, 75%, 45%, .12);--color-success: hsl(142, 60%, 35%);--color-success-bg: hsla(142, 60%, 35%, .1);--color-success-border: hsla(142, 60%, 35%, .2);--color-danger: hsl(350, 65%, 45%);--color-danger-bg: hsla(350, 65%, 45%, .1);--color-danger-border: hsla(350, 65%, 45%, .2);--color-warning: hsl(35, 80%, 40%);--text-main: hsl(220, 15%, 15%);--text-muted: hsl(220, 10%, 42%);--text-dark: hsl(220, 10%, 55%);--glass-bg: hsla(220, 25%, 98%, .65);--glass-bg-hover: hsla(220, 25%, 93%, .75);--glass-border: hsla(220, 15%, 10%, .1);--glass-border-hover: hsla(220, 15%, 10%, .18);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .06);--header-bg: hsla(220, 25%, 98%, .6);--footer-bg: hsla(220, 25%, 98%, .3);--bottom-nav-bg: hsla(220, 25%, 98%, .95);--logo-gradient: linear-gradient(135deg, var(--text-main) 0%, var(--text-muted) 100%);--level-tabs-bg: rgba(0, 0, 0, .06);--level-tab-hover-bg: rgba(0, 0, 0, .04);--input-bg: rgba(0, 0, 0, .05);--panel-bg-subtle: rgba(0, 0, 0, .03);--hover-bg: rgba(0, 0, 0, .04);--hover-bg-intense: rgba(0, 0, 0, .06);--scrollbar-track: rgba(0, 0, 0, .05);--scrollbar-thumb: rgba(0, 0, 0, .15);--indicator-dot-bg: rgba(0, 0, 0, .15);--indicator-dot-hover-bg: rgba(0, 0, 0, .3);color-scheme:light}}.preload,.preload *{transition:none!important}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--glass-border);color:var(--text-muted);width:40px;height:40px;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle-btn:hover{color:var(--text-main);background:#ffffff0d;border-color:var(--glass-border-hover)}.theme-toggle-icon{width:18px;height:18px}*,*: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;background-color:var(--bg-gradient-start);transition:background-color .3s ease}input,textarea,select{font-size:16px!important}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.8}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-gradient-start);background-image: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;transition:background-color .3s ease,background-image .3s ease,color .3s ease,border-color .3s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-hover)}.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:var(--header-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);position:sticky;top:0;z-index:100;transition:background .3s ease,color .3s ease,border-color .3s ease}.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}h1.logo-text{margin:0;padding:0;font-size:inherit;font-weight:inherit;font-family:inherit;line-height:inherit;color:inherit;display:inline-block}.header-logo-btn .logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;background:var(--logo-gradient);-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:var(--level-tabs-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);padding:.25rem;flex-shrink:0;transition:background var(--transition-normal)}.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:var(--level-tab-hover-bg)}.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-inline-start:0;padding-inline-end: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:var(--footer-bg);transition:background .3s ease,color .3s ease,border-color .3s ease}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:var(--hover-bg)}.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-container{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.app-header{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-template-areas:"logo sync" "tabs tabs";height:auto;min-height:calc(96px + env(safe-area-inset-top));padding-top:calc(.75rem + env(safe-area-inset-top));padding-bottom:.5rem;padding-inline-start:1rem;padding-inline-end:1rem;gap:.5rem}.header-logo-btn{grid-area:logo;justify-self:start;align-self:center;gap:.5rem}.logo-text{font-size:1rem}.header-level-tabs{grid-area:tabs;max-width:100%;width:100%;display:flex;justify-content:space-between;overflow-x:visible;white-space:normal;background:var(--level-tabs-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);padding:.25rem;transition:background var(--transition-normal)}.level-tab-btn{flex:1;justify-content:center;padding:.25rem .5rem;font-size:.75rem;min-height:32px;white-space:nowrap}.level-tab-label{font-size:.75rem}.header-nav{grid-area:sync;justify-self:end;align-self:center}.header-nav .nav-btn{display:none!important}.sync-status-indicator{margin-inline-end:0;padding:.25rem .5rem;font-size:.75rem}.app-main{padding:1rem 1rem 2rem}.glass-card{padding:1.25rem}h2{font-size:1.4rem}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom));background:var(--bottom-nav-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-border);display:flex;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom);z-index:100;transition:background .3s ease,color .3s ease,border-color .3s ease}.bottom-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:600;gap:2px;height:100%;width:100%;transition:color var(--transition-fast);padding:4px 0;text-decoration:none}.bottom-nav-btn:hover{color:var(--text-main)}.bottom-nav-btn.active{color:var(--color-primary-hover)}.bottom-nav-icon{font-size:1.2rem;transition:transform var(--transition-fast)}.bottom-nav-btn.active .bottom-nav-icon{transform:scale(1.1)}.lessons-grid{grid-template-columns:1fr;gap:1rem}.lesson-card{padding:1.25rem}.lesson-card-title{font-size:1.15rem;margin-bottom:.5rem}.lesson-card-preview{font-size:.8rem;margin-bottom:1rem}.selector-header{flex-direction:column;align-items:stretch;gap:1rem}.selector-actions .btn{width:100%}.player-layout{grid-template-columns:1fr;grid-template-areas:"sidebar-left" "center" "sidebar-right";padding:1rem 0 2rem}.player-sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:.75rem;padding:0 1rem}.left-sidebar{display:flex;flex-direction:column!important;align-items:flex-start!important;gap:.5rem;margin-bottom:.5rem}.right-sidebar{display:flex;flex-direction:column!important;align-items:stretch!important;gap:.75rem;width:100%!important;margin-top:.5rem;padding:0 1rem!important}.sidebar-progress-pill{align-self:center}.btn-audio,.btn-confident,.btn-record,.btn-stop-record,.recorder-controls .btn,.step-actions .btn,.step-actions-row .btn,.edge-nav-btn{min-height:56px!important;padding:.75rem 1.5rem!important;font-size:1rem!important}.btn-confident{flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:.5rem!important;width:100%!important}.confident-icon{font-size:1.2rem!important}.recorder-controls{width:100%;display:flex;flex-direction:column}.recorder-controls .btn{width:100%}}.btn-refresh{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#ffffff0f;border:1px solid var(--glass-border);cursor:pointer;font-size:.95rem;transition:all var(--transition-fast);padding:0}.btn-refresh:hover{background:var(--color-primary-glow);border-color:var(--color-primary)}.btn-refresh.loading{animation:spin 1s linear infinite;cursor:not-allowed;opacity:.7}.lessons-loading-bar{width:100%;height:4px;background:#ffffff0d;position:relative;overflow:hidden;border-radius:2px;margin-bottom:1.5rem}.lessons-loading-bar:after{content:"";position:absolute;left:0;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);animation:slide-loading 1.5s infinite ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slide-loading{0%{left:-40%}to{left:100%}}.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:var(--text-main)}.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:var(--text-main);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:var(--panel-bg-subtle);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;transition:background var(--transition-normal)}.shift-prompt-label{font-weight:600;color:var(--color-warning);margin-inline-end:.5rem}.shift-prompt-value{color:var(--text-main)}.input-feedback-wrapper{position:relative;width:100%}.practice-textarea{width:100%;min-height:100px;background:var(--input-bg);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);overflow-y:auto;overflow-x:hidden}.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:var(--input-bg);border-radius:var(--border-radius);border:1px solid var(--glass-border);transition:background var(--transition-normal)}.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:var(--text-main)}.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:var(--indicator-dot-bg);transition:all var(--transition-normal)}.indicator-dot:hover:after{background:var(--indicator-dot-hover-bg)}.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:var(--text-main);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:var(--input-bg);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),background 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-inline-start:16px}.right-zone .edge-nav-btn{margin-inline-end: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-inline-start:1rem;padding-inline-end: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;inset: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);background:var(--bg-gradient-start);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.auth-modal:hover{background:var(--bg-gradient-start)!important;border-color:var(--glass-border)!important}@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:var(--input-bg);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-inline-end:.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-inline-start:.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)}@media(max-width:480px){.auth-overlay{padding:0!important}.auth-modal{max-width:100%!important;height:100vh!important;min-height:100vh!important;border-radius:0!important;padding:calc(64px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow-y:auto!important}.auth-close-btn{position:fixed!important;top:calc(16px + env(safe-area-inset-top))!important;right:16px!important;z-index:1001!important}}.language-selector-container{display:inline-flex;align-items:center;gap:.5rem;background:var(--input-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);padding:.25rem .5rem;transition:all var(--transition-normal);color:var(--text-main);position:relative;height:38px}.language-selector-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-shadow)}.language-selector-container .lang-icon{font-size:1rem;opacity:.8}.language-select{background:transparent;border:none;color:var(--text-main);font-size:.875rem;font-weight:500;outline:none;cursor:pointer;padding-inline-end:1.25rem;appearance:none;-webkit-appearance:none;position:relative;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;background-size:.8rem}.language-select option{background:var(--card-bg);color:var(--text-main)}.desktop-only{display:inline-flex}.mobile-only{display:none}.mobile-settings-bar{display:none;padding:.5rem 1rem;background:var(--bottom-nav-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-border);justify-content:center;align-items:center;position:fixed;bottom:calc(60px + env(safe-area-inset-bottom));left:0;right:0;z-index:99}.mobile-settings-bar .language-selector-container{width:100%;justify-content:center}.mobile-settings-bar .language-select{width:auto;text-align:center}[dir=rtl] .rtl-flip{transform:scaleX(-1)}@media(max-width:768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.app-container{padding-bottom:calc(105px + env(safe-area-inset-bottom))!important}}.pwa-install-banner{background:#0f172acc;border-bottom:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;gap:1rem;z-index:101;position:relative;animation:fadeIn var(--transition-normal) forwards}@media(max-width:768px){.pwa-install-banner{flex-direction:column;align-items:stretch;padding:1rem}}.pwa-banner-content{display:flex;align-items:center;gap:.75rem}.pwa-banner-icon{font-size:1.25rem}.pwa-banner-text{font-size:.9rem;color:var(--text-main);font-weight:500}.pwa-banner-actions{display:flex;gap:.5rem}@media(max-width:768px){.pwa-banner-actions{margin-top:.5rem;justify-content:flex-end}}.pwa-btn{padding:.4rem 1rem;border-radius:var(--border-radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;border:none;min-height:36px;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.pwa-install-btn{background:var(--color-primary);color:#fff}.pwa-install-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.pwa-dismiss-btn{background:#ffffff14;border:1px solid var(--glass-border);color:var(--text-muted)}.pwa-dismiss-btn:hover{background:#ffffff26;color:var(--text-main)}.toast-notification.update-toast{background:#0d1423e6;border:1px solid var(--color-primary);box-shadow:0 4px 20px var(--color-primary-glow);bottom:80px}@media(max-width:768px){.toast-notification.update-toast{bottom:calc(120px + env(safe-area-inset-bottom));left:1rem;right:1rem;width:auto;max-width:none}}.toast-action-btn{background:var(--color-primary);color:#fff;border:none;padding:.35rem .85rem;border-radius:var(--border-radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;margin-inline-start:1rem;transition:background var(--transition-fast)}.toast-action-btn:hover{background:var(--color-primary-hover)}.pwa-ios-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;justify-content:center;align-items:flex-end}.pwa-ios-modal{background:#0d121f;background-image:linear-gradient(to bottom,rgba(255,255,255,.02),transparent);border:1px solid var(--glass-border);border-top-left-radius:20px;border-top-right-radius:20px;width:100%;max-width:500px;padding:2rem;box-shadow:0 -10px 30px #00000080;animation:slideUp .3s cubic-bezier(.1,.76,.55,.94) forwards;display:flex;flex-direction:column;gap:1.5rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom))}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-ios-modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:.75rem}.pwa-ios-modal-header h3{font-size:1.25rem;font-weight:700;color:var(--text-main);margin:0}.pwa-ios-close-btn{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.pwa-ios-close-btn:hover{background:#ffffff0d;color:var(--text-main)}.pwa-ios-modal-body{display:flex;flex-direction:column;gap:1rem}.pwa-ios-instruction{font-size:.95rem;color:var(--text-main);margin:0;line-height:1.5}.pwa-ios-icon-guide{display:flex;justify-content:center;align-items:center;background:#ffffff08;border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);padding:.75rem;width:fit-content;align-self:center;box-shadow:inset 0 2px 4px #0003}.pwa-ios-share-icon,.pwa-ios-add-icon{font-size:1.5rem}.pwa-ios-action-btn{background:#ffffff0f;color:var(--text-main);border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);padding:.75rem;font-size:1rem;font-weight:600;cursor:pointer;min-height:48px;width:100%;transition:all var(--transition-fast)}.pwa-ios-action-btn:hover{background:#ffffff26;border-color:var(--glass-border-hover)}.sync-status-indicator.sync-status-offline{background:#ef44441a!important;border-color:#ef444433!important;color:#ef4444!important}.sync-status-offline .sync-icon{animation:pulse-offline 2s infinite ease-in-out}@keyframes pulse-offline{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}
