@font-face{font-family:Stories;src:local('Tahoma')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fcf8ef;color:#16394a;font:17px/1.85 Stories,Tahoma,Arial,sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible,select:focus-visible{outline:3px solid #cf432f;outline-offset:4px}header{border-top:5px solid #173b4d;border-bottom:1px solid #173b4d;background:#fcf8eff5;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.nav{max-width:1260px;margin:auto;padding:14px 25px;display:flex;align-items:center;gap:30px}.brand{text-decoration:none;font-weight:800;font-size:22px;line-height:1.3;display:flex;align-items:center;gap:12px}.brand b{display:grid;place-items:center;background:#e84f35;color:white;width:44px;height:48px;border-radius:12px;transform:rotate(-6deg);font-size:32px}.brand small{display:block;font-size:10px;font-weight:400;margin-top:6px}.nav nav{display:flex;gap:23px;margin-inline-start:auto}.nav nav a{text-decoration:none;font-size:14px}.pill{border:1px solid #173b4d;background:white;border-radius:30px;padding:7px 18px;font-size:14px}main{max-width:1260px;margin:auto;padding:0 25px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;padding:54px 0 38px}.eyebrow{color:#117b77;font-weight:700;font-size:13px;letter-spacing:.03em}.hero h1{font-size:clamp(36px,4.2vw,62px);line-height:1.45;margin:12px 0 18px;letter-spacing:-1.5px}.hero p{max-width:540px;color:#50646b}.hero-visual{margin:0;position:relative}.hero-visual img{display:block;width:100%;border:2px solid #173b4d;border-radius:26px;box-shadow:-10px 12px #f8d34f}.hero-visual figcaption{position:relative;background:#e84f35;color:white;padding:6px 18px;border:2px solid #173b4d;border-radius:8px;width:fit-content;margin:-12px 20px 0 auto;transform:rotate(-3deg);font-size:13px}.cta{background:#ffcf47;border:2px solid #173b4d;border-radius:12px;box-shadow:3px 4px #173b4d;padding:10px 24px;font-weight:700;display:inline-block;text-decoration:none}.secondary{background:white;border:1.5px solid #173b4d;border-radius:10px;padding:7px 16px;text-decoration:none;display:inline-block}.tiny{font-size:12px;color:#5d6a6f}.intro-strip{display:flex;justify-content:space-between;gap:20px;border-block:1px solid #b9b5a8;padding:15px 0;color:#507077;font-size:13px}.section{padding:48px 0;border-bottom:1px solid #c8c4b8}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:23px}.section h2{font-size:32px;margin:6px 0}.section h3{margin:4px 0 9px}.section-head p{max-width:650px;margin:0;color:#627279;font-size:15px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.story-card{border:1.5px solid #173b4d;border-radius:18px;background:white;overflow:hidden;display:flex;flex-direction:column}.story-image{aspect-ratio:1.5;overflow:hidden;background:#e5dac3;position:relative;direction:ltr}.story-image img{width:200%;height:200%;max-width:none;position:absolute;left:-100%;top:0;object-fit:fill}.number{position:absolute;inset-block-start:13px;inset-inline-start:14px;background:#ffcf47;border:1.5px solid #173b4d;padding:1px 10px;border-radius:7px;font-weight:800;z-index:1}.story-copy{padding:22px;display:flex;flex:1;flex-direction:column;align-items:start}.story-copy h3{font-size:23px}.story-copy p{font-size:14px;color:#56686c;flex:1}.story-copy .tag{font-size:11px;color:#157b72;background:#e0f1e9;border-radius:5px;padding:2px 9px}.story-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.story-actions a{font-size:12px}.before{margin-top:28px}.before summary{cursor:pointer;font-weight:700;padding:14px 0}.before .story-card{background:#f3eee3}.lesson-banner{margin-top:28px;padding:20px 26px;background:#e7f1eb;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:20px}.lesson-banner p{margin:0;font-size:14px}.cast-reference{width:100%;border-radius:18px;border:1px solid #173b4d;display:block}.cast-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.cast-tag{background:white;padding:12px 18px;border-radius:12px;border:1px solid #d2cbbd;font-size:14px}.note{padding:16px 20px;background:#fff3d8;border-inline-start:4px solid #dfac37;border-radius:7px;font-size:14px}.learn-wrap{display:grid;grid-template-columns:260px 1fr;gap:25px}.learn-menu{display:flex;flex-direction:column;gap:10px}.learn-menu button{background:transparent;border:1px solid #b8c8c6;border-radius:12px;padding:12px;text-align:start}.learn-menu button[aria-pressed=true]{background:#173b4d;color:white}.learn-panel{border:1.5px solid #173b4d;border-radius:18px;background:white;padding:26px;min-height:450px}.practice-letter{font-size:64px;font-weight:bold;line-height:1.4;color:#147d76}.options{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0}.options button{border:1px solid #173b4d;background:#fbf8f1;border-radius:12px;padding:12px 22px;font-size:21px}.options button[aria-pressed=true]{background:#cce8df}.feedback{min-height:32px;color:#146752;font-size:15px;font-weight:600}.answer-input{width:100%;max-width:400px;border:1px solid #748e91;border-radius:9px;padding:10px;display:block;margin:14px 0}#writingCanvas{width:100%;max-width:600px;height:220px;touch-action:none;background:#fffdf6;border:1px dashed #c5b99f;border-radius:12px;display:block}.canvas-actions{display:flex;gap:10px;margin-top:12px}.progress-track{height:7px;border-radius:4px;background:#e5eae4;margin:10px 0;overflow:hidden}.progress-track div{height:100%;background:#218477}.game-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.game-tabs button{background:white;border:1px solid #173b4d;border-radius:25px;padding:7px 18px}.game-tabs [aria-pressed=true]{background:#ffcf47}.game-board{background:white;border:1px solid #173b4d;border-radius:18px;padding:25px;min-height:270px}.game-board .options button{font-size:16px}.memory{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:620px;margin:auto}.memory button{height:85px;border:1.5px solid #173b4d;border-radius:10px;background:#d8e9e7;color:#173b4d;font-size:24px}.memory button.done{background:#ffda70}.puzzle{width:min(100%,540px);aspect-ratio:1.5;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;direction:ltr}.puzzle button{background-image:url('assets/family-v14/road-to-dongola-1.webp?rev=omer-v10');background-size:300% 300%;border:2px solid #173b4d;padding:0;min-width:0}.puzzle button.selected{border:4px solid #e84f35}.puzzle span{background:#fff8;padding:1px 6px}.downloads{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.download-card{padding:25px;background:#e5f0ec;border:1px solid #173b4d;border-radius:17px}.download-card p{font-size:14px}.sources details{background:white;border:1px solid #d5ccbc;padding:18px;border-radius:12px;margin-bottom:12px}.sources summary{cursor:pointer;font-weight:700}.sources p,.sources li{font-size:14px}.sources a{color:#087d7a;overflow-wrap:anywhere}footer{max-width:1260px;margin:auto;padding:28px 25px;color:#68767a;font-size:12px;display:flex;justify-content:space-between;gap:20px}dialog{border:0;border-radius:19px;padding:0;width:min(1120px,96vw);height:94dvh;max-height:94dvh;background:#f9f4e9;color:#173b4d;overflow:hidden}dialog::backdrop{background:#102c38cf}.reader-shell{height:100%;display:flex;flex-direction:column}.reader-top{padding:12px 22px;background:white;border-bottom:1px solid #cfc9bc;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.reader-top h2{font-size:18px;margin:0}.reader-tools{display:flex;align-items:center;gap:10px}.reader-tools button,.reader-tools a{font-size:12px}.reader-close{font-size:22px!important;line-height:1;padding:10px 13px}.reader-scroll{overflow:auto;flex:1;padding:20px}.comic-panel{background:white;border:1px solid #173b4d;border-radius:14px;overflow:hidden;max-width:820px;margin:auto}.panel-picture{aspect-ratio:1.5;position:relative;overflow:hidden;background:#e2d4b7;direction:ltr}.panel-picture img{width:200%;height:200%;position:absolute;max-width:none;object-fit:fill}.panel-copy{padding:20px 30px;font-size:18px;line-height:2.1}.panel-copy p{margin:0;white-space:pre-line}.panel-label{color:#108176;font-size:12px;font-weight:bold;margin-bottom:8px}.reader-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 23px;border-top:1px solid #cfc9bc;background:white}.reader-bottom button{font-size:14px}.reader-bottom button:disabled{opacity:.4;cursor:default}.reader-bottom output{font-size:14px}.reader-lesson{padding:12px 25px;text-align:center;font-size:13px;background:#e4eee5}.panel-copy.en{direction:ltr;text-align:left}.reader-full .comic-panel{margin-bottom:25px}.reader-full .panel-copy{font-size:16px}body.reading{overflow:hidden}.hidden{display:none!important}.worksheet-link{display:inline-block;margin-top:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.nav{gap:15px}.nav nav{gap:14px}.hero{gap:30px}.story-grid{gap:15px}.story-copy{padding:16px}.learn-wrap{grid-template-columns:210px 1fr}}@media(max-width:700px){body{font-size:16px}.nav{padding:11px 17px;flex-wrap:wrap;justify-content:space-between;gap:12px}.brand{font-size:19px}.brand small{font-size:9px}.nav nav{order:3;width:100%;margin:0;justify-content:center;border-top:1px solid #e1dccf;padding-top:8px}.nav nav a{font-size:12px}main{padding:0 18px}.hero{grid-template-columns:1fr;gap:25px;padding:30px 0}.hero h1{font-size:37px;margin:8px 0 14px}.hero p{margin:12px 0}.hero-visual{margin:0 8px}.intro-strip{font-size:11px;gap:8px;flex-wrap:wrap}.section{padding:30px 0}.section h2{font-size:27px}.section-head{display:block}.story-grid{grid-template-columns:1fr}.story-card{display:grid;grid-template-columns:1fr}.story-image{aspect-ratio:1.8}.story-copy h3{font-size:25px}.lesson-banner{display:block;padding:20px}.lesson-banner .secondary{margin-top:13px}.learn-wrap{display:block}.learn-menu{display:grid;grid-template-columns:repeat(2,1fr);margin-bottom:17px;gap:8px}.learn-menu button{padding:10px;font-size:13px}.learn-panel{padding:19px}.downloads{grid-template-columns:1fr}.cast-tag{font-size:12px;padding:9px 12px}.reader-top{padding:10px 12px;gap:5px}.reader-tools{gap:6px}.reader-scroll{padding:10px}.panel-copy{padding:16px 19px;font-size:17px;line-height:2}.reader-top h2{font-size:15px}.reader-bottom{padding:10px 12px}.reader-bottom button{padding:7px 15px}.reader-lesson{padding:9px 14px;font-size:12px}.memory{grid-template-columns:repeat(3,1fr)}.game-board{padding:17px}.options button{padding:10px 16px}.section-head .tiny{display:none}footer{display:block}dialog{height:96dvh;max-height:96dvh;width:98vw;border-radius:12px}}

#pageCount{direction:ltr;unicode-bidi:isolate}
.hero-visual img,.cast-reference{height:auto}
.cast-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.cast-tag{min-width:0}.cast-tag img{display:block;width:100%;height:170px;object-fit:contain;object-position:center;background:#faf7ef;margin-bottom:8px}.cast-tag a{font-size:11px;color:#137970}@media(max-width:700px){.cast-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cast-tag img{height:180px}}

/* Typeset dialogue stays selectable, accessible and separate from the artwork. */
/* Lettering belongs to the artwork, with measured tails to each speaker. */
@font-face{font-family:ComicLetter;src:url('assets/comic-letter.ttf') format('truetype');font-display:swap}.lettered-frame{position:relative;direction:ltr;container-type:inline-size}.lettered-art{display:block;width:100%;height:auto;font-family:ComicLetter,DejaVu Sans,Tahoma,sans-serif;overflow:hidden}.lettered-art text{unicode-bidi:embed}.comic-caption{position:absolute;top:1.5%;left:1.5%;right:1.5%;padding:5px 12px;background:#fff9e8f5;border:1px solid #173b4d;border-radius:5px;font-size:clamp(11px,1.8cqw,17px);line-height:1.5;color:#173b4d;pointer-events:none}.comic-panel{max-width:1020px}.reader-full .comic-panel{max-width:1020px}.reader-scroll{overscroll-behavior:contain}.reader-zoom{font-size:12px}.reader-scroll.zoomed .comic-panel{width:1020px;max-width:none}.reader-scroll.zoomed{direction:ltr}.reader-scroll.zoomed .comic-caption{font-size:17px}@media(max-width:700px){.reader-scroll{padding:6px}.reader-scroll:not(.zoomed) .comic-panel{min-width:0}.reader-tools{flex-wrap:wrap}.comic-caption{padding:3px 6px}.reader-lesson{padding:6px 10px;font-size:11px}.reader-top{padding:8px}.reader-top h2{font-size:14px}}

/* Magazine edition: each spoken turn has its own reaction frame. */
.magazine-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1060px;margin:auto;padding:12px;background:white}.magazine-page .comic-panel{width:100%;margin:0!important;border-radius:0}.reader-full .magazine-page{margin-bottom:0}.reader-scroll.zoomed .magazine-page{width:1200px;max-width:none}.reader-scroll.zoomed .magazine-page .comic-panel{width:auto;max-width:100%}.reader-scroll:not(.reader-full)>.comic-panel{max-width:820px}.reader-scroll.zoomed:not(.reader-full)>.comic-panel{width:1020px;max-width:none}.trace-model{width:100%;height:auto;display:block}.trace-canvas{width:100%;aspect-ratio:900/170;height:auto;touch-action:none;background-size:100% 100%;background-repeat:no-repeat;background-color:white;border:1px solid #bacbd0}.lesson-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.lesson-steps button{border:1px solid #173b4d;background:white;border-radius:8px;padding:8px;font-size:12px}.lesson-steps button[aria-pressed=true]{background:#173b4d;color:white}.game-guide{display:flex;align-items:center;gap:12px}.game-guide img{width:70px;height:90px;object-fit:contain}.date-count{display:flex;flex-wrap:wrap;gap:18px;margin:20px;color:#8c4a24;font-size:40px;max-width:440px}.built-answer{padding:20px;border:2px dashed #147d76;background:#f2f8ef;border-radius:12px;min-height:80px}.memory img{width:100%;height:90px;object-fit:contain}.memory span{display:block}.memory button{min-height:120px}@media(max-width:700px){.magazine-page{gap:6px;padding:4px}.lesson-steps{grid-template-columns:repeat(2,1fr)}.reader-scroll.zoomed .magazine-page{width:1000px}.game-tabs{flex-wrap:wrap}}

#writingCanvas.trace-canvas{display:block;width:100%;max-width:none;height:auto;aspect-ratio:900/170;background-size:100% 100%;border-radius:0} .trace-model{aspect-ratio:900/170;object-fit:contain}

.date-count span{display:block;background:#8c4a24;width:28px;height:42px;border-radius:50%;font-size:0;transform:rotate(-20deg);box-shadow:inset -6px 0 #68341b}

.missing-word{font-family:ComicLetter,Tahoma,sans-serif;font-size:clamp(40px,6vw,70px);line-height:1.7;padding:15px 0;color:#173b4d}.missing-entry{display:flex;gap:12px;align-items:center}.missing-entry input{width:100px;text-align:center;font-size:28px}.mini-celebration{position:fixed;z-index:1000;top:22%;left:50%;transform:translateX(-50%);width:min(340px,88vw);padding:30px 18px;background:#fffaf0;border:3px solid #147d76;box-shadow:0 12px 50px #173b4d40;border-radius:24px;text-align:center;pointer-events:none;overflow:hidden;animation:celebration-pop .3s ease-out}.mini-celebration strong{display:block;font-size:28px;color:#147d76;position:relative;z-index:1}.mini-celebration span{position:relative;z-index:1}.mini-celebration i{position:absolute;left:var(--x);top:-20px;width:8px;height:14px;border-radius:3px;animation:confetti-fall 2.6s ease-out var(--delay) both}@keyframes celebration-pop{from{opacity:0;transform:translateX(-50%) scale(.8)}to{opacity:1;transform:translateX(-50%) scale(1)}}@keyframes confetti-fall{to{transform:translateY(200px) rotate(var(--r));opacity:0}}@media(prefers-reduced-motion:reduce){.mini-celebration,.mini-celebration i{animation:none}.mini-celebration i{display:none}}

/* Approved family: watercolour accents and quiet learning surfaces. */
body{background:#faf6ec}.hero-visual img{border-radius:24px 24px 72px 24px;border:2px solid #365569;box-shadow:9px 9px 0 #d7be85;aspect-ratio:1.5;object-fit:cover}.cta{background:#efd27f}.brand b{background:#537e89}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.world-card{border:1px solid #bac9c5;border-radius:19px;overflow:hidden;background:#fffdf8}.world-card img{display:block;width:100%;aspect-ratio:1.8;object-fit:cover}.world-card>div{padding:18px 22px}.world-card h3{margin:0}.world-card p{font-size:14px;margin:8px 0}.cast-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.cast-tag{background:#fffdf8;border:1px solid #cfdbd3;border-radius:17px;text-align:center;padding:12px;min-width:0}.cast-tag img{width:100%;height:230px;object-fit:contain;display:block;margin:0 auto 10px}.cast-tag strong{font-size:18px}.cast-reference{border-color:#becac1}.support-reference{max-height:520px;object-fit:contain;background:#f5efdf;margin-top:20px}.learning-path{position:relative;padding:24px;border:1px solid #cad6cc;border-radius:18px;background:#f1f5ec;margin-bottom:22px}.learning-path label{font-weight:bold;display:block}.learning-path select{max-width:440px;background:#fffdf8}.learning-path:before{content:'';position:absolute;inset:0;background:url('assets/family-v14/education-pattern.jpg') center/470px;opacity:.07;pointer-events:none;border-radius:18px}.learning-path>*{position:relative}.puzzle button{background-image:url('assets/family-v14/road-to-dongola-1.webp')}.nav nav{gap:16px}@media(max-width:900px){.cast-list{grid-template-columns:repeat(3,minmax(0,1fr))}.world-grid{gap:12px}.nav{flex-wrap:wrap}}@media(max-width:700px){.world-grid{grid-template-columns:1fr}.cast-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cast-tag img{height:190px}.nav nav{flex-wrap:wrap;gap:8px 14px}.hero-visual img{aspect-ratio:1.5}.learning-path{padding:18px}.cast-tag strong{font-size:16px}}
