:root {
  --n2-navy:#17324d;
  --n2-deep:#10273b;
  --n2-teal:#45a995;
  --n2-teal-dark:#2f7f70;
  --n2-gold:#f2b84b;
  --n2-coral:#e87561;
  --n2-blue:#4f7fd3;
  --n2-purple:#8667ca;
  --n2-green:#2f8d69;
  --n2-cream:#fffaf2;
  --n2-paper:#fffdf9;
  --n2-text:#273847;
  --n2-muted:#687986;
  --n2-line:rgba(23,50,77,.15);
  --n2-shadow:0 18px 48px rgba(23,50,77,.12);
  --n2-radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--n2-cream);color:var(--n2-text);font-family:Nunito,"Segoe UI",Arial,sans-serif;line-height:1.65}
.n2-container{width:min(calc(100% - 32px),1160px);margin-inline:auto}
.n2-ar,[lang="ar"]{font-family:Amiri,"Noto Naskh Arabic","Traditional Arabic",serif;direction:rtl;unicode-bidi:isolate}
.n2-skip{position:absolute;left:-9999px;top:8px;z-index:400;padding:10px 14px;border-radius:10px;color:#fff;background:var(--n2-navy)}
.n2-skip:focus{left:8px}
.n2-lesson-nav{position:sticky;top:68px;z-index:75;background:var(--n2-navy);border-bottom:3px solid var(--n2-gold)}
.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:var(--n2-gold);color:var(--n2-navy);outline:none}
.n2-hero{position:relative;overflow:hidden;padding:70px 0 64px;color:#fff;background:linear-gradient(128deg,var(--n2-deep),#20576b 58%,#2d806f)}
.n2-hero::before{content:"مُطَابَقَةٌ";position:absolute;right:-20px;bottom:-95px;color:#fff;font-family:Amiri,serif;font-size:13rem;opacity:.045;transform:rotate(-4deg)}
.n2-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:42px;align-items:center}
.n2-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.n2-badge{display:inline-flex;align-items:center;min-height:34px;padding:5px 11px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:.78rem;font-weight:900}
.n2-badge.review{background:#ffe5a8;color:var(--n2-deep);border-color:#ffe5a8}
.n2-hero h1{max-width:790px;margin:0;font-size:clamp(2.35rem,5.5vw,4.75rem);line-height:1.02;letter-spacing:-.045em}
.n2-hero h1 .n2-ar{display:block;margin-top:16px;color:var(--n2-gold);font-size:.67em;line-height:1.55;letter-spacing:0}
.n2-subtitle{max-width:760px;margin:22px 0;color:rgba(255,255,255,.86);font-size:1.12rem}
.n2-meta{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:.9rem;font-weight:900}
.n2-hero-board{padding:24px;border:1px solid rgba(255,255,255,.2);border-radius:28px;background:rgba(255,255,255,.08);box-shadow:0 22px 60px rgba(0,0,0,.18);backdrop-filter:blur(7px)}
.n2-hero-board h2{margin:0 0 15px;color:var(--n2-gold);font-size:1rem;text-transform:uppercase;letter-spacing:.08em}
.n2-hero-people{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.n2-person-card{padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.1);text-align:center}
.n2-person-card img{width:100%;max-width:150px;aspect-ratio:1;object-fit:cover;border-radius:18px}
.n2-person-card .n2-ar{display:block;margin-top:7px;color:#fff;font-size:1.45rem;font-weight:700}
.n2-hero-prompt{margin:14px 0 0;padding:13px 15px;border-radius:16px;color:var(--n2-deep);background:#fff;font-weight:900;text-align:center}
.n2-hero-prompt .n2-ar{display:block;color:var(--n2-teal-dark);font-size:1.8rem}
.n2-section{scroll-margin-top:132px;padding:58px 0 18px}
.n2-section.alt{background:#f2f8f6}
.n2-section-head{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;margin-bottom:24px}
.n2-section-no{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:var(--n2-teal);font-size:1.15rem;font-weight:900;box-shadow:0 8px 20px rgba(69,169,149,.25)}
.n2-kicker{display:block;margin-bottom:5px;color:var(--n2-coral);font-size:.78rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.n2-section h2{margin:0;color:var(--n2-navy);font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.18}
.n2-section h2 .n2-ar{display:block;margin-top:8px;color:var(--n2-teal-dark);font-size:.78em;line-height:1.55}
.n2-lede{max-width:820px;margin:9px 0 0;color:var(--n2-muted);font-size:1.02rem}
.n2-grid-2,.n2-grid-3,.n2-grid-4{display:grid;gap:18px}
.n2-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.n2-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.n2-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.n2-card,.n2-activity,.n2-pattern,.n2-callout{border:1px solid var(--n2-line);border-radius:var(--n2-radius);background:var(--n2-paper);box-shadow:var(--n2-shadow)}
.n2-card,.n2-pattern,.n2-callout{padding:23px}
.n2-card h3,.n2-pattern h3,.n2-callout h3,.n2-activity h3{margin:0 0 10px;color:var(--n2-navy);font-size:1.18rem}
.n2-card p:last-child,.n2-callout p:last-child{margin-bottom:0}
.n2-callout.gold{border-color:#e7bb59;background:#fff6dc}
.n2-callout.coral{border-color:#ef9c8f;background:#fff0ec}
.n2-callout.green{border-color:#76b899;background:#eef8f3}
.n2-callout.blue{border-color:#8ea9df;background:#f1f5ff}
.n2-label{display:inline-flex;margin-bottom:10px;padding:4px 9px;border-radius:999px;color:var(--n2-navy);background:#e5f3ef;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.n2-objectives{list-style:none;margin:0;padding:0}
.n2-objectives li{position:relative;padding:8px 0 8px 30px;border-bottom:1px dashed var(--n2-line)}
.n2-objectives li:last-child{border-bottom:0}
.n2-objectives li::before{content:"✓";position:absolute;left:4px;top:8px;color:var(--n2-green);font-weight:900}
.n2-route{padding:18px;border-radius:18px;color:#fff;background:var(--n2-navy)}
.n2-route strong{display:block;color:var(--n2-gold);font-size:1rem}
.n2-route p{margin:5px 0 0;color:rgba(255,255,255,.82)}
.n2-vocab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.n2-vocab{position:relative;overflow:hidden;padding:21px;border:1px solid var(--n2-line);border-radius:20px;background:#fff}
.n2-vocab::after{content:"";position:absolute;inset-inline-start:0;top:0;width:6px;height:100%;background:var(--n2-teal)}
.n2-vocab.female::after{background:var(--n2-purple)}
.n2-vocab.friend::after{background:var(--n2-coral)}
.n2-vocab .n2-ar{display:block;color:var(--n2-navy);font-size:1.95rem;font-weight:700;line-height:1.45}
.n2-vocab small{display:block;color:var(--n2-muted);font-weight:800}
.n2-vocab .n2-note{margin-top:8px;color:var(--n2-text);font-size:.9rem}
.n2-portraits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:20px}
.n2-portrait{overflow:hidden;border:1px solid var(--n2-line);border-radius:20px;background:#fff;text-align:center}
.n2-portrait img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.n2-portrait figcaption{padding:12px}
.n2-portrait .n2-ar{display:block;color:var(--n2-navy);font-size:1.55rem;font-weight:700}
.n2-portrait small{color:var(--n2-muted);font-weight:800}
.n2-activity{overflow:hidden;padding:0}
.n2-activity-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px;color:#fff;background:var(--n2-navy)}
.n2-activity-head h3{color:#fff;margin:0}
.n2-activity-head p{margin:5px 0 0;color:rgba(255,255,255,.8)}
.n2-score{flex:none;padding:6px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;color:var(--n2-gold);font-weight:900}
.n2-activity-body{padding:22px}
.n2-q{padding:17px 0;border-bottom:1px solid var(--n2-line)}
.n2-q:first-child{padding-top:0}.n2-q:last-child{border-bottom:0;padding-bottom:0}
.n2-q-stem{margin-bottom:11px;color:var(--n2-navy);font-weight:900}
.n2-q-stem .n2-ar{font-size:1.55rem}
.n2-options{display:flex;flex-wrap:wrap;gap:9px}
.n2-option,.n2-button{min-height:44px;padding:9px 15px;border:2px solid var(--n2-navy);border-radius:999px;color:var(--n2-navy);background:#fff;cursor:pointer;font:inherit;font-weight:900}
.n2-option.arabic{font-family:Amiri,"Noto Naskh Arabic",serif;font-size:1.25rem;direction:rtl}
.n2-option:hover,.n2-button:hover,.n2-option:focus-visible,.n2-button:focus-visible{outline:none;background:#fff4d7;box-shadow:0 0 0 3px rgba(242,184,75,.35)}
.n2-option.correct,.n2-option.is-correct{color:#fff;background:var(--n2-green);border-color:var(--n2-green)}
.n2-option.wrong,.n2-option.is-wrong{color:#fff;background:var(--n2-coral);border-color:var(--n2-coral)}
.n2-option.dim{opacity:.45}
.n2-feedback{min-height:1.6em;margin-top:10px;color:var(--n2-muted);font-weight:800}
.n2-feedback.ok,.n2-feedback.is-correct{color:var(--n2-green)}
.n2-feedback.no,.n2-feedback.is-wrong{color:#b64c3e}
.n2-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:14px}
.n2-button.primary{color:#fff;background:var(--n2-navy)}
.n2-button.secondary{border-color:#7b8a95;color:#425563}
.n2-game-stage{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;padding:22px}
.n2-game-stage img{width:100%;border-radius:20px;border:1px solid var(--n2-line);background:#fff}
.n2-game-copy .n2-ar{display:block;margin-bottom:5px;color:var(--n2-navy);font-size:1.8rem;font-weight:700}
.n2-progress{height:10px;overflow:hidden;border-radius:999px;background:#e7ecef}
.n2-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--n2-teal),var(--n2-gold));transition:width .25s ease}
.n2-pattern-row{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:18px 0}
.n2-word-part{padding:16px;border:2px solid var(--n2-navy);border-radius:17px;background:#fff;text-align:center}
.n2-word-part .n2-ar{display:block;color:var(--n2-navy);font-size:2rem;font-weight:700}
.n2-word-part.suffix{border-color:var(--n2-coral);background:#fff0ec}
.n2-plus{color:var(--n2-gold);font-size:2rem;font-weight:900}
.n2-table-wrap{overflow-x:auto}
.n2-table{width:100%;border-collapse:collapse;background:#fff}
.n2-table th{padding:11px 13px;color:#fff;background:var(--n2-navy);text-align:left;font-size:.84rem;letter-spacing:.04em}
.n2-table th[dir="rtl"]{text-align:right}
.n2-table td{padding:11px 13px;border-bottom:1px solid var(--n2-line);vertical-align:top}
.n2-table tr:nth-child(even) td{background:#f5f8f8}
.n2-table .n2-ar{font-size:1.4rem}
.n2-dialogue{display:grid;gap:12px}
.n2-line{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:start}
.n2-speaker{padding:8px 10px;border-radius:12px;color:#fff;background:var(--n2-teal);text-align:center;font-weight:900}
.n2-line:nth-child(even) .n2-speaker{background:var(--n2-purple)}
.n2-bubble{padding:14px 16px;border:1px solid var(--n2-line);border-radius:17px;background:#fff}
.n2-bubble .n2-ar{display:block;color:var(--n2-navy);font-size:1.55rem;font-weight:700}
.n2-bubble small{display:block;color:var(--n2-muted);font-weight:800}
.n2-script{margin-top:15px;padding:15px;border-radius:16px;background:#f5f8f8}
.n2-script summary{cursor:pointer;color:var(--n2-navy);font-weight:900}
.n2-script ol{margin-bottom:0}
.n2-speaker-builder{display:grid;grid-template-columns:250px 1fr;gap:22px;align-items:center}
.n2-prompt-card{padding:20px;border-radius:22px;color:#fff;background:linear-gradient(140deg,var(--n2-navy),#255e6b);text-align:center}
.n2-prompt-card img{width:min(100%,180px);border-radius:20px;background:#fff}
.n2-prompt-card .n2-ar{display:block;margin-top:10px;color:var(--n2-gold);font-size:1.65rem;font-weight:700}
.n2-checklist{display:grid;gap:10px}
.n2-check{display:flex;gap:11px;align-items:flex-start;padding:12px;border:1px solid var(--n2-line);border-radius:14px;background:#fff}
.n2-check input{width:20px;height:20px;margin-top:3px;accent-color:var(--n2-teal)}
.n2-check strong{display:block;color:var(--n2-navy)}
.n2-writing-model{padding:18px;border-inline-start:6px solid var(--n2-teal);border-radius:16px;background:#eef8f3}
.n2-writing-model .n2-ar{display:block;color:var(--n2-navy);font-size:1.65rem;line-height:1.8}
.n2-paper-lines{min-height:310px;padding:24px;border:2px solid rgba(23,50,77,.3);border-radius:14px;background:repeating-linear-gradient(to bottom,#fff 0,#fff 38px,#b7c5ce 39px,#fff 40px)}
.n2-paper-prompt{max-width:850px;margin-bottom:14px;color:var(--n2-navy);font-weight:900}
.n2-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.n2-level{padding:18px;border-radius:18px;border:1px solid var(--n2-line);background:#fff}
.n2-level strong{display:block;margin-bottom:6px;color:var(--n2-navy);font-size:1.05rem}
.n2-level.core{border-top:6px solid var(--n2-teal)}
.n2-level.develop{border-top:6px solid var(--n2-blue)}
.n2-level.stretch{border-top:6px solid var(--n2-purple)}
.n2-today{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0;padding:0;list-style:none}
.n2-today li{padding:17px;border-radius:17px;color:#fff;background:var(--n2-navy);font-weight:800}
.n2-today li::before{content:"✓";display:block;margin-bottom:4px;color:var(--n2-gold);font-size:1.2rem}
.n2-teacher{margin-top:22px;padding:18px 20px;border:1px solid var(--n2-line);border-radius:17px;background:#eef3f5}
.n2-teacher summary{cursor:pointer;color:var(--n2-navy);font-weight:900}
.n2-teacher h3{margin-top:18px}
.n2-counter{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:var(--n2-muted);font-size:.9rem;font-weight:800}
.n2-manual-note{margin-top:10px;color:var(--n2-muted);font-size:.9rem}
.n2-independent{margin-top:16px;padding:14px;border-radius:15px;background:#eef8f3;color:var(--n2-teal-dark);font-weight:800}
@media(max-width:900px){
  .n2-hero-grid,.n2-speaker-builder{grid-template-columns:1fr}
  .n2-vocab-grid,.n2-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-grid-4,.n2-portraits,.n2-today{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .n2-grid-2,.n2-grid-3,.n2-grid-4,.n2-vocab-grid,.n2-portraits,.n2-levels,.n2-today{grid-template-columns:1fr}
  .n2-section-head{grid-template-columns:1fr}
  .n2-section-no{width:42px;height:42px}
  .n2-game-stage{grid-template-columns:1fr}
  .n2-game-stage img{max-width:190px;margin-inline:auto}
  .n2-pattern-row{grid-template-columns:1fr}.n2-plus{transform:rotate(90deg);text-align:center}
  .n2-line{grid-template-columns:1fr}.n2-speaker{justify-self:start}
  .n2-hero{padding-top:52px}.n2-hero-people{grid-template-columns:1fr 1fr}
  .n2-lesson-nav{top:64px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{
  .mu-site-header,.n2-lesson-nav,.n2-actions,.n2-option,.n2-button,.f1-writing-access__tabs,.mu-manual-completion,.n2-teacher{display:none!important}
  body{background:#fff;color:#000}
  .n2-hero{padding:20px 0;color:#000;background:#fff;border-bottom:3px solid #17324d}
  .n2-hero::before,.n2-hero-board{display:none}
  .n2-hero h1,.n2-hero h1 .n2-ar,.n2-subtitle,.n2-meta{color:#000}
  .n2-section{padding:24px 0}.n2-card,.n2-activity,.n2-pattern,.n2-callout{box-shadow:none;break-inside:avoid}
  .f1-writing-access__panel[data-f1-writing-panel="type"],.f1-writing-access__panel[data-f1-writing-panel="draw"]{display:none!important}
  .f1-writing-access__panel[data-f1-writing-panel="paper"]{display:block!important}
  .n2-paper-lines{min-height:500px}
}


/* F2-L12 — Review and Unit Assessment */
.n12-hero{color:#fff;background:linear-gradient(135deg,#102d42 0%,#1d5061 46%,#6b4e91 100%)}
.n12-hero h1,.n12-hero .n2-subtitle,.n12-hero .n2-meta{color:#fff}.n12-hero::before{content:"رَاجِعْ"}
.n12-score-board{padding:24px;border:1px solid rgba(255,255,255,.24);border-radius:28px;background:rgba(255,255,255,.1);box-shadow:0 22px 60px rgba(0,0,0,.22);backdrop-filter:blur(7px)}
.n12-score-board .n2-label{color:var(--n2-navy)}.n12-score-ring{display:grid;place-items:center;width:138px;height:138px;margin:12px auto 18px;border:9px solid rgba(255,255,255,.25);border-top-color:var(--n2-gold);border-radius:50%;background:rgba(9,38,58,.35)}
.n12-score-ring strong{display:block;color:#fff;font-size:3rem;line-height:1}.n12-score-ring span{color:#fff1b8;font-weight:900}
.n12-score-board ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.n12-score-board li{display:flex;justify-content:space-between;gap:16px;padding:9px 12px;border-radius:13px;background:rgba(255,255,255,.09);color:#fff}.n12-score-board b{color:#fff1b8}
.n12-keywords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.n12-keywords p{margin:0;padding:12px;border:1px solid var(--n2-line);border-radius:14px;background:#f8fafb}.n12-keywords b{display:block;color:var(--n2-purple);font-size:1.45rem}.n12-keywords span{display:block;color:var(--n2-muted);font-weight:800}
.n12-session-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.n12-session-map article{padding:18px;border:1px solid var(--n2-line);border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(23,50,77,.08)}.n12-session-map article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#17324d;background:var(--n2-gold);font-weight:900}.n12-session-map strong{display:block;margin-top:9px;color:var(--n2-navy)}.n12-session-map p{margin:5px 0 0;color:var(--n2-muted)}
.n12-vault{display:grid;gap:12px}.n12-vault details{border:1px solid var(--n2-line);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(23,50,77,.06)}.n12-vault summary{padding:16px 19px;color:var(--n2-navy);font-weight:900;cursor:pointer}.n12-vault details[open] summary{border-bottom:1px solid var(--n2-line);background:#f6f9fa}.n12-vault details>div,.n12-vault details>p{margin:16px}
.n12-phrase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.n12-phrase-grid article{padding:14px;border:1px solid var(--n2-line);border-radius:15px;background:#f9fbfc;text-align:center}.n12-phrase-grid b{display:block;color:var(--n2-navy);font-size:1.33rem;line-height:1.8}.n12-phrase-grid span{display:block;color:var(--n2-muted);font-weight:800}
.n12-table-wrap{overflow-x:auto}.n12-table{width:100%;border-collapse:collapse}.n12-table th,.n12-table td{padding:11px 12px;border:1px solid var(--n2-line);text-align:left;vertical-align:top}.n12-table th{color:#fff;background:var(--n2-navy)}.n12-table td[lang="ar"]{color:var(--n2-navy);font-family:Amiri,"Noto Naskh Arabic",serif;font-size:1.24rem;text-align:right;direction:rtl}.n12-table tbody tr:nth-child(even){background:#f6f9fa}
.n12-age-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.n12-age-grid article{padding:12px 8px;border:1px solid var(--n2-line);border-radius:14px;background:#fff;text-align:center}.n12-age-grid b{display:block;color:var(--n2-purple);font-size:1.7rem}.n12-age-grid span{display:block;color:var(--n2-navy);font-size:1.05rem;line-height:1.7}
.n12-bank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.n12-bank-grid article{padding:17px;border:1px solid var(--n2-line);border-radius:18px;background:#f9fbfc}.n12-bank-grid strong{color:var(--n2-navy)}.n12-bank-grid p{margin:.5rem 0 0;color:var(--n2-navy);font-size:1.25rem;line-height:2}.n12-inline-bank{padding:14px;border:1px dashed var(--n2-purple);border-radius:15px;background:#faf8ff;color:var(--n2-navy);font-size:1.22rem;line-height:2}
.n12-adjective-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.n12-adjective-grid article{padding:12px;border:1px solid var(--n2-line);border-radius:14px;background:#fff;text-align:center}.n12-adjective-grid b{display:block;color:var(--n2-navy);font-size:1.18rem;line-height:1.7}.n12-adjective-grid span{color:var(--n2-muted);font-weight:800}
.n12-station-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.n12-station-tabs button{padding:10px 14px;border:2px solid var(--n2-navy);border-radius:999px;color:var(--n2-navy);background:#fff;font:inherit;font-weight:900;cursor:pointer}.n12-station-tabs button.active{color:#17324d;background:var(--n2-gold);border-color:var(--n2-gold)}.n12-station-panel{display:none}.n12-station-panel.active{display:block}
.n2-option.is-correct,.n2-option.correct{color:#fff;background:var(--n2-green);border-color:var(--n2-green)}.n2-option.is-wrong,.n2-option.wrong{color:#fff;background:var(--n2-coral);border-color:var(--n2-coral)}.n2-option.selected:not(.is-correct):not(.is-wrong){color:#fff;background:var(--n2-purple);border-color:var(--n2-purple)}.n2-feedback.is-correct,.n2-feedback.ok{color:var(--n2-green)}.n2-feedback.is-wrong,.n2-feedback.no{color:#b64c3e}
.n12-audio-slot{border-inline-start:7px solid var(--n2-gold);background:linear-gradient(120deg,#fff,#fff9e9)}.n12-audio-slot h3{margin:.25rem 0;color:var(--n2-navy)}
.n12-assessment-parts{display:grid;gap:18px;margin-top:18px}.n12-test-question{padding-block:18px;border-bottom:1px solid var(--n2-line)}.n12-test-question:last-child{border-bottom:0}.n12-test-question h4{margin:0 0 12px}.n12-test-explanation{margin-top:9px}.n12-listening-paper{min-height:620px}.n12-transcripts{display:grid;gap:12px;margin-top:18px}.n12-transcripts details{border:1px solid var(--n2-line);border-radius:16px;background:#f9fbfc}.n12-transcripts summary{padding:15px 17px;color:var(--n2-navy);font-weight:900;cursor:pointer}.n12-transcript{padding:0 17px 17px;color:var(--n2-navy);font-size:1.45rem;line-height:2.15;text-align:right}
.n12-reading-text{padding:24px;border:2px solid var(--n2-purple);border-radius:24px;background:linear-gradient(145deg,#faf8ff,#fff);box-shadow:var(--n2-shadow)}.n12-reading-text p{margin:8px 0 0;color:var(--n2-navy);font-size:1.48rem;line-height:2.2;text-align:right}
.n12-speaking-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.n12-speaking-prompts{display:grid;gap:9px;margin:12px 0 0;padding-left:1.5rem}.n12-speaking-prompts li{padding:9px 11px;border-radius:12px;background:#f6f9fa}.n12-speaking-paper{min-height:620px}
.n12-role-card{padding:22px;border:2px solid var(--n2-green);border-radius:22px;background:linear-gradient(145deg,#eff9f3,#fff)}.n12-role-card ol{display:grid;gap:8px}.n12-role-card li{padding:8px;border-radius:10px;background:#fff}.n12-rubric{display:grid;gap:12px}.n12-rubric-row{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(120px,.4fr) minmax(220px,1fr);gap:13px;align-items:center;padding:12px;border:1px solid var(--n2-line);border-radius:15px;background:#f9fbfc}.n12-rubric-row label{color:var(--n2-navy);font-weight:900}.n12-rubric-row select{padding:10px;border:2px solid #9aa9b6;border-radius:11px;background:#fff;font:inherit}.n12-rubric-row small{color:var(--n2-muted);font-weight:700}
.n12-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.n12-form-grid label{display:block;margin-bottom:6px;color:var(--n2-navy);font-weight:900}.n12-form-grid input.is-valid{border-color:var(--n2-green);background:#eef9f3}.n12-form-grid input.is-invalid{border-color:var(--n2-coral);background:#fff0ed}.n12-paper-form{display:grid;border:1px solid #8798a7}.n12-paper-form>div{min-height:74px;padding:10px;border-bottom:1px solid #8798a7}.n12-paper-form>div:last-child{border-bottom:0}.n12-writing-paper{min-height:850px}.n12-model-answer{margin-top:18px}.n12-model-answer summary{color:var(--n2-navy);font-weight:900;cursor:pointer}.n12-model-answer p{font-size:1.48rem;line-height:2.2;text-align:right}
.n12-results-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.n12-result-card{display:grid;place-items:center;gap:5px;padding:18px;border:1px solid var(--n2-line);border-radius:20px;background:#fff;box-shadow:var(--n2-shadow);text-align:center}.n12-result-card>span{font-size:2rem}.n12-result-card strong{color:var(--n2-navy)}.n12-result-card b{color:var(--n2-purple);font-size:1.7rem}.n12-result-card.total{color:#fff;background:var(--n2-navy);border-color:var(--n2-navy)}.n12-result-card.total strong,.n12-result-card.total b{color:#fff}.n12-band{margin-top:15px;padding:15px 18px;border-radius:16px;background:#eef2f4;color:var(--n2-navy);font-weight:900}.n12-band.secure{background:#e9f8ef;color:#12663e}.n12-band.strong{background:#edf6fb;color:#175679}.n12-band.developing{background:#fff5df;color:#815812}.n12-band.revisit{background:#fff0ed;color:#9a4034}.n12-reflection-fields{display:grid;gap:8px}.n12-reflection-fields textarea{min-height:145px}.n12-reflection-paper{min-height:500px}
.n2-counter{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.n2-counter>span{padding:5px 9px;border-radius:999px;background:#f2edfb;color:#62458f;font-size:.78rem;font-weight:900}
@media(max-width:1100px){.n12-session-map{grid-template-columns:repeat(2,minmax(0,1fr))}.n12-phrase-grid,.n12-bank-grid,.n12-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.n12-age-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.n12-adjective-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.n12-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.n12-keywords,.n12-session-map,.n12-phrase-grid,.n12-bank-grid,.n12-age-grid,.n12-adjective-grid,.n12-speaking-grid,.n12-form-grid,.n12-results-grid,.n12-rubric-row{grid-template-columns:1fr}.n12-rubric-row{align-items:start}.n12-score-ring{width:120px;height:120px}.n12-table th,.n12-table td{padding:9px}.n12-station-tabs{display:grid;grid-template-columns:1fr 1fr}.n12-station-tabs button:last-child{grid-column:1/-1}}
@media print{.n12-score-board,.n12-station-tabs,.n12-audio-slot h3,[data-submit-test],[data-reset-test],#n12-save-speaking,#n12-save-writing,#n12-check-form,#n12-clear-form{display:none!important}.n12-station-panel{display:block!important;margin-bottom:20px}.n12-phrase-grid,.n12-bank-grid,.n12-form-grid{grid-template-columns:repeat(2,1fr)}.n12-results-grid{grid-template-columns:repeat(5,1fr)}.n12-writing-paper,.n12-listening-paper,.n12-speaking-paper{min-height:650px}}
.n12-transcript-card{margin-top:18px;border:1px solid var(--n2-line);border-radius:18px;background:#f9fbfc}.n12-transcript-card summary{padding:16px 18px;color:var(--n2-navy);font-weight:900;cursor:pointer}.n12-transcript-card .n12-transcript{padding:0 18px 18px}.n12-transcript-card .n12-transcript h3{text-align:left}
.n12-vocab-table{width:100%;border-collapse:collapse}.n12-vocab-table th,.n12-vocab-table td{padding:11px 12px;border:1px solid var(--n2-line);text-align:left;vertical-align:top}.n12-vocab-table th{color:#fff;background:var(--n2-navy)}.n12-vocab-table td[lang="ar"]{color:var(--n2-navy);font-family:Amiri,"Noto Naskh Arabic",serif;font-size:1.24rem;text-align:right;direction:rtl}.n12-vocab-table tbody tr:nth-child(even){background:#f6f9fa}.n12-age-grid>span{padding:12px 8px;border:1px solid var(--n2-line);border-radius:14px;background:#fff;text-align:center}.n12-age-grid>span b{display:block;color:var(--n2-purple);font-size:1.7rem}.n12-age-grid>span i{display:block;color:var(--n2-navy);font-size:1.05rem;line-height:1.7;font-style:normal}
.n12-adjective-grid>span{padding:12px;border:1px solid var(--n2-line);border-radius:14px;background:#fff;color:var(--n2-navy);font-size:1.18rem;line-height:1.7;text-align:center}
