:root{--cream:#f5f0e6;--paper:#fffdf8;--ink:#182019;--muted:#73786f;--line:#ddd5c6;--green:#2d7653;--green-dark:#21583e;--green-soft:#dfeee5;--rust:#b45b3d;--rust-soft:#f4e3dc;--gold:#b4862d;--gold-soft:#f4ead4;--shadow:0 14px 35px rgba(55,47,35,.08);--radius:24px}
*{box-sizing:border-box}
html{background:var(--cream)}
body{margin:0;background:radial-gradient(circle at 10% 10%,rgba(49,118,83,.08),transparent 25rem),var(--cream);font-family:"DM Sans",sans-serif;color:var(--ink);min-height:100vh}
button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.screen{width:min(100%,1020px);margin:auto;padding:28px 22px 110px}
.mono{font-family:"DM Sans",sans-serif}.small{font-size:14px;color:var(--muted);margin:3px 0}.tiny{font-size:13px;color:var(--muted)}.label,.eyebrow{font-size:12px;line-height:1.2;letter-spacing:.12em;font-weight:700;color:var(--green);text-transform:uppercase}.accent{color:var(--rust)}
h1,h2,h3,.title,.section-title,.scenario-name,.exam-question,.bg-text{font-family:"Fraunces",serif}
.landing-inner{max-width:760px;margin:30px auto;text-align:center}
.brand-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,248,.8);font-weight:700;margin-bottom:38px}
.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.landing-nav .brand-pill{margin:0}.landing-nav>a{font-weight:700;color:var(--green-dark);text-decoration:none;border-bottom:2px solid var(--green)}.founder-note{max-width:660px;margin:0 auto 38px;padding:18px 20px;background:rgba(255,253,248,.82);border:1px solid var(--line);border-radius:20px;display:flex;gap:16px;align-items:center;text-align:left}.founder-note img{width:74px;height:74px;object-fit:cover;border-radius:18px;flex:0 0 auto}.founder-note strong{font-size:16px}.founder-note p{margin:6px 0 0;color:var(--muted);line-height:1.45}
.landing-links{display:flex;align-items:center;gap:18px}.landing-links a{font-weight:700;color:var(--green-dark);text-decoration:none;border-bottom:2px solid var(--green)}.share-trigger{border:0;background:transparent;color:var(--green-dark);font-weight:700;padding:5px}.header-share{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--paper);font-size:20px}.share-dialog{width:min(92vw,520px);border:1px solid var(--line);border-radius:24px;padding:24px;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px rgba(20,30,22,.24)}.share-dialog::backdrop{background:rgba(24,32,25,.45);backdrop-filter:blur(4px)}.share-head{display:flex;justify-content:space-between;gap:15px}.share-head h2{font-family:"Fraunces",serif;font-size:30px;margin:6px 0}.share-message{color:var(--muted);line-height:1.5}.share-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:20px}.share-grid a,.share-grid button{border:1px solid var(--line);border-radius:13px;padding:13px;background:white;color:var(--green-dark);font-weight:700;text-align:center;text-decoration:none}.share-grid #share-copy{grid-column:1/-1;background:var(--green);color:white}
.headline{font-size:clamp(45px,8vw,76px);line-height:.98;letter-spacing:-.045em;margin:12px auto 22px;max-width:740px}
.sub{font-size:clamp(18px,2.5vw,22px);line-height:1.55;color:#60675f;max-width:680px;margin:0 auto 25px}
.value-row{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;color:var(--green-dark);font-weight:600;margin-bottom:32px}
.login-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;max-width:620px;margin:auto;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:12px;text-align:left}
.login-copy{grid-column:1/-1}.login-copy h2{font-family:"Fraunces",serif;font-size:28px;margin:0 0 5px}.login-copy p{margin:0 0 10px;color:var(--muted);line-height:1.5}
.login-box input{min-width:0;border:1px solid #cfc6b8;border-radius:14px;padding:15px;background:white;font-size:16px}
.login-box button,.primary-btn{border:0;border-radius:14px;background:var(--green);color:white;padding:15px 21px;font-weight:700;box-shadow:0 7px 18px rgba(45,118,83,.2)}
.login-box button:hover,.primary-btn:hover{background:var(--green-dark)}
.notice{grid-column:1/-1;padding:13px;border-radius:12px;background:var(--green-soft);color:var(--green-dark)}
.trust-line{font-size:13px;color:var(--muted);margin:15px 0}.avatar,.avatar-sm{display:none}
.teacher-invite{margin:55px auto 0;max-width:760px;text-align:left;background:var(--green-dark);color:white;border-radius:var(--radius);padding:30px;display:grid;grid-template-columns:1.2fr .8fr;gap:18px 30px;box-shadow:var(--shadow)}.teacher-invite .eyebrow{color:#a9d3ba}.teacher-invite h2{font-family:"Fraunces",serif;font-size:34px;line-height:1.08;margin:8px 0 12px}.teacher-invite p{color:#dcebe1;line-height:1.5;margin:0}.teacher-invite ul{margin:28px 0 0;padding-left:20px;line-height:1.9;color:#eef6f1}.teacher-invite .teacher-cta{grid-column:1/-1;background:white;text-decoration:none;color:var(--green-dark)}
.app-header{display:flex;align-items:center;gap:14px;padding:14px 0}.title{font-size:22px;margin:0}.streak-badge{margin-left:auto;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:13px;color:var(--green-dark);font-weight:700}
.app-bottom-nav{position:fixed;z-index:50;left:50%;bottom:18px;transform:translateX(-50%);width:min(calc(100% - 30px),760px);display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:8px;background:rgba(255,253,248,.96);border:1px solid var(--line);border-radius:25px;box-shadow:0 16px 45px rgba(35,45,37,.17);backdrop-filter:blur(14px)}.bottom-nav-item{min-width:0;border:0;background:transparent;color:var(--muted);border-radius:18px;padding:10px 7px 9px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:700}.bottom-nav-item.active{background:var(--green-soft);color:var(--green-dark)}.bottom-nav-icon{height:23px;font-size:22px;line-height:1;font-family:"DM Sans",sans-serif}.bottom-nav-bars{font-size:20px}
.account-button{position:fixed;z-index:60;top:18px;right:max(18px,calc((100vw - 1040px)/2));width:46px;height:46px;border-radius:50%;border:2px solid white;background:var(--green-soft);color:var(--green-dark);font-weight:800;overflow:hidden;display:grid;place-items:center;box-shadow:0 4px 14px rgba(30,45,35,.16)}.account-button img,.account-avatar img{width:100%;height:100%;object-fit:cover}.account-dialog{width:min(92vw,470px);border:1px solid var(--line);border-radius:24px;padding:24px;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px rgba(20,30,22,.24)}.account-dialog::backdrop{background:rgba(24,32,25,.45);backdrop-filter:blur(4px)}.account-dialog h2{font-family:"Fraunces",serif;font-size:31px;margin:5px 0}.account-identity{display:flex;align-items:center;gap:14px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0 18px}.account-avatar{width:62px;height:62px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);font-weight:800;flex:0 0 auto}.account-identity strong,.account-identity span{display:block}.account-identity span{color:var(--muted);font-size:14px;margin-top:4px;overflow-wrap:anywhere}.account-actions{display:grid;gap:9px}.account-actions .secondary-btn{width:100%;text-decoration:none}.account-signout{border:0;background:transparent;color:var(--rust);font-weight:700;padding:12px}
.section-page-header{margin:25px 0 25px}.section-page-header h1{font-family:"Fraunces",serif;font-size:clamp(42px,7vw,68px);line-height:1;margin:7px 0 12px;letter-spacing:-.035em}.section-page-header>p:last-child{font-size:18px;line-height:1.5;color:var(--muted);max-width:680px;margin:0}.section-summary{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:19px 23px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:var(--shadow)}.section-summary strong{font-family:"Fraunces",serif;font-size:24px}.section-summary span{color:var(--muted);font-size:14px}.setup-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.setup-card .mode-toggle{margin:12px 0 25px}.room-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}.room-actions>div{border-top:1px solid var(--line);padding-top:17px}.join-room-row{display:flex;gap:8px;margin-top:12px}.join-room-row input{min-width:0;flex:1;text-transform:uppercase;border:1px solid var(--line);border-radius:13px;padding:13px;font:inherit}.join-room-row .secondary-btn{justify-content:center}
.rule{border-top:1px solid var(--line);margin:6px 0 28px}
.welcome-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px 30px;box-shadow:var(--shadow);margin-bottom:28px}.welcome-card p:last-child{color:var(--muted);font-size:17px;max-width:650px;line-height:1.5}
.section-title{font-size:clamp(30px,5vw,46px);line-height:1.05;margin:8px 0 10px}.section-kicker{margin:28px 2px 14px}
.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.scenario-card{min-height:145px;border-radius:20px;padding:22px;text-align:left;border:1px solid;display:flex;flex-direction:column;justify-content:flex-end;transition:.18s transform,.18s box-shadow;background:var(--paper)}
.scenario-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.scenario-card p:first-child{font-family:"Fraunces",serif;font-size:24px;line-height:1.05;margin:0 0 8px}.scenario-card p:last-child{font-size:14px;margin:0}
.scenario-card.green{background:var(--green-soft);border-color:#9abca7}.scenario-card.rust{background:var(--rust-soft);border-color:#d7a38f}.scenario-card.gold{background:var(--gold-soft);border-color:#d3b775}
.useful-words-card{cursor:pointer}.useful-words-card p:first-child::before{content:"Aa · ";color:var(--green-dark);font-family:"DM Sans",sans-serif;font-size:.72em}
.category-card-grid,.lesson-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.category-card{min-height:132px;border:1px solid var(--line);border-radius:20px;padding:20px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:8px;color:var(--ink);transition:.18s transform,.18s box-shadow}.category-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.category-card strong{font-family:"Fraunces",serif;font-size:23px;line-height:1.08}.category-card span{font-size:13px;color:var(--muted);line-height:1.35}.category-card.green{background:var(--green-soft);border-color:#9abca7}.category-card.rust{background:var(--rust-soft);border-color:#d7a38f}.category-card.gold{background:var(--gold-soft);border-color:#d3b775}.category-card.teacher{background:var(--green-dark);border-color:var(--green-dark);color:white}.category-card.teacher span{color:#dcebe1}.teacher-lessons-section{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:22px;box-shadow:var(--shadow)}.teacher-lesson-heading{display:flex;align-items:center;gap:13px;margin-bottom:17px}.teacher-lesson-heading h2{font-family:"Fraunces",serif;font-size:25px;margin:4px 0}.teacher-lesson-heading .eyebrow{margin:0}.teacher-lessons-section .category-card-grid{margin:0}.category-back{border:0;background:transparent;color:var(--green-dark);font-weight:700;padding:8px 0 16px}.category-title{font-family:"Fraunces",serif;font-size:36px;margin:0 0 18px}.session-row{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:17px 19px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;text-align:left;color:var(--ink)}.session-row span,.session-row strong,.session-row small{display:block}.session-row strong{font-family:"Fraunces",serif;font-size:20px}.session-row small{color:var(--muted);margin-top:4px}.session-row b{font-size:13px;color:var(--green-dark)}
.mode-toggle{display:flex;gap:8px;background:rgba(255,253,248,.65);padding:5px;border-radius:16px;width:max-content;max-width:100%;margin:0 auto 20px}
.mode-btn{border:0;background:transparent;padding:11px 18px;border-radius:12px;color:var(--muted);font-weight:700}.mode-btn.active{background:var(--ink);color:white}
.practice-style-picker{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 17px}.practice-style-picker>div:first-child strong,.practice-style-picker>div:first-child span{display:block}.practice-style-picker>div:first-child span{color:var(--muted);font-size:13px;margin-top:3px}.practice-style-picker .mode-toggle{margin:0;flex:0 0 auto}
.extra-actions{display:grid;gap:10px;max-width:700px;margin:25px auto}.secondary-btn{border:1px solid var(--line);background:var(--paper);padding:14px 17px;border-radius:14px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center}
.secondary-btn:hover{border-color:var(--green);color:var(--green-dark)}
.conv-header{display:flex;align-items:center;gap:12px;margin:0 0 22px}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--paper);font-size:21px;color:var(--green-dark)}
.chat-log{display:flex;flex-direction:column;gap:14px;min-height:300px;margin-bottom:20px}.bubble{max-width:82%;padding:16px 18px;border-radius:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 20px rgba(55,47,35,.05)}.bubble.ai{align-self:flex-start;border-bottom-left-radius:5px}.bubble.user{align-self:flex-end;background:var(--green-soft);border-color:#a9c8b4;border-bottom-right-radius:5px}.bubble p{margin:0}.bubble .bg-text{font-size:24px}.bubble .en-text{font-size:14px;color:var(--muted);margin-top:10px}
.mic-area{display:flex;flex-direction:column;align-items:center;gap:7px;padding:18px 0}.mic-btn{width:76px;height:76px;border:0;border-radius:50%;background:var(--green);color:white;box-shadow:0 10px 25px rgba(45,118,83,.27)}.mic-btn.recording{background:var(--rust);animation:pulse 1.3s infinite}.mic-icon{font-size:28px}@keyframes pulse{50%{box-shadow:0 0 0 13px rgba(180,91,61,.15)}}
.speed-control{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:8px 0 18px}.speed-control>span{font-size:13px;color:var(--muted);font-weight:700;margin-right:3px}.speed-btn{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 12px;color:var(--muted);font-weight:700}.speed-btn.active{background:var(--ink);border-color:var(--ink);color:white}
.rehearsal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.rehearsal-btn{border:1px solid var(--line);background:var(--paper);border-radius:15px;padding:15px;font-weight:700}.primary-rehearsal{background:var(--green);color:white;border-color:var(--green)}.primary-rehearsal.recording{background:var(--rust);border-color:var(--rust)}.lesson-feedback{display:grid;gap:5px;margin-top:15px;padding:13px;border-radius:13px;text-align:left;font-size:14px}.lesson-feedback span{color:var(--muted)}.lesson-feedback.good{background:var(--green-soft);color:var(--green-dark)}.lesson-feedback.try{background:var(--gold-soft);color:#715419}.completion-card{max-width:600px;margin:8vh auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:35px;box-shadow:var(--shadow);text-align:center}.completion-card h2{font-family:"Fraunces",serif;font-size:38px;margin:10px}.completion-card>p:not(.eyebrow):not(.notice){color:var(--muted);line-height:1.5}.completion-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);font-size:30px;font-weight:700;margin:0 auto 18px}@media(max-width:520px){.rehearsal-actions{grid-template-columns:1fr}.completion-card{padding:25px}}
.say-it-yourself{border:1px solid var(--line);background:var(--paper);border-radius:15px;padding:12px 16px;display:flex;flex-direction:column;justify-content:center}.say-it-yourself strong{color:var(--green-dark)}.say-it-yourself span{color:var(--muted);font-size:13px;margin-top:3px}
.replay-question-btn{border:1px solid var(--green);background:var(--green-soft);color:var(--green-dark);border-radius:999px;padding:10px 15px;font-weight:700;margin:0 auto 14px}
.vocab-self-practice{margin:15px 0}.together-simple-card{max-width:660px;margin:20px auto}.together-simple-card h2{font-family:"Fraunces",serif;font-size:34px;margin:8px 0}.together-simple-card>p:not(.eyebrow){color:var(--muted);line-height:1.5}
.conv-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:16px}
.lesson-step-nav{display:flex;gap:8px}.lesson-step-nav button{padding:10px 14px;justify-content:center}.lesson-step-nav button:disabled{opacity:.38;cursor:not-allowed}
@media(max-width:520px){.conv-footer{align-items:flex-start;flex-direction:column}.lesson-step-nav{width:100%}.lesson-step-nav button{flex:1}}
.exam-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;text-align:center;margin-bottom:16px;box-shadow:var(--shadow)}.exam-question{font-size:clamp(27px,6vw,42px);margin:10px 0}.exam-feedback{border-radius:16px;padding:15px;margin-bottom:14px}.exam-feedback.correct{background:var(--green-soft);color:var(--green-dark)}.exam-feedback.incorrect{background:var(--rust-soft);color:#843c25}
.history-item,.line-row{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:17px;margin-bottom:10px}.history-item{display:flex;justify-content:space-between;align-items:center}.history-item .scenario-name{font-size:21px}.history-item .meta{font-size:13px;color:var(--muted)}.item-actions{display:flex;gap:6px}.item-actions button{border:0;background:transparent;font-size:18px}
.line-row input,input[type=text]{border:1px solid var(--line);border-radius:12px;padding:12px;background:white}.line-row input{width:100%;margin:5px 0}.speaker-toggle{display:flex;gap:5px}.speaker-toggle button{border:1px solid var(--line);border-radius:9px;padding:7px;background:white}.speaker-toggle button.active{background:var(--ink);color:white}
.waveform{display:flex;gap:3px;height:20px;align-items:flex-end}.waveform span{width:3px;height:10px;background:#bcb4a5;border-radius:2px}
@media(max-width:720px){.screen{padding:18px 15px 95px}.landing-inner{margin:12px auto}.brand-pill{margin-bottom:28px}.login-box{grid-template-columns:1fr;padding:21px}.login-box button{width:100%}.teacher-invite{grid-template-columns:1fr;padding:23px}.teacher-invite h2{font-size:29px}.teacher-invite ul{margin:0}.scenario-grid{grid-template-columns:repeat(2,1fr)}.scenario-card{min-height:125px;padding:17px}.scenario-card p:first-child{font-size:21px}.welcome-card{padding:21px}.mode-toggle{width:100%}.mode-btn{flex:1;padding:10px 7px;font-size:13px}}
@media(max-width:720px){.practice-style-picker{align-items:flex-start;flex-direction:column;gap:10px}.practice-style-picker .mode-toggle{width:100%}}
@media(max-width:720px){.category-card-grid,.lesson-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.category-card{min-height:120px;padding:16px}.category-card strong{font-size:20px}.teacher-lessons-section{padding:17px}.teacher-lessons-section .category-card-grid{grid-template-columns:1fr}}
@media(max-width:520px){.app-bottom-nav{bottom:8px;width:calc(100% - 16px);border-radius:22px;padding:7px 5px}.bottom-nav-item{padding:9px 3px 8px;font-size:11px}.bottom-nav-icon{font-size:20px}}
@media(max-width:520px){.account-button{top:10px;right:12px;width:42px;height:42px}.app-header{padding-right:48px}.streak-badge{margin-left:auto}}
@media(max-width:620px){.section-page-header{margin:16px 2px 20px}.section-page-header h1{font-size:43px}.section-page-header>p:last-child{font-size:16px}.section-summary{align-items:flex-start;flex-direction:column;padding:17px 19px}.room-actions{grid-template-columns:1fr}.setup-card{padding:20px}.join-room-row{flex-direction:column}.join-room-row .secondary-btn{width:100%}}
@media(max-width:370px){.scenario-grid{grid-template-columns:1fr}.headline{font-size:42px}.value-row{display:none}}
@media(max-width:370px){.category-card-grid,.lesson-card-grid{grid-template-columns:1fr}}
.teacher-invite{scroll-margin-top:20px}
.teacher-updates{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 25px;margin-bottom:22px}.teacher-updates h2{font-family:"Fraunces",serif;font-size:28px;margin:6px 0 15px}.student-update{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0;border-top:1px solid var(--line)}.student-update strong,.student-update small{display:block}.student-update small{color:var(--muted);margin-top:3px}.ready-pill{background:var(--green-soft);color:var(--green-dark);border-radius:999px;padding:7px 11px;font-weight:700;font-size:13px}
.teacher-profile-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow);margin-bottom:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px}.teacher-profile-card h2{font-family:"Fraunces",serif;font-size:26px;margin:4px 0}.teacher-avatar{width:78px;height:78px;border-radius:50%;overflow:hidden;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;font-size:25px;font-weight:700;border:2px solid white;box-shadow:0 0 0 1px var(--line)}.teacher-avatar img{width:100%;height:100%;object-fit:cover}.teacher-photo-actions{display:flex;align-items:center;gap:12px}.teacher-upload{position:relative;overflow:hidden}.teacher-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.text-danger{border:0;background:transparent;color:var(--rust);font-weight:700}.teacher-profile-card .notice{grid-column:1/-1;margin:0}.lesson-title-row{display:flex;align-items:center;gap:11px}.teacher-avatar-sm{width:48px;height:48px;font-size:15px;flex:0 0 auto}
.editor-card label textarea{border:1px solid var(--line);border-radius:12px;padding:13px;font:inherit;resize:vertical}
.shared-rehearsal{max-width:950px}.shared-rehearsal .app-header .secondary-btn{margin-left:auto;text-decoration:none}.shared-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(28px,6vw,65px);box-shadow:var(--shadow);text-align:center}.shared-card h1{font-family:"Fraunces",serif;font-size:clamp(48px,9vw,90px);line-height:1.05;margin:18px 0}.shared-en{font-size:clamp(20px,3vw,30px);color:var(--muted);margin:18px}.shared-card .rehearsal-actions{max-width:650px;margin:30px auto 20px}
.rehearsal-participants{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 20px}.participant{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 15px 8px 8px}.participant strong,.participant small{display:block}.participant small{color:var(--muted);font-size:12px;margin-top:2px}.together-mark{color:var(--muted);font-size:22px;font-weight:700}@media(max-width:520px){.rehearsal-participants{gap:7px}.participant{padding-right:9px}.participant strong{font-size:13px}.participant .teacher-avatar-sm{width:40px;height:40px}}
.meaning-toggle{border:0;background:transparent;color:var(--green-dark);font-weight:700;text-decoration:underline;padding:10px 0 0}
.studio{max-width:1180px}.studio .app-header .secondary-btn{margin-left:auto;text-decoration:none}.studio-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:22px;align-items:start}.studio-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.studio-heading h2,.editor-card h2{font-family:"Fraunces",serif;font-size:30px}.editor-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.editor-card label{display:grid;gap:7px;font-weight:700;margin:13px 0}.editor-card label input{border:1px solid var(--line);border-radius:12px;padding:13px}.lesson-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:9px}.lesson-row strong,.lesson-row small{display:block}.lesson-row strong{font-size:17px}.lesson-row small{color:var(--muted);margin-top:3px}.wide{width:100%;margin-top:12px}.assign-panel{border-top:1px solid var(--line);margin-top:22px;padding-top:12px}.remove-line{border:0;background:transparent;color:var(--rust);padding:6px}.primary-btn{text-decoration:none;display:inline-block;text-align:center}@media(max-width:760px){.studio-grid{grid-template-columns:1fr}.studio .app-header{align-items:flex-start}.studio .app-header .secondary-btn{padding:9px;font-size:12px}}
@media(max-width:650px){.teacher-profile-card{grid-template-columns:auto 1fr}.teacher-photo-actions{grid-column:1/-1;flex-wrap:wrap}.teacher-upload{flex:1}.teacher-profile-card .secondary-btn{justify-content:center}}

/* Tighter portrait crop for small circular app avatars. */
.account-button img,.account-avatar img{object-position:center 34%;transform:scale(1.46)}
.teacher-avatar img{object-position:center 32%;transform:scale(1.48)}

/* TALKING_BULGARIAN_LISTEN_START */
/* Talking Bulgarian — Listen */
.listen-screen{padding-bottom:110px}.listen-head{padding:8px 2px 22px}.listen-head h1{font-family:Fraunces,Georgia,serif;font-size:clamp(38px,11vw,58px);line-height:.98;margin:8px 0 12px;color:#17382d}.listen-head>p:last-child{font-size:17px;line-height:1.45;color:#6e756f;max-width:520px}.listen-continue,.listen-focus,.listen-group{width:100%;font:inherit;text-align:left}.listen-continue{border:0;border-radius:20px;background:#17382d;color:#fff;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;box-shadow:0 12px 28px rgba(23,56,45,.18)}.listen-continue span{display:grid;gap:3px}.listen-continue small{font-size:10px;letter-spacing:.14em;color:#dce9e1}.listen-continue strong{font-size:18px}.listen-focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.listen-focus{border:1px solid #ded8ca;border-radius:18px;background:#fffdf8;padding:16px;color:#17382d;min-height:132px;display:flex;flex-direction:column;gap:5px}.listen-focus:first-child{grid-column:1/-1;background:#edf4ee;border-color:#ccddcf;min-height:auto}.listen-focus span{font-family:Georgia,serif;font-size:27px;color:#b64e3d}.listen-focus strong{font-size:17px}.listen-focus small{font-size:13px;line-height:1.3;color:#7d817b}.listen-section-title{display:flex;justify-content:space-between;align-items:end;margin:28px 2px 12px}.listen-section-title h2,#listen-setup h2{font-family:Fraunces,Georgia,serif;color:#17382d;font-size:30px;margin:0}.listen-section-title span{font-size:13px;color:#85877e}.listen-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.listen-group{border:0;border-radius:18px;background:#e4eee5;color:#17382d;padding:17px 15px;min-height:116px;display:flex;flex-direction:column}.listen-group.gold{background:#f4ead0}.listen-group.rust{background:#f4dfd8}.listen-group small{font-size:10px;letter-spacing:.09em;text-transform:uppercase;opacity:.7}.listen-group strong{font-family:Fraunces,Georgia,serif;font-size:20px;line-height:1.08;margin:8px 0 auto}.listen-group span{font-size:12px;opacity:.75;margin-top:10px}.listen-back{border:0;background:transparent;padding:8px 0 20px;color:#17382d;font-weight:700;font-size:15px}.listen-setting,.listen-toggle{background:#fffdf8;border:1px solid #ded8ca;border-radius:18px;padding:17px;margin:12px 0}.listen-setting>div:first-child,.listen-toggle span{display:flex;flex-direction:column;gap:3px}.listen-setting strong,.listen-toggle strong{font-size:16px;color:#17382d}.listen-setting small,.listen-toggle small{font-size:12px;color:#7d817b}.listen-pills{display:flex;gap:7px;margin-top:14px}.listen-pills button{border:1px solid #d7d2c7;background:#f8f4eb;color:#17382d;border-radius:999px;min-width:42px;height:40px;font-weight:700}.listen-pills button.active{background:#17382d;color:#fff;border-color:#17382d}.listen-toggle{display:flex;align-items:center;justify-content:space-between}.listen-toggle input{position:absolute;opacity:0}.listen-toggle i{width:50px;height:29px;border-radius:20px;background:#c8c8c3;position:relative}.listen-toggle i:after{content:"";position:absolute;width:23px;height:23px;border-radius:50%;background:white;top:3px;left:3px;transition:.2s}.listen-toggle input:checked+i{background:#2f7353}.listen-toggle input:checked+i:after{transform:translateX(21px)}.listen-start{width:100%;height:58px;border:0;border-radius:17px;background:#2f7353;color:white;font-size:17px;font-weight:800;margin-top:8px;box-shadow:0 10px 24px rgba(47,115,83,.22)}.listen-start span{margin-left:8px}.listen-player-top{display:grid;grid-template-columns:40px 1fr 60px;align-items:center;text-align:center;color:#17382d}.listen-player-top button{border:0;background:#fffdf8;border-radius:50%;width:38px;height:38px;font-size:17px}.listen-player-top span:nth-child(2){font-weight:800}.listen-player-top span:last-child{text-align:right;font-variant-numeric:tabular-nums}.listen-progress{height:5px;background:#dedbd2;border-radius:8px;margin:15px 0 30px;overflow:hidden}.listen-progress i{display:block;width:0;height:100%;background:#b64e3d}.listen-now{min-height:310px;border:1px solid #ded8ca;border-radius:28px;background:#fffdf8;box-shadow:0 18px 46px rgba(40,42,34,.09);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:26px}.listen-now p{font-size:11px;letter-spacing:.16em;font-weight:800;color:#b64e3d}.listen-now strong{font-family:Fraunces,Georgia,serif;font-size:clamp(44px,14vw,72px);line-height:1;color:#17382d;overflow-wrap:anywhere}.listen-now span{font-size:19px;color:#777b74;margin-top:17px;min-height:25px}.listen-known-button{display:block;margin:16px auto;border:1px solid #ced8cf;border-radius:999px;background:#f7faf7;color:#2f7353;padding:11px 18px;font-weight:750}.listen-known-button.active{background:#e2eee4}.listen-player-controls{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px;margin-top:28px}.listen-player-controls button{height:58px;border:1px solid #d7d2c7;border-radius:18px;background:#fffdf8;color:#17382d;font-size:28px}.listen-player-controls .primary{background:#2f7353;color:#fff;border-color:#2f7353}.listen-hint{text-align:center;font-size:13px;color:#85877e;margin:18px 0}.listen-error{grid-column:1/-1;color:#a14536}.app-bottom-nav{grid-template-columns:repeat(5,1fr)!important}.app-bottom-nav [data-nav="listen"] .nav-icon{font-size:17px}@media(min-width:700px){.listen-focus-grid{grid-template-columns:repeat(3,1fr)}.listen-focus:first-child{grid-column:auto;min-height:132px}.listen-group-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:370px){.listen-pills{gap:4px}.listen-pills button{min-width:37px}.listen-group-grid{grid-template-columns:1fr}}

/* TALKING_BULGARIAN_KNOWN_DIRECT_START */
.known-toggle-button{border:1px solid #cfc7b7;background:#fffdf8;color:#183026;border-radius:14px;padding:10px 15px;font:inherit;font-weight:750;cursor:pointer;min-height:44px;white-space:nowrap}.known-toggle-button.active{background:#e2f0e8;border-color:#2f7654;color:#245f44}@media(max-width:640px){.conv-footer>div,.lesson-step-nav{flex-wrap:wrap}.known-toggle-button{flex:1 1 auto}}
/* TALKING_BULGARIAN_KNOWN_DIRECT_END */

/* TALKING_BULGARIAN_SAFE_CLEAN_LESSON_START */
#lesson-play{max-width:860px;margin:0 auto;padding:18px 18px 110px}#lesson-play .conv-header{align-items:center;margin-bottom:10px}#lesson-play .lesson-title-row{flex:1}#lesson-play .speed-control{justify-content:flex-end;margin:0 0 14px;font-size:14px}#lesson-play #lesson-chat-log{max-height:135px;overflow:auto;margin:0 0 12px}#lesson-play #lesson-your-turn{padding:30px 24px 26px;border-radius:26px;text-align:center;box-shadow:0 12px 34px rgba(36,42,33,.06)}#lesson-play .replay-question-btn{border:0;background:transparent;color:#1f6043;padding:8px 12px;font-size:17px;font-weight:800}#lesson-play #lesson-your-turn>.tiny{font-size:16px;color:#747a71;margin:17px 0 7px}#lesson-play .exam-question{font-family:Fraunces,Georgia,serif;font-size:clamp(34px,5vw,60px);line-height:1.08;max-width:760px;margin:0 auto;overflow-wrap:anywhere}#lesson-play .meaning-toggle{display:inline-block;margin-top:16px;border:0;background:transparent;color:#1f6043;text-decoration:underline;font-size:16px;font-weight:800}#lesson-play #lesson-hint-en{margin:10px 0 0;color:#6e756c;font-size:17px}#lesson-play .rehearsal-actions{display:flex;justify-content:center;margin:12px 0 0}#lesson-play .rehearsal-btn{width:auto;min-height:44px;border:1px solid #d6d0c3;border-radius:999px;background:#fffdf8;color:#19251e;padding:10px 18px;font-size:16px;font-weight:800}#lesson-play .say-it-yourself{display:none}#lesson-play .conv-footer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;border-top:1px solid #ddd7ca;margin-top:16px;padding-top:14px}#lesson-play #lesson-progress{color:#747a71;font-size:15px;white-space:nowrap}#lesson-play .lesson-step-nav{display:grid;grid-template-columns:auto auto minmax(190px,1fr);gap:10px;align-items:center}#lesson-play #lesson-prev-btn{border:0;background:transparent;color:#6f756d;padding:11px 12px}#lesson-play #lesson-known-btn{min-height:46px;border-radius:14px;padding:10px 15px}#lesson-play #lesson-next-btn{width:100%;min-height:50px;border-radius:14px}
@media(max-width:640px){#lesson-play{padding:12px 12px 98px}#lesson-play .speed-control{justify-content:center;margin-bottom:12px}#lesson-play #lesson-chat-log{max-height:90px}#lesson-play #lesson-your-turn{padding:24px 16px 22px}#lesson-play .exam-question{font-size:clamp(32px,10vw,46px)}#lesson-play .conv-footer{display:block}#lesson-play #lesson-progress{display:block;margin-bottom:10px}#lesson-play .lesson-step-nav{grid-template-columns:auto 1fr}#lesson-play #lesson-prev-btn{grid-column:1}#lesson-play #lesson-known-btn{grid-column:2}#lesson-play #lesson-next-btn{grid-column:1/-1;grid-row:2}}
/* TALKING_BULGARIAN_SAFE_CLEAN_LESSON_END */

/* TALKING_BULGARIAN_USEFUL_PROGRESS_START */
#history{max-width:820px;margin:0 auto;padding:22px 18px 110px}#history h1,#history h2{font-family:Fraunces,Georgia,serif;font-size:clamp(34px,6vw,58px);margin:0 0 18px}.progress-loading,.progress-empty{color:#72786f}.learning-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.learning-summary-card{min-height:168px;border:1px solid #d9d2c5;border-radius:24px;background:#fffdf8;color:#17231c;padding:22px;text-align:left;cursor:default;display:flex;flex-direction:column;align-items:flex-start}.learning-summary-card.needs-card{background:#e4f0e8;border-color:#b9d2c2}.learning-number{font-family:Fraunces,Georgia,serif;font-size:48px;line-height:1;color:#2f7654;margin-bottom:12px}.learning-summary-card strong{font-size:19px}.learning-summary-card small{margin-top:6px;color:#6f756c;font-size:14px;line-height:1.35}.continue-learning-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:22px;border-radius:24px;background:#173d2d;color:#fff}.continue-learning-card small{letter-spacing:.12em;opacity:.72}.continue-learning-card h3{font-family:Fraunces,Georgia,serif;font-size:30px;margin:5px 0}.continue-learning-card p{margin:0;opacity:.8}.continue-learning-card .primary-btn{flex:0 0 auto;background:#fff;color:#173d2d}.previous-practice-section{margin-top:26px}.previous-practice-section h3{font-family:Fraunces,Georgia,serif;font-size:26px;margin-bottom:12px}.previous-practice-list{display:grid;gap:9px}.previous-practice-list .session-row{width:100%}
@media(max-width:600px){#history{padding:16px 12px 100px}.learning-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.learning-summary-card{min-height:154px;padding:17px}.learning-number{font-size:40px}.learning-summary-card strong{font-size:17px}.continue-learning-card{display:block;padding:20px}.continue-learning-card .primary-btn{width:100%;margin-top:16px}.previous-practice-list .session-row{padding:14px 12px}}
/* TALKING_BULGARIAN_USEFUL_PROGRESS_END */

/* TALKING_BULGARIAN_TEACHER_PROGRESS_START */
.student-progress-panel{margin:0 0 28px;padding:26px;border:1px solid #ded5c4;border-radius:24px;background:#fffdf8;box-shadow:0 14px 35px rgba(23,48,37,.07)}
.student-progress-panel .eyebrow{margin:0 0 5px;color:#b14f3c;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.student-progress-panel .studio-heading{align-items:flex-end;gap:20px}.student-picker-label{display:grid;gap:6px;min-width:230px;color:#697168;font-size:.8rem;font-weight:750}.student-picker-label select{min-height:46px;padding:0 40px 0 14px;border:1px solid #d7cebd;border-radius:13px;background:#fff;color:#18372b;font:inherit;font-size:.95rem}
.student-progress-hero{margin-top:22px}.student-progress-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:18px;color:#737970;font-size:.9rem}.student-progress-meta strong{color:#18372b}.student-progress-bar{height:10px;overflow:hidden;border-radius:999px;background:#e8e2d7}.student-progress-bar span{display:block;height:100%;border-radius:inherit;background:#2d7857;transition:width .35s ease}.student-progress-percent{display:flex;justify-content:space-between;gap:12px;margin:8px 0 20px;color:#737970;font-size:.85rem}.student-progress-percent strong{color:#18372b}
.student-progress-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.student-progress-stat{padding:18px;border-radius:18px;background:#eef5ef;color:#18372b}.student-progress-stat.needs{background:#fbf0ec;color:#8f3f31}.student-progress-stat b{display:block;font-family:Georgia,'Times New Roman',serif;font-size:2.2rem;line-height:1}.student-progress-stat span{display:block;margin-top:6px;font-weight:750}
.student-known-lists{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.student-known-lists details{border:1px solid #ded5c4;border-radius:16px;background:#fff}.student-known-lists summary{cursor:pointer;padding:15px 17px;color:#18372b;font-weight:750}.student-known-list{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 16px}.student-known-item{padding:7px 10px;border-radius:999px;background:#f3efe7;color:#23352d;font-size:.87rem}.student-empty{padding:22px;border-radius:16px;background:#f5f1e8;color:#70766e;text-align:center}
@media(max-width:700px){.student-progress-panel{padding:20px 16px;border-radius:20px}.student-progress-panel .studio-heading{align-items:stretch;flex-direction:column}.student-picker-label{min-width:0}.student-progress-stats,.student-known-lists{grid-template-columns:1fr}.student-progress-meta{display:grid;gap:7px}}
/* TALKING_BULGARIAN_TEACHER_PROGRESS_END */

/* TALKING_BULGARIAN_STUDENT_KNOWN_LISTS_START */
.student-known-details{margin:22px 0 26px;padding:26px;border:1px solid #ded5c4;border-radius:24px;background:#fffdf8;box-shadow:0 14px 35px rgba(23,48,37,.06)}
.student-known-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.student-known-heading .eyebrow{margin:0 0 5px;color:#2d7857;font-size:.76rem;font-weight:800;letter-spacing:.12em}.student-known-heading h2{margin:0}.student-known-heading>span{color:#71776f;font-weight:700}
.student-known-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.student-known-columns details{border:1px solid #ded5c4;border-radius:17px;background:#fff;overflow:hidden}.student-known-columns summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;color:#18372b;font-weight:800;list-style:none}.student-known-columns summary::-webkit-details-marker{display:none}.student-known-columns summary b{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:#e4f0e7;color:#286b4e}.student-known-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 17px}.student-known-chip{display:inline-flex;gap:5px;align-items:baseline;padding:8px 11px;border-radius:999px;background:#f2eee6;color:#18372b;font-size:.9rem}.student-known-chip strong{font-weight:800}.student-known-chip span{color:#6d746d}.student-known-empty{margin:0;color:#747a73}
@media(max-width:700px){.student-known-details{padding:20px 16px;border-radius:20px}.student-known-columns{grid-template-columns:1fr}.student-known-heading{align-items:flex-start}.student-known-chip{border-radius:12px}}
/* TALKING_BULGARIAN_STUDENT_KNOWN_LISTS_END */

.teacher-header-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.studio .app-header .teacher-header-actions .secondary-btn{margin-left:0}@media(max-width:760px){.teacher-header-actions{width:100%;margin-left:0;justify-content:flex-start}.teacher-header-actions .secondary-btn{flex:1 1 auto}}
.lesson-create-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:600px){.lesson-create-actions{width:100%;justify-content:flex-start}.lesson-create-actions button{flex:1 1 auto}}

/* LISTEN_LONG_PRESS_REORDER */
.listen-title-actions{display:flex;align-items:center;gap:10px}.listen-title-actions button{border:0;border-radius:999px;background:#2f7353;color:#fff;padding:9px 16px;font-weight:800;font-size:13px}.listen-group-grid.reordering{touch-action:none;user-select:none;-webkit-user-select:none}.listen-group-grid.reordering .listen-group{cursor:grab;animation:listenWiggle .22s ease-in-out infinite alternate;box-shadow:0 8px 20px rgba(23,56,45,.12)}.listen-group-grid.reordering .listen-group:nth-child(even){animation-direction:alternate-reverse}.listen-group-grid .listen-group.dragging{opacity:.82;transform:scale(1.045);animation:none;cursor:grabbing;box-shadow:0 18px 34px rgba(23,56,45,.25);z-index:4}.listen-group{touch-action:pan-y;-webkit-touch-callout:none}.listen-title-actions .hidden{display:none!important}@keyframes listenWiggle{from{transform:rotate(-.45deg)}to{transform:rotate(.45deg)}}@media(prefers-reduced-motion:reduce){.listen-group-grid.reordering .listen-group{animation:none}}

/* TEACHER-LED PUBLIC HOME 2026-08-03 */
.teacher-led-landing { min-height:100dvh; padding:0 !important; background:radial-gradient(circle at 15% 10%,#f9f5ec,transparent 30%),#f4efe3; color:#17382d; }
.teacher-led-shell { width:min(100%,430px); min-height:100dvh; margin:0 auto; padding:18px 20px 34px; }
.teacher-led-top { min-height:48px; display:flex; align-items:center; justify-content:space-between; }
.teacher-led-wordmark { font:600 18px 'Fraunces',serif; letter-spacing:-.02em; }
.teacher-led-flag { width:29px; height:20px; overflow:hidden; border-radius:5px; display:grid; grid-template-rows:repeat(3,1fr); box-shadow:0 0 0 1px rgba(23,56,45,.13); }
.teacher-led-flag i:nth-child(1) { background:#fff; }
.teacher-led-flag i:nth-child(2) { background:#2f7353; }
.teacher-led-flag i:nth-child(3) { background:#c7483d; }
.teacher-led-eyebrow { margin:24px 0 9px; color:#2f7353; font-size:12px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.teacher-led-shell h1 { margin:0; max-width:390px; font:600 clamp(39px,11vw,48px)/.98 'Fraunces',serif; letter-spacing:-.045em; color:#17382d; }
.teacher-led-lead { margin:17px 0 22px; color:#666f68; font-size:17px; line-height:1.5; }
.teacher-led-primary,.teacher-led-secondary { width:100%; min-height:54px; border-radius:16px; display:flex; align-items:center; justify-content:center; font:600 16px 'DM Sans',sans-serif; text-decoration:none; cursor:pointer; }
.teacher-led-primary { border:0; background:#2f7353; color:#fff; }
.teacher-led-secondary { margin-top:9px; border:1px solid #d8d0c0; background:#fffdf8; color:#17382d; }
.teacher-led-login { margin-top:12px; padding:16px; border:1px solid #d8d0c0; border-radius:18px; background:#fffdf8; }
.teacher-led-login[hidden] { display:none; }
.teacher-led-login label { display:block; margin-bottom:10px; font-size:14px; font-weight:600; }
.teacher-led-login input { width:100%; min-height:50px; border:1px solid #d8d0c0; border-radius:13px; background:#fff; color:#17382d; font-size:16px; padding:0 14px; }
.teacher-led-login button { width:100%; min-height:50px; margin-top:9px; border:0; border-radius:13px; background:#2f7353; color:#fff; font-weight:600; }
.teacher-led-login > p { margin:9px 0 0; text-align:center; color:#707871; font-size:12px; }
.teacher-led-proof { display:flex; gap:7px; flex-wrap:wrap; margin-top:20px; }
.teacher-led-proof span { padding:8px 10px; border-radius:999px; background:#e3eee5; color:#2b5f47; font-size:12px; }
.teacher-led-flow { margin-top:28px; border-top:1px solid #d8d0c0; border-bottom:1px solid #d8d0c0; padding:17px 0; display:grid; gap:13px; }
.teacher-led-flow div { display:grid; grid-template-columns:27px 1fr auto; align-items:center; gap:10px; }
.teacher-led-flow b { width:27px; height:27px; border-radius:50%; display:grid; place-items:center; background:#e2eee4; color:#2f7353; font-size:12px; font-weight:500; }
.teacher-led-flow strong { font-size:15px; }
.teacher-led-flow span { color:#9a4d3d; }
.teacher-led-founder { margin-top:54px; padding-top:18px; border-top:1px solid #d8d0c0; display:flex; align-items:center; justify-content:center; gap:11px; }
.teacher-led-founder img { width:40px; height:40px; border-radius:50%; object-fit:cover; object-position:center 25%; border:2px solid #fffdf8; box-shadow:0 3px 11px rgba(26,50,39,.13); }
.teacher-led-founder div { max-width:250px; line-height:1.35; }
.teacher-led-founder strong { display:block; font-size:12px; color:#183f30; }
.teacher-led-founder span { display:block; margin-top:2px; font-size:11px; color:#707871; }
@media (min-width:700px) {
  .teacher-led-landing { padding:34px 0 !important; }
  .teacher-led-shell { min-height:auto; padding:24px 26px 38px; border:1px solid #ddd4c3; border-radius:32px; background:#f4efe3; box-shadow:0 22px 55px rgba(41,47,35,.18); }
}
/* UNIFIED PREMIUM APP 2026-08-03 */
body { background:#f4efe3; color:#17382d; font-family:'DM Sans',sans-serif; }
.screen:not(.teacher-led-landing) { width:min(100%,760px); margin:0 auto; padding:24px 20px 112px; background:radial-gradient(circle at 12% 5%,#faf7ef,transparent 28%),#f4efe3; color:#17382d; }
.screen:not(.teacher-led-landing) h1,.screen:not(.teacher-led-landing) h2,.screen:not(.teacher-led-landing) h3 { font-family:'Fraunces',serif; color:#17382d; letter-spacing:-.025em; }
.screen:not(.teacher-led-landing) .eyebrow { color:#2f7353; letter-spacing:.13em; }
.welcome-card,.section-summary,.practice-style-picker,.setup-card,.exam-card,.completion-card,.shared-card,.editor-card,.teacher-profile-card,.say-it-yourself { border:1px solid #ded6c6; border-radius:22px; background:#fffdf8; box-shadow:none; }
.welcome-card,.setup-card,.exam-card,.completion-card,.shared-card,.editor-card,.teacher-profile-card { padding:20px; }
.section-summary,.practice-style-picker,.say-it-yourself { padding:16px 18px; }
.category-card,.scenario-card,.lesson-card,.history-card,.student-card { border:1px solid #ded6c6; border-radius:20px; background:#fffdf8; box-shadow:none; }
.primary-btn,.wide.primary-btn,button.primary-btn { min-height:52px; border:0; border-radius:15px; background:#2f7353; color:#fff; font-weight:600; }
.secondary-btn,.mode-btn,.speed-btn,.icon-btn { border:1px solid #d8d0c0; background:#fffdf8; color:#17382d; border-radius:14px; }
.mode-btn.active,.speed-btn.active { border-color:#17382d; background:#17382d; color:#fff; }
.app-header,.section-page-header,.conv-header { color:#17382d; }
.app-bottom-nav { left:50%; right:auto; bottom:12px; transform:translateX(-50%); width:min(calc(100% - 24px),680px); padding:8px 5px max(8px,env(safe-area-inset-bottom)); border:1px solid #ded6c6; border-radius:24px; background:rgba(255,253,248,.97); box-shadow:0 10px 28px rgba(23,56,45,.12); backdrop-filter:blur(12px); }
.bottom-nav-item { color:#737b75; border-radius:18px; }
.bottom-nav-item.active { background:#e3eee5; color:#2f7353; }
.account-button { border:2px solid #fffdf8; box-shadow:0 4px 16px rgba(23,56,45,.15); }
.progress-bar,.lesson-progress { overflow:hidden; border-radius:99px; background:#e1dacd; }
.progress-bar > *, .lesson-progress > * { background:#2f7353; }
input,textarea,select { border:1px solid #d8d0c0; border-radius:13px; background:#fffdf8; color:#17382d; }
dialog { border:1px solid #ded6c6; border-radius:24px; background:#fffdf8; color:#17382d; }
@media (max-width:520px) {
  .screen:not(.teacher-led-landing) { padding:18px 16px 105px; }
  .section-page-header h1,.welcome-card .section-title { font-size:clamp(34px,10vw,44px); line-height:1; }
  .app-bottom-nav { width:calc(100% - 16px); bottom:8px; }
}
/* COMPACT LEARNING FLOW 2026-08-06 */
.vocab-learning-card,.shared-learning-card{max-width:760px;margin:24px auto 0;padding:26px 30px 28px;text-align:center}
.learning-card-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#737970;font-size:14px;font-weight:700}
.learning-progress{height:6px;margin:12px 0 30px;border-radius:99px;background:#e4dfd4;overflow:hidden}
.learning-progress>span{display:block;height:100%;width:0;border-radius:inherit;background:#b95443;transition:width .25s ease}
.vocab-learning-card .exam-question,.shared-learning-card h1{margin:0 auto 18px;font-family:Fraunces,Georgia,serif;font-size:clamp(42px,7vw,66px);line-height:1.05;color:#17382d}
.learning-audio-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.learning-play{min-height:48px;border:1px solid #2f7d59;border-radius:999px;background:#2f7d59;color:#fff;padding:10px 24px;font-size:17px;font-weight:800}
.learning-play.is-playing{background:#b95443;border-color:#b95443}
.learning-hear{min-height:48px;border:1px solid #cfc8ba;border-radius:999px;background:#fffdf8;color:#1f6043;padding:10px 22px;font-size:17px;font-weight:800}
.learning-meaning{min-height:27px;margin:16px 0 0!important;color:#697168;font-size:18px!important}
.learning-primary-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.18fr);gap:12px;max-width:720px;margin:22px auto 0}
.learning-back-btn,.learning-meaning-btn,.learning-next-btn{min-height:54px;border-radius:15px;padding:12px 18px;font-size:17px;font-weight:800}
.learning-back-btn,.learning-meaning-btn{border:1px solid #cfc8ba;background:#fffdf8;color:#1f6043}
.learning-back-btn:disabled{opacity:.45;cursor:not-allowed}
.learning-next-btn{border:1px solid #2f7d59;background:#2f7d59;color:#fff}
.learning-known-btn{display:block;margin:16px auto 0;border:0!important;background:transparent!important;color:#557064!important;padding:8px 14px!important;box-shadow:none!important}
.shared-learning-card .learning-card-meta .eyebrow{margin:0}
.shared-learning-card .learning-progress{margin-bottom:34px}
.shared-learning-card .learning-primary-actions{margin-top:24px}
#vocab-flash .vocab-self-practice,#vocab-flash .conv-footer{display:none!important}
@media(max-width:600px){.vocab-learning-card,.shared-learning-card{padding:22px 18px 24px}.learning-primary-actions{grid-template-columns:1fr 1fr;gap:9px}.learning-next-btn{grid-column:1/-1}.learning-back-btn,.learning-meaning-btn,.learning-next-btn{font-size:15px;padding:10px 9px}.learning-progress{margin-bottom:24px}}
/* Teacher login: keep the email and action together, without sending teachers back to the homepage. */
.teacher-login-form{margin-top:1.4rem}.teacher-login-form label{display:block;margin-bottom:.55rem;font-weight:700}.teacher-login-row{display:flex;gap:.75rem;align-items:stretch}.teacher-login-row input{min-width:0;flex:1;font:inherit;padding:.9rem 1rem;border:1px solid #d8cfbf;border-radius:14px;background:#fffdf8}.teacher-login-row .primary-btn{white-space:nowrap}@media(max-width:640px){.teacher-login-row{flex-direction:column}.teacher-login-row .primary-btn{width:100%}}

/* Reverse recall exercise */
.reverse-practice-entry{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:1rem 0 1.35rem;padding:1.35rem 1.45rem;border-radius:24px;background:#163f31;color:#fff}.reverse-practice-entry h2{margin:.2rem 0 .35rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.55rem,4vw,2.1rem)}.reverse-practice-entry p{margin:0;max-width:38rem;color:#e4eee8}.reverse-practice-entry .eyebrow{color:#f1b2a8}.reverse-known-count{display:block;margin-top:.65rem;color:#b9d4c7;font-weight:700}.reverse-practice-entry .primary-btn{flex:0 0 auto;background:#fff;color:#164333}.reverse-practice-entry .primary-btn:disabled{opacity:.55}.reverse-known-header{align-items:flex-start}.reverse-known-header h1{margin:.1rem 0;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,6vw,3.2rem)}.reverse-known-progress-row{display:flex;justify-content:space-between;margin:1.1rem 0 .55rem;color:#6f766f}.reverse-known-card{margin-top:1.4rem;padding:clamp(1.5rem,5vw,3rem);border:1px solid #ddd3c4;border-radius:28px;background:#fffdf9;text-align:center;box-shadow:0 18px 45px rgba(39,55,46,.08)}.reverse-known-prompt{color:#7c817b}.reverse-known-english{margin:1.1rem 0;font-family:Fraunces,Georgia,serif;font-size:clamp(2.5rem,9vw,5rem);line-height:1;color:#183d31}.reverse-known-answer{margin:1.3rem 0}.reverse-known-answer p{margin:0 0 1rem;font-size:clamp(2rem,7vw,4rem);font-weight:800;color:#b64e3d}.reverse-known-actions{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;max-width:42rem;margin:1.7rem auto 0}.reverse-known-actions>button:only-child{grid-column:1/-1}@media(max-width:640px){.reverse-practice-entry{align-items:stretch;flex-direction:column}.reverse-practice-entry .primary-btn{width:100%}.reverse-known-actions{grid-template-columns:1fr}.reverse-known-actions>button{grid-column:1}}

.reverse-direction-toggle{display:flex;gap:.35rem;margin-top:1rem;padding:.25rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;width:max-content}.reverse-direction-btn{border:0;border-radius:999px;padding:.55rem .8rem;background:transparent;color:#d8e8df;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.reverse-direction-btn.active{background:#fff;color:#184333;box-shadow:0 2px 8px rgba(0,0,0,.12)}.reverse-direction-toggle-screen{margin:1rem 0 0;border-color:#d7cdbd}.reverse-direction-toggle-screen .reverse-direction-btn{color:#5c665f}.reverse-direction-toggle-screen .reverse-direction-btn.active{background:#184333;color:#fff}@media(max-width:640px){.reverse-direction-toggle{width:100%;flex-wrap:wrap}.reverse-direction-btn{flex:1;min-width:0;padding:.55rem .45rem;font-size:.76rem}}

.practice-hub{margin:1.35rem 0}.practice-hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.practice-hub-card{min-height:148px;padding:1.15rem;text-align:left;border:1px solid #d9d0c2;border-radius:22px;background:#fffdf9;color:#173d31;cursor:default;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;transition:transform .18s ease,box-shadow .18s ease}.practice-hub-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(34,55,43,.1)}.practice-hub-card .eyebrow{margin-bottom:.4rem;color:#b85643}.practice-hub-card strong{font-family:Fraunces,Georgia,serif;font-size:1.35rem;line-height:1.08}.practice-hub-card small{margin-top:.45rem;color:#6d756e}.practice-hub-card.hub-learn{background:#dfefe7}.practice-hub-card.hub-progress{background:#f5e7d9}.practice-hub-card.hub-together{background:#e8edf2}.practice-hub-card.hub-listen{background:#f3edcf}@media(max-width:900px){.practice-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.practice-hub-grid{grid-template-columns:1fr 1fr;gap:.65rem}.practice-hub-card{min-height:126px;padding:.9rem}.practice-hub-card strong{font-size:1.15rem}.practice-hub-card small{font-size:.78rem}}
/* Listen and Learn share the same study controls. */
.listen-direction-toggle{max-width:560px;margin:18px auto}
.listen-player-controls{grid-template-columns:1fr 1.25fr .75fr 1.1fr!important;max-width:760px;margin-left:auto;margin-right:auto}
.listen-player-controls button{font-size:16px!important;font-weight:800;padding:8px 10px}
#listen-reveal{color:#1f6043;background:#fffdf8}
@media(max-width:600px){.listen-player-controls{grid-template-columns:1fr 1fr!important}.listen-player-controls .primary{grid-column:1/2}.listen-direction-toggle{margin:14px auto}}
/* Unified learner interface — Learn, Practice, Listen and Progress */
:root{--ui-surface:#fffdf8;--ui-line:#ded6c6;--ui-ink:#173d31;--ui-muted:#6f766f;--ui-green:#2f7d59;--ui-green-soft:#e1eee7;--ui-gold-soft:#f4ead0;--ui-rust-soft:#f3e1da;--ui-radius:24px}
#vocab-list,#lessons-list,#listen,#history{max-width:980px;margin:0 auto;padding-left:18px;padding-right:18px;padding-bottom:116px}
.section-page-header,.listen-head{margin:24px 0 28px;padding:0}
.section-page-header h1,.listen-head h1,#history h1,#history h2{font-family:Fraunces,Georgia,serif;color:var(--ui-ink);font-size:clamp(42px,7vw,68px);line-height:1;letter-spacing:-.035em;margin:7px 0 12px}
.section-page-header>p:last-child,.listen-head>p:last-child{max-width:700px;color:var(--ui-muted);font-size:18px;line-height:1.5}
.section-summary,.teacher-lessons-section,.listen-continue,.listen-focus,.listen-group,.learning-summary-card,.continue-learning-card,.reverse-practice-entry{border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:none}
.section-summary{background:var(--ui-surface)}
.category-card,.practice-hub-card,.listen-group,.listen-focus{border-radius:20px;box-shadow:none;transition:transform .18s ease,border-color .18s ease}
.category-card:hover,.practice-hub-card:hover,.listen-group:hover,.listen-focus:hover{transform:translateY(-2px);box-shadow:none}
.category-card.teacher{background:var(--ui-green-soft);border-color:#9abca7;color:var(--ui-ink)}
.category-card.teacher span{color:var(--ui-muted)}
.teacher-lessons-section{background:var(--ui-surface);padding:24px}
.reverse-practice-entry{background:var(--ui-surface);color:var(--ui-ink);padding:24px}
.reverse-practice-entry p{color:var(--ui-muted)}
.reverse-practice-entry .eyebrow{color:var(--ui-green)}
.reverse-known-count{color:var(--ui-green)}
.reverse-practice-entry .primary-btn{background:var(--ui-green);color:#fff}
.listen-continue{background:var(--ui-green-soft);color:var(--ui-ink);padding:20px 22px;box-shadow:none}
.listen-continue small{color:var(--ui-green)}
.listen-focus:first-child{background:var(--ui-green-soft)}
.listen-group{border:1px solid var(--ui-line)}
.listen-group:nth-child(3n+1){background:var(--ui-green-soft)}
.listen-group:nth-child(3n+2){background:var(--ui-gold-soft)}
.listen-group:nth-child(3n){background:var(--ui-rust-soft)}
.listen-direction-toggle{padding:5px;border:1px solid var(--ui-line);border-radius:999px;background:#f8f3e8;display:flex;gap:4px}
.listen-direction-toggle [data-listen-direction]{flex:1;min-height:42px;border:0;border-radius:999px;background:transparent;color:var(--ui-muted);font:inherit;font-weight:800;padding:8px 14px}
.listen-direction-toggle [data-listen-direction].active{background:var(--ui-green);color:#fff}
.listen-now,.vocab-learning-card,.reverse-known-card{border:1px solid var(--ui-line);border-radius:28px;background:var(--ui-surface);box-shadow:none}
.listen-now{min-height:300px}
.listen-player-controls button,.learning-back-btn,.learning-meaning-btn,.learning-next-btn{border-radius:15px}
.listen-player-controls .primary,#listen-next,.learning-next-btn,.learning-play{background:var(--ui-green);border-color:var(--ui-green);color:#fff}
#listen-prev,#listen-reveal{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}
.continue-learning-card{background:var(--ui-green-soft);color:var(--ui-ink)}
.continue-learning-card small,.continue-learning-card p{color:var(--ui-muted);opacity:1}
.continue-learning-card .primary-btn{background:var(--ui-green);color:#fff}
.learning-summary-card{background:var(--ui-surface)}
.app-bottom-nav{border:1px solid var(--ui-line);background:rgba(255,253,248,.96);box-shadow:0 10px 30px rgba(39,55,46,.08)}
@media(max-width:640px){#vocab-list,#lessons-list,#listen,#history{padding-left:12px;padding-right:12px}.section-page-header,.listen-head{margin-top:16px}.section-page-header h1,.listen-head h1,#history h1,#history h2{font-size:43px}.section-page-header>p:last-child,.listen-head>p:last-child{font-size:16px}.teacher-lessons-section,.reverse-practice-entry{padding:18px}}
/* Three-section product structure: Learn, Practice, Progress. */
[data-nav="listen"],.practice-hub{display:none!important}
.app-bottom-nav{grid-template-columns:repeat(3,1fr)!important}
.learn-play-settings{display:flex;align-items:center;justify-content:center;gap:7px;margin:14px auto 18px;color:var(--ui-muted);font-weight:700;flex-wrap:wrap}.learn-play-settings span{margin-right:4px}.learn-play-settings button{width:42px;height:38px;border:1px solid var(--ui-line);border-radius:999px;background:var(--ui-surface);color:var(--ui-ink);font:inherit;font-weight:800}.learn-play-settings button.active{background:var(--ui-green);border-color:var(--ui-green);color:#fff}
/* Practice and Learn use one shared visual language. */
#lessons-list .section-page-header{margin:18px 0 24px}#lessons-list .section-page-header h1{font-size:clamp(42px,6vw,60px)}.reverse-practice-entry{padding:28px 32px;gap:28px}.reverse-practice-entry h2{font-size:clamp(1.75rem,3vw,2.25rem)}.reverse-practice-entry .reverse-direction-toggle{gap:0;padding:4px;border-color:#d7cdbd;background:#f7f2e8}.reverse-practice-entry .reverse-direction-btn{padding:.66rem 1rem;color:#5c665f}.reverse-practice-entry .reverse-direction-btn.active{background:#184333;color:#fff;box-shadow:none}.reverse-practice-entry .primary-btn{min-height:56px;padding:0 28px;border-radius:16px;box-shadow:none}.reverse-practice-entry .reverse-known-count{color:#2f7353}@media(max-width:640px){#lessons-list .section-page-header h1{font-size:43px}.reverse-practice-entry{padding:20px}.reverse-practice-entry .reverse-direction-toggle{width:100%}}
/* Recall exercise now follows the Learn card interface. */
#reverse-known .reverse-known-header{align-items:flex-start;margin-bottom:18px}#reverse-known .reverse-known-header>div{flex:1}#reverse-known .reverse-known-header .mono{margin:14px 0 0;color:var(--ui-muted);font-weight:700}#reverse-known .reverse-direction-toggle{margin:28px auto 0;border-color:#d7cdbd;background:#f7f2e8}#reverse-known .reverse-known-progress-row{margin:0 0 10px;padding:0 4px;color:var(--ui-muted);font-weight:700}#reverse-known .reverse-known-progress-row span:last-child{display:none}#reverse-known>.learning-progress{margin-bottom:0}#reverse-known .reverse-known-card{margin-top:0;min-height:410px;padding:38px 40px;border-radius:24px;background:var(--ui-surface);box-shadow:none;display:flex;flex-direction:column;justify-content:center}#reverse-known .reverse-known-prompt{margin:0 0 18px;color:var(--ui-muted);font-size:16px;font-weight:700}#reverse-known .reverse-known-english{margin:0;font-size:clamp(3.2rem,8vw,5rem);color:var(--ui-ink)}#reverse-known .reverse-known-answer{margin:24px 0 0}#reverse-known .reverse-known-answer p{margin:0 0 18px;color:var(--ui-ink);font-size:clamp(1.7rem,4vw,2.5rem);font-family:DM Sans,Arial,sans-serif;font-weight:700}#reverse-known .reverse-known-actions{grid-template-columns:1fr;max-width:680px;width:100%;margin:28px auto 0}#reverse-known .reverse-known-actions button{width:100%;min-height:56px}#reverse-known .learning-hear{margin:auto}@media(max-width:640px){#reverse-known .reverse-known-header .reverse-direction-toggle{margin-top:18px}#reverse-known .reverse-known-card{min-height:360px;padding:28px 20px}}
.learning-card-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.random-switch{display:flex;align-items:center;gap:9px;color:var(--ui-muted);font-weight:700;cursor:pointer}.random-switch input{position:absolute;opacity:0;pointer-events:none}.random-switch i{position:relative;width:46px;height:26px;border-radius:999px;background:#d9d5ca;transition:.2s}.random-switch i:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.2s}.random-switch input:checked+i{background:var(--ui-green)}.random-switch input:checked+i:after{transform:translateX(20px)}.random-switch input:focus-visible+i{outline:3px solid rgba(47,115,83,.25);outline-offset:2px}
.settings-trigger{position:fixed;top:24px;right:88px;z-index:70;border:1px solid var(--border,#d8cfbd);background:#fffdf8;color:#143f32;border-radius:999px;padding:11px 17px;font:700 15px inherit;box-shadow:0 8px 24px rgba(20,63,50,.1);cursor:pointer}.settings-overlay{position:fixed;inset:0;z-index:200;background:rgba(20,35,29,.28);display:flex;justify-content:flex-end}.settings-overlay.hidden{display:none}.settings-panel{width:min(420px,calc(100% - 24px));height:100%;overflow:auto;background:#fbf6e9;padding:30px 24px;box-shadow:-16px 0 50px rgba(20,35,29,.18)}.settings-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.settings-head h2{margin:4px 0;font-size:38px}.settings-close{width:44px;height:44px;border:1px solid #d8cfbd;border-radius:50%;background:#fffdf8;color:#143f32;font-size:28px;cursor:pointer}.settings-row{display:block;background:#fffdf8;border:1px solid #ddd4c3;border-radius:18px;padding:18px;margin:12px 0;color:#143f32}.settings-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.settings-options button,.settings-stop,.settings-link{border:1px solid #d8cfbd;border-radius:999px;background:#fff;color:#143f32;padding:10px 14px;font:700 14px inherit;cursor:pointer}.settings-options button:focus,.settings-options button:hover{background:#e4f0e9}.settings-toggle{display:flex;align-items:center;justify-content:space-between}.settings-toggle input{width:46px;height:26px;accent-color:#2f8964}.settings-stop{width:100%;margin-top:18px;background:#2f8964;color:white;border-color:#2f8964}.settings-link{display:flex;justify-content:space-between;text-decoration:none;border-radius:18px;margin:12px 0;padding:18px}.teacher-header-actions button{font:inherit}@media(max-width:720px){.settings-trigger{top:16px;right:70px;padding:9px 12px}.settings-panel{padding:24px 18px}}
.teacher-voice-entry{margin:28px 0}.teacher-voice-entry .teacher-profile-copy{width:100%}.teacher-voice-entry textarea{width:100%;box-sizing:border-box;margin-top:8px;border:1px solid #d8cfbd;border-radius:16px;padding:15px;font:inherit;resize:vertical;background:#fff}.teacher-voice-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.account-preferences{border-top:1px solid #ddd4c3;margin-top:18px;padding-top:18px}.account-photo-trigger{appearance:none;padding:0;cursor:pointer}.account-photo-trigger:hover{box-shadow:0 0 0 4px rgba(47,137,100,.16)}.app-logo-mark{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#17493a;color:#fff;font:800 15px/1 Arial;letter-spacing:.04em}.account-promo-link{display:flex!important;justify-content:space-between;align-items:center;text-align:left}.account-promo-link span{display:grid;gap:4px}.account-promo-link small{color:#6f786f;font-weight:500}
.home-benefits,.home-audience,.home-cyrillic,.home-share{max-width:1120px;margin:70px auto 0;text-align:left}.home-benefits>h2,.home-audience h2,.home-cyrillic h2,.home-share h2{font-family:'Fraunces',serif;font-size:clamp(34px,5vw,58px);line-height:1.02;margin:8px 0 28px;color:#17382d}.home-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home-feature-grid article,.home-audience>div,.home-cyrillic,.home-share{background:#fffdf8;border:1px solid #d8cfbd;border-radius:28px;padding:28px}.home-feature-grid b{color:#c54e3d}.home-feature-grid h3{font-family:'Fraunces',serif;font-size:28px;margin:34px 0 10px}.home-feature-grid p,.home-audience p,.home-cyrillic p{color:#6e776e;line-height:1.55}.home-audience{display:grid;grid-template-columns:1fr 1fr;gap:18px}.home-audience .teacher-led-primary{display:inline-flex;margin-top:14px;border:0;text-decoration:none}.home-cyrillic{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;background:#173e31;color:white}.home-cyrillic h2,.home-cyrillic .teacher-led-eyebrow{color:white}.home-cyrillic p{color:#dce7df}.home-cyrillic-mark{font-family:'Fraunces',serif;font-size:32px;white-space:nowrap}.home-share{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}.home-share-actions{display:flex;flex-wrap:wrap;gap:9px}.home-share-actions a,.home-share-actions button{border:1px solid #d8cfbd;background:white;color:#17493a;border-radius:999px;padding:12px 17px;font:700 14px inherit;text-decoration:none;cursor:pointer}.home-share-status{grid-column:1/-1;margin:0;color:#2f7353}@media(max-width:760px){.home-benefits,.home-audience,.home-cyrillic,.home-share{margin-top:42px}.home-feature-grid,.home-audience{grid-template-columns:1fr}.home-cyrillic{grid-template-columns:1fr}.home-share{grid-template-columns:1fr}.home-benefits>h2,.home-audience h2,.home-cyrillic h2,.home-share h2{font-size:36px}}/* Liquid Glass design — homepage, student and teacher */:root{--glass-bg:rgba(255,253,248,.66);--glass-strong:rgba(255,255,255,.82);--glass-line:rgba(255,255,255,.72);--glass-shadow:0 18px 55px rgba(23,56,45,.12),inset 0 1px 0 rgba(255,255,255,.9);--glass-blur:blur(24px) saturate(145%)}body{background:radial-gradient(circle at 12% 5%,rgba(255,255,255,.9),transparent 30%),radial-gradient(circle at 88% 18%,rgba(189,222,207,.34),transparent 28%),linear-gradient(145deg,#f6f0e3,#edf3ea 52%,#f7eee5);background-attachment:fixed}.bottom-nav,.account-dialog,.share-dialog,.settings-panel,.app-header,.teacher-profile-card,.welcome-card,.editor-card,.teacher-updates,.student-progress-panel,.reverse-practice-entry,.learning-card,.reverse-known-card,.home-feature-grid article,.home-audience>div,.home-share{background:var(--glass-bg)!important;border:1px solid var(--glass-line)!important;box-shadow:var(--glass-shadow)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.bottom-nav{bottom:18px;border-radius:30px!important;padding:8px!important}.bottom-nav-item{border-radius:22px!important;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s,box-shadow .25s}.bottom-nav-item:hover{transform:translateY(-2px)}.bottom-nav-item.active{background:rgba(217,237,226,.75)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 22px rgba(47,115,83,.12)}button,.primary-btn,.secondary-btn,.teacher-led-primary,.teacher-led-secondary,.settings-link,.home-share-actions a,.home-share-actions button{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,background .22s!important}button:hover,.primary-btn:hover,.secondary-btn:hover,.teacher-led-primary:hover,.teacher-led-secondary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(23,56,45,.14)}button:active,.primary-btn:active,.secondary-btn:active{transform:scale(.975)}.primary-btn,.teacher-led-primary,.learning-next-btn{background:linear-gradient(180deg,#38936d,#287957)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 26px rgba(37,120,84,.22)!important}.secondary-btn,.teacher-led-secondary,.learning-meaning-btn,.learning-hear{background:rgba(255,255,255,.65)!important;border-color:rgba(255,255,255,.85)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mode-toggle,.direction-toggle,.reverse-direction-toggle,.speed-controls{background:rgba(255,255,255,.48)!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 8px 24px rgba(23,56,45,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.category-card,.practice-hub-card,.teacher-lesson-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 12px 34px rgba(23,56,45,.09)!important;transition:transform .25s,box-shadow .25s!important}.category-card:hover,.practice-hub-card:hover,.teacher-lesson-card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 18px 42px rgba(23,56,45,.14)!important}.teacher-led-landing{background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.94),transparent 28%),radial-gradient(circle at 86% 22%,rgba(174,217,198,.42),transparent 30%),linear-gradient(145deg,#f6f0e4,#eaf2e9)!important}.teacher-led-brand,.teacher-led-proof span{background:rgba(255,255,255,.6)!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 10px 30px rgba(23,56,45,.09);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-cyrillic{background:linear-gradient(145deg,rgba(20,69,52,.94),rgba(41,115,83,.88))!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:0 24px 70px rgba(20,69,52,.24),inset 0 1px 0 rgba(255,255,255,.25)!important;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.account-button,.teacher-avatar{box-shadow:0 12px 28px rgba(23,56,45,.16),inset 0 1px 0 rgba(255,255,255,.75)!important;border:2px solid rgba(255,255,255,.78)!important}.settings-overlay,.account-dialog::backdrop,.share-dialog::backdrop{background:rgba(21,42,34,.2)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}@media(prefers-reduced-transparency:reduce){.bottom-nav,.account-dialog,.share-dialog,.settings-panel,.app-header,.teacher-profile-card,.welcome-card,.editor-card,.teacher-updates,.student-progress-panel,.learning-card,.home-feature-grid article,.home-audience>div,.home-share{background:#fffdf8!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}/* Homepage family-layout repair */.teacher-led-landing{overflow-x:hidden!important}.teacher-led-wrap{width:min(100% - 32px,720px)!important;max-width:720px!important;margin:0 auto!important;padding:28px 0 50px!important}.teacher-led-hero{max-width:560px!important;margin:0 auto!important}.teacher-led-hero h1{font-size:clamp(46px,7vw,72px)!important;line-height:.98!important}.home-benefits,.home-audience,.home-cyrillic,.home-share{width:100%!important;max-width:100%!important;margin:28px 0 0!important;box-sizing:border-box!important}.home-benefits{text-align:left}.home-benefits>h2,.home-audience h2,.home-cyrillic h2,.home-share h2{font-size:clamp(30px,4.5vw,44px)!important;line-height:1.02!important;margin:6px 0 18px!important;overflow-wrap:anywhere}.home-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.home-feature-grid article{min-width:0!important;padding:20px!important;border-radius:22px!important}.home-feature-grid article h3{font-size:22px!important;margin:22px 0 8px!important}.home-feature-grid article p{font-size:14px!important}.home-audience{grid-template-columns:1fr 1fr!important;gap:10px!important}.home-audience>div{min-width:0!important;padding:22px!important;border-radius:22px!important}.home-audience .teacher-led-primary{width:auto!important;max-width:100%!important;padding:13px 16px!important;box-sizing:border-box!important}.home-cyrillic{grid-template-columns:84px minmax(0,1fr)!important;gap:18px!important;padding:26px!important;border-radius:24px!important}.home-cyrillic>.teacher-led-primary{grid-column:2!important;justify-self:start!important;width:auto!important;max-width:100%!important;box-sizing:border-box!important}.home-cyrillic-mark{font-size:24px!important}.home-share{grid-template-columns:minmax(0,1fr) auto!important;padding:24px!important;border-radius:24px!important}.home-share-actions{max-width:190px!important;justify-content:flex-end!important}.home-share-actions a,.home-share-actions button{white-space:nowrap!important}.teacher-led-founder{margin-top:28px!important}@media(max-width:620px){.teacher-led-wrap{width:min(100% - 24px,520px)!important;padding-top:18px!important}.teacher-led-hero h1{font-size:48px!important}.home-feature-grid,.home-audience{grid-template-columns:1fr!important}.home-cyrillic,.home-share{grid-template-columns:1fr!important}.home-cyrillic>.teacher-led-primary{grid-column:1!important}.home-share-actions{max-width:none!important;justify-content:flex-start!important}.home-benefits>h2,.home-audience h2,.home-cyrillic h2,.home-share h2{font-size:34px!important}}.short-home{width:min(100% - 28px,620px);min-height:100dvh;margin:0 auto;padding:26px 0 32px;display:grid;align-content:center;gap:16px;box-sizing:border-box}.short-home-brand{display:flex;align-items:center;gap:12px;padding:0 6px}.short-home-brand strong{font-family:'Fraunces',serif;font-size:22px}.short-home-brand .teacher-led-flag{margin-left:auto}.short-home-card{background:rgba(255,253,248,.68);border:1px solid rgba(255,255,255,.78);box-shadow:0 24px 70px rgba(23,56,45,.13),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-radius:30px;padding:clamp(26px,5vw,44px)}.short-home-card h1{font-family:'Fraunces',serif;font-size:clamp(48px,8vw,72px);line-height:.92;letter-spacing:-.045em;margin:12px 0 18px;color:#17382d}.short-home-lead{font-size:18px;line-height:1.5;color:#69736b;max-width:500px}.short-login{margin-top:26px}.short-login label{display:block;font-weight:700;margin-bottom:8px}.short-login>div{display:grid;grid-template-columns:1fr auto;gap:8px}.short-login input{min-width:0;border:1px solid #d8cfbd;border-radius:14px;padding:14px;font:inherit;background:rgba(255,255,255,.72)}.short-login button{border:0;border-radius:14px;padding:14px 18px;background:#2f8964;color:white;font:700 15px inherit}.short-login small{display:block;margin-top:9px;color:#747d75}.short-home-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px}.short-home-links a{color:#17493a;font-weight:700;text-decoration:none;border-bottom:1px solid #6e9f89}.short-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.short-proof span{padding:13px 10px;text-align:center;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.76);border-radius:16px;box-shadow:0 8px 24px rgba(23,56,45,.07);font-size:13px;font-weight:700;backdrop-filter:blur(16px)}.short-founder{display:flex;align-items:center;gap:10px;padding:4px 6px;color:#536158;font-size:13px}.short-founder img{width:36px;height:36px;border-radius:50%;object-fit:cover}.short-founder .share-trigger{margin-left:auto;border:1px solid #d8cfbd;border-radius:999px;padding:8px 13px;background:rgba(255,255,255,.62)}@media(max-width:560px){.short-home{align-content:start;padding-top:18px}.short-home-card{padding:26px 22px}.short-home-card h1{font-size:50px}.short-login>div{grid-template-columns:1fr}.short-proof{grid-template-columns:1fr}.short-home-links{display:grid;gap:12px}}
/* Account and teacher layout repair */
.settings-panel .account-signout{display:flex;width:100%;min-height:54px;align-items:center;justify-content:center;margin-top:18px;border:1.5px solid #b45b3d;border-radius:16px;background:#fff7f3;color:#9f432f;font:700 16px DM Sans,sans-serif;cursor:pointer}.teacher-voice-entry{margin-top:28px}.teacher-voice-entry .teacher-profile-copy{width:100%}.teacher-voice-entry textarea{width:100%;min-height:150px;resize:vertical}.teacher-voice-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

/* Information architecture improvements */
.teacher-section-nav{position:sticky;top:12px;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px;margin:0 0 22px;border:1px solid rgba(23,64,49,.14);border-radius:20px;background:rgba(255,253,248,.88);backdrop-filter:blur(18px);box-shadow:0 10px 30px rgba(25,45,35,.08)}.teacher-section-nav a,.teacher-section-nav button{display:flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:14px;background:transparent;color:var(--green-dark);font-weight:700;text-decoration:none}.teacher-section-nav a:hover,.teacher-section-nav button:hover{background:var(--green-soft)}.known-items-grid{max-height:540px;overflow:auto;overscroll-behavior:contain;padding-right:6px}.history-known-list{max-height:540px;overflow:auto}@media(max-width:620px){.teacher-section-nav{grid-template-columns:repeat(2,1fr)}.teacher-section-nav a,.teacher-section-nav button{min-height:42px}.history-known-list,.known-items-grid{max-height:420px}}

/* Final full-audit corrections */
#lesson-play #lesson-chat-log{min-height:0!important;height:auto!important;max-height:180px!important;display:block!important}
#lesson-play #lesson-chat-log .bubble{margin-bottom:0}
@media(max-width:760px){
  .studio-grid{display:block!important}
  .studio-grid>.lesson-library{margin-bottom:18px}
  .studio-grid>.editor-card{width:100%;min-width:0}
  .teacher-section-nav{top:6px}
  #lesson-play #lesson-chat-log{max-height:150px!important}
  #lesson-play #lesson-your-turn{padding:22px 16px 20px}
}

.global-app-header{position:sticky;top:0;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1000px;margin:0 auto 18px;padding:10px 18px;border:1px solid rgba(255,255,255,.72);border-top:0;border-radius:0 0 24px 24px;background:rgba(250,247,239,.78);backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);box-shadow:0 10px 32px rgba(22,55,42,.11)}
.global-brand{display:flex;align-items:center;gap:11px;color:var(--green-dark);font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:700;text-decoration:none}
.global-brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 5px 16px rgba(17,54,40,.24)}
.global-profile{width:58px;height:58px;border:1px solid rgba(25,74,55,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;padding:3px;background:rgba(255,255,255,.72);color:var(--green-dark);font:700 10px/1.05 "DM Sans",sans-serif;text-align:center;overflow:hidden;box-shadow:0 6px 18px rgba(22,55,42,.12);cursor:pointer}
.global-profile img{width:100%;height:100%;border-radius:50%;object-fit:cover}
@media(max-width:620px){.global-app-header{margin-bottom:10px;padding:8px 12px;border-radius:0 0 19px 19px}.global-brand span{font-size:17px}.global-brand img{width:42px;height:42px}.global-profile{width:50px;height:50px;font-size:9px}}

body>.account-button{display:none!important}
.global-app-header+.screen .account-button{display:none!important}
#student-global-header{max-width:760px}
.remember-device{display:flex!important;align-items:center;gap:.55rem;margin-top:.75rem!important;font-weight:650!important;color:#506057;font-size:.92rem}.remember-device input{width:18px;height:18px;accent-color:#2f8862;flex:0 0 auto}
.teacher-home-cta{display:block;margin:1.25rem 0 .9rem;padding:1rem 1.2rem;border-radius:18px;background:linear-gradient(135deg,#236c4e,#35976d);color:#fff!important;text-align:center;font-weight:800;text-decoration:none;box-shadow:0 12px 26px rgba(31,104,74,.2)}
.student-access-label{margin:1.15rem 0 .45rem;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#66736c}
#student-global-header .global-brand span::after,#teacher-global-header .global-brand span::after{content:'🇧🇬';display:inline-block;margin-left:8px;font-family:Apple Color Emoji,sans-serif;font-size:.78em;transform:translateY(-1px)}

/* logo tricolour rings */
.global-app-header .global-brand img{box-sizing:content-box!important;padding:0!important;margin:8px!important;border:4px solid #fff!important;outline:4px solid #168653!important;outline-offset:0!important;box-shadow:0 0 0 8px #d7463c,0 10px 24px rgba(18,54,42,.28)!important;background:#fff!important}
.global-app-header .global-brand span::after{display:none!important;content:none!important}
.brand-bg-flag{display:none!important}

/* TALK BULGARIAN PUBLIC HOME 2026-08-12 */
body:has(.tb-public-home) .global-app-header{display:none!important}.tb-public-home{min-height:100vh;display:grid;place-items:center;padding:clamp(18px,4vw,48px);background:radial-gradient(circle at 50% 34%,rgba(197,230,207,.62),transparent 34%),linear-gradient(135deg,#fffdfa,#eef7ee 58%,#fff8ed)}.tb-home-card{width:min(100%,850px);text-align:center;padding:clamp(28px,5vw,58px);border:1px solid rgba(159,126,62,.27);border-radius:42px;background:linear-gradient(145deg,rgba(255,253,247,.93),rgba(250,247,238,.79));box-shadow:0 28px 80px rgba(23,68,47,.16);backdrop-filter:blur(24px)}.tb-home-logo{width:clamp(118px,16vw,164px);aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 16px 38px rgba(9,63,34,.22)}.tb-home-eyebrow{margin:24px 0 12px;color:#287753;font-weight:800;letter-spacing:.16em;font-size:13px}.tb-home-card h1{margin:0;font-family:Georgia,serif;font-size:clamp(43px,7vw,72px);line-height:1.02;letter-spacing:-.04em;color:#073f29}.tb-home-lead{max-width:690px;margin:22px auto;color:#496056;font-size:clamp(17px,2.2vw,21px);line-height:1.55}.tb-home-price{display:inline-flex;gap:7px;align-items:center;padding:10px 18px;border:1px solid rgba(123,94,38,.2);border-radius:999px;background:rgba(255,255,255,.7);box-shadow:0 6px 18px rgba(45,70,49,.08)}.tb-home-primary{display:block;width:min(100%,590px);margin:22px auto 0;border:0;border-radius:18px;padding:17px 22px;background:linear-gradient(145deg,#1e895a,#064128);color:#fff;font-weight:800;font-size:18px;box-shadow:0 13px 28px rgba(5,68,39,.24);cursor:pointer}.tb-student-open{margin:17px auto 0;border:0;border-bottom:1px solid rgba(7,85,45,.35);background:transparent;color:#07552d;font-weight:750;font-size:16px;padding:7px 2px;cursor:pointer}.tb-home-login{width:min(100%,590px);margin:16px auto 0;padding:24px;text-align:left;border:1px solid rgba(123,94,38,.22);border-radius:24px;background:rgba(255,255,255,.78);box-shadow:0 16px 40px rgba(22,62,41,.12)}.tb-home-login-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.tb-home-login-head span{font-size:12px;font-weight:850;letter-spacing:.15em;color:#2d8058}.tb-home-login-head h2{margin:4px 0 0;font-family:Georgia,serif;font-size:29px}.tb-home-login-head button{width:38px;height:38px;border:1px solid rgba(123,94,38,.22);border-radius:50%;background:#fffaf0;font-size:24px;color:#164b37;cursor:pointer}.tb-home-login label:not(.remember-device){display:block;margin-bottom:8px;font-weight:750}.tb-home-login input[type=email]{width:100%;padding:15px 16px;border:1px solid #cabfaa;border-radius:15px;background:#fff;font-size:17px}.tb-home-login .remember-device{display:flex;gap:9px;align-items:center;margin:14px 0}.tb-home-login .tb-home-primary{margin-top:15px}.tb-home-login small{display:block;text-align:center;color:#65716a;margin-top:12px}.tb-home-footer{margin-top:18px;text-align:center;color:#68766e}.tb-home-footer a{color:inherit;text-decoration:none}.tb-home-footer span{margin:0 12px}@media(max-width:620px){.tb-public-home{padding:9px}.tb-home-card{padding:27px 18px;border-radius:30px}.tb-home-card h1{font-size:42px}.tb-home-login{padding:19px}}
/* Four primary destinations: Learn, Practice, Lessons, Progress. */
.app-bottom-nav{grid-template-columns:repeat(4,1fr)!important}

/* Lesson player aligned with the Learn card system. */
#lesson-play{max-width:920px;margin:0 auto;padding-left:18px;padding-right:18px}
#lesson-play .conv-header,#lesson-play>.speed-control,#lesson-chat-log,#lesson-your-turn,#lesson-play>.rehearsal-actions,#lesson-play>.conv-footer{width:min(100%,760px);margin-left:auto;margin-right:auto}
#lesson-play .conv-header{margin-top:8px;margin-bottom:14px;padding:0 2px}
#lesson-play>.speed-control{justify-content:center;margin-bottom:18px}
#lesson-chat-log{height:min(40vh,390px);min-height:230px;padding:8px 4px 18px;border:0;background:transparent;box-shadow:none;display:flex;flex-direction:column;gap:16px}
.lesson-message-row{display:flex;align-items:flex-end;gap:12px;width:100%}
.lesson-message-row.user{flex-direction:row-reverse}
.lesson-message-avatar{position:relative;flex:0 0 48px;width:48px;height:48px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#dfeee5;border:3px solid #fffdf8;box-shadow:0 5px 16px rgba(23,56,45,.16);color:#245f47;font-weight:850;font-size:15px}
.lesson-message-row.user .lesson-message-avatar{background:#f2dfd5;color:#8a4337}
.lesson-message-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lesson-message-row .bubble{width:auto;max-width:calc(100% - 74px);margin:0;padding:18px 21px;border:1px solid #ded6c6;border-radius:22px 22px 22px 7px;background:#fffdf8;box-shadow:0 8px 24px rgba(39,55,46,.07)}
.lesson-message-row.user .bubble{border-radius:22px 22px 7px 22px;background:#e3eee8;border-color:#bfd7ca}
.lesson-speaker-name{display:block;margin-bottom:7px;color:#6f786f;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.lesson-message-row .bubble .bg-text{margin:0;color:#17382d;font-family:Fraunces,Georgia,serif;font-size:clamp(24px,4vw,34px);line-height:1.12}
.lesson-message-row .bubble .meaning-toggle{margin-top:12px}
#lesson-your-turn{margin-top:18px;padding:24px 28px 26px;border:1px solid #ded6c6;border-radius:24px;background:#fffdf8;box-shadow:0 10px 30px rgba(39,55,46,.08);text-align:center}
#lesson-your-turn .replay-question-btn{margin:0 auto 18px}
#lesson-your-turn .exam-question{margin:12px auto;font-size:clamp(38px,7vw,62px);line-height:1}
#lesson-play>.rehearsal-actions{margin-top:16px;padding:16px 20px;border:1px solid #ded6c6;border-radius:20px;background:#fffdf8}
#lesson-play>.conv-footer{margin-top:16px;padding:16px 0 4px;border-top:1px solid #ded6c6}
#lesson-play .lesson-step-nav{display:grid;grid-template-columns:minmax(118px,.8fr) minmax(170px,1fr) minmax(150px,1.2fr);gap:10px;width:100%}
#lesson-play .lesson-step-nav button{min-height:50px;border-radius:16px}
@media(max-width:620px){#lesson-play{padding-left:12px;padding-right:12px}#lesson-chat-log{height:36vh;min-height:210px}.lesson-message-avatar{flex-basis:42px;width:42px;height:42px}.lesson-message-row .bubble{max-width:calc(100% - 56px);padding:15px 17px}.lesson-message-row .bubble .bg-text{font-size:25px}#lesson-your-turn{padding:21px 18px}#lesson-play .lesson-step-nav{grid-template-columns:1fr 1fr}#lesson-known-btn{grid-column:1/-1;grid-row:2}#lesson-next-btn{grid-column:2;grid-row:1}}
