:root{--primary: #4361EE;--primary-600: #3049d1;--primary-50: #eef1fe;--purple: #8338EC;--purple-50: #f3ebfe;--teal: #06D6A0;--teal-700: #05a37a;--teal-50: #e3fbf4;--yellow: #FFBE0B;--yellow-700: #b57a00;--yellow-50: #fff6dd;--orange: #FF8A00;--pink: #FF4FD8;--red: #e5484d;--red-50: #ffecee;--navy: #14213D;--light: #F8FAFC;--muted: #5b6785;--line: #e6eaf5;--grad-brand: linear-gradient(135deg, #4361EE 0%, #8338EC 100%);--grad-sunny: linear-gradient(180deg, #FFD23F 0%, #FFBE0B 45%, #FF8A00 100%);--grad-night: radial-gradient(900px 500px at 85% -10%, #5b3cf0 0%, transparent 60%), linear-gradient(160deg, #10195a 0%, #1b2a8a 50%, #3a1f9e 100%);--display: "Baloo Bhaijaan 2", "Cairo", system-ui, sans-serif;--body: "Cairo", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--r: 20px;--r-sm: 12px;--shadow: 0 8px 24px rgba(20, 33, 61, .07), 0 2px 5px rgba(20, 33, 61, .04);--shadow-lg: 0 20px 50px rgba(20, 33, 61, .16);--side: 264px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--body);font-size:15.5px;line-height:1.7;color:var(--navy);background:var(--light);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.3;margin:0}p{margin:0}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%}:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;border-radius:6px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--muted)}.small{font-size:.88rem}.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row--between{justify-content:space-between}.row--end{justify-content:flex-end}.stack{display:grid;gap:16px}.stack--sm{gap:8px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;padding:.6em 1.2em;border:0;border-radius:999px;font-family:var(--display);font-weight:700;font-size:.98rem;line-height:1.2;cursor:pointer;white-space:nowrap;transition:transform .12s,filter .2s,background .2s;text-decoration:none;min-height:42px}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--sm{min-height:34px;padding:.4em .9em;font-size:.88rem}.btn--lg{min-height:52px;padding:.75em 1.6em;font-size:1.08rem}.btn--block{width:100%}.btn--primary{background:var(--primary);color:#fff;box-shadow:0 4px 0 var(--primary-600)}.btn--sunny{background:var(--grad-sunny);color:var(--navy);box-shadow:0 4px #d97300}.btn--teal{background:var(--teal);color:var(--navy);box-shadow:0 4px #04a87d}.btn--danger{background:var(--red);color:#fff;box-shadow:0 4px #b4233f}.btn--ghost{background:var(--primary-50);color:var(--primary)}.btn--outline{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--line)}.btn--light{background:#ffffff24;color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff73}.iconbtn{width:40px;height:40px;border:0;border-radius:12px;background:transparent;display:inline-grid;place-items:center;cursor:pointer;color:var(--muted);position:relative}.iconbtn:hover{background:var(--primary-50);color:var(--primary)}.dot{position:absolute;inset-block-start:6px;inset-inline-end:6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:.7rem;font-weight:700;display:grid;place-items:center}.card{background:#fff;border-radius:var(--r);padding:20px;box-shadow:var(--shadow);min-width:0}.card--flush{padding:0;overflow:hidden}.card--flush .card__head{padding:16px 20px 0}.card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card__head h3{font-size:1.12rem}.card--hero{background:var(--grad-brand);color:#fff;position:relative;overflow:hidden}.card--hero h2,.card--hero h3{color:#fff}.card--hero:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#ffffff14;inset-block-start:-90px;inset-inline-end:-60px}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.pagehead h1{font-size:1.75rem}.pagehead p{color:var(--muted)}.pagehead__actions{display:flex;gap:10px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:.12em .7em;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.badge--gray{background:#eef0f5;color:var(--muted)}.badge--primary{background:var(--primary-50);color:var(--primary)}.badge--teal{background:var(--teal-50);color:#047a5c}.badge--yellow{background:var(--yellow-50);color:var(--yellow-700)}.badge--purple{background:var(--purple-50);color:var(--purple)}.badge--red{background:var(--red-50);color:#b4233f}.badge--live{background:var(--red);color:#fff;animation:pulse 1.6s infinite}@keyframes pulse{50%{opacity:.65}}.stat{display:flex;gap:14px;align-items:center;background:#fff;border-radius:var(--r);padding:18px;box-shadow:var(--shadow)}.stat__ico{width:48px;height:48px;flex:none;border-radius:14px;display:grid;place-items:center}.stat strong{display:block;font-family:var(--display);font-size:1.6rem;line-height:1.1}.stat span{color:var(--muted);font-size:.9rem}.stat small{display:block;color:var(--muted);font-size:.78rem}.stat--primary .stat__ico{background:var(--primary-50);color:var(--primary)}.stat--purple .stat__ico{background:var(--purple-50);color:var(--purple)}.stat--teal .stat__ico{background:var(--teal-50);color:var(--teal-700)}.stat--yellow .stat__ico{background:var(--yellow-50);color:var(--yellow-700)}.stat--red .stat__ico{background:var(--red-50);color:var(--red)}.progress{height:10px;background:#e9ecf6;border-radius:999px;overflow:hidden}.progress__bar{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .6s}.progress__bar--teal{background:var(--teal)}.progress__bar--yellow{background:var(--grad-sunny)}.progress__bar--purple{background:var(--purple)}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;color:#fff;font-family:var(--display);font-weight:800;background:var(--primary)}.avatar--purple{background:var(--purple)}.avatar--teal{background:var(--teal-700)}.avatar--yellow{background:var(--orange)}.loading,.empty{display:grid;justify-items:center;gap:8px;padding:36px 16px;color:var(--muted);text-align:center}.empty strong{color:var(--navy);font-family:var(--display);font-size:1.05rem}.errorbox{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--r-sm);background:var(--red-50);color:#b4233f;font-weight:600;flex-wrap:wrap}.field{display:grid;gap:6px;min-width:0}.field label{font-weight:700;font-size:.92rem}.field input,.field select,.field textarea{width:100%;min-height:46px;padding:.6em .95em;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;transition:border-color .2s,box-shadow .2s}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px #4361ee1f}.field__hint{color:var(--muted)}.field__err{color:#b4233f;font-weight:600}.field--err input{border-color:var(--red)}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:.95rem}.check input{width:20px;height:20px;margin-top:3px;accent-color:var(--primary);flex:none}.form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;background:#fff;border-radius:999px;box-shadow:var(--shadow);margin-bottom:18px;scrollbar-width:none}.tabs__tab{flex:none;border:0;background:transparent;padding:.5em 1.1em;border-radius:999px;font-family:var(--display);font-weight:700;color:var(--muted);cursor:pointer;display:inline-flex;gap:6px;align-items:center;min-height:40px}.tabs__tab.is-active{background:var(--primary);color:#fff}.tabs__count{background:#00000014;border-radius:999px;padding:0 .55em;font-size:.78rem}.tabs__tab.is-active .tabs__count{background:#ffffff40}.tablewrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.93rem}.table th{text-align:start;color:var(--muted);font-weight:700;font-size:.82rem;padding:10px 12px;border-bottom:1.5px solid var(--line);white-space:nowrap}.table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr.is-click{cursor:pointer}.table tr.is-click:hover td{background:#f7f8fd}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0c122d8c;display:grid;place-items:center;padding:16px;animation:fade .15s}.modal__box{width:min(520px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);animation:pop .18s}.modal__box--wide{width:min(860px,100%)}.modal__head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 6px}.modal__head h3{font-size:1.2rem}.modal__body{padding:10px 22px 18px;overflow:auto}.modal__foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 22px 18px;border-top:1px solid var(--line);flex-wrap:wrap}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:translateY(12px) scale(.98);opacity:0}}.toasts{position:fixed;inset-block-end:20px;inset-inline-start:50%;transform:translate(50%);z-index:300;display:grid;gap:8px;width:min(420px,calc(100% - 32px))}[dir=ltr] .toasts{transform:translate(-50%)}.toast{padding:12px 18px;border-radius:14px;background:var(--navy);color:#fff;font-weight:600;box-shadow:var(--shadow-lg);animation:pop .2s}.toast--ok{background:#047a5c}.toast--err{background:#b4233f}.stars{display:inline-flex;gap:2px}.stars button{border:0;background:none;cursor:pointer;color:#d5d9e6;padding:0 2px;line-height:1}.stars button.is-on{color:var(--yellow)}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--light)}.auth__art{background:var(--grad-night);color:#fff;display:grid;place-items:center;padding:40px;position:relative;overflow:hidden}.auth__art img.mascot{width:min(460px,90%);filter:drop-shadow(0 25px 30px rgba(5,10,50,.45));animation:bob 4.5s ease-in-out infinite}.auth__art h2{color:#fff;font-size:2rem;text-align:center;margin-top:18px}.auth__art p{color:#fffc;text-align:center}.auth__panel{display:grid;place-items:center;padding:32px 20px}.auth__box{width:min(420px,100%)}.auth__logo{width:150px;display:block;margin:0 auto 18px}@keyframes bob{50%{transform:translateY(-12px) rotate(-1.5deg)}}.shell{display:flex;min-height:100vh}.side{width:var(--side);flex:none;background:#fff;border-inline-end:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:16px 14px}.side__logo{display:block;width:120px;margin:4px auto 16px}.side__nav{display:grid;gap:2px;overflow-y:auto;flex:1;align-content:start}.side__group{font-size:.74rem;font-weight:700;color:var(--muted);padding:12px 12px 4px}.navlink{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--navy);font-weight:600}.navlink:hover{background:#f4f6fd}.navlink.active{background:var(--primary-50);color:var(--primary)}.navlink svg{flex:none}.side__user{display:flex;gap:10px;align-items:center;padding:12px 8px 0;border-top:1px solid var(--line)}.side__user strong{display:block;font-size:.92rem;line-height:1.2}.side__user small{color:var(--muted)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;padding:12px 24px;background:#f8fafce6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar__title{font-family:var(--display);font-weight:700;font-size:1.05rem}.topbar__logo{display:none;height:40px}.content{padding:8px 24px 40px;width:100%;max-width:1280px;margin-inline:auto}.bottomnav{display:none}.notif{position:absolute;inset-block-start:56px;inset-inline-end:16px;width:min(380px,calc(100vw - 32px));max-height:70vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);z-index:80;padding:8px}.notif__item{padding:10px 12px;border-radius:12px}.notif__item.is-new{background:#f4f6fd}.notif__item strong{display:block;font-size:.93rem}.notif__item p{font-size:.88rem;color:var(--muted)}.notif__item small{color:var(--muted);font-size:.76rem}.list{display:grid;gap:10px}.item{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.item--flat{box-shadow:none;background:var(--light)}.item__body{flex:1;min-width:0}.item__body strong{display:block}.item__body small{color:var(--muted)}.item__ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;background:var(--primary-50);color:var(--primary)}.child{display:grid;gap:14px}.child__top{display:flex;gap:14px;align-items:center}.child__meta{display:flex;gap:8px;flex-wrap:wrap}.next{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;background:var(--light)}.session{display:flex;gap:14px;align-items:center;padding:14px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.session__date{width:64px;flex:none;text-align:center;border-radius:14px;background:var(--primary-50);color:var(--primary);padding:6px 4px;font-family:var(--display);line-height:1.2}.session__date b{display:block;font-size:1.5rem}.session__date small{font-size:.78rem}.kid-hero{background:var(--grad-night);color:#fff;border-radius:28px;padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;position:relative;overflow:hidden}.kid-hero h2{color:#fff;font-size:1.6rem}.kid-hero p{color:#fffc}.kid-hero__avatar{width:96px;height:96px;border-radius:28px;background:#ffffff1f;display:grid;place-items:center;font-size:3rem;box-shadow:inset 0 0 0 2px #ffffff40}.xp{display:grid;gap:6px;min-width:200px}.xp strong{font-family:var(--display);font-size:1.8rem;color:var(--yellow)}.coins{display:inline-flex;gap:6px;align-items:center;padding:.3em .9em;border-radius:999px;background:var(--yellow-50);color:var(--yellow-700);font-weight:800;font-family:var(--display)}.badges{display:flex;gap:10px;flex-wrap:wrap}.badge-big{width:92px;text-align:center;display:grid;gap:4px;justify-items:center;font-size:.8rem;font-weight:700}.badge-big span{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:2rem;background:var(--yellow-50)}.badge-big.is-locked span{filter:grayscale(1);opacity:.35}.badge-big.is-locked{color:var(--muted)}.journey{display:grid;gap:22px}.journey__track h3{margin-bottom:10px}.journey__path{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 10px}.level{flex:none;width:150px;padding:14px;border-radius:18px;background:#fff;box-shadow:var(--shadow);text-align:center;border:2px solid transparent}.level__n{width:44px;height:44px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;background:#eef0f5;color:var(--muted)}.level--COMPLETED .level__n{background:var(--teal);color:var(--navy)}.level--CURRENT{border-color:var(--primary)}.level--CURRENT .level__n{background:var(--primary);color:#fff}.level--NEXT .level__n{background:var(--yellow);color:var(--navy)}.level--LOCKED{opacity:.6}.level strong{display:block;font-size:.9rem;line-height:1.4}.classroom{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.exercise-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.exercise-pill{border:0;border-radius:999px;padding:.4em 1em;background:#fff;box-shadow:var(--shadow);cursor:pointer;font-weight:700;display:inline-flex;gap:6px;align-items:center;min-height:40px}.exercise-pill.is-active{background:var(--primary);color:#fff}.exercise-pill.is-done{box-shadow:inset 0 0 0 2px var(--teal)}.editor{border-radius:18px;overflow:hidden;border:1.5px solid var(--line);direction:ltr;text-align:left;background:#fff}.editor .cm-editor{font-size:15px;min-height:240px}.editor .cm-scroller{font-family:var(--mono)}.console{direction:ltr;text-align:left;background:var(--navy);color:#d7e0ff;border-radius:16px;padding:14px;font-family:var(--mono);font-size:.9rem;min-height:90px;white-space:pre-wrap;max-height:260px;overflow:auto}.console .err{color:#ff9aa8}.console .ok{color:var(--teal)}.codi{display:flex;flex-direction:column;height:560px}.codi__head{display:flex;gap:10px;align-items:center;margin-bottom:10px}.codi__head img{width:64px}.codi__msgs{flex:1;overflow:auto;display:grid;gap:10px;align-content:start;padding:4px}.bubble{padding:10px 14px;border-radius:18px;max-width:92%;font-size:.94rem;white-space:pre-wrap}.bubble--me{background:var(--primary);color:#fff;justify-self:start;border-end-start-radius:4px}.bubble--codi{background:var(--light);justify-self:end;border-end-end-radius:4px}.codi__form{display:flex;gap:8px;margin-top:10px}.codi__form input{flex:1;min-height:44px;border:1.5px solid var(--line);border-radius:999px;padding:0 16px}.live-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.live-code{direction:ltr;text-align:left;background:var(--navy);color:#d7e0ff;border-radius:14px;padding:10px;font-family:var(--mono);font-size:.8rem;height:150px;overflow:auto;white-space:pre}.att-row{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.seg{display:inline-flex;background:var(--light);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{border:0;background:transparent;border-radius:999px;padding:.35em .8em;cursor:pointer;font-weight:700;font-size:.85rem;color:var(--muted);min-height:34px}.seg button.on-PRESENT{background:var(--teal);color:var(--navy)}.seg button.on-LATE{background:var(--yellow);color:var(--navy)}.seg button.on-ABSENT{background:var(--red);color:#fff}.seg button.on-EXCUSED{background:var(--purple);color:#fff}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.plan{border:2px solid var(--line);border-radius:20px;padding:18px;cursor:pointer;background:#fff;text-align:start;display:grid;gap:4px}.plan.is-sel{border-color:var(--primary);box-shadow:0 0 0 4px #4361ee1f}.plan strong{font-family:var(--display);font-size:1.6rem;color:var(--primary)}.paybox{padding:14px;border-radius:16px;background:var(--yellow-50);display:grid;gap:4px}.store{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.store__item{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:16px;text-align:center;display:grid;gap:8px;justify-items:center}.store__img{width:88px;height:88px;border-radius:24px;display:grid;place-items:center;background:var(--grad-brand);color:#fff}.receipt{max-width:100%;border-radius:12px;border:1px solid var(--line)}.video{width:100%;aspect-ratio:16/9;border-radius:16px;background:#000}.tree ul{list-style:none;margin:0;padding-inline-start:18px;border-inline-start:2px dashed var(--line)}.tree li{padding:6px 0}@media (max-width: 1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom{grid-template-columns:1fr}.codi{height:420px}}@media (max-width: 900px){.side{display:none}.topbar{padding:10px 14px;background:#fff;box-shadow:0 1px 0 var(--line)}.topbar__logo{display:block}.topbar__title{display:none}.content{padding:16px 14px 96px}.bottomnav{display:flex;position:fixed;inset-inline:0;inset-block-end:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));justify-content:space-around}.bottomnav a{flex:1;display:grid;justify-items:center;gap:2px;padding:6px 2px;border-radius:12px;color:var(--muted);font-size:.72rem;font-weight:700}.bottomnav a.active{color:var(--primary);background:var(--primary-50)}.split,.grid-3,.grid-2,.auth{grid-template-columns:1fr}.auth__art{display:none}.kid-hero{grid-template-columns:auto 1fr}.kid-hero .xp{grid-column:1 / -1}.pagehead h1{font-size:1.45rem}}@media (max-width: 560px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:12px;gap:10px}.stat__ico{width:40px;height:40px}.stat strong{font-size:1.3rem}.form-grid{grid-template-columns:1fr}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{padding:10px 0;border-bottom:1px solid var(--line)}.table td{border:0;padding:3px 4px;display:flex;justify-content:space-between;gap:10px}.table td:before{content:attr(data-label);color:var(--muted);font-size:.8rem;font-weight:700}.modal{align-items:end;padding:0}.modal__box{width:100%;border-radius:24px 24px 0 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
