
.msl-wrap,.msl-front{font-family:Tahoma,Arial,sans-serif}
.msl-wrap .msl-panel{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:18px;margin:18px 0}
.msl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;max-width:1000px}
.msl-grid label,.msl-front label{display:block;font-weight:600}
.msl-grid input,.msl-grid select,.msl-front input,.msl-front select{display:block;width:100%;box-sizing:border-box;margin-top:7px;min-height:40px;padding:8px;border:1px solid #c3c4c7;border-radius:6px}
.msl-inline{display:inline-flex;gap:5px;align-items:center;margin:2px;flex-wrap:wrap}
.msl-inline input{max-width:190px}
.msl-ok{color:#087a39;font-weight:bold}.msl-no{color:#b32d2e;font-weight:bold}
.msl-front{max-width:100%;margin:20px auto;color:#202124}
.msl-login,.msl-coming{max-width:460px;margin:25px auto;padding:24px;background:#fff;border:1px solid #e1e4e8;border-radius:14px;box-shadow:0 5px 20px rgba(0,0,0,.06)}
.msl-login h2,.msl-coming h3{margin-top:0}
.msl-login label{margin:14px 0}
.msl-login button,.msl-logout{border:0;border-radius:8px;padding:12px 22px;background:#173f35;color:#fff;cursor:pointer;font-weight:bold}
.msl-error{padding:10px;background:#fff0f0;color:#a00;border-radius:8px}
.msl-welcome{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 18px;margin-bottom:15px;background:#f4f7f5;border-radius:12px}
.msl-welcome h2{margin:0 0 5px}.msl-welcome p{margin:0}
.msl-course-frame{width:100%;overflow:hidden}
.msl-course-frame>html{width:100%}
@media(max-width:600px){.msl-welcome{align-items:flex-start;flex-direction:column}.msl-wrap .widefat{font-size:12px}.msl-actions{min-width:160px}}

.msl-basic-course{margin-top:18px}.msl-basic-course h2{font-size:22px}.msl-basic-lesson{background:rgba(255,255,255,.78);border:1px solid #d9e0ea;border-radius:12px;padding:12px 15px;margin:10px 0}.msl-basic-lesson summary{cursor:pointer;font-weight:700}.msl-basic-line{padding:12px 0;border-bottom:1px solid #e7ebf1}.msl-basic-target{font-size:20px;font-weight:700;direction:ltr;text-align:left;margin-bottom:7px}.msl-speak{border:0;border-radius:8px;padding:8px 12px;cursor:pointer;background:#17345c;color:#fff}.msl-basic-translation{margin-top:7px;color:#4b5563}.msl-tts-note{font-size:13px;color:#596579;margin-top:15px}
/* 1.1.0: course data, speech playback and synchronized reading highlight */
.msl-json-course{margin-top:18px;line-height:1.9}
.msl-json-course .msl-tts-note{padding:10px 13px;background:#f3f6fa;border-radius:9px}
.msl-json-course .msl-course-progress{font-size:13px;color:#526174;margin:8px 0 14px}
.msl-json-course .msl-basic-lesson{background:#fff;border:1px solid #d9e0ea;border-radius:12px;padding:13px 16px;margin:11px 0}
.msl-json-course .msl-basic-lesson summary{cursor:pointer;font-weight:700}
.msl-json-course .msl-basic-lesson summary small{display:inline-block;margin-right:8px;padding:1px 7px;border-radius:20px;background:#edf2f8;color:#40516a;font-size:11px}
.msl-json-course h4{margin:16px 0 6px;font-size:15px}
.msl-json-course .msl-vocab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:5px 12px}
.msl-json-course .msl-basic-line{padding:9px 0;border-bottom:1px solid #edf0f4;min-width:0}
.msl-json-course .msl-basic-target{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;font-size:19px;line-height:1.6;overflow-wrap:anywhere}
.msl-json-course .msl-read-text{border-radius:5px;padding:1px 3px;transition:background .15s,box-shadow .15s}
.msl-json-course .msl-read-text.msl-speaking{background:#ffec99;box-shadow:0 0 0 3px rgba(245,190,45,.22);color:#172033}
.msl-json-course .msl-speak{flex:0 0 auto;padding:5px 9px;font-size:14px}
@media(max-width:600px){.msl-json-course .msl-vocab-grid{grid-template-columns:1fr}.msl-json-course .msl-basic-target{font-size:18px}}
.msl-json-course .msl-token-now{background:#ffd96a;color:#172033;border-radius:4px;box-shadow:0 0 0 2px rgba(245,190,45,.2)}

/* Magicsun Language 1.2.0 — structured lesson experience */
.msl-academy{--msl-ink:#18243b;--msl-muted:#637083;--msl-line:#dce4ee;--msl-blue:#214b83;--msl-teal:#0d827c;--msl-soft:#f2f6fb;color:var(--msl-ink);font-family:Tahoma,Arial,sans-serif;line-height:1.85;margin:20px auto;max-width:1120px}
.msl-academy *{box-sizing:border-box}.msl-academy button,.msl-academy textarea{font:inherit}.msl-academy button{cursor:pointer}.msl-academy button:disabled{opacity:.4;cursor:not-allowed}
.msl-academy-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;background:linear-gradient(135deg,#f4f7fc,#eaf4f4);border:1px solid var(--msl-line);border-radius:18px}
.msl-kicker{font-size:11px;letter-spacing:.08em;color:var(--msl-teal);font-weight:800}.msl-academy-head h2{margin:4px 0;font-size:clamp(20px,3vw,29px);color:var(--msl-ink)}.msl-academy-head p{margin:0;color:var(--msl-muted)}.msl-academy-actions{display:flex;gap:8px;flex-wrap:wrap}.msl-academy-actions button,.msl-back-home,.msl-lesson-nav button,.msl-save-note,.msl-grade-quiz,.msl-play-all-dialogue,.msl-repeat-dialogue,.msl-flash-next{border:1px solid #cbd7e5;background:#fff;color:var(--msl-blue);border-radius:10px;padding:9px 13px;font-weight:700}
.msl-academy-progress{padding:15px 3px}.msl-academy-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--msl-muted)}.msl-academy-progress strong{color:var(--msl-blue)}.msl-progress-track{height:9px;background:#e7edf4;border-radius:99px;overflow:hidden;margin-top:9px}.msl-progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1d568f,#12a095);border-radius:99px;transition:width .25s}
.msl-course-home,.msl-lesson-view{background:#fff;border:1px solid var(--msl-line);border-radius:16px;padding:20px;margin:12px 0}.msl-course-home h3,.msl-lesson-title{margin:0 0 6px;color:var(--msl-ink)}.msl-course-home>p,.msl-lesson-objective{color:var(--msl-muted);margin:0 0 16px}.msl-lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.msl-lesson-tile{display:flex;align-items:center;gap:12px;text-align:right;background:#fff;border:1px solid var(--msl-line);border-radius:12px;padding:12px;min-width:0;color:var(--msl-ink)}.msl-lesson-tile:hover{border-color:#6f9ac8;background:#f8fbff}.msl-lesson-tile.is-done{background:#f0faf6;border-color:#b9e1d0}.msl-tile-no{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#edf3fa;color:var(--msl-blue);font-weight:800}.msl-tile-text{display:flex;flex-direction:column;min-width:0;flex:1}.msl-tile-text strong{font-size:14px;line-height:1.6}.msl-tile-text small{color:var(--msl-muted);font-size:11px}.msl-tile-state{font-size:20px;color:var(--msl-teal)}
.msl-lesson-top,.msl-lesson-nav,.msl-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.msl-lesson-level{padding:3px 10px;background:#edf5f5;color:var(--msl-teal);border-radius:20px;font-size:12px;font-weight:700}.msl-lesson-title{font-size:24px;margin-top:15px}.msl-lesson-nav{margin:16px 0;padding:10px;background:var(--msl-soft);border-radius:12px}.msl-lesson-number{font-size:13px;font-weight:700;color:var(--msl-muted)}.msl-learning-tabs{display:flex;gap:6px;overflow-x:auto;padding:5px;margin:16px 0;background:#f0f4f8;border-radius:12px}.msl-learning-tabs button{white-space:nowrap;flex:1;min-width:max-content;border:0;border-radius:9px;background:transparent;padding:10px 13px;color:var(--msl-muted);font-weight:700}.msl-learning-tabs button[aria-selected=true]{background:#fff;color:var(--msl-blue);box-shadow:0 1px 5px #152c451a}.msl-tab-panel[hidden],.msl-lesson-view[hidden],.msl-course-home[hidden]{display:none!important}.msl-tab-panel h4{margin:12px 0;color:var(--msl-blue)}
.msl-word-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.msl-word-card,.msl-practice-card,.msl-reading-card{background:#fbfcfe;border:1px solid var(--msl-line);border-radius:12px;padding:12px;margin:9px 0}.msl-study-line{padding:5px 0}.msl-target{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;direction:ltr;text-align:left;font-size:20px;font-weight:700;color:#172d49;overflow-wrap:anywhere}.msl-tokenized{display:inline}.msl-word{border-radius:4px;padding:1px 1px}.msl-word-now{background:#ffdf77!important;color:#14233b!important;box-shadow:0 0 0 2px #ffdf7750}.msl-reading-now{background:#fff8df;border-radius:6px}.msl-audio-btn{border:0;border-radius:9px;background:#eaf1fa;color:#214b83;min-width:38px;min-height:36px;font-size:17px}.msl-fa{color:#5c697b;font-size:14px;margin-top:3px}.msl-study-tip{padding:13px 15px;background:#f0f7f7;border-right:3px solid var(--msl-teal);border-radius:9px;margin-top:16px}.msl-study-tip p{margin:4px 0}.msl-dialogue-line{padding:12px;margin:8px 0;border:1px solid var(--msl-line);border-radius:11px}.msl-dialogue-line>b{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#edf4fa;color:var(--msl-blue)}.msl-dialogue-active{border-color:var(--msl-teal);background:#f0faf9}.msl-reading-card p{color:var(--msl-muted)}.msl-practice-card label{display:block;font-weight:700}.msl-note-input{display:block;width:100%;margin:8px 0;padding:11px;border:1px solid #cbd6e3;border-radius:10px;min-height:110px}.msl-note-status{margin-right:10px;color:var(--msl-teal);font-size:13px}.msl-flash-area{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.msl-flash-card{display:flex;flex-direction:column;gap:8px;min-width:180px;min-height:100px;align-items:center;justify-content:center;padding:15px;border:1px dashed #83a4c8;border-radius:12px;background:#f3f7fc;color:var(--msl-blue)}.msl-flash-card strong{font-size:21px}.msl-flash-card span{font-size:12px;color:var(--msl-muted)}
.msl-quiz-q{border:1px solid var(--msl-line);border-radius:12px;padding:13px;margin:10px 0}.msl-quiz-q legend{font-weight:800;padding:0 5px}.msl-quiz-q label{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:5px 0;border-radius:8px;background:#f7f9fc;font-weight:400;cursor:pointer}.msl-quiz-q input{accent-color:var(--msl-teal)}.msl-quiz-feedback{font-size:13px;margin-top:7px}.msl-quiz-feedback.is-correct{color:#14734e}.msl-quiz-feedback.is-wrong{color:#a33a36}.msl-quiz-result{font-weight:800;margin-top:12px;color:var(--msl-blue)}.msl-lesson-finish{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--msl-line);padding-top:16px;margin-top:20px}.msl-mark-complete{border:0;border-radius:10px;padding:11px 17px;background:#176b58;color:#fff;font-weight:800}.msl-finish-status{font-size:13px;color:var(--msl-teal)}.msl-tts-footnote{font-size:12px;color:var(--msl-muted);padding:8px 3px}
@media(max-width:650px){.msl-academy-head{align-items:flex-start;flex-direction:column;padding:16px}.msl-lesson-grid,.msl-word-grid{grid-template-columns:1fr}.msl-course-home,.msl-lesson-view{padding:13px}.msl-lesson-title{font-size:20px}.msl-learning-tabs button{padding:9px 11px;font-size:13px}.msl-academy-progress>div:first-child{display:block}.msl-academy-progress>div:first-child span{display:block}}

/* Magicsun Language 1.4.0 — enforced one-column page layout and contained mobile tabs */
/* The body class is added both by WordPress and by the shortcode runtime, so themes
   that omit body_class() still receive the page-scoped layout correction. */
body.msl-full-width-page,
body.msl-full-width-page #page,
body.msl-full-width-page .site,
body.msl-full-width-page #content,
body.msl-full-width-page .site-content,
body.msl-full-width-page .site-content-inner,
body.msl-full-width-page .content-wrap,
body.msl-full-width-page .ast-container,
body.msl-full-width-page .container,
body.msl-full-width-page .content-area,
body.msl-full-width-page #primary,
body.msl-full-width-page #main,
body.msl-full-width-page main.site-main,
body.msl-full-width-page .site-main,
body.msl-full-width-page .entry-content {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
body.msl-full-width-page #secondary,
body.msl-full-width-page #sidebar,
body.msl-full-width-page #left-sidebar,
body.msl-full-width-page #right-sidebar,
body.msl-full-width-page .sidebar,
body.msl-full-width-page .sidebar-primary,
body.msl-full-width-page .sidebar-secondary,
body.msl-full-width-page .sidebar-main,
body.msl-full-width-page .sidebar-container,
body.msl-full-width-page .site-sidebar,
body.msl-full-width-page .primary-sidebar,
body.msl-full-width-page .secondary-sidebar,
body.msl-full-width-page .widget-area,
body.msl-full-width-page .widget-area-secondary,
body.msl-full-width-page .elementor-location-sidebar,
body.msl-full-width-page .elementor-widget-sidebar,
body.msl-full-width-page aside[id*="sidebar"],
body.msl-full-width-page aside[class*="sidebar"],
body.msl-full-width-page [id^="sidebar-"],
body.msl-full-width-page [class*="sidebar-column"] {
  display:none !important;
  width:0 !important;
  max-width:0 !important;
  flex:0 0 0 !important;
}
/* Remove two/three-column theme layouts on this page only. */
body.msl-full-width-page #content,
body.msl-full-width-page .site-content,
body.msl-full-width-page .content-area,
body.msl-full-width-page .ast-container,
body.msl-full-width-page .content-wrap {
  display:block !important;
  grid-template-columns:minmax(0,1fr) !important;
  column-gap:0 !important;
}
body.msl-full-width-page #primary,
body.msl-full-width-page #main,
body.msl-full-width-page main,
body.msl-full-width-page .site-main,
body.msl-full-width-page .entry-content {
  float:none !important;
  flex:1 1 100% !important;
  margin-inline:0 !important;
}
body.msl-full-width-page { overflow-x:clip; }
body.msl-full-width-page .msl-front,
body.msl-full-width-page .msl-course-frame,
body.msl-full-width-page .msl-academy {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
body.msl-full-width-page .msl-front { margin-inline:0 !important; }
.msl-academy,.msl-academy * { box-sizing:border-box; min-width:0; max-width:100%; }
.msl-academy { margin:12px auto; overflow-x:clip; }
.msl-academy img,.msl-academy table,.msl-academy pre,.msl-academy iframe { max-width:100%; }
.msl-academy button,.msl-academy input,.msl-academy textarea,.msl-academy select { max-width:100%; }
.msl-academy .msl-target,
.msl-academy .msl-fa,
.msl-academy .msl-lesson-title,
.msl-academy .msl-tile-text strong,
.msl-academy .msl-quiz-q legend,
.msl-academy .msl-quiz-q label,
.msl-academy .msl-reading-card,
.msl-academy .msl-dialogue-line { overflow-wrap:anywhere; word-break:normal; }
.msl-academy .msl-ipa { margin-top:3px; color:#596579; font-size:12px; direction:ltr; text-align:left; }

@media (max-width: 768px) {
  body.msl-full-width-page #page,
  body.msl-full-width-page .site,
  body.msl-full-width-page #content,
  body.msl-full-width-page .site-content,
  body.msl-full-width-page .content-area,
  body.msl-full-width-page .ast-container,
  body.msl-full-width-page .container,
  body.msl-full-width-page #primary,
  body.msl-full-width-page .site-main,
  body.msl-full-width-page .entry-content {
    padding-inline:0 !important;
    margin-inline:0 !important;
  }
  .msl-academy { margin:8px 0; padding:0; border-radius:0; }
  .msl-academy-head { padding:14px; border-radius:12px; }
  .msl-academy-actions { width:100%; display:flex; flex-wrap:wrap; }
  .msl-academy-actions button { flex:1 1 130px; min-width:0; white-space:normal; }
  .msl-course-home,.msl-lesson-view { padding:12px; margin:8px 0; border-radius:12px; }
  .msl-lesson-grid,.msl-word-grid { grid-template-columns:minmax(0,1fr) !important; }
  .msl-lesson-tile { width:100%; padding:10px; gap:8px; }
  .msl-lesson-title { font-size:19px; line-height:1.55; }
  .msl-lesson-nav { display:grid; grid-template-columns:minmax(0,1fr); text-align:center; }
  .msl-lesson-nav button { width:100%; min-width:0; }
  /* Tabs wrap into rows; they no longer force a wider-than-screen horizontal strip. */
  .msl-learning-tabs {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    margin:12px 0 !important;
    padding:5px !important;
    gap:5px !important;
  }
  .msl-learning-tabs button {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    flex:none !important;
    white-space:normal !important;
    overflow-wrap:anywhere;
    text-align:center;
    line-height:1.45;
    padding:9px 4px !important;
    font-size:12px !important;
  }
  .msl-tab-panel { width:100%; max-width:100%; min-width:0; overflow-wrap:anywhere; }
  .msl-tab-panel > * { max-width:100%; }
  .msl-target { font-size:17px; }
  .msl-audio-btn { min-width:40px; min-height:40px; }
  .msl-quiz-q { width:100%; max-width:100%; padding:10px; }
  .msl-quiz-q label { align-items:flex-start; overflow-wrap:anywhere; }
  .msl-lesson-finish { align-items:stretch; flex-direction:column; }
  .msl-mark-complete { width:100%; }
  .msl-flash-area { width:100%; min-width:0; }
  .msl-flash-card { min-width:0; width:100%; }
}
@media (max-width: 380px) {
  .msl-academy-head h2 { font-size:18px; }
  .msl-academy-actions button,.msl-back-home,.msl-lesson-nav button { font-size:12px; padding:8px; }
  .msl-tile-no { flex-basis:32px; height:32px; }
  .msl-learning-tabs { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .msl-learning-tabs button { font-size:12px !important; }
}

/* Magicsun Language 1.5.0 — page-scoped true full-width layout and academy dashboard */
body.msl-full-width-page .msl-fullwidth-layout-host,
body.msl-full-width-page .msl-fullwidth-content {
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin-inline:0 !important;
}
body.msl-full-width-page .msl-fullwidth-layout-host {
  display:block !important;
  grid-template-columns:minmax(0,1fr) !important;
  column-gap:0 !important;
  flex:1 1 100% !important;
}
body.msl-full-width-page .msl-fullwidth-content {
  float:none !important;
  grid-column:1 / -1 !important;
  flex:1 1 100% !important;
}
body.msl-full-width-page .msl-theme-sidebar-hidden { display:none !important; width:0 !important; max-width:0 !important; flex:0 0 0 !important; }
body.msl-full-width-page .msl-front { width:100% !important; max-width:none !important; margin:18px 0 !important; }
body.msl-full-width-page .msl-login-hero,
body.msl-full-width-page .msl-login-layout,
body.msl-full-width-page .msl-login-footer,
body.msl-full-width-page .msl-contact-glass,
body.msl-full-width-page .msl-welcome,
body.msl-full-width-page .msl-subscription,
body.msl-full-width-page .msl-academy { width:100% !important; max-width:none !important; }
.msl-login-hero { position:relative; overflow:hidden; padding:clamp(22px,4vw,42px); margin:0 0 20px; border-radius:22px; color:#fff; background:linear-gradient(120deg,#102c4c 0%,#176c72 55%,#5a4a86 100%); box-shadow:0 16px 40px rgba(17,43,72,.18); }
.msl-login-hero:after { content:""; position:absolute; width:280px; height:280px; border-radius:50%; background:rgba(255,255,255,.09); left:-90px; top:-120px; }
.msl-hero-brand { color:#c8f4ed; font-size:11px; font-weight:800; letter-spacing:.14em; }
.msl-login-hero h1 { position:relative; z-index:1; margin:9px 0; color:#fff; font-size:clamp(23px,3.5vw,36px); line-height:1.5; }
.msl-login-hero>p { position:relative; z-index:1; max-width:850px; color:#e9f3f7; margin:0; }
.msl-language-cards { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
.msl-language-cards>div { display:flex; flex-direction:column; gap:4px; padding:14px; border:1px solid rgba(255,255,255,.23); border-radius:14px; background:rgba(255,255,255,.12); backdrop-filter:blur(12px); }
.msl-language-cards b { color:#fff; }
.msl-language-cards span { color:#e1eff3; font-size:13px; }
.msl-login-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.85fr); gap:22px; align-items:stretch; }
.msl-login-side,.msl-login-footer { padding:25px; border:1px solid #e0e7ef; border-radius:17px; background:linear-gradient(145deg,#fff,#f3f7fb); }
.msl-login-side h2,.msl-login-footer h3 { margin-top:0; color:#183b5d; }
.msl-login-side p,.msl-login-side li,.msl-login-footer p { color:#526277; line-height:2; }
.msl-login-side ul { padding-right:20px; margin-bottom:0; }
.msl-login { box-sizing:border-box; width:100%; max-width:none; margin:0; padding:25px; }
.msl-login button { width:100%; margin-top:8px; }
.msl-login-footer { margin-top:20px; }
.msl-contact-glass { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:19px 23px; margin:0 0 15px; border:1px solid rgba(255,255,255,.7); border-radius:18px; background:linear-gradient(110deg,rgba(231,247,255,.88),rgba(237,250,244,.82),rgba(245,239,255,.9)); box-shadow:0 12px 30px rgba(28,67,99,.1); backdrop-filter:blur(16px); }
.msl-contact-kicker { color:#16827e; font-size:10px; font-weight:900; letter-spacing:.12em; }
.msl-contact-glass h3 { margin:3px 0; color:#173d5d; font-size:19px; }
.msl-contact-glass p { margin:0; color:#52677b; }
.msl-contact-actions { display:flex; flex-wrap:wrap; gap:9px; }
.msl-contact-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 17px; border-radius:11px; text-decoration:none; font-weight:800; }
.msl-contact-wa { background:#16845c; color:#fff !important; }
.msl-contact-email { background:#fff; color:#234e79 !important; border:1px solid #cbd9e7; }
.msl-subscription { box-sizing:border-box; padding:15px 18px; margin:0 0 16px; border:1px solid #dce7ed; border-radius:14px; background:#f8fbfc; }
.msl-subscription-top,.msl-subscription-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.msl-subscription-top strong { color:#1b4566; }
.msl-subscription-top span,.msl-subscription-bottom { color:#52687a; font-size:13px; }
.msl-subscription-track { height:8px; margin:10px 0; overflow:hidden; border-radius:20px; background:#e4ebef; }
.msl-subscription-track i { display:block; height:100%; border-radius:20px; background:linear-gradient(90deg,#188f80,#5cb98c); }
.msl-report-card { margin-top:24px; padding:18px; border:1px solid #dce5ef; border-radius:16px; background:#fff; }
.msl-report-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.msl-report-head h3 { margin:0; color:#1b4566; }
.msl-report-head p { margin:3px 0 0; color:#66768a; font-size:13px; }
.msl-load-report { border:0; border-radius:10px; padding:10px 16px; background:#214b83; color:#fff; font-weight:800; cursor:pointer; }
.msl-report-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.msl-report-summary>div { display:flex; flex-direction:column; gap:5px; padding:13px; border-radius:12px; background:#f1f6fa; }
.msl-report-summary span { color:#64758a; font-size:12px; }
.msl-report-summary strong { color:#174e6e; font-size:23px; }
.msl-report-level { padding:10px 13px; border-radius:10px; background:#edf8f4; color:#17664e; font-weight:800; }
.msl-report-note { color:#6c7786; font-size:12px; }
.msl-report-table-wrap { width:100%; overflow-x:auto; }
.msl-report-table { width:100%; border-collapse:collapse; font-size:13px; }
.msl-report-table th,.msl-report-table td { padding:9px; border-bottom:1px solid #e7edf2; text-align:right; }
.msl-report-table th { background:#f4f7fa; color:#264c70; }
@media(max-width:760px) {
 .msl-login-layout { grid-template-columns:minmax(0,1fr); }
 .msl-language-cards { grid-template-columns:minmax(0,1fr); }
 .msl-contact-glass { align-items:stretch; flex-direction:column; }
 .msl-contact-actions { width:100%; }
 .msl-contact-actions a { flex:1 1 130px; }
 .msl-report-summary { grid-template-columns:minmax(0,1fr); }
 .msl-report-head { align-items:stretch; flex-direction:column; }
 .msl-load-report { width:100%; }
 .msl-login-side,.msl-login,.msl-login-footer { padding:17px; }
}


/* 2.0.0 — robust RTL quiz and reading answer layout, all lessons */
.msl-academy .msl-quiz-q { width:100%; max-width:100%; min-width:0; overflow:visible; }
.msl-academy .msl-quiz-q label {
  direction:ltr !important;
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) !important;
  align-items:center !important;
  justify-content:stretch !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:48px;
  padding:10px 12px !important;
  text-align:right !important;
}
.msl-academy .msl-quiz-q label input[type="radio"] {
  grid-column:1 !important;
  justify-self:start !important;
  align-self:center !important;
  width:19px !important;
  height:19px !important;
  margin:0 !important;
  flex:none !important;
}
.msl-academy .msl-quiz-q label span {
  grid-column:2 !important;
  display:block !important;
  direction:rtl !important;
  text-align:right !important;
  width:100% !important;
  min-width:0 !important;
  line-height:1.9 !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.msl-academy .msl-quiz-q legend { direction:rtl; text-align:right; max-width:100%; line-height:1.8; }
.msl-academy .msl-reading-questions { width:100%; max-width:100%; min-width:0; overflow:visible; }
.msl-academy .msl-reading-card { width:100%; min-width:0; overflow:visible; padding:14px; }
.msl-academy .msl-reading-card .msl-target { direction:ltr; text-align:left; line-height:1.9; }
.msl-academy .msl-reading-card > p { direction:rtl; text-align:right; line-height:2.1; overflow-wrap:anywhere; }
.msl-academy .msl-reading-questions .msl-quiz-q { margin-inline:0; }
.msl-academy .msl-tab-panel { min-width:0; width:100%; overflow:visible; }
@media(max-width:650px) {
 .msl-academy .msl-quiz-q { padding:10px !important; }
 .msl-academy .msl-quiz-q label { grid-template-columns:22px minmax(0,1fr) !important; gap:8px !important; padding:10px 8px !important; }
 .msl-academy .msl-quiz-q label span { font-size:14px !important; }
 .msl-academy .msl-reading-card { padding:12px !important; }
 .msl-academy .msl-reading-questions { padding-bottom:4px; }
}


/* 2.0.0 — robust RTL quiz and reading answer layout, all lessons */
.msl-academy .msl-quiz-q { width:100%; max-width:100%; min-width:0; overflow:visible; }
.msl-academy .msl-quiz-q label {
  direction:ltr !important;
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) !important;
  align-items:center !important;
  justify-content:stretch !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:48px;
  padding:10px 12px !important;
  text-align:right !important;
}
.msl-academy .msl-quiz-q label input[type="radio"] {
  grid-column:1 !important;
  justify-self:start !important;
  align-self:center !important;
  width:19px !important;
  height:19px !important;
  margin:0 !important;
  flex:none !important;
}
.msl-academy .msl-quiz-q label span {
  grid-column:2 !important;
  display:block !important;
  direction:rtl !important;
  text-align:right !important;
  width:100% !important;
  min-width:0 !important;
  line-height:1.9 !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.msl-academy .msl-quiz-q legend { direction:rtl; text-align:right; max-width:100%; line-height:1.8; }
.msl-academy .msl-reading-questions { width:100%; max-width:100%; min-width:0; overflow:visible; }
.msl-academy .msl-reading-card { width:100%; min-width:0; overflow:visible; padding:14px; }
.msl-academy .msl-reading-card .msl-target { direction:ltr; text-align:left; line-height:1.9; }
.msl-academy .msl-reading-card > p { direction:rtl; text-align:right; line-height:2.1; overflow-wrap:anywhere; }
.msl-academy .msl-reading-questions .msl-quiz-q { margin-inline:0; }
.msl-academy .msl-tab-panel { min-width:0; width:100%; overflow:visible; }
@media(max-width:650px) {
 .msl-academy .msl-quiz-q { padding:10px !important; }
 .msl-academy .msl-quiz-q label { grid-template-columns:22px minmax(0,1fr) !important; gap:8px !important; padding:10px 8px !important; }
 .msl-academy .msl-quiz-q label span { font-size:14px !important; }
 .msl-academy .msl-reading-card { padding:12px !important; }
 .msl-academy .msl-reading-questions { padding-bottom:4px; }
}

/* Dialogue speaker labels: prevent long Persian role/scene labels from spilling vertically. */
.msl-academy .msl-dialogue-line>b {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:27px !important;
  max-width:100% !important;
  min-height:27px !important;
  height:auto !important;
  padding:3px 9px !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.5 !important;
  border-radius:999px !important;
}
.msl-academy .msl-dialogue-line { min-width:0; overflow:visible; }
.msl-academy .msl-dialogue-line .msl-target { min-width:0; }

.msl-academy .msl-dialogue-scene{margin:18px 0 8px;padding:8px 12px;border-right:3px solid var(--msl-teal);background:#f0f7f7;border-radius:8px;font-size:15px}

/* 2.4.0 — spaced vocabulary review, targeted mistake practice and learner dashboard */
.msl-smart-review,.msl-smart-submit,.msl-record-start,.msl-record-stop{border:1px solid #cbd7e5;border-radius:9px;padding:8px 11px;background:#fff;color:#214b83;font-weight:700;cursor:pointer}.msl-smart-review{display:inline-block;margin:8px 0;background:#eef5ff}.msl-smart-review-panel{margin-top:14px;padding:14px;border:1px solid #cbdced;border-radius:12px;background:#f8fbff}.msl-smart-review-panel h4{margin-top:0}.msl-speaking-recorder{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:12px;border-radius:10px;background:#f4f7fa}.msl-speaking-recorder p{flex-basis:100%;margin:0;color:#64758a;font-size:13px}.msl-record-status{font-size:12px;color:#176b58}.msl-record-playback{width:100%;max-width:420px}.msl-report-summary{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}


/* v2.5.0 — cleaner navigation, dialogue controls and contact guidance */
.msl-contact-glass { gap:22px; padding:22px 26px; margin:0 0 18px; border-color:#d8e6ed; background:linear-gradient(115deg,#f0f7fb 0%,#edf7f4 55%,#f5f1fb 100%); }
.msl-contact-glass h3 { font-size:clamp(17px,2vw,20px); line-height:1.65; }
.msl-contact-glass p { max-width:760px; line-height:2; font-size:14px; }
.msl-contact-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:9px; }
.msl-contact-actions a { min-width:125px; text-align:center; }
.msl-login-hero { padding:clamp(24px,4vw,44px); }
.msl-language-cards { gap:12px; }
.msl-login-layout { gap:18px; }
.msl-login-side,.msl-login { box-shadow:0 8px 26px rgba(25,54,82,.055); }
.msl-login input,.msl-login select { min-height:46px; border-radius:10px; }
.msl-login button { min-height:47px; border-radius:11px; }
.msl-welcome { border:1px solid #e0e8ef; background:linear-gradient(110deg,#f4f8fb,#f0f7f5); }
.msl-course-home,.msl-lesson-view { box-shadow:0 8px 26px rgba(25,54,82,.045); }
.msl-lesson-tile { min-height:66px; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.msl-lesson-tile:hover { transform:translateY(-1px); }
.msl-tile-text small { font-size:12px; font-weight:700; color:#0d827c; }
.msl-dialogue-controls { align-items:center; padding:10px 12px; border:1px solid #e0e8ef; border-radius:12px; background:#f6f9fc; }
.msl-dialogue-controls>div { display:flex; flex-wrap:wrap; gap:8px; }
.msl-academy .msl-stop-audio { border:1px solid #e4caca; background:#fff7f6; color:#a33e3e; border-radius:10px; padding:9px 13px; font-weight:800; }
.msl-academy .msl-stop-audio:hover { background:#ffefed; }
.msl-speaking-recorder { border:1px solid #e2eaf0; }
.msl-report-card { box-shadow:0 8px 26px rgba(25,54,82,.045); }
@media(max-width:650px) {
  .msl-contact-glass { padding:16px; }
  .msl-contact-actions { width:100%; }
  .msl-contact-actions a { flex:1 1 120px; }
  .msl-dialogue-controls { align-items:stretch; }
  .msl-dialogue-controls>div { width:100%; }
  .msl-dialogue-controls button { flex:1 1 140px; }
}
