/* TrainingModeChooserView / MaterialsLessonVisuals / LessonView action dock. */
.native-shell .lesson-container{background:#f7f8fa;overflow:hidden;gap:0;min-height:0;display:flex;flex-direction:column}
.native-shell .lesson-mode-chooser{border:0;border-radius:0;background:white;box-shadow:none;padding:0!important;gap:0!important;flex:1;min-height:0;overflow:hidden}
.native-shell .lesson-mode-chooser h2{font-size:18px!important;line-height:1.3;font-weight:600;color:white;background:#2563eb;border:0;border-radius:16px;padding:16px;margin:0;text-align:center}
.native-shell .lesson-mode-scroll{justify-content:safe center;padding:6px 16px}
.native-mode-group{display:flex;flex-direction:column;gap:12px;flex-shrink:0;width:100%;max-width:760px;margin:0 auto}
.native-mode-choices{display:flex;flex-direction:column;gap:10px}
.native-mode-choice{display:flex;align-items:center;gap:12px;padding:11px 14px;min-height:54px;text-align:left;border:2px solid #e2e8f0;border-radius:16px;background:white;color:#0f172a;width:100%}
.native-mode-choice[aria-checked=true]{border-color:#10b981}
.native-mode-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.native-mode-copy strong{font-size:16px;font-weight:700;line-height:20px}
.native-mode-copy>span{font-size:13px;line-height:19px;color:#64748b;font-weight:400}
.native-mode-switch{width:52px;height:32px;flex-shrink:0;border-radius:20px;border:2px solid #64748b;position:relative;background:white}
.native-mode-switch>span{position:absolute;top:6px;left:6px;width:16px;height:16px;background:black;border-radius:50%}
[aria-checked=true]>.native-mode-switch{background:#315de8;border-color:#315de8}
[aria-checked=true]>.native-mode-switch>span{top:2px;left:22px;width:24px;height:24px;background:white}
.lesson-mode-microphone{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:0;background:none;border:0;color:black;font-size:17px;font-weight:400}
.native-mode-mic-state{margin-left:auto;font-size:13px;color:#64748b}
.lesson-mode-microphone:disabled{opacity:1}
.lesson-mode-chooser[data-compact=true] .native-mode-group,.lesson-mode-chooser[data-compact=true] .native-mode-choices{gap:6px}
.lesson-mode-chooser[data-compact=true] .native-mode-choice{padding:6px 12px;position:relative;display:block}
.lesson-mode-chooser[data-compact=true] .native-mode-copy strong{padding-right:60px;min-height:32px}
.lesson-mode-chooser[data-compact=true] .native-mode-choice>.native-mode-switch{position:absolute;right:12px;top:6px}
.native-shell.lesson-player.mode-selection>.shell-header{min-height:52px;padding:4px 8px}
.native-shell.lesson-player.mode-selection>.shell-header>button:first-child{visibility:hidden}
.native-shell.lesson-player.mode-selection>.shell-header h1{font-size:16px;display:block}
.native-shell.lesson-player.mode-selection>.shell-header h1>small:not(.native-lesson-counter):before{content:' · '}
.native-shell.lesson-player.mode-selection>.shell-header .native-lesson-counter{display:none}
.native-lesson-back{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:48px;border-radius:50%;background:#333;color:white;padding:0;box-shadow:0 3px 8px #0003;margin:0 auto 14px;flex-shrink:0}
.native-shell .lesson-mode-dock{display:flex;flex-direction:column;flex-shrink:0;gap:6px;background:white;margin:0;padding:4px 16px;border-top:1px solid #e2e8f0}
.native-shell .lesson-mode-dock>.primary{display:flex;align-items:center;justify-content:center;gap:6px;font-size:17px!important;font-weight:700}
.native-shell .lesson-mode-dock>.primary,.native-lesson-primary{min-height:50px;border-radius:14px;padding:0 8px;background:#10b981;color:white;font-size:16px;font-weight:600;width:100%}
.native-shell .lesson-card{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;justify-content:safe center;align-items:stretch;margin:0;padding:16px;border:0;border-radius:0;box-shadow:none;background:#f7f8fa;text-align:center;color:#1e293b}
.native-shell .lesson-card .instruction{font-size:18px;color:#2563eb;line-height:1.4}
.native-shell .lesson-card>p[lang=en]{font-size:var(--lesson-en,26px)!important;font-weight:700!important}
.native-shell .lesson-card>p:not([lang]){font-size:var(--lesson-local,24px);line-height:1.35}
.native-lesson-dock{flex-shrink:0;padding:6px 16px;background:white;border-top:1px solid #e2e8f059;display:flex;flex-direction:column;gap:3px}
.native-lesson-actions{display:flex;gap:10px;align-items:center}
.native-lesson-actions>button{flex:1;min-height:50px;border-radius:14px;font-size:16px;font-weight:600;padding:8px;background:#4f46e5;color:white}
.native-lesson-actions>.native-lesson-primary{background:#10b981}
.native-lesson-auxiliary{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.native-lesson-auxiliary button,.native-lesson-auxiliary select{min-height:44px;font-size:13px;color:#475569}
.native-lesson-auxiliary>.native-lesson-back{color:white}
.native-playback-mode{display:flex;gap:0;align-items:center;padding:0 2px;background:linear-gradient(transparent 5px,#f1f5f9 5px,#f1f5f9 39px,transparent 39px);border-radius:999px;height:44px}
.native-playback-mode button{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:0}
.native-playback-mode button>span{padding:0 8px;min-height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#64748b;white-space:nowrap}
.native-playback-mode button[aria-pressed=true]>span{background:#333;color:white}
.native-pause-slider{display:flex;flex-direction:column;gap:0;width:140px;max-width:calc(50% - 5px);font-size:9px;color:#475569;height:52px;line-height:11px;text-align:left}
.native-pause-slider input{min-height:0;margin:5px 0 3px;height:16px;width:100%;padding:0;appearance:none;background:transparent;accent-color:#475569}
.native-pause-slider input::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#cbd5e1}
.native-pause-slider input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;margin-top:-5px;background:#475569}
.native-pause-slider input::-moz-range-track{height:4px;background:#cbd5e1;border-radius:2px}
.native-pause-slider input::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:#475569}
.native-pause-markers{display:flex;justify-content:space-between}
.native-lesson-auxiliary{position:relative;height:var(--native-dock-height,112px);min-height:var(--native-dock-height,112px);margin:0 0 14px;align-items:flex-end}
.native-dock-leading{position:absolute;bottom:0;left:0;width:max-content}
.native-dock-trailing{position:absolute;bottom:0;right:0;max-width:var(--native-dock-trailing-width,50%)}
.native-dock-leading>.native-pause-slider{max-width:none}
.native-lesson-auxiliary>.native-lesson-back{position:absolute;top:0;left:calc(50% - 24px);margin:0}
.native-lesson-status:empty{display:none}
.native-speech-slot{position:relative;flex-shrink:0;min-height:0;height:100px;padding:4px 18px var(--native-speech-mic-height,45px);box-sizing:border-box;display:flex;align-items:center;justify-content:center}
.native-speech-feedback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0;font-size:14px;line-height:1.2;color:#ff3b30;max-height:100%;overflow:hidden;text-align:center}
.native-speech-transcript{font-size:16px;line-height:1.2;font-weight:400;color:#1e293b;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.native-speech-percent{font-size:15px;font-weight:600;line-height:18px;flex-shrink:0}
.native-speech-slot>.native-lesson-microphone,.native-speech-slot>.native-recording-cue{position:absolute;bottom:12px;left:calc(50% - 24px);width:48px;height:48px;min-height:48px;padding:0;display:flex;align-items:center;justify-content:center;background:#ff3b30;color:white;border:0;border-radius:50%;opacity:1}
.native-speech-slot>.native-lesson-microphone:disabled{opacity:1}
.native-listening-feedback>.native-lesson-microphone,.native-listening-feedback>.native-recording-cue{bottom:4px}
.native-lesson-actions>.native-lesson-participation{background:#ff3b30;display:flex;align-items:center;justify-content:center;gap:6px}
.native-lesson-actions>button{display:flex;align-items:center;justify-content:center;gap:6px}.native-next-arrow{display:flex;transform:rotate(180deg)}
.native-answer-surface{position:relative}
.native-answer-content{height:auto;min-height:0}
.native-answer-content>p[lang=en]{font-size:var(--lesson-en,26px);font-weight:700;line-height:1.35}
.native-answer-reveal{position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;padding:0;background:transparent;color:transparent}
.native-phrase-group{display:flex;flex-direction:column;gap:16px;text-align:center;min-width:0}
.native-words-group{gap:14px}
.native-phrase-card{padding:16px;background:white;border:.7px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 4px #00000017;display:flex;flex-direction:column;gap:8px}
.native-pronunciation-card{padding:28px;background:white;border-radius:20px}
.native-pronunciation-headphones{padding:28px;color:#007aff;display:flex;justify-content:center}
.native-phrase-text{margin:0;white-space:pre-wrap;overflow-wrap:break-word;line-height:calc(1.2em + 5px);font-size:var(--lesson-en,26px);font-weight:700;color:#1e293b}
.native-phrase-text[lang=ru],.native-phrase-text[lang=uk],.native-phrase-localized{font-size:var(--lesson-local,24px);font-weight:400;color:#475569}
.native-phrase-prompt,.native-phrase-localized-prompt,.native-phrase-repeat-sentence{font-weight:600}
.native-phrase-localized-prompt{font-size:var(--lesson-local,24px);color:#475569}
.native-phrase-hint{font-weight:400}
.native-phrase-example{font-style:italic;font-weight:400}
.native-words-group .native-phrase-example{font-style:normal;font-weight:700}
.native-pattern-sound-card{display:flex;flex-direction:column;align-items:stretch;gap:18px;text-align:center;width:100%;padding:22px;background:white;border-radius:20px;box-sizing:border-box}
.native-pattern-sound-card p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.2;font-size:var(--lesson-en,28px);color:#1e293b}
.native-pattern-sound-card .native-pattern-english,.native-pattern-sound-card .native-pattern-cue{font-weight:700}
.native-pattern-sound-card .native-pattern-definition,.native-pattern-sound-card .native-pattern-collocation{font-weight:400;color:#64748b}
.native-pattern-sound-card .native-pattern-definition-cue{font-weight:600}
.native-pattern-sound-card .native-pattern-localized,.native-pattern-sound-card .native-pattern-localized-cue{font-size:var(--lesson-local,26px);font-weight:400;color:#64748b}
.native-pattern-sound-card .native-pattern-localized-cue{font-weight:600;color:#1e293b}
.native-pattern-sound-card .native-pattern-ear-prompt{font-size:17px;font-weight:600}
.native-pattern-headphones{display:flex;justify-content:center;color:#007aff}
.native-pattern-answer{min-height:100px;display:grid;align-items:center}
.native-pattern-answer>.native-answer-content{display:flex;flex-direction:column;gap:18px;width:100%}
.native-pattern-answer hr{width:100%;height:0;margin:0;border:0;border-top:.5px solid #c6c6c8}
.native-opening-instruction{display:flex;flex-direction:column;gap:10px}
.native-instruction-banner{display:flex;align-items:center;justify-content:center;gap:calc(10px - 2px * var(--native-overview-density,0));padding:calc(16px - 6px * var(--native-overview-density,0));border-radius:16px;background:#2563eb;color:white;text-align:center;font-size:calc(18px * (1 - .11 * var(--native-overview-density,0)));font-weight:600;line-height:1.3}
.native-instruction-banner.has-info{justify-content:flex-start;text-align:left}
.native-instruction-banner>span:first-child{flex-shrink:0}
.native-instruction-info{font-size:21px;font-weight:400;line-height:1}
.native-media-instruction{font-size:18px;font-weight:500;line-height:1.3;color:#1e293b}
.native-instruction-banner p{margin:0;font:inherit;line-height:inherit}
.native-instruction-points{padding:12px 14px;background:white;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 4px #00000017;display:flex;flex-direction:column;gap:10px;text-align:left}
.native-instruction-point{display:flex;gap:0;align-items:flex-start;padding:5px 0}
.native-instruction-number{width:25px;flex-shrink:0;font-size:18px;font-weight:600;line-height:calc(18px * 22 / 17);color:#1e293b}
.native-instruction-point p{font-size:18px;font-weight:500;line-height:calc(18px * 22 / 17);margin:0;color:#1e293b}
.native-overview-group{display:flex;flex-direction:column;gap:calc(var(--native-fit-spacing,8px) + 4px);flex-shrink:0}
.native-overview-card{display:flex;flex-direction:column;gap:var(--native-fit-spacing,8px);padding:var(--native-fit-inset,16px);text-align:left}
.native-overview-row{display:flex;flex-direction:column;gap:3px}
.native-overview-pair{margin:0;line-height:calc(1.2em + 5px)}
.native-overview-pair strong{font-size:var(--native-fit-en,22px);font-weight:700;color:#1e293b}
.native-overview-pair span,.native-overview-definition,.native-overview-intro{font-size:var(--native-fit-local,22px);font-weight:400;color:#475569;line-height:calc(1.2em + 5px);margin:0}
.native-lesson-completion{flex:1;min-height:0;overflow:auto;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:8px;text-align:center;color:#1e293b}
.native-lesson-completion>.native-icon,.native-lesson-completion h2{color:#10b981}
.native-lesson-completion h2{font-size:27px;line-height:1.2;font-weight:700;margin:0}
.native-lesson-session-time{font-size:17px;font-weight:600;line-height:1.2;margin:0}
.native-lesson-completion-note{font-size:14px;font-weight:400;color:#475569;line-height:1.3;margin:0}
.native-completion-dock>button:not(.native-lesson-back){min-height:50px;width:100%;border-radius:14px;font-size:16px;font-weight:600;padding:0 8px;background:#10b981;color:white}
.native-lesson-confirmation{box-sizing:border-box;width:min(560px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:24px;border:0;border-radius:28px;background:white;color:#1e293b}
.native-lesson-confirmation::backdrop{background:#00000052}
.native-lesson-confirmation h2{font-size:24px;font-weight:400;line-height:1.2;margin:0 0 16px}
.native-lesson-confirmation .modal-content{padding:0;margin:0 0 24px;font-size:14px;line-height:1.4;overflow:auto}
.native-lesson-confirmation p{margin:0}
.native-lesson-confirmation .modal-actions{padding:0;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.native-lesson-confirmation .modal-actions>button{flex:none;min-height:44px;padding:0 12px;color:#2563eb;font-size:14px;font-weight:600;background:transparent;border-radius:0}
.native-lesson-confirmation .modal-actions>.primary{padding:0 24px;color:white;background:#2563eb;border-radius:999px}
.native-completion-dock>.native-completion-close{background:#4f46e5!important}
@media(max-height:600px){.native-mode-choice{padding:6px 12px;gap:8px}.native-shell .lesson-mode-scroll{gap:6px!important}.native-shell .lesson-mode-chooser{gap:6px!important}}
.native-shell .lesson-card>.native-listening-prompt{font-size:var(--lesson-local,24px);font-weight:600;color:#64748b;line-height:1.35;margin:0;text-align:center}
.native-listening-group{gap:18px;text-align:center}.native-listening-group .native-phrase-prompt{font-weight:600}
.native-shell .lesson-card[data-native-grammar=true]{padding:0 18px;overflow:hidden;gap:0!important}
.native-grammar-overview{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px;padding:8px 0;box-sizing:border-box}
.native-grammar-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column}
.native-grammar-content{flex:none;margin:auto 0;display:flex;flex-direction:column;gap:8px;padding:4px 0;text-align:center}
.native-grammar-content p{margin:0;white-space:pre-wrap;overflow-wrap:break-word;line-height:1.2}
.native-grammar-content .native-phrase-card{padding:12px;gap:6px}
.native-grammar-content .native-grammar-phrases{gap:3px}
.native-grammar-english{font-size:max(16px,calc((var(--lesson-en,26px) + 1.5px) * var(--native-grammar-scale,1)));font-weight:700;color:#1e293b}
.native-grammar-localized{font-size:max(16px,calc((var(--lesson-local,24px) + 1.5px) * var(--native-grammar-scale,1)));font-weight:400;color:#475569}
.native-grammar-intro{font-size:max(12px,calc(14px * var(--native-grammar-scale,1)));font-weight:400;color:#475569}
.native-grammar-overview[data-compact=true]{gap:6px;padding:4px 0}
.native-grammar-overview[data-compact=true] .native-grammar-content{gap:4px;padding:2px 0}
.native-grammar-overview[data-compact=true] .native-phrase-card{padding:6px;gap:2px}
.native-grammar-overview[data-compact=true] .native-grammar-phrases{gap:0}
.native-shell .lesson-card[data-native-sentence=true]{padding:12px 18px}
[data-native-sentence=true]>.native-repeat-group{flex:none;gap:calc(var(--native-fit-spacing,8px) + 8px)}
[data-native-sentence=true] .native-phrase-card{padding:var(--native-fit-inset,16px)}
[data-native-sentence=true] .native-phrase-text{font-size:var(--native-fit-en,var(--lesson-en,26px));line-height:1.2}
[data-native-sentence=true] .native-phrase-localized,[data-native-sentence=true] .native-phrase-localized-prompt{font-size:var(--native-fit-local,var(--lesson-local,24px))}
.native-shell .lesson-card[data-native-words=true]{padding:12px 18px}
[data-native-words=true]>.native-words-group{flex:none;gap:calc(var(--native-fit-spacing,8px) + 6px)}
[data-native-words=true] .native-phrase-card{padding:var(--native-fit-inset,16px)}
[data-native-words=true] .native-phrase-text{font-size:var(--native-fit-en,var(--lesson-en,26px));line-height:calc(1.2em + var(--native-fit-line-spacing,5px))}
[data-native-words=true] .native-phrase-localized{font-size:var(--native-fit-local,var(--lesson-local,24px))}
.native-shell .lesson-card[data-native-two-stage=true]{padding:12px 18px}
[data-native-two-stage=true]>.native-two-stage-group{flex:none;gap:calc(var(--native-fit-spacing,8px) + 8px)}
[data-native-two-stage=true] .native-phrase-card{padding:var(--native-fit-inset,16px)}
[data-native-two-stage=true] .native-phrase-text,[data-native-two-stage=true] .native-answer-content>p[lang=en]{font-size:var(--native-fit-en,var(--lesson-en,26px));line-height:calc(1.2em + 5px)}
[data-native-two-stage=true] .native-phrase-localized-prompt{font-size:var(--native-fit-local,var(--lesson-local,24px))}

/* Owner correction: Guided English uses the shared lesson card and bold ink. */
.native-guided-cue-group{gap:18px}
.native-phrase-guided-cue{font-weight:700;color:#1e293b}
.native-guided-translation-slot{display:grid}
.native-guided-translation-slot>.native-phrase-text{grid-area:1/1}
