.rje-g-app{--navy:#0b2752;--red:#d62128;--green:#4f7e3f;--blue:#2f67a4;--purple:#7551a7;--orange:#b66a36;--ink:#17233b;--muted:#687384;--line:#eadfd5;font-family:Inter,"Noto Sans Bengali","Noto Sans JP",system-ui,sans-serif;color:var(--ink);max-width:1100px;margin:0 auto;background:#fff}.rje-g-app *{box-sizing:border-box}.rje-g-app a{text-decoration:none!important}.rje-g-topnav{display:flex;justify-content:space-between;padding:10px 4px;font-size:14px}.rje-g-topnav a{color:var(--navy)}.rje-g-hero{text-align:center;padding:34px 18px 26px;border:1px solid #eee3d8;border-radius:28px;background:linear-gradient(180deg,#fffaf4,#fff);box-shadow:0 8px 30px rgba(33,41,62,.06);position:relative;overflow:hidden}.rje-g-brand{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8c7d6c;font-weight:700}.rje-g-hero h1,.rje-g-player-head h1{font-size:42px;line-height:1.05;margin:10px 0;color:#0a1d42}.rje-g-hero h1 em,.rje-g-player-head h1 em{color:var(--red);font-style:normal}.rje-g-hero p{margin:0;color:var(--muted)}.rje-g-triad{margin-top:14px;display:flex;gap:10px;justify-content:center;font-size:13px;font-weight:700;color:#9a6c4d}.rje-g-section{padding:28px 8px}.rje-g-section-title{text-align:center;margin-bottom:20px}.rje-g-section-title h2{margin:0 0 5px;font-size:28px}.rje-g-section-title p{margin:0;color:var(--muted)}.rje-g-level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.rje-g-level-card{min-height:190px;border:1px solid #eadfd5;border-radius:22px;padding:22px;display:flex;flex-direction:column;background:#fff;color:var(--ink)!important;box-shadow:0 8px 24px rgba(30,40,60,.06);transition:.25s ease}.rje-g-level-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(30,40,60,.12)}.rje-g-level-num{font-size:44px;font-weight:900}.rje-g-level-card.red .rje-g-level-num{color:var(--red)}.rje-g-level-card.green .rje-g-level-num{color:var(--green)}.rje-g-level-card.blue .rje-g-level-num{color:var(--blue)}.rje-g-level-card.purple .rje-g-level-num{color:var(--purple)}.rje-g-level-card.orange .rje-g-level-num{color:var(--orange)}.rje-g-level-card b{font-size:16px}.rje-g-level-card small{color:var(--muted);margin-top:6px}.rje-g-start{margin-top:auto;font-weight:800;color:var(--navy)}.rje-g-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.rje-g-feature-grid article{border:1px solid #eee4db;border-radius:18px;padding:16px;text-align:center}.rje-g-feature-grid article span{font-size:28px;display:block}.rje-g-feature-grid article b{display:block;margin:7px 0}.rje-g-feature-grid article small{color:var(--muted)}.rje-g-phase-list{display:grid;gap:14px}.rje-g-phase-card{height:140px;display:grid;grid-template-columns:118px 1fr 235px 52px;align-items:center;border:1px solid #eadfd5;border-radius:18px;overflow:hidden;color:var(--ink)!important;background:#fff;transition:.2s}.rje-g-phase-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,40,60,.08)}.rje-g-phase-index{height:100%;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.rje-g-phase-index small{font-weight:800}.rje-g-phase-index strong{font-size:48px;line-height:1}.p1 .rje-g-phase-index{background:var(--red)}.p2 .rje-g-phase-index{background:var(--green)}.p3 .rje-g-phase-index{background:var(--blue)}.p4 .rje-g-phase-index{background:var(--purple)}.p5 .rje-g-phase-index{background:var(--orange)}.rje-g-phase-copy{padding:12px 20px}.rje-g-phase-copy h3{margin:0 0 4px;text-transform:uppercase}.rje-g-phase-copy p{margin:6px 0 0;color:var(--muted)}.rje-g-phase-art{height:100%;background:linear-gradient(135deg,#faf6f0,#f1f6fb 70%,#f8e4e2)}.rje-g-arrow{font-size:34px;color:var(--red);text-align:center}.rje-g-list-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.rje-g-chip{display:inline-block;background:#f0f4fb;color:var(--navy);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.rje-g-list-head h2{margin:8px 0 0}.rje-g-list-head p{color:var(--muted)}.rje-g-lesson-list{display:grid;gap:10px}.rje-g-lesson-row{display:grid;grid-template-columns:62px 1fr 110px 44px;gap:12px;align-items:center;border:1px solid #eadfd5;border-radius:16px;padding:12px 14px;color:var(--ink)!important;background:#fff;min-height:78px}.rje-g-lesson-row:hover{box-shadow:0 7px 18px rgba(30,40,60,.08)}.rje-g-lesson-row.is-locked{opacity:.62}.rje-g-lesson-no{width:46px;height:46px;border-radius:14px;background:#f4f6fa;display:grid;place-items:center;font-weight:900}.rje-g-lesson-copy strong{font-size:22px;display:block}.rje-g-lesson-copy small{display:block;color:var(--muted);margin-top:4px}.rje-g-tier{font-size:11px;font-weight:900;text-align:center}.rje-g-tier.free{color:#33824a}.rje-g-tier.premium{color:#9b6b25}.rje-g-row-arrow{text-align:center}.rje-g-player-head{text-align:center;padding:22px 8px}.rje-g-player-head h1{font-size:34px}.rje-g-player-head h2{font-size:52px;margin:8px 0 0}.rje-g-player-head h3{margin:8px 0;color:#4c5b71}.rje-g-player{padding:0 8px 30px}.rje-g-media-card{border:1px solid #eadfd5;border-radius:22px;padding:12px;background:#fff;box-shadow:0 10px 28px rgba(30,40,60,.07)}.rje-g-media-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px}.rje-g-controls{display:grid;grid-template-columns:48px 44px 1fr 44px 84px;align-items:center;gap:8px;padding:12px 4px 4px}.rje-g-controls button{width:44px;height:44px;border:0;border-radius:50%;background:var(--navy);color:#fff;font-size:18px}.rje-g-controls input{width:100%}.rje-g-controls select{padding:8px;border:1px solid #ddd;border-radius:10px}.rje-g-control-row{display:flex;gap:8px;padding:8px 4px 2px}.rje-g-control-row button{border:1px solid #dce3ec;background:#fff;border-radius:12px;padding:9px 12px;color:var(--navy);font-weight:700}.rje-g-explain{margin-top:18px;border:1px solid #eadfd5;border-radius:22px;padding:22px;background:#fff}.rje-g-pattern{text-align:center}.rje-g-pattern span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.rje-g-pattern strong{display:block;font-size:62px;color:var(--navy)}.rje-g-pattern small{display:block;color:#a6453c}.rje-g-meaning{text-align:center;font-size:18px}.rje-g-formula{background:#f7f4ee;border-radius:14px;padding:14px}.rje-g-formula b{display:block;margin-bottom:7px}.rje-g-formula code{font-size:16px;color:#5b3922}.rje-g-points{display:grid;gap:10px;margin-top:14px}.rje-g-points article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;background:#fbfcfe;border:1px solid #edf0f5;border-radius:13px;padding:12px}.rje-g-points article span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e8eef9;color:var(--navy);font-weight:900}.rje-g-points p{margin:2px 0}.rje-g-examples{margin-top:18px}.rje-g-example{display:grid;grid-template-columns:42px 1fr;gap:12px;border:1px solid #eadfd5;border-radius:16px;padding:14px;margin-bottom:10px;background:#fff}.rje-g-example-no{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900}.rje-g-example strong{font-size:21px}.rje-g-example small{display:block;color:#617086;margin-top:4px}.rje-g-example p{margin:6px 0 0}.rje-g-notice{text-align:center;border:1px solid #eadfd5;border-radius:20px;padding:30px}.rje-g-notice a{display:inline-block;margin-top:12px;color:var(--navy)}
@media(max-width:780px){.rje-g-app{width:100%}.rje-g-hero{border-radius:20px;padding:26px 14px 20px}.rje-g-hero h1{font-size:30px}.rje-g-level-grid{grid-template-columns:1fr 1fr}.rje-g-level-card{min-height:145px;padding:16px}.rje-g-level-num{font-size:36px}.rje-g-feature-grid{grid-template-columns:1fr 1fr}.rje-g-phase-card{height:112px;grid-template-columns:84px 1fr 68px}.rje-g-phase-index strong{font-size:38px}.rje-g-phase-copy{padding:10px 12px}.rje-g-phase-copy h3{font-size:16px}.rje-g-phase-copy b{font-size:13px}.rje-g-phase-copy p{font-size:11px;line-height:1.25;margin-top:3px}.rje-g-phase-art{display:none}.rje-g-lesson-row{grid-template-columns:48px 1fr 78px 26px;padding:10px}.rje-g-lesson-copy strong{font-size:19px}.rje-g-tier{font-size:9px}.rje-g-player-head h2{font-size:44px}.rje-g-controls{grid-template-columns:44px 38px 1fr 38px}.rje-g-controls select{grid-column:1/-1;width:100%}.rje-g-control-row{display:grid;grid-template-columns:1fr 1fr 1fr}.rje-g-control-row button{font-size:11px;padding:9px 5px}.rje-g-explain{padding:16px}.rje-g-pattern strong{font-size:52px}.rje-g-example strong{font-size:19px}.rje-g-list-head{display:block}.rje-g-list-head p{margin-top:6px}}

/* v0.1.2 — Listening/Reading-style visual audio screen + premium micro-interactions */
.rje-g-level-card,.rje-g-phase-card,.rje-g-lesson-row,.rje-g-feature-grid article,.rje-g-media-card,.rje-g-explain,.rje-g-example{
  position:relative;isolation:isolate;overflow:hidden;
  transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,border-color .22s ease,background-color .22s ease;
}
.rje-g-level-card:before,.rje-g-phase-card:before,.rje-g-lesson-row:not(.is-locked):before,.rje-g-feature-grid article:before{
  content:"";position:absolute;z-index:-1;inset:-2px;pointer-events:none;
  background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.12) 35%,rgba(139,103,201,.16) 47%,rgba(255,255,255,.64) 53%,rgba(139,103,201,.12) 61%,transparent 76%);
  transform:translateX(-135%);transition:transform .7s cubic-bezier(.2,.65,.25,1);
}
.rje-g-level-card:after,.rje-g-phase-card:after,.rje-g-lesson-row:not(.is-locked):after,.rje-g-feature-grid article:after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;
  border:1px solid transparent;transition:border-color .22s ease,box-shadow .22s ease;
}
@media(hover:hover){
  .rje-g-level-card:hover,.rje-g-phase-card:hover,.rje-g-lesson-row:not(.is-locked):hover,.rje-g-feature-grid article:hover{
    transform:translateY(-4px);border-color:#d4c4e8;background-color:#fdfbff;
    box-shadow:0 12px 28px rgba(73,50,109,.13),0 0 22px rgba(121,89,171,.07);
  }
  .rje-g-level-card:hover:before,.rje-g-phase-card:hover:before,.rje-g-lesson-row:not(.is-locked):hover:before,.rje-g-feature-grid article:hover:before{transform:translateX(135%)}
  .rje-g-level-card:hover:after,.rje-g-phase-card:hover:after,.rje-g-lesson-row:not(.is-locked):hover:after,.rje-g-feature-grid article:hover:after{border-color:rgba(130,94,183,.24);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
  .rje-g-level-card:hover .rje-g-level-num,.rje-g-phase-card:hover .rje-g-phase-copy h3,.rje-g-lesson-row:not(.is-locked):hover .rje-g-lesson-copy strong{transform:translateY(-1px);text-shadow:0 4px 14px rgba(65,43,96,.12)}
  .rje-g-level-card:hover .rje-g-start{transform:translateY(-1px);box-shadow:0 7px 18px rgba(31,54,92,.18)}
  .rje-g-level-card:hover .rje-g-start b{transform:translateX(3px)}
}
.rje-g-level-num,.rje-g-phase-copy h3,.rje-g-lesson-copy strong{transition:transform .22s ease,text-shadow .22s ease,color .22s ease}
.rje-g-start{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;padding:9px 11px;border-radius:11px;background:#102b55;color:#fff!important;font-weight:900;box-shadow:0 4px 12px rgba(31,54,92,.12);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.rje-g-level-card.red .rje-g-start{background:#c82025}.rje-g-level-card.green .rje-g-start{background:#4f7e3f}.rje-g-level-card.blue .rje-g-start{background:#2f67a4}.rje-g-level-card.purple .rje-g-start{background:#7551a7}.rje-g-level-card.orange .rje-g-start{background:#b66a36}
.rje-g-start b{font-size:18px;line-height:1;transition:transform .2s ease}
.rje-g-level-card:focus-visible,.rje-g-phase-card:focus-visible,.rje-g-lesson-row:not(.is-locked):focus-visible{outline:3px solid rgba(117,81,167,.23);outline-offset:3px}
.rje-g-level-card:active,.rje-g-phase-card:active,.rje-g-lesson-row:not(.is-locked):active{transform:translateY(-1px)}

/* Media screen mirrors the proven Listening & Reading player language. */
.rje-g-player{padding:18px 8px 32px}.rje-g-media-card{padding:0;background:#fff;border:1px solid #e9dfd7;border-radius:20px;box-shadow:0 6px 20px rgba(45,45,45,.08)}
.rje-g-screen{position:relative;background:#101d2f;aspect-ratio:16/9;overflow:hidden;border-radius:19px 19px 0 0}
.rje-g-screen img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;aspect-ratio:auto}
.rje-g-screen-badge{position:absolute;left:13px;bottom:12px;display:flex;align-items:center;gap:7px;background:rgba(12,29,53,.86);backdrop-filter:blur(5px);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.02em;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.rje-g-screen-dot{width:7px;height:7px;border-radius:50%;background:#e43b3e;box-shadow:0 0 0 4px rgba(228,59,62,.18)}
.rje-g-controls{display:grid;grid-template-columns:54px 45px minmax(0,1fr) 45px 76px;gap:10px;align-items:center;padding:15px}
.rje-g-play{width:50px!important;height:50px!important;border:0!important;border-radius:50%!important;background:#c81e1e!important;color:#fff!important;font-size:20px!important;cursor:pointer;box-shadow:0 5px 14px rgba(200,30,30,.22);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.rje-g-play:hover,.rje-g-play:focus-visible{background:#ad1717!important;box-shadow:0 7px 18px rgba(200,30,30,.28);outline:none}.rje-g-play:active{transform:scale(.96)}
.rje-g-controls input{width:100%;accent-color:#c81e1e}.rje-g-controls select{border:0;border-radius:999px;padding:8px;background:#10233e;color:#fff;cursor:pointer}.rje-g-time{font-size:12px;font-weight:800;color:#526078;text-align:center;font-variant-numeric:tabular-nums}
.rje-g-control-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;border-top:1px solid #eee3db}
.rje-g-control-row button{border:0;border-right:1px solid #eee3db;background:#fff;border-radius:0;padding:12px 7px;color:#10233e;font-weight:900;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.rje-g-control-row button:last-child{border-right:0}.rje-g-control-row button span{display:block;font-size:10px;font-weight:650;color:#69717c;margin-top:2px}.rje-g-control-row button:hover,.rje-g-control-row button:focus-visible{background:#f2ecff;color:#53357d;outline:none}.rje-g-control-row button:active{transform:scale(.98)}
.rje-g-player-nav{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:10px;margin-top:18px}.rje-g-player-nav a,.rje-g-player-nav span{display:flex;min-height:58px;align-items:center;justify-content:center;text-align:center;border:1px solid #e5dcd5;background:#fff;border-radius:14px;color:#10233e!important;font-weight:850;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.rje-g-player-nav a.center{background:#eef7ff;border-color:#c4dbef;color:#174f7b!important}.rje-g-player-nav a:last-child{background:#c81e1e;color:#fff!important;border-color:#c81e1e}.rje-g-player-nav .is-disabled{opacity:.42}.rje-g-player-nav a:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(54,44,87,.13)}

@media(max-width:780px){
  .rje-g-level-card{min-height:156px}.rje-g-start{padding:8px 8px;font-size:12px}.rje-g-start b{font-size:16px}
  .rje-g-player{padding:8px 4px 26px}.rje-g-media-card{border-radius:16px}.rje-g-screen{border-radius:15px 15px 0 0}.rje-g-screen-badge{left:8px;bottom:8px;padding:5px 8px;font-size:9px}
  .rje-g-controls{grid-template-columns:48px 38px minmax(0,1fr) 38px 62px;gap:6px;padding:11px 8px;font-size:12px}.rje-g-play{width:44px!important;height:44px!important}.rje-g-controls select{padding:6px 4px;font-size:11px}.rje-g-time{font-size:10px}
  .rje-g-control-row button{min-height:56px;font-size:17px}.rje-g-control-row button span{font-size:9px}
  .rje-g-player-nav{grid-template-columns:1fr 1.25fr 1fr;gap:6px}.rje-g-player-nav a,.rje-g-player-nav span{font-size:11px;min-height:52px;padding:5px}
}
@media(max-width:380px){
  .rje-g-controls{grid-template-columns:44px minmax(0,1fr) 56px}.rje-g-controls>[data-rje-g-current],.rje-g-controls>[data-rje-g-duration]{display:none}.rje-g-controls select{grid-column:auto;width:auto}.rje-g-control-row button span{display:none}.rje-g-screen-badge{display:none}
}
@media(prefers-reduced-motion:reduce){.rje-g-level-card,.rje-g-phase-card,.rje-g-lesson-row,.rje-g-feature-grid article,.rje-g-start,.rje-g-start b{transition:none!important}.rje-g-level-card:before,.rje-g-phase-card:before,.rje-g-lesson-row:before,.rje-g-feature-grid article:before{display:none}}


/* v0.3.0 — CLEAN GRAMMAR PLAYER ENGINE
   One frame, one scroll owner, no legacy follow-screen rules. */
.rje-g-static-reference,
.rje-g-explain,
.rje-g-examples,
.rje-g-example,
.rje-g-examples-head{display:none!important}

.rje-g-media-card,
.rje-g-script-card{
  background:#fff;
  border:1px solid #e9dfd7;
  border-radius:18px;
  box-shadow:0 5px 18px rgba(45,45,45,.08);
  overflow:hidden;
}
.rje-g-media-card{padding:0!important}
.rje-g-screen{position:relative;overflow:hidden;background:#f5f3ef}
.rje-g-screen img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.rje-g-screen-badge{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:7px;background:rgba(10,29,66,.82);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}
.rje-g-screen-dot{width:7px;height:7px;border-radius:50%;background:#e43b3e}

.rje-g-controls{display:grid!important;grid-template-columns:54px 45px minmax(0,1fr) 45px 76px!important;gap:10px!important;align-items:center!important;padding:15px!important}
.rje-g-play{width:50px!important;height:50px!important;border:0!important;border-radius:50%!important;background:#c81e1e!important;color:#fff!important;font-size:20px!important;cursor:pointer!important}
.rje-g-controls input{width:100%!important;accent-color:#c81e1e}
.rje-g-controls select{border:0!important;border-radius:999px!important;padding:8px!important;background:#10233e!important;color:#fff!important}
.rje-g-time{font-size:12px;font-weight:800;color:#526078;text-align:center;font-variant-numeric:tabular-nums}

.rje-g-control-row{display:grid!important;grid-template-columns:repeat(4,1fr)!important;border-top:1px solid #eee3db!important;gap:0!important;padding:0!important}
.rje-g-control-row button{border:0!important;border-right:1px solid #eee3db!important;background:#fff!important;padding:12px 5px!important;cursor:pointer!important;font-weight:850!important;color:#17233b!important;border-radius:0!important}
.rje-g-control-row button:last-child{border-right:0!important}
.rje-g-control-row button span{display:block!important;font-size:10px!important;font-weight:600!important;color:#666!important}
.rje-g-control-row button:hover,.rje-g-control-row button:focus-visible{background:#f2ecff!important;color:#53357d!important;outline:none}

.rje-g-script-card{margin-top:14px}
.rje-g-script-title{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px 12px;border-bottom:1px solid #eee3db;background:#fff}
.rje-g-script-title h3{margin:0;color:#bd1e1e;font-size:18px}
.rje-g-script-title span{font-size:11px;color:#666}

/* THE ONLY SCROLLING ELEMENT */
.rje-g-lines{
  position:relative;
  height:min(420px,58vh);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scroll-behavior:auto;
  padding:0;
  background:#fff;
}
.rje-g-lines-track{position:relative;display:block;width:100%}

.rje-g-line{
  display:block;
  box-sizing:border-box;
  min-height:64px;
  padding:14px 16px;
  margin:0;
  border:0;
  border-bottom:1px solid #eee8e3;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  transform:none;
  cursor:pointer;
  transition:background-color .18s ease,box-shadow .18s ease;
}
.rje-g-line:last-child{border-bottom:0}
.rje-g-line:hover{background:#fffaf7}
.rje-g-line.is-active{background:#fff1ee;box-shadow:inset 4px 0 0 #c91f1f}
.rje-g-jp{font-size:23px;line-height:1.7;font-weight:650;color:#17233b}
.rje-g-jp ruby{ruby-position:over}
.rje-g-jp rt{font-size:.5em;font-weight:500;color:#56606d}
.rje-g-bn{font-size:15px;line-height:1.6;color:#24334a}
.rje-g-jp + .rje-g-bn{margin-top:6px}
.rje-g-hide-bangla .rje-g-bn{display:none}

.rje-g-player-nav{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:10px;margin-top:18px}
.rje-g-player-nav a,.rje-g-player-nav span{display:flex;min-height:58px;align-items:center;justify-content:center;text-align:center;border:1px solid #e5dcd5;background:#fff;border-radius:14px;color:#10233e!important;font-weight:850}
.rje-g-player-nav a.center{background:#eef7ff;border-color:#c4dbef;color:#174f7b!important}
.rje-g-player-nav a:last-child{background:#c81e1e;color:#fff!important;border-color:#c81e1e}
.rje-g-player-nav .is-disabled{opacity:.42}

@media(max-width:780px){
  .rje-g-player{padding:8px 4px 26px}
  .rje-g-media-card,.rje-g-script-card{border-radius:15px}
  .rje-g-controls{grid-template-columns:48px 38px minmax(0,1fr) 38px 62px!important;gap:6px!important;padding:11px 8px!important;font-size:12px!important}
  .rje-g-play{width:44px!important;height:44px!important}
  .rje-g-controls select{padding:6px 4px!important;font-size:11px!important}
  .rje-g-control-row button{font-size:17px!important;min-height:55px}
  .rje-g-script-title{display:block}
  .rje-g-script-title span{display:block;margin-top:3px}
  .rje-g-lines{height:min(360px,54vh)}
  .rje-g-line{min-height:58px;padding:12px 10px}
  .rje-g-jp{font-size:21px;line-height:1.8}
  .rje-g-bn{font-size:14px}
  .rje-g-player-nav{grid-template-columns:1fr 1.25fr 1fr;gap:6px}
  .rje-g-player-nav a,.rje-g-player-nav span{font-size:11px;min-height:52px;padding:5px}
}
@media(max-width:380px){
  .rje-g-controls{grid-template-columns:44px minmax(0,1fr) 56px!important}
  .rje-g-controls>[data-rje-g-current],.rje-g-controls>[data-rje-g-duration]{display:none}
  .rje-g-control-row button span{display:none!important}
  .rje-g-screen-badge{display:none}
  .rje-g-jp{font-size:20px}
}


/* v0.3.1 — deterministic cumulative-height transcript coordinates */
.rje-g-lines-track{position:relative!important}
.rje-g-line,
.rje-g-line.is-active{
  box-sizing:border-box!important;
  transform:none!important;
  margin:0!important;
  border-width:0 0 1px 0!important;
  padding:14px 16px!important;
}
.rje-g-line.is-active{
  box-shadow:inset 4px 0 0 #c91f1f!important;
}


/* v0.3.4 — approved Vocabulary-style Grammar landing hero only */
.rje-g-landing-hero{
  position:relative;
  min-height:390px;
  border:1px solid #eadfd5;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(30,40,60,.08);
  background:#fffaf5;
  display:grid;
  place-items:center;
  isolation:isolate;
}
.rje-g-landing-hero-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:url("../images/grammar-hero-approved.webp");
  background-size:cover;
  background-position:center top;
  opacity:.42;
  transform:scale(1.01);
}
.rje-g-landing-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.18) 20%,
      rgba(255,255,255,.94) 34%,
      rgba(255,255,255,1) 43%,
      rgba(255,255,255,1) 57%,
      rgba(255,255,255,.94) 66%,
      rgba(255,255,255,.18) 80%,
      rgba(255,255,255,.04) 100%),
    radial-gradient(ellipse at center 43%,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.99) 35%,
      rgba(255,255,255,.84) 53%,
      rgba(255,255,255,.24) 76%,
      rgba(255,255,255,.04) 100%);
}
.rje-g-landing-hero-content{
  width:min(760px,88%);
  text-align:center;
  padding:24px 18px 28px;
}
.rje-g-nihongo-logo{
  display:block;
  width:150px;
  height:auto;
  margin:0 auto 4px;
  object-fit:contain;
}
.rje-g-landing-hero h1{
  margin:4px 0 10px;
  font-size:clamp(34px,5vw,58px);
  line-height:1.02;
  letter-spacing:-.02em;
  color:#0a1d42;
  font-weight:900;
}
.rje-g-landing-hero h1 em{
  color:#d71920;
  font-style:normal;
}
.rje-g-landing-hero p{
  margin:0 auto;
  max-width:720px;
  color:#17233b;
  font-size:clamp(14px,1.8vw,19px);
  line-height:1.55;
  font-weight:650;
}
.rje-g-landing-triad{
  margin-top:17px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:#17233b;
  font-size:15px;
  font-weight:850;
}
.rje-g-landing-triad i{
  color:#d71920;
  font-style:normal;
  font-size:17px;
}
@media(max-width:780px){
  .rje-g-landing-hero{
    min-height:320px;
    border-radius:20px;
  }
  .rje-g-landing-hero-bg{
    background-position:center center;
    opacity:.34;
  }
  .rje-g-landing-hero-content{
    width:94%;
    padding:18px 12px 22px;
  }
  .rje-g-nihongo-logo{
    width:112px;
  }
  .rje-g-landing-hero h1{
    font-size:clamp(29px,8vw,40px);
  }
  .rje-g-landing-triad{
    gap:11px;
    font-size:13px;
  }
}


/* v0.3.5 — hero ghost/shadow cleanup ONLY */
.rje-g-landing-hero-content,
.rje-g-landing-hero-content *,
.rje-g-nihongo-logo{
  text-shadow:none!important;
  filter:none!important;
}


/* v0.3.7 — RETURN NAV + LESSON HEADER SPACING ONLY */

/* Clear, larger return navigation used on Level, Phase and Lesson screens */
.rje-g-topnav{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:14px!important;
  padding:14px 4px 16px!important;
  font-size:14px!important;
}
.rje-g-topnav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:10px 18px!important;
  border-radius:12px!important;
  border:1px solid #17345f!important;
  background:#17345f!important;
  color:#fff!important;
  font-weight:800!important;
  line-height:1.1!important;
  box-shadow:0 5px 14px rgba(11,39,82,.12)!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,
             transform .2s ease,box-shadow .2s ease!important;
}
.rje-g-topnav a:hover,
.rje-g-topnav a:focus-visible{
  background:#081f45!important;
  border-color:#081f45!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
  box-shadow:0 9px 20px rgba(11,39,82,.22)!important;
  outline:none!important;
}
.rje-g-topnav a:active{
  transform:translateY(0)!important;
  box-shadow:0 4px 10px rgba(11,39,82,.16)!important;
}

/* Keep lesson title elements in a clean vertical flow; prevent overlap */
.rje-g-player-head{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  text-align:center!important;
  padding:24px 8px 28px!important;
}
.rje-g-player-head .rje-g-brand{
  margin:0!important;
  line-height:1.2!important;
}
.rje-g-player-head h1{
  margin:0!important;
  line-height:1.12!important;
}
.rje-g-player-head p{
  margin:0!important;
  line-height:1.45!important;
  color:#4c5b71!important;
}
.rje-g-player-head h2{
  margin:2px 0 0!important;
  line-height:1.12!important;
  display:block!important;
}
.rje-g-player-head h3{
  margin:0!important;
  line-height:1.5!important;
  max-width:760px!important;
  display:block!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:780px){
  .rje-g-topnav{
    padding:10px 4px 13px!important;
    gap:8px!important;
  }
  .rje-g-topnav a{
    min-height:40px!important;
    padding:9px 13px!important;
    font-size:13px!important;
    border-radius:10px!important;
  }
  .rje-g-player-head{
    gap:7px!important;
    padding:18px 8px 22px!important;
  }
  .rje-g-player-head h1{
    font-size:30px!important;
  }
  .rje-g-player-head h2{
    font-size:44px!important;
  }
  .rje-g-player-head h3{
    font-size:16px!important;
    padding:0 8px!important;
  }
}
