:root{
  --green:#008F3D;--green-dark:#006F31;--green-soft:#EAF7F0;--green-faint:#F4FBF7;--navy:#062B68;--gold:#FFC400;--charcoal:#26343E;
  --ink:#26343E;--muted:#66766f;--line:#dfe9e4;--bg:#f5f8f6;--warn:#fff6df;--warn-line:#eed18a;
  --red:#b42318;--shadow:0 18px 50px rgba(34,70,53,.08)
}

/* V8.24 — language is a permanent header action, independent of auth/session CSS. */
.topbar #languageBtn{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;order:1;min-width:52px;min-height:40px;padding:8px 10px;border:1px solid #cfe3d7;background:#f7fbf9;color:#08753c;visibility:visible!important;opacity:1!important}
.topbar #signInBtn{order:2}.topbar #createAccountBtn{order:3}.topbar #mobilePremiumBtn{order:4}.topbar #accountBtn{order:3}.topbar #logoutBtn{order:4}
@media(max-width:760px){
 .topbar #languageBtn{display:inline-flex!important;position:static!important;inset:auto!important;flex:0 0 42px!important;order:1!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:50%!important;font-size:20px!important;overflow:hidden!important}
 .topbar #languageBtn::before{content:none!important}
 .topbar #languageBtnLabel{display:none!important}
 .topbar #signInBtn{order:2!important}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
button,input{font:inherit}
button{cursor:pointer}
.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;z-index:4}
.brand{display:flex;gap:12px;align-items:center}.mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--green);font-weight:850;font-size:22px;box-shadow:0 10px 25px rgba(13,122,82,.18)}.mark.small{width:34px;height:34px;border-radius:11px;font-size:17px}.brand-name{font-size:20px;font-weight:850;letter-spacing:-.02em}.tagline{color:var(--muted);font-size:12px;margin-top:2px}
.nav{display:flex;flex-direction:column;gap:7px;margin-top:38px}.nav-item{display:flex;align-items:center;gap:11px;border:0;background:transparent;padding:12px 13px;border-radius:12px;text-align:left;color:#33453d}.nav-item:hover,.nav-item.active{background:var(--green-soft);color:var(--green-dark);font-weight:760}.badge{margin-left:auto;background:#e94444;color:#fff;border-radius:99px;min-width:21px;padding:2px 6px;font-size:11px;text-align:center}
.premium-card{margin-top:auto;border:1px solid #eadfbd;background:#fffaf0;border-radius:16px;padding:15px}.premium-card strong{display:block;color:var(--green-dark)}.premium-card small{display:block;color:var(--muted);line-height:1.45;margin:8px 0 12px}.premium-btn{width:100%;border:0;border-radius:10px;padding:10px;background:var(--green);color:#fff;font-weight:760}
.sidebar-account{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green-dark);font-weight:850}.sidebar-user{min-width:0}.sidebar-user strong,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{color:var(--muted);font-size:11px;margin-top:2px}
.shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:20px 0 44px}.topbar{display:flex;justify-content:flex-end;align-items:center;min-height:48px}.mobile-brand{display:none}.account-actions{display:flex;gap:9px;align-items:center}.ghost-btn,.account-btn{border-radius:11px;padding:10px 14px;font-weight:760}.ghost-btn{background:#fff;border:1px solid var(--line);color:var(--ink)}.account-btn{background:var(--green);border:1px solid var(--green);color:#fff}.streak{font-size:13px;margin-right:4px}
.hero{display:grid;grid-template-columns:1.5fr .8fr;gap:30px;align-items:center;padding:34px 0 20px}.eyebrow{color:var(--green);font-size:12px;font-weight:850;letter-spacing:.12em}.hero h1{font-size:clamp(44px,6vw,72px);line-height:.98;letter-spacing:-.055em;margin:12px 0 18px}.hero h1 span{color:var(--green)}.lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:720px}.tiki-orb{height:230px;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#dff4e9 0,rgba(223,244,233,.45) 45%,transparent 70%)}.tiki-face{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#24a56d,#08754e);color:#fff;font-size:56px;font-weight:900;box-shadow:0 20px 50px rgba(13,122,82,.2);border:10px solid rgba(255,255,255,.8)}.speech{position:absolute;top:24px;left:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow);font-size:13px;max-width:160px}
.adaptive-card,.card,.notes-card,.review-card,.dashboard-card,.save-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.adaptive-card{padding:18px;margin:8px 0 18px;background:linear-gradient(90deg,var(--green-faint),#fff)}.adaptive-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.adaptive-head span{font-size:13px;color:var(--muted)}.examples{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:13px}.example{min-height:112px;text-align:left;border:1px solid #b9dcc8;background:#fff;border-radius:14px;padding:12px;color:#2f4038;line-height:1.3;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.example b,.example small,.example em{display:block}.example b{font-size:14px;color:#173d2b}.example small{margin-top:7px;color:#607169;font-size:12px;line-height:1.35}.example em{margin-top:10px;color:#078244;font-size:12px;font-style:normal;font-weight:850}.example:hover,.example:focus-visible{transform:translateY(-2px);border-color:#079447;background:#f3fbf6;box-shadow:0 8px 18px rgba(7,148,71,.13);outline:none}.example:active{transform:translateY(0);background:#e8f7ed}.example:disabled{cursor:wait;opacity:.72}
.card{padding:22px}.notice{display:flex;gap:12px;align-items:flex-start;background:var(--warn);border:1px solid var(--warn-line);padding:12px 14px;border-radius:13px;margin-bottom:18px}.notice strong{white-space:nowrap}.notice span{color:#69562d;font-size:13px;line-height:1.45}.mode-label{font-weight:800;margin-bottom:12px}.modes{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mode{min-height:76px;border:1px solid var(--line);background:#fff;border-radius:14px;color:var(--ink);transition:.18s ease;padding:11px}.mode b,.mode span{display:block}.mode span{color:var(--muted);font-size:11px;margin-top:5px}.mode:hover{border-color:#a9cbbb;transform:translateY(-1px)}.mode.active{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}
.lesson-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.voice-panel{text-align:center;padding:22px 10px}.pulse{width:100px;height:100px;margin:0 auto 16px;border-radius:999px;background:var(--green-soft);display:grid;place-items:center;position:relative}.pulse.live::after{content:"";position:absolute;inset:-10px;border:2px solid rgba(13,122,82,.28);border-radius:999px;animation:pulse 1.6s infinite}@keyframes pulse{0%{transform:scale(.85);opacity:1}100%{transform:scale(1.25);opacity:0}}.mic{font-size:38px}.voice-panel h2{margin:0;font-size:24px}.status{color:var(--muted);min-height:24px}.timer{font-variant-numeric:tabular-nums;font-size:14px;font-weight:850;color:var(--green);margin:7px 0}.controls{display:flex;justify-content:center;gap:10px;margin-top:16px}.primary,.secondary{border:0;border-radius:13px;padding:13px 19px;font-weight:780}.primary{color:#fff;background:var(--green);box-shadow:0 10px 25px rgba(13,122,82,.18)}.primary:hover{background:var(--green-dark)}.secondary{color:var(--ink);background:#edf2ef}button:disabled{opacity:.48;cursor:not-allowed}.lesson-benefits{background:var(--green-faint);border-radius:16px;padding:20px}.lesson-benefits h3{margin:0 0 13px}.lesson-benefits p{margin:10px 0;color:#385047}
.save-card{margin-top:18px;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(90deg,#fff,#f4fbf7)}.save-card p{margin:5px 0 0;color:var(--muted);font-size:13px}
.dashboard-card,.notes-card,.review-card{margin-top:18px;padding:22px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-head h3{margin:5px 0 0;font-size:22px}.pill{background:var(--green-soft);color:var(--green-dark);padding:8px 10px;border-radius:999px;font-size:12px;font-weight:800}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.stat{background:var(--green-faint);border-radius:14px;padding:15px;text-align:center}.stat strong{display:block;font-size:26px;color:var(--green)}.stat span{font-size:12px;color:var(--muted)}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.subhead{font-weight:800;margin-bottom:8px}.list-box{border:1px solid var(--line);border-radius:14px;min-height:120px;padding:10px}.list-item{padding:10px;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.list-item strong,.list-item small{display:block}.list-item small{color:var(--muted);margin-top:3px}.mistake-original{color:var(--red);font-size:13px}.mistake-better{color:var(--green-dark);font-size:13px;font-weight:700;margin-top:3px}
.link-btn{border:0;background:transparent;color:var(--green);font-weight:760}.notes{margin-top:16px}.placeholder{color:#89968f}.answer-card{border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0}.label{display:block;font-size:11px;letter-spacing:.08em;font-weight:850;color:var(--muted);margin-bottom:5px}.student-text{line-height:1.55}.correction{margin-top:12px;background:var(--green-soft);border-radius:12px;padding:12px 14px}.correction .better{font-weight:760;line-height:1.5}.issue{display:inline-flex;margin-top:8px;padding:4px 8px;border-radius:999px;background:#fff;color:var(--green-dark);font-size:12px;font-weight:750}.tiki-note{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.45}
.recording-box{display:grid;grid-template-columns:1fr;gap:10px;border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:18px}.recording-box p{margin:5px 0;color:var(--muted);font-size:14px}.recording-box audio{width:100%}.download{color:var(--green);font-weight:750;text-decoration:none;font-size:14px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.summary-box{background:#f5f8f6;border-radius:14px;padding:14px;text-align:center}.summary-box strong{display:block;font-size:24px;color:var(--green)}.summary-box span{font-size:12px;color:var(--muted)}.review-list{margin-top:14px}.review-item{border-top:1px solid var(--line);padding:14px 2px}.review-item:first-child{border-top:0}.review-item p{margin:5px 0;line-height:1.5}.bad{color:var(--red)}.good{color:var(--green-dark);font-weight:700}.save-status{border-radius:12px;padding:11px 13px;margin:12px 0;font-size:13px}.save-status.ok{background:var(--green-soft);color:var(--green-dark)}.save-status.warn{background:var(--warn);color:#69562d}
footer{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;padding:22px 4px 0}
.modal{position:fixed;inset:0;background:rgba(10,28,20,.5);display:grid;place-items:center;padding:18px;z-index:30}.modal-card{width:min(440px,100%);background:#fff;border-radius:22px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.22);position:relative}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;color:var(--muted)}.modal-mark{margin:0 auto}.modal-card h2{text-align:center;margin:14px 0 6px}.modal-card>p{text-align:center;color:var(--muted);font-size:14px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f5f3;border-radius:11px;padding:4px;margin:18px 0}.auth-tab{border:0;background:transparent;border-radius:8px;padding:9px}.auth-tab.active{background:#fff;color:var(--green-dark);font-weight:800;box-shadow:0 2px 9px rgba(30,60,45,.08)}#authForm{display:grid;gap:12px}#authForm label{font-size:12px;font-weight:750;color:#43534c}#authForm input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:12px;outline:none}#authForm input:focus{border-color:var(--green)}.wide{width:100%}.auth-message{margin-top:12px;border-radius:11px;padding:11px;background:var(--green-soft);color:var(--green-dark);font-size:13px}.auth-message.error{background:#fff0ef;color:var(--red)}.guest-link{width:100%;border:0;background:transparent;color:var(--muted);margin-top:12px}.hidden{display:none!important}
@media(max-width:1000px){.app{grid-template-columns:1fr}.sidebar{display:none}.shell{width:min(920px,calc(100% - 28px))}.topbar{justify-content:space-between}.mobile-brand{display:flex;align-items:center;gap:8px}.examples{grid-template-columns:1fr 1fr 1fr}.modes{grid-template-columns:1fr 1fr 1fr}.hero{grid-template-columns:1fr}.tiki-orb{display:none}}
@media(max-width:700px){.shell{padding-top:10px}.topbar{align-items:flex-start}.account-actions{flex-wrap:wrap;justify-content:flex-end}.hero{padding-top:22px}.hero h1{font-size:48px}.examples{grid-template-columns:1fr}.adaptive-head{align-items:flex-start;flex-direction:column}.modes{grid-template-columns:1fr 1fr}.lesson-grid,.dashboard-columns{grid-template-columns:1fr}.notice{flex-direction:column;gap:4px}.controls{flex-direction:column}.primary,.secondary{width:100%}.stat-grid{grid-template-columns:1fr 1fr}.save-card{align-items:flex-start;flex-direction:column}.summary-grid{grid-template-columns:1fr 1fr 1fr}footer{flex-direction:column;gap:4px}}

.language-card{background:linear-gradient(100deg,#f1faf6,#fff);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:20px;margin:8px 0 18px}.language-title{font-size:18px;font-weight:850;color:var(--green-dark)}.language-copy p{color:var(--muted);line-height:1.55;margin:7px 0 12px}.language-pills{display:flex;flex-wrap:wrap;gap:8px}.language-pills .home-language-pill{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-size:13px;font-weight:700;font-family:inherit;color:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease}.language-pills .home-language-pill:hover{border-color:#8fd0ae;background:#f7fcf9;box-shadow:0 5px 14px rgba(0,140,72,.09)}.language-pills .home-language-pill:active{transform:scale(.97)}.language-pills .home-language-pill.connecting{border-color:var(--green);background:#effaf4}.language-pills .home-language-pill:disabled{opacity:.65;cursor:wait}.language-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.language-example{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff;min-height:88px}.language-example b,.language-example span{display:block}.language-example span{margin-top:8px;color:#496057;font-size:13px;line-height:1.45}.learning-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:13px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:12px}.learning-flow b{color:#9aa9a2}.feature-view{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:22px;margin-top:18px}.view-intro{color:var(--muted);margin:8px 0 18px}.feature-list{display:grid;gap:10px}.feature-row{border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.feature-row small{display:block;color:var(--muted);margin-top:5px}.feature-row .bad{margin:0}.feature-row .good{margin:5px 0 0}.practice-btn{border:0;border-radius:10px;background:var(--green);color:#fff;padding:9px 12px;font-weight:750}.progress-message{background:var(--green-faint);border-radius:14px;padding:18px}.progress-message b,.progress-message span{display:block}.progress-message span{color:var(--muted);margin-top:5px}@media(max-width:700px){.language-examples{grid-template-columns:1fr}.feature-row{grid-template-columns:1fr}.learning-flow{justify-content:flex-start}}


/* V3.4 — permanent lesson transcript history */
.tutor-way-notice{background:linear-gradient(90deg,#eefaf4,#fff);border-color:#b8dfcc}
.tutor-way-notice span{color:#385047}
.lesson-history-row{align-items:center}
.history-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.compact-btn{padding:9px 12px}
.lesson-transcript{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.transcript-row{max-width:82%;border-radius:16px;padding:14px 16px;border:1px solid var(--line)}
.transcript-row.user{align-self:flex-end;background:#f4f7f5}
.transcript-row.assistant{align-self:flex-start;background:var(--green-soft);border-color:#cce4d8}
.transcript-role{display:block;font-size:10px;letter-spacing:.12em;font-weight:850;color:var(--muted);margin-bottom:5px}
.transcript-text{line-height:1.55;white-space:pre-wrap}
.lesson-corrections{margin-top:22px}
.saved-correction{border-top:1px solid var(--line);padding:14px 2px}
.saved-correction .bad{margin:5px 0;color:var(--red)}
.saved-correction .good{margin:5px 0;color:var(--green-dark);font-weight:700}
.saved-correction small{color:var(--muted)}
.empty-history{padding:24px;border:1px dashed #cbd9d1;border-radius:14px;background:#fbfdfc;color:var(--muted)}
.empty-history strong{display:block;color:var(--ink);margin-bottom:5px}
.empty-history p{margin:0}
@media(max-width:700px){
  .transcript-row{max-width:96%}
  .history-actions{justify-content:flex-start}
}


/* V3.5 saved per-lesson audio */
.saved-lesson-audio{
  margin:18px 0 22px;
}
.saved-lesson-audio audio{
  width:100%;
}
.saved-lesson-audio audio.hidden{
  display:none;
}

/* V3.5.3 consolidated mobile + lesson organizer */
.mobile-nav{display:none}
.lesson-edit-card{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfdfc}
.lesson-edit-card label{display:block;font-size:12px;font-weight:750;color:#43534c;margin-top:12px}
.lesson-edit-card input,.lesson-edit-card textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}
.lesson-edit-card textarea{resize:vertical}
.edit-status{margin-left:10px;font-size:12px;color:var(--green-dark)}
@media(max-width:1100px){
  body{padding-bottom:80px}
  .mobile-nav{
    display:grid;grid-template-columns:repeat(4,1fr);
    position:fixed;left:0;right:0;bottom:0;z-index:1000;
    background:rgba(255,255,255,.98);border-top:1px solid var(--line);
    box-shadow:0 -8px 28px rgba(16,50,38,.08);
    padding:7px 8px calc(7px + env(safe-area-inset-bottom));
  }
  .mobile-nav-item{
    border:0;background:transparent;color:#52665e;min-height:54px;border-radius:12px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit
  }
  .mobile-nav-item span{font-size:18px;line-height:1}
  .mobile-nav-item b{font-size:11px}
  .mobile-nav-item.active{background:var(--green-soft);color:var(--green-dark)}
}

.personal-learning{margin:0 0 22px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fbfdfc}.personal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.personal-head h3{margin:3px 0}.plan-setup{border-top:1px solid var(--line);padding-top:14px}.plan-setup>label{display:block;margin:10px 0;font-size:12px;font-weight:700}.plan-setup select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.focus-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.focus-options label{padding:9px;border:1px solid var(--line);border-radius:10px;font-size:12px;background:#fff}.plan-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 14px}.plan-two label{font-size:12px;font-weight:700}.plan-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.plan-summary>div,.plan-card,.recommend-card,.week-line{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px}.plan-summary small,.plan-card>small,.recommend-card small{display:block;color:var(--muted);font-size:10px;font-weight:800}.plan-summary strong{display:block;margin-top:4px}.plan-cards{display:grid;grid-template-columns:1fr 1.15fr;gap:9px;margin-top:9px}.plan-card h4{margin:7px 0 4px}.plan-card p{color:var(--muted);font-size:12px}.today-row{display:flex;gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:7px 0}.today-row p{margin:2px 0}.recommend-card{margin-top:9px}.recommend-card p{margin:6px 0 0}.week-line{display:flex;justify-content:space-between;margin-top:9px;font-size:12px}@media(max-width:700px){.plan-summary,.plan-cards,.plan-two{grid-template-columns:1fr}.focus-options{grid-template-columns:1fr 1fr}.week-line{flex-direction:column;gap:5px}}

.plan-guidance{margin:4px 0 0;color:var(--muted);font-size:12px}.personal-head>div{min-width:0}

/* V3.7 Vocabulary Bank + Saved Phrases */
.vocab-add-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfdfc;margin-bottom:14px}
.vocab-type-toggle{display:flex;gap:8px;margin-bottom:12px}
.vocab-type-btn,.vocab-filter,.small-action-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.vocab-type-btn.active,.vocab-filter.active{background:var(--green-soft);color:var(--green-dark);border-color:#b8ddce}
.vocab-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vocab-form-grid label{font-size:12px;font-weight:700}.vocab-form-grid label.wide{grid-column:1/-1}.vocab-form-grid input{width:100%;margin-top:5px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
.vocab-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0}.vocab-toolbar>div{display:flex;gap:7px;flex-wrap:wrap}.vocab-toolbar span{font-size:12px;color:var(--muted)}
.vocabulary-list{display:grid;gap:10px}.vocab-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:15px}.vocab-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.vocab-card h3{margin:5px 0 0}.vocab-badge{font-size:9px;letter-spacing:.1em;font-weight:900;color:var(--green-dark)}.vocab-status{font-size:10px;border-radius:999px;padding:5px 8px;background:#eef4f1}.vocab-status.mastered{background:#e8f7ef;color:var(--green-dark)}.vocab-meaning{margin:9px 0 0}.vocab-example{font-style:italic;color:var(--muted);margin:7px 0}.vocab-notes{font-size:12px;color:var(--muted)}.vocab-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.selection-save-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;background:#fbfdfc;font-size:12px}
@media(max-width:700px){.vocab-form-grid{grid-template-columns:1fr}.vocab-form-grid label.wide{grid-column:auto}.vocab-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:1100px){.mobile-nav{grid-template-columns:repeat(5,1fr)}}

.vocab-primary-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:10px}


/* V3.8 Practice My Mistakes */
.mistake-summary-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:10px;margin:14px 0}
.mistake-summary-card{border:1px solid var(--line);border-radius:14px;background:#fbfdfc;padding:14px}
.mistake-summary-card small{display:block;font-size:10px;font-weight:850;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}
.mistake-summary-card strong{font-size:20px;color:var(--green-dark)}
.mistake-summary-card.wide strong{font-size:14px}
.mistake-practice-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0}
.mistake-filter-group,.mistake-batch-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mistake-filter{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.mistake-filter.active{background:var(--green-soft);color:var(--green-dark);border-color:#b8ddce}
.mistake-selection-status{font-size:12px;color:var(--muted);margin:6px 0 10px}
.mistake-practice-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.mistake-practice-row.mastered{opacity:.72}
.mistake-select{display:flex;align-items:center;justify-content:center;padding:4px}
.mistake-select input{width:18px;height:18px;accent-color:var(--green)}
.mistake-practice-info{min-width:0}
.mistake-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){
  .mistake-summary-grid{grid-template-columns:1fr 1fr}.mistake-summary-card.wide{grid-column:1/-1}
  .mistake-practice-toolbar{align-items:stretch;flex-direction:column}
  .mistake-practice-row{grid-template-columns:auto 1fr}
  .mistake-row-actions{grid-column:2;justify-content:flex-start}
}


/* V3.9 Weekly Report */
.week-switcher{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:14px 0}
.week-switcher strong{text-align:center;font-size:13px}
.weekly-stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0}
.weekly-stat{background:var(--green-soft);border-radius:14px;padding:14px;text-align:center}
.weekly-stat span{display:block;font-size:18px}.weekly-stat strong{display:block;font-size:20px;color:var(--green-dark);margin:4px 0}.weekly-stat small{color:var(--muted);font-size:11px}
.weekly-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.weekly-panel{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;margin:12px 0}
.weekly-report-grid .weekly-panel{margin:0}
.weekly-panel h4{font-size:17px;margin:5px 0 12px}
.weekly-line,.weekly-activity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.weekly-line:last-child,.weekly-activity-row:last-child{border-bottom:0}
.weekly-line span,.weekly-activity-row span,.weekly-activity-row small{font-size:12px;color:var(--muted)}
.weekly-activity-row div{display:flex;flex-direction:column;gap:3px}
.weekly-win{padding:7px 0;color:var(--green-dark);font-weight:650}
.weekly-recommendation{background:linear-gradient(135deg,#f3fbf7,#fffaf0)}
.weekly-recommendation p{color:var(--muted);max-width:780px}
.muted-copy{color:var(--muted)}
@media(max-width:900px){.weekly-stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.weekly-stat-grid{grid-template-columns:repeat(2,1fr)}.weekly-report-grid{grid-template-columns:1fr}.week-switcher{gap:6px}.week-switcher .ghost-btn{padding:8px}}


/* V3.9.1 — Personal tutor positioning highlight */
.personal-tutor-highlight{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  margin:18px 0;
  padding:22px 24px;
  border:1px solid #b8ddce;
  border-radius:18px;
  background:linear-gradient(135deg,#eefaf4 0%,#ffffff 58%,#fff9ec 100%);
  box-shadow:0 10px 28px rgba(14,93,65,.07);
}
.personal-tutor-highlight-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0d7a52;
  color:#fff;
  font-size:23px;
  box-shadow:0 8px 18px rgba(13,122,82,.16);
}
.personal-tutor-highlight-copy h2{
  margin:4px 0 8px;
  font-size:24px;
  line-height:1.15;
}
.personal-tutor-highlight-copy p{
  margin:0;
  max-width:980px;
  font-size:15px;
  line-height:1.65;
  color:var(--muted);
}
.personal-tutor-highlight-copy p strong{
  color:var(--text);
}
@media(max-width:700px){
  .personal-tutor-highlight{
    grid-template-columns:1fr;
    padding:18px;
  }
  .personal-tutor-highlight-icon{
    width:42px;
    height:42px;
  }
  .personal-tutor-highlight-copy h2{
    font-size:21px;
  }
}


/* V3.9.2 — Weekly coaching review integrated into Progress */
.progress-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:8px 0 14px}
.progress-section-title h3{margin:3px 0 0}
.week-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.week-controls span{font-size:13px;font-weight:800;color:var(--muted)}
.small-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px;font-weight:800;cursor:pointer}
.small-btn:disabled{opacity:.4;cursor:not-allowed}
.weekly-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
.weekly-stat{border:1px solid var(--line);background:#f8fbf9;border-radius:14px;padding:14px 10px;text-align:center;display:flex;flex-direction:column;gap:3px}
.weekly-stat span{font-size:19px}.weekly-stat strong{font-size:20px}.weekly-stat small{color:var(--muted)}
.weekly-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.weekly-panel{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;min-height:100px}
.weekly-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf2ef}
.weekly-line:last-child{border-bottom:0}
.weekly-line span,.muted-copy{color:var(--muted)}
.weekly-recommendation{margin-top:12px;border:1px solid #b8ddce;border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#eefaf4,#fff)}
.weekly-recommendation h3{margin:4px 0 5px}.weekly-recommendation p{margin:0;color:var(--muted)}
.progress-divider{height:1px;background:var(--line);margin:28px 0 22px}
@media(max-width:900px){.weekly-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){
 .progress-section-title,.weekly-recommendation{align-items:flex-start;flex-direction:column}
 .weekly-columns{grid-template-columns:1fr}
 .weekly-stats{grid-template-columns:repeat(2,1fr)}
 .week-controls{width:100%}
}


/* V3.9.3 — Click TiKi to start talking */
.tiki-orb-button{
  appearance:none;
  border:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
  background:transparent;
  position:relative;
  padding:18px;
}
.tiki-orb-button .speech{
  display:flex;
  flex-direction:column;
  gap:2px;
  text-align:left;
}
.tiki-orb-button .speech strong{
  color:var(--green-dark);
  font-size:12px;
}
.tiki-orb-button .speech span{
  font-size:12px;
}
.tap-to-talk{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-9px;
  white-space:nowrap;
  border:1px solid #b8ddce;
  background:#fff;
  color:var(--green-dark);
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:850;
  box-shadow:0 5px 15px rgba(13,122,82,.08);
}
.tiki-orb-button:hover .tiki-face,
.tiki-orb-button:focus-visible .tiki-face{
  transform:scale(1.06);
  box-shadow:0 0 0 12px rgba(13,122,82,.08),0 14px 32px rgba(13,122,82,.2);
}
.tiki-orb-button:focus-visible{
  outline:3px solid rgba(13,122,82,.2);
  outline-offset:4px;
  border-radius:22px;
}
.tiki-orb-button .tiki-face{
  transition:transform .18s ease,box-shadow .18s ease;
}
@media(max-width:700px){
  .tap-to-talk{position:static;transform:none;margin-top:8px;display:inline-block}
}


/* V3.9.4 — clearer working hero talk state */
.tiki-orb-button:disabled{opacity:.85;cursor:wait}
.tiki-orb-button.is-live .tiki-face{
  box-shadow:0 0 0 12px rgba(13,122,82,.12),0 0 0 24px rgba(13,122,82,.06),0 16px 38px rgba(13,122,82,.25);
  animation:tikiLivePulse 1.8s ease-in-out infinite;
}
.tiki-orb-button.is-live .tap-to-talk{
  background:#0d7a52;
  color:#fff;
  border-color:#0d7a52;
}
@keyframes tikiLivePulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.045)}
}


/* V3.9.5 — Mobile TiKi quick-talk button */
@media (max-width: 700px){
  .hero{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .tiki-orb{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .tiki-orb-button{
    width:100%;
    max-width:280px;
    min-height:150px;
    margin:4px auto 10px;
    padding:10px 12px 18px;
    align-items:center;
    justify-content:center;
  }
  .tiki-orb-button .tiki-face{
    width:88px;
    height:88px;
    font-size:48px;
  }
  .tiki-orb-button .speech{
    position:absolute;
    top:0;
    left:8px;
    width:150px;
    padding:10px 12px;
    border-radius:14px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 8px 20px rgba(0,0,0,.06);
    z-index:2;
  }
  .tiki-orb-button .speech strong{
    font-size:11px;
  }
  .tiki-orb-button .speech span{
    font-size:11px;
    line-height:1.25;
  }
  .tiki-orb-button .tap-to-talk{
    position:absolute;
    left:50%;
    bottom:0;
    transform:translate(-50%,50%);
    margin:0;
    display:block;
    font-size:11px;
    z-index:3;
  }
}

@media (max-width: 420px){
  .tiki-orb-button{
    max-width:250px;
    min-height:145px;
  }
  .tiki-orb-button .tiki-face{
    width:82px;
    height:82px;
    font-size:44px;
  }
  .tiki-orb-button .speech{
    width:140px;
  }
}

.google-signin{width:100%;min-height:46px;border:1px solid #d6ddd9;background:#fff;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:750;color:#26332d;cursor:pointer}.google-signin:hover{background:#f8faf9}.google-signin:disabled{opacity:.6;cursor:wait}.google-g{font-size:19px;font-weight:900;color:#4285f4;font-family:Arial,sans-serif}.auth-divider{display:flex;align-items:center;gap:10px;margin:13px 0;color:#7a8982;font-size:11px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-divider span{white-space:nowrap}


/* V4.0 Premium + usage */
.usage-mini{margin:10px 0 2px}
.usage-mini-row{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin-bottom:5px}
.usage-bar{height:7px;border-radius:999px;background:#e7eee9;overflow:hidden}
.usage-bar i{display:block;height:100%;width:0;background:var(--green);border-radius:999px;transition:width .25s ease}
.premium-modal-card{max-width:650px}
.premium-intro{text-align:center;color:var(--muted);margin-top:-3px}
.premium-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.premium-plan{position:relative;border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;text-align:left;cursor:pointer;font:inherit;display:flex;flex-direction:column;gap:5px}
.premium-plan:hover{border-color:#89cbb1;box-shadow:0 10px 24px rgba(13,122,82,.08)}
.premium-plan.recommended{border:2px solid var(--green);background:#f7fcf9}
.premium-plan-label{font-size:10px;letter-spacing:.09em;font-weight:900;color:var(--green-dark)}
.premium-plan strong{font-size:28px;color:var(--text)}
.premium-plan strong small{font-size:11px}
.premium-plan>span:not(.premium-plan-label):not(.best-value){color:var(--muted);font-size:12px}
.premium-plan b{margin-top:9px;color:var(--green-dark)}
.best-value{position:absolute;right:10px;top:10px;background:var(--green);color:#fff;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;letter-spacing:.05em}
.premium-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px}
.premium-features span{font-size:12px;color:var(--text)}
.free-plan-note{display:flex;justify-content:space-between;gap:12px;align-items:center;border-radius:12px;background:#f6f8f7;padding:12px;margin:12px 0;color:var(--muted);font-size:12px}
.free-plan-note strong{color:var(--text)}
@media(max-width:650px){
 .premium-plan-grid,.premium-features{grid-template-columns:1fr}
 .free-plan-note{align-items:flex-start;flex-direction:column}
}


/* V4.0.1 Mobile Premium access */
.mobile-premium-btn{
  display:none;
  align-items:center;
  justify-content:center;
  border:1px solid #b9dbc9;
  background:#fff8e8;
  color:#0b6848;
  border-radius:12px;
  padding:10px 12px;
  min-height:42px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
@media(max-width:760px){
  .mobile-premium-btn{
    display:inline-flex;
    font-size:13px;
  }
}

/* V4.1 multilingual */
.language-btn{border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 11px;font:inherit;font-weight:900;color:var(--green-dark);cursor:pointer;white-space:nowrap}
.language-modal-card{max-width:620px}.language-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}
.language-choice{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;text-align:left;font:inherit;cursor:pointer}
.language-choice.selected{border:2px solid var(--green);background:#f3fbf7}
.translation-pref{display:grid;gap:9px;background:#f7faf8;border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0}
.translation-pref label{display:flex;gap:9px;align-items:flex-start;font-size:13px}
@media(max-width:600px){.language-grid{grid-template-columns:1fr}.language-btn{padding:8px 9px;font-size:12px}}

/* V4.1 mobile language modal fixes */
#languageModal{z-index:10000;overflow:hidden;align-items:center}
#languageModal .language-modal-card{
  width:min(620px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px);
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:max(28px,env(safe-area-inset-bottom));
}
body.language-modal-open{overflow:hidden}
.more-languages-btn{margin:2px 0 12px}
.more-languages-panel{margin:0 0 14px}
.language-search{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:12px 13px;font:inherit;margin-bottom:10px}
body.language-modal-open .mobile-bottom-nav,
body.language-modal-open .bottom-nav{visibility:hidden!important;pointer-events:none!important}
@media(max-width:600px){
 #languageModal{align-items:flex-start;padding:8px 0}
 #languageModal .language-modal-card{
   width:calc(100vw - 16px);
   max-height:calc(100dvh - 16px);
   margin:0 auto;
   border-radius:24px;
   padding-bottom:calc(34px + env(safe-area-inset-bottom));
 }
 .popular-language-grid,.all-language-grid{grid-template-columns:1fr}
 .language-choice{min-height:54px}
 .translation-pref{margin-bottom:12px}
 #saveLanguage{position:sticky;bottom:0;z-index:2;box-shadow:0 -8px 18px rgba(255,255,255,.95)}
}


/* V4.3 interactive live transcript */
.live-language-hint{
  margin:8px 0 10px;
  padding:8px 10px;
  border-radius:10px;
  background:#f2f8f5;
  color:var(--green-dark);
  font-size:11px;
  font-weight:750;
}
.live-text-toolbar{
  position:sticky;
  bottom:76px;
  z-index:40;
  margin:10px 0;
  padding:10px;
  border:1px solid #b8ddce;
  border-radius:14px;
  background:rgba(255,255,255,.98);
  box-shadow:0 10px 30px rgba(15,80,57,.12);
}
.live-selection-preview{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-bottom:8px;
}
.live-selection-preview span{
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:900;
}
.live-selection-preview strong{
  font-size:12px;
  line-height:1.35;
}
.live-selection-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  align-items:center;
}
@media(max-width:650px){
  .live-text-toolbar{
    bottom:72px;
    max-height:42vh;
    overflow:auto;
  }
  .live-selection-actions .small-action-btn{
    flex:1 1 calc(50% - 7px);
    min-width:130px;
  }
}


/* V4.3.1 Live Notes interaction fix */
.live-text-help{
  margin:4px 0 10px;
  padding:8px 10px;
  border:1px dashed #b7d8ca;
  border-radius:10px;
  background:#f8fcfa;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}
#notes .student-text,
#notes .tiki-note,
#notes .better{
  cursor:pointer;
  user-select:text;
  -webkit-user-select:text;
  touch-action:auto;
  -webkit-touch-callout:default;
  border-radius:7px;
  transition:background .15s ease, box-shadow .15s ease;
}
#notes .student-text:hover,
#notes .tiki-note:hover,
#notes .better:hover{
  background:#eef9f4;
  box-shadow:0 0 0 4px #eef9f4;
}
#notes .student-text:active,
#notes .tiki-note:active,
#notes .better:active{
  background:#e0f4ea;
}
.live-text-toolbar{
  position:sticky;
  bottom:12px;
  z-index:80;
}
@media(max-width:650px){
  .live-text-toolbar{
    bottom:76px;
    margin-left:0;
    margin-right:0;
  }
  .live-selection-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .live-selection-actions .small-action-btn{
    width:100%;
    min-width:0;
  }
  .live-selection-actions .compact-btn{
    grid-column:1 / -1;
  }
}


/* V4.3.2 working inline live actions */
.live-action-result{
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:11px;
  background:#f2faf6;
  border:1px solid #c3e1d4;
  font-size:12px;
  line-height:1.45;
}
.live-action-result.error{
  background:#fff2f0;
  border-color:#efc4be;
  color:#9b2c22;
}
.live-result-label{
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--green-dark);
  margin-bottom:4px;
}
.live-result-main{
  font-size:14px;
  font-weight:800;
  color:var(--text);
}
.live-result-example{
  margin-top:6px;
  color:var(--muted);
}
.live-action-loading{
  font-weight:800;
}


/* V4.3.3 Word & Phrase Selection */
#notes .student-text::selection,
#notes .tiki-note::selection,
#notes .better::selection{
  background:#bfe7d5;
}
@media (pointer:coarse){
  #notes .student-text,
  #notes .tiki-note,
  #notes .better{ cursor:text; }
}


/* V4.3.4 mobile premium usage */
#mobilePremiumBtn{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1.05;
  gap:3px;
}
.mobile-premium-main{display:block}
.mobile-premium-usage{
  display:block;
  font-size:10px;
  font-weight:800;
  opacity:.78;
  white-space:nowrap;
}
.mobile-usage-panel{
  position:fixed;
  inset:0;
  z-index:12000;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:92px 14px 20px;
  background:rgba(8,34,25,.22);
}
.mobile-usage-card{
  position:relative;
  width:min(420px,100%);
  background:#fff;
  border-radius:20px;
  padding:22px;
  box-shadow:0 20px 60px rgba(10,54,39,.22);
}
.mobile-usage-plan{
  font-weight:900;
  margin:6px 0 14px;
}
.mobile-usage-progress{
  height:10px;
  background:#e7efeb;
  border-radius:999px;
  overflow:hidden;
  margin-bottom:10px;
}
.mobile-usage-bar{
  height:100%;
  width:0;
  background:var(--green);
  border-radius:999px;
}
.mobile-usage-details{
  display:grid;
  gap:5px;
  font-size:13px;
  margin-bottom:16px;
}
.mobile-usage-details span{color:var(--muted)}
@media(min-width:761px){
  .mobile-premium-usage{display:none!important}
  .mobile-usage-panel{display:none!important}
}

.help-contact-fab{position:fixed;right:18px;bottom:18px;z-index:9000;border:1px solid #c6ded3;background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;box-shadow:0 8px 26px rgba(15,80,57,.15)}
.help-contact-card{width:min(620px,calc(100vw - 24px));max-height:88vh;overflow:auto}.help-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.help-message{resize:vertical;min-height:110px}.help-context-note{font-size:11px;color:var(--muted);margin:8px 0 12px}
.help-form-status{padding:10px 12px;border-radius:10px;background:#eef9f4;margin:8px 0;font-size:12px;font-weight:800}.help-form-status.error{background:#fff1ef;color:#9b2c22}
.help-direct{display:flex;flex-wrap:wrap;gap:10px 16px;border-top:1px solid #e5ece8;margin-top:16px;padding-top:14px;font-size:12px}.help-direct strong{width:100%}.help-direct a{color:var(--green-dark);font-weight:800;text-decoration:none}
@media(max-width:650px){.help-contact-fab{right:12px;bottom:82px;padding:9px 12px}.help-contact-card{max-height:92vh}.help-two-col{grid-template-columns:1fr}}

/* V4.5 PWA */
.pwa-install-btn{
  position:fixed; right:18px; bottom:72px; z-index:8800;
  border:1px solid #b9d9cc; background:#0b8b5d; color:#fff;
  border-radius:999px; padding:11px 16px; font-weight:900; cursor:pointer;
  box-shadow:0 10px 28px rgba(11,139,93,.22);
}
.pwa-installed-toast{
  position:fixed; left:50%; bottom:92px; transform:translateX(-50%);
  z-index:12000; background:#123b2d; color:#fff; border-radius:999px;
  padding:10px 16px; font-weight:800; box-shadow:0 10px 30px rgba(0,0,0,.18);
}
@media(max-width:650px){
  .pwa-install-btn{right:12px; bottom:142px; padding:10px 13px; font-size:12px}
}


/* V4.7 — TiKi English brand identity */
.brand{display:block;margin:0 2px}.brand-logo{display:block;width:205px;max-width:100%;height:auto;object-fit:contain}.mobile-brand-icon{width:36px;height:36px;border-radius:10px;object-fit:cover}.mobile-brand strong{color:var(--charcoal);font-weight:850}.premium-card{border-color:#f1d77a;background:#fffaf0}.premium-card strong{color:var(--green-dark)}.eyebrow{color:var(--green)}

/* ================= V4.8 MY MATERIALS ================= */
.materials-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.materials-empty{text-align:center;padding:42px 22px;border:2px dashed #cfe5da;border-radius:22px;background:#fbfefc}
.materials-empty-icon{font-size:44px}.materials-empty h3{margin:8px 0}.materials-empty p{max-width:620px;margin:0 auto 18px;color:#607068}
.materials-grid{display:grid;gap:14px;margin-top:18px}
.material-card{border:1px solid #dce9e3;border-radius:18px;padding:16px;background:#fff;box-shadow:0 6px 22px rgba(20,60,45,.05)}
.material-card-top{display:flex;gap:12px;align-items:flex-start}.material-card-top strong{display:block;font-size:16px;color:#26343E}.material-card-top small{display:block;margin-top:5px;color:#748079}
.material-file-icon{font-size:28px}.material-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.material-upload-card{max-width:560px}.material-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed #9bcab4;border-radius:18px;padding:28px 16px;margin:18px 0;cursor:pointer;background:#f7fcf9}
.material-drop-zone:hover{border-color:#008F3D;background:#f1faf5}.upload-cloud{font-size:38px}.material-drop-zone strong{color:#008F3D;font-size:17px}.material-drop-zone span:last-of-type{color:#718078;font-size:13px}
.material-upload-status{min-height:22px;margin:9px 0;color:#53655c}.material-upload-submit{width:100%}
@media(max-width:650px){
 .materials-head-actions{width:100%}.materials-head-actions .account-btn{flex:1}
 .material-card{padding:13px}.material-actions{gap:6px}.material-actions .small-action-btn{font-size:11px;padding:8px 9px}
 .mobile-nav{overflow-x:auto;justify-content:flex-start}.mobile-nav-item{min-width:64px;flex:1 0 64px}.mobile-nav-item b{font-size:9px}
}


/* V4.8.1 — shared overlay styling for Help + My Materials modals */
.modal-overlay{
  position:fixed;
  inset:0;
  z-index:12000;
  background:rgba(10,28,20,.52);
  display:grid;
  place-items:center;
  padding:18px;
  overflow:auto;
}
.modal-overlay .modal-card{
  width:min(560px,100%);
  max-height:calc(100dvh - 36px);
  overflow:auto;
  background:#fff;
  border-radius:22px;
  padding:26px;
  box-shadow:0 30px 90px rgba(0,0,0,.22);
  position:relative;
}
@media(max-width:650px){
  .modal-overlay{padding:10px;align-items:end}
  .modal-overlay .modal-card{
    width:100%;
    max-height:88dvh;
    border-radius:22px 22px 10px 10px;
    padding:22px 16px calc(22px + env(safe-area-inset-bottom));
  }
}


/* ================= V4.9 LIVE CHAT ATTACHMENTS ================= */
.live-attachment-zone{margin-top:14px;width:min(660px,100%);margin-left:auto;margin-right:auto}
.live-attachment-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.attach-live-btn{border:1px solid #b9d7c7;background:#fff;color:#006e35;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}
.attach-live-btn:hover{background:#f1faf5;border-color:#008f3d}.attach-live-btn:disabled{opacity:.55;cursor:wait}
.attach-live-help{font-size:12px;color:#6f7d75}
.live-attachment-chip{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border:1px solid #b8ddca;background:#f1faf5;border-radius:14px;text-align:left}
.live-attachment-chip>span:first-child{font-size:24px}
.live-attachment-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.live-attachment-copy strong{font-size:13px;color:#26343e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-attachment-copy span{font-size:11px;color:#597067;margin-top:2px}
.live-attachment-clear{border:0;background:transparent;font-size:22px;color:#53665c;cursor:pointer;padding:4px 8px}
@media(max-width:650px){
 .live-attachment-zone{padding:0 6px}.attach-live-help{display:block;width:100%;text-align:center}
 .attach-live-btn{width:100%;max-width:330px}
}

/* =========================================================
   TiKi English V5.0 — Unified signed-in learner workspace
   Additive layout only: existing IDs, APIs and feature views remain intact.
   ========================================================= */
.v5-signed .hero,.v5-signed .language-card,.v5-signed .personal-tutor-highlight,.v5-signed .adaptive-card,.v5-signed #guestSaveCard{display:none!important}
.v5-signed .shell{max-width:1500px;padding:0 26px 48px}
.v5-signed .topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #e7eee9;margin:0 -26px 20px;padding:14px 26px}
.v5-signed .topbar:before{content:'Talk to TiKi';font-size:24px;font-weight:900;color:#14251d;margin-right:auto}
.v5-signed .account-actions{margin-left:auto}
.v5-signed .lesson-card{margin-top:0;border:0;box-shadow:none;background:transparent;padding:0}
.v5-signed .lesson-card>.notice,.v5-signed .lesson-card>.mode-label{display:none}
.v5-signed .modes{background:#fff;border:1px solid #e3ebe6;border-radius:16px;padding:8px;margin-bottom:14px;box-shadow:0 5px 20px rgba(20,70,45,.05)}
.v5-signed .mode{min-height:62px}
.v5-signed .lesson-grid{grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}
.v5-signed .voice-panel{background:#fff;border:1px solid #e3ebe6;border-radius:18px;padding:26px;box-shadow:0 8px 28px rgba(20,70,45,.06)}
.v5-signed .lesson-benefits{background:#f7fbf8;border:1px solid #e1eee6;border-radius:18px;min-height:100%;padding:22px}
.v5-signed #dashboardCard{margin-top:16px}
.v5-signed .dashboard-card{border:1px solid #e3ebe6;box-shadow:0 8px 28px rgba(20,70,45,.05)}
.v5-workspace-heading{display:none}
.v5-signed .v5-workspace-heading{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e3ebe6;border-radius:18px;padding:18px 22px;margin-bottom:14px;box-shadow:0 5px 20px rgba(20,70,45,.05)}
.v5-workspace-heading h2{margin:0;font-size:20px}.v5-workspace-heading p{margin:4px 0 0;color:#63736a}.v5-live-pill{background:#eaf8ef;color:#087b38;padding:7px 11px;border-radius:999px;font-weight:800;font-size:12px}
.v5-right-rail{display:none}
.v5-signed .v5-right-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.v5-rail-card{background:#fff;border:1px solid #e3ebe6;border-radius:18px;padding:18px;box-shadow:0 6px 22px rgba(20,70,45,.05)}
.v5-rail-card h3{margin:0 0 12px;font-size:15px}.v5-rail-card p{font-size:13px;color:#68776f;margin:6px 0}.v5-rail-list{display:grid;gap:8px}.v5-rail-item{padding:9px 10px;background:#f7faf8;border-radius:10px;font-size:12px}.v5-rail-item strong{display:block;color:#20352a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v5-rail-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.v5-mini-btn{border:0;background:#eaf8ef;color:#087b38;border-radius:9px;padding:8px 10px;font-weight:800;cursor:pointer}.v5-current-ready{background:#effaf2;border:1px solid #d6efdd;border-radius:12px;padding:12px;color:#087b38;font-size:12px;font-weight:700}.v5-feature-strip{display:none}.v5-signed .v5-feature-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0}.v5-feature-tile{border:1px solid #e3ebe6;background:#fff;border-radius:14px;padding:13px;text-align:left;cursor:pointer}.v5-feature-tile b{display:block;color:#173226;margin-bottom:3px}.v5-feature-tile span{font-size:11px;color:#6a786f}
.v5-signed .notes-card{border:1px solid #e3ebe6;box-shadow:0 6px 22px rgba(20,70,45,.04)}
.v5-signed .sidebar .nav{gap:4px}.v5-signed .nav-item{border-radius:11px}
.v5-nav-sub{display:block;font-size:10px;font-weight:500;opacity:.62;margin-left:25px;margin-top:-2px}
@media(max-width:1050px){.v5-signed .lesson-grid{grid-template-columns:1fr}.v5-signed .v5-right-rail{grid-template-columns:1fr 1fr}.v5-signed .v5-feature-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.v5-signed .shell{padding:0 12px 90px}.v5-signed .topbar{margin:0 -12px 12px;padding:10px 12px}.v5-signed .topbar:before{font-size:18px}.v5-signed .v5-right-rail,.v5-signed .v5-feature-strip{grid-template-columns:1fr}.v5-signed .voice-panel{padding:16px}.v5-signed .modes{overflow-x:auto;display:flex;flex-wrap:nowrap}.v5-signed .mode{min-width:145px}}

/* V5.0.1 — sidebar already provides feature navigation; remove duplicate center strip. */
.v5-feature-strip,.v5-signed .v5-feature-strip{display:none!important}


/* =========================================================
   TiKi English V5.1 — Full all-in-one logged-in learning workspace
   UI layer only. Existing feature nodes are re-parented, not duplicated.
   ========================================================= */
.v51-only{display:none}
.v51-signed .v51-only{display:block}
.v51-signed{background:#f7faf8}
.v51-signed .app{grid-template-columns:220px minmax(560px,1fr);align-items:start}
.v51-signed .sidebar{padding:18px 12px;overflow-y:auto;scrollbar-width:thin}
.v51-signed .brand-logo{width:165px;margin:0 auto 14px}
.v51-signed .nav-item{padding:10px 11px;font-size:13px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;text-align:left}
.v51-signed .v5-nav-sub{grid-column:2/4;margin:1px 0 0;font-size:9px}
.v51-signed .premium-card{margin-top:12px}.v51-signed .sidebar-account{margin-top:12px}
.v51-sidebar-widget{border:1px solid #e1ebe5;border-radius:13px;background:#fff;padding:11px;margin-top:12px;box-shadow:0 3px 14px rgba(26,70,47,.04)}
.v51-sidebar-widget-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.v51-sidebar-widget-head strong{font-size:12px;color:#176739}.v51-sidebar-widget-head button{border:0;background:#ebf8ef;color:#087b38;border-radius:8px;font-size:10px;font-weight:800;padding:5px 7px;cursor:pointer}
.v51-today-rows{display:grid;gap:7px;margin-top:9px}.v51-today-rows>div{display:flex;gap:7px;align-items:flex-start}.v51-today-rows>div>span{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#e9f8ee;color:#0a8e43;font-size:10px}.v51-today-rows p{margin:0;font-size:10px;color:#52635a}.v51-today-rows b{color:#26343e}.v51-today-rows small{display:block;color:#869189;font-size:8px;margin-top:1px}
.v51-streak-widget>strong{font-size:12px;color:#a56a00}.v51-streak-widget>div:nth-child(2){display:flex;flex-direction:column;margin-top:8px}.v51-streak-widget b{font-size:15px;color:#c47a00}.v51-streak-widget span{font-size:9px;color:#68776f}.v51-streak-dots{display:flex!important;gap:5px!important;flex-direction:row!important;margin-top:9px}.v51-streak-dots i{width:16px;height:16px;border:1px solid #e2be58;border-radius:50%;display:grid;place-items:center;font-size:8px;color:#fff;font-style:normal}.v51-streak-dots i.done{background:#22a453;border-color:#22a453}

.v51-signed .shell{max-width:none;width:auto;margin:0;padding:0 330px 42px 22px;min-width:0}
.v51-signed .topbar{height:64px;margin:0 -330px 14px -22px;padding:0 24px;background:#fff;border-bottom:1px solid #e5ece7;box-shadow:none;display:flex;align-items:center}
.v51-signed .topbar:before{content:'Talk to TiKi';font-size:22px;font-weight:900;color:#16251e}
.v51-signed .account-actions{gap:8px}.v51-signed .account-actions button{min-height:38px}
.v51-tutor-card{display:none!important}.v51-signed[data-v51-section="home"] .v51-tutor-card{display:flex!important;align-items:center;gap:13px;background:#fff;border:1px solid #e1eae4;border-radius:16px;padding:13px 16px;margin-bottom:11px;box-shadow:0 4px 18px rgba(26,70,47,.04)}
.v51-tutor-avatar img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:3px solid #daf2e4}.v51-tutor-copy{flex:1;min-width:0}.v51-tutor-copy>div{display:flex;align-items:center;gap:7px}.v51-tutor-copy strong{font-size:15px}.v51-tutor-copy p,.v51-tutor-copy small{margin:3px 0 0;color:#697970;font-size:11px}.v51-ai-badge{font-size:9px;color:#087b38;border:1px solid #a9ddba;background:#effaf2;border-radius:5px;padding:2px 4px}.v51-tutor-tip{max-width:230px;background:#f8fbf9;border:1px solid #e7eee9;border-radius:11px;padding:9px 11px;display:flex;flex-direction:column;gap:3px}.v51-tutor-tip b{font-size:10px;color:#395246}.v51-tutor-tip span{font-size:9px;color:#738078;line-height:1.35}

.v51-learning-workspace{display:none!important}.v51-signed[data-v51-section="home"] .v51-learning-workspace{display:block!important}.v51-signed .v5-workspace-heading,.v51-signed .lesson-card{display:none!important}
.v51-mode-mount .modes{display:grid!important;grid-template-columns:repeat(5,1fr);gap:7px;margin:0 0 9px;background:#fff;border:1px solid #e3ebe6;border-radius:14px;padding:6px;box-shadow:none}.v51-mode-mount .mode{min-height:52px;padding:8px 6px;border-radius:10px;font-size:12px}.v51-mode-mount .mode span{font-size:9px}
.v51-chat-shell{background:#fff;border:1px solid #dfe9e3;border-radius:17px;box-shadow:0 5px 22px rgba(22,66,44,.045);padding:13px;min-height:560px;display:flex;flex-direction:column;position:relative}.v51-chat-status{align-self:center;background:#f5f8f6;color:#738078;border-radius:999px;padding:6px 12px;font-size:9px;margin:1px 0 10px}.v51-listening-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#1faa55;margin-right:5px}
.v51-chat-mount{flex:1;min-height:310px}.v51-chat-mount .notes-card{margin:0;border:0!important;box-shadow:none!important;padding:0;background:transparent}.v51-chat-mount .notes-card>.section-head{display:none}.v51-chat-mount .live-text-help{font-size:9px;border-radius:9px;margin:0 0 8px}.v51-chat-mount .notes{display:flex;flex-direction:column;gap:10px;max-height:470px;overflow:auto;padding:4px 5px 12px;scroll-behavior:smooth}.v51-chat-mount .placeholder{text-align:center;color:#8a968f;padding:50px 20px}
.v51-signed .answer-card{border:0;background:transparent;padding:0;box-shadow:none;margin:0;display:flex;flex-direction:column;gap:7px}.v51-signed .answer-card>.label{display:none}.v51-signed .answer-card .student-text{align-self:flex-end;max-width:72%;background:#eaf2ff;color:#26343e;border-radius:16px 16px 4px 16px;padding:10px 12px;font-size:13px;line-height:1.45;box-shadow:0 1px 2px rgba(20,50,90,.04)}.v51-signed .answer-card .tiki-note,.v51-signed .answer-card .correction{align-self:flex-start;max-width:78%;background:#effaf2;border:1px solid #d9f0e0;color:#243c30;border-radius:16px 16px 16px 4px;padding:11px 13px;font-size:13px;line-height:1.48}.v51-signed .answer-card .tiki-note{white-space:pre-wrap}.v51-signed .answer-card .correction .label{font-size:8px;color:#087b38}.v51-signed .answer-card .correction .better{font-weight:700;margin-top:3px}.v51-signed .answer-card .correction .issue{display:block;font-size:9px;margin-top:4px;color:#6c7c73}
.v51-context-actions{display:flex;gap:7px;flex-wrap:wrap;margin:3px 0 9px}.v51-context-actions button{border:0;background:#ecf8f0;color:#187342;border-radius:9px;padding:7px 10px;font-weight:700;font-size:10px;cursor:pointer}.v51-context-actions button:hover{background:#dff3e6}
.v51-composer-mount .voice-panel{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;text-align:left;display:block}.v51-composer-mount .pulse,.v51-composer-mount #sessionTitle,.v51-composer-mount #status,.v51-composer-mount .timer,.v51-composer-mount .controls,.v51-composer-mount .live-attachment-actions{display:none!important}.v51-composer-mount .live-attachment-zone{width:100%;margin:0}.v51-composer-mount .live-attachment-chip{margin:0 0 7px}.v51-composer{display:grid;grid-template-columns:40px minmax(0,1fr) 40px 46px;gap:7px;align-items:end;border:1.5px solid #5fc181;border-radius:14px;padding:8px;background:#fff;position:relative}.v51-plus-btn,.v51-send-btn,.v51-mic-btn{border:0;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;font-weight:900;cursor:pointer}.v51-plus-btn{background:#edf8f1;color:#0a9446;font-size:25px}.v51-send-btn{background:#eef4ff;color:#366bc5}.v51-mic-btn{width:44px;height:44px;background:#0b9a4a;color:#fff;box-shadow:0 5px 14px rgba(11,154,74,.18)}.v51-mic-btn.live{background:#08783b;animation:v51Pulse 1.5s infinite}@keyframes v51Pulse{50%{box-shadow:0 0 0 8px rgba(11,154,74,.12)}}.v51-composer textarea{border:0;outline:0;resize:none;min-height:38px;max-height:110px;padding:9px 7px;font:inherit;font-size:12px;background:transparent}.v51-composer-foot{display:flex;justify-content:center;align-items:center;gap:12px;color:#278351;font-size:9px;margin-top:5px}.v51-composer-foot button{border:0;background:transparent;color:#8a4e4e;font-size:9px;cursor:pointer}.v51-attach-menu{position:absolute;bottom:53px;left:0;width:230px;background:#fff;border:1px solid #dfe8e3;border-radius:13px;padding:6px;box-shadow:0 14px 40px rgba(20,55,38,.16);z-index:40}.v51-attach-menu button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:#fff;border-radius:9px;padding:8px;text-align:left;cursor:pointer}.v51-attach-menu button:hover{background:#f3faf6}.v51-attach-menu button>span{font-size:17px}.v51-attach-menu p{margin:0;display:flex;flex-direction:column}.v51-attach-menu b{font-size:11px}.v51-attach-menu small{font-size:9px;color:#839088;margin-top:1px}.v51-material-picker{position:absolute;bottom:75px;left:10px;width:min(330px,calc(100% - 20px));max-height:330px;overflow:auto;background:#fff;border:1px solid #dce7e0;border-radius:14px;padding:8px;box-shadow:0 18px 50px rgba(20,55,38,.18);z-index:45}.v51-picker-head{display:flex;justify-content:space-between;align-items:center;padding:5px 7px 8px}.v51-picker-head button{border:0;background:transparent;font-size:18px}.v51-picker-item{display:flex;width:100%;gap:8px;align-items:center;border:0;background:#fff;border-radius:9px;padding:8px;text-align:left}.v51-picker-item:hover{background:#f2f9f5}.v51-picker-item span{display:flex;flex-direction:column}.v51-picker-item b{font-size:11px}.v51-picker-item small{font-size:9px;color:#7c8b82}

.v51-benefit-strip{display:none!important}.v51-signed[data-v51-section="home"] .v51-benefit-strip{display:grid!important;grid-template-columns:repeat(5,1fr);gap:8px;margin:11px 0 0}.v51-benefit-strip>div{border:1px solid #e3ebe6;background:#fff;border-radius:12px;padding:10px 9px;min-height:58px}.v51-benefit-strip b{display:block;font-size:10px;color:#177342}.v51-benefit-strip span{display:block;font-size:8px;color:#75837b;margin-top:3px;line-height:1.35}

/* Right contextual rail: fixed third column on desktop */
.v51-signed .v5-right-rail{display:grid!important;position:fixed;right:14px;top:78px;width:300px;max-height:calc(100vh - 92px);overflow:auto;grid-template-columns:1fr;gap:9px;margin:0;z-index:12;padding-bottom:12px;scrollbar-width:thin}.v51-signed .v5-rail-card{border-radius:14px;padding:12px;box-shadow:0 4px 16px rgba(20,70,45,.04)}.v51-rail-head{display:flex;justify-content:space-between;align-items:center}.v51-rail-head h3{margin:0}.v51-rail-head>span{background:#16a451;color:#fff;border-radius:7px;padding:2px 6px;font-size:9px}.v51-rail-head button{border:0;background:transparent;color:#078540;font-size:9px;font-weight:800;cursor:pointer}.v51-rail-material,.v51-rail-lesson{width:100%;display:flex;gap:8px;align-items:center;border:0;background:#fff;border-radius:9px;padding:8px;text-align:left;cursor:pointer}.v51-rail-material:hover,.v51-rail-lesson:hover{background:#f4faf6}.v51-rail-material.active{background:#e4f7e9}.v51-rail-material p,.v51-rail-lesson p{margin:0;min-width:0;display:flex;flex-direction:column}.v51-rail-material strong,.v51-rail-lesson strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v51-rail-material small,.v51-rail-lesson small{font-size:8px;color:#77867d;margin-top:2px}.v51-file-icon{font-size:18px}.v51-suggested-prompts{display:grid;gap:6px}.v51-suggested-prompts button{border:1px solid #d9eee0;background:#f1faf4;color:#246d45;border-radius:7px;padding:7px 8px;text-align:left;font-size:9px;cursor:pointer}.v51-suggested-prompts button:hover{background:#e4f6ea}.v51-signed .v5-current-ready{margin-top:6px;font-size:9px}.v51-signed .v5-rail-actions{margin-top:7px}.v51-signed .v5-mini-btn{font-size:9px;padding:6px 8px}

/* Section switching: left navigation replaces center content while right context stays available */
.v51-signed[data-v51-section="home"] #dashboardCard,.v51-signed[data-v51-section="home"] .feature-view{display:none!important}
.v51-signed[data-v51-section="plan"] .v51-tutor-card,.v51-signed[data-v51-section="plan"] .v51-learning-workspace,.v51-signed[data-v51-section="plan"] .v51-benefit-strip{display:none!important}.v51-signed[data-v51-section="plan"] #dashboardCard{display:block!important;margin-top:0}.v51-signed[data-v51-section="plan"] #dashboardCard>.stat-grid,.v51-signed[data-v51-section="plan"] #dashboardCard>.dashboard-columns{display:none}.v51-signed[data-v51-section="plan"] #dashboardCard>.section-head{display:none}.v51-signed[data-v51-section="plan"] #personalLearning{margin-top:0}
.v51-signed:not([data-v51-section="home"]):not([data-v51-section="plan"]) .v51-tutor-card,.v51-signed:not([data-v51-section="home"]):not([data-v51-section="plan"]) .v51-learning-workspace,.v51-signed:not([data-v51-section="home"]):not([data-v51-section="plan"]) .v51-benefit-strip{display:none!important}
.v51-signed .feature-view{margin-top:0}

/* Mobile: one-column conversation, drawer nav, contextual rail hidden */
.v51-menu-btn{display:none}
@media(max-width:1100px){.v51-signed .shell{padding-right:22px}.v51-signed .v5-right-rail{display:none!important}.v51-signed .topbar{margin-right:-22px}.v51-signed .app{grid-template-columns:1fr}.v51-menu-btn{display:grid!important;width:34px;height:34px;border:0;border-radius:9px;background:#edf7f1;color:#087b38;place-items:center;font-size:18px}.v51-signed .sidebar{display:flex!important;position:fixed;left:0;top:0;bottom:0;width:230px;transform:translateX(-105%);transition:transform .2s ease;z-index:10002;box-shadow:14px 0 35px rgba(0,0,0,.12)}.v51-drawer-open .sidebar{transform:translateX(0)}.v51-drawer-open:after{content:'';position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:10001}.v51-drawer-open .sidebar{z-index:10003}.v51-signed .mobile-nav{display:none!important}}
@media(max-width:720px){.v51-signed .shell{padding:0 10px 90px}.v51-signed .topbar{margin:0 -10px 9px;padding:8px 10px;height:auto;min-height:55px}.v51-signed .topbar:before{display:none}.v51-signed .account-actions{gap:5px}.v51-signed #logoutBtn,.v51-signed #accountBtn{display:none!important}.v51-signed .v51-tutor-card{padding:10px}.v51-tutor-avatar img{width:42px;height:42px}.v51-tutor-tip{display:none}.v51-mode-mount .modes{overflow-x:auto;display:flex!important;scrollbar-width:none}.v51-mode-mount .mode{min-width:112px}.v51-chat-shell{min-height:calc(100vh - 245px);padding:9px;border-radius:14px}.v51-chat-mount .notes{max-height:calc(100vh - 440px);min-height:220px}.v51-signed .answer-card .student-text,.v51-signed .answer-card .tiki-note,.v51-signed .answer-card .correction{max-width:88%;font-size:12px}.v51-context-actions{overflow-x:auto;flex-wrap:nowrap}.v51-context-actions button{white-space:nowrap}.v51-composer{grid-template-columns:38px minmax(0,1fr) 42px}.v51-send-btn{display:none}.v51-mic-btn{width:42px;height:42px}.v51-benefit-strip{display:none!important}.v51-signed .help-contact-fab{bottom:18px}.v51-signed .pwa-install-btn{bottom:66px}}

/* V5.1.1 — simplify signed-in Home display only.
   Keep the contextual rail in the DOM so all existing attachment/material/lesson
   functions and event bindings remain intact, but do not render this duplicate
   middle section on the learner dashboard. */
.v51-signed .v5-right-rail,
.v51-signed #v5RightRail {
  display: none !important;
}
.v51-signed .shell {
  padding-right: 22px !important;
}
.v51-signed .topbar {
  margin-right: -22px !important;
}

/* V5.1.2 — duplicated center cards intentionally removed from the signed-in workspace.
   Attachment, My Materials, Recent Lessons, and related functions remain available
   through the conversation controls and left navigation. */
#v5RightRail,
.v51-context-rail {
  display: none !important;
}

/* V5.1.7 — attachment-in-chat and clear voice state */
.v51-signed .attachment-answer-card{align-items:flex-start!important}
.chat-attachment-card{
  display:flex;align-items:center;gap:10px;max-width:78%;
  background:#fff;border:1px solid #cfe5d8;border-radius:14px;
  padding:10px 12px;box-shadow:0 2px 8px rgba(30,70,48,.05)
}
.chat-attachment-icon{font-size:24px}
.chat-attachment-copy{display:flex;min-width:0;flex-direction:column}
.chat-attachment-copy strong{font-size:12px;color:#26343e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-attachment-copy small{font-size:9px;color:#7b8981;margin-top:2px}
.chat-attachment-status{font-size:10px;color:#08783b;margin-top:4px;font-weight:700}
.v51-mic-btn.live{background:#d93d3d!important;animation:none!important;box-shadow:0 5px 14px rgba(217,61,61,.22)!important}
.v51-signed #v51EndLesson{display:none!important}
.v51-attach-menu button:disabled,.v51-plus-btn:disabled{opacity:.55;cursor:wait}

/* V5.1.8 — always-visible attachment controls */
.v518-attach-toolbar{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 8px;
}
.v518-attach-toolbar button{
  border:1px solid #d3e7dc;
  background:#f6fbf8;
  color:#136f3d;
  border-radius:10px;
  padding:7px 10px;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.v518-attach-toolbar button:hover{
  background:#eaf7ef;
  border-color:#8fc9a9;
}
@media(max-width:700px){
  .v518-attach-toolbar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .v518-attach-toolbar button{
    justify-content:center;
    min-height:38px;
  }
}

/* V5.1.9 — reliable, visible attachment workflow */
.v518-attach-toolbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  gap:7px!important;
  margin:8px 0!important;
  z-index:20;
}
.v518-attach-toolbar button{
  display:inline-flex!important;
}
.v519-upload-row{
  width:100%;
  display:flex!important;
  justify-content:flex-start!important;
}
.v519-upload-card{
  width:min(520px,88%);
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 13px;
  background:#f5fbf7;
  border:1px solid #bfe0cc;
  border-radius:14px;
  box-shadow:0 2px 8px rgba(20,70,45,.05);
}
.v519-upload-icon{font-size:25px}
.v519-upload-copy{display:flex;flex-direction:column;min-width:0}
.v519-upload-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v519-upload-copy small{font-size:9px;color:#748079;margin-top:2px}
.v519-upload-status{font-size:10px;font-weight:800;color:#a56a00;margin-top:4px}
.v519-upload-row[data-state="ready"] .v519-upload-status{color:#08783b}
.v519-upload-row[data-state="error"] .v519-upload-status{color:#c73535}

/* V5.1.13 — Vocabulary is a dedicated single-section view */
.v51-signed[data-v51-section="vocabulary"] #dashboardCard,
.v51-signed[data-v51-section="vocabulary"] #lessonsView,
.v51-signed[data-v51-section="vocabulary"] #lessonDetailView,
.v51-signed[data-v51-section="vocabulary"] #mistakesView,
.v51-signed[data-v51-section="vocabulary"] #materialsView,
.v51-signed[data-v51-section="vocabulary"] #progressView,
.v51-signed[data-v51-section="vocabulary"] #reviewCard,
.v51-signed[data-v51-section="vocabulary"] #v51TutorCard,
.v51-signed[data-v51-section="vocabulary"] #v51LearningWorkspace,
.v51-signed[data-v51-section="vocabulary"] #v51BenefitStrip{
  display:none!important;
}
.v51-signed[data-v51-section="vocabulary"] #vocabularyView{
  display:block!important;
  margin-top:0!important;
}

/* V5.1.14 — Progress is a dedicated single-section view */
.v51-signed[data-v51-section="progress"] #dashboardCard,
.v51-signed[data-v51-section="progress"] #lessonsView,
.v51-signed[data-v51-section="progress"] #lessonDetailView,
.v51-signed[data-v51-section="progress"] #mistakesView,
.v51-signed[data-v51-section="progress"] #vocabularyView,
.v51-signed[data-v51-section="progress"] #materialsView,
.v51-signed[data-v51-section="progress"] #reviewCard,
.v51-signed[data-v51-section="progress"] #v51TutorCard,
.v51-signed[data-v51-section="progress"] #v51LearningWorkspace,
.v51-signed[data-v51-section="progress"] #v51BenefitStrip{
  display:none!important;
}
.v51-signed[data-v51-section="progress"] #progressView{
  display:block!important;
  margin-top:0!important;
}

/* V5.1.15 — Practice Again launch feedback */
.history-actions button:disabled{
  opacity:.62;
  cursor:wait;
}

/* V5.1.16 — unmistakable live voice Start / End state */
.v51-signed #v51MicBtn{
  width:auto!important;
  min-width:138px!important;
  height:44px!important;
  padding:0 17px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  background:#0b9a4a!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:12px!important;
  box-shadow:0 5px 14px rgba(11,154,74,.20)!important;
  animation:none!important;
}
.v51-signed #v51MicBtn.live,
.v51-signed.v51-live #v51MicBtn{
  background:#d83b3b!important;
  box-shadow:0 5px 16px rgba(216,59,59,.25)!important;
  animation:none!important;
}
.v5116-stop-icon{font-size:14px;line-height:1}
.v5116-mic-icon{font-size:15px;line-height:1}
.v5116-mic-label{white-space:nowrap}
.v5116-live-dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#e23b3b;
  margin-right:5px;
  box-shadow:0 0 0 4px rgba(226,59,59,.12);
  animation:v5116LivePulse 1.2s ease-in-out infinite;
}
@keyframes v5116LivePulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.55;transform:scale(.82)}
}
.v51-signed.v51-live .v51-chat-status{
  border-color:#f1bcbc!important;
  background:#fff7f7!important;
}
@media(max-width:700px){
  .v51-signed #v51MicBtn{
    min-width:118px!important;
    padding:0 13px!important;
  }
}

/* V5.1.17 — reliable End talking control */
.v51-signed #v51MicBtn{
  max-width:180px!important;
  flex:0 0 auto!important;
}
.v51-signed #v51MicBtn:disabled{
  opacity:.72!important;
  cursor:wait!important;
}
.v51-signed #v51MicBtn.live{
  background:#d93636!important;
  border-color:#d93636!important;
}
@media(max-width:900px){
  .v51-signed #v51MicBtn{
    min-width:112px!important;
    max-width:145px!important;
    padding:0 12px!important;
  }
}

/* V5.1.19 — reliable mobile navigation drawer */
.v5119-drawer-backdrop{
  display:none;
  position:fixed;
  inset:0;
  border:0;
  padding:0;
  margin:0;
  background:rgba(8,28,17,.36);
  z-index:10001;
  cursor:pointer;
}
@media(max-width:1100px){
  .v51-signed .sidebar{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(280px,84vw)!important;
    height:100dvh!important;
    background:#fff!important;
    transform:translate3d(-105%,0,0)!important;
    transition:transform .22s ease!important;
    z-index:10003!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.v51-drawer-open .sidebar{
    transform:translate3d(0,0,0)!important;
  }
  body.v51-drawer-open .v5119-drawer-backdrop{
    display:block!important;
  }
  body.v51-drawer-open{
    overflow:hidden!important;
    touch-action:none;
  }
  body.v51-drawer-open .sidebar{
    touch-action:auto;
  }
  .v51-signed #v51MenuBtn{
    display:grid!important;
    position:relative!important;
    z-index:10004!important;
    pointer-events:auto!important;
    touch-action:manipulation;
  }
}
/* Disable the older pseudo backdrop; V5.1.19 uses a real clickable element. */
body.v51-drawer-open:after{
  content:none!important;
  display:none!important;
}

/* V5.1.20 — mobile Talk button fit + touch reliability */
@media(max-width:720px){
  .v51-signed .v51-composer{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 104px!important;
    gap:7px!important;
    align-items:center!important;
    padding:8px!important;
    overflow:visible!important;
  }

  .v51-signed #v51SendText{
    display:none!important;
  }

  .v51-signed #v51MicBtn{
    grid-column:3!important;
    width:104px!important;
    min-width:0!important;
    max-width:104px!important;
    height:46px!important;
    padding:0 12px!important;
    margin:0!important;
    border-radius:999px!important;
    position:relative!important;
    right:auto!important;
    left:auto!important;
    transform:none!important;
    z-index:5!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    background:#0b9a4a!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:0 4px 12px rgba(11,154,74,.2)!important;
  }

  .v51-signed #v51MicBtn.live{
    background:#d93636!important;
    box-shadow:0 4px 12px rgba(217,54,54,.22)!important;
  }

  .v51-signed #v51MicBtn .v5116-mic-icon,
  .v51-signed #v51MicBtn .v5116-stop-icon{
    flex:0 0 auto!important;
    font-size:15px!important;
  }

  .v51-signed #v51MicBtn .v5116-mic-label{
    display:inline!important;
    font-size:12px!important;
    line-height:1!important;
  }

  .v51-signed #v51TextInput{
    min-width:0!important;
    width:100%!important;
    font-size:16px!important; /* prevents mobile browser zoom on focus */
  }

  .v51-signed .v51-composer-foot{
    padding:0 4px!important;
    text-align:center!important;
    font-size:10px!important;
    line-height:1.35!important;
  }
}

@media(max-width:390px){
  .v51-signed .v51-composer{
    grid-template-columns:42px minmax(0,1fr) 88px!important;
  }
  .v51-signed #v51MicBtn{
    width:88px!important;
    max-width:88px!important;
    padding:0 9px!important;
  }
}

/* Make the voice button visibly tappable on all touch devices. */
@media(hover:none) and (pointer:coarse){
  .v51-signed #v51MicBtn{
    cursor:pointer!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }
  .v51-signed #v51MicBtn:active{
    transform:scale(.97)!important;
  }
}

/* V5.1.21 — direct mobile voice start control */
.v51-signed #v51MicBtn{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  position:relative!important;
  z-index:30!important;
}
.v51-signed .v51-composer{
  overflow:visible!important;
}
.v51-signed #v51MicBtn::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:999px;
}
@media(max-width:720px){
  .v51-signed #v51MicBtn{
    min-height:48px!important;
  }
}


/* =========================================================
   V5.1.23 — compact chat + compact, reliable live voice control
   ========================================================= */
.v51-signed .v51-chat-shell{
  min-height:455px!important;
  padding:11px!important;
}
.v51-signed .v51-chat-mount{
  min-height:215px!important;
}
.v51-signed .v51-chat-mount .notes{
  max-height:350px!important;
  min-height:190px;
}
.v51-signed .v51-context-actions{
  margin:2px 0 7px!important;
}
.v51-signed .v518-attach-toolbar{
  margin-top:7px!important;
}
.v51-signed .v51-composer{
  grid-template-columns:38px minmax(0,1fr) 38px 48px!important;
  gap:6px!important;
  align-items:center!important;
  padding:7px!important;
  min-height:58px;
}
.v51-signed #v51MicBtn{
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:46px!important;
  padding:0!important;
  border-radius:50%!important;
  gap:0!important;
  flex:0 0 46px!important;
  touch-action:manipulation!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  cursor:pointer!important;
}
.v51-signed #v51MicBtn .v5116-mic-label{
  display:none!important;
}
.v51-signed #v51MicBtn .v5116-mic-icon,
.v51-signed #v51MicBtn .v5116-stop-icon{
  font-size:17px!important;
  line-height:1!important;
}
.v51-signed #v51MicBtn.connecting{
  opacity:.82;
  cursor:wait!important;
}
.v51-signed #v51MicBtn.connecting:after{
  content:'';
  width:14px;
  height:14px;
  border:2px solid rgba(255,255,255,.55);
  border-top-color:#fff;
  border-radius:50%;
  animation:v5123Spin .7s linear infinite;
}
.v51-signed #v51MicBtn.connecting>*{display:none!important}
@keyframes v5123Spin{to{transform:rotate(360deg)}}
.v51-signed .v51-composer-foot{
  margin-top:4px!important;
  min-height:16px;
  font-size:10px!important;
}
.v51-signed.v51-live .v51-composer{
  border-color:#e58d8d!important;
  box-shadow:0 0 0 2px rgba(216,59,59,.05);
}
@media(max-width:720px){
  .v51-signed .v51-chat-shell{
    min-height:calc(100vh - 300px)!important;
    padding:8px!important;
  }
  .v51-signed .v51-chat-mount .notes{
    max-height:calc(100vh - 455px)!important;
    min-height:180px!important;
  }
  .v51-signed .v51-composer{
    grid-template-columns:40px minmax(0,1fr) 48px!important;
    min-height:58px!important;
  }
  .v51-signed #v51MicBtn{
    grid-column:3!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    padding:0!important;
    border-radius:50%!important;
  }
}


/* V5.1.25 — Vocabulary inline translation */
.vocab-translation-result{
  margin-top:12px;padding:12px 14px;border:1px solid #cfe8d9;border-radius:12px;background:#f4fbf7;
  line-height:1.45;overflow-wrap:anywhere
}
.vocab-translation-result.hidden{display:none!important}
.vocab-translation-result.error{border-color:#f2c7c2;background:#fff6f5;color:#9b241b}
.vocab-translation-label{display:block;font-size:11px;font-weight:900;color:#087b38;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
.vocab-translation-text{font-size:15px;font-weight:650;color:#18211d}
.vocab-translation-example{margin-top:7px;font-size:12px;color:#5c6862}
.vocab-selection-source{margin-bottom:7px;padding-bottom:7px;border-bottom:1px dashed #cfe0d5;font-size:12px;color:#64716b;font-style:italic}
.vocab-card h3,.vocab-meaning,.vocab-example,.vocab-notes{user-select:text;-webkit-user-select:text}

.vocab-translate-language{display:inline-flex!important;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#526159;margin-left:auto}
.vocab-translate-language select{border:1px solid #d8e5dd;border-radius:9px;background:#fff;padding:7px 28px 7px 9px;font:inherit;color:#24332b}
#vocabSaveStatus .vocab-translation-result{display:block;margin-top:10px;text-align:left}
@media(max-width:700px){.vocab-translate-language{width:100%;margin-left:0;justify-content:flex-start}.vocab-translate-language select{flex:1;max-width:220px}}


/* V5.1.26 — signed-in mobile account + reliable Log out access */
.mobile-account-actions{display:none}
@media(max-width:1100px){
  .v51-signed .sidebar{padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
  .v51-signed .mobile-account-actions{
    display:grid!important;
    gap:7px;
    margin:10px 12px 4px;
    padding:10px 0 0;
    border-top:1px solid #e4eee8;
  }
  .v51-signed .mobile-account-actions.hidden{display:none!important}
  .v51-signed .mobile-account-action{
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:11px 13px;
    border:1px solid #dce9e1;
    border-radius:12px;
    background:#fff;
    color:#183d2a;
    font:inherit;
    text-align:left;
    cursor:pointer;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  .v51-signed .mobile-account-action span{font-size:18px;line-height:1}
  .v51-signed .mobile-account-action b{font-size:13px;font-weight:800}
  .v51-signed .mobile-account-action:active{transform:scale(.99);background:#f4faf6}
  .v51-signed .mobile-logout-action{color:#a82f2f;border-color:#f0d4d4;background:#fffafa}
  .v51-signed .mobile-logout-action:disabled{opacity:.65;cursor:wait}
}


/* V5.1.29 — intent-first quick conversation starters */
.v51-context-actions button{font-size:11px;line-height:1.25;padding:8px 11px;min-height:34px}
.v51-context-actions button[data-v51-action="practice"]{background:#f1f7ff;color:#245b9b}
.v51-context-actions button[data-v51-action="practice"]:hover{background:#e5f0ff}
@media(max-width:720px){.v51-context-actions{padding-bottom:2px}.v51-context-actions button{font-size:11px;min-height:34px}}

/* V5.1.31 — mobile Premium modal viewport + scrolling fix */
body.premium-modal-open{
  overflow:hidden !important;
  overscroll-behavior:none;
}
#premiumModal{
  z-index:12000;
}
#premiumModal .premium-modal-card{
  box-sizing:border-box;
}
body.premium-modal-open .help-contact-fab,
body.premium-modal-open .pwa-install-btn,
body.premium-modal-open .mobile-bottom-nav,
body.premium-modal-open .bottom-nav{
  visibility:hidden !important;
  pointer-events:none !important;
}

@media(max-width:650px){
  #premiumModal{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    box-sizing:border-box;
    padding:
      max(8px, env(safe-area-inset-top))
      8px
      max(8px, env(safe-area-inset-bottom));
    overflow:hidden;
  }
  #premiumModal.hidden{display:none !important}

  #premiumModal .premium-modal-card{
    width:100%;
    max-width:100%;
    height:auto;
    max-height:calc(100dvh - max(16px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));
    margin:0;
    padding:22px 18px calc(28px + env(safe-area-inset-bottom));
    border-radius:24px;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
    scrollbar-gutter:stable;
  }

  /* Fallback for browsers that do not yet support dynamic viewport units. */
  @supports not (height:100dvh){
    #premiumModal .premium-modal-card{max-height:calc(100vh - 16px)}
  }

  #premiumModal .modal-close{
    position:sticky;
    top:0;
    z-index:5;
    float:right;
    width:42px;
    height:42px;
    margin:-8px -6px -34px 0;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    box-shadow:0 4px 16px rgba(0,0,0,.08);
  }

  #premiumModal .modal-mark{
    width:56px;
    height:56px;
    border-radius:16px;
    font-size:29px;
  }
  #premiumModal .eyebrow{
    margin-top:8px;
    font-size:11px;
    letter-spacing:.11em;
  }
  #premiumModal h2{
    margin:12px 12px 7px;
    font-size:clamp(25px,7vw,34px);
    line-height:1.08;
  }
  #premiumModal .premium-intro{
    margin:0 auto;
    max-width:34ch;
    font-size:14px;
    line-height:1.42;
  }
  #premiumModal .premium-plan-grid{
    gap:10px;
    margin:16px 0;
  }
  #premiumModal .premium-plan{
    min-height:0;
    padding:15px 16px;
    border-radius:15px;
    gap:3px;
  }
  #premiumModal .premium-plan strong{font-size:27px}
  #premiumModal .premium-plan b{margin-top:6px}
  #premiumModal .best-value{right:9px;top:9px}
  #premiumModal .premium-features{
    gap:7px;
    padding:13px;
    margin-bottom:10px;
  }
  #premiumModal .premium-features span{
    font-size:12px;
    line-height:1.35;
  }
  #premiumModal .free-plan-note{
    margin:10px 0 4px;
    padding:12px;
    gap:4px;
  }
  #premiumModal #premiumMessage{margin-bottom:4px}
}

/* Extra compact layout for short phones / landscape phones. */
@media(max-width:650px) and (max-height:720px){
  #premiumModal .premium-modal-card{padding-top:14px}
  #premiumModal .modal-mark{width:46px;height:46px;font-size:24px}
  #premiumModal h2{font-size:23px;margin-top:8px}
  #premiumModal .premium-intro{font-size:13px}
  #premiumModal .premium-plan-grid{margin:11px 0}
  #premiumModal .premium-plan{padding:11px 14px}
  #premiumModal .premium-features{padding:10px}
}

/* V5.1.32 — one clean mobile navigation: top-left drawer for guests + members */
@media(max-width:1100px){
  /* The old fixed bottom bar duplicates the same destinations as the drawer. */
  .mobile-nav{display:none!important;visibility:hidden!important;pointer-events:none!important}
  body{padding-bottom:0!important}

  /* Make the existing top-left menu available before AND after sign-in. */
  #v51MenuBtn{
    display:grid!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    place-items:center!important;
    border:0!important;
    border-radius:12px!important;
    background:#edf8f1!important;
    color:#087b38!important;
    font-size:25px!important;
    line-height:1!important;
    cursor:pointer!important;
    position:relative!important;
    z-index:10004!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent;
  }

  /* Guests previously had .sidebar display:none; the drawer must work for everyone. */
  .sidebar{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:min(290px,86vw)!important;
    height:100dvh!important;
    padding:18px 14px max(18px,env(safe-area-inset-bottom))!important;
    background:#fff!important;
    transform:translate3d(-105%,0,0)!important;
    transition:transform .22s ease!important;
    z-index:10003!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    box-shadow:14px 0 35px rgba(0,0,0,.14)!important;
  }
  body.v51-drawer-open .sidebar{transform:translate3d(0,0,0)!important}
  body.v51-drawer-open .v5119-drawer-backdrop{display:block!important}
  body.v51-drawer-open{overflow:hidden!important}

  /* Keep the important destinations easy to reach at the top of the drawer. */
  .sidebar .brand{margin-bottom:10px!important}
  .sidebar .nav{display:flex!important;flex-direction:column!important;gap:4px!important}
  .sidebar .nav-item{min-height:46px!important;border-radius:11px!important}
}

@supports not (height:100dvh){
  @media(max-width:1100px){.sidebar{height:100vh!important}}
}


/* V5.1.34 — first-visit mobile hero Talk control */
@media (max-width:700px){
  #heroTalkBtn{
    position:relative!important;
    z-index:5!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(13,122,82,.10);
    user-select:none;
    -webkit-user-select:none;
  }
  #heroTalkBtn .tiki-face,#heroTalkBtn .speech,#heroTalkBtn .tap-to-talk{pointer-events:none}
}

/* V5.1.38 — one-tap language voice welcome */
@media(max-width:700px){.language-pills .home-language-pill{min-height:44px;padding:10px 12px;touch-action:manipulation}}


/* V5.1.39 — private material viewer (additive only) */
body.material-viewer-open{overflow:hidden}
.material-viewer-overlay{position:fixed;inset:0;z-index:120;background:rgba(16,34,27,.68);display:flex;align-items:center;justify-content:center;padding:18px;overscroll-behavior:contain}
.material-viewer-shell{width:min(1180px,100%);height:min(88dvh,900px);background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.material-viewer-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px 12px 18px;border-bottom:1px solid #e1ebe6;background:#fff}
.material-viewer-title-wrap{display:flex;align-items:center;gap:11px;min-width:0}.material-viewer-title-wrap>span{font-size:25px}.material-viewer-title-wrap div{min-width:0}.material-viewer-title-wrap strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}.material-viewer-title-wrap small{display:block;color:#748079;margin-top:2px}
.material-viewer-head-actions{display:flex;align-items:center;gap:10px}.material-viewer-close{border:0;background:#f1f5f3;width:40px;height:40px;border-radius:50%;font-size:27px;line-height:1;color:#4e5f57;cursor:pointer}.material-viewer-close:hover{background:#e6eeea}
.material-viewer-body{flex:1;min-height:0;background:#f3f6f5;overflow:auto;display:flex;align-items:stretch;justify-content:center;-webkit-overflow-scrolling:touch}
.material-viewer-loading,.material-viewer-error{margin:auto;padding:28px;text-align:center;color:#66766e}.material-viewer-error{display:grid;gap:6px}.material-viewer-error strong{color:#26343e}
.material-image-stage{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.material-image-stage img{display:block;max-width:100%;height:auto;max-height:none;object-fit:contain;border-radius:10px;box-shadow:0 8px 35px rgba(0,0,0,.13);background:#fff}
.material-pdf-frame{width:100%;height:100%;min-height:520px;border:0;background:#fff}.material-pdf-fallback{display:none}
.material-text-preview{width:min(920px,100%);margin:22px;background:#fff;border:1px solid #dce9e3;border-radius:14px;box-shadow:0 6px 24px rgba(20,60,45,.06);overflow:auto}.material-text-preview pre{white-space:pre-wrap;word-break:break-word;font:15px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;padding:26px;color:#25332d}
.material-viewer-mobile-bar{display:none}
@media(max-width:720px){
 .material-viewer-overlay{padding:0;align-items:stretch;background:#fff}
 .material-viewer-shell{width:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none}
 .material-viewer-head{padding:10px 10px 10px 13px;min-height:58px;position:relative;z-index:2}.material-viewer-title-wrap strong{max-width:62vw;font-size:14px}.material-viewer-title-wrap small{font-size:11px}.material-viewer-title-wrap>span{font-size:21px}
 .material-viewer-head .material-viewer-talk{display:none}.material-viewer-close{width:38px;height:38px}
 .material-viewer-body{padding-bottom:calc(72px + env(safe-area-inset-bottom));background:#eef3f1}
 .material-image-stage{padding:10px;align-items:flex-start}.material-image-stage img{width:auto;max-width:100%;border-radius:6px}
 .material-pdf-frame{min-height:100%;height:100%;background:#fff}
 .material-text-preview{margin:10px;border-radius:10px}.material-text-preview pre{font-size:14px;line-height:1.6;padding:17px}
 .material-viewer-mobile-bar{display:block;position:absolute;left:0;right:0;bottom:0;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #dce9e3;backdrop-filter:blur(10px);z-index:3}.material-viewer-mobile-bar button{width:100%;min-height:46px}
}

/* V5.1.40 — My Materials is a dedicated single-section view */
.v51-signed[data-v51-section="materials"] #dashboardCard,
.v51-signed[data-v51-section="materials"] #lessonsView,
.v51-signed[data-v51-section="materials"] #lessonDetailView,
.v51-signed[data-v51-section="materials"] #mistakesView,
.v51-signed[data-v51-section="materials"] #vocabularyView,
.v51-signed[data-v51-section="materials"] #progressView,
.v51-signed[data-v51-section="materials"] #reviewCard,
.v51-signed[data-v51-section="materials"] #v51TutorCard,
.v51-signed[data-v51-section="materials"] #v51LearningWorkspace,
.v51-signed[data-v51-section="materials"] #v51BenefitStrip{
  display:none!important;
}
.v51-signed[data-v51-section="materials"] #materialsView{
  display:block!important;
  margin-top:0!important;
}


/* =========================================================
   V5.1.41 — live transcript manual scrolling on phones
   ========================================================= */
.v51-chat-mount .notes{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-y!important;
  scrollbar-gutter:stable;
}
@media(max-width:720px){
  .v51-chat-mount .notes{
    overflow-y:scroll!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:contain!important;
  }
  /* Text remains selectable, while vertical finger movement scrolls the feed. */
  #notes .student-text,#notes .tiki-note,#notes .better{
    touch-action:pan-y!important;
  }
}


/* V5.5 — compact My Lessons dashboard */
.my-lessons-section{
  margin-top:18px;
  padding:18px;
  border:1px solid var(--border,#e5e7eb);
  border-radius:18px;
  background:#fff;
}
.my-lessons-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.my-lessons-section-head .subhead{margin:0 0 4px}
.my-lessons-section-head p{
  margin:0;
  font-size:.9rem;
  color:var(--muted,#64748b);
}
.compact-link{
  white-space:nowrap;
  font-size:.88rem;
}
.my-lessons-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.my-lesson-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  padding:15px;
  border:1px solid var(--border,#e5e7eb);
  border-radius:14px;
  background:var(--surface-soft,#f8fafc);
}
.my-lesson-card-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.my-lesson-card-info strong{
  overflow:hidden;
  text-overflow:ellipsis;
}
.my-lesson-card-info small{
  color:var(--muted,#64748b);
}
.my-lesson-card-info p{
  margin:3px 0 0;
  color:var(--text-soft,#475569);
  font-size:.9rem;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.my-lessons-mistake-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mistake-preview-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 14px;
  border:1px solid var(--border,#e5e7eb);
  border-radius:13px;
  background:var(--surface-soft,#f8fafc);
}
.mistake-preview-row p{
  margin:4px 0;
  font-size:.9rem;
}
.mistake-preview-row small{color:var(--muted,#64748b)}
.mistake-wrong{color:#b42318}
.mistake-right{color:#15803d}
.compact-history-list{
  display:flex;
  flex-direction:column;
  gap:0;
  border:1px solid var(--border,#e5e7eb);
  border-radius:14px;
  overflow:hidden;
}
.compact-history-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 13px;
  border-bottom:1px solid var(--border,#e5e7eb);
  background:#fff;
}
.compact-history-row:last-child{border-bottom:0}
.compact-history-main{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  padding:13px 0;
  flex:1;
  min-width:0;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.compact-history-main strong{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.compact-history-main small{color:var(--muted,#64748b)}
@media (max-width:820px){
  .my-lessons-preview-grid{grid-template-columns:1fr}
  .my-lessons-section{padding:14px}
}
@media (max-width:560px){
  .my-lessons-section-head{
    align-items:center;
  }
  .my-lessons-section-head p{display:none}
  .mistake-preview-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .mistake-preview-row .compact-btn{width:100%}
  .compact-history-row{padding-right:8px}
}

/* V5.5.3 dual lesson audio + sentence replay */
.dual-lesson-audio{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.lesson-audio-track{display:flex;flex-direction:column;gap:9px;min-width:0;padding:12px;border:1px solid var(--border,#e5e7eb);border-radius:13px;background:var(--surface-soft,#f8fafc)}
.lesson-audio-track p{margin:4px 0 0;color:var(--muted,#64748b);font-size:.88rem}
.lesson-audio-track audio{width:100%}
.sentence-listen-btn{align-self:center;border:1px solid var(--border,#dbe4df);border-radius:999px;background:#fff;color:#087a45;padding:6px 10px;font-weight:700;font-size:.78rem;cursor:pointer;white-space:nowrap}
.sentence-listen-btn:hover{background:#eefbf4}
.sentence-listen-btn:disabled{opacity:.65;cursor:default}
@media(max-width:760px){
  .dual-lesson-audio{grid-template-columns:1fr}
  .transcript-row{grid-template-columns:auto 1fr}
  .sentence-listen-btn{grid-column:2;justify-self:start;margin-top:4px}
}

/* V5.5.3 Vocabulary Phase 1 — additive UI only */
.vocab-term-line{display:flex;align-items:center;gap:8px;min-width:0}
.vocab-term-line h3{margin:4px 0}
.vocab-hear-icon{border:0;background:transparent;padding:4px 6px;border-radius:999px;cursor:pointer;font-size:1rem;line-height:1}
.vocab-hear-icon:hover,.vocab-hear-example:hover{background:#eef8f2}
.vocab-hear-example{border:0;background:transparent;color:#087a45;font-weight:700;font-size:.78rem;cursor:pointer;padding:5px 7px;border-radius:8px;white-space:nowrap}
.vocab-example-line{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vocab-example-line .vocab-example{flex:1;margin-right:0}
.vocab-primary-actions{margin-top:12px}
.vocab-primary-actions .make-sentence-vocab{font-weight:800}
.vocab-secondary-actions{margin-top:6px}
@media(max-width:620px){
  .vocab-example-line{align-items:flex-start;flex-direction:column;gap:2px}
  .vocab-actions{gap:7px}
  .vocab-primary-actions .small-action-btn{flex:1 1 calc(50% - 7px)}
}

/* V5.5.3 Vocabulary selection reliability */
#selectionSaveStatus.has-selection{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eefbf4;color:#087a45;font-weight:700}
.selection-save-bar .selection-ready{box-shadow:0 0 0 2px rgba(8,122,69,.18)}
.vocab-primary-actions{padding-top:4px;border-top:1px solid rgba(15,118,75,.08)}
.vocab-primary-actions .make-sentence-vocab,
.vocab-primary-actions .practice-vocab{min-height:38px}


/* V5.5.3 Learning Path add-on — isolated styles */
.learning-path-continue{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:16px 0;padding:16px 18px;border:1px solid #ccebd9;border-radius:16px;background:#f1fbf5;
}
.learning-path-continue div{display:flex;flex-direction:column;gap:3px;min-width:0}
.learning-path-continue small{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#087a45}
.learning-path-continue strong{font-size:1.03rem}
.learning-path-continue p{margin:0;color:var(--muted,#64748b);font-size:.88rem}
.learning-path-toolbar{
  margin:16px 0 18px;padding:15px 16px;border:1px solid var(--border,#e5e7eb);border-radius:16px;background:#fff;
}
.learning-path-toolbar>div:first-child{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.learning-path-toolbar small{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--muted,#64748b)}
.learning-path-toolbar p{margin:9px 0 0;color:var(--muted,#64748b);font-size:.84rem}
.learning-path-levels{display:flex;flex-wrap:wrap;gap:7px}
.learning-path-levels button{
  border:1px solid var(--border,#dce5df);background:#fff;border-radius:999px;padding:7px 12px;
  font-weight:800;cursor:pointer;color:var(--text,#17352b)
}
.learning-path-levels button.active{background:#087a45;color:#fff;border-color:#087a45}
.learning-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.learning-path-card{
  border:1px solid var(--border,#e5e7eb);border-radius:18px;background:#fff;padding:16px;min-width:0;
}
.learning-path-card-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.learning-path-icon{
  width:42px;height:42px;border-radius:12px;background:#eef8f2;display:grid;place-items:center;font-size:1.25rem;flex:0 0 auto;
}
.learning-path-card h4{margin:0 0 4px;font-size:1.05rem}
.learning-path-card-head p{margin:0;color:var(--muted,#64748b);font-size:.86rem;line-height:1.35}
.learning-path-topic-list{display:flex;flex-direction:column;border-top:1px solid var(--border,#edf1ee)}
.learning-path-topic{
  appearance:none;border:0;border-bottom:1px solid var(--border,#edf1ee);background:transparent;width:100%;
  display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;text-align:left;cursor:pointer;color:inherit;
}
.learning-path-topic:hover{background:#f7fbf8}
.learning-path-topic span{display:flex;flex-direction:column;gap:2px;min-width:0}
.learning-path-topic small{color:var(--muted,#64748b);font-size:.75rem}
.learning-path-topic em{font-style:normal;color:#087a45;font-weight:800;font-size:.78rem;white-space:nowrap}
.learning-path-view-all{margin-top:10px}
.learning-path-note{
  display:flex;flex-direction:column;gap:4px;margin-top:16px;padding:14px 16px;border-radius:14px;background:#f7f9f8;color:var(--muted,#64748b);font-size:.85rem;
}
.learning-path-note strong{color:var(--text,#17352b)}
@media(max-width:760px){
  .learning-path-grid{grid-template-columns:1fr}
  .learning-path-continue{align-items:flex-start;flex-direction:column}
  .learning-path-continue .account-btn{width:100%}
}

/* Learning Path V2: show only the learning library while browsing it */
body.learning-path-view-active main > .hero,
body.learning-path-view-active main > .adaptive-card,
body.learning-path-view-active main > .save-card,
body.learning-path-view-active main > .dashboard-card,
body.learning-path-view-active main > .notes-card,
body.learning-path-view-active main > .review-card,
body.learning-path-view-active main > .v5-workspace-heading{display:none!important}
body.learning-path-view-active #learningPathView{display:block!important}
.tiki-only-answer-card{border-color:#d7ebe0;background:#f7fcf9}
.tiki-only-answer-card .tiki-note{margin-top:0}

/* Learning Path V3 — level explanation + history */
#learningPathLevels button{font-size:.82rem}
.learning-path-level-info{
  margin-top:12px;padding:12px 14px;border-radius:12px;background:#f6faf7;
  display:flex;flex-direction:column;gap:4px;
}
.learning-path-level-info strong{font-size:.94rem;color:var(--text,#17352b)}
.learning-path-level-info span{font-size:.84rem;line-height:1.4;color:var(--muted,#64748b)}
.learning-path-history{
  margin:0 0 16px;padding:15px 16px;border:1px solid var(--border,#e5e7eb);border-radius:16px;background:#fff;
}
.learning-path-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:9px}
.learning-path-history-head>div{display:flex;flex-direction:column;gap:2px}
.learning-path-history-head small{font-size:.7rem;font-weight:800;letter-spacing:.07em;color:#087a45}
.learning-path-history-head strong{font-size:1rem}
#learningPathHistoryCount{font-size:.8rem;color:var(--muted,#64748b);white-space:nowrap}
.learning-path-history-list{display:flex;flex-direction:column}
.learning-path-history-row{
  display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border,#edf1ee)
}
.learning-path-history-row>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.learning-path-history-row small{color:var(--muted,#64748b);font-size:.76rem}
.learning-path-history-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.learning-path-history-count{font-weight:800;color:#087a45;background:#eef8f2;padding:4px 7px;border-radius:999px;font-size:.76rem}
@media(max-width:700px){
  #learningPathLevels button{font-size:.76rem;padding:7px 9px}
  .learning-path-history-head,.learning-path-history-row{align-items:flex-start}
  .learning-path-history-row{flex-direction:column}
  .learning-path-history-actions{width:100%;justify-content:space-between}
}

/* Learning Path V4 — history below cards + controls */
.learning-path-history{margin-top:18px}
.learning-path-history-toolbar{
  display:flex;align-items:end;gap:10px;flex-wrap:wrap;
  margin:10px 0 6px;padding-top:10px;border-top:1px solid var(--border,#edf1ee)
}
.learning-path-history-toolbar label{
  display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:700;color:var(--muted,#64748b)
}
.learning-path-history-toolbar select{
  min-width:145px;border:1px solid var(--border,#dce5df);border-radius:10px;background:#fff;
  padding:7px 10px;color:var(--text,#17352b);font:inherit
}
.learning-path-history-toolbar #learningPathHistoryViewAll{
  margin-left:auto;align-self:center
}
@media(max-width:650px){
  .learning-path-history-toolbar{align-items:stretch}
  .learning-path-history-toolbar label{flex:1 1 calc(50% - 10px)}
  .learning-path-history-toolbar select{width:100%;min-width:0}
  .learning-path-history-toolbar #learningPathHistoryViewAll{margin-left:0;width:100%;text-align:left}
}

/* My Lessons — organized Lesson History */
.lesson-history-toolbar{
  display:flex;gap:10px;align-items:end;flex-wrap:wrap;
  margin:10px 0 12px;padding:12px;border:1px solid var(--border,#e6ece8);
  border-radius:14px;background:#fafcfb;
}
.lesson-history-toolbar label{display:flex;flex-direction:column;gap:4px;font-size:.73rem;font-weight:800;color:var(--muted,#64748b)}
.lesson-history-toolbar input,.lesson-history-toolbar select{
  border:1px solid var(--border,#dce5df);border-radius:10px;background:#fff;
  padding:8px 10px;color:var(--text,#17352b);font:inherit;min-height:38px
}
.lesson-history-search-wrap{flex:1 1 260px}
.lesson-history-search-wrap input{width:100%;min-width:210px}
.lesson-history-result-count{margin-left:auto;padding-bottom:9px;font-size:.78rem;color:var(--muted,#64748b);white-space:nowrap}
@media(max-width:650px){
  .lesson-history-toolbar{align-items:stretch}
  .lesson-history-toolbar label{flex:1 1 100%}
  .lesson-history-toolbar input,.lesson-history-toolbar select{width:100%;min-width:0}
  .lesson-history-result-count{margin-left:0;padding-bottom:0}
}

/* V5.5.3 — Language Help replaces the small Tutor Tip */
.v51-tutor-tip.v51-language-help{
  min-width:330px;
  max-width:470px;
  padding:14px 16px;
  border:1px solid #bfe3cf;
  border-radius:16px;
  background:linear-gradient(135deg,#f2fbf6,#ffffff);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  box-shadow:0 5px 16px rgba(19,105,65,.07);
}
.v51-language-help>b{
  font-size:.72rem;
  line-height:1.2;
  letter-spacing:.075em;
  color:#087a45;
  font-weight:850;
}
.v51-language-help>strong{
  display:block;
  font-size:1.01rem;
  line-height:1.28;
  color:#17352b;
  font-weight:850;
  margin-top:2px;
}
.v51-language-help>span{
  display:block;
  font-size:.86rem;
  line-height:1.38;
  color:#53675e;
}
.v51-language-help em{
  color:#087a45;
  font-style:normal;
  font-weight:800;
}
@media(max-width:820px){
  .v51-tutor-tip.v51-language-help{
    width:100%;
    min-width:0;
    max-width:none;
    margin-top:10px;
  }
}

/* V5.5.3 PHONE-ONLY SAFE PATCH */
@media(max-width:720px){
  /* Tutor header: avatar/copy first, Language Help full width below. */
  #v51TutorCard.v51-tutor-card{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    grid-template-areas:"avatar copy" "help help"!important;
    gap:9px 10px!important;
    align-items:start!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  #v51TutorCard .v51-tutor-avatar{grid-area:avatar!important;width:54px!important;min-width:54px!important}
  #v51TutorCard .v51-tutor-avatar img{width:48px!important;height:48px!important}
  #v51TutorCard .v51-tutor-copy{grid-area:copy!important;min-width:0!important}
  #v51TutorCard .v51-tutor-copy strong{font-size:14px!important}
  #v51TutorCard .v51-tutor-copy p{font-size:11px!important;line-height:1.3!important}
  #v51TutorCard .v51-tutor-copy small{font-size:10px!important;line-height:1.3!important}

  #v51TutorCard .v51-tutor-tip.v51-language-help{
    grid-area:help!important;
    display:flex!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:2px 0 0!important;
    padding:11px 12px!important;
    box-sizing:border-box!important;
    border-radius:13px!important;
    transform:none!important;
    inset:auto!important;
  }
  #v51TutorCard .v51-language-help>b{font-size:.64rem!important}
  #v51TutorCard .v51-language-help>strong{font-size:.92rem!important;line-height:1.24!important}
  #v51TutorCard .v51-language-help>span{font-size:.78rem!important;line-height:1.34!important}

  /* Mobile chat composer: + | text | send | Talk */
  .v51-signed .v51-composer{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 38px 86px!important;
    gap:5px!important;
    align-items:center!important;
    padding:7px!important;
    overflow:visible!important;
  }
  .v51-signed #v51SendText,
  .v51-signed .v51-send-btn{
    display:grid!important;
    grid-column:3!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    padding:0!important;
    border-radius:50%!important;
    place-items:center!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    position:relative!important;
    z-index:35!important;
  }
  .v51-signed #v51MicBtn{
    grid-column:4!important;
    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;
    min-height:46px!important;
    padding:0 8px!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    position:relative!important;
    z-index:35!important;
  }
  .v51-signed #v51TextInput{
    grid-column:2!important;
    min-width:0!important;
    width:100%!important;
    font-size:16px!important;
    pointer-events:auto!important;
    position:relative!important;
    z-index:34!important;
  }
}
@media(max-width:390px){
  .v51-signed .v51-composer{
    grid-template-columns:36px minmax(0,1fr) 36px 78px!important;
  }
  .v51-signed #v51SendText,.v51-signed .v51-send-btn{
    width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;
  }
  .v51-signed #v51MicBtn{
    width:78px!important;min-width:78px!important;max-width:78px!important;font-size:11px!important;
  }
}

/* V5.5.3 — Premium modal viewport/scroll fix
   Works on laptop, short laptop screens, tablets and phones. */
#premiumModal.modal:not(.hidden){
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:16px!important;
  box-sizing:border-box!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

#premiumModal .premium-modal-card{
  width:min(650px,calc(100vw - 32px))!important;
  max-width:650px!important;
  max-height:calc(100dvh - 32px)!important;
  margin:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

@supports not (height:100dvh){
  #premiumModal .premium-modal-card{
    max-height:calc(100vh - 32px)!important;
  }
}

/* Keep Close accessible while the user scrolls the popup. */
#premiumModal .premium-modal-card > .modal-close{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  float:right!important;
  background:rgba(255,255,255,.97)!important;
}

/* Short laptop screens: reduce vertical waste slightly, without changing pricing/buttons. */
@media(min-width:651px) and (max-height:760px){
  #premiumModal.modal:not(.hidden){padding:10px!important}
  #premiumModal .premium-modal-card{
    max-height:calc(100dvh - 20px)!important;
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
  #premiumModal .modal-mark{width:46px!important;height:46px!important;font-size:24px!important}
  #premiumModal h2{margin-top:8px!important;margin-bottom:6px!important;font-size:25px!important}
  #premiumModal .premium-plan-grid{margin:14px 0!important}
  #premiumModal .premium-plan{padding:14px!important}
  #premiumModal .premium-features{padding:11px!important;margin-bottom:9px!important}
  #premiumModal .free-plan-note{margin:9px 0!important;padding:10px 12px!important}
}

@media(max-width:650px){
  #premiumModal.modal:not(.hidden){padding:8px!important}
  #premiumModal .premium-modal-card{
    width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
  }
}

/* V5.5.3 — subscription interval switching */
.current-plan-badge{
  position:absolute;
  right:10px;
  top:10px;
  border-radius:999px;
  padding:5px 8px;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  color:#087a45;
  background:#eaf7ef;
  border:1px solid #b9dec9;
}
.premium-plan.current-plan{
  border:2px solid #9bcab0!important;
  background:#f5faf7!important;
  cursor:default;
}
.premium-plan.current-plan b{
  color:#64746c!important;
}
#chooseYearly.current-plan .best-value{
  display:none;
}

/* V5.6.1 — parallel 100-minute wallet purchase test */
.wallet-test-card{
  border:2px solid #0a9a55;
  border-radius:16px;
  padding:14px;
  margin:12px 0;
  background:linear-gradient(135deg,#f3fbf6,#ffffff);
}
.wallet-test-heading{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.wallet-test-heading>div:first-child{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.wallet-test-kicker{
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  color:#087a45;
}
.wallet-test-heading strong{
  font-size:17px;
  color:var(--text);
}
.wallet-test-heading small{
  color:var(--muted);
  font-size:11px;
}
.wallet-test-price{
  font-weight:900;
  font-size:24px;
  color:#0a7f49;
  white-space:nowrap;
}
.wallet-test-price small{font-size:10px}
.wallet-test-balance{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  margin-top:8px;
  border-top:1px solid #d7eadf;
  font-size:12px;
}
.wallet-test-balance span{color:var(--muted)}
.wallet-test-balance b{color:#087a45}
.wallet-buy-btn{
  width:100%;
  min-height:46px;
  border:0;
  border-radius:12px;
  background:#079447;
  color:white;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.wallet-buy-btn:hover{background:#067d3d}
.wallet-buy-btn:disabled{opacity:.55;cursor:not-allowed}
.wallet-purchase-message{
  margin:8px 0 0;
  font-size:10px;
  line-height:1.35;
  color:var(--muted);
}
.wallet-purchase-message.error{color:#b42318}
@media(max-width:650px){
  .wallet-test-heading{flex-direction:column;gap:7px}
  .wallet-test-price{font-size:22px}
}

/* V5.6.3 — deterministic Stripe wallet fulfillment */
.wallet-repair-btn{
  width:100%;
  border:1px solid #b9dec9;
  background:#fff;
  color:#087a45;
  border-radius:10px;
  min-height:38px;
  margin-top:7px;
  padding:7px 10px;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.wallet-repair-btn:hover{background:#f2faf5}
.wallet-repair-btn:disabled{opacity:.55;cursor:not-allowed}

/* V5.6.5 — Yearly plan value clarity */
.yearly-value-details{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:8px 0 10px;
  padding-top:7px;
  border-top:1px solid #dce9e1;
  font-size:11px;
  line-height:1.35;
  color:#42534a;
}
.yearly-value-details strong{
  color:#087a45;
  font-weight:900;
}
.yearly-value-details .yearly-save{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:2px;
  padding:3px 7px;
  border-radius:999px;
  background:#fff4d6;
  color:#8a5a00;
  font-weight:800;
  font-size:10px;
}
@media(max-width:650px){
  .yearly-value-details{
    font-size:10px;
    margin:6px 0 8px;
  }
}

/* V5.6.6 — multi-package TiKi Minutes top-up */
.wallet-topup-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.wallet-topup-title>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.wallet-topup-title strong{
  font-size:17px;
}
.wallet-topup-title small{
  color:var(--muted);
  font-size:11px;
}
.wallet-package-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:8px 0 2px;
}
.wallet-package-btn{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  min-height:92px;
  padding:12px;
  border:1px solid #cfe2d7;
  border-radius:13px;
  background:#fff;
  color:var(--text);
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.wallet-package-btn:hover{
  border-color:#0a9a55;
  background:#f4fbf7;
}
.wallet-package-btn.popular{
  border:2px solid #0a9a55;
  background:#f4fbf7;
}
.wallet-package-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.wallet-package-minutes{
  font-size:13px;
  font-weight:900;
  color:#087a45;
}
.wallet-package-btn strong{
  font-size:19px;
  line-height:1.1;
}
.wallet-package-btn small{
  font-size:10px;
  color:var(--muted);
}
.wallet-package-badge{
  position:absolute;
  right:8px;
  top:8px;
  padding:3px 6px;
  border-radius:999px;
  background:#079447;
  color:#fff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.05em;
}
@media(max-width:520px){
  .wallet-package-grid{
    grid-template-columns:1fr;
  }
  .wallet-package-btn{
    min-height:78px;
  }
}

/* V5.6.7 — 600 / 1000 minute top-up packages */
.wallet-package-btn.best-value{
  border:2px solid #d8a000;
  background:#fffaf0;
}
.wallet-package-badge.best{
  background:#c58b00;
}
@media(min-width:521px){
  .wallet-package-grid{
    grid-template-columns:1fr 1fr;
  }
}

.referral-card{margin:12px 8px;padding:13px;border:1px solid #cde4d7;border-radius:16px;background:linear-gradient(135deg,#f5fbf7,#fff)}
.referral-card-head{display:flex;align-items:center;gap:9px;margin-bottom:8px}.referral-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eaf8ef;font-size:18px}
.referral-card-head>div{display:flex;flex-direction:column;gap:1px}.referral-card-head strong{font-size:13px;line-height:1.25;color:#073d25}.referral-card-head small{font-size:9px;color:#0a8b4e;font-weight:800;text-transform:uppercase}
.referral-copy{margin:0 0 10px;font-size:10px;line-height:1.45;color:#56635c}.referral-field{margin-top:8px}.referral-field>span{display:block;margin-bottom:4px;font-size:9px;font-weight:800;color:#587064}
.referral-value-row{display:flex;gap:5px;align-items:center}.referral-value-row code,.referral-value-row input{flex:1;min-width:0;height:34px;border:1px solid #d5e6dc;border-radius:9px;background:#fff;padding:0 8px;font-size:10px;color:#173528}
.referral-value-row code{display:flex;align-items:center;font-weight:800}.referral-small-btn{min-width:55px;height:34px;border:1px solid #b9dcca;border-radius:9px;background:#fff;color:#087c46;font-size:9px;font-weight:800;cursor:pointer}
.referral-share-btn{width:100%;min-height:38px;margin-top:9px;border:0;border-radius:10px;background:#079447;color:#fff;font-size:10px;font-weight:900;cursor:pointer}
.referral-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px}.referral-stats span{display:flex;flex-direction:column;align-items:center;padding:7px 3px;border-radius:9px;background:#f3f8f5}
.referral-stats b{font-size:13px;color:#087a45}.referral-stats small{font-size:8px;color:#64736b;text-align:center}.referral-status{margin:7px 0 0;font-size:9px;color:#a33}

/* V5.6.9 Partner Program */
.partner-card{border-color:#b8dcc8;background:linear-gradient(180deg,#fbfffc,#f4fbf6)}
.partner-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.partner-stats-grid span{background:#fff;border:1px solid #e0eee5;border-radius:10px;padding:8px 4px;text-align:center;min-width:0}
.partner-stats-grid b{display:block;font-size:13px;color:#08783d;overflow:hidden;text-overflow:ellipsis}
.partner-stats-grid small{display:block;font-size:9px;line-height:1.15;color:#617267;margin-top:3px}


/* V5.7.0 Partner Management */
.partner-apply-card{border-color:#d9dfb4;background:linear-gradient(180deg,#fffef8,#fbfff8)}
.partner-admin-card{border-color:#c9d5ef;background:linear-gradient(180deg,#fbfcff,#f5f8ff)}
.marketing-admin-card{border-color:#c9d5ef;background:linear-gradient(145deg,#f6fbff,#f7f5ff)}
.marketing-admin-modal-card{width:min(1180px,96vw);max-width:1180px;height:min(820px,92vh);overflow:auto;padding:24px}
.marketing-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.marketing-admin-head h2{margin:3px 0 5px}.marketing-admin-head p{margin:0;color:#63736b}
.marketing-safe-badge{white-space:nowrap;border:1px solid #aad8ba;background:#ebf8ef;color:#087b38;border-radius:99px;padding:8px 12px;font-size:12px;font-weight:850}
.marketing-admin-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.marketing-admin-tabs button{border:1px solid #d6e3dc;background:#fff;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}.marketing-admin-tabs button.active{background:#087b38;color:#fff;border-color:#087b38}
.marketing-admin-content{min-height:420px}.marketing-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px}.marketing-stat{border:1px solid #dfeae4;background:#fff;border-radius:14px;padding:14px}.marketing-stat small,.marketing-stat strong{display:block}.marketing-stat small{color:#66766e}.marketing-stat strong{font-size:25px;color:#0a6d36;margin-top:6px}
.marketing-foundation-note{margin:16px 0;border:1px solid #d8e5f3;background:#f6faff;border-radius:14px;padding:15px}.marketing-foundation-note strong,.marketing-foundation-note span{display:block}.marketing-foundation-note span{color:#5d6f78;margin-top:4px}
.marketing-form{display:grid;gap:12px;max-width:760px}.marketing-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.marketing-form label{font-size:12px;font-weight:800;color:#3f5148}.marketing-form input,.marketing-form textarea,.marketing-form select{width:100%;margin-top:5px;border:1px solid #cfded5;border-radius:10px;padding:11px;font:inherit;background:#fff}.marketing-form textarea{min-height:130px;resize:vertical}.marketing-form-actions{display:flex;align-items:center;gap:10px}.marketing-form-status{font-size:13px;color:#52655b}
.marketing-list{display:grid;gap:10px}.marketing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;border:1px solid #dfeae4;border-radius:13px;padding:13px;background:#fff}.marketing-row h4{margin:0 0 4px}.marketing-row p{margin:6px 0;white-space:pre-wrap;line-height:1.45}.marketing-row small{color:#687970}.marketing-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.marketing-row-actions button{border:1px solid #cfe0d6;background:#fff;border-radius:9px;padding:7px 9px;font-weight:800;cursor:pointer}.marketing-empty{padding:35px 18px;text-align:center;border:1px dashed #cbdcd2;border-radius:14px;color:#63736b}.marketing-coming{display:grid;place-items:center;min-height:300px;text-align:center}.marketing-coming span{font-size:36px}.marketing-coming h3{margin:8px 0 4px}.marketing-coming p{max-width:560px;color:#64766d}
@media(max-width:850px){.marketing-admin-modal-card{padding:18px}.marketing-admin-head{display:block}.marketing-safe-badge{display:inline-block;margin-top:10px}.marketing-stat-grid{grid-template-columns:repeat(2,1fr)}.marketing-form-grid{grid-template-columns:1fr}.marketing-row{grid-template-columns:1fr}.marketing-admin-tabs{display:grid;grid-template-columns:1fr 1fr}}
.partner-management-modal{max-width:650px;max-height:90vh;overflow:auto}
.partner-admin-modal-card{width:min(980px,94vw);max-width:980px;max-height:90vh;overflow:auto}
.partner-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.partner-admin-tabs button{border:1px solid #cfe2d7;background:#fff;border-radius:10px;padding:9px 12px;font-weight:800;cursor:pointer}.partner-admin-tabs button.active{background:#079447;color:#fff;border-color:#079447}
.partner-admin-content{min-height:180px}.partner-admin-list{display:grid;gap:9px}.partner-admin-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border:1px solid #dfeae4;border-radius:12px;padding:12px;background:#fff}.partner-admin-row>div:first-child{min-width:0;flex:1}.partner-admin-row strong,.partner-admin-row small{display:block}.partner-admin-row small{color:#64736b;margin-top:3px}.partner-admin-row p{margin:6px 0;font-size:13px;line-height:1.35}.partner-admin-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.partner-admin-actions button{border:0;border-radius:9px;padding:8px 10px;background:#079447;color:#fff;font-weight:800;cursor:pointer}.partner-admin-actions button.secondary{background:#fff;color:#8a2d2d;border:1px solid #e4caca}
.offline-payment-form{border:1px solid #cfe2d7;border-radius:14px;background:#f6fff9;padding:16px;margin-bottom:18px}.offline-payment-form h3{margin:0 0 5px}.offline-payment-form .help-two-col{margin:14px 0}.offline-payment-form .primary-btn{margin-top:8px}
@media(max-width:650px){.partner-admin-row{align-items:flex-start;flex-direction:column}.partner-admin-actions{width:100%;justify-content:flex-start}.partner-admin-tabs{display:grid;grid-template-columns:1fr}.partner-admin-tabs button{width:100%}}

/* V5.7.0B — Help / Support multilingual layout polish */
#helpContactModal .modal-card{max-width:560px}
#helpContactModal form{display:flex;flex-direction:column;gap:8px}
#helpContactModal .help-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#helpContactModal .field-label{display:block;margin:0 0 4px;font-weight:700}
#helpContactModal .text-input{width:100%;box-sizing:border-box}
#helpContactModal textarea.text-input{min-height:110px;resize:vertical}
#helpContactModal .help-direct{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
#helpContactModal .help-direct strong{width:100%}
#helpContactModal .help-direct a{white-space:nowrap}
@media(max-width:640px){
  #helpContactModal .help-two-col{grid-template-columns:1fr}
  #helpContactModal .modal-card{width:min(94vw,560px)}
}

/* V5.7.0D — stable live transcript scrolling */
.notes-live-wrap{position:relative;min-height:0}
.notes-live-wrap .notes{overscroll-behavior:contain;scroll-behavior:auto}
.jump-latest-btn{
  position:absolute;
  right:14px;
  bottom:12px;
  z-index:12;
  border:1px solid #b7dfc8;
  background:#fff;
  color:#08783d;
  border-radius:999px;
  padding:7px 12px;
  font-size:11px;
  font-weight:800;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
  cursor:pointer;
}
.jump-latest-btn:hover{background:#f1fbf5}
.jump-latest-btn.hidden{display:none!important}

/* V5.7.0E — learner-controlled live transcript scrollbar */
#notes{
  overflow-y:auto!important;
  overflow-anchor:none;
  scrollbar-gutter:stable;
  touch-action:pan-y;
}
.notes-live-wrap{overflow:visible}
.jump-latest-btn{
  user-select:none;
  -webkit-user-select:none;
}

/* V5.7.0F — transcript must use its own scrollbar and remain bottom-lockable */
#notes{
  position:relative;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain;
  overflow-anchor:none!important;
  scroll-behavior:auto!important;
  scrollbar-gutter:stable;
  min-height:0;
}
#notes *{overflow-anchor:none!important}
.notes-live-wrap{
  position:relative;
  min-height:0;
  overflow:hidden;
}

/* V5.7.0G — single deterministic live transcript scroll container */
.v51-signed .v51-chat-mount .notes-live-wrap{
  position:relative!important;
  min-height:0!important;
  overflow:hidden!important;
}
.v51-signed .v51-chat-mount #notes{
  height:350px!important;
  min-height:0!important;
  max-height:350px!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  touch-action:pan-y!important;
}
@media(max-height:760px){
  .v51-signed .v51-chat-mount #notes{
    height:calc(100vh - 455px)!important;
    min-height:180px!important;
    max-height:350px!important;
  }
}

/* V5.7.3 — Mistake Speak & Repeat */
.mistake-speak-panel{grid-column:2/-1;border:1px solid #cfe4d9;background:#f8fcfa;border-radius:14px;padding:12px;margin-top:2px;min-width:0}
.mistake-speak-panel.hidden{display:none!important}
.mistake-speak-target,.mistake-heard{display:grid;gap:3px;margin-bottom:9px}
.mistake-speak-target span,.mistake-heard span{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--muted)}
.mistake-speak-target strong{color:var(--green-dark);line-height:1.35}
.mistake-heard strong{font-weight:750;line-height:1.35}
.mistake-listening{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;margin:6px 0 10px}
.mistake-listening small{grid-column:2;color:var(--muted);margin-top:2px}
.mistake-listening-dot{width:10px;height:10px;border-radius:50%;background:#e11d48;box-shadow:0 0 0 0 rgba(225,29,72,.35);animation:tikiMistakePulse 1.2s infinite}
@keyframes tikiMistakePulse{70%{box-shadow:0 0 0 8px rgba(225,29,72,0)}100%{box-shadow:0 0 0 0 rgba(225,29,72,0)}}
.mistake-check-result{display:grid;gap:2px;border-radius:10px;padding:9px 10px;margin:8px 0}
.mistake-check-result.good{background:#eefaf3;color:#12653b}.mistake-check-result.needs-work{background:#fff8e8;color:#7a4d00}
.mistake-check-result span,.mistake-speak-status span{font-size:12px;line-height:1.4}
.mistake-speak-status{display:grid;gap:3px}.mistake-speak-status.error{color:#9f2d20}
.mistake-speak-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.mistake-say-btn,.mistake-listen-btn{white-space:nowrap}
@media(max-width:700px){
  .mistake-row-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}
  .mistake-row-actions button{width:100%;min-height:42px;white-space:normal;line-height:1.15;padding:9px 8px}
  .mistake-row-actions .tiki-mistake-practice-btn{grid-column:1/-1}
  .mistake-row-actions button:last-child{grid-column:1/-1}
  .mistake-speak-panel{grid-column:1/-1;margin-left:0;padding:11px}
  .mistake-speak-actions{display:grid;grid-template-columns:1fr 1fr}
  .mistake-speak-actions .mistake-try-again{grid-column:1/-1;min-height:42px}
}

/* V5.7.4 Mistake list organizer — display-only controls; card actions remain unchanged */
.mistake-list-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,210px) minmax(150px,210px);gap:10px;align-items:end;margin:12px 0 8px}
.mistake-search-wrap{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:0 11px;min-height:42px}
.mistake-search-wrap input{width:100%;border:0;outline:0;background:transparent;font:inherit;min-width:0;padding:9px 0}
.mistake-tool-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:750;color:var(--muted)}
.mistake-tool-field select{min-height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font:inherit;font-size:13px;padding:8px 32px 8px 10px;cursor:pointer}
.mistake-list-count{font-size:12px;color:var(--muted);margin:4px 0 10px}
.mistake-paging{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 4px}
.mistake-paging .ghost-btn,.mistake-paging .link-btn{min-height:40px}
@media (max-width:760px){
  .mistake-list-tools{grid-template-columns:1fr 1fr;gap:8px}
  .mistake-search-wrap{grid-column:1/-1}
  .mistake-tool-field select{width:100%}
  .mistake-list-count{margin-top:8px}
  .mistake-paging{position:sticky;bottom:8px;z-index:4;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 8px 22px rgba(16,55,42,.08)}
  .mistake-paging .ghost-btn,.mistake-paging .link-btn{flex:1;min-width:120px}
}
@media (max-width:430px){
  .mistake-list-tools{grid-template-columns:1fr}
  .mistake-search-wrap{grid-column:auto}
}

/* V5.7.6 — mobile guest app header (presentation only; existing controls/handlers preserved) */
@media (max-width:700px){
  body:not(.v51-signed) .shell{width:100%;padding-top:0}
  body:not(.v51-signed) .topbar{
    position:sticky;top:0;z-index:30;
    display:grid;grid-template-columns:1fr;gap:10px;
    margin:0;padding:10px 14px 12px;
    background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
    border-bottom:1px solid #e3eee8;box-shadow:0 5px 18px rgba(16,55,42,.05)
  }
  body:not(.v51-signed) .mobile-brand{
    display:flex;align-items:center;gap:9px;min-height:48px
  }
  body:not(.v51-signed) .mobile-brand-icon{width:42px;height:42px;border-radius:12px}
  body:not(.v51-signed) .mobile-brand strong{font-size:20px;line-height:1.05;color:#173129}
  body:not(.v51-signed) .v51-menu-btn{width:42px;height:42px;border-radius:12px;font-size:22px;background:#eef9f3}
  body:not(.v51-signed) .account-actions{
    width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;justify-content:stretch
  }
  body:not(.v51-signed) #streakTop{display:none!important}
  body:not(.v51-signed) #languageBtn{grid-column:1;grid-row:1;min-height:42px;border-radius:13px;padding:9px 11px;background:#f7fbf9}
  body:not(.v51-signed) #signInBtn{grid-column:3;grid-row:1;min-height:42px;border-radius:13px;padding:9px 13px;white-space:nowrap;background:#fff}
  body:not(.v51-signed) #createAccountBtn{
    grid-column:1/-1;grid-row:2;width:100%;min-height:50px;border-radius:15px;
    font-size:16px;font-weight:900;box-shadow:0 8px 18px rgba(0,145,68,.14)
  }
  body:not(.v51-signed) #mobilePremiumBtn{
    grid-column:2;grid-row:1;justify-self:stretch;min-height:42px;border-radius:13px;
    padding:8px 10px;background:#fffaf0;border:1px solid #e6d7aa;color:#17643d;
    box-shadow:none;font-size:13px;font-weight:850;white-space:nowrap
  }
  body:not(.v51-signed) #mobilePremiumBtn .mobile-premium-usage{display:none!important}
  body:not(.v51-signed) #v51TutorCard{margin:12px 14px 0}
  body:not(.v51-signed) #v51LearningWorkspace,
  body:not(.v51-signed) .hero,
  body:not(.v51-signed) .language-card,
  body:not(.v51-signed) .personal-tutor-highlight,
  body:not(.v51-signed) .adaptive-card,
  body:not(.v51-signed) #guestSaveCard{margin-left:14px;margin-right:14px}
}
@media (max-width:390px){
  body:not(.v51-signed) .topbar{padding-left:10px;padding-right:10px}
  body:not(.v51-signed) .account-actions{grid-template-columns:auto 1fr auto;gap:6px}
  body:not(.v51-signed) #mobilePremiumBtn{font-size:12px;padding:7px 8px}
  body:not(.v51-signed) #signInBtn{font-size:13px;padding:8px 10px}
  body:not(.v51-signed) #languageBtn{font-size:12px;padding:8px}
}


/* V5.7.6a — mobile guest voice-first CTA (presentation only) */
@media (max-width:700px){
  body:not(.v51-signed) .topbar{position:sticky;top:0;padding:10px 14px 12px;gap:8px}
  body:not(.v51-signed) .mobile-brand{padding-right:76px;min-height:50px}
  body:not(.v51-signed) .mobile-brand-icon{width:42px;height:42px}
  body:not(.v51-signed) .mobile-brand strong{font-size:20px}

  body:not(.v51-signed) .account-actions{
    position:relative;display:grid;width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-items:center;
  }
  body:not(.v51-signed) #languageBtn{
    position:absolute;right:0;top:-58px;z-index:2;
    min-height:40px;min-width:62px;border-radius:13px;padding:8px 10px;
    background:#f7fbf9;font-weight:850;
  }
  body:not(.v51-signed) #guestMobileTalkCta{
    display:flex;grid-column:1/-1;grid-row:1;align-items:center;justify-content:center;flex-direction:column;gap:3px;
    width:100%;min-height:58px;padding:10px 16px;border:0;border-radius:16px;
    background:#009844;color:#fff;font:900 17px/1.1 inherit;
    box-shadow:0 8px 20px rgba(0,145,68,.16);cursor:pointer;
  }
  body:not(.v51-signed) #guestMobileTalkCta .guest-mobile-talk-main{display:block;font:900 17px/1.15 inherit}
  body:not(.v51-signed) #guestMobileTalkCta .guest-mobile-talk-sub{display:block;font:700 11px/1.15 inherit;opacity:.86;letter-spacing:.01em}
  body:not(.v51-signed) #guestMobileTalkCta:active{transform:translateY(1px)}
  body:not(.v51-signed) #signInBtn,
  body:not(.v51-signed) #createAccountBtn,
  body:not(.v51-signed) #mobilePremiumBtn{
    position:static;grid-row:2!important;width:100%;min-width:0;min-height:38px!important;
    padding:7px 6px!important;border-radius:12px!important;box-shadow:none!important;
    font-size:12px!important;font-weight:800!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  body:not(.v51-signed) #signInBtn{grid-column:1!important;background:#fff!important}
  body:not(.v51-signed) #createAccountBtn{grid-column:2!important;background:#eef9f3!important;color:#087238!important;border:1px solid #cfe9da!important}
  body:not(.v51-signed) #mobilePremiumBtn{grid-column:3!important;background:#fffaf0!important;color:#17643d!important;border:1px solid #e6d7aa!important}
  body:not(.v51-signed) #mobilePremiumBtn .mobile-premium-usage{display:none!important}
}
@media (max-width:390px){
  body:not(.v51-signed) .topbar{padding-left:10px;padding-right:10px}
  body:not(.v51-signed) .mobile-brand{padding-right:68px}
  body:not(.v51-signed) #languageBtn{right:0;min-width:58px;font-size:12px}
  body:not(.v51-signed) #guestMobileTalkCta{font-size:16px;min-height:56px}
  body:not(.v51-signed) #guestMobileTalkCta .guest-mobile-talk-main{font-size:16px}
  body:not(.v51-signed) #guestMobileTalkCta .guest-mobile-talk-sub{font-size:10px}
  body:not(.v51-signed) #signInBtn,
  body:not(.v51-signed) #createAccountBtn,
  body:not(.v51-signed) #mobilePremiumBtn{font-size:11px!important;padding:7px 4px!important}
}
@media (min-width:701px){#guestMobileTalkCta{display:none!important}}
\n\n/* V5.7.12 — My Account drawer (UI only) */
.account-drawer-backdrop{position:fixed;inset:0;background:rgba(7,28,18,.32);z-index:12000;backdrop-filter:blur(2px)}
.account-drawer{position:fixed;right:0;top:0;bottom:0;width:min(430px,94vw);z-index:12001;background:#f8fbf9;border-left:1px solid #dbe9e0;box-shadow:-18px 0 48px rgba(15,55,35,.18);overflow:auto;animation:accountDrawerIn .18s ease-out}
@keyframes accountDrawerIn{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
body.account-drawer-open{overflow:hidden}
.account-drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:22px 22px 16px;background:rgba(248,251,249,.96);border-bottom:1px solid #e1ece5;backdrop-filter:blur(10px)}
.account-drawer-identity{display:flex;align-items:center;gap:12px}.account-drawer-avatar{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#079447;color:#fff;font-size:22px;font-weight:900;box-shadow:0 8px 22px rgba(5,143,68,.2)}
.account-drawer-identity small{display:block;color:#07813e;font-size:10px;font-weight:900;letter-spacing:.11em}.account-drawer-identity h2{margin:2px 0 0;font-size:22px;color:#17352a}
.account-drawer-close{width:40px;height:40px;border-radius:12px;border:1px solid #d9e6de;background:#fff;color:#51645c;font-size:26px;line-height:1;cursor:pointer}
.account-drawer-body{padding:18px 20px 30px;display:grid;gap:14px}.account-drawer-card{background:#fff;border:1px solid #dce9e1;border-radius:18px;padding:17px;box-shadow:0 4px 18px rgba(22,64,43,.04)}
.account-profile-card>strong{display:block;font-size:20px;color:#17372a}.account-profile-card>span{display:block;margin-top:3px;color:#6a7c73;font-size:13px;word-break:break-word}.account-plan-row{display:flex;align-items:center;gap:8px;margin-top:14px}.account-plan-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef5f1;color:#436056;font-size:12px;font-weight:850}.account-plan-badge.premium{background:#fff7db;color:#715700;border:1px solid #ead88b}.account-plan-row>span:last-child{color:#718078;font-size:12px}
.account-card-title{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:#15382a}.account-card-title strong{font-size:15px}.account-minute-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-minute-grid>div{background:#f6faf7;border-radius:13px;padding:12px}.account-minute-grid small{display:block;color:#6e7e76;font-size:11px;margin-bottom:4px}.account-minute-grid b{color:#173b2b;font-size:15px}.account-minute-total{background:#eaf8ef!important;border:1px solid #c9e9d5}.account-minute-total b{color:#07843d!important;font-size:18px!important}
.account-drawer-primary{width:100%;margin-top:13px;border:0;border-radius:12px;padding:12px 14px;background:#079447;color:#fff;font-weight:850;font-size:14px;cursor:pointer}.account-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid #edf2ef}.account-detail-row:first-of-type{border-top:0}.account-detail-row span{color:#66786f;font-size:13px}.account-detail-row b{text-align:right;color:#1b392d;font-size:13px;max-width:58%}.account-drawer-logout{width:100%;border:1px solid #dce5e0;border-radius:13px;padding:12px;background:#fff;color:#5f6d66;font-weight:800;cursor:pointer}
body.account-drawer-open .help-contact-fab,body.account-drawer-open .pwa-install-btn{visibility:hidden!important;pointer-events:none!important}
@media(max-width:600px){.account-drawer{width:100vw;border-left:0}.account-drawer-head{padding:16px 16px 13px}.account-drawer-body{padding:14px 14px 26px}.account-drawer-avatar{width:44px;height:44px;border-radius:13px}.account-drawer-identity h2{font-size:20px}.account-minute-grid{grid-template-columns:1fr 1fr}}

/* V5.7.12d — existing bottom profile card opens My Account */
.sidebar-account-clickable{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}
.sidebar-account .avatar{width:46px!important;height:46px!important;min-width:46px;min-height:46px;max-width:46px;max-height:46px;flex:0 0 46px;align-self:center;border-radius:14px;display:grid;place-items:center;line-height:1;font-size:20px;overflow:hidden}
.sidebar-account-clickable:hover{background:#f3faf6}
.sidebar-account-clickable:focus-visible{outline:2px solid #079447;outline-offset:-2px}
.sidebar-account-clickable .sidebar-user{min-width:0}

/* =========================================================
   V5.7.12F — STEP 1: CLEAN ATTACHMENTS UI ONLY
   Safety goal: UI-only consolidation. No Realtime, microphone,
   lesson, materials, routing, upload, or backend logic changed.

   The legacy always-visible attachment toolbar remains in the DOM
   (so its IDs/listeners are preserved) but is visually hidden.
   All attachment actions continue through the existing + menu.
   ========================================================= */
.v518-attach-toolbar{
  display:none!important;
}

/* Make the existing + control clearly represent attachments without
   changing its click/event behavior. */
.v51-plus-btn{
  position:relative;
}
.v51-plus-btn::after{
  content:"";
}


/* V5.7.13 Live Vision — additive UI only */
.v5713-vision-btn{width:48px;height:48px;border-radius:50%;border:1px solid #d8eadf;background:#f3fbf6;color:#087b42;font-size:21px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;cursor:pointer;transition:.18s ease}
.v5713-vision-btn:hover{transform:translateY(-1px);background:#eaf8ef}
.v5713-vision-btn.is-live{background:#0a9b50;color:#fff;border-color:#0a9b50;box-shadow:0 0 0 4px rgba(10,155,80,.12)}
.v5713-vision-overlay{position:fixed;inset:0;z-index:10050;background:rgba(3,24,14,.68);display:flex;align-items:center;justify-content:center;padding:18px}
.v5713-vision-overlay.hidden{display:none!important}
.v5713-vision-panel{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:14px}
.v5713-vision-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 4px 12px}
.v5713-vision-head>div{display:flex;flex-direction:column;gap:3px}.v5713-vision-head b{font-size:18px;color:#087b42}.v5713-vision-head span{font-size:13px;color:#64756b}
#v5713VisionClose{width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f2;font-size:25px;cursor:pointer}
.v5713-video-wrap{position:relative;background:#0b0f0c;border-radius:16px;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
#v5713VisionVideo{width:100%;height:100%;object-fit:cover;background:#0b0f0c}
.v5713-vision-badge{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.62);color:#fff;padding:7px 10px;border-radius:999px;font-size:12px;backdrop-filter:blur(5px)}
.v5713-vision-actions{display:flex;gap:9px;padding:12px 2px 2px;flex-wrap:wrap}.v5713-vision-actions button{border:1px solid #d7e7dc;background:#fff;color:#126a42;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}.v5713-vision-actions button.primary{background:#0a9b50;color:#fff;border-color:#0a9b50;flex:1;min-width:170px}.v5713-vision-actions button:disabled{opacity:.55;cursor:wait}
.v5713-vision-status{margin:9px 3px 1px;font-size:13px;color:#48705a}.v5713-vision-status.error{color:#b42318}
@media(max-width:640px){.v5713-vision-overlay{padding:0;align-items:flex-end}.v5713-vision-panel{border-radius:22px 22px 0 0;max-height:94vh;padding:12px}.v5713-video-wrap{aspect-ratio:3/4}.v5713-vision-actions{display:grid;grid-template-columns:1fr 1.5fr}.v5713-vision-actions button:last-child{grid-column:1/-1}.v5713-vision-btn{width:44px;height:44px;flex-basis:44px;font-size:19px}}

/* =========================================================
   V5.7.13A — RESPONSIVE CONVERSATION CONTROLS UI
   UI-LAYOUT ONLY. No JS/event handlers/routes/Realtime/camera/
   microphone/session/material/backend behavior is changed.

   Desktop: + | message | Send | Camera | Mic/Stop
   Mobile:  + | message
                    Send | Camera | Mic/Stop
   The SAME existing buttons are repositioned with CSS only.
   ========================================================= */

/* Desktop / tablet: keep all conversation actions in one clean row. */
.v51-signed .v51-composer{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 44px 44px 48px!important;
  grid-template-rows:auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:8px!important;
  overflow:visible!important;
}
.v51-signed .v51-attach-wrap{grid-column:1!important;grid-row:1!important;align-self:center!important}
.v51-signed #v51TextInput{grid-column:2!important;grid-row:1!important;min-width:0!important;width:100%!important;align-self:center!important}
.v51-signed #v51SendText,
.v51-signed .v51-send-btn{
  display:grid!important;
  grid-column:3!important;
  grid-row:1!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  padding:0!important;
  border-radius:50%!important;
  place-items:center!important;
  align-self:center!important;
  position:relative!important;
  z-index:35!important;
}
.v51-signed #v5713VisionBtn{
  grid-column:4!important;
  grid-row:1!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  flex:0 0 44px!important;
  align-self:center!important;
  position:relative!important;
  z-index:35!important;
}
.v51-signed #v51MicBtn{
  grid-column:5!important;
  grid-row:1!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  min-height:48px!important;
  padding:0!important;
  border-radius:50%!important;
  align-self:center!important;
  position:relative!important;
  z-index:35!important;
}

/* Phone: preserve a wide typing field; group Send + Camera + Mic/Stop together
   underneath on the right. Same DOM controls and same click handlers. */
@media(max-width:720px){
  .v51-signed .v51-composer{
    grid-template-columns:42px minmax(0,1fr) 42px 42px 46px!important;
    grid-template-rows:auto auto!important;
    column-gap:7px!important;
    row-gap:6px!important;
    align-items:center!important;
    padding:8px!important;
  }
  .v51-signed .v51-attach-wrap{
    grid-column:1!important;
    grid-row:1!important;
  }
  .v51-signed #v51TextInput{
    grid-column:2 / 6!important;
    grid-row:1!important;
    min-height:42px!important;
    width:100%!important;
    font-size:16px!important;
  }
  .v51-signed #v51SendText,
  .v51-signed .v51-send-btn{
    grid-column:3!important;
    grid-row:2!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    justify-self:end!important;
  }
  .v51-signed #v5713VisionBtn{
    grid-column:4!important;
    grid-row:2!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    flex-basis:42px!important;
    justify-self:end!important;
  }
  .v51-signed #v51MicBtn{
    grid-column:5!important;
    grid-row:2!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    border-radius:50%!important;
    justify-self:end!important;
  }
}

@media(max-width:390px){
  .v51-signed .v51-composer{
    grid-template-columns:40px minmax(0,1fr) 40px 40px 44px!important;
    column-gap:5px!important;
  }
  .v51-signed #v51SendText,
  .v51-signed .v51-send-btn{width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important}
  .v51-signed #v5713VisionBtn{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;flex-basis:40px!important}
  .v51-signed #v51MicBtn{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important}
}


/* V5.7.14 — isolated Help chooser + TiKi Learning Assistant */
.tiki-help-choice-card{width:min(560px,calc(100vw - 24px))}
.tiki-help-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.tiki-help-choice{display:flex;align-items:flex-start;gap:12px;text-align:left;border:1px solid #d7e6df;background:#fff;border-radius:16px;padding:18px;cursor:pointer;min-height:118px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.tiki-help-choice:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,80,57,.10);border-color:#a9d0bf}
.tiki-help-choice-icon{font-size:28px;line-height:1}
.tiki-help-choice strong{display:block;font-size:15px;color:#173f32;margin-bottom:7px}
.tiki-help-choice small{display:block;color:var(--muted);line-height:1.45;font-weight:600}
.tiki-learning-assistant-card{width:min(720px,calc(100vw - 24px));height:min(760px,88dvh);display:flex;flex-direction:column;overflow:hidden;padding:0!important}
.tiki-learning-assistant-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px 4px}
.tiki-learning-assistant-head .modal-close{position:static;flex:0 0 auto}
.tiki-learning-assistant-head h2{margin:3px 0 0;font-size:22px}
.tiki-learning-subtitle{padding:0 22px;margin:4px 0 12px}
.tiki-learning-quick-actions{display:flex;gap:8px;overflow-x:auto;padding:0 22px 12px;scrollbar-width:none}
.tiki-learning-quick-actions::-webkit-scrollbar{display:none}
.tiki-learning-quick-actions button{white-space:nowrap;border:1px solid #d7e6df;background:#f7fbf9;border-radius:999px;padding:8px 11px;font-weight:800;font-size:12px;cursor:pointer}
.tiki-learning-messages{flex:1;min-height:220px;overflow:auto;padding:16px 22px;background:#f7faf8;border-top:1px solid #e5ece8;border-bottom:1px solid #e5ece8;display:flex;flex-direction:column;gap:12px}
.tiki-learning-message{display:flex}.tiki-learning-message.user{justify-content:flex-end}.tiki-learning-message.assistant{justify-content:flex-start}
.tiki-learning-bubble{max-width:84%;white-space:pre-wrap;line-height:1.5;border-radius:16px;padding:11px 13px;background:#fff;border:1px solid #e0e9e4;box-shadow:0 2px 8px rgba(0,0,0,.03);font-size:14px}
.tiki-learning-message.user .tiki-learning-bubble{background:#e7f5ee;border-color:#c8e5d7}
.tiki-learning-message.pending .tiki-learning-bubble{color:var(--muted);font-style:italic}
.tiki-learning-composer{display:grid;grid-template-columns:42px minmax(0,1fr) 46px;grid-template-areas:"attachment attachment attachment" "attach input send";gap:9px 10px;padding:12px 16px 14px;background:#fff;align-items:end}
.tiki-learning-composer textarea{grid-area:input;width:100%;min-width:0;min-height:78px;box-sizing:border-box;border:1px solid #cedbd5;border-radius:14px;padding:12px 13px;resize:vertical;font:inherit;line-height:1.45;max-height:150px;overflow:auto}
.tiki-learning-composer button{border:0;border-radius:14px;background:var(--green-dark,#176c4f);color:#fff;font-size:19px;font-weight:900;cursor:pointer}
.tiki-learning-composer button:disabled{opacity:.55;cursor:default}
.tiki-learning-attach-btn{grid-area:attach;width:42px;height:42px;align-self:end;background:#edf8f2!important;color:#176c4f!important;border:1px solid #cfe5d9!important;display:grid;place-items:center;padding:0}
.tiki-learning-send-btn{grid-area:send;width:46px;height:46px;align-self:end;display:grid;place-items:center;padding:0}
.tiki-learning-attachment-tray{grid-area:attachment;min-width:0;display:flex;align-items:center;gap:8px}
.tiki-learning-attachment-tray.hidden{display:none!important}
.tiki-learning-attachment-chip{max-width:100%;display:inline-flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #d5e5dd;border-radius:10px;background:#f6fbf8;color:#244238;font-size:12px;line-height:1.2}
.tiki-learning-attachment-chip .tiki-learning-file-icon{font-size:15px;flex:0 0 auto}
.tiki-learning-attachment-chip .tiki-learning-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(420px,55vw);font-weight:700}
.tiki-learning-attachment-chip .tiki-learning-file-state{color:#6b7f76;font-weight:600;white-space:nowrap}
.tiki-learning-attachment-chip button{width:24px;height:24px;border-radius:8px!important;background:transparent!important;color:#5c7067!important;border:0!important;font-size:16px!important;line-height:1!important;padding:0!important;display:grid;place-items:center}
@media(max-width:650px){.tiki-learning-composer{grid-template-columns:40px minmax(0,1fr) 44px;padding:10px 12px 12px;gap:8px}.tiki-learning-composer textarea{min-height:88px}.tiki-learning-attachment-chip .tiki-learning-file-name{max-width:58vw}}
.tiki-learning-footer{padding:0 18px 14px;text-align:center;color:var(--muted);font-size:11px;background:#fff}
.tiki-learning-footer button{border:0;background:transparent;color:var(--green-dark);font-weight:900;text-decoration:underline;cursor:pointer;padding:0}
@media(max-width:650px){.tiki-help-choice-grid{grid-template-columns:1fr}.tiki-help-choice{min-height:auto}.tiki-learning-assistant-card{height:92dvh;width:calc(100vw - 12px)}.tiki-learning-assistant-head{padding:16px 15px 4px}.tiki-learning-subtitle,.tiki-learning-quick-actions{padding-left:15px;padding-right:15px}.tiki-learning-messages{padding:14px 12px}.tiki-learning-bubble{max-width:91%;font-size:13px}}


/* =========================================================
   V5.7.14E — PHONE PWA INSTALL RELIABILITY
   Additive install CTA/fallback sheet only.
   ========================================================= */
.pwa-install-help{position:fixed;inset:0;z-index:11950;background:rgba(8,32,22,.42);display:flex;align-items:flex-end;justify-content:center;padding:14px}
.pwa-install-help.hidden{display:none!important}
.pwa-install-help-card{width:min(520px,100%);background:#fff;border:1px solid #d9e8e0;border-radius:22px;padding:18px;box-shadow:0 22px 60px rgba(12,56,38,.26);display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.pwa-install-help-icon{width:46px;height:46px;border-radius:14px;background:#eaf8f1;display:grid;place-items:center;font-size:24px}
.pwa-install-help-copy strong{display:block;color:#123b2d;font-size:17px;margin:2px 0 5px}
.pwa-install-help-copy p{margin:0;color:#5c6f65;font-size:14px;line-height:1.5}
.pwa-install-help-close{grid-column:1/-1;border:0;background:#078848;color:#fff;border-radius:13px;padding:11px 16px;font-weight:850;font-size:14px;cursor:pointer}
@media(max-width:760px){
  .pwa-install-btn{right:12px!important;bottom:76px!important;max-width:calc(100vw - 24px);padding:11px 15px!important;font-size:13px!important;line-height:1.15;white-space:nowrap}
  body:not(.v51-signed) .pwa-install-btn{bottom:76px!important}
  .pwa-install-help{padding:10px;align-items:flex-end}
  .pwa-install-help-card{border-radius:20px;padding:16px}
}


/* ================= V5.7.14F MOBILE FLOATING ACTION SPACING =================
   Keep Help and Install as separate stacked actions on phone. */
@media(max-width:650px){
  .help-contact-fab{right:12px!important;bottom:16px!important;z-index:9000!important}
  .pwa-install-btn{right:12px!important;bottom:72px!important;z-index:8800!important;max-width:230px!important}
}
/* ================= END V5.7.14F ================= */

/* =========================================================
   V5.7.14H — SAFE FLOATING LIVE TIKI AVATAR
   Pure visual overlay. Does not replace or intercept live controls.
   ========================================================= */
.tiki-live-avatar{position:fixed;right:22px;top:118px;z-index:8400;width:118px;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.tiki-live-avatar.hidden,.tiki-live-avatar-restore.hidden{display:none!important}
.tiki-live-avatar-card{position:relative;background:rgba(255,255,255,.96);border:1px solid #cfe8da;border-radius:22px;padding:7px 7px 8px;box-shadow:0 12px 34px rgba(12,64,42,.18);backdrop-filter:blur(6px);pointer-events:none}
.tiki-live-avatar-hide{position:absolute;right:-5px;top:-6px;width:25px;height:25px;border-radius:999px;border:1px solid #cfe3d8;background:#fff;color:#45685a;font-size:17px;line-height:22px;cursor:pointer;z-index:2;pointer-events:auto;box-shadow:0 3px 10px rgba(0,0,0,.1)}
.tiki-live-avatar-photo-wrap{position:relative;width:100%;aspect-ratio:1;border-radius:17px;overflow:hidden;background:#eef8f2;border:2px solid #e0efe6}
.tiki-live-avatar-photo{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none;user-select:none}
.tiki-live-avatar-state{margin-top:6px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:800;color:#165b3d;white-space:nowrap}
.tiki-live-avatar-dot{width:8px;height:8px;border-radius:999px;background:#21b36a;box-shadow:0 0 0 0 rgba(33,179,106,.35)}
.tiki-live-avatar[data-state="thinking"] .tiki-live-avatar-dot{background:#8c5de8;animation:tikiAvatarPulse 1s ease-in-out infinite}
.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-photo-wrap{border-color:#1fb76d;box-shadow:0 0 0 3px rgba(31,183,109,.12)}
.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-dot{animation:tikiAvatarPulse .72s ease-in-out infinite}
.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-photo{animation:tikiAvatarTalk .42s ease-in-out infinite alternate}
.tiki-live-avatar-mouth{display:none;position:absolute;left:50%;bottom:31%;width:15px;height:5px;margin-left:-7.5px;border-radius:0 0 10px 10px;background:rgba(90,20,28,.72);transform-origin:center top;pointer-events:none}
.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-mouth{display:block;animation:tikiMouth .28s ease-in-out infinite alternate}
.tiki-live-avatar-restore{position:fixed;right:18px;top:118px;z-index:8401;border:1px solid #cfe8da;background:#fff;color:#0b6d45;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:850;box-shadow:0 8px 22px rgba(12,64,42,.16);cursor:pointer}
@keyframes tikiAvatarPulse{0%,100%{box-shadow:0 0 0 0 rgba(33,179,106,.35);transform:scale(1)}50%{box-shadow:0 0 0 5px rgba(33,179,106,0);transform:scale(1.1)}}
@keyframes tikiAvatarTalk{from{transform:scale(1)}to{transform:scale(1.015)}}
@keyframes tikiMouth{from{transform:scaleY(.55)}to{transform:scaleY(1.7)}}
@media(max-width:760px){
  .tiki-live-avatar{right:10px;top:164px;width:82px;z-index:8400}
  .tiki-live-avatar-card{border-radius:18px;padding:5px 5px 6px}
  .tiki-live-avatar-photo-wrap{border-radius:14px}
  .tiki-live-avatar-state{font-size:9px;margin-top:4px;gap:4px}
  .tiki-live-avatar-dot{width:6px;height:6px}
  .tiki-live-avatar-hide{width:23px;height:23px;font-size:15px;right:-4px;top:-5px}
  .tiki-live-avatar-restore{right:10px;top:164px;font-size:10px;padding:7px 9px}
}
@media(max-width:420px){
  .tiki-live-avatar{width:74px;top:158px}
  .tiki-live-avatar-state{font-size:8px}
  .tiki-live-avatar-restore{top:158px}
}
/* ================= END V5.7.14H ================= */


/* V5.7.14I — keep floating utilities away from live lesson controls. */
body.v5714-live-session .pwa-install-btn,
body.v5714-live-session .help-contact-fab{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
body.v5713-vision-opening .tiki-live-avatar,
body.v5713-vision-live .tiki-live-avatar,
body.v5713-vision-opening .tiki-live-avatar-restore,
body.v5713-vision-live .tiki-live-avatar-restore{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}
.v5713-vision-overlay{z-index:13050!important}
@media(max-width:720px){
  body.v5714-live-session .pwa-install-btn,
  body.v5714-live-session .help-contact-fab{display:none!important}
}

/* =========================================================
   V5.7.14J — ANIMATED SPEAKING AVATAR
   Visual-only animation: blink, speaking jaw, thinking motion,
   and gentle encouraging/celebrating moods.
   ========================================================= */
.tiki-live-avatar-photo{
  transform:translateY(calc(var(--tiki-face-lift,0px) * -1));
  transition:filter .22s ease,transform .12s ease;
}
.tiki-live-avatar-photo-wrap:before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(circle at 50% 45%,transparent 55%,rgba(5,129,70,.035) 100%);
}
.tiki-live-avatar-blink{
  position:absolute;z-index:4;left:24%;right:24%;top:40%;height:3px;
  opacity:0;pointer-events:none;
  background:linear-gradient(90deg,transparent 0 5%,rgba(70,39,31,.82) 5% 42%,transparent 42% 58%,rgba(70,39,31,.82) 58% 95%,transparent 95%);
  border-radius:999px;
}
.tiki-live-avatar.is-blinking .tiki-live-avatar-blink{opacity:1}
.tiki-live-avatar.is-blinking .tiki-live-avatar-photo{transform:translateY(1px) scaleY(.995)}
.tiki-live-avatar-mouth{
  display:block!important;opacity:0;z-index:5;left:50%;bottom:29.7%;
  width:13px;height:4px;margin-left:-6.5px;border-radius:45% 45% 55% 55%;
  background:radial-gradient(ellipse at 50% 25%,#c45a62 0 25%,#6f2530 55%,#3d1720 100%);
  transform:scaleY(var(--tiki-mouth-open,.55));transform-origin:center center;
  transition:opacity .08s ease;
}
.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-mouth{opacity:.9;animation:none!important}
.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-photo{animation:tikiAvatarHeadSpeak .7s ease-in-out infinite alternate}
.tiki-live-avatar[data-state="listening"] .tiki-live-avatar-photo{animation:tikiAvatarBreathe 2.8s ease-in-out infinite}
.tiki-live-avatar[data-state="thinking"] .tiki-live-avatar-photo{animation:tikiAvatarThink 1.55s ease-in-out infinite alternate;filter:saturate(.96)}
.tiki-live-avatar-sparkle{
  position:absolute;z-index:6;right:7px;top:8px;color:#f5b51b;font-size:15px;
  opacity:0;transform:scale(.4) rotate(-18deg);pointer-events:none;text-shadow:0 2px 8px rgba(245,181,27,.28)
}
.tiki-live-avatar[data-mood="encouraging"] .tiki-live-avatar-photo-wrap,
.tiki-live-avatar[data-mood="celebrating"] .tiki-live-avatar-photo-wrap{
  border-color:#34c77d;box-shadow:0 0 0 3px rgba(52,199,125,.11),0 8px 20px rgba(18,121,73,.12)
}
.tiki-live-avatar[data-mood="encouraging"] .tiki-live-avatar-photo{filter:saturate(1.06) brightness(1.015)}
.tiki-live-avatar[data-mood="celebrating"] .tiki-live-avatar-photo{filter:saturate(1.11) brightness(1.025)}
.tiki-live-avatar[data-mood="celebrating"] .tiki-live-avatar-sparkle{animation:tikiAvatarSparkle .85s ease-in-out 4}
.tiki-live-avatar[data-mood="celebrating"] .tiki-live-avatar-label{color:#087a45}
@keyframes tikiAvatarBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-.7px) scale(1.006)}}
@keyframes tikiAvatarHeadSpeak{0%{transform:translateY(0) rotate(-.25deg)}100%{transform:translateY(-1px) rotate(.25deg)}}
@keyframes tikiAvatarThink{0%{transform:translateY(0) rotate(0deg)}100%{transform:translateY(-1px) rotate(-.7deg)}}
@keyframes tikiAvatarSparkle{0%,100%{opacity:0;transform:scale(.45) rotate(-18deg)}45%{opacity:1;transform:scale(1.18) rotate(8deg)}}
@media (prefers-reduced-motion:reduce){
  .tiki-live-avatar-photo,.tiki-live-avatar-sparkle,.tiki-live-avatar-dot{animation:none!important}
  .tiki-live-avatar-mouth{transform:scaleY(.9)!important}
}
/* ================= END V5.7.14J ================= */
\n\n/* =========================================================\n   V5.7.14K — AUDIO-DRIVEN LIVE JAW\n   Reads incoming TiKi audio amplitude only. No audio rerouting.\n   ========================================================= */\n.tiki-live-avatar-photo-wrap{isolation:isolate}\n.tiki-live-avatar-photo{position:relative;z-index:1}\n.tiki-live-avatar-jaw{\n  position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;\n  clip-path:polygon(0 57%,100% 57%,100% 100%,0 100%);\n  transform:translateY(var(--tiki-jaw-shift,0px));\n  transform-origin:50% 61%;\n  will-change:transform;\n  -webkit-mask-image:linear-gradient(to bottom,transparent 53%,rgba(0,0,0,.22) 56%,#000 61%,#000 100%);\n  mask-image:linear-gradient(to bottom,transparent 53%,rgba(0,0,0,.22) 56%,#000 61%,#000 100%);\n}\n.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-photo-wrap{box-shadow:0 0 0 3px rgba(31,183,109,.18),0 9px 24px rgba(21,126,75,.16)}\n.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-mouth{opacity:.96}\n.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-label{color:#087a45}\n@media(max-width:760px){\n  .tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-jaw{transform:translateY(calc(var(--tiki-jaw-shift,0px) * .78))}\n}\n@media(prefers-reduced-motion:reduce){\n  .tiki-live-avatar-jaw{transform:none!important}\n}\n/* ================= END V5.7.14K ================= */\n
/* V5.7.14L — IELTS Speaking Step 1 foundation */
.ielts-section-title{display:flex;justify-content:space-between;align-items:end;margin:18px 0 12px}.ielts-section-title>div{display:flex;flex-direction:column;gap:4px}.ielts-section-title small,.ielts-lesson-hero>small{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:#087a45}.ielts-section-title strong{font-size:1.05rem}.ielts-section-title p{margin:2px 0 0;color:var(--muted,#64748b)}
.ielts-part-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ielts-part-card,.ielts-topic-card{border:1px solid var(--border,#dfe6e2);background:var(--card,#fff);border-radius:16px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:6px;color:inherit}.ielts-part-card.active,.ielts-topic-card.active{cursor:pointer}.ielts-part-card.active:hover,.ielts-topic-card.active:hover{border-color:#15915b}.ielts-part-card span{font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#087a45}.ielts-part-card strong,.ielts-topic-card strong{font-size:1rem}.ielts-part-card small,.ielts-topic-card small{color:var(--muted,#64748b);min-height:1.2em}.ielts-part-card b,.ielts-topic-card b{font-size:.82rem;color:#087a45;margin-top:5px}
.ielts-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.ielts-secondary-grid>div{border:1px dashed var(--border,#dfe6e2);border-radius:14px;padding:14px;display:grid;grid-template-columns:auto 1fr;column-gap:10px}.ielts-secondary-grid span{grid-row:1/3}.ielts-secondary-grid small{color:var(--muted,#64748b)}
.ielts-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ielts-topic-card>span{font-size:1.25rem}.ielts-topic-card:not(button){opacity:.72}
.ielts-lesson-hero{margin:14px 0;padding:18px;border-radius:16px;background:#f1faf5;border:1px solid #d7eee0}.ielts-lesson-hero h3{margin:5px 0 7px}.ielts-lesson-hero p{margin:0;color:#42544a}
.ielts-lesson-shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ielts-lesson-shell>div{border:1px solid var(--border,#dfe6e2);border-radius:15px;padding:16px}.ielts-lesson-shell span{font-size:1.3rem}.ielts-lesson-shell strong{display:block;margin:7px 0 4px}.ielts-lesson-shell p{margin:0 0 8px;color:var(--muted,#64748b)}.ielts-lesson-shell small{color:#087a45;font-weight:700}
@media(max-width:700px){.ielts-part-grid,.ielts-secondary-grid,.ielts-lesson-shell{grid-template-columns:1fr}.ielts-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.ielts-topic-grid{grid-template-columns:1fr}}
/* V5.7.14M — IELTS Work interactive teaching */
.ielts-interactive-note{margin:12px 0 14px;padding:12px 14px;border-radius:13px;background:#f7fbf8;border:1px solid #dcebe2;color:#31483a}
.ielts-teaching-section{border:1px solid var(--border,#dfe6e2);border-radius:16px;padding:16px;margin:12px 0;background:#fff}
.ielts-teaching-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.ielts-teaching-head>span{font-size:1.35rem}.ielts-teaching-head strong{display:block;font-size:1.02rem}.ielts-teaching-head p{margin:3px 0 0;color:var(--muted,#64748b)}
.ielts-learning-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ielts-learning-item{border:1px solid #e3e9e5;border-radius:13px;padding:13px;background:#fbfdfb}.ielts-learning-item h4{margin:0 0 4px;font-size:1rem}.ielts-learning-item p{margin:0 0 9px;color:#53665a}.ielts-learning-item .ielts-example{font-size:.92rem;color:#273b2f;margin:7px 0 10px}.ielts-item-actions{display:flex;gap:7px;flex-wrap:wrap}.ielts-item-actions button{border:1px solid #cfe1d5;background:#fff;border-radius:9px;padding:7px 9px;font-weight:700;cursor:pointer}.ielts-item-actions button:last-child{background:#edf8f1;color:#087a45}.ielts-inline-feedback{margin-top:9px;padding:9px 10px;border-radius:9px;background:#f3f8f5;color:#31483a;font-size:.9rem}.ielts-speaking-launch{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #cfe5d6;background:#f1faf5;border-radius:16px;padding:16px;margin:14px 0}.ielts-speaking-launch>span{font-size:1.5rem}.ielts-speaking-launch strong{display:block}.ielts-speaking-launch p{margin:4px 0 0;color:#52645a}
@media(max-width:700px){.ielts-learning-items{grid-template-columns:1fr}.ielts-speaking-launch{grid-template-columns:auto 1fr}.ielts-speaking-launch button{grid-column:1/-1;width:100%}}

/* V5.7.14M-H3 — safe IELTS mini live practice; additive only. */
.ielts-mini-practice{margin-top:10px}.ielts-mini-chat{border:1px solid #cfe3d7;background:#f5fbf7;border-radius:12px;padding:12px}.ielts-mini-head{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.ielts-mini-head small{color:#607066}.ielts-chat-bubble{border-radius:11px;padding:9px 10px;margin:8px 0}.ielts-chat-bubble p{margin:4px 0 0}.ielts-chat-bubble.tiki{background:#eef8f2}.ielts-chat-bubble.user{background:#fff;border:1px solid #dfe8e2}.ielts-mini-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.ielts-live-heard{padding:9px 10px;background:#fff;border-radius:9px;border:1px solid #dfe8e2;margin:9px 0;color:#31483a}@media(max-width:700px){.ielts-mini-actions button{flex:1 1 auto}}

/* H8B IELTS translation */
.ielts-translation-text{margin-top:6px;line-height:1.5;white-space:normal}.ielts-answer-translation{margin-top:8px;padding-top:8px;border-top:1px solid rgba(20,120,70,.14)}

/* V5.7.14M-H10 — IELTS Speaking Part 2 pilot */
.ielts-part2-cue-card{border:2px solid #cfe5d6;background:#fbfefc;border-radius:16px;padding:18px;margin:14px 0}.ielts-part2-cue-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.ielts-part2-cue-card h4{font-size:1.12rem;margin:12px 0 8px}.ielts-part2-cue-card p{margin:5px 0}.ielts-part2-cue-card ul{margin:8px 0 4px;padding-left:22px;line-height:1.7}.ielts-part2-prep{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;border:1px solid #d7e7dd;border-radius:16px;padding:16px;margin:14px 0;background:#f8fcf9}.ielts-part2-prep p{margin:4px 0 0;color:#607066}.ielts-part2-timer{font-size:1.6rem;font-weight:800;min-width:72px;text-align:center;color:#087a45}.ielts-part2-feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.ielts-part2-feedback-grid>div{background:#fff;border:1px solid #dfe8e2;border-radius:10px;padding:9px}.ielts-part2-feedback-grid b{display:block;margin-bottom:3px}.ielts-part2-transcript{max-height:190px;overflow:auto;background:#fff;border:1px solid #dfe8e2;border-radius:10px;padding:10px;margin:9px 0;white-space:pre-wrap}.ielts-part2-progress{height:7px;border-radius:999px;background:#dfe9e3;overflow:hidden;margin:8px 0}.ielts-part2-progress>span{display:block;height:100%;width:0;background:#0a8f52;transition:width .2s linear}@media(max-width:700px){.ielts-part2-prep{grid-template-columns:1fr auto}.ielts-part2-prep button{grid-column:1/-1;width:100%}.ielts-part2-feedback-grid{grid-template-columns:1fr}}
/* V5.7.14M-H10C — structured adaptive IELTS coaching */
.p2-coach{display:grid;gap:10px;margin-top:8px}.p2-coach section{padding:10px 12px;border:1px solid #dce9e2;border-radius:12px;background:#fff}.p2-coach h4{margin:0 0 5px;font-size:15px}.p2-coach p{margin:0;line-height:1.45}.p2-stronger{font-style:italic}.p2-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.p2-chips span{padding:5px 8px;border-radius:999px;background:#f5f7f6;font-size:12px}.p2-chips .used{background:#e8f7ee;color:#087a3d}.p2-score-card{background:#f5fbf7!important}.p2-overall{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0}.p2-overall strong{font-size:20px;color:#078a45}.p2-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.p2-score-grid span{display:flex;justify-content:space-between;gap:8px;padding:8px;background:#fff;border-radius:8px}.p2-score-note{font-size:12px;color:#66756d;margin-top:8px!important}@media(max-width:640px){.p2-score-grid{grid-template-columns:1fr}.p2-coach section{padding:9px}.p2-overall{align-items:flex-start;flex-direction:column;gap:2px}}

/* V5.7.14N — Part 2 curriculum browser */
.ielts-part2-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ielts-part2-category-card{border:1px solid var(--border,#dfe6e2);background:#fff;border-radius:16px;padding:16px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:12px;cursor:pointer;color:inherit}.ielts-part2-category-card:hover{border-color:#15915b;box-shadow:0 4px 16px rgba(0,0,0,.04)}.ielts-part2-category-card>span{font-size:1.7rem}.ielts-part2-category-card strong,.ielts-part2-category-card small,.ielts-part2-category-card b{display:block}.ielts-part2-category-card strong{font-size:1.02rem}.ielts-part2-category-card small{color:var(--muted,#64748b);margin:4px 0 8px}.ielts-part2-category-card b{font-size:.82rem;color:#087a45}@media(max-width:600px){.ielts-part2-category-grid{grid-template-columns:1fr}}

/* V5.7.14O Part 3 */
.ielts-p3-challenge{margin-top:12px;padding:14px 16px;border:1px solid #cfe8da;border-radius:14px;background:#f4fbf7}.ielts-p3-challenge strong{color:#087a45}.ielts-score-coach{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f7faf8}.ielts-score-coach p{margin:5px 0 0}.ieltsPart3Panel .ielts-topic-card small{min-height:42px}
/* V5.7.14Q — Part 1 guided topic-question stage */
.ielts-part1-question-stage{margin-top:14px}.ielts-p1q-card{border:1px solid #d9e8df;border-radius:16px;padding:16px;background:#fff}.ielts-p1q-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;color:#587064;font-size:.88rem}.ielts-p1q-card h4{font-size:1.08rem;margin:0 0 10px}.ielts-p1q-progress{height:6px;border-radius:99px;background:#edf3ef;overflow:hidden;margin:8px 0 14px}.ielts-p1q-progress span{display:block;height:100%;background:#009b4e}.ielts-p1q-card .ielts-mini-practice{margin-top:12px}.ielts-p1q-complete{padding:16px;border:1px solid #bfe1cd;border-radius:14px;background:#f2fbf6}.ielts-p1q-complete h4{margin:0 0 6px}.ielts-p1q-next{font-weight:700}@media(max-width:700px){.ielts-p1q-meta{align-items:flex-start;flex-direction:column}.ielts-p1q-card{padding:13px}}

/* V5.7.14U — integrated CEFR Learning Path */
.learning-path-progress-summary{margin:14px 0;padding:14px 16px;border:1px solid #d9e8df;border-radius:16px;background:#f7fbf8}.learning-path-progress-summary>div:first-child{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.learning-path-progress-summary small{color:#607066}.learning-path-progress-summary strong{font-size:1.25rem;color:#087a45}.learning-path-progress-summary span{color:#52645a}.lp-u-meter{height:8px;background:#e5eee9;border-radius:99px;overflow:hidden;margin:10px 0}.lp-u-meter span{display:block;height:100%;background:#0a9a56}.lp-u-topic-header{grid-column:1/-1;padding:4px 2px 2px}.lp-u-topic-header h4{margin:3px 0}.lp-u-topic-header p{margin:0;color:#64748b}.lp-u-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.lp-u-topic-card{display:grid;grid-template-columns:auto 1fr;gap:12px;text-align:left;border:1px solid #dfe8e2;background:#fff;border-radius:16px;padding:15px;cursor:pointer;color:inherit}.lp-u-topic-card:hover{border-color:#15915b;box-shadow:0 4px 14px rgba(0,0,0,.04)}.lp-u-topic-card>span{font-size:1.55rem}.lp-u-topic-card small,.lp-u-topic-card strong,.lp-u-topic-card b{display:block}.lp-u-topic-card strong{margin:3px 0}.lp-u-topic-card p{margin:5px 0;color:#65766d;font-size:.9rem}.lp-u-topic-card b{color:#087a45;font-size:.85rem}.learning-path-lesson{margin-top:12px}.lp-u-back{margin-bottom:10px}.lp-u-hero{display:grid;grid-template-columns:1fr;border:1px solid #d8e9df;border-radius:18px;background:#f5fbf7;overflow:hidden;margin-bottom:14px}.lp-u-hero.has-image{grid-template-columns:minmax(200px,.75fr) 1.25fr}.lp-u-hero img{width:100%;height:100%;min-height:230px;object-fit:cover}.lp-u-hero>div{padding:20px}.lp-u-hero h3{font-size:1.55rem;margin:5px 0 10px}.lp-u-hero p{margin:5px 0}.lp-u-flow{margin-top:12px;font-weight:750;color:#087a45}.lp-u-section{border:1px solid #dfe8e2;border-radius:16px;background:#fff;padding:16px;margin:12px 0}.lp-u-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.lp-u-head>span{font-size:1.35rem}.lp-u-head strong{display:block}.lp-u-head p{margin:3px 0 0;color:#64748b}.lp-u-vocab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lp-u-vocab-grid article,.lp-u-task,.lp-u-writing{border:1px solid #e5ece8;border-radius:13px;background:#fbfdfc;padding:13px}.lp-u-vocab-grid h4,.lp-u-task h4{margin:0 0 4px}.lp-u-vocab-grid p,.lp-u-task p{margin:4px 0 8px;color:#53665a}.lp-u-example{padding:8px 10px;border-radius:10px;background:#f0f7f3;margin:8px 0;font-size:.92rem}.lp-u-inline,.lp-u-q-supportbox{margin-top:9px;padding:10px;border-radius:10px;background:#edf8f2;color:#31483a}.lp-u-inline p,.lp-u-q-supportbox p{margin:5px 0}.lp-u-frame{font-weight:750;padding:8px 10px;background:#fff;border-radius:9px;margin:7px 0}.lp-u-practice{border:1px solid #d9e8df;border-radius:14px;padding:14px;background:#fbfefc}.lp-u-qmeta{display:flex;justify-content:space-between;gap:10px;color:#607066;font-size:.88rem}.lp-u-qprogress{height:6px;border-radius:99px;background:#e8f0eb;overflow:hidden;margin:8px 0 14px}.lp-u-qprogress span{display:block;height:100%;background:#0a9955}.lp-u-practice h4{font-size:1.08rem;margin:0 0 12px}.lp-u-feedback{margin-top:12px}.lp-u-mastery{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:9px 11px;border-radius:10px;background:#fff}.lp-u-mastery strong{color:#087a45}.lp-u-writing textarea{width:100%;box-sizing:border-box;border:1px solid #d6e2db;border-radius:10px;padding:10px;margin:8px 0;font:inherit}.lp-u-live{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #bfe0cc;border-radius:16px;background:#f0faf4;padding:16px;margin:14px 0}.lp-u-live>span{font-size:1.5rem}.lp-u-live strong{display:block}.lp-u-live p{margin:4px 0 0;color:#52645a}.lp-u-listen-hidden{font-style:italic;color:#74847b}.hidden{display:none!important}@media(max-width:760px){.lp-u-topic-grid,.lp-u-vocab-grid{grid-template-columns:1fr}.lp-u-hero.has-image{grid-template-columns:1fr}.lp-u-hero img{min-height:185px;max-height:240px}.lp-u-live{grid-template-columns:auto 1fr}.lp-u-live button{grid-column:1/-1;width:100%}.lp-u-qmeta{flex-direction:column;gap:3px}.learning-path-progress-summary .account-btn{width:100%;margin-top:8px}}

/* V5.7.14V — interactive CEFR skill practice */
.lp-v-toolbar{margin-top:16px;padding-top:14px;border-top:1px solid #dce9e2;display:flex;justify-content:space-between;gap:14px;align-items:flex-end;flex-wrap:wrap}.lp-v-toolbar small{display:block;color:#607066;font-weight:800;margin-bottom:5px}.lp-v-skill-progress{display:flex;gap:6px;flex-wrap:wrap}.lp-v-skill-progress span{font-size:.78rem;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #dce7e1;color:#66766d}.lp-v-skill-progress span.done{background:#eaf8f0;border-color:#bfe3cd;color:#087a45;font-weight:750}.lp-v-divider{display:flex;align-items:center;gap:9px;margin:16px 0 10px;color:#087a45;font-weight:800;font-size:.85rem}.lp-v-divider:after{content:"";height:1px;background:#dce9e2;flex:1}.lp-v-exercise{padding:13px;border:1px solid #dce9e2;border-radius:13px;background:#fff}.lp-v-prompt{display:block;margin-bottom:10px}.lp-v-options{display:grid;gap:8px}.lp-v-option{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:8px;width:100%;text-align:left;border:1px solid #dbe5df;background:#fbfdfc;border-radius:10px;padding:9px 10px;color:inherit;cursor:pointer}.lp-v-option span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#edf4f0;font-weight:800}.lp-v-option:hover:not(:disabled){border-color:#15915b}.lp-v-option.correct{border-color:#75c596;background:#effaf3}.lp-v-option.wrong{border-color:#e7a6a6;background:#fff5f5}.lp-v-result{margin-top:10px;padding:11px 12px;border-radius:11px;background:#eef8f2}.lp-v-result p{margin:5px 0}.lp-v-feedback{margin-top:10px}.lp-v-recording{padding:11px;border-radius:10px;background:#eef8f2}.lp-v-writing-score{display:flex;justify-content:space-between;gap:12px;align-items:center}.lp-v-writing-score strong{font-size:1.15rem;color:#087a45}.lp-v-write-translation{margin-top:9px;padding-top:9px;border-top:1px solid #d7e7dd}@media(max-width:700px){.lp-v-toolbar{align-items:stretch}.lp-v-toolbar>div{width:100%}.lp-v-language{width:100%}.lp-v-skill-progress{gap:5px}.lp-v-skill-progress span{flex:1 1 auto;text-align:center}.lp-v-option{font-size:.94rem}}


/* V5.7.14W — polished interactive Learning Path exercises */
.lp-w-exercise{margin-top:10px;padding:16px!important;border:1px solid #d7e7de!important;border-radius:16px!important;background:#fbfefc!important;box-shadow:0 1px 2px rgba(15,45,30,.025)}
.lp-w-exercise-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:13px}.lp-w-exercise-head>span{font-size:1.35rem;line-height:1}.lp-w-exercise-head b{display:block;font-size:1rem;color:#14261c}.lp-w-exercise-head small{display:block;margin-top:3px;color:#66776d}
.lp-v-options{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.lp-v-option{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:48px!important;padding:10px 12px!important;border:1px solid #d9e5de!important;border-radius:12px!important;background:#fff!important;color:#17261e!important;text-align:left!important;font:inherit!important;line-height:1.35!important;white-space:normal!important;cursor:pointer!important;appearance:none!important}.lp-v-option>span{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:999px!important;background:#eef4f0!important;color:#486056!important;font-weight:800!important}.lp-v-option>b{font-weight:650!important;overflow-wrap:anywhere}.lp-v-option:hover:not(:disabled){border-color:#59ad7e!important;background:#f8fcfa!important}.lp-v-option.selected{border:2px solid #0a9955!important;background:#effaf4!important}.lp-v-option.selected>span{background:#0a9955!important;color:#fff!important}.lp-v-option.correct{border:2px solid #20a75e!important;background:#eaf9f0!important}.lp-v-option.wrong{border:2px solid #df7b7b!important;background:#fff3f3!important}.lp-v-option:disabled{opacity:1!important;cursor:default!important}
.lp-w-check-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.lp-v-check-answer{min-width:150px}.lp-v-check-answer:disabled{opacity:.48;cursor:not-allowed}.lp-v-result{margin-top:12px!important;padding:13px 14px!important;border:1px solid #d7e7de!important;border-radius:12px!important;background:#f1f9f4!important}.lp-v-result p{margin:5px 0 8px!important}.lp-w-result-title{font-weight:800;margin-bottom:4px}.lp-w-result-title.good{color:#087a45}.lp-w-result-title.retry{color:#9a4e17}
.lp-u-listen-hidden{display:block;padding:12px 14px;border:1px dashed #cfdcd5;border-radius:12px;background:#f8fbf9;color:#68786f;font-style:normal}.lp-u-section .lp-u-task>.ielts-item-actions{margin-top:10px}
.lp-w-writing-actions{display:flex!important;gap:9px!important;flex-wrap:wrap!important;align-items:center!important}.lp-w-writing-actions .lp-v-check-writing{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:165px!important;min-height:42px!important;padding:9px 14px!important;color:#fff!important;background:#079653!important;border:1px solid #079653!important;border-radius:10px!important;font-weight:800!important;opacity:1!important;visibility:visible!important}.lp-w-writing-actions .lp-v-check-writing:hover{background:#087f49!important}.lp-u-writing textarea{min-height:120px!important;background:#fff!important;line-height:1.55!important}.lp-v-writing-score{padding-bottom:8px;border-bottom:1px solid #d8e6df;margin-bottom:8px}
@media(max-width:700px){.lp-w-exercise{padding:13px!important}.lp-v-option{grid-template-columns:30px minmax(0,1fr)!important;padding:10px!important}.lp-v-option>span{width:27px!important;height:27px!important}.lp-w-check-row>*{width:100%}.lp-w-writing-actions>*{width:100%!important}.lp-w-writing-actions .lp-v-check-writing{min-width:0!important}}

/* V5.7.14X Learning Path curriculum polish */
.lp-x-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-x-topic-card{min-height:178px;align-content:start}.lp-x-topic-card em{display:block;font-size:.82rem;color:#708078;font-style:normal;margin-top:2px}.lp-x-english-title{display:block;font-size:.72rem;font-weight:600;color:#64748b;margin-top:4px}.lp-x-vocab-test{margin-top:16px;padding-top:2px}.lp-x-visual{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;border:1px solid #dce9e1;border-radius:14px;overflow:hidden;background:#f5fbf7;margin:12px 0}.lp-x-visual img{width:150px;height:105px;object-fit:cover}.lp-x-visual div{padding:10px 12px 10px 0}.lp-x-visual small,.lp-x-visual b{display:block}.lp-x-fill{padding:12px 14px;border-radius:12px;background:#f7faf8;margin:10px 0}.lp-x-fill p{font-size:1.05rem;font-weight:700;margin:7px 0 0}.lp-x-useword{margin-top:12px;padding:14px;border:1px dashed #bddbc9;border-radius:13px;background:#fbfefc}.lp-x-useword p{display:inline-block;margin:0 12px;font-weight:800;color:#087a45}.lp-x-vocab-feedback{margin-top:10px}@media(max-width:1050px){.lp-x-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.lp-x-topic-grid{grid-template-columns:1fr}.lp-x-topic-card{min-height:0}.lp-x-visual{grid-template-columns:110px 1fr}.lp-x-visual img{width:110px;height:100px}}

/* V5.7.14Y Learning Path teaching depth */
.lp-y-pos{display:inline-flex!important;vertical-align:middle;align-items:center;justify-content:center;margin-left:7px;padding:2px 7px;border-radius:999px;background:#eaf7f0;color:#087a45;font-size:.68rem;font-weight:850;letter-spacing:.04em}.lp-y-grammar-explain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.lp-y-grammar-explain>div{padding:11px 12px;border:1px solid #dce9e2;border-radius:12px;background:#f8fcfa}.lp-y-grammar-explain small{display:block;color:#087a45;font-size:.69rem;font-weight:850;letter-spacing:.05em;margin-bottom:4px}.lp-y-grammar-explain p{margin:0!important;color:#33483d!important;line-height:1.45}.lp-x-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}.lp-x-topic-card{min-height:205px!important;padding:19px!important;border-radius:18px!important}.lp-x-topic-card>span{font-size:1.8rem!important}.lp-x-topic-card strong{font-size:1.05rem!important}.lp-x-topic-card p{line-height:1.5!important;margin:8px 0!important}@media(max-width:880px){.lp-x-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:650px){.lp-x-topic-grid{grid-template-columns:1fr!important}.lp-x-topic-card{min-height:0!important;padding:15px!important}.lp-y-grammar-explain{grid-template-columns:1fr}}

/* V5.7.14Z — full-width topic library */
#learningPathCards.lp-x-cards-root{display:block!important;width:100%!important}#learningPathCards.lp-x-cards-root>.lp-u-topic-header{width:100%;margin-bottom:14px}.lp-x-cards-root .lp-x-topic-grid{width:100%!important;grid-template-columns:repeat(3,minmax(240px,1fr))!important}.lp-x-cards-root .lp-x-topic-card{width:100%!important;min-width:0!important}@media(max-width:1050px){.lp-x-cards-root .lp-x-topic-grid{grid-template-columns:repeat(2,minmax(240px,1fr))!important}}@media(max-width:650px){.lp-x-cards-root .lp-x-topic-grid{grid-template-columns:1fr!important}}

/* V5.7.14AA — vocabulary voice + Ask TiKi */
.lp-aa-vocab-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lp-aa-recording{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;border-radius:12px;background:#f1faf5;margin-top:10px}
.lp-aa-recording span{flex:1 1 260px}
.lp-aa-result{padding:12px;border-radius:12px;background:#f4fbf7;margin-top:10px}
.lp-aa-result>div:first-child{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}
.lp-aa-result small{font-size:11px;font-weight:800;color:#5d7468;letter-spacing:.04em}
.lp-aa-result strong{font-size:16px;color:#13251c}
.lp-aa-result p{margin:6px 0 10px}
@media(max-width:640px){.lp-aa-vocab-actions button{flex:1 1 auto}.lp-aa-result .ielts-mini-actions{display:grid;grid-template-columns:1fr 1fr}.lp-aa-result .ielts-mini-actions button{width:100%}}


/* V5.7.14AB2 — keep current Learning Path topic library full width */
#learningPathCards.lp-x-cards-root,
#learningPathCards { width:100%; max-width:none; }
#learningPathCards .lp-u-topic-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  width:100%;
}
#learningPathCards .lp-u-topic-grid > *{min-width:0;width:100%;}
@media (max-width:1100px){
  #learningPathCards .lp-u-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
  #learningPathCards .lp-u-topic-grid{grid-template-columns:1fr;}
}


/* =========================================================
   V5.7.14AC4 — AVATAR MOUTH / CHIN REFINEMENT
   Keeps audio-driven lip movement while reducing visible lower-chin sliding.
   ========================================================= */
.tiki-live-avatar-jaw{
  clip-path:polygon(18% 63%,82% 63%,86% 88%,14% 88%);
  transform-origin:50% 66%;
  -webkit-mask-image:linear-gradient(to bottom,transparent 60%,rgba(0,0,0,.10) 63%,rgba(0,0,0,.78) 67%,#000 73%,#000 88%,transparent 94%);
  mask-image:linear-gradient(to bottom,transparent 60%,rgba(0,0,0,.10) 63%,rgba(0,0,0,.78) 67%,#000 73%,#000 88%,transparent 94%);
}
.tiki-live-avatar-mouth{
  bottom:30.5%;
  width:13px;
  height:4px;
  margin-left:-6.5px;
  border-radius:2px 2px 8px 8px;
  transform:scaleY(var(--tiki-mouth-open,.55));
  transform-origin:center center;
}
.tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-photo{
  animation:tikiAvatarHeadSpeakSoft 1.15s ease-in-out infinite alternate;
}
@keyframes tikiAvatarHeadSpeakSoft{
  from{transform:translateY(0) rotate(-.08deg)}
  to{transform:translateY(-.25px) rotate(.08deg)}
}
@media(max-width:760px){
  .tiki-live-avatar[data-state="speaking"] .tiki-live-avatar-jaw{transform:translateY(calc(var(--tiki-jaw-shift,0px) * .62))}
}
/* ================= END V5.7.14AC4 ================= */

/* V5.7.14AC6 — Universal Ask TiKi button placement */
.lp-u-head{position:relative}
.lp-u-head>.lp-ac6-ask{margin-left:auto;align-self:flex-start;white-space:nowrap}
@media(max-width:700px){
  .lp-u-head{flex-wrap:wrap}
  .lp-u-head>.lp-ac6-ask{margin-left:42px;margin-top:4px}
}

/* V5.7.14AC10 — Integrated CEFR Writing Curriculum */
.lp-ac10-writing-brief{display:grid;gap:12px;margin:2px 0 14px;padding:15px;border:1px solid #d8e8df;border-radius:14px;background:#f8fcfa}.lp-ac10-writing-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.lp-ac10-writing-top small,.lp-ac10-targets small,.lp-ac10-frame small,.lp-ac10-coach-step small,.lp-ac10-feedback-meta small{display:block;color:#087a45;font-size:.7rem;font-weight:850;letter-spacing:.045em;margin-bottom:4px}.lp-ac10-writing-top strong{font-size:1rem}.lp-ac10-writing-top>span{padding:4px 9px;border-radius:999px;background:#e9f7ef;color:#087a45;font-weight:850}.lp-ac10-writing-brief h4{margin:0;font-size:1.04rem;line-height:1.45}.lp-ac10-targets{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lp-ac10-targets>div,.lp-ac10-frame{padding:11px 12px;border:1px solid #dce9e2;border-radius:11px;background:#fff}.lp-ac10-targets p,.lp-ac10-frame p{margin:4px 0 0;line-height:1.5}.lp-ac10-chip{display:inline-flex;align-items:center;margin:3px 4px 3px 0;padding:4px 8px;border-radius:999px;background:#edf7f1;color:#17623e;font-weight:750;font-size:.82rem}.lp-ac10-chip.used{background:#dff5e8;color:#06773f}.lp-ac10-writing-support-box{margin-top:12px!important;padding:13px!important;border:1px solid #cfe4d7!important;border-radius:12px!important;background:#f3faf6!important}.lp-ac10-coach-step{margin:9px 0;padding:10px 11px;background:#fff;border:1px solid #dce9e2;border-radius:10px}.lp-ac10-coach-step p{margin:4px 0}.lp-ac10-tip{margin-top:10px!important;color:#496157}.lp-ac10-actions{gap:9px!important}.lp-ac10-feedback-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.lp-ac10-feedback-meta>div{padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #dce9e2}.lp-ac10-feedback-meta strong{display:block}.lp-ac10-rewrite{margin-top:10px}@media(max-width:700px){.lp-ac10-targets,.lp-ac10-feedback-meta{grid-template-columns:1fr}.lp-ac10-writing-brief{padding:12px}.lp-ac10-actions>*{width:100%!important}}

/* V5.7.14AC12 — Role Play Step 1 */
.rp-hero{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:24px;border:1px solid #dce9e1;border-radius:22px;background:linear-gradient(135deg,#f4fbf6,#fff)}
.rp-hero h2,.rp-lesson-hero h2{margin:5px 0 8px}.rp-hero p,.rp-lesson-hero p{margin:0;color:#5f6c66}.rp-hero-badge{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:16px;background:#fff;border:1px solid #dce9e1;white-space:nowrap}.rp-hero-badge{font-size:24px}.rp-hero-badge b{font-size:13px;color:#24633f}
.rp-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.rp-category{min-height:112px;text-align:left;border:1px solid #dce4df;background:#fff;border-radius:18px;padding:15px;cursor:pointer}.rp-category span{display:block;font-size:25px;margin-bottom:8px}.rp-category strong,.rp-category small{display:block}.rp-category small{margin-top:4px;color:#78847e}.rp-category.active{border-color:#58a977;background:#f4fbf6;box-shadow:0 5px 18px rgba(22,91,51,.08)}.rp-category:disabled{opacity:.58;cursor:default}
.rp-section-title{display:flex;justify-content:space-between;margin:24px 0 10px}.rp-section-title small,.rp-section-title strong{display:block}.rp-section-title small{font-size:11px;letter-spacing:.08em;color:#5a7364}.rp-situation-card{display:flex;width:100%;gap:16px;text-align:left;padding:18px;border:1px solid #dce4df;border-radius:18px;background:#fff;cursor:pointer}.rp-situation-card:hover{border-color:#58a977}.rp-situation-icon{font-size:36px}.rp-situation-card small,.rp-situation-card strong,.rp-situation-card p,.rp-situation-card span{display:block}.rp-situation-card strong{font-size:18px;margin:3px 0}.rp-situation-card p{margin:5px 0 8px;color:#64716a}.rp-situation-card span{color:#087d39;font-weight:700}
.rp-lesson-hero{margin:14px 0 18px;padding:22px;border-radius:22px;border:1px solid #dce9e1;background:linear-gradient(135deg,#f4fbf6,#fff)}.rp-mission{display:flex;gap:12px;margin-top:17px;padding:14px;border-radius:16px;background:#fff;border:1px solid #dce9e1}.rp-mission>span{font-size:24px}.rp-mission strong,.rp-mission p{display:block}.rp-mission p{margin-top:3px}.rp-progress{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.rp-progress span{font-size:11px;padding:6px 9px;border-radius:999px;background:#edf2ef;color:#607069}.rp-progress span.active{background:#16834a;color:#fff}
.rp-stage{margin:15px 0;padding:18px;border-radius:20px;border:1px solid #dfe7e2;background:#fff}.rp-stage-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.rp-stage-head>span{font-size:25px}.rp-stage-head strong{font-size:17px}.rp-stage-head p{margin:3px 0 0;color:#66736d}.rp-situation-box{padding:15px;border-radius:15px;background:#f7faf8}.rp-situation-box>p{margin-top:0}.rp-actions{display:flex;gap:8px;flex-wrap:wrap}.rp-actions button,.rp-card-actions button{border:1px solid #d6e0da;background:#fff;border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:650}.rp-actions button:hover,.rp-card-actions button:hover{border-color:#58a977;background:#f4fbf6}.rp-top-actions{margin-bottom:12px}.rp-inline{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f0f7f2;color:#335844;font-size:13px}.rp-inline.good{background:#eef9f0}.rp-inline.warn{background:#fff8e8}
.rp-dialogue{display:grid;gap:10px}.rp-line{padding:13px;border-radius:15px;border:1px solid #e0e7e3}.rp-line.barista{background:#f7faf8}.rp-line.customer{background:#f3f8ff}.rp-line-head{display:flex;justify-content:space-between;gap:10px}.rp-line-head small{font-weight:800;color:#50705d}.rp-line p{margin:6px 0 10px;font-size:15px}.rp-line-translation{display:none;font-size:13px;color:#526860;margin-bottom:8px}.rp-model-translated .rp-line-translation{display:block}
.rp-learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rp-learning-card{border:1px solid #dfe7e2;border-radius:16px;padding:14px}.rp-learning-card h4{margin:0 0 5px}.rp-learning-card .meaning{color:#5f6d66;font-size:13px}.rp-learning-card .example{margin:8px 0;font-style:normal;background:#f7faf8;padding:8px 10px;border-radius:10px}.rp-card-actions{display:flex;gap:7px;flex-wrap:wrap}.rp-card-actions button{font-size:12px;padding:7px 9px}.rp-card-translation{display:none;margin:8px 0;color:#3f6650;font-size:13px}.rp-learning-card.translated .rp-card-translation{display:block}
.rp-guided{border-radius:16px;background:#f7faf8;padding:16px}.rp-guided-turn small{display:block;color:#577060;font-weight:800}.rp-guided-turn h3{margin:5px 0 12px}.rp-guided-hint{padding:10px;border-radius:10px;background:#fff5d9;margin:10px 0;font-size:13px}.rp-guided-feedback{margin-top:12px;padding:12px;border-radius:12px;background:#fff;border:1px solid #dde7e1}.rp-guided-feedback strong{display:block;margin-bottom:5px}.rp-live-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px;border-radius:16px;background:#f3fbf6;border:1px solid #cfe6d6}.rp-live-card small{font-weight:800;color:#47735a}.rp-live-card h3{margin:4px 0 7px}.rp-live-card p{margin:0;color:#5c6d64;max-width:670px}.rp-live-card button{white-space:nowrap}
@media(max-width:900px){.rp-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-learning-grid{grid-template-columns:1fr}.rp-live-card,.rp-hero{align-items:stretch;flex-direction:column}.rp-hero-badge{width:max-content;max-width:100%}}
@media(max-width:520px){.rp-category-grid{grid-template-columns:1fr 1fr}.rp-category{min-height:104px;padding:12px}.rp-stage{padding:14px}.rp-progress{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.rp-progress span{white-space:nowrap}.rp-live-card button{width:100%}}
.ielts-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.ielts-secondary-grid>div{border:1px dashed var(--border,#dfe6e2);border-radius:14px;padding:14px;display:grid;grid-template-columns:auto 1fr;column-gap:10px}.ielts-secondary-grid span{grid-row:1/3}.ielts-secondary-grid small{color:var(--muted,#64748b)}
.ielts-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ielts-topic-card>span{font-size:1.25rem}.ielts-topic-card:not(button){opacity:.72}
.ielts-lesson-hero{margin:14px 0;padding:18px;border-radius:16px;background:#f1faf5;border:1px solid #d7eee0}.ielts-lesson-hero h3{margin:5px 0 7px}.ielts-lesson-hero p{margin:0;color:#42544a}
.ielts-lesson-shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ielts-lesson-shell>div{border:1px solid var(--border,#dfe6e2);border-radius:15px;padding:16px}.ielts-lesson-shell span{font-size:1.3rem}.ielts-lesson-shell strong{display:block;margin:7px 0 4px}.ielts-lesson-shell p{margin:0 0 8px;color:var(--muted,#64748b)}.ielts-lesson-shell small{color:#087a45;font-weight:700}
@media(max-width:700px){.ielts-part-grid,.ielts-secondary-grid,.ielts-lesson-shell{grid-template-columns:1fr}.ielts-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.ielts-topic-grid{grid-template-columns:1fr}}
/* V5.7.14M — IELTS Work interactive teaching */
.ielts-interactive-note{margin:12px 0 14px;padding:12px 14px;border-radius:13px;background:#f7fbf8;border:1px solid #dcebe2;color:#31483a}
.ielts-teaching-section{border:1px solid var(--border,#dfe6e2);border-radius:16px;padding:16px;margin:12px 0;background:#fff}
.ielts-teaching-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.ielts-teaching-head>span{font-size:1.35rem}.ielts-teaching-head strong{display:block;font-size:1.02rem}.ielts-teaching-head p{margin:3px 0 0;color:var(--muted,#64748b)}
.ielts-learning-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ielts-learning-item{border:1px solid #e3e9e5;border-radius:13px;padding:13px;background:#fbfdfb}.ielts-learning-item h4{margin:0 0 4px;font-size:1rem}.ielts-learning-item p{margin:0 0 9px;color:#53665a}.ielts-learning-item .ielts-example{font-size:.92rem;color:#273b2f;margin:7px 0 10px}.ielts-item-actions{display:flex;gap:7px;flex-wrap:wrap}.ielts-item-actions button{border:1px solid #cfe1d5;background:#fff;border-radius:9px;padding:7px 9px;font-weight:700;cursor:pointer}.ielts-item-actions button:last-child{background:#edf8f1;color:#087a45}.ielts-inline-feedback{margin-top:9px;padding:9px 10px;border-radius:9px;background:#f3f8f5;color:#31483a;font-size:.9rem}.ielts-speaking-launch{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #cfe5d6;background:#f1faf5;border-radius:16px;padding:16px;margin:14px 0}.ielts-speaking-launch>span{font-size:1.5rem}.ielts-speaking-launch strong{display:block}.ielts-speaking-launch p{margin:4px 0 0;color:#52645a}
@media(max-width:700px){.ielts-learning-items{grid-template-columns:1fr}.ielts-speaking-launch{grid-template-columns:auto 1fr}.ielts-speaking-launch button{grid-column:1/-1;width:100%}}

/* V5.7.14M-H3 — safe IELTS mini live practice; additive only. */
.ielts-mini-practice{margin-top:10px}.ielts-mini-chat{border:1px solid #cfe3d7;background:#f5fbf7;border-radius:12px;padding:12px}.ielts-mini-head{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.ielts-mini-head small{color:#607066}.ielts-chat-bubble{border-radius:11px;padding:9px 10px;margin:8px 0}.ielts-chat-bubble p{margin:4px 0 0}.ielts-chat-bubble.tiki{background:#eef8f2}.ielts-chat-bubble.user{background:#fff;border:1px solid #dfe8e2}.ielts-mini-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.ielts-live-heard{padding:9px 10px;background:#fff;border-radius:9px;border:1px solid #dfe8e2;margin:9px 0;color:#31483a}@media(max-width:700px){.ielts-mini-actions button{flex:1 1 auto}}

/* H8B IELTS translation */
.ielts-translation-text{margin-top:6px;line-height:1.5;white-space:normal}.ielts-answer-translation{margin-top:8px;padding-top:8px;border-top:1px solid rgba(20,120,70,.14)}

/* V5.7.14T — Part 1 category-first curriculum */
.ielts-p1-category{margin:18px 0 24px}.ielts-p1-category-title{display:flex;align-items:end;justify-content:space-between;margin:0 4px 10px}.ielts-p1-category-title strong{font-size:16px;color:#17324d}.ielts-p1-category-title small{color:#6b7b83}
@media(max-width:640px){.ielts-p1-category{margin:14px 0 20px}.ielts-p1-category-title strong{font-size:15px}.ielts-p1-category-title small{font-size:12px}}

/* V5.7.14AC11 adaptive vocabulary + listening */
.lp-ac11-task-type{display:inline-flex;margin:0 0 10px;padding:5px 9px;border-radius:999px;background:#eef8f2;color:#087a3e;font-weight:800;font-size:11px;letter-spacing:.04em}.lp-ac11-vocab2,.lp-ac11-listen2{margin-top:18px;padding-top:2px}.lp-ac11-replay{margin:0 0 12px}.lp-ac11-vocab2 .lp-v-exercise,.lp-ac11-listen2 .lp-v-exercise{background:#fbfdfc;border:1px solid #dcebe2;border-radius:16px;padding:16px}
/* V5.7.14AC14 — expanded Restaurant & Café role-play catalog */
.rp-situation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.rp-situation-list .rp-situation-card{width:100%;text-align:left}
@media(max-width:760px){.rp-situation-list{grid-template-columns:1fr}}

/* V5.7.14AC25 — IELTS Mock Speaking Test */
.ielts-secondary-card{width:100%;text-align:left;border:1px dashed #dbe6df;background:#fff;border-radius:16px;padding:16px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;cursor:pointer;color:inherit}.ielts-secondary-card span{grid-row:1/3;font-size:20px}.ielts-secondary-card strong,.ielts-secondary-card small{display:block}.ielts-secondary-card.active:hover{border-color:#129447;background:#f7fcf8}.ielts-mock-shell{display:grid;gap:16px}.ielts-mock-card{border:1px solid #dce8e0;border-radius:18px;padding:18px;background:#fff}.ielts-mock-card.examiner{background:#f7faf8}.ielts-mock-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;color:#087c3c}.ielts-mock-question{font-size:22px;line-height:1.35;font-weight:800;margin:8px 0 14px}.ielts-mock-rule{background:#fff8df;border:1px solid #f2dfa2;border-radius:12px;padding:11px 13px;font-size:14px}.ielts-mock-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.ielts-mock-primary{border:0;background:#07953f;color:#fff;border-radius:12px;padding:12px 17px;font-weight:800;cursor:pointer}.ielts-mock-secondary{border:1px solid #d3dfd8;background:#fff;border-radius:12px;padding:11px 15px;font-weight:700;cursor:pointer}.ielts-mock-recording{color:#b42318;font-weight:800}.ielts-mock-transcript{background:#f7f9fb;border-radius:12px;padding:12px;margin-top:12px}.ielts-mock-progress{height:8px;background:#e8efea;border-radius:999px;overflow:hidden}.ielts-mock-progress>span{display:block;height:100%;background:#07953f}.ielts-mock-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.ielts-mock-score{border:1px solid #dce8e0;border-radius:14px;padding:12px}.ielts-mock-score strong{font-size:20px;display:block}.ielts-mock-report p{margin:8px 0}.ielts-mock-cue{background:#f8faf9;border:1px solid #dce8e0;border-radius:14px;padding:14px;white-space:pre-line}@media(max-width:700px){.ielts-mock-question{font-size:19px}.ielts-mock-score-grid{grid-template-columns:1fr 1fr}}

/* V5.7.14AC28 — Creator foundation */
.creator-view{max-width:1180px}.creator-free-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border:1px solid #dfe6ee;border-radius:16px;margin:18px 0;background:#fff}.creator-free-banner div{display:flex;flex-direction:column;gap:3px}.creator-free-banner small{color:#687386}.creator-guard{font-weight:700;padding:8px 12px;border-radius:999px;background:#eef8f1}.creator-step-head{margin:22px 0 12px}.creator-step-head small{font-weight:800;letter-spacing:.08em;color:#687386}.creator-step-head h3{margin:4px 0}.creator-step-head p{margin:3px 0;color:#687386}.creator-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.creator-type{display:flex;flex-direction:column;text-align:left;gap:7px;padding:18px;border:1px solid #dfe6ee;border-radius:18px;background:#fff;cursor:pointer;min-height:132px}.creator-type:hover,.creator-type.selected{border-color:#8393a7;box-shadow:0 6px 18px rgba(20,35,55,.08)}.creator-type>span{font-size:27px}.creator-type strong{font-size:16px}.creator-type small{color:#687386;line-height:1.4}.creator-panel{margin-top:18px;padding:20px;border:1px solid #e2e7ed;border-radius:18px;background:#fff}.creator-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.creator-form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700}.creator-form-grid label.wide{grid-column:1/-1}.creator-form-grid input,.creator-form-grid select,.creator-form-grid textarea{width:100%;box-sizing:border-box;border:1px solid #ccd5df;border-radius:11px;padding:11px 12px;font:inherit;background:#fff}.creator-form-grid textarea{resize:vertical}.creator-main-btn{margin-top:16px}.creator-status{margin-left:12px;color:#687386}.creator-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.creator-quality{margin-top:16px;padding:16px;border-radius:14px;background:#f7f9fb;border:1px solid #dfe6ee}.creator-quality-head{display:flex;justify-content:space-between;gap:10px}.creator-quality li{margin:8px 0}.creator-quality em{display:block;color:#526171;margin-top:3px}.creator-preview{margin-top:16px}.creator-preview-card{padding:20px;border:1px solid #dfe6ee;border-radius:16px;background:#fbfcfd}.creator-preview-card small{font-weight:800;color:#687386}.creator-preview-goal{padding:12px 14px;border-radius:12px;background:#f2f7ff}.creator-chip-wrap{display:flex;flex-wrap:wrap;gap:7px}.creator-chip-wrap span{padding:6px 9px;border-radius:999px;background:#eef2f6}.creator-draft-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf0f3}.creator-draft-row div{display:flex;flex-direction:column}.creator-draft-row small{color:#687386}.creator-draft-row>span{font-size:12px;font-weight:800}@media(max-width:760px){.creator-type-grid{grid-template-columns:1fr 1fr}.creator-form-grid{grid-template-columns:1fr}.creator-form-grid label.wide{grid-column:auto}.creator-free-banner{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.creator-type-grid{grid-template-columns:1fr}}

/* V5.7.14AC29 — Create Content UX + responsive editor */
.creator-view{max-width:1180px!important;margin:0 auto}.creator-free-banner{background:linear-gradient(135deg,#f3fbf6,#fff)!important;border-color:#cfe6d7!important}.creator-guard{color:#087a45;background:#eaf7ef!important;white-space:nowrap}.creator-type-grid{align-items:stretch}.creator-type{border-color:#d8e5dd!important;box-shadow:0 2px 8px rgba(22,78,52,.03);transition:.16s ease}.creator-type:hover{transform:translateY(-2px);border-color:#0b9448!important;box-shadow:0 10px 24px rgba(22,78,52,.10)!important}.creator-type strong{color:#173c2d}.creator-panel{border-color:#dce8e1!important;box-shadow:0 8px 26px rgba(20,70,48,.04)}.creator-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important}.creator-form-grid label{min-width:0;color:#25483a}.creator-form-grid input,.creator-form-grid select,.creator-form-grid textarea{min-width:0;display:block;border-color:#cbdcd2!important;line-height:1.45}.creator-form-grid input:focus,.creator-form-grid select:focus,.creator-form-grid textarea:focus{outline:3px solid rgba(9,149,63,.10);border-color:#07953f!important}.creator-actions{padding-top:4px}.creator-preview-card{background:#fff!important;border-color:#cfe3d7!important}.creator-preview-card h3{font-size:1.45rem;margin:8px 0}.creator-preview-goal{background:#f0faf4!important;border:1px solid #d6ecdf}.creator-chip-wrap{gap:8px!important}.creator-chip-wrap span{background:#eef8f2!important;color:#24513d;border:1px solid #d9ebdf}.creator-drafts{margin-top:22px!important}
@media(min-width:900px){.creator-form-grid .wide{grid-column:1/-1!important}.creator-editor-step .creator-form-grid{}#creatorEditorStep .creator-form-grid label:nth-child(1),#creatorEditorStep .creator-form-grid label:nth-child(2),#creatorEditorStep .creator-form-grid label:nth-child(5),#creatorEditorStep .creator-form-grid label:nth-child(6),#creatorEditorStep .creator-form-grid label:nth-child(7){grid-column:1/-1!important}}
@media(max-width:760px){.creator-form-grid{grid-template-columns:1fr!important}.creator-form-grid label,.creator-form-grid label.wide{grid-column:1!important}.creator-type-grid{grid-template-columns:1fr 1fr!important}.creator-free-banner{padding:14px!important}.creator-panel{padding:16px!important}.creator-actions>*{flex:1 1 160px}.creator-main-btn{width:100%}}
@media(max-width:500px){.creator-type-grid{grid-template-columns:1fr!important}.creator-type{min-height:auto!important}.creator-actions>*{width:100%;flex-basis:100%}.creator-free-banner{gap:10px!important}.creator-guard{white-space:normal}.creator-preview-card{padding:16px!important}}

/* V5.7.14AC30 — creator publish lifecycle */
.creator-actions-main{align-items:center}
.creator-publish-btn:not(:disabled){background:#effaf3;border-color:#a9d9b8;color:#067b39;font-weight:800}
.creator-another-top{margin-bottom:8px}
.creator-publish-panel,.creator-published-box{margin-top:16px;border:1px solid #d7e8de;border-radius:18px;padding:18px;background:#fbfefc}
.creator-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.creator-access-card{border:1px solid #d8e5dd;background:#fff;border-radius:16px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:7px;cursor:pointer;color:inherit}
.creator-access-card:hover{border-color:#15915b;background:#f6fcf8}.creator-access-card span{font-size:24px}.creator-access-card strong{font-size:16px}.creator-access-card small{color:#65766c;line-height:1.4}
.creator-publish-status{min-height:22px;color:#506259;margin:6px 0}.creator-published-success{display:grid;gap:14px}.creator-published-success small{font-weight:900;color:#078443;letter-spacing:.03em}.creator-published-success h3{margin:5px 0}.creator-published-success p{margin:0;color:#53665b}
.creator-share-row{display:grid;grid-template-columns:1fr auto;gap:8px}.creator-share-row input{width:100%;border:1px solid #cfddd5;border-radius:11px;padding:11px;background:#fff}
.creator-published-actions{display:flex;gap:10px;flex-wrap:wrap}.creator-link-btn{display:inline-flex;align-items:center;text-decoration:none}
.creator-shared-body{display:grid;gap:14px}.creator-shared-card{border:1px solid #d8e6dd;border-radius:18px;background:#fff;padding:20px}.creator-shared-card h2{margin:5px 0 8px}.creator-shared-card>p{color:#53665b}.creator-shared-meta{font-weight:800;color:#087a45;font-size:12px;letter-spacing:.04em}.creator-shared-goal{background:#eff9f2;border:1px solid #d4eadb;border-radius:14px;padding:14px;margin:14px 0}.creator-shared-goal p{margin:6px 0 0}.creator-shared-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.creator-shared-grid h4{margin-bottom:8px}.creator-shared-grid ol{margin-top:0;padding-left:22px}.creator-shared-note{border-top:1px solid #e2eae5;margin-top:14px;padding-top:12px;color:#65766c}
@media(max-width:760px){.creator-access-grid,.creator-shared-grid{grid-template-columns:1fr}.creator-share-row{grid-template-columns:1fr}.creator-published-actions>*{width:100%;justify-content:center}}

/* AC32 creator-course learner experience */
.creator-practice-head{margin:22px 0 12px}.creator-practice-head small{font-weight:800;color:#567;letter-spacing:.08em}.creator-practice-head h3{margin:5px 0}.creator-practice-head p{margin:0;color:#66746c}.creator-practice-list{display:grid;gap:10px;margin-top:14px}.creator-practice-topic{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;text-align:left;border:1px solid #d8e6dc;background:#fff;border-radius:15px;padding:14px 16px;cursor:pointer}.creator-practice-topic:hover,.creator-practice-topic.is-next{border-color:#18a35b;background:#f5fbf7}.creator-practice-topic strong{display:block;color:#13251b}.creator-practice-topic small{display:block;margin-top:3px;color:#5d7466}.creator-practice-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf7ef;color:#087e40;font-weight:800}.creator-draft-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:720px){.creator-practice-topic{grid-template-columns:36px 1fr auto;padding:12px}.creator-draft-actions{width:100%}.creator-draft-actions .small-action-btn{flex:1 1 auto}}

/* V5.7.14AC33 — polished creator-course learner UI only. No engine behavior changes. */
.creator-course-shell{padding:0!important;overflow:hidden;border-radius:22px!important;background:#fff!important}
.creator-course-hero{padding:26px 28px 22px;background:linear-gradient(180deg,#f4fbf6 0%,#fff 100%);border-bottom:1px solid #deebe2}
.creator-course-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#e7f7ed;color:#087d43;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.creator-course-hero h2{font-size:28px;line-height:1.18;margin:12px 0 8px!important;color:#12251a}
.creator-course-hero>p{font-size:15px;line-height:1.6;margin:0;color:#52675a!important;max-width:880px}
.creator-course-meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.creator-course-meta-row span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #dce9e0;color:#466052;font-size:12px;font-weight:800}
.creator-course-goal{margin:20px 26px 8px!important;padding:17px 18px!important}.creator-course-goal b{font-size:16px}.creator-course-goal p{font-size:15px;line-height:1.55}
.creator-course-shell .creator-practice-head{padding:6px 26px 0;margin:18px 0 10px}.creator-course-shell .creator-practice-head small{font-size:11px;color:#0a7d45}.creator-course-shell .creator-practice-head h3{font-size:22px;margin-top:5px}.creator-course-shell .creator-practice-head p{font-size:14px;line-height:1.5}
.creator-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px 26px 28px}
.creator-lesson-card{position:relative;grid-template-columns:46px 1fr!important;align-items:flex-start!important;min-height:128px;padding:18px!important;border-radius:18px!important;border:1px solid #dce8e0!important;box-shadow:0 2px 7px rgba(16,66,39,.035);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;background:#fff!important}
.creator-lesson-card:hover{transform:translateY(-1px);border-color:#21a55f!important;box-shadow:0 7px 18px rgba(16,95,51,.08)}
.creator-lesson-card.is-next{border-color:#1aa258!important;background:#f4fbf6!important;box-shadow:0 5px 14px rgba(18,130,68,.08)}
.creator-lesson-card .creator-practice-num{width:38px;height:38px;font-size:15px;background:#e8f7ee;color:#087b42}
.creator-lesson-copy{min-width:0;display:flex;flex-direction:column;height:100%}.creator-lesson-kicker{font-size:10px!important;letter-spacing:.08em;color:#789087!important;font-weight:900!important;margin:1px 0 5px!important}.creator-lesson-card strong{font-size:15px;line-height:1.35;color:#13261b!important;padding-right:4px}.creator-lesson-action{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:14px;color:#088345;font-size:13px;font-weight:900}.creator-lesson-action b{font-size:16px}
.creator-sign-note{margin:0 26px 26px!important;background:#fffaf0;border:1px solid #f0dfb1!important;border-radius:13px;padding:12px!important}
.creator-loading-card{display:flex;align-items:center;gap:18px;max-width:760px;margin:18px auto;padding:28px!important}.creator-loading-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#e9f8ef;font-size:26px;flex:0 0 auto}.creator-loading-card small{font-size:10px;font-weight:900;letter-spacing:.09em;color:#088143}.creator-loading-card h3{margin:5px 0 6px!important}.creator-loading-card p{margin:0!important}.creator-loading-bar{height:6px;background:#edf2ef;border-radius:99px;overflow:hidden;margin-top:15px;min-width:260px}.creator-loading-bar span{display:block;width:48%;height:100%;border-radius:99px;background:#0d9a50;animation:creatorLoadSweep 1.1s ease-in-out infinite alternate}@keyframes creatorLoadSweep{from{transform:translateX(-30%)}to{transform:translateX(130%)}}
@media(max-width:820px){.creator-practice-grid{grid-template-columns:1fr}.creator-course-hero{padding:22px 18px 18px}.creator-course-hero h2{font-size:23px}.creator-course-goal{margin:16px 18px 6px!important}.creator-course-shell .creator-practice-head{padding-left:18px;padding-right:18px}.creator-practice-grid{padding:8px 18px 22px}.creator-lesson-card{min-height:108px}.creator-sign-note{margin:0 18px 20px!important}}
@media(max-width:480px){.creator-lesson-card{grid-template-columns:40px 1fr!important;padding:14px!important}.creator-loading-card{margin:10px;padding:20px!important}.creator-loading-bar{min-width:180px}}
\n\n/* V5.7.14AC34 — Creator library + Community Practice */\n.creator-library-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 18px}.creator-library-tabs button{border:1px solid #d8e5dc;background:#fff;border-radius:999px;padding:8px 13px;font-weight:800;color:#49645a;cursor:pointer}.creator-library-tabs button.active{background:#eaf7ef;border-color:#89cba1;color:#008f3d}.creator-library-card{border:1px solid #d9e6de;border-radius:18px;background:#fff;padding:18px;margin:0 0 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;box-shadow:0 4px 16px rgba(25,69,45,.035)}.creator-library-main h4{font-size:18px;margin:7px 0;cursor:pointer}.creator-library-main p{margin:0;color:#5e7068;line-height:1.5;max-width:760px}.creator-library-meta{display:flex;gap:7px;flex-wrap:wrap}.creator-library-meta span{font-size:11px;font-weight:800;letter-spacing:.04em;color:#49645a;background:#f4f8f5;border-radius:999px;padding:5px 8px}.creator-library-foot{display:flex;gap:12px;align-items:center;margin-top:12px;color:#687a72;font-size:13px}.creator-visibility-badge{font-weight:800;border-radius:999px;padding:6px 9px;background:#f2f6f3}.vis-public{background:#e8f8ee;color:#087d39}.vis-link{background:#f0edff;color:#5a45a6}.vis-private{background:#f3f4f5;color:#45515a}.vis-draft{background:#fff4d9;color:#806000}.creator-library-actions{display:flex;flex-direction:column;gap:7px;min-width:170px}.creator-library-actions button,.creator-manage-options button{border:1px solid #d4e3d9;background:#fff;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer;text-align:left}.creator-library-actions button:hover,.creator-manage-options button:hover{border-color:#78c493;background:#f4fbf6}.creator-manage-host{grid-column:1/-1}.creator-manage-panel{margin-top:4px;background:#f6faf7;border:1px solid #d7e8dc;border-radius:14px;padding:14px}.creator-manage-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.creator-manage-status{display:inline-block;margin-left:8px;color:#087d39;font-weight:800}.community-practice-view .section-head{align-items:flex-start}.community-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;background:#f7faf8;border:1px solid #dbe8df;border-radius:18px;padding:14px;margin:18px 0}.community-search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;background:#fff;border:1px solid #cfddd4;border-radius:12px;padding:0 12px}.community-search input{border:0;outline:0;background:transparent;padding:12px 0;width:100%;font:inherit}.community-filters{display:flex;gap:8px;flex-wrap:wrap}.community-filters select{border:1px solid #cfddd4;background:#fff;border-radius:10px;padding:10px 28px 10px 10px;font-weight:700;color:#30493f}.community-results-meta{font-size:13px;color:#6d7f76;margin:0 0 12px}.community-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.community-card{border:1px solid #d8e5dd;border-radius:18px;background:#fff;padding:18px;display:flex;flex-direction:column;min-height:310px;box-shadow:0 7px 22px rgba(31,76,51,.045)}.community-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.community-icon{width:44px;height:44px;border-radius:14px;background:#edf8f1;display:grid;place-items:center;font-size:23px}.community-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.community-badges span{font-size:11px;font-weight:800;background:#f1f6f3;color:#496157;padding:5px 7px;border-radius:999px}.community-card h3{font-size:18px;line-height:1.25;margin:14px 0 8px;cursor:pointer}.community-card>p{color:#61736a;line-height:1.45;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.community-topic-preview{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#53675e;margin-bottom:16px}.community-card-foot{margin-top:auto;border-top:1px solid #edf1ee;padding-top:13px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#66796f}.community-card-foot button{border:0;background:#009640;color:#fff;border-radius:10px;padding:9px 12px;font-weight:900;cursor:pointer}.community-empty{grid-column:1/-1}.creator-course-shell .creator-practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}\n@media(max-width:980px){.community-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.creator-library-card{grid-template-columns:1fr}.creator-library-actions{flex-direction:row;flex-wrap:wrap;min-width:0}.creator-library-actions button{flex:1 1 140px}.community-toolbar{align-items:stretch;flex-direction:column}.community-filters select{flex:1}}\n@media(max-width:640px){.community-grid{grid-template-columns:1fr}.community-filters{display:grid;grid-template-columns:1fr 1fr}.community-filters select:last-child{grid-column:1/-1}.creator-library-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.creator-library-tabs button{white-space:nowrap}.creator-course-shell .creator-practice-grid{grid-template-columns:1fr}}\n
/* V5.7.14AC37 — Creator + Community mobile UX refinement */
@media (max-width:640px){
  /* Never preserve desktop columns on creator/community screens. */
  .creator-course-shell,.creator-shared-card,.creator-library-card,.community-card,.creator-practice-landing{min-width:0!important;max-width:100%!important;width:100%!important;overflow:hidden!important}
  .creator-course-shell .creator-practice-grid,.creator-practice-grid,.community-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding-left:12px!important;padding-right:12px!important}
  .creator-lesson-card{width:100%!important;min-width:0!important;min-height:0!important;grid-template-columns:42px minmax(0,1fr)!important;padding:14px!important;border-radius:16px!important}
  .creator-lesson-card>div,.creator-lesson-card strong{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important}
  .creator-lesson-card strong{font-size:15px!important;line-height:1.38!important}
  .creator-lesson-action{padding-top:10px!important}

  /* My Content: one readable card, then full-width actions. */
  .creator-library-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:15px!important;border-radius:17px!important}
  .creator-library-main,.creator-library-main h4,.creator-library-main p{min-width:0!important;max-width:100%!important;width:100%!important}
  .creator-library-main h4{font-size:18px!important;line-height:1.3!important;margin:8px 0!important;overflow-wrap:anywhere!important}
  .creator-library-main p{font-size:14px!important;line-height:1.5!important;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden!important}
  .creator-library-meta{gap:6px!important}.creator-library-meta span{font-size:10px!important;padding:5px 7px!important}
  .creator-library-foot{margin-top:10px!important;flex-wrap:wrap!important}
  .creator-library-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:8px!important}
  .creator-library-actions button{width:100%!important;min-height:44px!important;text-align:center!important;padding:10px 12px!important}
  .creator-library-tabs{margin-bottom:14px!important;gap:6px!important;scrollbar-width:none}.creator-library-tabs::-webkit-scrollbar{display:none}
  .creator-library-tabs button{padding:8px 11px!important;font-size:13px!important}

  /* Community: readable feed cards rather than squeezed desktop columns. */
  .community-grid{padding:0!important}.community-card{min-height:0!important;padding:15px!important;border-radius:17px!important}
  .community-card h3{font-size:18px!important;line-height:1.3!important;margin:12px 0 7px!important;overflow-wrap:anywhere!important}
  .community-card>p{font-size:14px!important;line-height:1.48!important;-webkit-line-clamp:2!important}
  .community-topic-preview{font-size:13px!important;line-height:1.4!important;gap:5px!important;max-height:96px;overflow:hidden}
  .community-card-foot{align-items:stretch!important;flex-direction:column!important}.community-card-foot button{width:100%!important;min-height:44px!important;font-size:14px!important}
  .community-toolbar{padding:10px!important;margin:12px 0!important;gap:8px!important}.community-search{min-width:0!important;width:100%!important}
  .community-filters{grid-template-columns:1fr!important}.community-filters select,.community-filters select:last-child{grid-column:auto!important;width:100%!important}

  /* Shared/creator hero content. */
  .creator-course-hero{padding:18px 14px!important}.creator-course-hero h2{font-size:21px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
  .creator-course-hero p,.creator-course-goal p{font-size:14px!important;line-height:1.5!important}
  .creator-course-goal{margin:12px!important;padding:14px!important}
}
@media (max-width:390px){
  .creator-course-shell .creator-practice-grid,.creator-practice-grid{padding-left:8px!important;padding-right:8px!important}
  .creator-lesson-card{grid-template-columns:36px minmax(0,1fr)!important;padding:12px!important}
  .creator-library-card,.community-card{padding:13px!important}
}


/* V5.7.14AC38 — Manage publishing mobile-safe modal */
.creator-manage-open{overflow:hidden!important}
.creator-manage-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px}
.creator-manage-backdrop{position:absolute;inset:0;background:rgba(20,42,31,.42);backdrop-filter:blur(2px)}
.creator-manage-sheet{position:relative;z-index:1;width:min(560px,100%);max-height:min(720px,88vh);overflow:auto;background:#fff;border:1px solid #d8e5dc;border-radius:22px;padding:20px;box-shadow:0 24px 70px rgba(17,48,31,.24)}
.creator-manage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.creator-manage-head small{display:block;color:#0a8e43;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}.creator-manage-head h3{margin:0;font-size:22px;line-height:1.2}.creator-manage-close{border:1px solid #d8e5dc;background:#fff;width:38px;height:38px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}.creator-manage-options-modal{display:grid;grid-template-columns:1fr;gap:10px;margin:0}.creator-manage-options-modal button{display:flex!important;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:14px!important;border-radius:14px!important;text-align:left!important;min-height:66px}.creator-manage-options-modal button.active{border-color:#079645!important;background:#eef9f2!important;box-shadow:0 0 0 1px #079645 inset}.creator-manage-options-modal button span{font-size:12px;font-weight:500;color:#65756d;line-height:1.35}.creator-manage-options-modal button:disabled{opacity:.6;cursor:wait}.creator-manage-sheet .creator-manage-status{display:block;margin:12px 0 0;color:#087d39;font-weight:900;min-height:20px}
@media(max-width:640px){.creator-manage-modal{padding:0;align-items:flex-end}.creator-manage-sheet{width:100%;max-height:82vh;border-radius:22px 22px 0 0;padding:18px 16px 22px}.creator-manage-head h3{font-size:20px}.creator-manage-options-modal button{min-height:70px;font-size:15px}}

/* V8.21 — mobile guest speaking-first restructure. Existing information remains below. */
.mobile-guest-speaking-hub{display:none}
@media(max-width:760px){
 body:not(.mobile-guest-signed-in) #mobileGuestSpeakingHub{display:block;margin:12px 14px 18px;padding:17px;border:1px solid #b9dfc9;border-radius:20px;background:linear-gradient(145deg,#fff,#f2fbf6);box-shadow:0 12px 30px rgba(17,91,52,.08)}
 body:not(.mobile-guest-signed-in) #v51TutorCard{margin-bottom:8px}
 body:not(.mobile-guest-signed-in) #v51TutorCard .v51-language-help,body:not(.mobile-guest-signed-in) .hero,body:not(.mobile-guest-signed-in) .adaptive-card,body:not(.mobile-guest-signed-in) #guestMobileTalkCta{display:none!important}
 body:not(.mobile-guest-signed-in) .topbar{min-height:64px!important;padding:9px 12px!important;display:flex!important;align-items:center!important;gap:8px!important}
 body:not(.mobile-guest-signed-in) .topbar .mobile-brand{flex:1;min-width:0}
 body:not(.mobile-guest-signed-in) .topbar .account-actions{display:flex!important;align-items:center!important;gap:7px!important;width:auto!important}
 body:not(.mobile-guest-signed-in) #createAccountBtn,body:not(.mobile-guest-signed-in) #mobilePremiumBtn{display:none!important}
 body:not(.mobile-guest-signed-in) #signInBtn{width:auto!important;min-height:42px!important;padding:9px 12px!important;border-radius:11px!important}
 body:not(.mobile-guest-signed-in) #languageBtn{width:44px!important;min-width:44px!important;height:42px!important;padding:0!important}
 .mobile-guest-coach-row{display:flex;align-items:center;gap:12px}.mobile-guest-coach-avatar{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#e2f6e9;font-size:29px}.mobile-guest-coach-row h2{margin:0;font-size:24px;color:#183028}.mobile-guest-coach-row p{margin:4px 0 0;color:#63736a;font-size:14px}.mobile-guest-greeting{display:grid;gap:4px;margin-top:14px;padding:14px;border:1px solid #cde5d6;border-radius:14px;background:#fff;line-height:1.45;color:#41564b}.mobile-guest-greeting strong{color:#087a45}.mobile-guest-start-speaking{width:100%;margin-top:13px;padding:15px;border:0;border-radius:14px;background:#079447;color:#fff;font-size:18px;font-weight:850;box-shadow:0 9px 20px rgba(7,148,71,.2)}#mobileGuestStartNote{display:block;margin-top:7px;text-align:center;color:#68786f}.mobile-guest-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.mobile-guest-action-grid button{min-height:78px;padding:11px;border:1px solid #d0e1d7;border-radius:14px;background:#fff;color:#20352b;text-align:left}.mobile-guest-action-grid span{display:block;margin-bottom:4px;font-size:22px}.mobile-guest-action-grid b{font-size:14px}.mobile-guest-examples{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px;padding-top:15px;border-top:1px solid #d9e9df}.mobile-guest-examples>strong,.mobile-guest-examples>span{grid-column:1/-1}.mobile-guest-examples>strong{font-size:17px}.mobile-guest-examples>span{color:#697a70;font-size:13px}.mobile-guest-example{min-height:126px;padding:12px;border:1px solid #b9dcc8;border-radius:14px;background:#fff;color:#293d33;text-align:left;line-height:1.3;cursor:pointer;box-shadow:0 4px 12px rgba(17,91,52,.05)}.mobile-guest-example b,.mobile-guest-example small,.mobile-guest-example em{display:block}.mobile-guest-example b{color:#173d2b;font-size:14px}.mobile-guest-example small{margin-top:7px;color:#66776e;font-size:12px}.mobile-guest-example em{margin-top:10px;color:#078244;font-size:12px;font-style:normal;font-weight:850}.mobile-guest-example:active,.mobile-guest-example:focus-visible{background:#eaf8ef;border-color:#079447;outline:none}.mobile-guest-example:last-child{grid-column:1/-1;min-height:auto}.mobile-guest-install{width:100%;margin-top:14px;padding:12px;border:1px solid #8cc5a4;border-radius:12px;background:#fff;color:#087a45;font-weight:800}
 body:not(.mobile-guest-signed-in) #pwaInstallBtn{display:none!important}
}
@media(max-width:420px){.mobile-guest-examples{grid-template-columns:1fr}.mobile-guest-examples>strong,.mobile-guest-examples>span,.mobile-guest-example:last-child{grid-column:auto}.mobile-guest-example{min-height:auto}}

/* V8.22 — compact top language trigger and non-overlapping install control. */
@media(max-width:760px){
 body:not(.mobile-guest-signed-in) #languageBtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;order:2;width:42px!important;min-width:42px!important;height:42px!important;border-radius:50%!important;font-size:0!important}
 body:not(.mobile-guest-signed-in) #languageBtn::before{content:'🌐';font-size:20px;line-height:1}
 body:not(.mobile-guest-signed-in) #languageBtnLabel{display:none!important}
 body:not(.mobile-guest-signed-in) #signInBtn{order:3}
 body:not(.mobile-guest-signed-in) #mobileGuestInstall{display:none!important}
 body:not(.mobile-guest-signed-in) #pwaInstallBtn:not(.hidden){display:inline-flex!important;position:fixed!important;align-items:center!important;left:10px!important;right:auto!important;bottom:78px!important;width:auto!important;min-height:38px!important;padding:8px 11px!important;border-radius:999px!important;font-size:0!important;line-height:1!important;white-space:nowrap!important;z-index:90!important;box-shadow:0 7px 18px rgba(0,81,40,.2)!important}
 body:not(.mobile-guest-signed-in) #pwaInstallBtn:not(.hidden)::after{content:'📲 Install TiKi';font-size:12px;font-weight:800}
}

/* V8.25 — definitive one-line mobile guest header. Overrides legacy grids. */
@media(max-width:760px){
 body:not(.v51-signed) .topbar{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important;min-height:64px!important;padding:9px 12px!important}
 body:not(.v51-signed) .topbar .mobile-brand{display:flex!important;flex:1 1 auto!important;min-width:0!important;padding-right:0!important}
 body:not(.v51-signed) .topbar .mobile-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body:not(.v51-signed) .topbar .account-actions{position:static!important;display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;width:auto!important;gap:7px!important}
 body:not(.v51-signed) #guestMobileTalkCta,body:not(.v51-signed) #createAccountBtn,body:not(.v51-signed) #mobilePremiumBtn,body:not(.v51-signed) #streakTop{display:none!important}
 body:not(.v51-signed) #languageBtn{display:inline-flex!important;position:static!important;inset:auto!important;order:1!important;grid-area:auto!important;flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;margin:0!important;border-radius:50%!important;font-size:20px!important}
 body:not(.v51-signed) #languageBtn::before{content:none!important}
 body:not(.v51-signed) #languageBtnLabel{display:none!important}
 body:not(.v51-signed) #signInBtn{display:inline-flex!important;position:static!important;inset:auto!important;order:2!important;grid-area:auto!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:auto!important;min-width:70px!important;min-height:42px!important;margin:0!important;padding:9px 12px!important;border-radius:11px!important;overflow:visible!important}
}
@media(max-width:390px){body:not(.v51-signed) .topbar{gap:6px!important;padding-left:9px!important;padding-right:9px!important}body:not(.v51-signed) .topbar .mobile-brand{gap:6px!important}body:not(.v51-signed) .topbar .mobile-brand strong{font-size:17px!important}body:not(.v51-signed) #languageBtn{flex-basis:40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important}body:not(.v51-signed) #signInBtn{min-width:64px!important;min-height:40px!important;padding:8px 9px!important;font-size:12px!important}}

/* V8.26 — IELTS Part 1 context and generated sample lesson. */
.ielts-p1-material{display:grid;gap:14px;margin:14px 0 18px}.ielts-p1-context-card,.ielts-p1-sample-card,.ielts-p1-answer-plan-card{border:1px solid #cfe3d7;border-radius:18px;padding:18px;background:#fff;box-shadow:0 7px 20px rgba(16,73,43,.055)}.ielts-p1-context-card{background:linear-gradient(145deg,#f2fbf6,#fff)}.ielts-p1-sample-card{border-color:#d8e2dc}.ielts-p1-answer-plan-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;background:#fbfdfb}.ielts-p1-material-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.ielts-p1-material small{display:block;color:#078244;font-size:11px;font-weight:900;letter-spacing:.07em}.ielts-p1-material h3{margin:3px 0 0;color:#173d2b;font-size:18px}.ielts-p1-material-head>span{padding:5px 9px;border-radius:999px;background:#e9f7ef;color:#08733d;font-size:11px;font-weight:800;white-space:nowrap}.ielts-p1-readable{font-size:16px;line-height:1.75;color:#263d32}.ielts-p1-readable span{border-radius:4px;transition:background .12s ease,color .12s ease}.ielts-p1-readable .ielts-p1-target-word{background:#d9f2e3;color:#075d31;font-weight:800;padding:1px 2px}.ielts-p1-readable .is-live-word{background:#ffe79a!important;color:#3d3100!important;box-shadow:0 0 0 2px #ffe79a}.ielts-p1-readable.is-reading{background:#fbfefc}.ielts-p1-sample-text{font-size:17px}.ielts-p1-personalize{margin:13px 0 3px;padding:11px 13px;border-left:3px solid #dda426;border-radius:7px;background:#fff8df;color:#5f5128;font-size:13px;line-height:1.5}.ielts-p1-material .ielts-item-actions{margin-top:14px}.ielts-p1-material .ielts-inline-feedback{margin-top:11px}.ielts-p1-material .ielts-inline-feedback details{margin:8px 0;padding:9px 11px;border:1px solid #dbe8e0;border-radius:10px;background:#fff}.ielts-p1-material .ielts-inline-feedback summary{cursor:pointer;font-weight:750}.ielts-p1-material .ielts-inline-feedback details p{margin:7px 0 0}.ielts-p1-answer-plan-card ol{grid-column:1;margin:8px 0 0;padding-left:22px;color:#354b40;line-height:1.7}.ielts-p1-answer-plan-card>button{grid-column:2;grid-row:1/3;white-space:nowrap;border-color:#8fc7a7;color:#08733d;background:#f4fbf7}.ielts-p1-material.is-loading{opacity:.8}
@media(max-width:700px){.ielts-p1-context-card,.ielts-p1-sample-card,.ielts-p1-answer-plan-card{padding:15px;border-radius:15px}.ielts-p1-material-head{flex-direction:column;gap:7px}.ielts-p1-readable,.ielts-p1-sample-text{font-size:15px;line-height:1.65}.ielts-p1-answer-plan-card{grid-template-columns:1fr}.ielts-p1-answer-plan-card ol,.ielts-p1-answer-plan-card>button{grid-column:1;grid-row:auto}.ielts-p1-answer-plan-card>button{width:100%;min-height:44px}.ielts-p1-material .ielts-item-actions{display:grid;grid-template-columns:1fr 1fr}.ielts-p1-material .ielts-item-actions button:first-child{grid-column:1/-1}}

/* V8.27 — word translation and two Part 1 speaking modes. */
.ielts-p1-tappable [data-p1-start]{cursor:pointer}.ielts-p1-tappable [data-p1-start]:hover,.ielts-p1-tappable .is-selected-word{background:#bff0d1!important;color:#064d2a!important;box-shadow:0 0 0 2px #bff0d1}.ielts-p1-tap-note{display:block;margin:6px 0 0;color:#708078!important;font-size:11px!important;font-weight:650!important;letter-spacing:0!important}.ielts-word-popover{position:fixed;z-index:13020;padding:15px 16px;border:1px solid #8cc8a5;border-radius:15px;background:#fff;box-shadow:0 18px 48px rgba(14,62,37,.24);color:#243a30}.ielts-word-popover.hidden{display:none!important}.ielts-word-popover:before{content:'';position:absolute;top:-7px;left:calc(50% - 7px);width:14px;height:14px;transform:rotate(45deg);background:#fff;border-left:1px solid #8cc8a5;border-top:1px solid #8cc8a5}.ielts-word-popover small{color:#078244;font-size:10px;font-weight:900;letter-spacing:.08em}.ielts-word-popover h4{margin:3px 30px 8px 0;color:#075f33;font-size:21px}.ielts-word-result{padding:10px 11px;border-radius:10px;background:#f0faf4;line-height:1.45}.ielts-word-close{position:absolute;right:9px;top:8px;width:32px;height:32px;border:0;background:transparent;color:#607068;font-size:25px;cursor:pointer}.ielts-word-actions{display:flex;gap:7px;margin-top:9px}.ielts-word-actions button{padding:7px 10px;border:1px solid #b8d8c6;border-radius:9px;background:#fff;color:#08733d;font-weight:800}.ielts-p1-read-btn{border-color:#aaa3dc!important;background:#f7f5ff!important;color:#51458f!important}.ielts-p1-plan-actions{grid-column:2;grid-row:1/3;display:grid;gap:8px;min-width:230px}.ielts-p1-plan-actions button{width:100%;min-height:44px}.ielts-p1-plan-actions #ieltsPart1Regenerate{border-color:#8fc7a7;color:#08733d;background:#f4fbf7}.ielts-p1-speak-panel{grid-column:1/-1;margin-top:13px;padding:14px;border:1px solid #d4e4da;border-radius:14px;background:#f9fcfa}.ielts-p1-sample-card .ielts-p1-speak-panel{margin-top:13px}.ielts-p1-speak-panel.hidden{display:none!important}.ielts-p1-recording{display:grid;gap:8px}.ielts-p1-recording strong{color:#bd2c39}.ielts-p1-recording p{margin:0;color:#52655b}.ielts-p1-recording button{justify-self:start}.ielts-p1-checking{padding:16px;text-align:center;color:#08733d;font-weight:850}.ielts-p1-result-head small{color:#078244}.ielts-p1-result-head h4{margin:3px 0 12px;font-size:18px}.ielts-p1-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:11px}.ielts-p1-metrics>div{display:grid;place-items:center;padding:12px;border:1px solid #d8e8de;border-radius:12px;background:#fff}.ielts-p1-metrics strong{font-size:24px;color:#08733d}.ielts-p1-metrics span{font-size:11px;color:#68786f}.ielts-p1-feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:11px 0}.ielts-p1-feedback-grid p,.ielts-p1-improved,.ielts-p1-next{margin:0;padding:11px;border:1px solid #dce9e1;border-radius:11px;background:#fff;line-height:1.45}.ielts-p1-used-vocab{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0}.ielts-p1-used-vocab span{padding:4px 8px;border-radius:999px;background:#dff4e7;color:#086238;font-size:12px;font-weight:800}.ielts-p1-improved{margin:10px 0;background:#f1faf5}.ielts-p1-improved p{margin:6px 0 0}.ielts-p1-next{margin:10px 0;background:#fff8df;border-color:#eedb9e}
@media(max-width:700px){.ielts-p1-plan-actions{grid-column:1;grid-row:auto;min-width:0}.ielts-p1-answer-plan-card ol,.ielts-p1-speak-panel{grid-column:1}.ielts-p1-feedback-grid{grid-template-columns:1fr}.ielts-word-popover{position:fixed!important;left:10px!important;right:10px!important;top:auto!important;bottom:12px!important;width:auto!important;border-radius:18px}.ielts-word-popover:before{display:none}.ielts-p1-recording button{width:100%}.ielts-p1-speak-panel .ielts-mini-actions{display:grid;grid-template-columns:1fr 1fr}.ielts-p1-speak-panel .ielts-mini-actions button{width:100%}}
.v51-composer-foot>div{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.v51-composer-foot #tikiNoiseModeBtn,.v51-composer-foot #tikiNoisySpeakBtn{border:1px solid #b9dfc8;background:#f2fbf5;color:#08783b;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.v51-composer-foot #tikiNoiseModeBtn[aria-pressed="true"]{background:#fff7e8;border-color:#f0c46b;color:#875600}.v51-composer-foot #tikiNoisySpeakBtn[aria-pressed="true"]{background:#0b9a4a;color:#fff;border-color:#0b9a4a}.v51-composer-foot #tikiNoisySpeakBtn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:720px){.v51-composer-foot{flex-direction:column;gap:5px}.v51-composer-foot #tikiNoiseModeBtn,.v51-composer-foot #tikiNoisySpeakBtn{font-size:11px;padding:6px 10px}}
.material-content-preview{margin:8px 0 12px;padding:8px 10px;border-radius:10px;background:#f4faf7;color:#466055;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
