:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.4;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%}body{margin:0;min-width:320px;background:#eef2f6;color:#1d2430;display:block}#root{min-height:100vh}button,select,input,textarea{font:inherit;color:inherit}.appRoot{min-height:100vh;background:radial-gradient(1200px 600px at 15% 10%,#f6f1e8,#eef2f6);color:#1d2430}.appHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 20px 10px;border-bottom:1px solid rgba(0,0,0,.08);background:#ffffff8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.appBrand{display:flex;align-items:center;gap:12px}.appLogo{width:clamp(130px,16vw,190px);height:auto;filter:drop-shadow(0 4px 10px rgba(34,48,80,.2))}.appTitle{font-family:ui-serif,Georgia,Times New Roman,Times,serif;font-weight:700;letter-spacing:.2px;font-size:20px}.appHeaderActions{display:flex;align-items:center}.appSubTitle{margin-top:2px;font-size:12px;opacity:.75}.homeRoot{--ink: #1e2430;--surface: #f4f8ff;--surface-soft: #ffffff;--line: rgba(30, 36, 48, .16);--teal: #00d4ea;--orange: #ff9800;--green: #63e11b;--yellow: #ffe600;--blue: #3f67ff;--red: #ff3f5e;--navy: #20345a;--text-muted: #49556a;min-height:100vh;background:radial-gradient(1100px 520px at 10% 6%,rgba(255,230,0,.6),transparent 68%),radial-gradient(980px 520px at 92% 8%,rgba(63,103,255,.45),transparent 70%),radial-gradient(850px 520px at 72% 88%,rgba(99,225,27,.32),transparent 66%),radial-gradient(720px 320px at 90% 72%,rgba(255,63,94,.24),transparent 68%),linear-gradient(165deg,#f8fbff,#eef4ff);color:var(--ink);overflow-x:hidden;position:relative}.homeRoot:before,.homeRoot:after{content:"";position:absolute;pointer-events:none;z-index:0}.homeRoot:before{inset:0;background:linear-gradient(120deg,#3f67ff29,#00d4ea24);animation:rainbowDrift 10s linear infinite alternate}.homeRoot:after{width:220px;height:220px;border-radius:50%;right:-60px;top:140px;background:radial-gradient(circle,rgba(63,103,255,.45),transparent 70%);animation:floatOrb 6s ease-in-out infinite}@keyframes rainbowDrift{0%{transform:translate(0) translateY(0)}to{transform:translate(14px) translateY(-10px)}}@keyframes floatOrb{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes sectionRise{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulseButton{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounceEmoji{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-8px) rotate(-8deg)}60%{transform:translateY(-3px) rotate(8deg)}}@keyframes cardBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes roadArrowPulse{0%,to{transform:translateY(0);opacity:.85}50%{transform:translateY(3px);opacity:1}}.homeContainer{max-width:1180px;margin:0 auto;padding:24px 16px 40px;position:relative;z-index:1}.homeTop{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:2px solid rgba(255,255,255,.75);border-radius:18px;background:radial-gradient(260px 120px at 12% 10%,rgba(255,230,0,.25),transparent 72%),radial-gradient(280px 120px at 92% 12%,rgba(0,212,234,.25),transparent 72%),linear-gradient(120deg,#f4fbfff2,#e6f5fff5),var(--surface);box-shadow:0 12px 26px #3f67ff47}.topNav{display:flex;flex-wrap:nowrap;justify-content:center;gap:7px;border:1px solid rgba(35,49,80,.24);border-radius:999px;padding:8px;background:linear-gradient(120deg,#ffffffdb,#edf8ffe0);box-shadow:inset 0 1px #fffffff2;overflow-x:auto;max-width:100%;scrollbar-width:none;margin:0 auto}.topNav::-webkit-scrollbar{display:none}.topNavLink{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(35,49,80,.18);background:#ffffffeb;color:#2f4464;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:700;cursor:pointer;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease;flex:0 0 auto}.topNavIcon{font-size:15px;line-height:1}.topNavLink:hover{transform:translateY(-1px) scale(1.02);background:#fff;box-shadow:0 5px 10px #3f67ff2e}.topNavLink.active{color:#fff;border-color:transparent;background:linear-gradient(120deg,var(--blue),var(--teal),var(--orange));box-shadow:0 6px 12px #3f67ff4d}.homeHeaderCta{white-space:nowrap}.homeHeaderActions{display:inline-flex;align-items:center;gap:8px}.headerUserPanelBtn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(35,49,80,.22);background:linear-gradient(145deg,#fffffff5,#e6f5fff0);display:inline-grid;place-items:center;cursor:pointer;box-shadow:0 6px 10px #3f67ff29;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.headerUserPanelBtn:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 8px 12px #3f67ff38;filter:brightness(1.03)}.headerUserPanelIcon{font-size:18px;line-height:1}.homeTagline{font-size:13px;color:var(--text-muted)}.homeLogoBlock{display:grid;gap:4px}.homeLogo{width:clamp(160px,24vw,250px);height:auto;filter:drop-shadow(0 8px 14px rgba(80,92,200,.26));animation:cardBob 3.5s ease-in-out infinite}.homeSection{margin-top:14px;border:2px solid rgba(255,255,255,.75);border-radius:20px;background:linear-gradient(140deg,#fffffff2,#f4f9fff0),var(--surface);padding:20px;box-shadow:0 16px 30px #3f67ff33,inset 0 1px #ffffffe6;position:relative;animation:sectionRise .52s ease both}.miniPage p{color:#3b4f6d;line-height:1.5}.heroSection{background:radial-gradient(420px 180px at 8% 0%,rgba(255,230,0,.56),transparent 75%),radial-gradient(360px 180px at 90% 8%,rgba(63,103,255,.38),transparent 75%),radial-gradient(300px 130px at 55% 18%,rgba(0,212,234,.28),transparent 72%),linear-gradient(135deg,#fffffff0,#f1f8fff2)}.heroBadge{display:inline-flex;padding:6px 13px;border-radius:999px;border:1px solid rgba(255,152,0,.9);background:linear-gradient(120deg,#ffe6009e,#ff980085);color:#633216;font-size:12px;font-weight:800;letter-spacing:.35px;text-transform:uppercase}.homeSection.heroSection h1{margin:10px 0 0;font-size:clamp(30px,5vw,50px);line-height:1.04;font-family:Trebuchet MS,Comic Sans MS,sans-serif;color:#1c2a40;max-width:850px}.homeSection.heroSection p{margin-top:12px;color:#44536a;font-size:16px;max-width:780px}.heroFunRow{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.heroFunRow span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:18px;background:#fffbd3;border:1px solid rgba(44,58,92,.14);box-shadow:0 5px 12px #5665be2e;animation:bounceEmoji 2.2s ease-in-out infinite}.heroFunRow span:nth-child(odd){background:#dbf3ff}.heroFunRow span:nth-child(3n){background:#dcffd2}.heroFunRow span:nth-child(2n){animation-delay:.2s}.heroFunRow span:nth-child(3n){animation-delay:.4s}.heroFunRow span:nth-child(4n){animation-delay:.6s}.homeActions{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}.homeButton{border:1px solid rgba(30,36,48,.22);border-radius:12px;padding:10px 16px;background:#fff;color:var(--ink);cursor:pointer;font-size:14px;font-weight:700;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.homeButton.primary{background:linear-gradient(120deg,var(--teal),var(--blue),var(--green),var(--orange));color:#fff;border-color:transparent;box-shadow:0 12px 18px #3f67ff6b}.homeButton:hover{transform:translateY(-2px) scale(1.01);filter:brightness(1.06)}.homeButton.pulse{animation:pulseButton 2.2s ease-in-out infinite}.heroPills{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}.heroPills span{padding:6px 11px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid rgba(35,49,80,.2);background:#fff;color:#35455f}.heroPills span:nth-child(1){background:#ffe60080}.heroPills span:nth-child(2){background:#00d4ea70}.heroPills span:nth-child(3){background:#63e11b6e}.heroPills span:nth-child(4){background:#ff980075}.heroStatsStrip{margin-top:14px;padding-top:14px;border-top:1px dashed rgba(30,36,48,.22)}.homeSection h2{margin:0 0 10px;font-size:clamp(24px,3vw,34px);font-family:Trebuchet MS,Comic Sans MS,sans-serif;color:#1f2c42}.statsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.statCard{border-radius:14px;border:1px solid rgba(35,49,80,.15);padding:12px;background:linear-gradient(150deg,#fff,#f9fbff);transition:transform .18s ease,box-shadow .18s ease}.statCard:nth-child(1){background:linear-gradient(135deg,#ffe6008c,#fff)}.statCard:nth-child(2){background:linear-gradient(135deg,#00d4ea7a,#fff)}.statCard:nth-child(3){background:linear-gradient(135deg,#3f67ff7a,#fff)}.statCard:nth-child(4){background:linear-gradient(135deg,#ff98008a,#fff)}.statCard:hover{transform:translateY(-4px);box-shadow:0 10px 16px #4a63e32e}.statValue{font-size:clamp(20px,2.2vw,27px);line-height:1;font-weight:900;color:#24344f}.statLabel{margin-top:4px;font-size:11px;color:#44566f}.featureGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.featureCard{border-radius:14px;border:1px solid rgba(35,49,80,.14);background:linear-gradient(145deg,#fff,#f8fcff);padding:14px;transition:transform .17s ease,box-shadow .17s ease}.featureCard:nth-child(1){background:linear-gradient(145deg,#3f67ff4a,#fff)}.featureCard:nth-child(2){background:linear-gradient(145deg,#00d4ea4d,#fff)}.featureCard:nth-child(3){background:linear-gradient(145deg,#63e11b4d,#fff)}.featureCard:nth-child(4){background:linear-gradient(145deg,#ff980054,#fff)}.featureCard:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 10px 18px #4658aa29}.featureIcon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:24px;margin-bottom:8px;border:1px solid rgba(35,49,80,.2);background:linear-gradient(130deg,#00d4ea80,#3f67ff75)}.featureCard h3{margin:0;font-size:16px;color:#293c55}.featureCard p{margin-top:8px;color:var(--text-muted);font-size:14px;line-height:1.4}.pathSection{background:radial-gradient(360px 160px at 0% 8%,rgba(63,103,255,.28),transparent 75%),radial-gradient(360px 140px at 92% 2%,rgba(255,152,0,.25),transparent 75%),#fff}.pathHint{margin:0 0 12px;font-size:14px;color:#3d5271;font-weight:600}.authLead{margin:0 0 14px;color:#3b4f6d}.authGrid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.formCard,.formSideCard,.contactCard,.contactForm,.aboutCard{border:1px solid rgba(35,49,80,.16);border-radius:14px;background:#ffffffe6;padding:14px}.formSideCard h3,.contactCard h3,.aboutCard h3{margin:0 0 8px;color:#2b4160}.benefitList{margin:0 0 12px;padding-left:18px;color:#3f5575}.benefitList li+li{margin-top:6px}.fieldLabel{display:block;margin:10px 0 4px;font-size:12px;font-weight:700;color:#2f4464}.textInput,.textArea{width:100%;border:1px solid rgba(35,49,80,.24);border-radius:10px;padding:9px 10px;background:#fff;color:#24344f;font:inherit}.textInput:focus,.textArea:focus{outline:2px solid rgba(63,103,255,.25);border-color:#3f67ff80}.formButton{margin-top:12px}.aboutGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contactGrid{display:grid;grid-template-columns:1fr 1.1fr;gap:14px}.subjectPaths{display:grid;grid-template-columns:1fr;gap:14px}.subjectPathCard{border-radius:14px;border:1px solid rgba(35,49,80,.14);background:linear-gradient(145deg,#fff,#f7fbff);padding:16px;box-shadow:0 9px 18px #4255aa1a;transition:transform .18s ease,box-shadow .18s ease}.subjectPathCard:hover{transform:translateY(-3px);box-shadow:0 14px 24px #4255aa24}.subjectPathCard:nth-child(1){border-left:6px solid rgba(63,103,255,.96)}.subjectPathCard:nth-child(2){border-left:6px solid rgba(0,212,234,.96)}.subjectPathCard:nth-child(3){border-left:6px solid rgba(99,225,27,.96)}.subjectPathCard:nth-child(4){border-left:6px solid rgba(255,152,0,.98)}.trackHeader{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.trackHeader h3{margin:0;font-size:18px;color:#273b55;display:inline-flex;align-items:center;gap:8px}.trackEmoji{font-size:24px;animation:bounceEmoji 2.5s ease-in-out infinite}.trackHeader span{font-size:12px;padding:3px 9px;border-radius:999px;background:#f4f7ff;color:#3f5575;border:1px solid rgba(35,49,80,.16)}.subjectPathCard p{margin:8px 0;font-size:14px;color:var(--text-muted)}.lessonList{list-style:none;margin:10px 0 0;padding:0 0 0 6px;display:grid;gap:8px;position:relative}.lessonList:before{content:"";position:absolute;left:22px;top:14px;bottom:14px;width:4px;border-radius:999px;background:linear-gradient(180deg,#3f67ffd9,#00d4ead1,#63e11bd1,#ff9800cc)}.lessonLine{position:relative;display:grid;grid-template-columns:48px 28px 1fr;align-items:center;gap:8px;border-radius:10px;border:1px solid rgba(35,49,80,.14);padding:9px 10px;background:#f9fbff;transition:transform .16s ease,box-shadow .16s ease;margin-left:16px}.lessonLine:before{content:"";position:absolute;left:-17px;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px #3f67ff57}.lessonLine:after{content:"⬇";position:absolute;left:-22px;bottom:-19px;font-size:13px;color:var(--blue);animation:roadArrowPulse 1.8s ease-in-out infinite}.lessonLine:last-child:after{display:none}.lessonLine:hover{transform:translate(4px);box-shadow:0 7px 12px #4255aa24}.subjectPathCard:nth-child(1) .lessonLine:nth-child(odd){background:#3f67ff3d}.subjectPathCard:nth-child(2) .lessonLine:nth-child(odd){background:#00d4ea3d}.subjectPathCard:nth-child(3) .lessonLine:nth-child(odd){background:#63e11b42}.subjectPathCard:nth-child(4) .lessonLine:nth-child(odd){background:#ff980042}.lessonBadge{height:28px;min-width:40px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;font-size:18px;border:1px solid rgba(35,49,80,.18);background:linear-gradient(145deg,#fff,#f8fdff);box-shadow:0 4px 10px #4255aa1f;animation:bounceEmoji 2.4s ease-in-out infinite}.lessonIndex{width:24px;height:24px;border-radius:999px;display:inline-grid;place-items:center;font-size:11px;font-weight:900;color:#fff;background:linear-gradient(130deg,var(--orange),var(--blue),var(--teal))}.lessonText{font-size:13px;font-weight:700;color:#2f4464;line-height:1.35}.faqList{display:grid;gap:8px}.faqItem{border-radius:12px;border:1px solid rgba(35,49,80,.16);background:#fff;padding:10px 12px}.faqItem summary{cursor:pointer;font-weight:700;color:#31486a}.faqItem p{margin:10px 0 0;color:var(--text-muted);font-size:14px}.finalCta{text-align:center;background:radial-gradient(420px 190px at 50% 0%,rgba(255,230,0,.58),transparent 72%),radial-gradient(240px 120px at 16% 20%,rgba(0,212,234,.27),transparent 72%),linear-gradient(150deg,#fffffffa,#f2f8fff5)}.finalCta p{margin:8px auto 12px;max-width:650px;color:var(--text-muted)}@media(max-width:980px){.statsGrid,.featureGrid{grid-template-columns:1fr 1fr}.authGrid,.contactGrid,.aboutGrid{grid-template-columns:1fr}}@media(max-width:700px){.homeTop{grid-template-columns:1fr;justify-items:center;gap:10px}.statsGrid,.featureGrid{grid-template-columns:1fr}.homeContainer{padding:16px 12px 26px}.homeSection{padding:14px}.homeLogo{width:180px}.topNav{width:100%;justify-content:flex-start}.homeHeaderActions{justify-content:center}.appHeader{padding:14px 14px 10px}.appLogo{width:150px}.lessonLine{grid-template-columns:40px 24px 1fr;margin-left:12px}.lessonList:before{left:18px}.lessonLine:before{left:-14px}.lessonLine:after{left:-18px}}@media(prefers-reduced-motion:reduce){.homeRoot:before,.homeRoot:after,.homeLogo,.homeSection,.homeButton.pulse,.heroFunRow span,.trackEmoji,.lessonBadge,.lessonLine:after{animation:none}.homeButton,.statCard,.featureCard,.subjectPathCard,.lessonLine{transition:none}}.mazeLayout{display:grid;grid-template-columns:440px 1fr;gap:16px;padding:16px;max-width:1280px;margin:0 auto}.mazeLeft{background:#ffffffb3;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:14px}.mazeRight{background:#ffffffd9;border:1px solid rgba(0,0,0,.08);border-radius:14px;min-height:520px;overflow:hidden;position:relative}.mazeControls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.mazeLevelBar{display:inline-flex;align-items:center;gap:8px}.mazeLevelLabel{font-size:12px;opacity:.9;color:#1d2430}.mazeLevelLinks{display:inline-flex;align-items:center;gap:7px}.mazeLevelLinks .level_number{border:solid 1px #ddd;border-radius:20px;padding:6px 12px;color:#444;background:#fff;line-height:1}.mazeLevelLinks button.level_number{cursor:pointer}.mazeLevelLinks .level_dot{border:solid 1px #ddd;border-radius:50%;width:15px;height:15px;display:inline-block;background:#fff;padding:0}.mazeLevelLinks button.level_dot{cursor:pointer}.mazeLevelLinks .level_done,.mazeLevelLinks .level_dot:hover,.mazeLevelLinks .level_number:hover{background-color:#ddd;color:#000}.mazeLabel{display:grid;gap:6px;font-size:12px;opacity:.9;color:#1d2430}.mazeSelect{border:1px solid rgba(0,0,0,.18);border-radius:10px;padding:8px 10px;background:#fff;font-size:14px;color:#1d2430}.mazeButton{border:1px solid rgba(0,0,0,.18);border-radius:10px;padding:9px 12px;background:#fff;cursor:pointer;font-size:14px;color:#1d2430}.mazeButton.primary{background:#1d2430;color:#fff;border-color:#0003}.mazeMeta{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:13px;opacity:.9}.mazeStatus{font-weight:600}.mazeCapacity{font-variant-numeric:tabular-nums}.mazeCanvasWrap{margin-top:12px;border-radius:12px;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:#f1eee7;width:fit-content;max-width:100%;position:relative}.mazeCanvasWrap canvas{display:block;max-width:100%;height:auto}.mazeCapacityBubble{position:absolute;left:10px;bottom:10px;display:inline-flex;gap:8px;align-items:baseline;padding:6px 10px;border-radius:14px;background:#404040b8;color:#fff;font-size:14px;line-height:1.2;pointer-events:none}.mazeCapacityNumber{font-weight:800;font-variant-numeric:tabular-nums}.mazeCapacityText{opacity:.95}.mazeBlocklyWrap{width:100%;height:700px}.mazeModalOverlay{position:fixed;inset:0;background:#1d243073;display:flex;align-items:center;justify-content:center;padding:18px;z-index:9999}.mazeModal{width:min(900px,100%);max-height:min(85vh,900px);overflow:auto;background:#fffffffa;border:1px solid rgba(0,0,0,.12);border-radius:14px;box-shadow:0 20px 50px #00000040;padding:14px}.mazeModalHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.mazeModalTitle{font-weight:700;font-size:16px;color:#1d2430}.mazeModalClose{border:1px solid rgba(0,0,0,.18);border-radius:10px;padding:8px 10px;background:#fff;cursor:pointer;font-size:13px;color:#1d2430}.mazeModalMeta{margin-top:10px;display:flex;justify-content:space-between;gap:12px;font-size:13px;opacity:.9;color:#1d2430}.mazeCode{margin-top:12px;background:#0f172a;color:#e5e7eb;border-radius:12px;padding:12px;overflow:auto;font-size:13px;line-height:1.4}.mazeModalActions{margin-top:12px;display:flex;justify-content:flex-end;gap:10px}@media(max-width:980px){.mazeLayout{grid-template-columns:1fr}.mazeBlocklyWrap{height:620px}}
