@font-face{font-family:Tajawal;src:url('../assets/fonts/Tajawal-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Tajawal;src:url('../assets/fonts/Tajawal-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--navy:#102d50;--blue:#1764c0;--yellow:#ffd34d;--paper:#f4f7fb;--ink:#17314e;--muted:#526579;--line:#dce5ef;--green:#087965;--radius:22px;--shadow:0 12px 36px #102d500b;--skill:#1764c0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.8 Tajawal,Tahoma,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.4}h1{font-size:clamp(2rem,5vw,3.7rem)}h2{font-size:clamp(1.6rem,3vw,2.2rem)}h3{font-size:1.25rem}p+p{margin-top:14px}svg{width:24px;height:24px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}ul,ol{padding-inline-start:26px}li+li{margin-top:10px}:focus-visible{outline:3px solid #ad5300;outline-offset:5px}main:focus{outline:none}.skip{position:fixed;top:-100px;right:20px;z-index:200;background:var(--yellow);padding:14px}.skip:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1320px;margin:auto;padding:15px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:1.12rem;line-height:1.45;white-space:nowrap}.brand b{color:var(--blue)}.brand small{display:block;font-size:.78rem;color:var(--muted)}nav{display:flex;gap:25px;font-size:.96rem}nav a{padding:8px 0;position:relative}nav a[aria-current=page]{font-weight:bold;color:var(--blue)}nav a[aria-current=page]:after{content:'';height:3px;background:var(--yellow);position:absolute;bottom:0;right:0;left:0;border-radius:5px}.header-start,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 23px;border:1px solid transparent;border-radius:13px;background:var(--blue);color:white;font-weight:700;line-height:1.5}.header-start{background:var(--navy);font-size:.94rem}.button.yellow{background:var(--yellow);color:var(--navy)}.button.light{background:white;color:var(--ink);border-color:var(--line)}.button.ghost{background:transparent;border-color:#ffffff70;color:white}.button.small{font-size:.95rem;padding:10px 17px}.button:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.text-link{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}.container{width:min(1240px,calc(100% - 64px));margin:auto}.section{padding:64px 0}.section-head{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:27px}.section-head p{color:var(--muted);margin-top:8px}.eyebrow{font-size:.95rem;font-weight:700;color:var(--blue);display:block;margin-bottom:12px}.muted{color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:7px;background:#edf3fb;border:1px solid #dce7f6;border-radius:40px;padding:4px 13px;font-size:.88rem;line-height:1.8;font-weight:700}.tag.warn{background:#fff3d7;color:#775000;border-color:#e9d4a8}.tag.white{background:#ffffff16;color:white;border-color:#ffffff40}.tag.skill{color:var(--skill);background:color-mix(in srgb,var(--skill) 9%,white);border-color:color-mix(in srgb,var(--skill) 20%,white)}
.hero{background:var(--navy);color:white;overflow:hidden;position:relative}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#1764c035,transparent 55%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:55px;align-items:center;padding-block:56px 62px;position:relative}.hero h1{margin:17px 0 14px;line-height:1.28}.hero h1 em{font-style:normal;color:var(--yellow)}.hero .lead{color:#dce8f7;max-width:540px;font-size:1.14rem}.hero .actions{margin-top:28px}.hero-kicker{color:#b8d5f9;font-size:.9rem;letter-spacing:.03em}.hero-art{position:relative;margin:0;padding:16px 0}.hero-art>img{width:100%;border:6px solid white;border-radius:24px;transform:rotate(-2deg);box-shadow:0 20px 50px #0003}.hero-art figcaption{position:relative;margin:-12px 24px 0;background:var(--yellow);color:var(--navy);width:fit-content;padding:11px 20px;border-radius:12px;font-size:.94rem;font-weight:bold;box-shadow:0 8px 22px #0002}.hero-badge{position:absolute;top:-7px;left:-15px;background:white;color:var(--navy);padding:12px 18px;border-radius:16px;transform:rotate(5deg);line-height:1.3;box-shadow:var(--shadow)}.hero-badge strong{font-size:1.8rem;color:var(--blue);display:block}.academic-strip{background:#fff;border-bottom:1px solid var(--line)}.academic-strip .container{display:flex;gap:22px;align-items:center;padding-block:24px}.academic-strip img{width:63px;height:63px;object-fit:contain}.academic-strip p{font-size:1rem;line-height:1.7}.academic-strip small{color:var(--muted)}.scientific-title{font-weight:700}.stats{display:flex;gap:28px;margin-top:26px;font-size:.88rem;color:#dce8f7}.stats strong{color:white;font-size:1.3rem;margin-left:6px}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.skill-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;border-top:4px solid var(--skill)}.skill-card .cover{aspect-ratio:4/3;width:100%;object-fit:contain;background:#e4effa}.skill-body{padding:21px;flex:1;display:flex;flex-direction:column;gap:9px}.skill-body p{color:var(--muted);font-size:1rem}.skill-body .text-link{margin-top:auto;color:var(--skill);text-decoration:none}.skill-top{display:flex;align-items:center;justify-content:space-between;color:var(--skill);font-size:.9rem}.icon-box{display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;border-radius:12px;color:var(--skill);background:color-mix(in srgb,var(--skill) 10%,white)}.icon-box svg{width:27px;height:27px}.journey{background:#e8f0fa}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:28px}.journey-item{display:flex;gap:17px}.journey-item strong{border:1px solid #aec8e7;border-radius:50%;height:45px;min-width:45px;display:grid;place-items:center;color:var(--blue);background:white}.journey-item p{color:var(--muted);font-size:1rem}.academic{background:white}.researcher{background:var(--navy);color:white;padding:24px;border-radius:18px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin:25px 0}.researcher small{color:#c7dbef}.researcher h3{font-size:1.5rem}.supervisor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.supervisor{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:18px;padding:21px}.supervisor img{width:90px;height:100px;object-fit:contain;border-radius:12px;background:#edf3f9}.supervisor h3{font-size:1.08rem}.supervisor p{font-size:.92rem;color:var(--muted);line-height:1.6;margin-top:6px}
.page-head{background:white;padding:38px 0 34px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:.94rem;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:17px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.page-head h1{font-size:clamp(2rem,4vw,3rem);margin:12px 0}.page-head p{color:var(--muted);max-width:780px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;padding-block:35px 65px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;margin-bottom:22px;box-shadow:var(--shadow)}.panel h2{font-size:1.5rem;margin-bottom:18px}.panel h3{margin-bottom:10px}.panel p{max-width:80ch}.panel.tint{background:#eaf2fc;border-color:#cfddf0}.panel.sun{background:#fff5d5;border-color:#eedda9}.lesson-nav{position:sticky;top:117px}.lesson-nav a{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem}.lesson-nav h2{font-size:1.1rem}.steps{list-style:none;padding:0;counter-reset:step}.steps li{counter-increment:step;display:flex;gap:17px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line);margin:0}.steps li:last-child{border-bottom:0}.steps li:before{content:counter(step,decimal-leading-zero);color:var(--skill);font-weight:700;font-size:1.25rem;min-width:30px}.error-list{display:grid;gap:12px}.error-item{border:1px solid var(--line);border-radius:12px;padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:1rem}.error-item b{display:block;margin-bottom:5px}.error-item .correct{color:#086a53}.error-item .wrong{color:#a53443}.note{font-size:.96rem;border-inline-start:4px solid var(--yellow);padding:12px 17px;background:#fff8e5;margin-top:15px}.notice{padding:16px 22px;background:#fff1cf;border-radius:12px;color:#6a4b0a}.progress-label{font-size:.9rem;display:flex;justify-content:space-between;gap:15px;margin:12px 0 8px}progress{width:100%;height:10px;border:0;border-radius:8px;overflow:hidden;accent-color:var(--green)}progress::-webkit-progress-bar{background:#e2eaf1}progress::-webkit-progress-value{background:var(--green)}.progress-wrap{max-width:600px;margin:24px 0 0}.completion{margin-top:20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.completion small{color:var(--green)}details{border:1px solid var(--line);background:white;border-radius:15px;margin:20px 0;padding:18px 22px}summary{cursor:pointer;font-weight:bold;min-height:40px}details[open] summary{margin-bottom:15px}details p{font-size:1rem}details .source{margin-top:15px;color:var(--muted);font-size:.9rem}.quiz-options{display:grid;gap:12px;margin:20px 0}.quiz-choice{text-align:right;background:white;border:1px solid #b9cee5;border-radius:12px;padding:16px;min-height:54px}.quiz-choice[aria-pressed=true]{border:2px solid var(--green);background:#e7f7f0}.quiz-feedback{min-height:36px;font-weight:bold;color:var(--green)}.quiz-feedback.wrong{color:#ab3040}.library{scroll-margin-top:110px}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.game-card{background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.game-card>a{display:block;height:100%}.game-card img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#eaf1f8}.game-card-body{padding:20px}.game-card h3{margin:10px 0}.game-card p{font-size:1rem;color:var(--muted)}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:.9rem;font-weight:700;color:var(--blue)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.intro-grid .panel{height:100%;margin:0}.intro-visual{margin:0}.intro-visual img{border-radius:20px;width:100%}.intro-visual figcaption{font-size:.9rem;color:var(--muted);margin-top:10px}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px}.mini-grid article{padding:22px;background:white;border:1px solid var(--line);border-radius:16px}.mini-grid p{font-size:1rem;color:var(--muted);margin-top:8px}.game-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start;margin:32px 0}.game-picture{padding:12px;background:white;border:1px solid var(--line);border-radius:22px;margin:0}.game-picture img{width:100%;border-radius:12px;object-fit:contain}.game-picture figcaption{padding:12px 8px;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:.94rem}.game-facts{display:grid;gap:18px}.fact{padding:22px;border:1px solid var(--line);border-radius:18px;background:white}.fact>span{font-size:.9rem;color:var(--muted);display:block;margin-bottom:6px}.fact p{font-weight:700}.fact.goal{background:var(--skill);color:white;border:0}.fact.goal>span{color:white}.video-shell{border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:#102d50;position:relative;display:grid;place-items:center}.video-shell>img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;opacity:.24}.video-shell .video-message{position:relative;color:white;text-align:center;padding:20px}.video-message svg{width:42px;height:42px;margin-bottom:12px}.video-message p{font-size:1.2rem;font-weight:bold}.video-message small{display:block;color:#e3ecf8;font-size:.95rem;margin-top:8px}.video-shell iframe,.dialog-video iframe{width:100%;height:100%;border:0;position:absolute;inset:0}.video-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.video-help{font-size:.93rem;color:var(--muted);margin-top:12px}.game-navigation{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:28px 0 50px}.empty{padding:80px 20px;text-align:center}.empty .button{margin-top:22px}.about-title{font-size:1.7rem!important;max-width:900px}.review-table{width:100%;border-collapse:collapse;font-size:1rem}.review-table th,.review-table td{text-align:right;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}.review-table th{width:27%}.source-caption{font-size:.92rem;color:var(--muted);margin-top:18px}
footer{background:#0c243f;color:#e1eaf5;padding:28px 0 20px}.footer-inner{width:min(1240px,calc(100% - 64px));margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:1rem}.footer-brand{font-weight:700;color:var(--yellow)}.footer-note{text-align:center;color:#b5c9de;font-size:.86rem;margin:18px 25px 0}dialog{padding:24px;border:0;border-radius:22px;max-width:min(1150px,95vw);width:95vw;max-height:94dvh;box-shadow:0 30px 100px #0005;color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#07172cd9;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-head h2{font-size:1.3rem}#dialog-content img{max-height:74dvh;max-width:100%;width:auto;margin:auto;object-fit:contain}.dialog-video{aspect-ratio:16/9;position:relative;background:#102d50}.dialog-video:fullscreen{width:100vw;height:100vh}#dialog-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}body.modal-open{overflow:hidden}.fade-in{animation:enter .4s ease-out both}@keyframes enter{from{opacity:.85;transform:translateY(10px)}to{opacity:1;transform:none}}.live-status{min-height:25px;font-size:.95rem;color:var(--green)}
main{min-height:calc(100svh - 100px)}.site-header nav a{min-height:44px;display:flex;align-items:center}.lesson-nav nav{display:block}.lesson-nav nav a{white-space:normal}.content-grid>*{min-width:0}
@media(hover:hover){.button:hover,.header-start:hover{filter:brightness(1.08);transform:translateY(-2px)}.skill-card:hover,.game-card:hover{box-shadow:0 14px 34px #12335718;border-color:#9ebadb;transform:translateY(-4px)}nav a:hover{color:var(--blue)}.button,.skill-card,.game-card{transition:transform .2s,box-shadow .2s}}
@media(min-width:1550px){.hero-grid{padding-block:70px}.hero h1{font-size:4rem}}
@media(max-width:1100px){.header-inner{padding-inline:24px}nav{gap:17px}.header-start{display:none}.hero-grid{gap:30px}.skill-grid{grid-template-columns:repeat(2,1fr)}.supervisor{flex-direction:column;text-align:center}.content-grid{grid-template-columns:minmax(0,1fr) 240px}.game-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:17px}.container{width:calc(100% - 36px)}.header-inner{padding:12px 18px;flex-wrap:wrap;gap:10px}.brand{font-size:1rem}.brand img{width:36px;height:36px}.brand small{font-size:.76rem}nav{width:100%;justify-content:space-between;gap:8px;font-size:.88rem}nav a{white-space:nowrap;padding:7px 0}.hero-grid{grid-template-columns:1fr;padding-block:34px 42px;gap:32px}.hero h1{font-size:2.9rem}.hero .lead{font-size:1.06rem}.hero-art{max-width:550px;margin:auto}.hero-badge{left:0;font-size:.86rem}.hero-badge strong{font-size:1.5rem}.hero .actions{gap:10px}.hero .button{padding:12px 16px}.stats{margin-top:23px;gap:20px}.academic-strip .container{align-items:flex-start;gap:14px}.academic-strip img{width:47px;height:47px}.academic-strip p{font-size:.96rem}.section{padding:40px 0}.section-head{align-items:start;flex-direction:column;gap:12px}.skill-grid{gap:16px}.skill-body{padding:16px}.skill-body h3{font-size:1.12rem}.journey-grid,.supervisor-grid,.intro-grid{grid-template-columns:1fr}.supervisor{flex-direction:row;text-align:right}.journey-grid{gap:24px}.researcher{align-items:start;flex-direction:column}.page-head{padding:24px 0}.content-grid{grid-template-columns:1fr;padding-top:24px}.lesson-nav{position:static;order:-1;padding:20px}.lesson-nav nav{display:grid;grid-template-columns:1fr 1fr;font-size:.93rem}.lesson-nav nav a{white-space:normal;border:0;padding:5px}.panel{padding:22px}.game-layout{grid-template-columns:1fr;gap:20px}.game-facts{grid-template-columns:1fr 1fr;gap:12px}.fact{padding:18px}.fact.goal{grid-column:1/-1}.mini-grid{grid-template-columns:1fr}.error-item{grid-template-columns:1fr;gap:12px}.game-navigation{gap:12px}.game-navigation .button{font-size:.94rem;padding:12px 16px}.footer-inner{width:calc(100% - 36px);justify-content:center;text-align:center;gap:12px}.footer-inner p{width:100%}.footer-note{font-size:.86rem}.dialog-head h2{font-size:1.08rem}dialog{padding:15px}.dialog-head{gap:12px}.game-picture figcaption{align-items:start;flex-direction:column}.game-picture figcaption .button{width:100%}html{scroll-padding-top:145px}.library{scroll-margin-top:145px}.game-card-body{padding:16px}}
@media(max-width:450px){.skill-grid,.game-grid{grid-template-columns:1fr}.skill-card{display:grid;grid-template-columns:115px 1fr;border-top:1px solid var(--line);border-inline-start:4px solid var(--skill)}.skill-card .cover{height:100%;aspect-ratio:auto;object-fit:contain;background:#e4effa}.skill-body p{font-size:.95rem}.skill-top .icon-box{display:none}.hero h1{font-size:2.55rem}.hero-art figcaption{margin-inline:9px;font-size:.86rem}.game-facts{grid-template-columns:1fr}.game-navigation{justify-content:center}.game-navigation .text-link{width:100%;justify-content:center}.researcher h3{font-size:1.3rem}.review-table th,.review-table td{padding:10px 5px;font-size:.93rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


/* Light interaction effects; sound preference is independent of reduced motion. */
.sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #c9d9eb;background:#edf4fc;color:#123357;border-radius:12px;font-size:.88rem;font-weight:700;white-space:nowrap;flex-shrink:0}.sound-toggle svg{width:20px;height:20px}.sound-toggle[aria-pressed=false]{background:#f0f2f5;color:#596575}.sound-toggle[aria-pressed=false] svg{opacity:.45}.tap-ring{position:fixed;width:20px;height:20px;border:3px solid #e8ab0d;border-radius:50%;pointer-events:none;z-index:100;animation:tap-wave .45s ease-out both}.success-spark{position:fixed;width:9px;height:9px;border-radius:3px;pointer-events:none;z-index:100;animation:success-burst .7s ease-out both}.button:active,.sound-toggle:active{transform:scale(.97)}progress{transition:width .3s ease}.quiz-feedback:not(:empty){animation:feedback-pop .35s ease-out}.skill-card,.game-card{animation:card-arrive .4s ease-out both}.skill-card:nth-child(2),.game-card:nth-child(2){animation-delay:.04s}.skill-card:nth-child(3),.game-card:nth-child(3){animation-delay:.08s}.skill-card:nth-child(4),.game-card:nth-child(4){animation-delay:.12s}
@keyframes tap-wave{from{transform:translate(-50%,-50%) scale(.5);opacity:.8}to{transform:translate(-50%,-50%) scale(3.6);opacity:0}}@keyframes success-burst{from{transform:translate(-50%,-50%);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(150deg);opacity:0}}@keyframes feedback-pop{from{transform:translateY(4px)}to{transform:none}}@keyframes card-arrive{from{transform:translateY(9px)}to{transform:none}}
@media(max-width:1100px){.header-inner{flex-wrap:wrap}.site-header nav{order:3;width:100%;justify-content:center}.sound-toggle{margin-inline-start:auto}}
@media(max-width:760px){.site-header nav{justify-content:space-between}.sound-toggle{font-size:.84rem;padding:8px 10px}.header-inner{column-gap:8px}}
@media(prefers-reduced-motion:reduce){.tap-ring,.success-spark{display:none}.button:active,.sound-toggle:active{transform:none}}
