.download_page__lAZSx{max-width:1200px;margin:0 auto;padding:0 1.5rem 4rem;font-family:Sarabun,Prompt,system-ui,sans-serif;color:#1a237e}.download_hero__KG0gz{text-align:center;padding:3rem 0 2rem;position:relative}.download_eyebrow__J98ig{display:inline-block;padding:.4rem 1rem;background:rgba(37,99,235,.1);color:#1e40af;border-radius:999px;font-size:.85rem;font-weight:700;margin-bottom:1rem;border:1px solid rgba(37,99,235,.2)}.download_title__FXChG{font-size:3rem;font-weight:900;line-height:1.1;margin:0 0 1rem;letter-spacing:-1.5px}.download_gradient__De_Up{background:linear-gradient(135deg,#2563eb,#7c3aed 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}@media (min-width:768px){.download_title__FXChG{font-size:4rem}}.download_subtitle__Vmt0J{font-size:1.125rem;color:#475569;margin:0 0 2rem;line-height:1.6}.download_heroCta__UifIF{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;max-width:700px;margin:0 auto 1.5rem}@media (max-width:600px){.download_heroCta__UifIF{grid-template-columns:1fr}}.download_dlBtn__fmBuo{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;text-decoration:none;border-radius:16px;border:2px solid hsla(0,0%,100%,.1);transition:all .3s;box-shadow:0 8px 30px rgba(0,0,0,.2)}.download_dlBtn__fmBuo:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(37,99,235,.4);border-color:#38bdf8}.download_dlIcon__WFmnX{font-size:2.5rem}.download_dlTitle__bmPcA{font-size:1.1rem;font-weight:800;text-align:left}.download_dlSize__VJkLD{font-size:.8rem;opacity:.7;text-align:left}.download_dlArrow__mi_Dy{font-size:1.5rem;opacity:.5;margin-left:auto}.download_gitClone__xHrlr{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.9rem;color:#64748b}.download_gitClone__xHrlr code{background:#f1f5f9;padding:.5rem 1rem;border-radius:8px;font-family:SF Mono,Monaco,monospace;color:#1e293b;font-size:.85rem;border:1px solid #e2e8f0}.download_heroLinks__8qch2{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.download_section__YTSpI{margin:4rem 0}.download_sectionTitle__Aeb_k{font-size:2rem;font-weight:900;margin:0 0 1.5rem;letter-spacing:-.5px}@media (min-width:768px){.download_sectionTitle__Aeb_k{font-size:2.25rem}}.download_cards__JKKlB{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1rem;gap:1rem}.download_card__AZA9k{padding:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;transition:all .2s}.download_card__AZA9k:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.06);border-color:#cbd5e1}.download_cardEmoji__qlatE{font-size:2rem;margin-bottom:.5rem}.download_card__AZA9k h3{font-size:1.1rem;margin:0 0 .5rem;font-weight:800}.download_card__AZA9k p{color:#475569;font-size:.9rem;margin:0 0 .75rem;line-height:1.5}.download_cardMeta__2cUUt{display:inline-block;font-size:.75rem;padding:.2rem .6rem;background:#f1f5f9;color:#475569;border-radius:6px;font-weight:700}.download_stackGrid__UBzKA{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem}.download_stackItem__cwtg7{padding:1rem 1.25rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid #0ea5e9;border-radius:8px}.download_stackName__HRXAt{font-weight:800;font-size:.95rem}.download_stackDesc___7dca{font-size:.8rem;color:#64748b;margin-top:.15rem}.download_gameGrid__1WSwu{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem}.download_gameCard__22QHS{padding:1.25rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-align:center;transition:all .2s}.download_gameCard__22QHS:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.08);border-color:#94a3b8}.download_gameEmoji__LDsPX{font-size:2.5rem;margin-bottom:.4rem}.download_gameName__fLDsa{font-weight:800;font-size:.95rem}.download_gameLevels__Ai0wK{font-size:.8rem;color:#64748b;margin:.2rem 0}.download_gameCat__V4mak{display:inline-block;font-size:.7rem;padding:.15rem .5rem;background:#f0f9ff;color:#1e40af;border-radius:6px;font-weight:700;margin-top:.4rem}.download_codeBlock__uL_ms{background:#0f172a;border-radius:12px;padding:1rem 1.25rem;font-family:SF Mono,Monaco,monospace;font-size:.85rem;overflow-x:auto;border:1px solid #1e293b}.download_codeLine__J8vwH{display:flex;gap:.75rem;padding:.25rem 0;color:#cbd5e1;white-space:pre}.download_codeNum__vngFo{color:#475569;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:1.5rem;text-align:right}.download_codeComment__fDIw7{color:#64748b;font-style:italic}.download_prereqGrid__mYrFn{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem}.download_prereqItem__CPU5e{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.download_prereqIcon__66S1z{font-size:2rem}.download_prereqTool__lZlhc{font-weight:800}.download_prereqVersion__JmbtT{font-size:.85rem;color:#64748b}.download_steps__FjjKc{display:flex;flex-direction:column;gap:1.5rem}.download_step__x_vXY{display:flex;gap:1.25rem;padding:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.download_stepNum__RLjKl{flex-shrink:0;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;box-shadow:0 4px 12px rgba(37,99,235,.3)}.download_stepBody__RqiqS{flex:1 1}.download_stepBody__RqiqS h3{margin:0 0 .5rem;font-size:1.1rem}.download_stepBody__RqiqS p{color:#475569;margin:.25rem 0;line-height:1.5}.download_roadmapIntro__8pokd{text-align:center;font-size:1.1rem;color:#475569;margin-bottom:1.5rem;line-height:1.6}.download_roadmapGrid__VfzDW{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:.75rem;gap:.75rem}.download_roadmapCard__Rwi1Z{padding:1.25rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;border-left:4px solid #f59e0b;transition:all .2s}.download_roadmapCard__Rwi1Z:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.06)}.download_roadmapHeader__1cuhh{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.download_roadmapPhase__vPI_w{font-weight:800;font-size:.85rem;color:#f59e0b;background:#fef3c7;padding:.15rem .5rem;border-radius:6px}.download_roadmapStatus__8_BYW{font-size:1rem}.download_roadmapName__MVKjY{font-size:1.05rem;font-weight:800;margin:0 0 .4rem}.download_roadmapDesc__I4vMG{color:#475569;font-size:.85rem;margin:0;line-height:1.5}.download_roadmapFooter__UPGzC{text-align:center;margin-top:1.5rem;color:#64748b;font-size:.9rem}.download_roadmapFooter__UPGzC code{background:#f1f5f9;padding:.1rem .4rem;border-radius:4px;font-family:monospace}.download_license__ZsESe{display:flex;gap:1.25rem;align-items:flex-start;padding:1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:14px;margin-bottom:1.5rem}.download_licenseEmoji__2mrkR{font-size:3rem}.download_license__ZsESe h3{margin:0 0 .5rem}.download_license__ZsESe p{margin:.25rem 0;color:#78350f}.download_licenseMeta__aRP7R{font-size:.85rem;opacity:.8}.download_contribute__9ogwq{padding:1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.download_contribute__9ogwq h3{margin:0 0 1rem}.download_contribute__9ogwq ol{padding-left:1.5rem;line-height:1.8}.download_contribute__9ogwq a{color:#2563eb;font-weight:700;text-decoration:none}.download_contribute__9ogwq a:hover{text-decoration:underline}.download_contribute__9ogwq code{background:#f1f5f9;padding:.15rem .4rem;border-radius:4px;font-family:monospace;font-size:.85rem}.download_footer__oMr2E{text-align:center;padding:2rem 0 1rem;color:#64748b;border-top:1px solid #e2e8f0;margin-top:3rem}.UserIdentityBadge_badge__C1VXa{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .12s ease,background .18s ease;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.UserIdentityBadge_badge__C1VXa:hover{transform:translateY(-1px)}.UserIdentityBadge_dot__N2JK7{width:8px;height:8px;border-radius:50%;flex-shrink:0}.UserIdentityBadge_badgeGuest__4wrbt{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#5b21b6;border:1px solid #c4b5fd}.UserIdentityBadge_badgeGuest__4wrbt .UserIdentityBadge_dot__N2JK7{background:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.18)}.UserIdentityBadge_badgeUser__j4c6I{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46;border:1px solid #6ee7b7}.UserIdentityBadge_badgeUser__j4c6I .UserIdentityBadge_dot__N2JK7{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.18)}.UserIdentityBadge_badgeSkeleton__zy9l9{display:inline-block;width:130px;height:30px;border-radius:999px;background:#f3f4f6}.Button_btn__sgFU2{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:12px;font-weight:600;font-size:1rem;line-height:1;cursor:pointer;transition:all .2s ease;text-decoration:none;border:2px solid transparent;font-family:inherit;white-space:nowrap}.Button_btn__sgFU2:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.Button_btn__sgFU2:disabled{opacity:.5;cursor:not-allowed}.Button_primary__oSpWt{background:linear-gradient(135deg,var(--brand) 0,var(--brand-dark) 100%);color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.3)}.Button_primary__oSpWt:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,99,235,.4)}.Button_secondary__lRe7Q{background:var(--panel);color:var(--ink);border-color:var(--line)}.Button_secondary__lRe7Q:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.Button_ghost__mZ9vJ{background:transparent;color:var(--ink)}.Button_ghost__mZ9vJ:hover:not(:disabled){background:rgba(0,0,0,.05)}.Button_danger__1ocl9{background:var(--bad);color:#fff}.Button_danger__1ocl9:hover:not(:disabled){background:#b91c1c}.Button_sm__h9eWB{padding:.5rem 1rem;font-size:.875rem}.Button_md__exKk_{padding:.75rem 1.5rem;font-size:1rem}.Button_lg__PdjsY{padding:1rem 2rem;font-size:1.125rem}.Button_xl___xAda{padding:1.25rem 2.5rem;font-size:1.25rem;border-radius:16px}.Button_full__JZIrP{width:100%}.landing_hero__wie8N{position:relative;padding:4rem 1.5rem 5rem;text-align:center;background:radial-gradient(ellipse at top,rgba(99,102,241,.15) 0,transparent 50%),radial-gradient(ellipse at bottom right,rgba(236,72,153,.1) 0,transparent 50%),linear-gradient(180deg,#f8fafc,#fff);overflow:hidden}.landing_heroBg__m9hlB{position:absolute;inset:0;pointer-events:none}.landing_heroFloat__pDF2a{position:absolute;font-size:4rem;opacity:.18;animation:landing_floatUp__cvOHz 6s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.landing_heroFloat__pDF2a:nth-child(2){animation-delay:1s}.landing_heroFloat__pDF2a:nth-child(3){animation-delay:2s}.landing_heroFloat__pDF2a:nth-child(4){animation-delay:3s}.landing_heroFloat__pDF2a:nth-child(5){animation-delay:4s}.landing_heroFloat__pDF2a:nth-child(6){animation-delay:5s}@keyframes landing_floatUp__cvOHz{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-30px) rotate(15deg)}}.landing_heroInner__5QF1e{position:relative;max-width:900px;margin:0 auto}.landing_eyebrow__xr4rD{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(37,99,235,.1);color:var(--brand);border-radius:999px;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;border:1px solid rgba(37,99,235,.2)}.landing_title__wuvRA{font-size:3rem;font-weight:900;line-height:1.1;margin:0 0 1.25rem;letter-spacing:-1.5px;color:var(--ink)}.landing_titleGradient__2xhlA{background:linear-gradient(135deg,#2563eb,#7c3aed 50%,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}@media (min-width:768px){.landing_title__wuvRA{font-size:4rem}}.landing_subtitle__fxJZ7{font-size:1.125rem;line-height:1.6;color:var(--muted);max-width:720px;margin:0 auto 2.5rem}@media (min-width:768px){.landing_subtitle__fxJZ7{font-size:1.25rem}}.landing_heroCta__bUkTA{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}.landing_statsBar__Ncm9U{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;max-width:600px;margin:0 auto}@media (min-width:640px){.landing_statsBar__Ncm9U{grid-template-columns:repeat(4,1fr)}}.landing_statItem__sHRCt{text-align:center;padding:1rem;background:hsla(0,0%,100%,.6);border-radius:12px;border:1px solid hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing_statNumber__tNKnK{display:block;font-size:1.875rem;font-weight:800;color:var(--brand);line-height:1}.landing_statLabel__RXion{display:block;font-size:.8125rem;color:var(--muted);margin-top:.5rem;font-weight:600}.landing_sectionHeader__13EuI{text-align:center;max-width:720px;margin:0 auto 3rem}.landing_sectionEyebrow__EOhsb{display:inline-block;padding:.4rem 1rem;background:rgba(37,99,235,.1);color:var(--brand);border-radius:999px;font-size:.875rem;font-weight:700;margin-bottom:1rem}.landing_sectionTitle__VHDry{font-size:2.25rem;font-weight:900;margin:0 0 .75rem;color:var(--ink);letter-spacing:-1px}@media (min-width:768px){.landing_sectionTitle__VHDry{font-size:2.75rem}}.landing_sectionSubtitle__kdP6T{font-size:1.125rem;color:var(--muted);margin:0}.landing_gamesSection__jcdxH{padding:5rem 1.5rem;max-width:1300px;margin:0 auto}.landing_gamesGrid__5H7FE{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem}@media (min-width:640px){.landing_gamesGrid__5H7FE{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.landing_gamesGrid__5H7FE{grid-template-columns:repeat(3,1fr)}}.landing_gameCard__ceXtn{position:relative;padding:1.75rem 1.5rem 1.5rem;background:var(--panel);border:2px solid var(--line);border-radius:20px;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden;isolation:isolate}.landing_gameCard__ceXtn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--game-color,#2563eb) 0,transparent 100%);opacity:.08;z-index:-1;transition:opacity .3s}.landing_gameCard__ceXtn:hover{transform:translateY(-8px) scale(1.02);border-color:var(--game-color,var(--brand));box-shadow:0 20px 50px -10px var(--game-color,rgba(37,99,235,.3))}.landing_gameCard__ceXtn:hover:before{opacity:.15}.landing_gameCardHero__m_Q9H{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;border-color:var(--game-color);grid-row:span 1}.landing_gameCardHero__m_Q9H:before{opacity:.2;background:linear-gradient(135deg,var(--game-color) 0,#fbbf24 100%)}.landing_gameCardHero__m_Q9H:hover{box-shadow:0 20px 60px -10px var(--game-color)}.landing_gameBadge__5O0pQ{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e293b;font-size:.7rem;padding:.25rem .6rem;border-radius:999px;box-shadow:0 4px 12px rgba(245,158,11,.4)}.landing_gameBadge__5O0pQ,.landing_gameTag__Ct1c8{position:absolute;top:1rem;right:1rem;font-weight:800;letter-spacing:.5px}.landing_gameTag__Ct1c8{background:var(--game-color);color:#fff;font-size:.65rem;padding:.2rem .5rem;border-radius:6px;opacity:.95}.landing_gameEmojiWrap__adu_V{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--game-color,#2563eb);border-radius:20px;margin-bottom:1rem;box-shadow:0 8px 20px -4px var(--game-color,rgba(37,99,235,.4));transition:transform .3s}.landing_gameCard__ceXtn:hover .landing_gameEmojiWrap__adu_V{transform:rotate(-8deg) scale(1.1)}.landing_gameEmoji__NIpqd{font-size:2.75rem;line-height:1}.landing_gameTitle__0L_MS{font-size:1.4rem;font-weight:900;margin:0 0 .5rem;letter-spacing:-.5px}.landing_gameCardHero__m_Q9H .landing_gameTitle__0L_MS{color:#fff}.landing_gameDesc__nPjrV{color:var(--muted);font-size:.9rem;line-height:1.55;margin:0 0 1rem;flex:1 1}.landing_gameCardHero__m_Q9H .landing_gameDesc__nPjrV{color:hsla(0,0%,100%,.85)}.landing_gameMeta__Osmon{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;font-size:.8rem}.landing_gameMetaItem__HYL4k{background:rgba(0,0,0,.05);padding:.25rem .6rem;border-radius:6px;font-weight:700;color:var(--ink)}.landing_gameCardHero__m_Q9H .landing_gameMetaItem__HYL4k{background:hsla(0,0%,100%,.15);color:#fff}.landing_gamePlayBtn__tQuT3{background:var(--game-color,var(--brand));color:#fff;padding:.6rem 1rem;border-radius:10px;font-weight:800;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:gap .2s;box-shadow:0 4px 12px -2px var(--game-color,rgba(37,99,235,.4))}.landing_gameCard__ceXtn:hover .landing_gamePlayBtn__tQuT3{gap:.9rem}.landing_gamePlayArrow__tcoUm{transition:transform .2s}.landing_gameCard__ceXtn:hover .landing_gamePlayArrow__tcoUm{transform:translateX(4px)}.landing_featuresSection__x8A0I{padding:5rem 1.5rem;background:linear-gradient(180deg,#f8fafc,#fff)}.landing_featuresGrid___4AwX{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.5rem;gap:1.5rem;max-width:1200px;margin:0 auto}.landing_featureCard___7KBi{padding:1.75rem;background:var(--panel);border:1px solid var(--line);border-radius:16px;text-align:left;transition:all .25s}.landing_featureCard___7KBi:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08);border-color:var(--brand)}.landing_featureIcon__5HAOX{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;font-size:1.75rem;background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(124,58,237,.1));margin-bottom:.75rem}.landing_featureTitle__7Aksx{font-size:1.2rem;font-weight:700;margin:0 0 .5rem;color:var(--ink)}.landing_featureText__sKVth{color:var(--muted);line-height:1.6;margin:0;font-size:.95rem}.landing_teacherSection__S4HuU{padding:5rem 1.5rem;max-width:1200px;margin:0 auto}.landing_teacherInner__76Cai{display:grid;grid-template-columns:1fr;grid-gap:3rem;gap:3rem;align-items:center;padding:3rem;background:linear-gradient(135deg,#1e293b,#312e81);border-radius:24px;color:#fff;position:relative;overflow:hidden}.landing_teacherInner__76Cai:before{content:"👨‍🏫";position:absolute;top:-30px;right:-30px;font-size:12rem;opacity:.08;transform:rotate(15deg)}@media (min-width:768px){.landing_teacherInner__76Cai{grid-template-columns:1.4fr 1fr}}.landing_teacherText__g56rj{position:relative}.landing_teacherInner__76Cai .landing_sectionEyebrow__EOhsb{background:hsla(0,0%,100%,.15);color:#fbbf24}.landing_teacherTitle__UlXdx{font-size:2rem;font-weight:900;margin:0 0 1rem;line-height:1.1}@media (min-width:768px){.landing_teacherTitle__UlXdx{font-size:2.5rem}}.landing_teacherSubtitle__h1MTP{font-size:1.05rem;line-height:1.6;opacity:.9;margin:0 0 1.5rem}.landing_teacherButtons__DLkdn{display:flex;gap:.75rem;flex-wrap:wrap}.landing_teacherImage__pQUBY{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;position:relative}.landing_teacherStat__X1FzM{background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);border-radius:16px;padding:1.5rem 1rem;text-align:center}.landing_teacherStatNum__4tP_N{display:block;font-size:2.25rem;font-weight:900;color:#fbbf24;line-height:1}.landing_teacherStatLbl__IJWoH{display:block;font-size:.8rem;opacity:.85;margin-top:.5rem;font-weight:600}.landing_ctaSection__D8VxY{background:linear-gradient(135deg,var(--brand) 0,#7c3aed 50%,#ec4899 100%);border-radius:24px;padding:3rem 2rem;text-align:center;color:#fff;margin:0 1.5rem 3rem;position:relative;overflow:hidden}.landing_ctaSection__D8VxY:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,hsla(0,0%,100%,.15) 0,transparent 50%);pointer-events:none}.landing_ctaTitle__7zO7C{position:relative;font-size:2rem;font-weight:800;margin:0 0 .75rem}.landing_ctaSubtitle__rotu_{position:relative;font-size:1.05rem;margin:0 0 2rem;opacity:.95}.landing_ctaButtons__PZOFB{position:relative;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.landing_footer__0UmUP{text-align:center;padding:2rem 1.5rem 3rem;color:var(--muted);font-size:.875rem;border-top:1px solid var(--line);margin-top:2rem}.Join_root__ksXYr{max-width:520px;margin:0 auto;padding:2.5rem 1.25rem}.Join_card__p_T67{background:var(--panel);border:1px solid var(--line);border-radius:1rem;padding:2rem 1.75rem;box-shadow:var(--shadow);text-align:center}.Join_title__aNIaW{font-size:1.5rem;margin:0 0 .5rem;color:var(--ink)}.Join_subtitle__PQXRH{color:var(--muted);font-size:.92rem;line-height:1.55;margin:0 0 1.5rem}.Join_form__w_SZk{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.Join_codeInput__qt8Xr{width:100%;padding:.85rem 1rem;font-size:1.5rem;font-weight:700;letter-spacing:.25em;font-family:ui-monospace,SFMono-Regular,monospace;text-align:center;border:2px solid var(--line);border-radius:.6rem;text-transform:uppercase;background:var(--bg);color:var(--brand);box-sizing:border-box}.Join_codeInput__qt8Xr:focus{outline:none;border-color:var(--brand);background:var(--panel)}.Join_codeInput__qt8Xr:disabled{opacity:.5}.Join_submitBtn__B_o33{background:var(--brand);color:#fff;border:none;padding:.7rem 1.25rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer}.Join_submitBtn__B_o33:hover:not(:disabled){background:var(--brand-dark)}.Join_submitBtn__B_o33:disabled{opacity:.5;cursor:not-allowed}.Join_success__sKfuJ{background:#dcfce7;border:1px solid #16a34a;color:#15803d;border-radius:.6rem;padding:1rem 1.25rem;margin:1rem 0;text-align:center}.Join_error__IXiqU{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:.6rem;padding:.85rem 1rem;margin:1rem 0;text-align:center}.Join_tip__XgEau{background:var(--bg);border-radius:.5rem;padding:.75rem 1rem;font-size:.85rem;color:var(--muted);margin-top:1rem;text-align:left}.Join_tip__XgEau code{background:var(--panel);padding:.1rem .4rem;border-radius:.25rem;font-size:.85rem;color:var(--brand)}.StatsAll_root__IwluB{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1.25rem}.StatsAll_header___ydGQ h1{font-size:1.5rem;margin:0;color:var(--ink)}.StatsAll_subtitle__DpwtS{color:var(--muted);font-size:.9rem;margin:.25rem 0 0}.StatsAll_kpiGrid__fYqmF{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.StatsAll_kpi__cw_IT{background:var(--panel);border:1px solid var(--line);border-radius:.75rem;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.2rem}.StatsAll_kpiLabel__Y8Fsu{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.StatsAll_kpiValue__WRseL{font-size:1.7rem;font-weight:700;color:var(--ink)}.StatsAll_kpiSub__oLhb6{font-size:.75rem;color:var(--muted)}.StatsAll_toolbar__sM77r{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.StatsAll_filterGroup__YuLPl{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:.5rem;padding:4px}.StatsAll_filterBtn__2teky{background:transparent;border:none;padding:.4rem .75rem;border-radius:.35rem;font-size:.85rem;cursor:pointer;color:var(--muted);font-weight:500}.StatsAll_filterBtn__2teky:hover{color:var(--ink)}.StatsAll_filterBtnActive__F_PTj{background:var(--brand);color:#fff}.StatsAll_search__3gaxA{flex:1 1;min-width:200px;font-size:.9rem}.StatsAll_refresh__lWx9n,.StatsAll_search__3gaxA{padding:.5rem .85rem;border:1px solid var(--line);border-radius:.5rem;background:var(--panel)}.StatsAll_refresh__lWx9n{cursor:pointer;font-size:1rem}.StatsAll_refresh__lWx9n:hover{background:var(--bg)}.StatsAll_tableWrap__nEMGf{background:var(--panel);border:1px solid var(--line);border-radius:.75rem;overflow:hidden;overflow-x:auto}.StatsAll_table__zea97{width:100%;border-collapse:collapse;font-size:.9rem}.StatsAll_table__zea97 thead{background:var(--bg);border-bottom:2px solid var(--line)}.StatsAll_table__zea97 th{text-align:left;padding:.7rem .85rem;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.StatsAll_table__zea97 td{padding:.7rem .85rem;border-bottom:1px solid var(--line);vertical-align:middle}.StatsAll_table__zea97 tbody tr:hover{background:rgba(99,102,241,.04)}.StatsAll_table__zea97 tbody tr:last-child td{border-bottom:none}.StatsAll_numCol__GStDM{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.StatsAll_profileCell__JT6st{display:flex;flex-direction:column;gap:2px}.StatsAll_profileName__WoYAs{font-weight:600;color:var(--ink)}.StatsAll_profileId__ZRJB9{font-size:.72rem;color:var(--muted);font-family:ui-monospace,SFMono-Regular,monospace}.StatsAll_badge__Eqj_3{display:inline-block;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.StatsAll_badgeGuest__ZN5pX{background:#fef3c7;color:#92400e}.StatsAll_badgeUser__01_20{background:#dbeafe;color:#1e40af}.StatsAll_empty__pNH35{text-align:center;padding:2rem;color:var(--muted)}.StatsAll_error__pYjkg{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:.5rem;padding:.85rem 1rem}.StatsAll_footer__W3uep{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.78rem;flex-wrap:wrap;gap:.5rem}.StatsAll_linkBack__b_OKV{color:var(--brand);text-decoration:none;font-weight:500}.StatsAll_linkBack__b_OKV:hover{text-decoration:underline}.StatsAll_leaderboardToggle__XGIDf{display:inline-flex;gap:2px;background:var(--bg);border:1px solid var(--line);border-radius:.5rem;padding:3px;margin-left:auto}.StatsAll_leaderboardBtn__u_IaZ{background:transparent;border:none;padding:.35rem .7rem;border-radius:.4rem;font-size:.8rem;cursor:pointer;color:var(--muted);font-weight:500;white-space:nowrap}.StatsAll_leaderboardBtn__u_IaZ:hover{color:var(--ink)}.StatsAll_leaderboardBtnActive__7kBxE{background:var(--brand);color:#fff}.StatsAll_leaderboardGrid__S1xRH{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.6rem;gap:.6rem}.StatsAll_leaderCard__nJdbw{background:var(--panel);border:1px solid var(--line);border-radius:.65rem;padding:.85rem .9rem;display:flex;flex-direction:column;gap:.25rem;position:relative}.StatsAll_leaderCardGold__yjnSp{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.StatsAll_leaderCardSilver__dAAOw{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#94a3b8}.StatsAll_leaderCardBronze__6sEgf{background:linear-gradient(135deg,#fed7aa,#fdba74);border-color:#c2410c}.StatsAll_leaderRank__gAYg0{font-size:1.3rem;font-weight:800;line-height:1}.StatsAll_leaderName__eyUP_{font-size:.95rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.StatsAll_leaderMetric__gH_J9{display:flex;align-items:baseline;gap:.4rem;margin-top:.25rem}.StatsAll_leaderMetricValue__Y8aGD{font-size:1.5rem;font-weight:800;color:var(--brand);line-height:1}.StatsAll_leaderMetricLabel__SWoY4{font-size:.78rem;color:var(--muted);font-weight:500}.StatsAll_leaderSub__oUg5_{font-size:.72rem;color:var(--muted);margin-top:.2rem}.Stats_root__s0lvR{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1.25rem}.Stats_header__tc_Rt{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem 1.25rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:1rem;box-shadow:0 8px 24px rgba(99,102,241,.25)}.Stats_avatar__aGShM{width:56px;height:56px;border-radius:50%;background:hsla(0,0%,100%,.18);display:grid;place-items:center;font-size:1.75rem;border:2px solid hsla(0,0%,100%,.4)}.Stats_headerText__baJyk{flex:1 1;min-width:200px}.Stats_headerName__Vzqqx{font-size:1.4rem;font-weight:700;margin:0}.Stats_headerSub__4_NaT{font-size:.85rem;opacity:.85;margin-top:.15rem}.Stats_kpiGrid__X8x8C{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem;gap:.75rem}.Stats_kpi__Vgo1O{background:var(--panel);border:1px solid var(--line);border-radius:.75rem;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.25rem}.Stats_kpiLabel__20DZA{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.Stats_kpiValue__E1IC1{font-size:1.6rem;font-weight:700;color:var(--ink)}.Stats_kpiSub__qCjr3{font-size:.75rem;color:var(--muted)}.Stats_sectionTitle__3Ef50{font-size:1.1rem;font-weight:700;margin:.5rem 0 0;color:var(--ink)}.Stats_gameGrid__322FK{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.75rem;gap:.75rem}.Stats_gameCard__tVvTx{background:var(--panel);border:1px solid var(--line);border-radius:.75rem;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.5rem;text-decoration:none;color:inherit;transition:transform .12s,box-shadow .12s}.Stats_gameCard__tVvTx:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.Stats_gameCardHead__PCWTf{display:flex;align-items:center;gap:.5rem}.Stats_gameEmoji__cji8U{font-size:1.5rem}.Stats_gameTitle__TRBkx{font-weight:600;font-size:.95rem;flex:1 1}.Stats_gameTag__A_xTA{font-size:.7rem;color:var(--muted);background:var(--bg);padding:.15rem .45rem;border-radius:999px;border:1px solid var(--line)}.Stats_progressBar__jQalG{position:relative;height:8px;background:var(--line);border-radius:4px;overflow:hidden}.Stats_progressFill__nwIAY{height:100%;border-radius:4px;transition:width .36s ease}.Stats_progressMeta__dp_qh{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted)}.Stats_progressCount__B1kxm{color:var(--ink);font-weight:600}.Stats_achvGrid__q9EWe{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.6rem;gap:.6rem}.Stats_achv__dPWXu{background:var(--panel);border:1px solid var(--line);border-radius:.65rem;padding:.75rem .6rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.25rem;opacity:.45;filter:grayscale(.8)}.Stats_achvUnlocked__q5fxv{opacity:1;filter:none;border-color:#fde68a;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.Stats_achvEmoji__0VG_X{font-size:1.6rem}.Stats_achvName__2WrkE{font-size:.78rem;font-weight:600}.Stats_achvDesc__GREYr{font-size:.7rem;color:var(--muted)}.Stats_streakGrid__xpO6J{display:grid;grid-template-columns:repeat(15,1fr);grid-gap:4px;gap:4px;margin-top:.5rem}.Stats_streakDay__LnLBv{aspect-ratio:1;border-radius:4px;background:var(--line);position:relative;display:grid;place-items:center;font-size:.55rem;color:var(--muted)}.Stats_streakActive__7_WYl{background:#22c55e;color:#fff;font-weight:700}.Stats_streakToday__yUF1A{box-shadow:0 0 0 2px var(--brand)}.Stats_activityBarChart__ONCmS{display:grid;grid-template-columns:repeat(30,1fr);grid-gap:2px;gap:2px;height:140px;align-items:flex-end;background:var(--bg);border-radius:.6rem;padding:.6rem .6rem .4rem;border:1px solid var(--line)}.Stats_activityBar__RfnFu{background:var(--line);border-radius:2px 2px 0 0;position:relative;min-height:2px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;transition:background .2s}.Stats_activityBar__RfnFu:hover{background:#94a3b8}.Stats_activityBarActive__e6jfl{background:#6366f1}.Stats_activityBarActive__e6jfl:hover{background:#4f46e5}.Stats_activityBarToday__5MHGu{box-shadow:0 0 0 2px #fbbf24}.Stats_activityBarLabel__7Bej3{position:absolute;bottom:-16px;font-size:.55rem;color:var(--muted);font-weight:500}.Stats_cta__X1pTL{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:.75rem;padding:.85rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.Stats_ctaText__NkWuG{font-size:.9rem;color:#78350f;flex:1 1;min-width:200px}.Stats_ctaLink__nNtt2{background:#f59e0b;color:#fff;padding:.45rem 1rem;border-radius:.5rem;font-weight:600;font-size:.85rem;white-space:nowrap}.Stats_ctaLink__nNtt2:hover{background:#d97706}.Stats_empty__yUAxA{background:var(--panel);border:1px dashed var(--line);border-radius:.75rem;padding:2rem 1rem;text-align:center;color:var(--muted)}.Stats_emptyEmoji__2iYCB{font-size:3rem;margin-bottom:.5rem}.Stats_emptyTitle__Rfym0{font-weight:600;color:var(--ink);margin-bottom:.25rem}.Teacher_root__C_rZp{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1.5rem}.Teacher_header__x0Cy8 h1{font-size:1.6rem;margin:0 0 .25rem;color:var(--ink)}.Teacher_subtitle__AM7v0{color:var(--muted);font-size:.9rem;margin:0}.Teacher_createSection__x1tG3 h2,.Teacher_root__C_rZp>section h2{font-size:1.05rem;margin:0 0 .75rem;color:var(--ink)}.Teacher_form__JUErl{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:.75rem;padding:1rem}.Teacher_input__SJtlX{flex:1 1;min-width:200px;padding:.55rem .85rem;border:1px solid var(--line);border-radius:.5rem;font-size:.95rem;background:var(--bg);font-family:inherit}.Teacher_input__SJtlX:focus{outline:2px solid var(--brand);background:var(--panel)}.Teacher_createBtn__9thFo{background:var(--brand);color:#fff;border:none;padding:.55rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.95rem;cursor:pointer;white-space:nowrap}.Teacher_createBtn__9thFo:hover:not(:disabled){background:var(--brand-dark)}.Teacher_createBtn__9thFo:disabled{opacity:.5;cursor:not-allowed}.Teacher_classGrid__ncwjO{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:.85rem;gap:.85rem}.Teacher_classCard__f1oZf{background:var(--panel);border:1px solid var(--line);border-radius:.85rem;padding:1rem 1.1rem;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.5rem;transition:transform .12s,box-shadow .12s}.Teacher_classCard__f1oZf:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--brand)}.Teacher_classHead__vc7ol{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.Teacher_className___8BBv{font-size:1.1rem;font-weight:700;margin:0;color:var(--ink)}.Teacher_tenantTag__g79VM{font-size:.7rem;color:var(--muted);background:var(--bg);padding:.15rem .5rem;border-radius:999px;border:1px solid var(--line);white-space:nowrap}.Teacher_classMeta__3OwYr{display:flex;gap:1rem;font-size:.85rem;color:var(--muted)}.Teacher_codeRow__6ktT2{display:flex;align-items:center;gap:.5rem;background:var(--bg);border:1px dashed var(--line);border-radius:.5rem;padding:.5rem .75rem;margin-top:.25rem}.Teacher_code__vQaq2{flex:1 1;font-family:ui-monospace,SFMono-Regular,monospace;font-size:1.1rem;font-weight:700;letter-spacing:.15em;color:var(--brand)}.Teacher_copyBtn__YFhAl{background:var(--panel);border:1px solid var(--line);border-radius:.4rem;padding:.3rem .7rem;font-size:.8rem;cursor:pointer;white-space:nowrap}.Teacher_copyBtn__YFhAl:hover{background:#f1f5f9}.Teacher_empty__cnWz4{background:var(--panel);border:1px dashed var(--line);border-radius:.75rem;padding:2.5rem 1rem;text-align:center;color:var(--muted)}.Teacher_emptyEmoji__CtXux{font-size:3rem;margin-bottom:.5rem}.Teacher_error__VGfVi{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:.5rem;padding:.85rem 1rem}.Teacher_ctaLink__PSvxi{display:inline-block;background:var(--brand);color:#fff;padding:.55rem 1.25rem;border-radius:.5rem;font-weight:600;margin-top:1rem;text-decoration:none}.Teacher_ctaLink__PSvxi:hover{background:var(--brand-dark)}