/* Mindset Journey — only classes with the msj prefix; no embedded lesson layout. */
.msj{max-width:1080px;margin:0 auto;padding:12px 4px 46px;color:#193657}
.msj *{box-sizing:border-box}
.msj h1,.msj h2,.msj h3{line-height:1.28;color:#152e60;overflow-wrap:break-word}
.msj h1{font-size:clamp(1.8rem,4.1vw,2.85rem);margin:8px 0 10px}
.msj h2{font-size:clamp(1.28rem,2.5vw,1.62rem);margin:0}
.msj h3{font-size:1.15rem;margin:0 0 6px}
.msj p{line-height:1.6;font-size:1rem}
.msj-head{background:linear-gradient(125deg,#f5fbff,#fff9e9);border:1px solid #dceaf1;border-radius:22px;padding:25px clamp(18px,4vw,36px);margin-bottom:22px}
.msj-head p{color:#4a637c;margin:0;max-width:680px}
.msj-kicker{display:inline-block;color:#2e6fa8;font-size:.78rem;letter-spacing:.08em;font-weight:850}
.msj-principles,.msj-journey,.msj-activity{background:#fff;border:1px solid #e0e9ef;border-radius:20px;padding:clamp(16px,3vw,27px);margin-bottom:20px;box-shadow:0 5px 22px #163b6d09}
.msj-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;margin-bottom:17px}
.msj-title>span{font-size:.92rem;color:#607a91}
.msj-principle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px}
.msj-principle{display:flex;align-items:flex-start;gap:9px;border-radius:14px;background:#f6faff;border:1px solid #e4eff6;padding:13px}
.msj-number{flex-shrink:0;width:27px;height:27px;display:grid;place-items:center;color:#2c7298;background:#e1f4ef;border-radius:50%;font-size:.85rem;font-weight:800}
.msj-principle strong,.msj-principle small{display:block;line-height:1.46}
.msj-principle strong{font-size:.97rem;color:#204576}
.msj-principle small{font-size:.85rem;color:#5c768e;margin-top:4px}
.msj-media-grid{display:grid;grid-template-columns:minmax(215px,.74fr) minmax(0,1.26fr);gap:clamp(16px,3vw,30px);align-items:start}
.msj-poster{background:#fffdf5;border:1px solid #f0e8d5;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:250px}
.msj-poster img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain}
.msj-poster [hidden],.msj [hidden]{display:none!important}
.msj-poster-fallback{width:100%;min-height:250px;padding:28px 23px;text-align:center;background:linear-gradient(135deg,#fcf8e9,#e8f4ff)}
.msj-poster-fallback strong{font-weight:900;font-size:1.55rem;line-height:1.25;color:#256ba9}
.msj-poster-fallback p{font-weight:800;color:#163568;margin:22px auto}
.msj-poster-fallback span{font-size:.9rem;color:#526b83}
.msj-listen{padding:3px 0}
.msj-step{display:flex;align-items:flex-start;gap:12px}
.msj-step p{margin:0;color:#5c7087}
.msj-step-no{font-size:1rem;font-weight:850;color:#1878ad;background:#e7f4ff;min-width:39px;height:39px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}
.msj-listen audio,.msj-older audio{width:100%;margin:20px 0 12px;min-height:50px}
.msj-audio-note{margin:20px 0 12px;border-radius:12px;background:#fff9e9;color:#805c27;padding:13px 15px;font-size:.94rem}
.msj-words{margin:12px 0;background:#f7fafc;border:1px solid #e3edf4;border-radius:13px;overflow:hidden}
.msj-words summary,.msj-older summary{cursor:pointer;font-weight:750;color:#265b8b;padding:14px 16px;line-height:1.5}
.msj-words summary:focus-visible,.msj-older summary:focus-visible,.msj button:focus-visible,.msj select:focus-visible,.msj textarea:focus-visible{outline:3px solid #e5a52c;outline-offset:2px}
.msj-words ol{margin:0;padding:4px 23px 18px 42px;max-height:370px;overflow-y:auto}
.msj-words li{margin:10px 0;padding-left:4px;color:#35618a}
.msj-words li strong{display:block;line-height:1.5;font-size:.94rem;color:#1e3d70}
.msj-words li span{display:block;color:#60788e;font-size:.88rem;margin-top:3px}
.msj .msj-reminder{color:#2f6697;font-weight:800;margin:20px 0 0;line-height:1.45}
.msj-activity{padding:clamp(18px,4vw,32px)}
.msj-label{display:block;color:#285682;font-weight:750;margin:18px 0 8px}
.msj select,.msj textarea{display:block;width:100%;font-family:inherit;font-size:1rem;color:#203c62;background:#fff;border:1px solid #bacfdd;border-radius:12px;min-height:48px;padding:12px;max-width:100%;line-height:1.55}
.msj textarea{min-height:95px;resize:vertical}
.msj-quote{background:#f0f8ff;border-left:4px solid #4b9acf;border-radius:0 13px 13px 0;padding:16px 18px;margin:13px 0 16px}
.msj-quote strong,.msj-quote span{display:block}
.msj-quote strong{font-size:clamp(1.03rem,2.4vw,1.23rem);line-height:1.45;color:#15396c}
.msj-quote span{margin-top:6px;color:#4e6b83;line-height:1.5}
.msj-inline{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.msj-inline .button{min-height:44px}
.msj-count,.msj-saved{font-weight:700;color:#39795b;font-size:.92rem}
.msj-rule{height:1px;background:#e5ebf1;margin:27px 0}
.msj-feedback{min-height:1.5em;color:#276f5a;font-weight:700;margin:12px 0 0}
.msj-older{border:1px solid #e3e9ef;border-radius:16px;padding:0 14px;background:#f9fbfd;margin-bottom:16px}
.msj-older p{margin:6px 3px;color:#5d7588}
.msj-older audio{margin:8px 0 12px}
.msj-footer{display:flex;align-items:center;justify-content:space-between;gap:13px;flex-wrap:wrap;padding:15px 5px 5px}
.msj-footer span{color:#376f59;font-weight:800}
@media(max-width:730px){
  .msj{padding:4px 0 25px}
  .msj-media-grid{grid-template-columns:1fr}
  .msj-poster{max-width:420px;width:100%;margin:0 auto;min-height:200px}
  .msj-poster img{max-height:450px}
  .msj-principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .msj-activity,.msj-principles,.msj-journey{padding:17px 15px}
}
@media(max-width:450px){
  .msj-head{padding:21px 17px}
  .msj-principle-grid{grid-template-columns:1fr}
  .msj-title{display:block}
  .msj-title>span{display:block;margin-top:4px}
  .msj-footer a{width:100%;text-align:center}
}


/* Illustrated song + guiding principles, restored without native audio download UI. */
.msj-song{border:1px solid #e3e9e8;border-radius:21px;background:linear-gradient(145deg,#fffdf2,#f4faff);padding:clamp(16px,3vw,27px);margin-bottom:20px;box-shadow:0 5px 22px #163b6d09}
.msj-song-hero{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(17px,3vw,32px)}
.msj-song-illustration{border-radius:17px;background:#fff7e8;border:1px solid #f0e9d9;display:grid;place-items:center;overflow:hidden}
.msj-song-illustration img{display:block;width:100%;max-height:370px;height:auto;object-fit:contain}
.msj-song-content h2{color:#205b94;font-size:clamp(1.55rem,3vw,2rem);margin:9px 0}
.msj-song-content>p{color:#496b83;line-height:1.65;margin:4px 0 16px}
.msj-song-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.msj-song-play{min-height:47px;padding:11px 21px;white-space:nowrap;border-radius:100px}
.msj-song-controls span{font-size:.9rem;font-weight:700;color:#58728d}
.msj-song-content .msj-song-line{font-size:.88rem;font-weight:800;color:#487899;margin:17px 0 0}
.msj-song-principles{margin-top:24px;padding-top:20px;border-top:1px solid #e1e8ec}
.msj-song-principles .msj-title{margin-bottom:14px}
.msj-song-principles .msj-principle-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.msj-song-principles .msj-principle{padding:12px 10px;gap:8px;background:#fff;min-width:0}
.msj-song-principles .msj-principle strong{font-size:.88rem;overflow-wrap:anywhere}
.msj-song-principles .msj-principle small{font-size:.78rem}
@media(max-width:950px){.msj-song-principles .msj-principle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:690px){
 .msj-song-hero{grid-template-columns:1fr;gap:16px}
 .msj-song-illustration{max-width:380px;width:100%;margin:0 auto}
 .msj-song-illustration img{max-height:300px}
 .msj-song-principles .msj-principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .msj-song-controls{align-items:stretch}
 .msj-song-controls .msj-song-play{flex:1}
}
@media(max-width:420px){
 .msj-song{padding:16px 12px}
 .msj-song-principles .msj-principle-grid{grid-template-columns:1fr}
}


/* Sentence-by-sentence Mindset practice: repeat, dictation, and translation. */
.msj-speaking .msj-speak-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}
.msj-speaking .msj-mode-button{min-width:0;min-height:51px;padding:10px 8px;border:1.5px solid #cbdde9;
  border-radius:13px;background:#f8fbff;color:#24547b;font:inherit;font-size:.92rem;font-weight:800;line-height:1.35;cursor:pointer}
.msj-speaking .msj-mode-button.active{background:#e5f5ff;border-color:#3787bb;color:#154e7d;box-shadow:inset 0 -3px #3787bb}
.msj-speaking .msj-mode-button:disabled{opacity:.6;cursor:default}
.msj-speaking .msj-mode-button:focus-visible,.msj-speaking .button:focus-visible{outline:3px solid #e5a52c;outline-offset:2px}
.msj-speaking .msj-task-help{margin:6px 0 12px;color:#506b83;font-size:.94rem}
.msj-speaking .msj-speak-card{display:grid;gap:8px;border:1px solid #dfebf5;border-radius:16px;background:#f5faff;padding:18px;min-height:135px}
.msj-speaking .msj-speak-number{font-size:.79rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#527b9e}
.msj-speaking .msj-speak-en,.msj-speaking .msj-speak-vi{font-size:clamp(1.09rem,2.5vw,1.3rem);line-height:1.5;color:#173b69;overflow-wrap:anywhere}
.msj-speaking .msj-speak-vi{color:#20577a}
.msj-speaking .msj-speak-ipa{color:#58748d;font-size:.96rem;line-height:1.5;overflow-wrap:anywhere}
.msj-speaking .msj-speak-hidden{color:#57758d;font-size:1rem;line-height:1.5}
.msj-speaking .msj-voice-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0}
.msj-speaking .msj-voice-toolbar .button{min-height:46px}
.msj-speaking .msj-voice-toolbar span{font-size:.84rem;color:#648096;line-height:1.45}
.msj-speaking .msj-record-actions,.msj-speaking .msj-task-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:12px 0}
.msj-speaking .msj-record-actions .button,.msj-speaking .msj-task-actions .button{min-height:46px}
.msj-speaking .msj-recording{background:#b92f55;color:#fff}
.msj-speaking .msj-playback{background:#f4fbf4;border:1px solid #dce9df;border-radius:13px;padding:12px;margin:12px 0}
.msj-speaking .msj-playback span{display:block;color:#336a59;font-weight:700;font-size:.92rem;margin-bottom:7px}
.msj-speaking .msj-playback audio{width:100%;display:block}
.msj-speaking .msj-privacy-note,.msj-speaking .msj-writing-help{color:#60798b;font-size:.85rem;line-height:1.55;margin:8px 0}
.msj-speaking .msj-writing-task{margin:14px 0 0}
.msj-speaking .msj-writing-task .msj-label{margin:0 0 7px;font-size:.95rem}
.msj-speaking .msj-writing-task textarea{min-height:105px;resize:vertical}
.msj-speaking .msj-answer-feedback{background:#f2f9f3;border:1px solid #cbe4d1;border-radius:12px;padding:14px;margin-top:11px}
.msj-speaking .msj-answer-feedback strong{display:block;color:#27724d}
.msj-speaking .msj-answer-feedback p{color:#183c64;margin:6px 0 7px;font-weight:750;line-height:1.6}
.msj-speaking .msj-answer-feedback small{color:#406a59;line-height:1.5;font-size:.85rem}
.msj-speaking .msj-voice-status{color:#376784;font-size:.91rem;min-height:1.4em;line-height:1.5;margin:13px 0}
.msj-speaking .msj-next-actions{display:flex;justify-content:flex-end;margin-top:13px}
.msj-speaking .msj-next-actions .button{min-height:44px}
@media(max-width:740px){
  .msj-speaking .msj-speak-modes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .msj-speaking .msj-mode-button{min-height:50px;font-size:.88rem}
}
@media(max-width:440px){
  .msj-speaking .msj-task-actions .button{width:100%}
  .msj-speaking .msj-voice-toolbar .button{flex:1}
  .msj-speaking .msj-speak-card{padding:14px}
}
