:root{
  --navy:#15334a;
  --navy-2:#234b67;
  --navy-3:#0e2637;
  --teal:#2b7a78;
  --teal-soft:#dff1ef;
  --gold:#f3c969;
  --gold-deep:#bb8420;
  --cream:#fffaf0;
  --paper:#ffffff;
  --ink:#18303f;
  --muted:#60717c;
  --line:#d6e0e5;
  --coral:#b9564f;
  --success:#287a50;
  --success-soft:#e5f5ec;
  --warning:#9a6818;
  --warning-soft:#fff3d5;
  --danger:#a5413e;
  --danger-soft:#fae7e5;
  --shadow:0 18px 45px rgba(15,44,62,.12);
  --shadow-sm:0 8px 24px rgba(15,44,62,.09);
  --radius:24px;
  --radius-sm:14px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.65}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:
  radial-gradient(circle at 12% 8%,rgba(243,201,105,.18),transparent 28%),
  radial-gradient(circle at 88% 18%,rgba(43,122,120,.12),transparent 26%),
  linear-gradient(180deg,#fffdf8 0%,#fff8ea 100%)}
a{color:var(--navy-2)}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{outline-offset:3px}
:focus-visible{outline:3px solid var(--gold-deep)}
[lang="ar"],.hero__arabic{font-family:"Noto Naskh Arabic","Geeza Pro","Traditional Arabic",Tahoma,Arial,sans-serif}
.skip-link{position:fixed;left:16px;top:-70px;z-index:1000;background:var(--gold);color:var(--navy-3);padding:10px 16px;border-radius:0 0 10px 10px;font-weight:800;text-decoration:none}.skip-link:focus{top:0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(21,51,74,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12);color:white}
.site-header__inner{max-width:var(--max);margin:auto;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;min-width:240px}.brand__mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--gold),#ffe4a3);display:grid;place-items:center;color:var(--navy);font-size:1.55rem;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.brand strong,.brand small{display:block}.brand strong{font-size:1rem;letter-spacing:.01em}.brand small{color:#dbe7ee;font-size:.74rem}
.top-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.top-nav a,.top-nav button{color:white;text-decoration:none;font-size:.86rem;font-weight:750}.top-nav a{padding:8px 10px;border-radius:10px}.top-nav a:hover{background:rgba(255,255,255,.1)}
.button{border:0;border-radius:999px;background:var(--navy);color:white;padding:10px 18px;font-weight:850;cursor:pointer;box-shadow:0 4px 12px rgba(21,51,74,.14);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(21,51,74,.18);background:var(--navy-2)}.button--quiet{background:transparent;border:1px solid currentColor;box-shadow:none}.button--quiet:hover{background:rgba(255,255,255,.1)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy-3),var(--navy) 55%,var(--navy-2));color:white;padding:76px 24px 72px}.hero::after{content:"";position:absolute;right:-140px;top:-180px;width:520px;height:520px;border:70px double rgba(243,201,105,.09);border-radius:50%;transform:rotate(22deg)}.hero__inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:center;position:relative;z-index:1}.eyebrow{display:flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:850;color:#dce8ee}.eyebrow span{background:var(--gold);color:var(--navy-3);padding:5px 10px;border-radius:999px;letter-spacing:.06em}.hero h1{font-size:clamp(2.35rem,5vw,4.8rem);line-height:1.02;margin:17px 0 10px;max-width:820px}.hero__arabic{font-size:clamp(1.8rem,4vw,3.1rem);line-height:1.45;color:var(--gold);margin:0 0 18px}.hero__lede{font-size:1.1rem;color:#e5eef3;max-width:830px;margin:0}.hero__badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.hero__badges span{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);padding:7px 11px;border-radius:999px;font-size:.82rem;font-weight:750}
.hero__score{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:25px;text-align:center;backdrop-filter:blur(12px);box-shadow:0 20px 50px rgba(0,0,0,.18)}.hero__score-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#dce8ee;margin:0}.hero__score h2{margin:7px 0 14px;font-size:3rem;line-height:1}.hero__score h2 small{font-size:1rem;color:#dce8ee}.score-ring{width:120px;height:120px;margin:8px auto 18px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--gold) var(--score,0%),rgba(255,255,255,.14) 0);position:relative}.score-ring::after{content:"";position:absolute;inset:10px;background:var(--navy);border-radius:50%}.score-ring span{position:relative;z-index:1;font-size:1.25rem;font-weight:900}.hero__score>p:last-child{color:#e5eef3;font-size:.9rem;margin-bottom:0}
.section{padding:76px 24px}.section--tint{background:linear-gradient(180deg,#f0f7f7,#e8f2f2)}.section--opening{padding-top:66px}.section--results{background:linear-gradient(145deg,var(--navy-3),var(--navy));color:white}.container{max-width:var(--max);margin:auto}.section-heading{display:flex;gap:18px;align-items:flex-start;margin-bottom:30px}.section-number{flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:var(--gold);color:var(--navy-3);display:grid;place-items:center;font-weight:950;box-shadow:0 8px 22px rgba(187,132,32,.2)}.section-heading h2{font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.15;margin:0 0 8px;color:var(--navy)}.section-heading p{margin:0;max-width:850px}.section-heading--light h2{color:white}.section-heading--light p{color:#dbe8ef}.kicker,.mini-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:900;color:var(--teal);margin:0 0 5px}.mini-kicker{font-size:.7rem}.section--results .kicker{color:var(--gold)}
.card,.assessment-block,.reading-passage{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.outcome-card{padding:22px}.outcome-card>span{display:inline-block;border-radius:999px;background:var(--teal-soft);color:var(--teal);padding:4px 9px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.outcome-card h3{margin:13px 0 7px;color:var(--navy)}.outcome-card p{margin:0;color:var(--muted);font-size:.92rem}
.journey{margin-top:42px;padding:30px;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:var(--radius)}.journey h2{margin:0 0 20px;color:var(--navy)}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.journey-card{display:flex;flex-direction:column;gap:2px;text-decoration:none;background:white;border:1px solid var(--line);padding:16px;border-radius:14px;transition:.18s}.journey-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--teal)}.journey-card strong{color:var(--navy)}.journey-card span{color:var(--muted);font-size:.85rem}
.assessment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.assessment-card{padding:24px;border-radius:22px;background:white;border:1px solid #cfe0e0;box-shadow:var(--shadow-sm)}.assessment-icon{font-size:2rem;color:var(--teal)}.assessment-card h3{margin:9px 0 2px;color:var(--navy)}.assessment-card strong{font-size:1.25rem;color:var(--gold-deep)}.assessment-card p{color:var(--muted);font-size:.91rem}.assessment-card a{font-weight:850}.notice{margin-top:24px;padding:16px 20px;border-radius:15px}.notice--calm{background:white;border-left:5px solid var(--teal);box-shadow:var(--shadow-sm)}
.revision-toolbar,.block-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}.revision-toolbar>div{display:flex;gap:10px;align-items:baseline}.revision-toolbar strong{font-size:1.55rem;color:var(--navy)}.revision-toolbar span{color:var(--muted)}.quiz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quiz-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}.question{margin:0;min-width:0;border:1px solid var(--line);border-radius:18px;background:white;padding:18px;box-shadow:0 5px 16px rgba(15,44,62,.05)}.question legend{font-weight:850;color:var(--navy);padding:0 5px;line-height:1.45}.question label{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:10px;cursor:pointer;margin-top:5px}.question label:hover{background:#f6fafb}.question input{margin-top:5px;accent-color:var(--teal)}.question.is-correct{border-color:var(--success);box-shadow:0 0 0 2px var(--success-soft)}.question.is-wrong{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-soft)}.feedback{min-height:1.4em;margin:8px 0 0;font-size:.84rem;font-weight:750}.is-correct .feedback{color:var(--success)}.is-wrong .feedback{color:var(--danger)}.target-clinic{margin-top:20px;padding:18px;border-radius:16px;background:var(--warning-soft);border-left:5px solid var(--gold-deep)}
.assessment-block{padding:28px;margin:24px 0}.assessment-block__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.assessment-block__head h3{margin:0 0 5px;color:var(--navy);font-size:1.55rem}.assessment-block__head p{margin:0;color:var(--muted)}.audio-placeholder{display:flex;gap:8px;align-items:center;border:1px dashed var(--teal);background:var(--teal-soft);color:var(--teal);padding:10px 14px;border-radius:999px;font-weight:850;cursor:pointer}.audio-placeholder span{width:26px;height:26px;border-radius:50%;background:var(--teal);color:white;display:grid;place-items:center;font-size:.72rem}.block-actions{margin:22px 0 0}.section-score{font-size:1.35rem;font-weight:950;color:var(--navy)}
.matching-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.matching-table{width:100%;border-collapse:collapse;background:white}.matching-table th,.matching-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left}.matching-table th{background:var(--navy);color:white}.matching-table tr:last-child td{border-bottom:0}.matching-table select{width:180px;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:8px;background:white}.matching-table tr.is-correct{background:var(--success-soft)}.matching-table tr.is-wrong{background:var(--danger-soft)}.inline-feedback{display:inline-block;margin-left:8px;font-weight:850}.true-false-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
.teacher-panel{margin-top:22px;border:1px solid #b9cad3;border-radius:16px;background:#edf4f7}.teacher-panel summary{cursor:pointer;padding:15px 18px;font-weight:900;color:var(--navy)}.teacher-panel__content{padding:0 20px 20px}.teacher-panel__content h3{color:var(--navy)}.teacher-panel__content [lang="ar"]{font-size:1.25rem;line-height:2}.dialogue-script p{margin:.25em 0}.teacher-panel--light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}.teacher-panel--light summary,.teacher-panel--light h3{color:white}
.reading-passage{padding:28px;margin-bottom:22px;background:linear-gradient(145deg,#fff,#fff9e8);border-left:6px solid var(--gold)}.reading-passage h3{font-size:2rem;text-align:right;color:var(--navy);margin:0}.reading-passage>p:last-child{font-size:1.38rem;line-height:2.15;margin-bottom:0}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:var(--navy)}.form-grid input,.writing-area-label+textarea,.reflection-grid textarea,.exit-grid input,.exit-grid select{border:1px solid #bfcdd5;background:white;border-radius:12px;padding:12px 14px}.form-grid input{font-size:1.15rem}.form-grid label:last-child{grid-column:1/-1}.marking-note{font-size:.84rem;color:var(--muted);margin-bottom:0}.word-counter{min-width:96px;border-radius:18px;background:var(--navy);color:white;text-align:center;padding:10px}.word-counter strong,.word-counter span{display:block}.word-counter strong{font-size:1.8rem;line-height:1}.word-counter span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.word-counter.is-low{background:var(--warning)}.word-counter.is-good{background:var(--success)}.word-counter.is-high{background:var(--danger)}.task-box{background:var(--warning-soft);border-left:5px solid var(--gold-deep);padding:16px 18px;border-radius:14px;margin-bottom:16px}.task-box h4{margin:0 0 7px;color:var(--navy)}.task-box ul{margin:0;padding-left:22px}.writing-area-label{display:block;font-weight:900;color:var(--navy);margin-bottom:7px}.writing-area-label+textarea{width:100%;resize:vertical;font-size:1.25rem;line-height:2}.writing-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:16px 0}.writing-checklist label{display:flex;gap:8px;align-items:flex-start;font-size:.9rem}.writing-checklist input{margin-top:5px;accent-color:var(--teal)}.rubric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.rubric-grid label,.mark-input{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#f8fbfc;font-weight:850;color:var(--navy)}.rubric-grid label span,.mark-input span{color:var(--muted);font-size:.8rem}.rubric-grid input,.mark-input input{width:66px;border:1px solid #adc0ca;border-radius:10px;padding:7px;text-align:center}
.speaking-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.speaking-card{padding:28px}.speaking-card--accent{border-top:6px solid var(--gold)}.speaking-card h3{color:var(--navy);font-size:1.45rem}.speaking-card--accent h3{font-size:1.65rem;line-height:1.8}.speaking-card ol{padding-left:22px}.phrase-bank{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.phrase-bank span{background:var(--teal-soft);border:1px solid #bee0dc;border-radius:999px;padding:6px 10px;font-size:1rem}.response-route{display:grid;grid-template-columns:82px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.response-route strong{color:var(--teal)}.mark-input{margin-top:20px}.speaking-rubric{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.speaking-rubric>div{padding:18px;border-radius:16px;background:var(--teal-soft);border-left:5px solid var(--teal)}.speaking-rubric p{margin:5px 0 0;color:var(--muted)}
.results-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.results-total,.results-breakdown{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:28px}.results-total>p:first-child{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:#dbe8ef}.results-total>strong{display:block;font-size:4rem;line-height:1;color:var(--gold)}.results-total>strong small{font-size:1.2rem;color:#dbe8ef}.results-total h3{font-size:1.5rem;margin:18px 0 5px}.results-total p{color:#dbe8ef}.progress-track{height:12px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:18px}.progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),#ffe5a9);transition:width .35s ease}.results-breakdown{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.results-breakdown div{background:rgba(255,255,255,.07);padding:17px;border-radius:16px}.results-breakdown span,.results-breakdown strong{display:block}.results-breakdown span{color:#cddde5;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.results-breakdown strong{font-size:1.5rem;color:white}.boundary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.boundary-grid article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:17px;padding:18px}.boundary-grid strong{display:block;color:var(--gold);font-size:1.3rem}.boundary-grid span{font-weight:900}.boundary-grid p{font-size:.82rem;color:#dbe8ef;margin-bottom:0}.reflection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reflection-grid label{display:flex;flex-direction:column;gap:7px;font-weight:850}.reflection-grid textarea{width:100%;resize:vertical}.next-step-panel{margin-top:20px;background:var(--gold);color:var(--navy-3);border-radius:16px;padding:17px 20px}
.exit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.exit-grid label{display:flex;flex-direction:column;gap:7px;font-weight:850;color:var(--navy)}.celebration{display:flex;gap:18px;align-items:center;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:white;border-radius:22px;padding:24px;margin-top:26px;box-shadow:var(--shadow)}.celebration>span{font-size:2.6rem;color:var(--gold)}.celebration strong{font-size:1.35rem}.celebration p{margin:4px 0 0;color:#deebf1}
.lesson-switcher{max-width:var(--max);margin:0 auto 42px;padding:0 24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.lesson-switcher__item{text-decoration:none;border:1px solid var(--line);background:white;border-radius:16px;padding:15px 17px;box-shadow:var(--shadow-sm)}.lesson-switcher__item small,.lesson-switcher__item span{display:block}.lesson-switcher__item small{text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;color:var(--muted)}.lesson-switcher__item span{font-weight:850;color:var(--navy)}.lesson-switcher__item--centre{text-align:center}.lesson-switcher__item--next{text-align:right}.lesson-switcher__item[aria-disabled="true"]{opacity:.55;pointer-events:none}
.site-footer{background:var(--navy-3);color:white;padding:30px 24px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.site-footer strong{color:var(--gold)}.site-footer p{margin:3px 0;color:#cbdce5;font-size:.85rem}
@media (max-width:980px){.hero__inner{grid-template-columns:1fr}.hero__score{max-width:420px}.outcome-grid,.assessment-grid{grid-template-columns:repeat(2,1fr)}.journey-grid{grid-template-columns:repeat(2,1fr)}.results-layout{grid-template-columns:1fr}.boundary-grid{grid-template-columns:repeat(2,1fr)}.reflection-grid,.exit-grid{grid-template-columns:1fr}.speaking-grid{grid-template-columns:1fr}}
@media (max-width:760px){html{scroll-padding-top:74px}.site-header__inner{padding:9px 14px}.brand small{display:none}.brand{min-width:auto}.top-nav a{display:none}.hero{padding:54px 18px}.section{padding:56px 18px}.section-heading{gap:12px}.section-number{width:42px;height:42px;flex-basis:42px}.outcome-grid,.assessment-grid,.quiz-grid,.quiz-grid--wide,.true-false-grid,.form-grid,.writing-checklist,.rubric-grid,.speaking-rubric,.results-breakdown,.boundary-grid{grid-template-columns:1fr}.journey-grid{grid-template-columns:1fr}.assessment-block{padding:20px}.assessment-block__head{flex-direction:column}.audio-placeholder{align-self:flex-start}.form-grid label:last-child{grid-column:auto}.lesson-switcher{grid-template-columns:1fr}.lesson-switcher__item,.lesson-switcher__item--next{text-align:left}.site-footer{flex-direction:column;align-items:flex-start}.reading-passage>p:last-child{font-size:1.2rem}.hero h1{font-size:2.45rem}.hero__arabic{font-size:1.9rem}}
@media (max-width:470px){.brand strong{font-size:.88rem}.top-nav{gap:5px}.top-nav button{padding:7px 9px;font-size:.75rem}.hero__badges span{font-size:.73rem}.section-heading h2{font-size:1.7rem}.matching-table th,.matching-table td{padding:10px}.results-total>strong{font-size:3.2rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{body{background:white;color:black}.site-header,.top-nav,.hero__score,.audio-placeholder,.button,.lesson-switcher,.site-footer,.skip-link{display:none!important}.hero{background:white;color:black;padding:20px 0;border-bottom:2px solid #222}.hero__arabic{color:black}.hero__lede,.hero__badges span{color:black}.hero__badges span{border-color:#999}.section,.section--tint,.section--results{background:white;color:black;padding:24px 0}.section-heading h2,.section-heading--light h2,.section--results .kicker,.section-heading--light p{color:black}.card,.assessment-block,.reading-passage,.teacher-panel{box-shadow:none;break-inside:avoid}.teacher-panel:not([open]){display:none}.results-total,.results-breakdown,.boundary-grid article{background:white;color:black;border-color:#999}.results-total p,.boundary-grid p,.results-breakdown span{color:#333}.results-breakdown strong{color:black}.reflection-grid textarea{min-height:90px}.container{max-width:100%}}
/* Prevent long Arabic placeholders from forcing horizontal overflow on narrow screens. */
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid label,.form-grid input{min-width:0;width:100%}
@media (max-width:760px){.form-grid{grid-template-columns:minmax(0,1fr)}}

/* V58 consistency correction: align F4-L12 with the established lesson shell. */
body.f4l12-page {
  margin: 0;
  color: #263746;
  background: #fffaf2;
  font-family: Nunito, "Segoe UI", Arial, sans-serif;
  line-height: 1.65;
}
body.f4l12-page [lang="ar"],
body.f4l12-page .hero__arabic {
  font-family: Amiri, "Noto Naskh Arabic", "Traditional Arabic", serif;
}
body.f4l12-page h1,
body.f4l12-page h2,
body.f4l12-page h3,
body.f4l12-page h4,
body.f4l12-page button,
body.f4l12-page input,
body.f4l12-page select,
body.f4l12-page textarea,
body.f4l12-page label,
body.f4l12-page legend {
  font-family: Nunito, "Segoe UI", Arial, sans-serif;
}
body.f4l12-page [lang="ar"] {
  font-family: Amiri, "Noto Naskh Arabic", "Traditional Arabic", serif;
}
.f4l12-lesson-nav {
  position: sticky;
  top: 72px;
  z-index: 1500;
  color: #fff;
  background: #17324d;
  border-bottom: 3px solid #f2b84b;
}
.f4l12-lesson-nav > .container {
  min-height: 55px;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  padding-block: 8px;
}
.f4l12-lesson-nav a {
  flex: 0 0 auto;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 6px 11px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
  font-size: .8rem;
  font-weight: 800;
}
.f4l12-lesson-nav a:hover,
.f4l12-lesson-nav a:focus-visible,
.f4l12-lesson-nav a[aria-current="location"] {
  color: #17324d;
  background: #f2b84b;
  border-color: #f2b84b;
}

/* Keep prompts inside their cards and apply one option treatment everywhere. */
body.f4l12-page .question {
  display: block;
  min-inline-size: 0;
  margin: 0;
  padding: 1rem;
  color: #263746;
  background: #fff;
  border: 0;
  border-radius: 16px;
  box-shadow: inset 0 0 0 1px #cfdcdf, 0 7px 18px rgba(23,50,77,.06);
}
body.f4l12-page .question legend {
  float: left;
  width: 100%;
  max-width: 100%;
  margin: 0 0 .8rem;
  padding: 0;
  color: #17324d;
  font-weight: 850;
  line-height: 1.5;
}
body.f4l12-page .question legend + * { clear: both; }
body.f4l12-page .question label {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: .55rem 0 0;
  padding: .7rem .8rem;
  color: #17324d;
  background: #fff;
  border: 2px solid #a8b8c4;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 750;
}
body.f4l12-page .question label:hover,
body.f4l12-page .question label:focus-within {
  background: #eef8f5;
  border-color: #45a995;
}
body.f4l12-page .question input[type="radio"] {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
}
body.f4l12-page .question.is-correct { box-shadow: inset 0 0 0 2px #4c956c; }
body.f4l12-page .question.is-wrong { box-shadow: inset 0 0 0 2px #b65a52; }

/* Explicit contrast for assessment panels and controls. */
body.f4l12-page .assessment-block,
body.f4l12-page .card,
body.f4l12-page .reading-passage,
body.f4l12-page .journey,
body.f4l12-page .notice,
body.f4l12-page .target-clinic {
  color: #263746;
}
body.f4l12-page .section--results,
body.f4l12-page .section--results h2,
body.f4l12-page .section--results h3,
body.f4l12-page .section--results label,
body.f4l12-page .section--results span {
  color: #fff;
}
body.f4l12-page .section--results textarea {
  color: #17324d;
  background: #fff;
}
body.f4l12-page .audio-placeholder {
  color: #17324d;
  background: #e7f6f3;
  border-color: #45a995;
}
body.f4l12-page .matching-table select,
body.f4l12-page .form-grid input,
body.f4l12-page .exit-grid input,
body.f4l12-page .exit-grid select {
  color: #17324d;
  background: #fff;
}

/* Make all assessed Arabic writing routes use the same three-option tool. */
#f4l12-form-activity > .f1-writing-access,
#f4l12-email-activity > .f1-writing-access,
#f4l12-exit-activity > .f1-writing-access {
  min-width: 0;
}
#f4l12-form-activity .f1-writing-access__panel,
#f4l12-email-activity .f1-writing-access__panel,
#f4l12-exit-activity .f1-writing-access__panel {
  min-width: 0;
}
#f4l12-form-activity .form-grid {
  margin: 0;
}
#f4l12-email-activity .f4l12-email-entry,
#f4l12-exit-activity .f4l12-exit-writing {
  margin: 0;
}
#f4l12-exit-activity .exit-grid {
  align-items: start;
}
#f4l12-exit-activity .f1-writing-access {
  grid-column: 1 / -1;
}
body.f4l12-page .mu-manual-completion {
  margin-top: 1rem;
}

@media (max-width: 720px) {
  body.f4l12-page .question label { border-radius: 14px; }
  .f4l12-lesson-nav { top: 64px; }
}
@media print {
  .f4l12-lesson-nav,
  body.f4l12-page .mu-practice-progress,
  body.f4l12-page .mu-scroll-control { display: none !important; }
}

/* Quiet actions on light lesson sections must remain legible. */
body.f4l12-page .revision-toolbar .button--quiet {
  color: #17324d;
  background: #fff;
  border: 2px solid #17324d;
}
body.f4l12-page .revision-toolbar .button--quiet:hover,
body.f4l12-page .revision-toolbar .button--quiet:focus-visible {
  color: #fff;
  background: #17324d;
}

/* Final contrast corrections on tinted cards and result markers. */
body.f4l12-page .outcome-card > span { color: #236b69; }
body.f4l12-page .speaking-rubric p { color: #4b5d68; }
body.f4l12-page .section--results .section-number { color: #17324d; }

/* V59 listening scripts and shared lesson-navigation alignment */
.f4l12-script {
  margin-top: 1rem;
  border: 1px solid #cbdde1;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15,52,72,.07);
}
.f4l12-script summary {
  cursor: pointer;
  padding: 1rem 1.15rem;
  background: #173a57;
  color: #fff;
  font-weight: 850;
}
.f4l12-script > div { padding: 1.15rem; }
.f4l12-script p[lang="ar"] {
  margin: 0;
  font-family: "Amiri", serif;
  font-size: 1.35rem;
  line-height: 2;
  color: #183f49;
}
.f4l12-answer-key { color: #274b55; }
.f4l12-answer-key h3 { margin: .6rem 0 .35rem; }
.f4l12-answer-key ol { columns: 2; gap: 2rem; }
@media (max-width: 700px) { .f4l12-answer-key ol { columns: 1; } }

/* Shared F2–F4 lesson-section menu */
.n2-container { width: min(calc(100% - 32px), 1160px); margin-inline: auto; }
.n2-lesson-nav { position: sticky; top: 68px; z-index: 75; background: #17324d; border-bottom: 3px solid #f2b84b; }
.n2-nav-scroll { display: flex; gap: 7px; overflow-x: auto; padding: 10px 0; scrollbar-width: thin; }
.n2-nav-scroll a { display: inline-flex; align-items: center; min-height: 44px; padding: 5px 12px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #fff; text-decoration: none; white-space: nowrap; font-size: .82rem; font-weight: 900; }
.n2-nav-scroll a:hover, .n2-nav-scroll a:focus-visible { background: #f2b84b; color: #17324d; outline: none; }
@media (max-width: 760px) { .n2-lesson-nav { top: 64px; } .n2-nav-scroll { padding-inline: 2px; } }
@media print { .n2-lesson-nav { display: none !important; } }


/* V60: explicit grammar, language vault, builders and inline scripts */
.f4l12-vault{display:grid;gap:.65rem}.f4l12-vault details{border:1px solid #d4e0e2;border-radius:14px;background:#fff;overflow:hidden}.f4l12-vault summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;cursor:pointer;padding:.95rem 1rem;font-weight:850;color:#17324d}.f4l12-vault summary strong{font-family:"Amiri",serif;color:#24716c;text-align:right}.f4l12-vault details p{margin:0;padding:1rem;border-top:1px solid #e2e9ea;font-family:"Amiri",serif;font-size:1.2rem;line-height:1.9;color:#244d53}.f4l12-grammar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.2rem}.f4l12-grammar-grid article{position:relative;border:1px solid #d5e0e2;border-radius:16px;background:#fff;padding:1.1rem 1.1rem 1.1rem 3.8rem;box-shadow:0 10px 26px rgba(15,52,72,.06)}.f4l12-grammar-grid article>span{position:absolute;left:1rem;top:1rem;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#f2b84b;color:#17324d;font-weight:900}.f4l12-grammar-grid h3{margin:.05rem 0;color:#17324d}.f4l12-grammar-grid .formula{margin:.45rem 0;font-family:"Amiri",serif;font-size:1.3rem;line-height:1.8;color:#24716c;font-weight:700}.f4l12-grammar-grid article>p:last-child{color:#4d6871;line-height:1.6}.f4l12-builder-lab{display:grid;gap:1rem;margin:1rem 0 1.4rem}.f4l12-live-builder{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:1rem;border:1px solid #d5e0e2;border-radius:18px;background:linear-gradient(135deg,#fffdf4,#f2faf7);padding:1rem}.f4l12-live-builder>div:first-child{display:grid;gap:.6rem}.f4l12-live-builder h3{margin:.1rem 0 .4rem}.f4l12-live-builder label{display:grid;gap:.3rem;font-weight:800;color:#17324d}.f4l12-live-builder select{width:100%;padding:.7rem;border:1px solid #cbd8dc;border-radius:10px;background:#fff;font:inherit}.f4l12-builder-output{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;min-height:270px;border:2px dashed #8fb1ba;border-radius:16px;background:#fff;padding:1rem;text-align:center}.f4l12-builder-output>span{border-radius:999px;background:#e3f2ee;padding:.4rem .7rem;color:#174d50;font-size:.75rem;font-weight:900;text-transform:uppercase}.f4l12-builder-output p{font-family:"Amiri",serif;font-size:1.7rem;line-height:1.9;color:#17324d}.f4l12-builder-output button{border:1px solid #17324d;border-radius:999px;background:#17324d;color:#fff;padding:.6rem .9rem;font:inherit;font-weight:800;cursor:pointer}.f4l12-builder-output .button--quiet{background:#fff;color:#17324d}.f4l12-live-builder.is-correct{border-color:#4b9e7e;box-shadow:inset 0 0 0 3px rgba(54,148,108,.12)}.f4l12-live-builder.is-wrong{border-color:#d38374}.f4l12-builder-score{margin:0;font-weight:850;color:#24716c}.f4l12-inline-scripts{margin-top:1rem}.f4l12-script-note{border-left:5px solid #f2b84b;border-radius:10px;background:#fff8e4;padding:.85rem 1rem;color:#5e4b20}
@media(max-width:820px){.f4l12-grammar-grid{grid-template-columns:1fr}.f4l12-live-builder{grid-template-columns:1fr}.f4l12-builder-output{min-height:220px}.f4l12-vault summary{align-items:flex-start;flex-direction:column}}
