.container{max-width:1100px;margin:0 auto;padding:16px}.h2{margin-bottom:12px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}.toolbar label{display:flex;gap:8px;align-items:center}.spacer{flex:1}.toolbar-id{font-size:.95rem;color:#666;white-space:nowrap}.input,.select{padding:6px 10px;border:1px solid #cfcfcf;border-radius:10px;background:#fff;font-size:1rem}.input-n{width:90px;text-align:right}.btn{padding:8px 12px;border-radius:14px;border:1px solid #d0d0d0;background:#fff;cursor:pointer}.btn:hover{background:#f3f3f3}.btn:disabled{opacity:.6;cursor:not-allowed}.card{border:1px solid #dedede;border-radius:16px;padding:14px;background:#fff}.cardHeader{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px;margin-bottom:12px}.cardActions{display:flex;justify-content:flex-start;align-items:center;gap:10px;width:100%}.cardBody{margin-top:6px}.cardEditor{display:grid;gap:8px;margin:0 0 12px;padding:10px;border:1px solid #d8dee9;border-radius:8px;background:#f8fafc}.cardEditor label{display:grid;gap:4px;font-size:12px;font-weight:700}.cardEditor textarea{box-sizing:border-box;width:100%;min-height:64px;padding:8px;border:1px solid #cfcfcf;border-radius:6px;font:inherit;resize:vertical}.cardEditorActions{display:flex;flex-wrap:wrap;gap:8px}.cardDeleteButton{color:#b00020;border-color:#f1b5b5}.metaLine{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.meta-grammar{font-weight:700}.meta-word{font-weight:800}.meta-pos{font-weight:600}.meta-rank,.meta-freq{color:#555}.nl{font-size:2.2rem;font-weight:700;margin:10px 0 14px}.error{color:#c00;margin-bottom:10px}.details{margin-top:10px}.block{display:block;gap:16px;flex-wrap:wrap;margin-top:8px}.blockCol{min-width:260px}.blockTitle{font-weight:700}.pre{white-space:pre-wrap;font-weight:700;line-height:1.45}.sttBox{margin-top:10px;padding:12px;border:1px dashed #cfcfcf;border-radius:12px}.sttMeta{font-size:.9rem;color:#666}.wordRow{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.wordOk{color:green;font-weight:700}.wordBad{color:red;font-weight:700}@media(max-width:720px){.container{padding:12px}.h2{font-size:1.35rem}.toolbar{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"topn topn topn topn mode mode mode mode lang lang lang lang" "id   id   id   id   id   id   id   id   id   id   id   id" "start start start prev prev prev next next next end end end";gap:10px;align-items:center}.toolbar>.spacer,.spacer{display:none!important}.toolbar>label:nth-of-type(1){grid-area:topn}.toolbar>label:nth-of-type(2){grid-area:mode}.toolbar>label:nth-of-type(3){grid-area:lang}.toolbar label{display:flex;align-items:center;width:auto;min-width:0;white-space:nowrap;gap:6px}.input-n{width:44px;padding:4px 6px;font-size:.9rem}.select{min-width:56px;padding:6px 8px;font-size:.95rem}.toolbar-id{grid-area:id;white-space:normal}.toolbar>button:nth-of-type(1){grid-area:start}.toolbar>button:nth-of-type(2){grid-area:prev}.toolbar>button:nth-of-type(3){grid-area:next}.toolbar>button:nth-of-type(4){grid-area:end}.toolbar>.navRow{grid-column:1 / -1;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.toolbar>.navRow .btn{width:100%;min-width:0;padding:8px 6px;font-size:.9rem}.toolbar>button{padding:10px 8px;font-size:.95rem}.cardHeader{flex-direction:column;gap:10px}.cardActions{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:8px}.cardActions .btn{min-width:0;padding:10px 6px;font-size:.9rem}.cardEditorActions .btn{flex:1 1 auto}.nl{font-size:1.55rem;line-height:1.2}.blockCol{min-width:100%}}.mic-icon{font-size:1.6em;vertical-align:-2px}@media(max-width:420px){.nl{font-size:1.3rem}}@keyframes micPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}to{transform:scale(1);opacity:1}}.mic-icon{font-size:1.6em;line-height:1;margin-right:4px;display:inline-block}.mic-btn.listening .mic-icon,.mic-icon.pulsing{animation:micPulse .9s ease-in-out infinite}.rightStack{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.authRow{display:flex;align-items:center;gap:8px}.navRow{display:flex;align-items:center;gap:10px}.authInput{width:160px;padding:6px 8px;border:1px solid #cfcfcf;border-radius:6px}.authErr{margin-left:8px;color:#b00020;font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trainerHeader{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px}.trainerTitle{flex:0 1 auto;margin:0}.loginArea{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;min-width:0}.authPanel{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex-wrap:wrap}.authPanel .authRow{justify-content:flex-end;flex-wrap:wrap}.authPanel .authInput{box-sizing:border-box;height:34px}.authPanel button{min-height:34px}.authDivider{display:flex;align-items:center;color:#777;font-size:12px;gap:8px;white-space:nowrap}.authDivider:before,.authDivider:after{display:none}.googleLogin{min-height:34px;width:220px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:4px}.googleLogin>div:first-child{max-width:100%}.authError{color:#b00020;font-size:12px;max-width:420px;white-space:normal;overflow-wrap:anywhere}.sourcePicker{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0 0 10px;max-width:320px}.sourcePicker label{font-size:12px;opacity:.8}.sourcePicker select{width:100%;min-height:32px;padding:6px 8px;border:1px solid #cfcfcf;border-radius:0;background:#fff}.sourcePickerError{color:#b00020;font-size:12px;overflow-wrap:anywhere}@media(max-width:760px){.trainerHeader{flex-direction:column;align-items:stretch;gap:12px}.trainerTitle{text-align:center;font-size:1.35rem;line-height:1.2}.loginArea{width:100%}.authPanel{width:100%;max-width:320px;margin:0 auto;display:grid;grid-template-columns:1fr;align-items:center;gap:8px}.authPanel .authRow{display:grid;grid-template-columns:minmax(0,1fr) 58px;justify-content:center;gap:5px 6px;width:100%;grid-column:1;grid-row:2}.authPanel .authInput{width:100%;max-width:none;height:28px;padding:4px 6px;font-size:12px}.authPanel .authInput:first-of-type{grid-column:1;grid-row:1}.authPanel .authInput:nth-of-type(2){grid-column:1;grid-row:2}.authPanel .authRow button{width:58px;min-width:58px;min-height:28px;padding:3px 6px;font-size:12px}.authPanel .authRow button:first-of-type{grid-column:2;grid-row:1}.authPanel .authRow button:last-of-type{grid-column:2;grid-row:2}.authDivider{display:none}.authDivider:before,.authDivider:after{display:none}.googleLogin{grid-column:1;grid-row:1;width:220px;justify-self:center;align-self:center;margin-left:0;min-height:40px}.googleLogin>div:first-child,.googleLogin iframe{max-width:220px!important}.sourcePicker{max-width:100%;margin-bottom:8px}.navRow{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.navRow .btn{width:100%;min-width:0;padding-left:8px;padding-right:8px}}.appShell{min-height:100vh;background:#fff}.appHeader{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid rgba(0,0,0,.08);padding:10px 14px;display:flex;align-items:center;justify-content:center}.navLeft,.navRight{display:flex;align-items:center;gap:10px}.navCenter{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;min-width:0}.appMain{max-width:980px;margin:0 auto}.btn{white-space:nowrap}.input{width:100%;max-width:360px;padding:10px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.15);outline:none}.trainingWrap{width:100%}.mic-btn{min-width:56px;display:inline-flex;align-items:center;justify-content:center}.mic-icon{font-size:22px;line-height:1}.ytDialogPage{padding:0 0 40px}.ytDialogTopbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.ytChooseWrap,.ytTopToggles,.ytToggleLabel{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ytChooseLabel{font-weight:600;white-space:nowrap}.ytChooseButton{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:180px;max-width:280px;padding:8px 12px;border-radius:12px;border:1px solid #cbd5e1;background:#f8fafc;color:#111827;cursor:pointer;font-size:14px;line-height:1.2}.ytChooseButton span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ytChooseArrow{flex:0 0 auto;font-size:20px;line-height:1;font-weight:700}.ytToggleLabel{margin:0;white-space:nowrap}.ytDialogForm{display:grid;grid-template-columns:minmax(220px,1fr) 110px 72px auto;gap:10px;align-items:center;margin-bottom:14px}.ytUrlInput{max-width:none}.ytLangInput{max-width:72px}.ytError{white-space:pre-wrap}.ytDialogResult{display:grid;gap:14px}.ytPracticeCard{padding:0;overflow:hidden}.ytPracticeHero{min-height:86px;background:#eef2ff;padding:14px;display:grid;place-items:center}.ytPracticeBubble{max-width:min(680px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 4px 12px #00000014;padding:10px 14px;text-align:center;line-height:1.35}.ytPracticeText{font-weight:700}.ytPracticeWords{justify-content:center}.ytPracticeTranslation{margin-top:8px;color:#555}.ytPracticeControls{padding:8px;border-top:1px solid #eee;display:grid;gap:6px}.ytControlRow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ytActiveCounter{color:#555;font-size:.9rem;font-variant-numeric:tabular-nums}.ytSummary{display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px;border:1px solid #dedede;border-radius:8px;background:#fff}.ytTitleForm{display:grid;grid-template-columns:auto minmax(220px,420px) auto;gap:8px;align-items:center}.ytTitleLabel{font-weight:700}.ytTitleInput{width:100%;max-width:none}.ytAudio{width:100%}.ytSection{border-top:1px solid #dedede;padding-top:12px}.ytSection h3{margin:0 0 10px;font-size:1rem}.ytSectionHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.ytSectionHeader h3{margin:0}.ytSavedSection{margin-bottom:14px}.ytSavedHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.ytSavedList{display:grid;gap:8px}.ytSavedItem{display:block;width:100%;padding:10px 12px;border:1px solid #dedede;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.ytSavedItem:hover{background:#f7f7f7}.ytSavedTitle{font-weight:700;margin-bottom:4px}.ytSavedMeta,.ytMuted{color:#666;font-size:.9rem}.ytLineList{display:grid;gap:8px}.ytLine{display:grid;grid-template-columns:132px 1fr;gap:12px;align-items:baseline;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer}.ytLineActive{background:#f8fafc;border-color:#c7d2fe}.ytTime{font-variant-numeric:tabular-nums;color:#555;font-size:.9rem}.ytLineText{line-height:1.45}.ytLineMain{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.ytLineActions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.ytLineHideButton{color:#991b1b}.ytLineTranslation{margin-top:4px;color:#555;font-size:.95rem}.ytLineWords{display:flex;flex-wrap:wrap;gap:4px 6px}.ytLineWord,.ytLineWordApprox{position:relative;display:inline-flex;align-items:baseline;gap:4px;padding:2px 5px;border-radius:6px;cursor:help}.ytLineWord:hover,.ytLineWordApprox:hover{background:#eef6ff}.ytLineWordOk,.ytLineWordOk:hover{background:#dcfce7;border:1px solid #86efac;color:#166534;font-weight:700}.ytLineWordBad,.ytLineWordBad:hover{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;font-weight:700}.ytLineWord:after,.ytLineWordApprox:after{content:attr(data-gloss);position:absolute;left:0;bottom:calc(100% + 6px);z-index:20;display:none;max-width:240px;padding:5px 7px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#111827;box-shadow:0 8px 22px #0f172a24;font-size:.82rem;line-height:1.25;white-space:nowrap}.ytLineWord:hover:after,.ytLineWordApprox:hover:after{display:block}.ytWordTimeLabel{color:#475569;font-size:.78rem;font-variant-numeric:tabular-nums}.ytPracticePanel{display:grid;gap:4px;margin-top:8px;padding:8px;border:1px solid #e5e7eb;border-radius:6px;background:#f8fafc;font-size:.9rem}.ytPracticePanelTop{margin:8px}.ytUserAudio{width:min(100%,420px);margin-top:4px}.ytWords{display:flex;flex-wrap:wrap;gap:7px;line-height:1.8}.ytWord,.ytWordCorrected,.ytWordUnmatched{padding:2px 5px;border-radius:6px;background:#f5f5f5}.ytWordCorrected{background:#dcfce7;border:1px solid #86efac}.ytWordUnmatched{background:#fff7ed;border:1px solid #fed7aa}.ytFiles{color:#555;font-size:.9rem;overflow-wrap:anywhere}.ytDialogPickerOverlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073}.ytDialogPicker{width:100%;max-width:460px;max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;overflow:hidden;display:flex;flex-direction:column}.ytDialogPickerHeader,.ytDialogPickerFooter{padding:12px 14px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;gap:10px;align-items:center}.ytDialogPickerFooter{border-top:1px solid #e5e7eb;border-bottom:0;justify-content:flex-end}.ytDialogPickerList{overflow-y:auto;max-height:60vh}.ytDialogPickerItem{width:100%;text-align:left;padding:14px 16px;border:0;border-bottom:1px solid #f1f5f9;background:#fff;cursor:pointer;font-size:1rem}.ytDialogPickerItem:hover,.ytDialogPickerItemSelected{background:#eef2ff}.teacherPage{padding:14px 0 40px}.teacherTopbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.teacherMeta{color:#666;font-size:.9rem}.teacherHeaderStats{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 4px}.teacherCostLine{display:inline-flex;gap:8px;align-items:baseline;margin:0;padding:4px 8px;border:1px solid #86efac;border-radius:8px;background:#f0fdf4;font-size:.9rem}.teacherCostLine strong{font-variant-numeric:tabular-nums}.teacherControls,.teacherInline,.teacherTextSend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacherStatus{display:inline-flex;gap:8px;align-items:center;padding:4px 8px;border:1px solid #d8dee9;border-radius:8px;background:#f8fafc}.teacherUsage{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;margin-bottom:14px}.teacherUsageItem{display:grid;gap:2px;min-height:58px;padding:8px 10px;border:1px solid #d8dee9;border-radius:8px;background:#fff}.teacherUsageItem span{color:#666;font-size:.82rem}.teacherUsageItem strong{font-size:1.05rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.teacherUsageTotal{background:#f8fafc}.teacherUsageMoney{border-color:#86efac;background:#f0fdf4}.teacherDialog{display:grid;gap:6px;margin-bottom:10px}.teacherBubble{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:baseline;border:1px solid #d8dee9;border-radius:8px;padding:8px 10px;line-height:1.45;min-height:0}.teacherBubbleUser{background:#f8fafc}.teacherBubbleAssistant{background:#f0fdf4}.teacherBubbleLabel{font-weight:700;margin-bottom:0}.publicInfoMain{min-height:calc(100vh - 110px);box-sizing:border-box;padding:32px 16px 48px;background:#f8fafc}.legalPage{width:100%;max-width:820px;margin:0 auto}.legalBrand{display:inline-block;margin:0 0 18px;color:#1d4ed8;font-size:1.15rem;font-weight:800;text-decoration:none}.legalBrand:hover,.legalArticle a:hover,.publicFooter a:hover{text-decoration:underline}.legalArticle{padding:28px 34px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#1f2937;box-shadow:0 8px 28px #0f172a0d}.legalArticle h1{margin:0 0 20px;color:#111827;font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15}.legalArticle h2{margin:28px 0 10px;color:#111827;font-size:1.2rem;line-height:1.3}.legalArticle p,.legalArticle li,.legalContactDetails,.legalContactList{font-size:1rem;line-height:1.65}.legalArticle p{margin:0 0 14px}.legalArticle ul{margin:8px 0 18px;padding-left:24px}.legalArticle a,.publicFooter a{color:#1d4ed8}.legalUpdated{color:#64748b;font-weight:600}.legalContactDetails{margin:0;font-style:normal}.legalContactList{margin:0 0 20px}.legalContactList>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px}.legalContactList dt{font-weight:700}.legalContactList dd{margin:0;overflow-wrap:anywhere}.publicFooter{box-sizing:border-box;width:100%;padding:20px 16px 24px;border-top:1px solid #e2e8f0;background:#fff;color:#64748b;text-align:center}.publicFooterNav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.publicFooterLink,.publicFooterNav a{font-size:.9rem}.publicFooterNav a{text-decoration:none}.publicFooterMeta{margin-top:10px;font-size:.78rem}@media(max-width:600px){.publicInfoMain{padding:20px 10px 32px}.legalBrand{margin-left:4px}.legalArticle{padding:22px 18px;border-radius:12px}.legalArticle h2{margin-top:24px}.legalContactList>div{display:block;margin-bottom:8px}.publicFooter{padding:18px 12px 22px}}.teacherBubbleContent{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;min-width:0}.teacherBubbleSaveButton{align-self:start}.teacherTextSend{margin-bottom:16px}.teacherTextInput{max-width:none;flex:1;min-width:220px}.teacherConversation{border-top:1px solid #dedede;padding-top:10px}.teacherConversation h3{margin:0 0 8px;font-size:1rem}.teacherMessage{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin-bottom:8px;padding:10px 12px;border:1px solid #d8dee9;border-radius:8px;background:#fff}.teacherMessageRole{font-weight:700;margin-right:8px;white-space:nowrap}.teacherSaveButton{justify-self:end;padding:4px 8px;border-radius:8px;font-size:.85rem}.teacherMessage p{min-width:0;margin:0;line-height:1.45;text-align:left;overflow-wrap:anywhere}.teacherMessageTranslation{display:block;margin-top:3px;padding-left:0;color:#667085;font-size:.82rem;line-height:1.3}.teacherMessage-user{background:#f8fafc}.teacherMessage-teacher{background:#f0fdf4}.teacherError{white-space:pre-wrap}@media(max-width:720px){.appHeader{position:static;justify-content:flex-start;align-items:flex-start;gap:3px;padding:5px 8px;overflow-x:hidden}.navCenter{justify-content:flex-start;gap:3px;flex:1}.navRight{flex:0 0 auto;margin-left:auto}.appHeader .btn{padding:5px 9px;border-radius:10px;font-size:.84rem;line-height:1.15}.appMain{width:100%;max-width:none;padding:0 8px;box-sizing:border-box;overflow-x:hidden}.ytDialogForm{grid-template-columns:1fr 92px 64px}.ytUrlInput{grid-column:1 / -1}.ytLine{grid-template-columns:1fr;gap:4px}.ytLineMain{grid-template-columns:1fr}.ytLineActions{justify-content:flex-start}.ytTitleForm{grid-template-columns:1fr}.teacherTopbar{display:grid;grid-template-columns:1fr;align-items:stretch;gap:4px;margin-bottom:6px}.teacherPage{padding:6px 0 24px;overflow-x:hidden}.teacherPage .h2{margin:0 0 4px;font-size:1.22rem;line-height:1.15}.teacherHeaderStats{gap:4px;margin:0 0 4px}.teacherCostLine,.teacherStatus{gap:5px;font-size:.78rem;padding:3px 6px;line-height:1.15}.teacherControls,.teacherInline{width:100%}.teacherControls{display:grid;grid-template-columns:minmax(132px,1.45fr) minmax(70px,.75fr) minmax(76px,.8fr);gap:5px;align-items:center;margin-bottom:8px}.teacherInline{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px;min-width:0;font-size:.86rem}.teacherControls .select{width:100%;min-width:0;height:31px;padding:4px 8px}.teacherControls .btn{width:100%;min-width:0;height:31px;padding:4px 8px;overflow:hidden;text-overflow:ellipsis}.teacherTextSend{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.teacherTextInput{min-width:0;width:100%}.teacherTextSend .btn{width:auto;max-width:84px}.teacherBubble{grid-template-columns:58px minmax(0,1fr);gap:8px;padding:8px 10px}.teacherMessage{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-width:0;text-align:left}.teacherMessageRole{display:inline;text-align:left}.teacherSaveButton{grid-column:2;grid-row:1;flex:0 0 auto}.teacherMessage p{grid-column:1;grid-row:1;width:100%;min-width:0;overflow-wrap:anywhere;text-align:left;justify-self:stretch}.teacherBubble,.teacherBubble>div{text-align:left}}.btn-listen-hint{border:2px solid #2f80ed;box-shadow:0 0 0 4px #2f80ed2e;font-weight:700}.mic-btn.listening{border-color:#2f80ed;box-shadow:0 0 0 4px #2f80ed2e;animation:micPulse 1s infinite ease-in-out}@keyframes micPulse{0%{transform:scale(1);box-shadow:0 0 #2f80ed47}70%{transform:scale(1.04);box-shadow:0 0 0 10px #2f80ed00}to{transform:scale(1);box-shadow:0 0 #2f80ed00}}
