@font-face{font-family:Naskh;src:local('Noto Naskh Arabic'), local('Traditional Arabic'), local('Geeza Pro') format('truetype');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{font-size:16px;color:#0b253b;background:#f4efe4}body{margin:0;font-family:Arial,Naskh,sans-serif;line-height:1.65}body:lang(ar){font-family:Naskh,Arial,sans-serif;font-size:18px}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{min-height:48px}button{cursor:pointer;border:0;border-radius:12px;transition:background .16s,box-shadow .16s}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #ae5708;outline-offset:4px}button:hover:not(:disabled){filter:brightness(.97)}.topbar{height:100px;border-bottom:1px solid #ddd8ce;background:#fffdf9;display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,20px);gap:16px}.brand{display:flex;gap:12px;align-items:center;color:#0b253b;text-decoration:none;direction:ltr;font-family:Arial,sans-serif;font-size:21px;font-weight:800;letter-spacing:3px}.brand svg{width:44px;fill:none;stroke:#00817c;stroke-width:3}.brand small{display:block;font-size:10px;letter-spacing:3.5px;font-weight:600;margin-top:0}.top-actions{display:flex;align-items:center;gap:24px}.language{display:flex;align-items:center;gap:12px;font-size:14px}.language select{border:1px solid #c7d4d2;background:white;color:#0b253b;border-radius:10px;padding:0 12px;min-width:132px}.icon-button{background:transparent;font-size:24px;width:48px;color:#0b253b}main{max-width:1220px;margin:auto;padding:36px 40px 20px}.lesson-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px}.eyebrow{margin:0;color:#086c69;font-size:14px;font-weight:700}.lesson-heading h1{font-size:clamp(27px,3vw,40px);margin:4px 0 2px;line-height:1.4;font-weight:700}.lesson-heading p:not(.eyebrow){margin:0;color:#526474;font-size:16px}.progress-box{min-width:200px;max-width:240px;font-size:14px}.meter{height:7px;background:#d8ded5;border-radius:20px;overflow:hidden;margin:9px 0}.meter i{display:block;height:100%;width:0;background:#00857f;border-radius:20px;transition:width .3s}.progress-box small{font-size:13px;color:#637261}.stages{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:24px;gap:12px}.stage{background:transparent;border:1px solid #cfd3ca;display:flex;align-items:center;gap:12px;justify-content:center;padding:11px 16px;color:#566773;border-radius:14px;min-height:65px;font-size:16px;font-weight:600}.stage.active{background:#0b253b;color:white;border-color:#0b253b}.stage span{display:grid;place-items:center;width:29px;height:29px;border:1px solid currentColor;border-radius:50%;font-size:14px}.stage.done:not(.active){color:#086d68;background:#e4eeea}.activity{background:#fffdf9;border:1px solid #e1e0d8;border-radius:24px;padding:30px;min-height:460px;box-shadow:0 12px 35px #0b253b05;outline:none}.activity-header{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:22px}.activity h2{font-size:23px;margin:0;line-height:1.5}.activity p{margin:5px 0;color:#566570;font-size:16px}.pill{font-size:13px;color:#086d68;background:#e6f0e9;padding:5px 13px;border-radius:25px;white-space:nowrap}.learn-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:stretch}.scene{background:#f3eee3;border-radius:18px;overflow:hidden;position:relative;min-height:295px;display:grid;place-items:center}.scene img{width:100%;height:320px;object-fit:contain}.word-panel{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;text-align:center}.arabic{font-family:Naskh,serif;direction:rtl;unicode-bidi:isolate}.activity .word{font-size:90px;line-height:1.6;margin:0!important;color:#0b253b!important}.meaning{font-size:20px!important;min-height:32px}.primary{background:#087772;color:white;padding:12px 24px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #087772}.primary.listen{font-size:18px;min-width:190px;margin-top:12px}.primary svg,.secondary svg{height:23px;width:23px;fill:none;stroke:currentColor;stroke-width:1.8}.secondary{border:1px solid #bfcac5;background:transparent;color:#0b253b;padding:10px 20px}.text-button{color:#08706d;background:transparent;text-decoration:underline;font-size:14px;min-height:44px;padding:5px 8px}.word-tabs{display:flex;justify-content:center;gap:10px;margin-top:23px}.word-tab{border:1px solid #cdd6cf;padding:7px 20px;background:white;color:#0b253b;font-family:Naskh,serif;font-size:22px}.word-tab.selected{border:2px solid #087772;background:#edf6f0;padding:6px 19px}.lesson-footer{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:12px}.lesson-footer span{font-size:14px;color:#5b6a74}.preview-note{font-size:13px;text-align:center;color:#65746e;margin:26px 0 0}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.choice{background:#f4efe4;border:2px solid #e3e1d7;border-radius:18px;padding:16px;position:relative}.choice img{width:100%;height:170px;object-fit:contain}.choice .choice-number{display:grid;place-items:center;border:1px solid #9bb5aa;border-radius:50%;width:30px;height:30px;background:white;font-size:14px}.choice.correct{border-color:#087772;background:#e5f3e9}.choice.wrong{border-color:#ad690d}.quiz-audio{text-align:center}.feedback{min-height:48px;text-align:center;padding-top:12px;font-size:18px;color:#086d68}.trace-head{display:flex;gap:18px;align-items:center}.letter-tile{background:#eef5ed;width:75px;height:80px;display:grid;place-items:center;border-radius:16px;font-family:Naskh;font-size:56px}.trace-wrap{position:relative;background:#fff;border:1px solid #bccfc6;border-radius:15px;overflow:hidden;aspect-ratio:560/290;max-width:760px;margin:18px auto 12px}.trace-wrap>svg,.trace-wrap>canvas{position:absolute;inset:0;width:100%;height:100%}canvas{touch-action:none;cursor:crosshair}.trace-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.trace-tools button{font-size:14px;padding:8px 17px}.trace-tools .primary{margin-inline-start:auto}.print-link{margin-top:17px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;border-top:1px solid #e1e5da}.print-link p{font-size:14px}.print-link button{white-space:nowrap}.free-label{position:absolute;bottom:8px;inset-inline-end:20px;font-size:12px;pointer-events:none;color:#607575}.video-toggle{position:absolute;bottom:10px;inset-inline-start:10px;background:#fffdf9eb;color:#0b253b;padding:7px 13px;font-size:13px}.scene video{width:100%;height:320px;object-fit:contain}.skip{position:absolute;top:-60px;background:white;padding:12px;z-index:9}.skip:focus{top:0}dialog{border:1px solid #dbe0d7;border-radius:20px;max-width:580px;width:calc(100% - 28px);padding:24px;color:#0b253b;background:#fffdf9;max-height:90vh;overflow:auto}dialog::backdrop{background:#0b253b88}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-head h2{margin:0;font-size:23px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end}.setting-section{border-top:1px solid #dfe4db;padding:18px 0}.setting-section:first-child{border:0;padding-top:0}.setting-section h3{font-size:18px;margin:0 0 10px}.setting-section p{font-size:14px;color:#536771;margin:8px 0}.setting-section button,.setting-section a{margin:5px 4px 5px 0;font-size:14px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.setting-row select{max-width:70%;padding:0 12px;border-radius:9px;border:1px solid #bfcac5;background:#fff}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#0b253b;color:white;z-index:8;padding:14px 22px;border-radius:12px;width:max-content;max-width:90%;font-size:15px}.import-status{padding:12px;background:#edf4ef;border-radius:10px}.big-text{font-size:20px}#print-sheet{display:none}@media(max-width:700px){.topbar{height:82px;padding:0 18px}.brand{font-size:16px;letter-spacing:2px;gap:8px}.brand svg{width:34px}.brand small{font-size:8px;letter-spacing:2px}.top-actions{gap:8px}.language>span{display:none}.language select{min-width:105px;width:110px;font-size:14px}.topbar .icon-button{width:36px}main{padding:24px 14px}.lesson-heading{align-items:start;gap:14px;margin-bottom:20px}.lesson-heading p:not(.eyebrow){font-size:14px}.progress-box{min-width:95px;max-width:110px;font-size:12px;padding-top:6px}.progress-box small{font-size:11px}.lesson-heading h1{font-size:28px}.stages{gap:6px;margin-bottom:16px}.stage{font-size:12px;flex-direction:column;gap:4px;padding:8px 4px;border-radius:12px;min-height:78px}.stage span{width:24px;height:24px;font-size:12px}.activity{padding:19px 14px;border-radius:20px;min-height:430px}.activity-header{margin-bottom:15px}.activity h2{font-size:21px}.activity p{font-size:14px}.pill{font-size:11px;padding:4px 9px}.learn-grid{grid-template-columns:1fr;gap:4px}.scene{min-height:200px}.scene img,.scene video{height:205px}.word-panel{gap:0}.activity .word{font-size:69px;line-height:1.45}.meaning{font-size:17px!important;min-height:26px}.primary.listen{margin-top:9px;font-size:16px;min-width:200px}.word-tabs{margin-top:14px;gap:8px}.word-tab{font-size:22px;padding:3px 17px}.word-tab.selected{padding:2px 16px}.choices{gap:8px;margin-top:22px}.choice{padding:9px 4px}.choice img{height:108px}.choice .choice-number{width:25px;height:25px;font-size:12px;margin:auto}.trace-wrap{aspect-ratio:560/290}.trace-tools{gap:6px}.trace-tools button{font-size:13px;padding:7px 12px}.trace-tools .primary{margin-inline-start:0}.print-link{align-items:start;gap:8px}.print-link button{font-size:13px;padding:10px}.lesson-footer .primary,.lesson-footer .secondary{padding:9px 17px}.preview-note{font-size:12px}.letter-tile{min-width:65px;width:65px}.setting-row{align-items:start;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{@page{size:A4;margin:12mm}body.horizons-printing{background:white!important}body.horizons-printing>*:not(#print-sheet){display:none!important}body.horizons-printing>#print-sheet{display:block!important;color:#0b253b;font-family:Naskh,Arial,sans-serif;direction:rtl;font-size:15px}.print-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #0b253b;padding-bottom:8mm}.print-header h1{font-size:29px;margin:0}.print-header small{font-size:13px}.print-brand{font-family:Arial;font-size:18px;letter-spacing:2px}.print-intro{display:flex;align-items:center;gap:10mm;margin-top:7mm}.print-intro .print-letter{font-size:85px;width:28mm;line-height:1}.print-intro p{margin:0}.print-block{margin-top:6mm;break-inside:avoid}.print-block h2{font-size:17px;margin:0 0 2mm}.print-row{display:flex;direction:rtl;gap:4mm;height:34mm;border-bottom:1px solid #8da9a0}.print-row svg{flex:1;min-width:0;max-width:24%;height:100%}.blank-row{height:24mm;border-bottom:1px solid #718b81;position:relative}.blank-row:before{content:'';position:absolute;left:0;right:0;top:10mm;border-top:1px dashed #c4cec6}.print-foot{display:flex;justify-content:space-between;font-size:11px;margin-top:8mm;border-top:1px solid #cbd8ce;padding-top:3mm}.ink-saving *{color:#222!important;stroke:#555}.ink-saving svg [fill="#08B6AF"]{fill:#555}.print-example{font-size:23px;margin-top:5mm}.print-arrow-note{font-size:13px}.print-note{font-size:12px;margin-top:4mm}}

body.big-text .activity p,body.big-text .stage,body.big-text .setting-section p{font-size:1.2rem}body.big-text .word{font-size:100px}
.word-tab img{height:43px;width:57px;object-fit:contain;display:block;margin:auto}.word-tab{font-size:20px;line-height:1.4;min-width:90px;padding-bottom:7px}.word-tab.selected{padding-bottom:6px}@media(max-width:700px){.word-tab img{height:35px;width:47px}.word-tab{min-width:82px}}
.pill{direction:ltr;unicode-bidi:isolate}
/* Story room visual direction: a clear scene with three purposeful touch targets. */
main{max-width:1320px}.lesson-heading h1{color:#0b253b}.activity-header .activity-kicker{font-size:13px;font-weight:700;color:#087772;margin:0 0 4px}.visual-switch{display:flex;gap:3px;padding:4px;border:1px solid #cfdbd1;border-radius:13px;background:#edf3ec;flex-shrink:0}.visual-switch button{padding:6px 13px;background:transparent;color:#465d66;font-size:14px;min-height:42px;border-radius:9px}.visual-switch button[aria-pressed=true]{background:#fff;color:#0b253b;box-shadow:0 2px 7px #0b253b12;font-weight:700}.explore-grid{grid-template-columns:minmax(0,2.1fr) minmax(245px,1fr);gap:22px;direction:ltr}.explore-grid .word-panel{direction:inherit}.explore-scene{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:20px;background:#173e4a;box-shadow:inset 0 0 0 1px #173e4a12}.room-image{display:block;width:100%;height:100%;object-fit:contain}.hotspot{position:absolute;background:transparent;border:2px solid transparent;border-radius:15px;min-width:48px;min-height:48px;padding:0;z-index:2}.hotspot.selected{border-color:#fff9;box-shadow:0 0 0 4px #08b6af44}.hotspot:hover{background:#fff1;filter:none!important;border-color:#fffc}.hotspot span{position:absolute;inset-inline-end:-5px;top:-5px;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#075651;font-family:Arial;font-size:23px;border:2px solid #07867f;box-shadow:0 3px 10px #0b253b25}.hotspot:focus-visible{outline-color:#ffd564;outline-offset:3px}.explore-caption{position:absolute;inset-inline:12px;bottom:10px;text-align:center;color:#fff;font-size:13px;line-height:1.3;background:#0b253bce;border-radius:10px;padding:8px 12px;pointer-events:none}.word-kicker{font-size:13px;color:#2d766c;background:#e7f2e9;border-radius:20px;padding:5px 14px;display:inline-block}.word-panel{padding:18px 12px}.heard-progress{margin-top:16px;font-size:13px;color:#526b68}.heard-dots{display:flex;justify-content:center;gap:7px;margin-top:8px;direction:ltr}.heard-dots i{display:block;width:24px;height:6px;border-radius:5px;background:#d4dfd4}.heard-dots i.heard{background:#0c827a}.word-tabs{gap:13px}.word-tab{background:#fffdf8;min-width:108px;border-radius:15px;padding:7px 15px}.word-tab.selected{padding:6px 14px;box-shadow:0 4px 12px #08777210}.word-tab img{width:80px;height:58px}.choices .choice{background:#f7f1e4;overflow:hidden}.choices .choice img{height:205px}.scope-note{border-inline-start:3px solid #00817c;padding-inline-start:12px}.stage{box-shadow:0 2px 3px #0b253b03}.print-link{margin-top:20px}@media(max-width:900px){.explore-grid{grid-template-columns:minmax(0,1.8fr) minmax(190px,1fr)}.visual-switch button{font-size:12px;padding:5px 10px}.explore-grid .word{font-size:70px}.explore-grid .primary.listen{min-width:155px}.explore-caption{font-size:11px}}@media(max-width:700px){.activity-header{flex-wrap:wrap}.visual-switch{align-self:start;width:100%;justify-content:center;gap:8px}.visual-switch button{font-size:14px;flex:1}.explore-grid{grid-template-columns:1fr;gap:14px}.explore-scene{border-radius:15px;aspect-ratio:3/2}.word-panel{padding:4px 8px}.explore-grid .word{font-size:72px}.word-kicker{font-size:12px}.explore-caption{display:none}.hotspot span{height:27px;width:27px;font-size:20px;top:-4px;inset-inline-end:-4px}.heard-progress{margin-top:12px}.word-tabs{gap:8px}.word-tab{min-width:78px;padding-inline:9px}.word-tab.selected{padding-inline:8px}.word-tab img{width:65px;height:48px}.choices .choice img{height:120px}}
 .trace-direction{color:#b65b21!important;font-weight:700!important;text-align:center}

/* 0.3.4 — bundled, offline Arabic reading faces. */
@font-face{font-family:"HZN Noto Naskh Arabic";src:url("fonts/NotoNaskhArabic-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"HZN Noto Naskh Arabic";src:url("fonts/NotoNaskhArabic-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"HZN Amiri";src:url("fonts/Amiri-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"HZN Amiri";src:url("fonts/Amiri-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"HZN Scheherazade";src:url("fonts/Scheherazade-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"HZN Scheherazade";src:url("fonts/Scheherazade-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"HZN Noto Sans Arabic";src:url("fonts/NotoSansArabic-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"HZN Noto Sans Arabic";src:url("fonts/NotoSansArabic-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"HZN Noto Kufi Arabic";src:url("fonts/NotoKufiArabic-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"HZN Noto Kufi Arabic";src:url("fonts/NotoKufiArabic-Bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}

:root{
  --arabic-reading-font:"HZN Noto Naskh Arabic",serif;
  --reader-ui-size:21px;
  --reader-chapter-letter-size:77px;
  --reader-chapter-name-size:25px;
  --reader-alphabet-card-size:49px;
  --reader-letter-name-small-size:17px;
  --reader-letter-name-size:30px;
  --reader-letter-orbit-size:144px;
  --reader-mini-form-size:39px;
  --reader-choice-letter-size:90px;
  --reader-match-letter-size:94px;
  --reader-vocab-word-size:87px;
  --reader-sentence-size:32px;
  --reader-strip-word-size:26px;
  --reader-position-size:30px;
  --reader-story-size:36px;
  --reader-story-question-size:30px;
  --reader-form-size:52px;
  --reader-trace-example-size:43px;
  --reader-vowel-size:32px;
}

body:lang(ar),[lang="ar"],.arabic{
  font-family:var(--arabic-reading-font)!important;
}
.arabic,[lang="ar"]{
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}
body:lang(ar){font-size:var(--reader-ui-size)}
