:root{--bg:#f4f5ff;--card:#fff;--card-2:#f7f7ff;--ink:#1b1d3a;--muted:#6b7090;--line:#e7e8f6;--violet:#6c4dff;--blue:#2f7bff;--mint:#19c7a5;--sky:#3fb6ff;--sun:#ffc83d;--coral:#ff5c7a;--gamosa:#e0263f;--ok:#10b981;--warn:#d97706;--pen:var(--violet);--grad:linear-gradient(135deg, #6c4dff 0%, #2f7bff 60%, #19c7a5 120%);--grad-warm:linear-gradient(135deg, #ff5c7a 0%, #ff9f43 100%);--soft:0 10px 30px #3c32a01a, 0 2px 6px #3c32a00f;--lift:0 14px 34px #6c4dff4d;--r-xl:28px;--r-lg:22px;--r-md:16px;--display:"Baloo Da 2", "Hind Siliguri", "Noto Sans Devanagari", system-ui, sans-serif;--body:"Hind Siliguri", "Noto Sans Devanagari", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1024;--card:#171b38;--card-2:#1e2347;--ink:#f1f2ff;--muted:#a8acd0;--line:#2a2f5a;--soft:0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0d1024;--card:#171b38;--card-2:#1e2347;--ink:#f1f2ff;--muted:#a8acd0;--line:#2a2f5a;--soft:0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg) radial-gradient(1200px 500px at 110% -10%, #6c4dff1f, transparent 60%), radial-gradient(900px 400px at -20% 10%, #19c7a51a, transparent 60%);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--violet)}:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:10px}.shell{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}.gamosa{border-bottom:2px solid var(--gamosa);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10'%3E%3Cpath d='M7 1.5l3.5 3.5L7 8.5 3.5 5z' fill='%23e0263f'/%3E%3C/svg%3E") 50%/14px 10px repeat-x,#fff;flex:none;height:10px}.topbar{justify-content:space-between;align-items:center;padding:14px 16px 8px;display:flex}.topbar a{text-decoration:none}.wordmark{font-family:var(--display);letter-spacing:-.02em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:25px;font-weight:800;line-height:1;text-decoration:none}.wordmark b{background:var(--grad-warm);color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.avatar{background:var(--grad);color:#fff;width:42px;height:42px;font-weight:800;font-family:var(--display);box-shadow:var(--lift);border:0;border-radius:14px;font-size:19px}.beta-pill{font-family:var(--body);color:#7a4b00;vertical-align:4px;-webkit-text-fill-color:#7a4b00;background:#ffe9a8;border-radius:99px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:700}main{flex:1;padding:6px 16px 124px}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.15}h1{letter-spacing:-.015em;font-size:30px;font-weight:800}h2{font-size:21px;font-weight:800}h3{font-size:17px;font-weight:700}p{margin:0}.muted{color:var(--muted)}.small{font-size:14px}.stack>*+*{margin-top:12px}.stack-lg>*+*{margin-top:22px}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--soft);padding:16px}.note{background:color-mix(in srgb, var(--sun) 18%, var(--card));border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--sun) 50%, transparent);padding:10px 14px;font-size:14px}.btn{background:var(--grad);color:#fff;min-height:54px;font-size:17px;font-weight:700;font-family:var(--display);cursor:pointer;box-shadow:var(--lift);border:0;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:0 24px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn.block{width:100%}.btn.ghost{background:var(--card);color:var(--ink);box-shadow:var(--soft);border:1px solid var(--line)}.btn.sun{color:#3a2400;background:linear-gradient(135deg,#ffc83d,#ff9f43);box-shadow:0 12px 28px #ff9f4359}.btn.google{color:#1f1f1f;box-shadow:var(--soft);font-family:var(--body);background:#fff;border:1px solid #dadce0;font-weight:600}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn svg{flex:none;width:22px;height:22px}.linkbtn{color:var(--violet);cursor:pointer;background:0 0;border:0;padding:8px 0;font-weight:700;text-decoration:none;display:inline-block}.divider{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.role-card{text-align:left;border-radius:var(--r-lg);cursor:pointer;color:#fff;width:100%;box-shadow:var(--soft);border:0;align-items:center;gap:14px;padding:16px;display:flex;position:relative;overflow:hidden}.role-card h3{color:#fff;font-size:19px}.role-card .small{color:#ffffffe6}.role-card.student{background:var(--grad)}.role-card.educator{background:linear-gradient(135deg,#19c7a5,#3fb6ff)}.role-card .art{background:#ffffffeb;border-radius:18px;flex:none;place-items:center;width:58px;height:58px;display:grid}label.field{display:block}label.field span{margin-bottom:6px;font-size:14px;font-weight:700;display:block}input.text,select.text,textarea.text{border:1.5px solid var(--line);background:var(--card);border-radius:16px;width:100%;min-height:52px;padding:0 16px;transition:border-color .15s,box-shadow .15s}textarea.text{resize:vertical;min-height:86px;padding:12px 16px}input.text:focus,textarea.text:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 4px #6c4dff26}.check{align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:22px;height:22px;accent-color:var(--violet);flex:none;margin-top:2px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--card);cursor:pointer;min-height:42px;color:var(--ink);border-radius:99px;padding:0 16px;font-weight:600}.chip[aria-pressed=true]{background:var(--grad);color:#fff;box-shadow:var(--lift);border-color:#0000}.notebook{color:#1b1d3a;border-radius:var(--r-lg);box-shadow:var(--soft);background-color:#fffdf7;background-image:linear-gradient(90deg,#0000 39px,#ff8fa3 39px 40px,#0000 40px),repeating-linear-gradient(#fffdf7 0 27px,#dfe5fb 27px 28px);border:1px solid #efe9d8;padding:4px 16px 12px 52px;line-height:28px}.floaters{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.fl{font-family:var(--display);color:#ffffff57;white-space:nowrap;font-weight:800;animation:7s ease-in-out infinite alternate drift;position:absolute}.fl.atom,.fl.helix{color:#fff6}.atom{animation-name:spin-drift!important}@keyframes drift{0%{transform:translate(0)rotate(-8deg)}to{transform:translate(10px,-22px)rotate(8deg)}}@keyframes spin-drift{0%{transform:rotate(0)translateY(0)}to{transform:rotate(180deg)translateY(-14px)}}.hero{border-radius:var(--r-xl);background:var(--grad);color:#fff;box-shadow:var(--lift);isolation:isolate;padding:20px;position:relative;overflow:hidden}.hero>:not(.floaters){z-index:1;position:relative}.hero .big{font-family:var(--display);font-size:60px;font-weight:800;line-height:.95}.hero h1,.hero h2{color:#fff}.streak{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#fff3;border:1px solid #ffffff59;border-radius:99px;align-items:center;gap:6px;padding:3px 12px;font-size:14px;font-weight:700;display:inline-flex}.game{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.lvl{color:#3a2400;width:62px;height:62px;font-family:var(--display);background:linear-gradient(135deg,#ffc83d,#ff9f43);border-radius:20px;place-items:center;font-size:26px;font-weight:800;display:grid;box-shadow:0 10px 24px #ff9f4359}.xpbar{background:var(--card-2);border:1px solid var(--line);border-radius:99px;height:12px;overflow:hidden}.xpbar i{background:linear-gradient(90deg,#ffc83d,#ff5c7a,#6c4dff) 0 0/200% 100%;border-radius:99px;height:100%;animation:3s linear infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}.flame{text-align:center;font-family:var(--display);font-size:22px;font-weight:800;line-height:1}.flame small{color:var(--muted);font-size:11px;font-weight:700;font-family:var(--body);display:block}.goal{flex:none;width:74px;height:74px}.badges{scrollbar-width:none;gap:10px;padding:4px 2px 8px;display:flex;overflow-x:auto}.badge{text-align:center;background:var(--card);border:1px solid var(--line);width:86px;box-shadow:var(--soft);border-radius:18px;flex:none;padding:10px 6px;font-size:12px;font-weight:600}.badge .ic{font-size:28px;display:block}.badge.off{opacity:.4;filter:grayscale()}.task{border-radius:var(--r-md);background:var(--card-2);color:inherit;align-items:center;gap:12px;margin-top:8px;padding:12px;text-decoration:none;transition:transform .12s;display:flex}.task:active{transform:scale(.98)}.task .dot{flex:none;place-items:center;width:44px;height:44px;display:grid}.task .sub{color:var(--muted);font-size:13px}.task .go{background:var(--grad);color:#fff;border-radius:12px;flex:none;place-items:center;width:34px;height:34px;margin-left:auto;font-weight:800;display:grid}.subj-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.subj-tile{isolation:isolate;border-radius:var(--r-lg);color:#fff;min-height:150px;box-shadow:var(--soft);flex-direction:column;gap:8px;min-width:0;padding:16px;text-decoration:none;transition:transform .15s;display:flex;position:relative;overflow:hidden}.subj-tile:active{transform:scale(.97)}.subj-tile>:not(.floaters){z-index:1;position:relative}.subj-tile h3{color:#fff;margin-top:auto;font-size:16px}.subj-tile .meter{background:#ffffff4d;border-radius:99px;height:7px;overflow:hidden}.subj-tile .meter i{background:#fff;border-radius:99px;height:100%;display:block}.subj-tile small{color:#ffffffe6;font-size:12px;font-weight:600}.subj-tile .fl{color:#ffffff47;font-size:13px!important}.subj-tile .icon-wrap{background:#ffffffeb;border-radius:16px;place-items:center;width:50px;height:50px;display:grid}.subj-head{isolation:isolate;border-radius:var(--r-xl);color:#fff;box-shadow:var(--soft);align-items:center;gap:14px;padding:18px;display:flex;position:relative;overflow:hidden}.subj-head>:not(.floaters){z-index:1;position:relative}.subj-head h1{color:#fff}.subj-head .icon-wrap{background:#ffffffeb;border-radius:20px;flex:none;place-items:center;width:64px;height:64px;display:grid}.chapter{border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);color:inherit;align-items:flex-start;gap:12px;margin-top:10px;padding:14px;text-decoration:none;transition:transform .12s;display:flex;box-shadow:0 4px 12px #3c32a00d}.chapter:active{transform:scale(.98)}.chapter .no{font-family:var(--display);background:var(--card-2);min-width:36px;height:36px;color:var(--violet);border-radius:12px;flex:none;place-items:center;font-size:15px;font-weight:800;display:grid}.chapter.done .no{color:#fff;background:linear-gradient(135deg,#10b981,#19c7a5)}.tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tag{color:var(--violet);background:#6c4dff1a;border-radius:99px;padding:1px 9px;font-size:12px;font-weight:700}.tag.hy{color:#d6284c;background:#ff5c7a1f}.tag.ready{color:#08875d;background:#10b98124}.group-title{color:var(--muted);margin:22px 0 0;font-size:15px;font-weight:700}.tabs{scrollbar-width:none;background:var(--card);border:1px solid var(--line);border-radius:99px;gap:6px;padding:4px;display:flex;overflow-x:auto}.tabs button{cursor:pointer;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:99px;flex:none;padding:0 14px;font-size:14px;font-weight:700}.tabs button[aria-selected=true]{background:var(--grad);color:#fff}.opt{text-align:left;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--card);cursor:pointer;width:100%;min-height:56px;margin-top:10px;padding:10px 14px;transition:transform .1s,border-color .15s;display:block}.opt:hover:not(:disabled){border-color:var(--violet)}.opt.right{background:#10b9811f;border-color:#10b981;animation:.4s bounce}.opt.wrong{border-color:var(--coral);background:#ff5c7a1a;animation:.35s shake}@keyframes bounce{50%{transform:scale(1.03)}}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.bubble{background:var(--card-2);width:30px;height:30px;color:var(--violet);border-radius:10px;place-items:center;margin-right:10px;font-size:13px;font-weight:800;display:inline-grid}.xp-pop{font-family:var(--display);color:#fff;background:linear-gradient(135deg,#ffc83d,#ff5c7a);border-radius:99px;padding:2px 12px;font-weight:800;animation:.5s cubic-bezier(.2,.8,.2,1.5) both pop;display:inline-block}.bottomnav{bottom:calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);z-index:10;border-radius:26px;grid-auto-columns:1fr;grid-auto-flow:column;width:calc(100% - 24px);max-width:456px;padding:8px 6px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #281e782e}.bottomnav a{color:var(--muted);flex-direction:column;align-items:center;gap:2px;font-size:11.5px;font-weight:700;text-decoration:none;display:flex}.bottomnav a .ico{border-radius:12px;place-items:center;width:46px;height:32px;transition:background .2s;display:grid}.bottomnav a.active{color:var(--violet)}.bottomnav a.active .ico{background:#6c4dff1f}.bottomnav svg{width:22px;height:22px}.bottomnav a.cam .disc{background:var(--grad-warm);color:#fff;border-radius:20px;place-items:center;width:58px;height:58px;margin-top:-30px;display:grid;transform:rotate(-6deg);box-shadow:0 12px 26px #ff5c7a73}.bottomnav a.cam svg{width:28px;height:28px;transform:rotate(6deg)}.photo{border-radius:var(--r-lg);width:100%;box-shadow:var(--soft);display:block}.bar{background:var(--card-2);border-radius:99px;height:10px;overflow:hidden}.bar i{border-radius:99px;height:100%;display:block}.chat{flex-direction:column;gap:10px;min-height:50vh;display:flex}.msg{background:var(--card);max-width:86%;box-shadow:var(--soft);border-radius:20px 20px 20px 6px;padding:10px 14px}.msg.me{background:var(--grad);color:#fff;border-radius:20px 20px 6px;align-self:flex-end}.code-box{font-family:var(--display);letter-spacing:.14em;color:#3a2400;text-align:center;background:linear-gradient(135deg,#ffc83d,#ff9f43);border-radius:20px;padding:8px 0;font-size:40px;font-weight:800;box-shadow:0 12px 28px #ff9f434d}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat{background:var(--card-2);border-radius:16px;padding:12px}.stat b{font-family:var(--display);font-size:28px;line-height:1.1;display:block}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-grid .sheet{padding:12px}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}.rise{animation:.52s cubic-bezier(.2,.8,.2,1.1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.pop{animation:.48s cubic-bezier(.2,.8,.2,1.5) both pop}@keyframes pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.role-card .fl,.subj-head .fl{color:#ffffff29}.subj-tile .fl{color:#ffffff2e}.role-card .floaters,.subj-tile .floaters{left:40%}
