@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{background:var(--surface)}body{background:var(--bg)}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}input,textarea,[contenteditable=true],[contenteditable=plaintext-only]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}:root{--primary-h: 200;--primary-s: 50%;--primary-l: 65%;--primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary--dark: hsl(var(--primary-h), var(--primary-s), 55%);--primary--light: hsl(var(--primary-h), 45%, 88%);--bg-h: 210;--bg-s: 20%;--bg-l: 12%;--bg: hsl(var(--bg-h), var(--bg-s), var(--bg-l));--surface: hsl(var(--bg-h), var(--bg-s), 18%);--surface--elevated: hsl(var(--bg-h), var(--bg-s), 22%);--surface-hover: hsl(var(--bg-h), var(--bg-s), 25%);--accent-h: 35;--accent-s: 60%;--accent-l: 55%;--accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--accent--dark: hsl(var(--accent-h), var(--accent-s), 45%);--text--primary: hsl(210, 15%, 85%);--text--secondary: hsl(210, 15%, 60%);--border: hsl(210, 15%, 30%);--error: hsl(5, 75%, 60%);--success: hsl(120, 45%, 55%);--level-a1: hsl(200, 45%, 55%);--level-a2: hsl(220, 40%, 55%);--level-b1: hsl(240, 35%, 60%);--level-b2: hsl(280, 40%, 55%);--level-c1: hsl(320, 45%, 50%);--level-c2: hsl(350, 50%, 50%);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}html{overflow-x:hidden;overflow-y:visible;width:100%;max-width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg);color:var(--text--primary);margin:0 auto;max-width:375px;box-shadow:0 0 0 1px #2b333b;overflow-x:hidden}.mockup-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg);color:var(--text--primary);width:100%;max-width:100%;min-height:100vh;position:relative;overflow-x:hidden;overflow-y:visible;-webkit-overflow-scrolling:touch}.page{width:100%;max-width:375px;margin:0 auto}body.body--with-bottom-nav,.body--with-bottom-nav{padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}body.body--centered,.mockup-container .body--centered{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;max-width:none;box-shadow:none;background:var(--bg)}@media(min-width:768px){body.body--centered,.mockup-container .body--centered{box-shadow:inset 0 0 0 1px #2b333b}}body.body--step-page{display:flex;flex-direction:column;height:100vh;touch-action:pan-y}body.body--step-page .app-bar,body.body--step-page .progress{flex-shrink:0}body.body--step-page .content{flex:1;overflow-y:auto;padding:24px 16px 100px}body.body--step-page .action-bar{flex-shrink:0}body.body--generation{display:flex;flex-direction:column;height:100vh;touch-action:pan-y}body.body--generation .app-bar{flex-shrink:0}body.body--generation .content{flex:1;overflow-y:auto;padding:24px 16px calc(120px + env(safe-area-inset-bottom,0));display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0}body.body--generation .content>div:not(.hidden){display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:380px}body.body--index{padding:40px 20px;max-width:1200px}.app-bar{background:var(--surface);border-bottom:1px solid var(--border);padding:12px;padding-top:calc(12px + env(safe-area-inset-top,0));display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;position:sticky;top:0;z-index:var(--z-sticky);min-height:56px;width:100%;box-sizing:border-box}.app-bar--primary{background:var(--primary);color:#fff;border-bottom:none}.app-bar__title{font-size:18px;font-weight:600;text-align:center;grid-column:2}.app-bar__page-title,.app-bar__greeting{font-size:20px;font-weight:600;text-align:center;grid-column:2}.app-bar__step{font-size:14px;color:var(--text--secondary);font-weight:500}.app-bar__btn-back{width:44px;height:44px;background:transparent;border:none;color:var(--primary);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;padding:8px;min-height:44px;min-width:44px}.app-bar--primary .app-bar__btn-back{color:#fff}.app-bar__btn-back:active{background:var(--surface--elevated)}.app-bar__btn-more,.app-bar__btn-filter{background:none;border:none;font-size:20px;cursor:pointer;padding:8px;min-height:44px;min-width:44px;color:var(--text--primary)}.app-bar--primary .app-bar__btn-more{color:#fff}.app-bar__avatar{width:44px;height:44px;border-radius:50%;background:var(--primary--light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}.progress{background:var(--surface);padding:0 16px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.progress__bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress__bar--inline{height:6px;border-radius:3px;margin-bottom:12px}.progress__fill{height:100%;background:var(--accent);transition:width .3s ease;width:0%}.progress__fill--step-1{width:33.33%}.progress__fill--step-2{width:66.66%}.progress__fill--step-3{width:100%}.progress__fill--25{width:25%}.progress__fill--40{width:40%}.progress__fill--60{width:60%}.progress__fill--75{width:75%}.content{padding:16px}.content--with-bottom-nav{padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}.content--with-action-bar{padding-bottom:calc(90px + env(safe-area-inset-bottom,0))}.nav{position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom,0));max-width:100%;margin:0 auto;background:var(--surface);border-top:1px solid var(--border);display:flex;z-index:var(--z-fixed);justify-content:space-around;align-items:flex-start;padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0)}.nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--text--secondary);padding:8px;position:relative;min-height:44px}.nav__item--active{color:var(--primary)}.nav__item--active:after{content:"";position:absolute;top:0;left:20%;right:20%;height:3px;background:var(--accent);border-radius:0 0 3px 3px}.nav__icon{font-size:24px;margin-bottom:2px}.nav__label{font-size:11px;font-weight:500}.action-bar{position:fixed;bottom:0;left:0;right:0;max-width:100%;margin:0 auto;background:var(--surface);border-top:1px solid var(--border);padding:16px;display:flex;z-index:var(--z-fixed);gap:12px;flex-shrink:0}.action-bar .btn{flex:1}.lesson-action-bar{position:fixed;bottom:0;left:0;right:0;max-width:100%;margin:0 auto;background:var(--bg);border-top:1px solid var(--border);padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));display:flex;z-index:var(--z-fixed);flex-direction:column;align-items:center;gap:12px;box-shadow:0 -4px 12px #0000004d}.lesson-action-bar .self-assessment__buttons{width:100%;max-width:380px}.fab{position:fixed;bottom:80px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:28px;z-index:calc(var(--z-fixed) + 1);cursor:pointer;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:center;z-index:50}.fab:active{transform:scale(.95)}/*!* Modifier: Slower FAB (bottom right, above action bar) *!*/.fab--slower{bottom:104px}.section,.section__header{margin-bottom:24px}.section__title{font-size:18px;font-weight:600;margin-bottom:16px}.section__title--large{font-size:24px;font-weight:700;margin-bottom:8px}.section__description{font-size:15px;color:var(--text--secondary);line-height:1.5}.btn{height:48px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transform:scale(1);transition:transform .15s ease-out,background .2s ease-out}.btn--primary{width:100%;height:48px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transform:scale(1);transition:transform .15s ease-out,background .2s ease-out}.btn--primary:hover{background:var(--accent--dark);transform:scale(1.02)}.btn--primary:active{transform:scale(.98);transition-duration:50ms}.btn--primary:disabled{background:var(--border);cursor:not-allowed;opacity:.6;transform:none}.btn--secondary{background:transparent;border:2px solid var(--border);color:var(--text--primary);display:flex;align-items:center;justify-content:center;gap:8px}.btn--secondary:active{background:var(--surface--elevated)}.btn--resume,.btn--cta{width:100%;height:44px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.btn--resume:active,.btn--cta:active{transform:scale(.98)}.btn--continue{width:100%;max-width:280px;height:48px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;flex-shrink:0}.btn--continue:active{transform:scale(.98)}.btn--add{width:48px;height:48px;background:var(--primary);border:none;border-radius:8px;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn--add:active{transform:scale(.95);background:var(--primary--dark)}.btn--add:disabled{opacity:.5;cursor:not-allowed}.form__logo{text-align:center;margin-bottom:48px}.form__logo-image{width:128px;height:128px;margin:0 auto 24px;display:block;border-radius:20%;object-fit:contain;box-shadow:0 4px 12px #00000026;transition:transform .3s ease,box-shadow .3s ease}.form__logo-image:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0003}.form__app-name{font-size:32px;font-weight:700;color:var(--primary);margin-bottom:8px}.form__app-subtitle{font-size:16px;color:var(--text--secondary);font-weight:400}.form__card{background:var(--surface);border-radius:16px;padding:24px;width:100%;max-width:400px;box-shadow:0 2px 8px #0000004d;border:1px solid var(--border)}.form__title{font-size:24px;font-weight:600;margin-bottom:24px;text-align:center}.form__group{margin-bottom:24px}.form__label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text--primary)}.form__label-hint{display:block;font-size:12px;font-weight:400;color:var(--text--secondary);margin-top:4px}.form__select{width:100%;padding:12px;font-size:16px;border:2px solid var(--border);border-radius:8px;background-color:var(--surface--elevated);color:var(--text--primary);cursor:pointer;transition:border-color .2s ease;font-family:inherit}.form__select:focus{outline:none;border-color:var(--primary)}.form__input{width:100%;height:48px;padding:12px 16px;font-size:16px;background:var(--surface--elevated);color:var(--text--primary);border:2px solid var(--border);border-radius:8px;transition:border-color .2s;font-family:inherit}.form__input:focus{outline:none;border-color:var(--primary)}.form__input--error{border-color:var(--error)}.form__input::placeholder{color:var(--text--secondary);opacity:.6}.form__input-wrapper{display:flex;gap:8px}.form__input-wrapper .form__input{flex:1;padding:0 16px;width:auto}.form__error{color:var(--error);font-size:14px;margin-top:6px;padding:.5rem .75rem;background:#fbe9e9;border-left:4px solid hsl(0,70%,50%);border-radius:4px;display:none}.form__error--visible{display:block;animation:slideInFade .3s ease-out}.form__helper{font-size:13px;color:var(--text--secondary);margin-top:8px}.form__password-wrapper{position:relative}.form__password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text--secondary);font-size:14px;cursor:pointer;padding:4px 8px;min-height:44px}.form__divider{display:flex;align-items:center;margin:24px 0;gap:16px}.form__divider:before,.form__divider:after{content:"";flex:1;height:1px;background:var(--border)}.form__divider span{font-size:14px;color:var(--text--secondary);text-transform:lowercase}.google-signin-wrapper{width:100%;display:flex;flex-direction:column;align-items:center}.google-signin-button{width:100%;display:flex;justify-content:center}.google-signin-button>div{width:100%!important}.google-signin-loading{font-size:14px;color:var(--text--secondary);margin-bottom:8px}.form__footer{text-align:center;margin-top:24px}.form__footer p{font-size:14px;color:var(--text--secondary)}.form__footer a{color:var(--primary);text-decoration:none;font-weight:600}.form__footer a:hover{text-decoration:underline}.card{background:var(--surface);border-radius:12px;padding:16px;box-shadow:0 2px 4px #0000004d;border:1px solid var(--border);margin-bottom:12px;cursor:pointer;transition:all .2s;text-decoration:none;color:var(--text--primary);display:block}.card:active{transform:scale(.98);background:var(--surface--elevated)}.card--stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px}.card--action{text-align:center;min-height:100px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px}.card--action:active{transform:scale(.95)}.card--action.card--primary{background:var(--primary);color:#fff}.card--mockup{padding:24px;text-decoration:none;display:flex;flex-direction:column}.card--mockup:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0006;border-color:var(--primary)}.card--level{border:2px solid var(--border);padding:20px 16px;text-align:center;min-height:120px;justify-content:center;gap:8px}.card--level:active{transform:scale(.97)}.card--quick-start .level-badge{font-size:24px;margin-bottom:8px}.card--quick-start .card__subtitle{font-size:12px;color:var(--text--secondary);text-transform:uppercase;letter-spacing:.5px}.card--level.card--selected{border-color:var(--accent);background:var(--surface--elevated);box-shadow:0 0 0 2px var(--accent)}.card--level.card--expanded{border-color:var(--accent);background:var(--surface--elevated);box-shadow:0 0 0 2px var(--accent);min-height:auto;padding-bottom:24px}.card__expanded-content{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);text-align:left}.card__expanded-content .card__description{color:var(--text--secondary);font-size:14px;line-height:1.5;margin:0}.card--grammar{border:2px solid var(--border);display:flex;align-items:flex-start;gap:12px}.card--grammar:active{transform:scale(.98)}.card--grammar.card--selected{border-color:var(--accent);background:var(--surface--elevated)}.card--dialogue{transition:all .3s;position:relative;overflow:hidden}.card--dialogue.card--active{background:var(--surface--elevated)}.card--dialogue.card--active:before{content:"";position:absolute;left:1px;top:1px;bottom:1px;width:4px;background:var(--accent);border-radius:11px 0 0 11px}.card--dialogue.card--playing{animation:cardPulse 2s ease-in-out infinite}.card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.card__title{font-size:16px;font-weight:600;flex:1;margin-right:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__meta{display:flex;gap:16px;font-size:14px;color:var(--text--secondary);margin-bottom:12px}.card__meta-item{display:flex;align-items:center;gap:4px}.card__grammar{font-size:13px;color:var(--text--secondary);margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__footer{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text--secondary)}.card__checkbox{width:24px;height:24px;border:2px solid var(--border);border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;transition:all .2s}.card--grammar.card--selected .card__checkbox{background:var(--accent);border-color:var(--accent)}.card__content{flex:1}.card__action-icon{font-size:32px;margin-bottom:8px}.card__action-label{font-size:14px;font-weight:600}.card__mockup-number{font-size:14px;color:var(--accent);font-weight:700;margin-bottom:8px}.card__mockup-title{font-size:20px;font-weight:600;margin-bottom:12px}.card__mockup-description{font-size:14px;color:var(--text--secondary);line-height:1.5;margin-bottom:16px;flex:1}.card__mockup-features{list-style:none;padding:0;margin-bottom:16px}.card__mockup-features li{font-size:13px;color:var(--text--secondary);padding:4px 0 4px 20px;position:relative}.card__mockup-features li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.card__text-estonian{font-size:18px;font-weight:500;line-height:1.5;margin-bottom:12px;color:var(--text--primary)}.card__text-translation{font-size:15px;color:var(--text--secondary);line-height:1.4;margin-bottom:12px;padding-left:8px;border-left:2px solid var(--border)}.card__stars{display:flex;align-items:center;gap:2px}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{text-align:center}.stat__value{font-size:28px;font-weight:700;color:var(--accent);display:block;margin-bottom:4px}.stat__icon{font-size:20px;margin-bottom:8px;display:block}.stat__label{font-size:12px;color:var(--text--secondary);font-weight:500}.level-badge{background:var(--level-a1);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.level-badge--a1{background:var(--level-a1)}.level-badge--a2{background:var(--level-a2)}.level-badge--b1{background:var(--level-b1)}.level-badge--b2{background:var(--level-b2)}.level-badge--c1{background:var(--level-c1)}.level-badge--c2{background:var(--level-c2)}.level-badge--large{font-size:20px;font-weight:700;padding:8px 16px;border-radius:8px;margin-bottom:4px}.level-badge__name{font-size:13px;font-weight:600;margin-bottom:4px}.level-badge__description{font-size:11px;color:var(--text--secondary);line-height:1.4}.level-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.chip{background:var(--surface--elevated);color:var(--primary);padding:6px 12px;border-radius:16px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;border:1px solid var(--primary)}.chip:active{background:var(--primary);color:var(--bg)}.chip--word{background:var(--surface--elevated);border:2px solid var(--primary);border-radius:20px;padding:8px 16px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text--primary)}.chip--suggested{background:var(--surface);border:2px solid var(--border);border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500;color:var(--text--primary);transition:all .2s}.chip--suggested:active{transform:scale(.95);border-color:var(--primary)}.chip__btn-remove{background:transparent;border:none;color:var(--text--secondary);font-size:16px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%}.chip__btn-remove:active{background:var(--border)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips--words{min-height:60px;margin-bottom:24px}.chips--suggested-section{margin-top:32px}.chips__title{font-size:16px;font-weight:600;margin-bottom:12px}.audio-player{background:var(--surface);padding:20px;box-shadow:0 2px 8px #0000004d;border-bottom:1px solid var(--border);position:sticky;top:56px;z-index:calc(var(--z-sticky) - 1)}.audio-player__waveform{height:60px;display:flex;align-items:center;gap:2px;margin-bottom:16px;cursor:pointer}.audio-player__waveform-bar{flex:1;background:var(--border);border-radius:2px;transition:background .2s;min-height:10px}.audio-player__waveform-bar--played{background:var(--primary)}.audio-player__progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:13px;color:var(--text--secondary)}.audio-player__segment-indicator{font-weight:600;color:var(--primary)}.audio-player__controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.audio-player__playback{display:flex;justify-content:center;align-items:center;gap:24px;grid-column:2}.audio-player__btn-control{background:none;border:none;color:var(--primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s}.audio-player__btn-control:active{transform:scale(.95)}.audio-player__btn-control--small{width:36px;height:36px;font-size:20px}.audio-player__btn-control--large{width:56px;height:56px;background:var(--accent);border-radius:50%;color:#fff;font-size:28px}.audio-player__speed{display:flex;align-items:center;justify-content:flex-end;grid-column:3}.audio-player__btn-speed{background:none;border:1px solid var(--border);color:var(--text--secondary);padding:6px 12px;border-radius:16px;font-size:13px;font-weight:600;cursor:pointer;min-height:32px}.audio-player__btn-speed--active{background:var(--surface--elevated);color:var(--primary);border-color:var(--primary)}.dialogue{background:var(--bg);padding:16px;min-height:calc(100vh - 300px)}.lesson-detail{min-height:100vh;background:var(--bg);padding:20px;max-width:1200px;margin:0 auto}.lesson-header{background:var(--surface);border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid var(--border)}.lesson-header h1{font-size:28px;font-weight:700;color:var(--text--primary);margin-bottom:16px}.lesson-meta{display:flex;gap:24px;margin-bottom:20px;flex-wrap:wrap}.lesson-meta span{font-size:14px;color:var(--text--secondary)}.lesson-actions{display:flex;gap:12px;flex-wrap:wrap}.lesson-actions button{padding:10px 20px;font-size:14px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s;min-height:44px}.lesson-actions button:first-child{background:var(--surface--elevated);color:var(--text--primary);border:2px solid var(--border)}.lesson-actions button:first-child:hover{background:var(--border)}.btn-danger{background:var(--error)!important;color:#fff!important}.btn-danger:hover{background:#df3020!important}.audio-controls{background:var(--surface);border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid var(--border)}.audio-controls h2{font-size:20px;font-weight:600;color:var(--text--primary);margin-bottom:16px}.audio-buttons{display:flex;gap:12px;flex-wrap:wrap}.audio-buttons button{padding:12px 24px;font-size:15px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s;background:var(--accent);color:#fff;min-height:44px}.audio-buttons button:hover{background:var(--accent--dark);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.audio-buttons button.playing{animation:audioPulse 1.5s ease-in-out infinite}.btn-secondary{background:var(--surface--elevated)!important;color:var(--text--primary)!important;border:2px solid var(--border)!important}.btn-secondary:hover{background:var(--border)!important}.warning{color:var(--accent);font-size:14px;margin-top:12px;padding:12px;background:#d198471a;border-radius:8px;border-left:3px solid var(--accent)}.dialogues{background:var(--surface);border-radius:12px;padding:24px;border:1px solid var(--border)}.dialogues h2{font-size:20px;font-weight:600;color:var(--text--primary);margin-bottom:20px}.dialogue-card{background:var(--surface--elevated);border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid var(--border);transition:all .2s}.dialogue-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #0000004d}.dialogue-card:last-child{margin-bottom:0}.dialogue-number{font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.dialogue-line{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px;background:var(--surface);border-radius:8px}.dialogue-line:last-child{margin-bottom:0}.dialogue-line.estonian{background:hsla(var(--primary-h),var(--primary-s),var(--primary-l),.05)}.line-content{flex:1;display:flex;flex-direction:column;gap:8px}.line-label{font-size:12px;font-weight:700;color:var(--text--secondary);text-transform:uppercase;letter-spacing:.5px}.line-text{font-size:16px;line-height:1.5;color:var(--text--primary)}.toggle-translation-btn{padding:8px 12px;background:var(--surface--elevated);border:2px solid var(--border);border-radius:6px;font-size:18px;cursor:pointer;transition:all .2s;align-self:flex-start;min-height:36px;min-width:36px}.toggle-translation-btn:hover{border-color:var(--primary);transform:scale(1.1)}.toggle-translation-btn:active{transform:scale(.95)}.play-btn{padding:10px 16px;background:var(--accent);border:none;border-radius:8px;font-size:20px;cursor:pointer;transition:all .2s;color:#fff;min-height:44px;min-width:44px;flex-shrink:0}.play-btn:hover{background:var(--accent--dark);transform:scale(1.05)}.play-btn:active{transform:scale(.95)}.play-btn.playing{animation:playPulse 1s ease-in-out infinite}.lesson-detail .loading,.lesson-detail .error{text-align:center;padding:40px 20px;font-size:16px;color:var(--text--secondary)}.lesson-detail .error{color:var(--error)}.lesson-state{display:none;width:100%;max-width:375px;margin:0 auto;box-sizing:border-box}.lesson-state--active{display:flex;flex-direction:column;gap:0}.lesson-intro{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;padding:0;text-align:center;width:100%;box-sizing:border-box}.lesson-intro__title{font-size:28px;font-weight:700;margin-bottom:32px;color:var(--text--primary)}.lesson-intro__stats{width:calc(100% - 32px);max-width:320px;background:var(--surface);border-radius:16px;padding:24px;margin:32px 16px;border:1px solid var(--border)}.lesson-intro__stat-item{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border)}.lesson-intro__stat-item:last-child{border-bottom:none}.lesson-intro__stat-icon{width:44px;height:44px;border-radius:50%;background:var(--surface--elevated);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--primary);flex-shrink:0}.lesson-intro__stat-content{flex:1;text-align:left}.lesson-intro__stat-label{font-size:14px;letter-spacing:.5px;color:var(--text--secondary);margin-bottom:4px}.lesson-intro__stat-value{font-size:18px;font-weight:600;color:var(--text--primary)}.lesson-intro__begin-btn{width:calc(100% - 32px);max-width:280px;height:56px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;margin:0 16px;transition:all .2s;min-height:56px}.lesson-intro__begin-btn:hover{background:var(--accent--dark);transform:translateY(-2px);box-shadow:0 8px 16px #0000004d}.lesson-intro__begin-btn:active{transform:translateY(0)}.lesson-text__native{font-size:22px;font-weight:500;line-height:1.5;text-align:center;margin-bottom:32px;color:var(--text--primary)}.lesson-text__estonian{font-size:20px;line-height:1.5;text-align:center;margin-bottom:32px;color:var(--text--secondary)}.lesson-text__estonian--blurred{filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none}.lesson-text__instruction{font-size:15px;text-align:center;color:var(--text--secondary);margin-bottom:32px;line-height:1.5}.lesson-controls{display:flex;justify-content:center;gap:12px;margin-top:24px}.playing-native{width:100%;box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh}.playing-native__content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;min-height:calc(100vh - 180px)}.playing-native__native-text{font-size:22px;font-weight:500;line-height:1.5;text-align:center;margin-bottom:32px;color:var(--text--primary)}.playing-native__estonian-text{font-size:20px;line-height:1.5;text-align:center;margin-bottom:32px;color:var(--text--secondary)}.playing-native__estonian-text--blurred{filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none}.playing-native__controls{display:flex;justify-content:center;margin-top:24px}.translation-timer{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 76px);padding:24px 16px;text-align:center;width:100%;box-sizing:border-box}.translation-timer__native-text{font-size:20px;font-weight:500;line-height:1.5;margin-bottom:48px;color:var(--text--primary)}.translation-timer__instruction{font-size:16px;color:var(--text--secondary);margin-bottom:32px}.translation-timer__timer{width:200px;height:200px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:48px;transition:background-color .5s ease;border:4px solid var(--border)}.translation-timer__timer--fast{background-color:#59c05933;border-color:var(--success)}.translation-timer__timer--moderate{background-color:#ffbf0033;border-color:#ffbf00}.translation-timer__timer--slow{background-color:#e6594c33;border-color:var(--error)}.translation-timer__time{font-size:48px;font-weight:700;font-family:monospace;margin-bottom:8px}.translation-timer__label{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.translation-timer__done-btn{width:100%;max-width:280px;height:56px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;min-height:56px}.translation-timer__done-btn:hover{background:var(--accent--dark);transform:translateY(-2px)}.translation-timer__done-btn:active{transform:translateY(0)}.playing-estonian{width:100%;box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh}.playing-estonian__content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;min-height:calc(100vh - 180px)}.playing-estonian__native-text{font-size:18px;font-weight:500;line-height:1.5;text-align:center;margin-bottom:24px;color:var(--text--secondary)}.playing-estonian__estonian-text{font-size:24px;font-weight:600;line-height:1.5;text-align:center;margin-bottom:32px;color:var(--text--primary);will-change:filter;transition:filter .1s linear}.playing-estonian__estonian-text--blurred{filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none}.playing-estonian__controls{display:flex;justify-content:center;gap:12px;margin-top:24px}.self-assessment{display:flex;flex-direction:column;align-items:center;min-height:100vh;width:100%;box-sizing:border-box}.self-assessment__content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;min-height:calc(100vh - 180px);gap:32px;width:100%}.self-assessment__texts{width:100%;max-width:380px}.self-assessment__native-text{font-size:16px;font-weight:500;line-height:1.5;text-align:center;margin-bottom:8px;color:var(--text--secondary)}.self-assessment__estonian-text{font-size:24px;font-weight:600;line-height:1.5;text-align:center;color:var(--text--primary);margin-top:16px}.self-assessment__prompt{font-size:20px;font-weight:600;margin-bottom:24px;text-align:center;color:var(--text--primary)}.self-assessment__buttons{display:flex;gap:12px;width:100%;max-width:380px}.self-assessment__btn{flex:1;height:56px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px}.self-assessment__btn--yes{background:var(--success);color:#fff;border:none}.self-assessment__btn--yes:hover{background:#3fa63f;transform:translateY(-2px)}.self-assessment__btn--no{background:var(--surface);color:var(--text--primary);border:2px solid var(--border)}.self-assessment__btn--no:hover{background:var(--surface--elevated)}.self-assessment__btn:active{transform:translateY(0)}.self-assessment__repeat-btn{background:transparent;border:1px solid var(--border);color:var(--text--secondary);padding:16px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:48px}.self-assessment__repeat-btn:hover{background:var(--surface--elevated)}.word-selection{display:flex;flex-direction:column;min-height:100vh;max-width:100%;box-sizing:border-box}.word-selection__content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;min-height:calc(100vh - 180px);width:100%}.word-selection__native-text{font-size:16px;font-weight:500;line-height:1.5;text-align:center;margin-bottom:32px;color:var(--text--secondary);padding-bottom:16px;border-bottom:2px solid var(--border)}.word-selection__chip-order{background:var(--surface);border:2px solid var(--border);border-radius:20px;padding:12px 20px;font-size:15px;font-weight:500;color:var(--text--primary);cursor:pointer;transition:all .2s;margin:0 auto 24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:calc(100% - 32px);width:auto;white-space:normal;text-align:center;flex-wrap:wrap}.word-selection__chip-order:active{transform:scale(.98)}.word-selection__chip-order--active{border-color:var(--accent);background:var(--surface--elevated);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.word-selection__words{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px;justify-content:center}.word-selection__word-chip{background:var(--surface);border:3px solid var(--success);border-radius:24px;padding:12px 20px;font-size:16px;font-weight:500;color:var(--text--primary);cursor:pointer;transition:all .2s;box-shadow:0 0 8px #4caf5066;min-height:48px}.word-selection__word-chip:active{transform:scale(.95)}.word-selection__word-chip--red{border-color:var(--error);box-shadow:0 0 8px #f4433666}.word-selection__next-btn{width:calc(100% - 32px);max-width:320px;height:56px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;box-sizing:border-box}.word-selection__next-btn:disabled{background:var(--border);cursor:not-allowed;opacity:.6}.word-selection__next-btn:not(:disabled):hover{background:var(--accent--dark);transform:translateY(-2px)}.word-selection__next-btn:active{transform:translateY(0)}.completion{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:32px 16px;text-align:center;width:100%;box-sizing:border-box}.completion__icon{width:120px;height:120px;border-radius:50%;background:var(--success);display:flex;align-items:center;justify-content:center;font-size:64px;color:#fff;margin-bottom:32px;animation:completionPop .6s cubic-bezier(.68,-.55,.265,1.55)}.completion__title{font-size:28px;font-weight:700;margin-bottom:16px;color:var(--text--primary)}.completion__subtitle{font-size:16px;color:var(--text--secondary);margin-bottom:32px}.completion__stats{width:100%;max-width:360px;background:var(--surface);border-radius:16px;padding:24px;margin-bottom:32px;border:1px solid var(--border)}.completion__stat-item{padding:12px 0;border-bottom:1px solid var(--border)}.completion__stat-item:last-child{border-bottom:none}.completion__stat-label{font-size:14px;color:var(--text--secondary);margin-bottom:4px}.completion__stat-value{font-size:20px;font-weight:600;color:var(--accent)}.completion__back-btn{width:100%;max-width:320px;height:56px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;min-height:56px}.completion__back-btn:hover{background:var(--primary--dark);transform:translateY(-2px)}.completion__back-btn:active{transform:translateY(0)}.completion__stars-header{display:flex;flex-direction:column;align-items:center;margin-bottom:16px}.completion__stars-earned{margin-bottom:16px;animation:starsSlideIn .5s ease-out}@keyframes starsSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.completion__star-details{width:100%;max-width:360px;background:var(--surface);border-radius:12px;padding:16px;margin-bottom:24px;border:1px solid var(--border)}.completion__star-line{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text--primary)}.completion__star-line:last-child{border-bottom:none}.completion__star-line i.fa-star{font-size:1.1rem}.completion__star-line--new{background:#f59e0b1a;border-radius:8px;margin:-2px -8px;padding:10px 8px}.completion__new-badge{background:var(--color-warning, #f59e0b);color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-left:auto;animation:newBadgePulse 1s ease-in-out infinite}@keyframes newBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.robot-avatar{position:relative;-webkit-user-select:none;user-select:none}.robot-avatar__svg{display:block}.robot-avatar__talking{animation:robot-talk .6s ease-in-out infinite}.circular-timer{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0}.circular-timer__wrapper{position:relative;display:inline-block}.circular-timer__svg{display:block}.circular-timer__progress{transition:stroke-dashoffset .3s linear,stroke .3s ease}.circular-timer__content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.circular-timer__time{font-size:.9rem;font-weight:600;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;line-height:1;letter-spacing:-.05em;transition:color .3s ease}.circular-timer__label{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-top:4px;transition:color .3s ease}.circular-timer__description{font-size:.875rem;color:var(--text--secondary);text-align:center}@media(max-width:375px){.circular-timer__time{font-size:.9rem}.circular-timer__label{font-size:.625rem}}.chat-bubble{position:relative;display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;padding:0 16px;animation:chat-bubble-fade-in .3s ease-out}.chat-bubble--left{flex-direction:row;justify-content:flex-start}.chat-bubble--right{flex-direction:row-reverse;justify-content:flex-start}.chat-bubble--left .chat-bubble-actions{margin-left:auto;margin-right:0}.chat-bubble--right .chat-bubble-actions{margin-right:auto;margin-left:0}.chat-bubble__message{max-width:65%;padding:16px 20px;border-radius:16px;box-shadow:0 2px 8px #00000026;position:relative;overflow:hidden}.chat-bubble__message--left{background:var(--surface--elevated);border-bottom-left-radius:4px;color:var(--text--primary)}.chat-bubble__message--right{background:var(--surface--elevated);border-bottom-right-radius:4px;color:var(--text--primary)}.chat-bubble__text{font-size:1.125rem;line-height:1.6;letter-spacing:.01em;transition:opacity .2s ease-out}.chat-bubble__text--peeking{text-shadow:0 0 10px rgba(100,150,255,.8),0 0 20px rgba(100,150,255,.5),0 0 30px rgba(100,150,255,.3);transition:text-shadow 1s ease}@media(max-width:375px){.chat-bubble{gap:8px;margin-bottom:16px;padding:0 12px}.chat-bubble__message{max-width:70%;padding:12px 16px}.chat-bubble__text{font-size:1rem}}.system-message{display:flex;justify-content:center;margin:32px 0}.system-message__badge{display:inline-block;padding:6px 16px;background:hsla(var(--bg-h),var(--bg-s),18%,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text--secondary);box-shadow:0 2px 8px #0000001a}@media(max-width:375px){.system-message{margin:24px 0}.system-message__badge{padding:4px 12px;font-size:.625rem}}.assessment-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;animation:modal-fade-in .2s ease-out;pointer-events:none}.assessment-modal--transparent{background:transparent}.assessment-modal__backdrop{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.assessment-modal__sheet{position:relative;width:100%;max-width:500px;margin:0 auto;background:var(--surface);border-top-left-radius:24px;border-top-right-radius:24px;padding:32px 24px;box-shadow:0 -4px 24px #0000004d;animation:modal-slide-up .3s ease-out;pointer-events:auto}.assessment-modal__title{text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text--secondary);margin-bottom:24px}.assessment-modal__buttons{display:grid;grid-template-columns:1fr 1fr;gap:16px}.assessment-modal__btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;border:2px solid transparent;border-radius:16px;background:var(--surface--elevated);color:var(--text--primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.assessment-modal__btn i{font-size:1.5rem}.assessment-modal__btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.assessment-modal__btn:active{transform:translateY(0)}.assessment-modal__btn:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.3)}.assessment-modal__btn--yes:hover{background:#39ac6326;border-color:#39ac63;color:#52e086}.assessment-modal__btn--no:hover{background:#e6594c26;border-color:#e6594c;color:#f47c71}@media(max-width:375px){.assessment-modal__sheet{padding:24px 16px}.assessment-modal__buttons{gap:12px}.assessment-modal__btn{padding:16px 12px;font-size:.8125rem}.assessment-modal__btn i{font-size:1.25rem}}.translation-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;animation:modal-fade-in .2s ease-out;pointer-events:none}.translation-modal--transparent{background:transparent}.translation-modal__sheet{position:relative;width:100%;max-width:500px;margin:0 auto;background:var(--surface);border-top-left-radius:24px;border-top-right-radius:24px;padding:32px 24px;box-shadow:0 -4px 24px #0000004d;animation:modal-slide-up .3s ease-out;pointer-events:auto}.translation-modal__sheet--compact{padding:20px 24px}.translation-modal__title{text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text--secondary);margin-bottom:16px}.translation-modal__buttons{display:flex;justify-content:center}.translation-modal__btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 48px;border:2px solid transparent;border-radius:16px;background:var(--surface--elevated);color:var(--text--primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.translation-modal__btn i{font-size:1.5rem}.translation-modal__btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.translation-modal__btn:active{transform:translateY(0)}.translation-modal__btn:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.3)}.translation-modal__btn--done:hover{background:#39ac6326;border-color:#39ac63;color:#52e086}@media(max-width:375px){.translation-modal__sheet{padding:24px 16px}.translation-modal__sheet--compact{padding:16px}.translation-modal__btn{padding:16px 36px;font-size:.8125rem}.translation-modal__btn i{font-size:1.25rem}}.word-selection-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;animation:modal-fade-in .2s ease-out}.word-selection-modal__backdrop{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.word-selection-modal__sheet{position:relative;width:100%;max-width:500px;margin:0 auto;background:var(--surface);border-top-left-radius:24px;border-top-right-radius:24px;padding:32px 24px;box-shadow:0 -4px 24px #0000004d;animation:modal-slide-up .3s ease-out;max-height:70vh;overflow-y:auto}.word-selection-modal__title{text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}.word-selection-modal__words{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:32px}.word-selection-modal__word{padding:10px 16px;border:2px solid transparent;border-radius:12px;background:var(--surface--elevated);color:var(--text--primary);font-size:1.125rem;font-weight:500;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.word-selection-modal__word:hover{background:var(--surface);transform:translateY(-2px)}.word-selection-modal__word:active{transform:translateY(0)}.word-selection-modal__word--selected{background:#e6594c33;border-color:#e6594c;color:#f47c71}.word-selection-modal__word--focused{outline:none;box-shadow:0 0 0 3px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.3)}.word-selection-modal__continue{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;border:none;border-radius:16px;background:var(--accent);color:#fff;font-size:1rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.3)}.word-selection-modal__continue:hover{background:var(--accent--dark);transform:translateY(-2px);box-shadow:0 6px 16px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.4)}.word-selection-modal__continue:active{transform:translateY(0)}.word-selection-modal__continue:focus{outline:none;box-shadow:0 0 0 3px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.3)}.word-selection-modal__hint{text-align:center;font-size:.875rem;color:var(--text--secondary);margin-top:16px}@media(max-width:375px){.word-selection-modal__sheet{padding:24px 16px;max-height:75vh}.word-selection-modal__words{gap:8px;margin-bottom:24px}.word-selection-modal__word{padding:8px 12px;font-size:1rem}.word-selection-modal__continue{padding:14px 20px;font-size:.875rem}}.chat-bubble-actions{display:flex;flex-direction:column;gap:8px;align-self:flex-start;margin:0 8px;z-index:10;min-width:40px;flex-shrink:0}.peek-btn,.slower-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text--secondary);cursor:pointer;transition:all .2s ease;font-size:1rem;box-shadow:0 2px 8px #0003}.peek-btn:hover,.slower-btn:hover{background:var(--surface--elevated);color:var(--text--primary);border-color:var(--accent);transform:scale(1.1)}.peek-btn:active,.slower-btn:active{transform:scale(1)}.peek-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}@media(max-width:375px){.peek-btn,.slower-btn{width:36px;height:36px;font-size:.875rem}.chat-bubble-actions{gap:6px;margin:0 6px}}.lesson-chat{display:flex;flex-direction:column;height:100vh;max-width:100%;background:var(--bg);overflow:hidden}.lesson-chat__scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}.lesson-chat__fade-gradient{position:sticky;top:0;height:32px;background:linear-gradient(to bottom,var(--bg) 0%,transparent 100%);pointer-events:none;z-index:var(--z-base)}.lesson-chat__history{padding:0 0 24px}.lesson-chat__history-item{opacity:.5;transition:opacity .3s ease}.lesson-chat__history-item:hover{opacity:1}.lesson-chat__active-area{min-height:500px;padding:24px 0}.lesson-chat__timer-inline{display:flex;justify-content:center;margin-top:24px;padding:0 16px}.lesson-chat__timer-wrapper{display:flex;flex-direction:column;align-items:center;gap:24px;margin-top:32px;padding:0 16px}.lesson-chat__done-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 32px;border:2px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.lesson-chat__done-btn:hover{background:var(--accent--dark);border-color:var(--accent--dark);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.lesson-chat__done-btn:active{transform:translateY(0);box-shadow:0 2px 6px #0003}.lesson-chat__done-wrapper{display:flex;justify-content:center;margin-top:24px;padding:0 16px}.lesson-chat__blocked-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);cursor:pointer;-webkit-tap-highlight-color:transparent}.lesson-chat__blocked-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;background:var(--bg--card);border-radius:16px;text-align:center;animation:blocked-fade-in .3s ease}.lesson-chat__blocked-icon{width:64px;height:64px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;animation:blocked-pulse 2s ease-in-out infinite}.lesson-chat__blocked-text{font-size:1rem;color:var(--text--primary);margin:0}@media(max-width:375px){.lesson-chat__active-area{min-height:450px}.lesson-chat__timer-wrapper{gap:20px;margin-top:24px}.lesson-chat__done-btn{padding:10px 24px;font-size:.875rem}}@media(prefers-reduced-motion:reduce){.lesson-chat__scroll-container{scroll-behavior:auto}.lesson-chat__history-item,.lesson-chat__done-btn{transition:none}.chat-bubble{animation:none}.chat-bubble__text,.chat-bubble__message{transition:none}}.lesson-listen{display:flex;flex-direction:column;height:100vh;max-width:100%;background:var(--bg);overflow:hidden}.lesson-listen__scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}.lesson-listen__fade-gradient{position:sticky;top:0;height:32px;background:linear-gradient(to bottom,var(--bg) 0%,transparent 100%);pointer-events:none;z-index:var(--z-base)}.lesson-listen__history{padding:0 0 24px}.lesson-listen__history-item{opacity:.5;transition:opacity .3s ease}.lesson-listen__history-item:hover{opacity:1}.lesson-listen__active-area{min-height:300px;padding:24px 0}.lesson-listen__pause-indicator{display:flex;justify-content:center;padding:24px 0}.lesson-listen__pause-dots{display:flex;gap:8px}.lesson-listen__pause-dot{width:10px;height:10px;border-radius:50%;background:var(--text--secondary);animation:pause-dot-pulse 1.4s ease-in-out infinite}.lesson-listen__pause-dot:nth-child(1){animation-delay:0s}.lesson-listen__pause-dot:nth-child(2){animation-delay:.2s}.lesson-listen__pause-dot:nth-child(3){animation-delay:.4s}@keyframes pause-dot-pulse{0%,80%,to{opacity:.3;transform:scale(1)}40%{opacity:1;transform:scale(1.2)}}.lesson-listen__blocked-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);cursor:pointer;-webkit-tap-highlight-color:transparent}.lesson-listen__blocked-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;background:var(--bg--card);border-radius:16px;text-align:center;animation:blocked-fade-in .3s ease}.lesson-listen__blocked-icon{width:64px;height:64px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;animation:blocked-pulse 2s ease-in-out infinite}.lesson-listen__blocked-text{font-size:1rem;color:var(--text--primary);margin:0}@media(max-width:375px){.lesson-listen__active-area{min-height:250px}.lesson-listen__pause-dot{width:8px;height:8px}.lesson-listen__pause-dots{gap:6px}}@media(prefers-reduced-motion:reduce){.lesson-listen__scroll-container{scroll-behavior:auto}.lesson-listen__history-item{transition:none}.lesson-listen__pause-dot{animation:none;opacity:.6}}.vocab-counters{display:flex;align-items:center;gap:12px;background:var(--surface--elevated);border:1px solid var(--border);border-radius:20px;padding:12px 16px;font-size:15px;font-weight:600;min-height:44px}.vocab-counters__green{color:var(--success);display:flex;align-items:center;gap:6px}.vocab-counters__red{color:var(--error);display:flex;align-items:center;gap:6px}.vocab-counters__separator{color:var(--text--secondary)}.vocab-counters__dot{width:8px;height:8px;border-radius:50%;display:inline-block}.vocab-counters__dot--green{background-color:var(--success)}.vocab-counters__dot--red{background-color:var(--error)}.vocab-counters--pulse{animation:counterPulse .3s ease-in-out}.vocab-counters--hidden{display:none}.vocabulary-stats{background:var(--surface);border-radius:12px;padding:20px;margin-bottom:24px;border:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.vocabulary-stats .stat{text-align:center}.vocabulary-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:80px}@media(max-width:768px){.vocabulary-columns{grid-template-columns:1fr}}.vocabulary-empty-state{text-align:center;padding:60px 20px;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.vocabulary-empty-state i{font-size:64px;color:var(--text--secondary);opacity:.5;margin-bottom:24px;display:block}.vocabulary-empty-state h2{font-size:24px;font-weight:600;color:var(--text--primary);margin-bottom:12px}.vocabulary-empty-state p{font-size:16px;color:var(--text--secondary)}.vocabulary-error{text-align:center;padding:40px 20px;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.vocabulary-error i{font-size:48px;color:var(--error);margin-bottom:16px;display:block}.vocabulary-error p{font-size:16px;color:var(--text--secondary);margin-bottom:20px}.vocabulary-error .btn{margin:0 auto;max-width:200px}.variation-btn{background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.variation-btn .icon-refresh{flex-shrink:0}.variation-btn:hover{background:var(--accent--dark);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.variation-btn:active{transform:translateY(0);box-shadow:0 2px 6px #0003}.variation-btn:disabled{background:var(--border);color:var(--text--secondary);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.vocabulary-column{background:var(--surface);border-radius:12px;padding:16px;box-shadow:0 2px 8px #0003}.vocabulary-column__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.vocabulary-column__title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--text--primary)}.vocabulary-column__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:var(--surface--elevated);border-radius:12px;font-size:12px;font-weight:600;color:var(--text--secondary)}.vocabulary-column__add-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);border:none;border-radius:50%;color:#fff;font-size:16px;cursor:pointer;transition:transform .2s,background .2s}.vocabulary-column__add-btn:hover{transform:scale(1.05);background:var(--accent--dark)}.vocabulary-column__add-btn:active{transform:scale(.95)}.vocabulary-column__content{display:flex;flex-direction:column;gap:12px}.vocabulary-column__words{display:flex;flex-direction:column;gap:8px}.vocabulary-column__empty{padding:40px 20px;text-align:center;color:var(--text--secondary);font-size:14px}.vocabulary-column--not-learned .vocabulary-column__title{color:var(--accent)}.vocabulary-column--learned .vocabulary-column__title{color:var(--primary)}.word-item{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:12px 16px;background:var(--surface--elevated);border-radius:8px;border:2px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s}.word-item:hover{border-color:var(--primary--light);transform:translateY(-1px)}.word-item--pressed{transform:scale(.98);background:var(--bg)}.vocabulary-column--not-learned .word-item{border-left:3px solid var(--accent)}.vocabulary-column--learned .word-item{border-left:3px solid var(--primary)}.word-item__text{font-size:16px;font-weight:500;color:var(--text--primary)}.word-item__mastery{display:flex;gap:4px;align-items:center}.word-item__mastery-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .2s}.word-item__mastery-dot--filled{background:var(--primary)}.add-word-input{display:flex;gap:8px;align-items:flex-start;padding:12px;background:var(--bg);border-radius:8px;border:2px solid var(--accent)}.add-word-input__field{flex:1;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text--primary);font-size:14px;outline:none}.add-word-input__field:focus{border-color:var(--primary)}.add-word-input__field::placeholder{color:var(--text--secondary)}.add-word-input__actions{display:flex;gap:8px}.add-word-input__btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.add-word-input__btn--submit{background:var(--success);color:#fff}.add-word-input__btn--submit:hover:not(:disabled){background:#3fa63f}.add-word-input__btn--submit:disabled{opacity:.5;cursor:not-allowed}.add-word-input__btn--cancel{background:var(--surface);color:var(--text--secondary)}.add-word-input__btn--cancel:hover{background:var(--surface--elevated)}.add-word-input__error{margin-top:8px;font-size:12px;color:var(--error)}.word-action-menu__backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn .2s}.word-action-menu{width:100%;max-width:500px;background:var(--surface);border-radius:16px 16px 0 0;padding:24px;animation:slideUp .3s;z-index:var(--z-modal)}.word-action-menu__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.word-action-menu__word{font-size:20px;font-weight:600;color:var(--text--primary)}.word-action-menu__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:50%;color:var(--text--secondary);font-size:20px;cursor:pointer;transition:all .2s}.word-action-menu__close:hover{background:var(--surface--elevated);color:var(--text--primary)}.word-action-menu__stats{display:flex;flex-direction:column;gap:8px;padding:16px;margin-bottom:16px;background:var(--surface--elevated);border-radius:8px;border-left:4px solid var(--primary)}.word-action-menu__score{font-size:18px;font-weight:600}.word-action-menu__score--positive{color:var(--success, #4caf50)}.word-action-menu__score--negative{color:var(--error, #f44336)}.word-action-menu__stat{font-size:14px;color:var(--text--secondary)}.word-action-menu__stat--muted{font-size:13px;color:var(--text--tertiary)}.word-action-menu__actions{display:flex;flex-direction:column;gap:8px}.word-action-menu__action{display:flex;align-items:center;gap:16px;min-height:56px;padding:16px;background:var(--surface--elevated);border:none;border-radius:8px;color:var(--text--primary);font-size:16px;cursor:pointer;transition:all .2s;text-align:left}.word-action-menu__action:hover{background:var(--bg);transform:translate(4px)}.word-action-menu__action i{font-size:18px;width:24px;color:var(--primary)}.word-action-menu__action--danger,.word-action-menu__action--danger i{color:var(--error)}.word-explanation__backdrop{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-popover);padding:20px;animation:fadeIn .2s}.word-explanation{width:100%;max-width:600px;max-height:80vh;background:var(--surface);border-radius:12px;padding:24px;display:flex;flex-direction:column;animation:scaleIn .3s;overflow:hidden;z-index:var(--z-tooltip)}.word-explanation__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.word-explanation__word{font-size:24px;font-weight:600;color:var(--primary)}.word-explanation__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:50%;color:var(--text--secondary);font-size:20px;cursor:pointer;transition:all .2s;flex-shrink:0}.word-explanation__close:hover{background:var(--surface--elevated);color:var(--text--primary)}.word-explanation__content{flex:1;overflow-y:auto}.word-explanation__text{color:var(--text--primary);line-height:1.6}.word-explanation__text p{margin-bottom:12px}.word-explanation__text p:last-child{margin-bottom:0}.word-explanation__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.word-explanation__spinner{width:40px;height:40px;border:4px solid var(--surface--elevated);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.word-explanation__loading p{color:var(--text--secondary)}.word-explanation__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.word-explanation__error i{font-size:48px;color:var(--error);margin-bottom:16px}.word-explanation__error p{color:var(--text--primary);margin-bottom:20px}@media(min-width:768px){.vocabulary-columns{flex-direction:row;gap:24px}.vocabulary-column{flex:1}.word-action-menu__backdrop{align-items:center}.word-action-menu{border-radius:12px;animation:scaleIn .3s}.word-explanation{max-height:600px}}@media(min-width:1200px){.vocabulary-columns{max-width:1200px;margin:0 auto}.vocabulary-stats{max-width:600px;margin:16px auto}}.fallback-order-list{margin-bottom:2rem;padding:1rem;border:1px solid #ddd;border-radius:4px;background:#f9f9f9}.fallback-order-list h4{margin-top:0;margin-bottom:1rem;font-size:1rem;font-weight:600;color:#2c3e50}.provider-items{display:flex;flex-direction:column;gap:.5rem}.provider-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:move;transition:all .2s ease}.provider-item:hover{border-color:#4a90e2;box-shadow:0 2px 4px #0000001a}.provider-item.dragging{opacity:.5;cursor:grabbing}.drag-handle{font-size:1.2rem;color:#999;cursor:grab;-webkit-user-select:none;user-select:none}.provider-item.dragging .drag-handle{cursor:grabbing}.provider-name{flex:1;font-weight:500;color:#2c3e50}.badge-primary{padding:.25rem .5rem;background:#4a90e2;color:#fff;border-radius:3px;font-size:.8rem;font-weight:600}.tts-fallback-section{margin-top:2rem;padding:1.5rem;border-top:2px solid #ddd}.tts-fallback-section h3{margin-top:0;margin-bottom:.5rem;font-size:1.25rem;color:#2c3e50}.tts-fallback-section .help-text{margin-bottom:1.5rem;color:#666;font-size:.9rem}.music-toggle{position:relative;width:40px;height:40px;border-radius:50%;background:#336699d9;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s ease;box-shadow:0 2px 8px #0003;flex-shrink:0;margin-left:16px}.music-toggle:hover{background:#369;transform:scale(1.05);box-shadow:0 4px 12px #0000004d}.music-toggle:active{transform:scale(.95)}.music-toggle:focus{outline:2px solid var(--primary--light);outline-offset:2px}.music-toggle--playing{animation:music-pulse 2s ease-in-out infinite}@media(max-width:375px){.music-toggle{width:36px;height:36px;font-size:.9rem;margin-left:12px}}.animation{position:relative;width:80px;height:80px;margin:0 auto;flex-shrink:0}.animation__circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border:3px solid var(--accent);border-radius:50%;opacity:.3;animation:circlePulse 2s ease-in-out infinite}.animation__icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;color:var(--accent);animation:iconFloat 2s ease-in-out infinite}.status__title{font-size:24px;font-weight:700;margin-bottom:8px;text-align:center}.status__description{font-size:15px;color:var(--text--secondary);text-align:center;margin-bottom:0;line-height:1.5}.step-progress{width:100%;max-width:320px;margin:0 auto;flex-shrink:0}.step-progress__item{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:8px;border-radius:8px;transition:all .3s}.step-progress__item--active{background:var(--surface--elevated)}.step-progress__item--completed{opacity:.6}.step-progress__icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;border:2px solid var(--border);color:var(--text--secondary)}.step-progress__item--active .step-progress__icon{border-color:var(--accent);color:var(--accent);animation:stepPulse 1.5s ease-in-out infinite}.step-progress__item--completed .step-progress__icon{background:var(--success);border-color:var(--success);color:#fff}.step-progress__content{flex:1}.step-progress__name{font-size:15px;font-weight:600;margin-bottom:2px}.step-progress__description{font-size:12px;color:var(--text--secondary)}.success-icon{width:120px;height:120px;border-radius:50%;background:var(--success);display:flex;align-items:center;justify-content:center;font-size:64px;color:#fff;margin:0 auto 24px;flex-shrink:0;animation:successPop .5s cubic-bezier(.68,-.55,.265,1.55)}.bottom-info{position:fixed;bottom:0;left:0;right:0;max-width:100%;margin:0 auto;background:var(--surface);border-top:1px solid var(--border);padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0));display:flex;align-items:center;justify-content:space-between;z-index:var(--z-fixed)}.bottom-info__content{flex:1;text-align:center}.bottom-info__text{font-size:13px;color:var(--text--secondary);margin-bottom:8px}.bottom-info__time{font-size:15px;font-weight:600;color:var(--accent)}.card--photo{border:2px dashed var(--accent);padding:20px 16px;text-align:center;min-height:120px;justify-content:center;gap:8px;background:var(--surface);transition:all .2s ease}.card--photo:hover{background:var(--surface--elevated);border-color:var(--accent);transform:translateY(-2px)}.card--photo:active{transform:scale(.97)}.card--photo .card__icon{font-size:32px;margin-bottom:4px}.upload-zone{background:var(--surface);border:2px dashed var(--border);border-radius:12px;padding:48px 24px;text-align:center;cursor:pointer;transition:all .2s ease;margin:16px 0}.upload-zone:hover{border-color:var(--primary);background:var(--surface--elevated)}.upload-zone__icon{font-size:48px;color:var(--primary);margin-bottom:16px;display:block}.upload-zone__title{font-size:16px;font-weight:600;color:var(--text--primary);margin-bottom:8px}.upload-zone__subtitle{font-size:14px;color:var(--text--secondary);margin:12px 0}.upload-zone__hint{font-size:12px;color:var(--text--secondary);margin-top:12px}.image-preview{background:var(--surface);border-radius:12px;padding:16px;margin:16px 0;border:1px solid var(--border)}.image-preview__img{width:100%;max-height:300px;object-fit:contain;border-radius:8px;margin-bottom:12px;background:var(--bg)}.image-preview__info{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text--secondary)}.image-preview__size{margin-left:auto;font-size:12px;color:var(--text--secondary)}.progress-bar{width:100%;height:8px;background:var(--surface);border-radius:4px;overflow:hidden;margin:16px 0 8px}.progress-bar__fill{height:100%;background:var(--primary);transition:width .3s ease;border-radius:4px}.progress-bar__text{text-align:center;font-size:14px;color:var(--text--secondary);margin-top:8px}.extraction-summary{background:var(--surface);border-radius:12px;padding:16px;margin:16px 0;border:1px solid var(--border)}.extraction-summary__item{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--border)}.extraction-summary__item:last-child{border-bottom:none}.extraction-summary__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text--secondary)}.extraction-summary__value{font-size:14px;color:var(--text--primary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.extraction-summary__value .level-badge{margin-right:8px}.extraction-summary__value i{font-size:16px}.info--success{background:#59c05926;border-color:var(--success)}.info--error{background:#e6594c26;border-color:var(--error)}.info--warning{background:#d1984726;border-color:var(--accent)}.star-display{display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,color .2s ease}.star-display--sm{font-size:1rem}.star-display--md{font-size:1.5rem}.star-display--lg{font-size:2rem}.star-display--earned{color:var(--color-warning, #f59e0b)}.star-display--empty{color:var(--text--tertiary, #9ca3af)}.star-display--animated{animation:starPop .5s ease-out}@keyframes starPop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.stars-progress{display:flex;align-items:center;gap:.5rem}.stars-progress__stars{display:flex;align-items:center;gap:.25rem}.stars-progress__count{font-size:.875rem;color:var(--text--secondary, #6b7280);font-weight:500;margin-left:.25rem}.level-selector{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.level-selector__progress{display:flex;justify-content:center;padding:.5rem 0}.level-selector__modes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.level-selector__mode{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:var(--surface, #ffffff);border:2px solid var(--border, #e5e7eb);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:center}.level-selector__mode:hover:not(:disabled){border-color:var(--primary, #4b7bec);background:var(--surface-hover, #f9fafb);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.level-selector__mode:active:not(:disabled){transform:translateY(0)}.level-selector__mode:disabled{opacity:.6;cursor:not-allowed}.level-selector__mode--completed{border-color:var(--color-success, #10b981);background:#10b9810d}.level-selector__mode--completed:hover:not(:disabled){border-color:var(--color-success, #10b981);background:#10b9811a}.level-selector__mode-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--primary, #4b7bec);font-size:1.25rem}.level-selector__mode--completed .level-selector__mode-icon{background:#10b98126;color:var(--color-success, #10b981)}.level-selector__mode-name{font-size:1.125rem;font-weight:600;color:var(--text--primary, #1f2937)}.level-selector__mode-description{font-size:.8125rem;color:var(--text--secondary, #6b7280)}.level-selector__mode-reward{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:4px;margin-top:.25rem}.level-selector__earned{color:var(--color-success, #10b981)}.level-selector__earned i{margin-right:.25rem}.level-selector__partial{color:var(--color-warning, #f59e0b)}.level-selector__partial i{margin-right:.25rem}.level-selector__available{color:var(--text--secondary, #6b7280)}.level-selector__available i{color:var(--color-warning, #f59e0b);margin-right:.125rem}.level-selector__info{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--surface-secondary, #f9fafb);border-radius:8px;font-size:.8125rem}.level-selector__info-item{display:flex;align-items:flex-start;gap:.5rem;color:var(--text--secondary, #6b7280)}.level-selector__info-item i{color:var(--primary, #4b7bec);margin-top:.125rem;flex-shrink:0}.level-selector__info-item strong{color:var(--text--primary, #1f2937)}@media(max-width:360px){.level-selector__modes{grid-template-columns:1fr}.level-selector__mode{padding:1rem}}@keyframes slideInFade{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes cardPulse{0%,to{box-shadow:0 0 #d39b4f66}50%{box-shadow:0 0 0 8px #d39b4f00}}@keyframes circlePulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.1}}@keyframes iconFloat{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}}@keyframes stepPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes counterPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes completionPop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes audioPulse{0%,to{box-shadow:0 0 #d39b4fb3}50%{box-shadow:0 0 0 10px #d39b4f00}}@keyframes playPulse{0%,to{box-shadow:0 0 #d39b4fb3}50%{box-shadow:0 0 0 8px #d39b4f00}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes music-pulse{0%,to{transform:scale(1);box-shadow:0 2px 8px #0003}50%{transform:scale(1.05);box-shadow:0 4px 12px #3696}}@keyframes robot-talk{0%,to{opacity:1}50%{opacity:.3}}@keyframes chat-bubble-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes backgroundReveal{0%{opacity:0}to{opacity:1}}@keyframes blocked-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes blocked-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.empty{text-align:center;padding:32px 16px}.empty--words{width:100%;padding:20px;font-size:14px}.empty__icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty__text{font-size:16px;color:var(--text--secondary);margin-bottom:16px}.info-text{font-size:13px;color:var(--text--secondary);text-align:center;margin:12px 0}.word-count,.selection-info{font-size:13px;color:var(--text--secondary);margin-bottom:16px}.selection-info{background:var(--surface--elevated);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.selection-info i{font-size:18px;color:var(--primary)}.selection-text{flex:1;font-size:13px;color:var(--text--secondary);line-height:1.4}.swipe-hint{text-align:center;padding:16px;font-size:13px;color:var(--text--secondary);display:flex;align-items:center;justify-content:center;gap:8px}.swipe-hint i{font-size:16px}@media(min-width:768px){body{max-width:768px;box-shadow:0 0 0 1px #2b333b}.page,.nav,.action-bar,.bottom-info{max-width:768px}.fab{right:calc(50% - 364px)}body.body--index{padding:20px 16px}header h1{font-size:28px}.intro,.design-specs{padding:24px}.mockups-grid{grid-template-columns:1fr}.lesson-action-bar{max-width:768px}}@media(max-width:374px){.form__app-name{font-size:28px}.form__card{padding:20px}.card--stats{gap:12px}.stat__value{font-size:24px}.content{padding:12px}.card--lesson{padding:14px}.audio-player{padding:16px}.audio-player__controls{gap:8px}.audio-player__playback{gap:16px}.dialogue{padding:12px}.fab{right:20px}}@media(min-width:768px){.upload-zone{padding:64px 32px}.upload-zone__icon{font-size:64px}.image-preview__img{max-height:400px}.extraction-summary{padding:24px}.extraction-summary__item{flex-direction:row;align-items:center;padding:16px 0}.extraction-summary__label{min-width:140px;margin-bottom:0}}header{text-align:center;margin-bottom:48px}header h1{font-size:36px;color:var(--primary);margin-bottom:12px}.subtitle{font-size:18px;color:var(--text--secondary)}.intro{background:var(--surface);border-radius:16px;padding:32px;margin-bottom:32px;box-shadow:0 2px 8px #0000004d;border:1px solid var(--border)}.intro h2{font-size:24px;margin-bottom:16px;color:var(--primary--dark)}.intro p{line-height:1.6;margin-bottom:12px;color:var(--text--secondary)}.intro ul{margin:16px 0 16px 24px;line-height:1.8;color:var(--text--secondary)}.mockups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.view-btn{background:var(--primary);color:#fff;padding:12px 24px;border-radius:8px;text-align:center;font-weight:600;text-decoration:none;display:block}.view-btn:hover{background:var(--primary--dark)}.design-specs{background:var(--surface);border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000004d;border:1px solid var(--border)}.design-specs h2{font-size:24px;margin-bottom:24px;color:var(--primary--dark)}.spec-section{margin-bottom:24px}.spec-section h3{font-size:18px;margin-bottom:12px;color:var(--primary)}.spec-section p{line-height:1.6;color:var(--text--secondary);margin-bottom:8px}.color-swatch{display:inline-block;width:20px;height:20px;border-radius:4px;vertical-align:middle;margin-right:8px;border:1px solid var(--border)}.note{background:var(--surface--elevated);border-left:4px solid var(--primary);padding:16px;margin:24px 0;border-radius:4px;border:1px solid var(--border)}.note strong{color:var(--primary)}.intro__description{text-align:center;color:var(--text--secondary);font-size:14px;line-height:1.5;margin-bottom:24px}.intro__languages{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.intro__language-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background:var(--surface--elevated);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;min-height:80px}.intro__language-btn:hover{border-color:var(--primary);background:var(--surface--hover)}.intro__language-btn--selected{border-color:var(--primary);background:var(--primary-light, rgba(74, 111, 165, .1))}.intro__language-btn--selected .intro__language-label{color:var(--primary);font-weight:600}.intro__language-flag{font-size:28px;line-height:1}.intro__language-label{font-size:14px;color:var(--text--primary);font-weight:500}@media(max-width:360px){.intro__languages{grid-template-columns:repeat(2,1fr)}}.home-entrance{animation:backgroundReveal .4s ease-out}.animate-from-top{animation:slideInFromTop .5s ease-out both}.animate-from-bottom{animation:slideInFromBottom .5s ease-out both}.animate-from-left{animation:slideInFromLeft .5s ease-out both}.animate-from-right{animation:slideInFromRight .5s ease-out both}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.stat-animate{animation:slideInFromBottom .4s ease-out both}.stat-animate:nth-child(1){animation-delay:.15s}.stat-animate:nth-child(2){animation-delay:.25s}.stat-animate:nth-child(3){animation-delay:.35s}.action-animate{animation:slideInFromBottom .4s ease-out both}.action-animate:nth-child(1){animation-delay:.4s}.action-animate:nth-child(2){animation-delay:.5s}.home-entrance .nav{animation:fadeIn .4s ease-out .2s both}@media(prefers-reduced-motion:reduce){.home-entrance,.home-entrance .nav,.animate-from-top,.animate-from-bottom,.animate-from-left,.animate-from-right,.stat-animate,.action-animate{animation:none;opacity:1;transform:none}}.quote-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;min-height:100%;position:relative}.quote-intro--fading-out{opacity:0;transition:opacity 2s ease-out}.quote-intro__content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:600px;padding:24px;flex:1}.quote-intro__content--exiting{opacity:0;transition:opacity .8s ease-in}.quote-intro__text{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(22px,5vw,36px);font-weight:400;font-style:italic;line-height:1.5;letter-spacing:.01em;color:var(--text--primary);margin:0;padding:0 8px;display:flex;flex-direction:column;gap:16px}.quote-intro__sentence{opacity:0;transition:opacity 1.2s cubic-bezier(.22,1,.36,1)}.quote-intro__sentence--visible{opacity:1}.quote-intro__author{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(14px,2.5vw,18px);font-weight:500;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:28px;opacity:0;transition:opacity 1s cubic-bezier(.22,1,.36,1)}.quote-intro__author--visible{opacity:1}.quote-intro__progress{display:flex;gap:12px;margin-top:auto;padding-bottom:max(24px,env(safe-area-inset-bottom,24px))}.quote-intro__progress-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .4s ease,transform .3s ease,box-shadow .4s ease}.quote-intro__progress-dot--active{background:var(--accent);transform:scale(1.3);box-shadow:0 0 10px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.3)}.quote-intro__progress-dot--completed{background:var(--text--secondary)}@media(max-width:480px){.quote-intro{padding:20px}.quote-intro__content{padding:16px}.quote-intro__author{margin-top:24px;letter-spacing:.08em}}@media(prefers-reduced-motion:reduce){.quote-intro,.quote-intro__content,.quote-intro__author,.quote-intro__sentence,.quote-intro__progress-dot{transition-duration:.01ms!important}}.generation-progress-bar{width:100%;margin:2rem 0}.generation-progress-bar__overall{margin-bottom:2rem}.generation-progress-bar__label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:1rem;font-weight:600;color:var(--color-text-primary, #1a1a2e)}.generation-progress-bar__percentage{font-size:1.25rem;font-weight:700;color:var(--color-primary, #4a5568)}.generation-progress-bar__track{width:100%;height:24px;background:#00000014;border-radius:12px;overflow:hidden;position:relative}.generation-progress-bar__track--small{height:8px;border-radius:4px}.generation-progress-bar__fill{height:100%;border-radius:inherit;transition:width .3s ease-out;position:relative;overflow:hidden}.generation-progress-bar__fill--overall{background:linear-gradient(90deg,#4a90e2,#357abd)}.generation-progress-bar__fill--dialogue{background:linear-gradient(90deg,#6b46c1,#553c9a)}.generation-progress-bar__fill--estonian{background:linear-gradient(90deg,#f59e0b,#d97706)}.generation-progress-bar__fill--native{background:linear-gradient(90deg,#10b981,#059669)}.generation-progress-bar__fill--completed{background:linear-gradient(90deg,#22c55e,#16a34a)}.generation-progress-bar__fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.generation-progress-bar__phases{display:flex;flex-direction:column;gap:1.25rem}.generation-progress-bar__phase{width:100%}.generation-progress-bar__phase-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;color:var(--color-text-secondary, #666)}.generation-progress-bar__phase-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:.875rem}.generation-progress-bar__phase-percentage{margin-left:auto;font-weight:600;font-size:.875rem;color:var(--color-text-primary, #1a1a2e)}.generation-progress-bar__processing{font-size:.75rem;color:var(--color-warning, #f59e0b);font-weight:400}@media(max-width:480px){.generation-progress-bar{margin:1.5rem 0}.generation-progress-bar__label{font-size:.9rem}.generation-progress-bar__percentage{font-size:1.1rem}.generation-progress-bar__track{height:20px}.generation-progress-bar__track--small{height:6px}.generation-progress-bar__phase-label{font-size:.85rem}.generation-progress-bar__phase-percentage{font-size:.8rem}}.lp-page{--lp-spacing-xs: 8px;--lp-spacing-sm: 12px;--lp-spacing-md: 16px;--lp-spacing-lg: 20px;--lp-spacing-xl: 24px;--lp-spacing-2xl: 32px;--lp-radius-sm: 12px;--lp-radius-md: 16px;--lp-radius-lg: 20px;--lp-radius-full: 9999px;--lp-progress-ring-size: 44px;--lp-icon-size: 40px;--lp-touch-target: 48px;--lp-journey-line-color: hsl(210, 15%, 25%);--lp-journey-line-width: 3px;--lp-category-bg: hsl(210, 18%, 16%);--lp-category-bg-hover: hsl(210, 18%, 19%);--lp-category-border: hsl(210, 15%, 24%);--lp-progress-track: hsl(210, 15%, 25%);--lp-progress-fill: var(--primary, hsl(200, 50%, 55%));--lp-progress-complete: hsl(150, 60%, 45%);--lp-locked-overlay: hsla(210, 20%, 10%, .6);--lp-completed-glow: hsla(150, 60%, 50%, .15);--lp-active-glow: hsla(35, 60%, 55%, .2)}.lp-page{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.lp-header{background:#1d242b;padding:var(--lp-spacing-md);border-bottom:1px solid hsl(210,15%,20%)}.lp-header__row{display:flex;align-items:center;justify-content:space-between;gap:var(--lp-spacing-md)}.lp-header__stars{display:flex;align-items:center;gap:6px;background:#d1984726;border:1px solid hsla(35,60%,55%,.3);border-radius:var(--lp-radius-full);padding:8px 14px;font-size:15px;font-weight:700;color:var(--accent, hsl(35, 60%, 55%))}.lp-header__stars i{font-size:14px;color:var(--accent, hsl(35, 60%, 55%))}.lp-header__level-selector{display:flex;align-items:center;gap:var(--lp-spacing-sm)}.lp-header__level-selector label{font-size:14px;font-weight:500;color:var(--text--secondary, hsl(210, 15%, 55%))}.lp-header__dropdown{appearance:none;background:#2a333c;color:var(--text--primary, hsl(210, 15%, 90%));border:2px solid hsl(210,15%,28%);border-radius:var(--lp-radius-sm);padding:10px 36px 10px 14px;font-size:15px;font-weight:600;cursor:pointer;min-height:var(--lp-touch-target);transition:all .25s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238899aa' 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 12px center}.lp-header__dropdown:hover{background-color:#2e3842}.lp-header__dropdown:focus{outline:none}.lp-loading,.lp-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--lp-spacing-2xl) var(--lp-spacing-lg);min-height:200px;text-align:center}.lp-loading{color:var(--text--secondary, hsl(210, 15%, 55%));font-size:16px;font-weight:500}.lp-loading:before{content:"";width:40px;height:40px;border:3px solid hsl(210,15%,25%);border-top-color:var(--primary, hsl(200, 50%, 55%));border-radius:50%;margin-bottom:var(--lp-spacing-md);animation:lp-spin .8s linear infinite}@keyframes lp-spin{to{transform:rotate(360deg)}}.lp-error{color:var(--error, hsl(5, 70%, 55%));font-size:16px;font-weight:500}.lp-error:before{content:"!";width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#dd493c26;border:2px solid var(--error, hsl(5, 70%, 55%));border-radius:50%;font-size:20px;font-weight:700;margin-bottom:var(--lp-spacing-md)}.lp-content{padding:var(--lp-spacing-md);padding-bottom:calc(var(--lp-spacing-2xl) + 80px);position:relative}.lp-content:before{content:"";position:absolute;left:calc(var(--lp-spacing-md) + 21px);top:var(--lp-spacing-md);bottom:calc(var(--lp-spacing-2xl) + 80px);width:var(--lp-journey-line-width);background:linear-gradient(180deg,var(--lp-journey-line-color) 0%,transparent 100%);border-radius:var(--lp-journey-line-width);z-index:0}.lp-category{position:relative;margin-bottom:var(--lp-spacing-md);z-index:1}.lp-category:last-child{margin-bottom:0}.lp-category__header{display:grid;grid-template-columns:var(--lp-progress-ring-size) 1fr auto auto;align-items:center;gap:var(--lp-spacing-sm);width:100%;padding:var(--lp-spacing-md);background:var(--lp-category-bg);border:1px solid var(--lp-category-border);border-radius:var(--lp-radius-md);cursor:pointer;transition:all .25s ease;min-height:72px}.lp-category__header:hover:not(:disabled){background:var(--lp-category-bg-hover);border-color:#414d58}.lp-category__header:disabled{cursor:not-allowed}.lp-category--expanded .lp-category__header{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent;background:var(--lp-category-bg-hover)}.lp-category--locked{opacity:1}.lp-category--locked .lp-category__header{background:#1e2429cc;border-color:#2b333b}.lp-category--locked .lp-category__header:after{content:"";position:absolute;inset:0;background:var(--lp-locked-overlay);border-radius:inherit;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:none}.lp-category__icon-wrapper{position:relative;width:var(--lp-progress-ring-size);height:var(--lp-progress-ring-size);flex-shrink:0}.lp-category__progress-ring{position:absolute;top:0;left:0;width:100%;height:100%;transform:rotate(-90deg)}.lp-category__progress-ring-bg{stroke:var(--lp-progress-track)}.lp-category__progress-ring-fill{stroke:var(--lp-progress-fill);transition:stroke-dasharray .5s ease,stroke .3s ease}.lp-category__icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;border-radius:8px;color:#fff;font-size:16px;box-shadow:0 2px 8px #2d688659,inset 0 1px #fff3;transition:transform .25s ease,box-shadow .25s ease}.lp-category--locked .lp-category__icon{background:#364049;color:#6c8093;box-shadow:none}.lp-category--locked .lp-category__progress-ring-bg{stroke:#2b333b}.lp-category__title{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text--secondary, hsl(210, 15%, 65%));margin:0;line-height:1.3;transition:color .2s ease}.lp-category__header:hover:not(:disabled) .lp-category__title{color:var(--text--primary, hsl(210, 15%, 85%))}.lp-category--locked .lp-category__title{color:#627384}.lp-category__progress{display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text--secondary, hsl(210, 15%, 55%));min-width:48px}.lp-category__progress .fa-lock{font-size:16px;color:#576675}.lp-category__chevron{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:14px;color:var(--text--secondary, hsl(210, 15%, 50%));transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.lp-category--expanded .lp-category__chevron{transform:rotate(180deg)}.lp-category__subtopics-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.lp-category--expanded .lp-category__subtopics-wrapper{grid-template-rows:1fr}.lp-category__subtopics{display:flex;flex-direction:column;gap:0;background:#1d242a;border:1px solid var(--lp-category-border);border-top:none;border-bottom-left-radius:var(--lp-radius-md);border-bottom-right-radius:var(--lp-radius-md);padding:var(--lp-spacing-xs);min-height:0;opacity:0;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease}.lp-category--expanded .lp-category__subtopics{opacity:1;transform:translateY(0);transition-delay:.1s}.lp-subtopic{background:transparent;border-radius:var(--lp-radius-sm);margin-bottom:2px;overflow:hidden}.lp-subtopic:last-child{margin-bottom:0}.lp-subtopic__header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--lp-spacing-sm) var(--lp-spacing-md);background:transparent;border:none;border-radius:var(--lp-radius-sm);cursor:pointer;min-height:var(--lp-touch-target);transition:background .2s ease}.lp-subtopic__header:hover:not(:disabled){background:#598ca61a}.lp-subtopic__header:disabled{cursor:not-allowed}.lp-subtopic--expanded .lp-subtopic__header{background:#598ca614;border-bottom-left-radius:0;border-bottom-right-radius:0}.lp-subtopic--locked .lp-subtopic__header{opacity:.5}.lp-subtopic__title{font-size:16px;font-weight:600;color:var(--text--primary, hsl(210, 15%, 88%));margin:0;flex:1;text-align:left}.lp-subtopic__progress{font-size:13px;font-weight:600;color:var(--text--secondary, hsl(210, 15%, 55%));padding:4px 10px;background:#414d5880;border-radius:var(--lp-radius-full)}.lp-subtopic__progress .fa-lock{font-size:12px}.lp-subtopic__chevron{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:var(--lp-spacing-xs);font-size:12px;color:var(--text--secondary, hsl(210, 15%, 50%));transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.lp-subtopic--expanded .lp-subtopic__chevron{transform:rotate(180deg)}.lp-subtopic__scenarios-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.lp-subtopic--expanded .lp-subtopic__scenarios-wrapper{grid-template-rows:1fr}.lp-subtopic__scenarios{display:flex;flex-direction:column;gap:var(--lp-spacing-xs);padding:var(--lp-spacing-xs) var(--lp-spacing-sm) var(--lp-spacing-sm);min-height:0;opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease}.lp-subtopic--expanded .lp-subtopic__scenarios{opacity:1;transform:translateY(0);transition-delay:.08s}.lp-scenario{display:flex;align-items:center;gap:var(--lp-spacing-sm);width:100%;padding:var(--lp-spacing-sm) var(--lp-spacing-md);border:none;border-radius:var(--lp-radius-sm);cursor:pointer;min-height:var(--lp-touch-target);text-align:left;transition:background .2s ease,transform .15s ease,box-shadow .2s ease}.lp-scenario:active{transform:scale(.98)}.lp-scenario__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:14px;flex-shrink:0;transition:transform .2s ease}.lp-scenario__text{flex:1;font-size:15px;font-weight:500;line-height:1.4;color:var(--text--primary, hsl(210, 15%, 85%))}.lp-scenario--completed{background:linear-gradient(135deg,#cc8c331f,#b87e2e0f);border:1px solid hsla(35,60%,55%,.25)}.lp-scenario--completed:hover{background:linear-gradient(135deg,#cc8c332e,#b87e2e1a);box-shadow:0 0 20px #d1984726}.lp-scenario--completed .lp-scenario__icon{background:var(--accent, hsl(35, 60%, 55%));color:#fff;box-shadow:0 2px 8px #d1984766}.lp-scenario--completed .lp-scenario__text{color:#dbcfbd}.lp-scenario--unlocked{background:#2d384399;border:1px solid hsla(210,15%,35%,.5)}.lp-scenario--unlocked:hover{background:#36546366;border-color:var(--primary, hsl(200, 50%, 50%));box-shadow:0 0 16px #4095bf26}.lp-scenario--unlocked .lp-scenario__icon{background:#414d58cc;color:var(--text--secondary, hsl(210, 15%, 60%));border:2px solid hsla(210,15%,40%,.5)}.lp-scenario--unlocked:hover .lp-scenario__icon{background:var(--primary, hsl(200, 50%, 50%));color:#fff;border-color:transparent;transform:scale(1.1)}.lp-scenario--locked{background:#272e3580;border:1px solid hsla(210,15%,25%,.3);cursor:pointer}.lp-scenario--locked:hover{background:#2b333b99}.lp-scenario--locked .lp-scenario__icon{background:#36404999;color:#627384}.lp-scenario--locked .lp-scenario__text{color:#6c8093}.lp-modal__overlay{position:fixed;inset:0;background:#0f141ad9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--lp-spacing-md);animation:lp-fadeIn .25s ease-out}@keyframes lp-fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.lp-modal{background:linear-gradient(180deg,#252e37,#1f262e);border:1px solid hsl(210,15%,28%);border-radius:var(--lp-radius-lg);max-width:340px;width:100%;padding:var(--lp-spacing-xl);box-shadow:0 24px 48px #090d1180,0 0 0 1px #4c59671a;animation:lp-modalIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes lp-modalIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.lp-modal__header{display:flex;align-items:flex-start;gap:var(--lp-spacing-sm);margin-bottom:var(--lp-spacing-sm)}.lp-modal__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#d1984726;border-radius:var(--lp-radius-sm);font-size:18px;color:var(--accent, hsl(35, 60%, 55%));flex-shrink:0}.lp-modal__title{font-size:18px;font-weight:700;color:var(--text--primary, hsl(210, 15%, 90%));line-height:1.3;padding-top:2px}.lp-modal__breadcrumb{font-size:13px;color:var(--text--secondary, hsl(210, 15%, 55%));margin-bottom:var(--lp-spacing-md);padding-left:52px}.lp-modal__unlock{background:#d1984714;border:1px solid hsla(35,60%,55%,.2);padding:var(--lp-spacing-md);border-radius:var(--lp-radius-sm);margin-bottom:var(--lp-spacing-lg)}.lp-modal__unlock strong{display:flex;align-items:center;gap:var(--lp-spacing-xs);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--lp-spacing-xs);color:var(--accent, hsl(35, 60%, 55%))}.lp-modal__unlock strong:before{content:"";font-family:"Font Awesome 6 Free";font-weight:400}.lp-modal__unlock p{margin:0;font-size:15px;line-height:1.5;color:var(--text--primary, hsl(210, 15%, 85%))}.lp-modal__close{width:100%;background:var(--primary, hsl(200, 50%, 55%));color:#fff;border:none;border-radius:var(--lp-radius-sm);padding:14px;font-size:16px;font-weight:600;cursor:pointer;min-height:var(--lp-touch-target);transition:all .2s ease}.lp-modal__close:hover{background:#4095bf;transform:translateY(-1px);box-shadow:0 4px 12px #4095bf4d}.lp-modal__close:active{transform:translateY(0)}@media(min-width:768px){.lp-content{max-width:680px;margin:0 auto;padding:var(--lp-spacing-xl)}.lp-content:before{left:calc(var(--lp-spacing-xl) + 21px)}.lp-header{padding:var(--lp-spacing-xl) var(--lp-spacing-lg)}.lp-header__title{font-size:32px}.lp-category__header{padding:var(--lp-spacing-lg)}.lp-subtopic__scenarios{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--lp-spacing-sm)}}@media(min-width:1024px){.lp-content{max-width:800px;padding:var(--lp-spacing-2xl)}.lp-content:before{left:calc(var(--lp-spacing-2xl) + 21px)}.lp-subtopic__scenarios{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){.lp-category__subtopics-wrapper,.lp-subtopic__scenarios-wrapper,.lp-category__subtopics,.lp-subtopic__scenarios,.lp-category__chevron,.lp-subtopic__chevron,.lp-scenario,.lp-modal__overlay,.lp-modal,.lp-category__header,.lp-subtopic__header,.lp-category__icon,.lp-scenario__icon,.lp-loading:before{transition:none!important;animation:none!important}.lp-category--expanded .lp-category__subtopics,.lp-subtopic--expanded .lp-subtopic__scenarios{opacity:1;transform:none}}.lp-category__header:focus-visible,.lp-subtopic__header:focus-visible,.lp-scenario:focus-visible,.lp-modal__close:focus-visible{outline:2px solid var(--primary, hsl(200, 50%, 55%));outline-offset:2px}.scenario-detail{flex:1;overflow-y:auto}.scenario-detail__header{background:var(--surface, hsl(210, 20%, 18%));color:var(--text--primary, hsl(210, 15%, 85%));padding:24px 16px;border-bottom:1px solid var(--border, hsl(210, 15%, 30%))}.scenario-detail__level-badge{margin-bottom:12px}.scenario-detail__back-link{color:var(--primary, hsl(200, 50%, 65%));text-decoration:none;font-size:14px;margin-bottom:16px;display:inline-block}.scenario-detail__back-link:hover{text-decoration:underline}.scenario-detail__title{font-size:20px;font-weight:700;margin:0 0 8px;color:var(--text--primary, hsl(210, 15%, 85%))}.scenario-detail__breadcrumb{font-size:14px;margin:0 0 12px;color:var(--text--secondary, hsl(210, 15%, 60%))}.scenario-detail__description{font-size:14px;margin:0;color:var(--text--secondary, hsl(210, 15%, 60%))}.scenario-detail__loading,.scenario-detail__error{padding:24px;text-align:center;color:var(--text--secondary, hsl(210, 15%, 60%))}.scenario-detail__error{color:var(--error, hsl(5, 75%, 60%))}.scenario-detail__lessons-section{padding:16px}.scenario-detail__lessons-title{font-size:18px;font-weight:700;margin:0 0 16px;color:var(--text--primary, hsl(210, 15%, 85%))}.scenario-detail__lessons-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.scenario-detail__lesson-card{background:var(--surface, hsl(210, 20%, 18%));border:1px solid var(--border, hsl(210, 15%, 30%));border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px}.scenario-detail__lesson-icon{font-size:24px;color:var(--primary, hsl(200, 50%, 65%))}.scenario-detail__lesson-info{flex:1}.scenario-detail__lesson-title{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--text--primary, hsl(210, 15%, 85%));display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scenario-detail__stars{display:inline-flex;gap:2px;font-size:12px}.scenario-detail__lesson-meta{font-size:14px;color:var(--text--secondary, hsl(210, 15%, 60%));margin:0}.scenario-detail__vocab-stats{font-size:14px}.scenario-detail__lesson-button{background:var(--primary, hsl(200, 50%, 65%));color:var(--bg, hsl(210, 20%, 12%));text-decoration:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;white-space:nowrap}.scenario-detail__lesson-button:hover{opacity:.9}.scenario-detail__empty-state{background:var(--surface, hsl(210, 20%, 18%));border:1px solid var(--border, hsl(210, 15%, 30%));border-radius:12px;padding:32px 16px;text-align:center;margin-bottom:16px}.scenario-detail__empty-text{font-size:16px;font-weight:600;color:var(--text--primary, hsl(210, 15%, 85%));margin:0 0 8px}.scenario-detail__empty-hint{font-size:14px;color:var(--text--secondary, hsl(210, 15%, 60%));margin:0}.scenario-detail__generate-button{width:100%;background:var(--accent, hsl(35, 60%, 55%));color:var(--bg, hsl(210, 20%, 12%));border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:700;cursor:pointer}.scenario-detail__generate-button:hover:not(:disabled){opacity:.9}.scenario-detail__generate-button:disabled{opacity:.6;cursor:not-allowed}.slp-page{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:16px;display:flex;flex-direction:column;gap:24px}.slp-section{display:flex;flex-direction:column;gap:12px}.slp-section__title{font-size:16px;font-weight:600;color:var(--text-secondary, hsl(210, 10%, 70%));margin:0;padding:0 4px}.slp-loading,.slp-error{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary, hsl(210, 10%, 70%));font-size:15px}.slp-error{color:#db5757}.slp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:#212930;border-radius:16px;border:1px solid hsl(210,15%,24%)}.slp-empty__icon{font-size:48px;color:#4c5967;margin-bottom:16px}.slp-empty__text{font-size:16px;font-weight:600;color:var(--text-primary, hsl(210, 10%, 90%));margin:0 0 8px}.slp-empty__hint{font-size:14px;color:var(--text-secondary, hsl(210, 10%, 70%));margin:0}.slp-books{display:flex;flex-direction:column;gap:12px}.slp-book{display:flex;align-items:center;gap:16px;padding:16px;background:#212930;border:1px solid hsl(210,15%,24%);border-radius:16px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.slp-book:hover{background:#283039;border-color:#414d58}.slp-book:active{transform:scale(.98)}.slp-book__cover{flex-shrink:0;width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#379,#265973);display:flex;align-items:center;justify-content:center;overflow:hidden}.slp-book__cover img{width:100%;height:100%;object-fit:cover}.slp-book__cover i{font-size:24px;color:#fff;opacity:.9}.slp-book__info{flex:1;min-width:0}.slp-book__title{font-size:16px;font-weight:600;color:var(--text-primary, hsl(210, 10%, 90%));margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slp-book__description{font-size:13px;color:var(--text-secondary, hsl(210, 10%, 70%));margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.slp-book__arrow{flex-shrink:0;font-size:14px;color:#73808c}.slp-section--unlock{margin-top:auto;padding-top:24px;border-top:1px solid hsl(210,15%,20%)}.slp-unlock{display:flex;flex-direction:column;gap:8px}.slp-unlock__input-group{display:flex;gap:8px}.slp-unlock__input{flex:1;padding:14px 16px;background:#1d242a;border:1px solid hsl(210,15%,24%);border-radius:12px;color:var(--text-primary, hsl(210, 10%, 90%));font-size:15px;font-family:inherit;letter-spacing:.5px;text-transform:uppercase;transition:border-color .2s ease}.slp-unlock__input::placeholder{color:#67737e;text-transform:none;letter-spacing:normal}.slp-unlock__input:focus{outline:none;border-color:var(--primary, hsl(200, 50%, 55%))}.slp-unlock__btn{flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--primary, hsl(200, 50%, 55%));border:none;border-radius:12px;color:#fff;font-size:18px;cursor:pointer;transition:all .2s ease}.slp-unlock__btn:hover:not(:disabled){background:#4095bf}.slp-unlock__btn:active:not(:disabled){transform:scale(.95)}.slp-unlock__btn:disabled{opacity:.5;cursor:not-allowed}.slp-unlock__error{font-size:13px;color:#db5757;margin:4px 0 0;padding:0 4px}@media(min-width:600px){.slp-page{padding:24px;max-width:600px;margin:0 auto}.slp-book{padding:20px}.slp-book__cover{width:64px;height:64px}.slp-book__title{font-size:17px}}.admin-panel{max-width:1200px;margin:0 auto;padding:2rem}.admin-panel.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.2rem;color:#666}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-header h1{margin:0;color:#2c3e50}.save-button{padding:.75rem 1.5rem;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .3s}.save-button:hover{background-color:#2980b9}.save-button.dirty{background-color:#e74c3c;animation:pulse 2s infinite}.save-button.dirty:hover{background-color:#c0392b}.save-button:disabled{background-color:#95a5a6;cursor:not-allowed}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.tabs{display:flex;gap:.5rem;border-bottom:2px solid #e0e0e0;margin-bottom:2rem}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;color:#666;transition:all .3s}.tab:hover{color:#3498db}.tab.active{color:#3498db;border-bottom-color:#3498db;font-weight:600}.settings-section{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem}.settings-section h2{color:#2c3e50;font-size:1.5rem;margin-bottom:.5rem}.settings-section.mode-section{background:#f8f9fa;padding:2rem;border-radius:8px;border-left:4px solid #3498db}.section-description{color:#666;font-size:.95rem;margin-top:0;margin-bottom:1.5rem;line-height:1.5}.settings-section h3{color:#34495e;font-size:1.1rem;margin-top:1.5rem;margin-bottom:.75rem}.helper-text{color:#7f8c8d;font-size:.9rem;margin-bottom:1rem;font-style:italic}.setting-field{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.setting-field label{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:.5rem;color:#2c3e50}.setting-key{font-size:.85rem;color:#7f8c8d;font-family:monospace;background:#ecf0f1;padding:.25rem .5rem;border-radius:3px}.setting-field textarea,.setting-field input,.setting-field select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;resize:vertical}.setting-field textarea{font-family:monospace;line-height:1.5}.setting-field textarea.error,.setting-field input.error,.setting-field select.error{border-color:#e74c3c;background-color:#ffe5e5}.error-message{color:#e74c3c;font-size:.9rem;margin-top:.5rem}.setting-actions{display:flex;gap:.5rem;margin-top:1rem}.setting-actions button{padding:.5rem 1rem;background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s}.setting-actions button:hover{background-color:#bdc3c7}.preview-section{margin-top:3rem;padding:2rem;background:#f8f9fa;border-radius:8px}.preview-section h3{margin-top:0;color:#2c3e50}.test-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:1rem}.form-row label{flex:1;display:flex;flex-direction:column;gap:.5rem}.form-row input,.form-row select{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem}.form-actions{display:flex;gap:1rem;margin-top:1rem}.form-actions button{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .3s}.form-actions button.primary{background-color:#27ae60;color:#fff}.form-actions button.primary:hover{background-color:#229954}.form-actions button.secondary{background-color:#3498db;color:#fff}.form-actions button.secondary:hover{background-color:#2980b9}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000001a}.modal-content.large{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#2c3e50}.modal-header button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-header button:hover{color:#e74c3c}.modal-body{padding:1.5rem;overflow-y:auto}.modal-body button{margin-top:1rem;padding:.5rem 1rem;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer}.modal-body button:hover{background-color:#2980b9}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e0e0e0}.history-table th{background-color:#f8f9fa;font-weight:600;color:#2c3e50}.history-table tr:hover{background-color:#f8f9fa}.diff{font-family:monospace;font-size:.85rem;line-height:1.5}.diff-line{padding:.25rem .5rem;margin:.125rem 0;border-radius:3px}.diff-line.removed{background-color:#ffe5e5;color:#c0392b}.diff-line.added{background-color:#d4edda;color:#27ae60}.diff-line.unchanged{color:#666}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:3rem;font-size:1.1rem;color:#666}.loading-spinner:after{content:"";width:20px;height:20px;margin-left:10px;border:3px solid #f3f3f3;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chirp-voices-section{margin-top:1.5rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.chirp-voices-section h4{margin:0 0 .5rem;color:#333;font-size:1.1rem;font-weight:600}.chirp-voices-section .helper-text{font-size:.9rem;color:#666;margin-bottom:1.5rem;line-height:1.5}.chirp-voices-section .helper-text a{color:#1976d2;text-decoration:none}.chirp-voices-section .helper-text a:hover{text-decoration:underline}.setting-field.compact{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.setting-field.compact:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.setting-field.compact label{font-size:.95rem;font-weight:500}.setting-field.compact input{margin-top:.5rem}@media(max-width:768px){.admin-panel{padding:1rem}.admin-header{flex-direction:column;gap:1rem;align-items:stretch}.form-row,.form-actions{flex-direction:column}.modal-content{width:95%}}.admin-all-lessons{max-width:1400px;margin:0 auto;padding:2rem}.admin-all-lessons__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-all-lessons__header h1{font-size:2rem;color:#2c3e50}.admin-all-lessons__back-btn{padding:.75rem 1.5rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.admin-all-lessons__back-btn:hover{background:#2980b9}.admin-all-lessons__stats{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background:#ecf0f1;border-radius:4px}.admin-all-lessons__stat{display:flex;gap:.5rem;align-items:center}.admin-all-lessons__stat-label{font-weight:600;color:#7f8c8d}.admin-all-lessons__stat-value{font-size:1.2rem;font-weight:700;color:#2c3e50}.admin-all-lessons__loading,.admin-all-lessons__error,.admin-all-lessons__empty{text-align:center;padding:3rem;font-size:1.2rem;color:#7f8c8d}.admin-all-lessons__error{color:#e74c3c}.admin-all-lessons__table-wrapper{overflow-x:auto;margin-bottom:2rem;border:1px solid #ddd;border-radius:4px}.admin-all-lessons__table{width:100%;border-collapse:collapse;background:#fff}.admin-all-lessons__table thead{background:#34495e;color:#fff}.admin-all-lessons__table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.admin-all-lessons__table td{padding:.75rem 1rem;border-bottom:1px solid #ecf0f1;font-size:.95rem}.admin-all-lessons__row{cursor:pointer;transition:background-color .2s}.admin-all-lessons__row:hover{background-color:#f8f9fa}.admin-all-lessons__cell--title{font-weight:600;color:#2c3e50;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-all-lessons__cell--date{color:#7f8c8d;font-size:.85rem;white-space:nowrap}.admin-all-lessons__user{display:flex;flex-direction:column;gap:.25rem}.admin-all-lessons__user-name{font-weight:600;color:#2c3e50}.admin-all-lessons__user-email{font-size:.85rem;color:#7f8c8d}.admin-all-lessons__badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.admin-all-lessons__badge--a1{background:#e3f2fd;color:#1976d2}.admin-all-lessons__badge--a2{background:#e8f5e9;color:#388e3c}.admin-all-lessons__badge--b1{background:#fff3e0;color:#f57c00}.admin-all-lessons__badge--b2{background:#fce4ec;color:#c2185b}.admin-all-lessons__badge--c1{background:#f3e5f5;color:#7b1fa2}.admin-all-lessons__badge--c2{background:#ede7f6;color:#512da8}.admin-all-lessons__badge--mode{background:#e0f7fa;color:#00838f}.admin-all-lessons__vocab,.admin-all-lessons__forms{display:flex;align-items:center}.admin-all-lessons__vocab-count,.admin-all-lessons__forms-count{color:#2c3e50;font-weight:500}.admin-all-lessons__vocab-empty,.admin-all-lessons__forms-empty{color:#bdc3c7;font-style:italic}.admin-all-lessons__status{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:capitalize}.admin-all-lessons__status--complete{background:#d4edda;color:#155724}.admin-all-lessons__status--generating{background:#fff3cd;color:#856404}.admin-all-lessons__status--failed{background:#f8d7da;color:#721c24}.admin-all-lessons__parent{color:#8e44ad;font-weight:500}.admin-all-lessons__parent-empty{color:#bdc3c7}.admin-all-lessons__pagination{display:flex;justify-content:center;align-items:center;gap:2rem;padding:1.5rem}.admin-all-lessons__page-btn{padding:.75rem 1.5rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.admin-all-lessons__page-btn:hover:not(:disabled){background:#2980b9}.admin-all-lessons__page-btn:disabled{background:#bdc3c7;cursor:not-allowed}.admin-all-lessons__page-info{font-weight:600;color:#2c3e50;font-size:1rem}.admin-lesson-detail{max-width:1400px;margin:0 auto;padding:2rem}.admin-lesson-detail__loading,.admin-lesson-detail__error{text-align:center;padding:3rem;font-size:1.2rem;color:#7f8c8d}.admin-lesson-detail__error{color:#e74c3c}.admin-lesson-detail__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #ecf0f1}.admin-lesson-detail__title{font-size:2rem;color:#2c3e50;margin-bottom:.5rem}.admin-lesson-detail__subtitle{color:#7f8c8d;font-size:.9rem;font-family:monospace}.admin-lesson-detail__back-btn{padding:.75rem 1.5rem;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.admin-lesson-detail__back-btn:hover{background:#2980b9}.admin-lesson-detail__metadata{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem}.admin-lesson-detail__section{background:#fff;border:1px solid #ddd;border-radius:4px;padding:1.5rem}.admin-lesson-detail__section h2{font-size:1.3rem;color:#2c3e50;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #ecf0f1}.admin-lesson-detail__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.admin-lesson-detail__field{display:flex;flex-direction:column;gap:.5rem}.admin-lesson-detail__field label{font-weight:600;color:#7f8c8d;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.admin-lesson-detail__user-name{font-weight:600;color:#2c3e50}.admin-lesson-detail__user-email{font-size:.9rem;color:#7f8c8d}.admin-lesson-detail__badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:uppercase;width:fit-content}.admin-lesson-detail__badge--a1{background:#e3f2fd;color:#1976d2}.admin-lesson-detail__badge--a2{background:#e8f5e9;color:#388e3c}.admin-lesson-detail__badge--b1{background:#fff3e0;color:#f57c00}.admin-lesson-detail__badge--b2{background:#fce4ec;color:#c2185b}.admin-lesson-detail__badge--c1{background:#f3e5f5;color:#7b1fa2}.admin-lesson-detail__badge--c2{background:#ede7f6;color:#512da8}.admin-lesson-detail__badge--mode{background:#e0f7fa;color:#00838f}.admin-lesson-detail__status{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:capitalize;width:fit-content}.admin-lesson-detail__status--complete{background:#d4edda;color:#155724}.admin-lesson-detail__status--generating{background:#fff3cd;color:#856404}.admin-lesson-detail__status--failed{background:#f8d7da;color:#721c24}.admin-lesson-detail__parent-link,.admin-lesson-detail__link{color:#3498db;cursor:pointer;font-family:monospace;font-size:.9rem}.admin-lesson-detail__link:hover{text-decoration:underline}.admin-lesson-detail__tags{display:flex;flex-wrap:wrap;gap:.5rem}.admin-lesson-detail__tag{display:inline-block;padding:.5rem 1rem;background:#e3f2fd;color:#1976d2;border-radius:16px;font-size:.9rem;font-weight:500}.admin-lesson-detail__tag--form{background:#f3e5f5;color:#7b1fa2}.admin-lesson-detail__audio-player{width:100%;max-width:600px}.admin-lesson-detail__error-box{background:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;border-left:4px solid #e74c3c;font-family:monospace;white-space:pre-wrap}.admin-lesson-detail__table-wrapper{overflow-x:auto}.admin-lesson-detail__table{width:100%;border-collapse:collapse}.admin-lesson-detail__table thead{background:#34495e;color:#fff}.admin-lesson-detail__table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.admin-lesson-detail__table td{padding:1rem;border-bottom:1px solid #ecf0f1;vertical-align:top}.admin-lesson-detail__table tbody tr:hover{background-color:#f8f9fa}.admin-lesson-detail__cell--number{font-weight:700;color:#7f8c8d;text-align:center}.admin-lesson-detail__cell--estonian{color:#2c3e50;font-weight:500;line-height:1.6}.admin-lesson-detail__cell--native{color:#7f8c8d;line-height:1.6}.admin-lesson-detail__cell--audio{text-align:center}.admin-lesson-detail__audio-controls{display:flex;justify-content:center;align-items:center}.admin-lesson-detail__play-btn{width:40px;height:40px;border-radius:50%;border:none;background:#3498db;color:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.admin-lesson-detail__play-btn:hover{background:#2980b9}.admin-lesson-detail__play-btn--active{background:#e74c3c}.admin-lesson-detail__play-btn--active:hover{background:#c0392b}.admin-lesson-detail__no-audio{color:#bdc3c7;font-style:italic;font-size:.85rem}.admin-lesson-detail__debug-summary{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-lesson-detail__debug-summary h2{display:inline;margin:0;color:#7f8c8d}.admin-lesson-detail__debug-summary:hover h2{color:#2c3e50}.admin-lesson-detail__json{background:#2c3e50;color:#ecf0f1;padding:1rem;border-radius:4px;overflow-x:auto;font-family:Courier New,monospace;font-size:.85rem;line-height:1.5;margin-top:1rem}
