:root{--ink: #3b3355;--ink-soft: #6f6689;--cream: #FFF7F0;--paper: #FFFFFF;--pink: #FFC7DA;--pink-deep: #FF8FB1;--blue: #BFE0FF;--blue-deep: #6FB2F0;--green: #BCEBCF;--green-deep: #4FBF8B;--yellow: #FFE9A6;--yellow-deep: #FFC63F;--lilac: #D9CBFF;--shadow: 6px 8px 0 rgba(59, 51, 85, .13);--shadow-sm: 4px 5px 0 rgba(59, 51, 85, .13);--radius: 26px;--font-head: "Baloo Bhaijaan 2", "Tajawal", system-ui, sans-serif;--font-body: "Tajawal", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background-color:var(--cream);background-image:radial-gradient(circle at 12% 8%,rgba(255,199,218,.55),transparent 32%),radial-gradient(circle at 88% 14%,rgba(191,224,255,.55),transparent 34%),radial-gradient(circle at 78% 82%,rgba(188,235,207,.5),transparent 32%),radial-gradient(circle at 18% 88%,rgba(255,233,166,.5),transparent 30%),radial-gradient(rgba(59,51,85,.06) 1.5px,transparent 1.5px);background-size:100% 100%,100% 100%,100% 100%,100% 100%,22px 22px;background-attachment:fixed;line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:var(--font-head);font-weight:800;line-height:1.4;margin:0}p{margin:0}button{font-family:inherit;cursor:pointer}:focus-visible{outline:3px dashed var(--ink);outline-offset:4px}.wrap{width:min(1120px,100%);margin:0 auto;padding:0 20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar{position:sticky;top:0;z-index:60;background:#fff7f0e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:3px solid rgba(59,51,85,.14)}.topbar-inner{display:flex;align-items:center;gap:14px;padding:12px 20px;width:min(1120px,100%);margin:0 auto}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:800;font-size:1.02rem;line-height:1.2}.brand .badge-dot{width:40px;height:40px;display:grid;place-items:center;background:var(--yellow);border:3px solid var(--ink);border-radius:14px;box-shadow:var(--shadow-sm);flex:0 0 auto}.brand small{display:block;font-family:var(--font-body);font-weight:500;font-size:.72rem;color:var(--ink-soft)}.topbar-actions{margin-inline-start:auto;display:flex;gap:8px;align-items:center}.icon-btn{width:46px;height:46px;border-radius:16px;border:3px solid var(--ink);background:var(--paper);display:grid;place-items:center;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,background .2s ease}.icon-btn:hover{transform:translateY(-2px)}.icon-btn:active{transform:translate(3px,4px);box-shadow:none}.icon-btn.on{background:var(--green)}.stepper{display:flex;gap:8px;overflow-x:auto;padding:10px 20px 12px;width:min(1120px,100%);margin:0 auto;scrollbar-width:none}.stepper::-webkit-scrollbar{display:none}.step{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;border:2.5px solid rgba(59,51,85,.22);background:#ffffffb3;color:var(--ink-soft);font-size:.85rem;font-weight:700;transition:all .18s ease;white-space:nowrap}.step:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}.step .num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#3b33551a;font-size:.72rem;font-weight:800}.step.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:3px 4px #3b335540}.step.active .num{background:var(--yellow);color:var(--ink)}.step.done .num{background:var(--green);color:var(--ink)}.progress-track{height:8px;background:#3b33551a;border-radius:999px;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--pink-deep),var(--yellow-deep),var(--green-deep));transition:width .45s cubic-bezier(.34,1.56,.64,1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;min-height:58px;border-radius:999px;border:3px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--font-head);font-weight:800;font-size:1.06rem;box-shadow:var(--shadow);transition:transform .14s ease,box-shadow .14s ease,filter .2s ease}.btn:hover{transform:translateY(-3px);filter:brightness(1.02)}.btn:active{transform:translate(4px,5px);box-shadow:0 0 #0000}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-pink{background:var(--pink)}.btn-blue{background:var(--blue)}.btn-green{background:var(--green)}.btn-yellow{background:var(--yellow)}.btn-ink{background:var(--ink);color:#fff}.btn-ink:hover{filter:brightness(1.15)}.btn-ghost{background:transparent;box-shadow:none;border-color:#3b33554d}.btn-ghost:hover{border-color:var(--ink)}.btn-lg{font-size:1.25rem;padding:20px 44px;min-height:72px}.btn-sm{font-size:.9rem;padding:9px 18px;min-height:44px;box-shadow:var(--shadow-sm)}.page{padding:30px 0 40px;animation:pageIn .5s ease both}.page-head{text-align:center;margin-bottom:26px}.page-head .kicker{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:2.5px solid var(--ink);border-radius:999px;padding:5px 16px;font-size:.82rem;font-weight:800;box-shadow:var(--shadow-sm);margin-bottom:14px}.page-head h2{font-size:clamp(1.55rem,4vw,2.35rem);margin-bottom:8px}.page-head p{color:var(--ink-soft);font-size:clamp(.95rem,2vw,1.06rem);max-width:62ch;margin:0 auto}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.hero{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:center;min-height:calc(100vh - 210px);padding:20px 0 10px}.hero-text{position:relative;z-index:2}.hero-chip{display:inline-flex;align-items:center;gap:8px;background:var(--green);border:3px solid var(--ink);border-radius:999px;padding:6px 18px;font-weight:800;font-size:.86rem;box-shadow:var(--shadow-sm);margin-bottom:16px}.hero h1{font-size:clamp(2.5rem,7vw,4.4rem);line-height:1.15;margin-bottom:6px}.hero h1 .hl{position:relative;display:inline-block;color:#fff;padding:0 14px;border-radius:20px;background:var(--pink-deep);border:3px solid var(--ink);box-shadow:5px 6px #3b335533;transform:rotate(-1.5deg)}.hero .sub{font-family:var(--font-head);font-size:clamp(1.1rem,2.6vw,1.5rem);color:var(--ink-soft);margin-bottom:18px}.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.meta-pill{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:2.5px solid var(--ink);border-radius:999px;padding:8px 16px;font-size:.92rem;font-weight:700;box-shadow:var(--shadow-sm)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.hero-note{font-size:.86rem;color:var(--ink-soft);margin-top:16px}.hero-art{position:relative;display:grid;place-items:center}.hero-art svg{width:100%;max-width:420px;height:auto;filter:drop-shadow(8px 10px 0 rgba(59,51,85,.12))}.float-slow{animation:floaty 6s ease-in-out infinite}.float-mid{animation:floaty 4.5s ease-in-out infinite}.spin-slow{animation:spin 26s linear infinite;transform-origin:center}.clay{background:var(--paper);border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;position:relative}.clay-pink{background:linear-gradient(160deg,#fff,var(--pink))}.clay-blue{background:linear-gradient(160deg,#fff,var(--blue))}.clay-green{background:linear-gradient(160deg,#fff,var(--green))}.clay-yellow{background:linear-gradient(160deg,#fff,var(--yellow))}.clay-lilac{background:linear-gradient(160deg,#fff,var(--lilac))}.obj-card{padding:22px 20px;transition:transform .2s ease,box-shadow .2s ease}.obj-card:hover{transform:translateY(-5px) rotate(-.6deg);box-shadow:9px 12px #3b335526}.obj-icon{width:54px;height:54px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:18px;margin-bottom:12px;background:var(--paper);box-shadow:var(--shadow-sm)}.obj-card h3{font-size:1.1rem;margin-bottom:6px}.obj-card p{font-size:.94rem;color:var(--ink-soft);line-height:1.75}.obj-num{position:absolute;inset-inline-start:18px;top:18px;font-family:var(--font-head);font-size:.8rem;font-weight:800;background:#ffffffd9;border:2.5px solid var(--ink);border-radius:999px;padding:1px 10px}.warm-q{padding:26px;background:linear-gradient(150deg,#fff 30%,var(--blue))}.warm-q .q-label{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.82rem;background:var(--yellow);border:2.5px solid var(--ink);border-radius:999px;padding:4px 14px;margin-bottom:14px}.warm-q h3{font-size:clamp(1.2rem,3vw,1.6rem);margin-bottom:18px}.opt-list{display:grid;gap:12px}.opt{display:flex;align-items:center;gap:12px;text-align:start;width:100%;padding:15px 18px;border-radius:20px;border:3px solid rgba(59,51,85,.25);background:var(--paper);font-family:inherit;font-size:1rem;font-weight:700;color:var(--ink);box-shadow:var(--shadow-sm);transition:all .16s ease}.opt:hover:not(:disabled){transform:translateY(-2px);border-color:var(--ink)}.opt .mark{width:30px;height:30px;flex:0 0 auto;border-radius:50%;border:2.5px solid var(--ink);display:grid;place-items:center;background:var(--cream);font-size:.9rem;font-weight:800}.opt.correct{background:var(--green);border-color:var(--ink);animation:pop .35s ease}.opt.correct .mark{background:var(--green-deep);color:#fff}.opt.wrong{background:#ffd9de;border-color:#e4697e;animation:shake .4s ease}.opt.wrong .mark{background:#e4697e;color:#fff}.opt.dim{opacity:.55}.feedback{margin-top:16px;display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:18px;border:3px dashed var(--ink);background:#ffffffd9;font-size:.96rem;animation:pageIn .35s ease both}.feedback.good{background:#e7fbf0;border-color:var(--green-deep)}.feedback.bad{background:#fff0f3;border-color:#e4697e}.feedback strong{font-family:var(--font-head)}.aes-card{padding:24px;display:flex;flex-direction:column;gap:12px;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.aes-card:hover{transform:translateY(-4px);box-shadow:9px 12px #3b335526}.aes-top{display:flex;align-items:flex-start;gap:12px}.aes-badge{flex:0 0 auto;min-width:74px;padding:8px 10px;border-radius:18px;border:3px solid var(--ink);background:var(--paper);text-align:center;font-family:var(--font-head);font-weight:800;font-size:.95rem;line-height:1.3;box-shadow:var(--shadow-sm)}.aes-badge span{display:block;font-size:.7rem;color:var(--ink-soft);font-family:var(--font-body)}.aes-title h3{font-size:1.16rem;margin-bottom:2px}.aes-title small{color:var(--ink-soft);font-size:.78rem;font-weight:700;letter-spacing:.3px}.aes-def{font-size:.93rem;color:#4a4266}.aes-example{background:#ffffffeb;border:2.5px dashed rgba(59,51,85,.4);border-radius:16px;padding:12px 16px}.aes-example .quote{font-family:var(--font-head);font-size:1.06rem;color:#4a3f6b;line-height:1.9}.aes-example .note{font-size:.85rem;color:var(--ink-soft);margin-top:4px}.aes-q{background:#3b33550f;border-radius:16px;padding:12px 16px;font-weight:700;font-size:.95rem;display:flex;gap:10px;align-items:flex-start}.aes-answer{background:#fff;border:2.5px solid var(--green-deep);border-radius:16px;padding:12px 16px;font-size:.93rem;animation:pageIn .3s ease both}.aes-answer b{font-family:var(--font-head);color:var(--green-deep)}.vocab-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:thin}.vocab-chip{flex:0 0 auto;background:var(--paper);border:2.5px solid var(--ink);border-radius:16px;padding:8px 14px;box-shadow:var(--shadow-sm);font-size:.86rem;min-width:150px}.vocab-chip b{display:block;font-family:var(--font-head);font-size:1rem}.vocab-chip span{color:var(--ink-soft)}.quiz-shell{max-width:780px;margin:0 auto}.q-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.q-count{font-size:.82rem;font-weight:800;background:var(--paper);border:2.5px solid var(--ink);border-radius:999px;padding:4px 14px;box-shadow:var(--shadow-sm)}.stars{display:flex;gap:3px}.stars svg{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.stars .pop-star{animation:starPop .5s ease}.q-card{padding:26px 24px}.q-card h3{font-size:clamp(1.12rem,2.8vw,1.45rem);margin-bottom:18px}.tf-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}.result-card{text-align:center;padding:34px 24px}.result-card .big{font-family:var(--font-head);font-size:clamp(3rem,10vw,5rem);line-height:1;color:var(--pink-deep);-webkit-text-stroke:2px var(--ink)}.result-card h3{font-size:clamp(1.3rem,3.5vw,1.9rem);margin:10px 0 6px}.result-card p{color:var(--ink-soft);max-width:46ch;margin:0 auto 20px}.game-shell{max-width:900px;margin:0 auto}.game-hud{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}.hud-chip{display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:2.5px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:800;font-size:.88rem;box-shadow:var(--shadow-sm)}.hud-chip.time{background:var(--yellow)}.hud-chip.score{background:var(--green)}.hud-chip.round{background:var(--blue)}.pond{position:relative;border:3px solid var(--ink);border-radius:30px;padding:26px 20px;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.7),transparent 40%),linear-gradient(180deg,#d8efff,#b9e3ff 55%,#a6daf8);box-shadow:var(--shadow);overflow:hidden}.pond:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.35) 0 2px,transparent 2px 26px);opacity:.5;pointer-events:none}.pond-title{position:relative;text-align:center;margin-bottom:20px}.pond-title .term{display:inline-block;font-family:var(--font-head);font-size:clamp(1.6rem,5vw,2.4rem);background:var(--paper);border:3px solid var(--ink);border-radius:22px;padding:6px 26px;box-shadow:var(--shadow-sm);transform:rotate(-1deg)}.pond-title p{font-size:.88rem;color:#33506b;margin-top:8px;font-weight:700}.fish-grid{position:relative;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.fish{position:relative;display:flex;align-items:center;gap:10px;padding:16px 18px;border-radius:999px 26px 26px 999px;border:3px solid var(--ink);background:var(--paper);font-family:inherit;font-size:.96rem;font-weight:700;color:var(--ink);text-align:start;box-shadow:5px 6px #3b335529;animation:swim 3.4s ease-in-out infinite;transition:transform .16s ease,background .2s ease}.fish:nth-child(2){animation-delay:.5s}.fish:nth-child(3){animation-delay:1s}.fish:nth-child(4){animation-delay:1.5s}.fish:hover:not(:disabled){transform:translateY(-3px) scale(1.02)}.fish.hit{background:var(--green);animation:pop .4s ease}.fish.miss{background:#ffd9de;animation:shake .4s ease}.game-over{text-align:center;padding:30px 22px}.game-over .score-big{font-family:var(--font-head);font-size:clamp(2.6rem,9vw,4rem);line-height:1.1;color:var(--green-deep);-webkit-text-stroke:2px var(--ink)}.hw-card{display:flex;gap:14px;align-items:flex-start}.hw-icon{flex:0 0 auto;width:50px;height:50px;border-radius:16px;border:3px solid var(--ink);background:var(--paper);display:grid;place-items:center;box-shadow:var(--shadow-sm)}.hw-card h3{font-size:1.05rem;margin-bottom:4px}.hw-card p{font-size:.92rem;color:var(--ink-soft)}.tag{display:inline-block;margin-top:8px;font-size:.74rem;font-weight:800;background:#3b335514;border-radius:999px;padding:2px 12px}.golden-card{margin-top:26px;padding:28px 26px;border-radius:30px;border:3px solid var(--ink);background:radial-gradient(circle at 85% 12%,rgba(255,255,255,.7),transparent 45%),linear-gradient(150deg,#ffe9a6,#ffd26a 55%,#ffc63f);box-shadow:var(--shadow);position:relative;overflow:hidden}.golden-card h3{display:flex;align-items:center;gap:10px;font-size:clamp(1.2rem,3.4vw,1.7rem);margin-bottom:14px}.golden-card ul{margin:0;padding-inline-start:20px;display:grid;gap:10px}.golden-card li{font-size:.96rem;line-height:1.85}.golden-quote{margin-top:18px;padding:14px 18px;border-radius:18px;background:#ffffffbf;border:2.5px dashed var(--ink);font-family:var(--font-head);font-size:1.02rem;text-align:center}.page-nav{display:flex;justify-content:space-between;gap:12px;margin-top:32px;flex-wrap:wrap}.page-nav .btn{flex:1 1 160px}.site-foot{text-align:center;padding:26px 20px 40px;font-size:.84rem;color:var(--ink-soft);border-top:3px dashed rgba(59,51,85,.16);margin-top:20px}.site-foot b{font-family:var(--font-head);color:var(--ink)}.doodle{position:absolute;pointer-events:none;opacity:.9;z-index:0}.doodle svg{display:block}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90;overflow:hidden}.confetti i{position:absolute;top:-20px;width:10px;height:14px;border-radius:3px;animation:fall 2.6s linear forwards}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}45%{transform:translate(6px)}70%{transform:translate(-4px)}}@keyframes starPop{0%{transform:scale(0) rotate(-40deg)}70%{transform:scale(1.35) rotate(8deg)}to{transform:scale(1) rotate(0)}}@keyframes swim{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-.8deg)}}@keyframes fall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(540deg);opacity:0}}@media (max-width: 900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:10px;text-align:center}.hero-meta,.hero-actions{justify-content:center}.hero-art{order:-1}.hero-art svg{max-width:290px}.brand small{display:none}}@media (max-width: 640px){.wrap{padding:0 14px}body{line-height:1.8}.page{padding:20px 0 30px}.clay{padding:18px;border-radius:22px}.btn{padding:14px 22px;min-height:56px;font-size:1rem;width:100%}.btn-sm{width:auto;min-height:44px}.hero-actions{flex-direction:column;align-items:stretch}.page-nav .btn{flex:1 1 100%}.q-card{padding:20px 16px}.aes-card{padding:18px}.aes-top{flex-direction:row}.opt{padding:13px 14px;font-size:.95rem}.topbar-inner{padding:9px 12px;gap:8px}.brand{font-size:.88rem}.brand .badge-dot{width:34px;height:34px;border-radius:12px}.icon-btn{width:42px;height:42px;border-radius:13px}.step{font-size:.78rem;padding:6px 11px}.fish{font-size:.9rem;padding:14px}.golden-card{padding:20px 16px}.result-card{padding:24px 16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
